From ef109439e6d43ab4c6949bace96d1cb41b38d072 Mon Sep 17 00:00:00 2001 From: Evan Burkey Date: Fri, 14 Nov 2025 07:14:53 -0800 Subject: [PATCH] init, 2015 & 2016 --- .gitignore | 1 + .gitmodules | 3 + 2015/.gitignore | 1 + 2015/CMakeLists.txt | 44 + 2015/LICENSE | 5 + 2015/README.md | 34 + 2015/build.sh | 9 + 2015/generator.sh | 90 ++ 2015/include/advent.h | 58 + 2015/include/advent_utility.h | 27 + 2015/include/uthash.h | 1137 ++++++++++++++++ 2015/input/01 | 1 + 2015/input/02 | 1000 +++++++++++++++ 2015/input/03 | 1 + 2015/input/04 | 1 + 2015/input/05 | 1000 +++++++++++++++ 2015/input/06 | 300 +++++ 2015/input/07 | 339 +++++ 2015/input/08 | 300 +++++ 2015/input/09 | 28 + 2015/input/10 | 1 + 2015/input/11 | 1 + 2015/input/12 | 1 + 2015/input/13 | 56 + 2015/input/14 | 9 + 2015/input/15 | 4 + 2015/input/16 | 500 ++++++++ 2015/input/17 | 20 + 2015/input/18 | 100 ++ 2015/input/19 | 45 + 2015/input/20 | 1 + 2015/input/21 | 3 + 2015/input/22 | 2 + 2015/input/23 | 48 + 2015/input/24 | 29 + 2015/input/25 | 1 + 2015/lib/libflint | 1 + 2015/src/01.c | 28 + 2015/src/02.c | 27 + 2015/src/03.c | 89 ++ 2015/src/04.c | 52 + 2015/src/05.c | 16 + 2015/src/06.c | 118 ++ 2015/src/07.c | 118 ++ 2015/src/08.c | 51 + 2015/src/09.c | 10 + 2015/src/10.c | 10 + 2015/src/11.c | 10 + 2015/src/12.c | 10 + 2015/src/13.c | 10 + 2015/src/14.c | 10 + 2015/src/15.c | 63 + 2015/src/16.c | 10 + 2015/src/17.c | 10 + 2015/src/18.c | 10 + 2015/src/19.c | 10 + 2015/src/20.c | 10 + 2015/src/21.c | 10 + 2015/src/22.c | 10 + 2015/src/23.c | 10 + 2015/src/24.c | 10 + 2015/src/25.c | 10 + 2015/src/advent_utility.c | 178 +++ 2015/src/main.c | 22 + 2016/.gitignore | 1 + 2016/README.md | 0 2016/cmd/main.go | 26 + 2016/go.mod | 3 + 2016/input/01 | 1 + 2016/input/02 | 5 + 2016/input/03 | 1992 ++++++++++++++++++++++++++++ 2016/input/04 | 935 ++++++++++++++ 2016/input/05 | 1 + 2016/input/06 | 598 +++++++++ 2016/input/07 | 2000 +++++++++++++++++++++++++++++ 2016/input/08 | 194 +++ 2016/input/09 | 1 + 2016/input/10 | 231 ++++ 2016/input/11 | 4 + 2016/input/12 | 23 + 2016/input/13 | 1 + 2016/input/14 | 1 + 2016/input/15 | 6 + 2016/input/16 | 1 + 2016/input/17 | 1 + 2016/input/18 | 1 + 2016/input/19 | 1 + 2016/input/20 | 1176 +++++++++++++++++ 2016/input/21 | 100 ++ 2016/input/22 | 927 +++++++++++++ 2016/input/23 | 26 + 2016/input/24 | 37 + 2016/input/25 | 30 + 2016/internal/solutions/day01.go | 9 + 2016/internal/solutions/day02.go | 9 + 2016/internal/solutions/day03.go | 9 + 2016/internal/solutions/day04.go | 9 + 2016/internal/solutions/day05.go | 9 + 2016/internal/solutions/day06.go | 9 + 2016/internal/solutions/day07.go | 9 + 2016/internal/solutions/day08.go | 9 + 2016/internal/solutions/day09.go | 9 + 2016/internal/solutions/day10.go | 9 + 2016/internal/solutions/day11.go | 9 + 2016/internal/solutions/day12.go | 9 + 2016/internal/solutions/day13.go | 9 + 2016/internal/solutions/day14.go | 9 + 2016/internal/solutions/day15.go | 9 + 2016/internal/solutions/day16.go | 9 + 2016/internal/solutions/day17.go | 9 + 2016/internal/solutions/day18.go | 9 + 2016/internal/solutions/day19.go | 9 + 2016/internal/solutions/day20.go | 9 + 2016/internal/solutions/day21.go | 9 + 2016/internal/solutions/day22.go | 9 + 2016/internal/solutions/day23.go | 9 + 2016/internal/solutions/day24.go | 9 + 2016/internal/solutions/day25.go | 9 + 2016/internal/solutions/runner.go | 60 + 2016/internal/utility/input.go | 29 + 2016/internal/utility/utility.go | 35 + LICENSE | 5 + README.md | 34 + get_input.sh | 27 + 124 files changed, 14861 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 2015/.gitignore create mode 100644 2015/CMakeLists.txt create mode 100644 2015/LICENSE create mode 100644 2015/README.md create mode 100755 2015/build.sh create mode 100755 2015/generator.sh create mode 100644 2015/include/advent.h create mode 100644 2015/include/advent_utility.h create mode 100644 2015/include/uthash.h create mode 100644 2015/input/01 create mode 100644 2015/input/02 create mode 100644 2015/input/03 create mode 100644 2015/input/04 create mode 100644 2015/input/05 create mode 100644 2015/input/06 create mode 100644 2015/input/07 create mode 100644 2015/input/08 create mode 100644 2015/input/09 create mode 100644 2015/input/10 create mode 100644 2015/input/11 create mode 100644 2015/input/12 create mode 100644 2015/input/13 create mode 100644 2015/input/14 create mode 100644 2015/input/15 create mode 100644 2015/input/16 create mode 100644 2015/input/17 create mode 100644 2015/input/18 create mode 100644 2015/input/19 create mode 100644 2015/input/20 create mode 100644 2015/input/21 create mode 100644 2015/input/22 create mode 100644 2015/input/23 create mode 100644 2015/input/24 create mode 100644 2015/input/25 create mode 160000 2015/lib/libflint create mode 100644 2015/src/01.c create mode 100644 2015/src/02.c create mode 100644 2015/src/03.c create mode 100644 2015/src/04.c create mode 100644 2015/src/05.c create mode 100644 2015/src/06.c create mode 100644 2015/src/07.c create mode 100644 2015/src/08.c create mode 100644 2015/src/09.c create mode 100644 2015/src/10.c create mode 100644 2015/src/11.c create mode 100644 2015/src/12.c create mode 100644 2015/src/13.c create mode 100644 2015/src/14.c create mode 100644 2015/src/15.c create mode 100644 2015/src/16.c create mode 100644 2015/src/17.c create mode 100644 2015/src/18.c create mode 100644 2015/src/19.c create mode 100644 2015/src/20.c create mode 100644 2015/src/21.c create mode 100644 2015/src/22.c create mode 100644 2015/src/23.c create mode 100644 2015/src/24.c create mode 100644 2015/src/25.c create mode 100644 2015/src/advent_utility.c create mode 100644 2015/src/main.c create mode 100644 2016/.gitignore create mode 100644 2016/README.md create mode 100644 2016/cmd/main.go create mode 100644 2016/go.mod create mode 100644 2016/input/01 create mode 100644 2016/input/02 create mode 100644 2016/input/03 create mode 100644 2016/input/04 create mode 100644 2016/input/05 create mode 100644 2016/input/06 create mode 100644 2016/input/07 create mode 100644 2016/input/08 create mode 100644 2016/input/09 create mode 100644 2016/input/10 create mode 100644 2016/input/11 create mode 100644 2016/input/12 create mode 100644 2016/input/13 create mode 100644 2016/input/14 create mode 100644 2016/input/15 create mode 100644 2016/input/16 create mode 100644 2016/input/17 create mode 100644 2016/input/18 create mode 100644 2016/input/19 create mode 100644 2016/input/20 create mode 100644 2016/input/21 create mode 100644 2016/input/22 create mode 100644 2016/input/23 create mode 100644 2016/input/24 create mode 100644 2016/input/25 create mode 100644 2016/internal/solutions/day01.go create mode 100644 2016/internal/solutions/day02.go create mode 100644 2016/internal/solutions/day03.go create mode 100644 2016/internal/solutions/day04.go create mode 100644 2016/internal/solutions/day05.go create mode 100644 2016/internal/solutions/day06.go create mode 100644 2016/internal/solutions/day07.go create mode 100644 2016/internal/solutions/day08.go create mode 100644 2016/internal/solutions/day09.go create mode 100644 2016/internal/solutions/day10.go create mode 100644 2016/internal/solutions/day11.go create mode 100644 2016/internal/solutions/day12.go create mode 100644 2016/internal/solutions/day13.go create mode 100644 2016/internal/solutions/day14.go create mode 100644 2016/internal/solutions/day15.go create mode 100644 2016/internal/solutions/day16.go create mode 100644 2016/internal/solutions/day17.go create mode 100644 2016/internal/solutions/day18.go create mode 100644 2016/internal/solutions/day19.go create mode 100644 2016/internal/solutions/day20.go create mode 100644 2016/internal/solutions/day21.go create mode 100644 2016/internal/solutions/day22.go create mode 100644 2016/internal/solutions/day23.go create mode 100644 2016/internal/solutions/day24.go create mode 100644 2016/internal/solutions/day25.go create mode 100644 2016/internal/solutions/runner.go create mode 100644 2016/internal/utility/input.go create mode 100644 2016/internal/utility/utility.go create mode 100644 LICENSE create mode 100644 README.md create mode 100755 get_input.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9daeafb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +test diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a9f91f2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "2015/lib/libflint"] + path = 2015/lib/libflint + url = https://git.burkey.co/eburk/libflint.git diff --git a/2015/.gitignore b/2015/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/2015/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/2015/CMakeLists.txt b/2015/CMakeLists.txt new file mode 100644 index 0000000..421c3a0 --- /dev/null +++ b/2015/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.10) +set(CMAKE_C_STANDARD 99) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_BUILD_TYPE Debug) + +project(advent C) + +add_subdirectory(lib/libflint) + +file(GLOB SRC src/*.c) + +file(COPY input DESTINATION ${CMAKE_BINARY_DIR}) + +add_executable(advent ${SRC}) + +set(INCLUDES + include + lib/libflint/include +) + +if ((${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")) + find_package(PCRE2 REQUIRED) + find_package(OpenSSL REQUIRED) + target_include_directories(advent PRIVATE ${INCLUDES} ${PCRE2_INCLUDE_DIR}) + target_link_libraries(advent PRIVATE flint ${PCRE2_LIBRARIES}) +elseif ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux")) + find_package(OpenSSL REQUIRED) + target_include_directories(advent PRIVATE ${INCLUDES} ${OpenSSL_INCLUDE_DIR}) + target_link_libraries(advent PRIVATE bsd flint pcre2-8 ${OPENSSL_LIBRARIES}) +elseif ((${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")) + # OpenSSL + set(OPENSSL_ROOT_DIR /opt/homebrew/opt/openssl@3) + set(OpenSSL_INCLUDE_DIR /opt/homebrew/opt/openssl@3/include) + find_package(OpenSSL REQUIRED) + + # PCRE2 + set(PCRE2_INCLUDE_DIR /opt/homebrew/opt/pcre2/include) + set(PCRE2_LIBRARIES /opt/homebrew/opt/pcre2/lib/libpcre2-8.dylib) + + target_include_directories(advent PRIVATE ${INCLUDES} ${OpenSSL_INCLUDE_DIR} ${PCRE2_INCLUDE_DIR}) + target_link_libraries(advent PRIVATE flint ${OPENSSL_LIBRARIES} ${PCRE2_LIBRARIES}) +else() + message(FATAL_ERROR "OS ${CMAKE_SYSTEM_NAME} is not supported" ) +endif() diff --git a/2015/LICENSE b/2015/LICENSE new file mode 100644 index 0000000..8482344 --- /dev/null +++ b/2015/LICENSE @@ -0,0 +1,5 @@ +Copyright 2020 Evan Burkey + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/2015/README.md b/2015/README.md new file mode 100644 index 0000000..07fc849 --- /dev/null +++ b/2015/README.md @@ -0,0 +1,34 @@ +# aoc + +Advent Of Code solutions for 2015 using C99. Builds and runs on macOS, Linux, and OpenBSD. + +## Building + +Be sure to clone the top project with its submodules: + + git clone --recurse-submodules https://git.burkey.co/eburk/aoc + +This project relies on several BSD extensions to the stdlib. OpenBSD and macOS users should be able to build the project out of the box. Linux users will need `libbsd` installed. The package is called `libbsd-dev` on Debian-based systems. + +Build the project using Cmake: + + mkdir build + cd build + cmake .. + make + +The supplied `build.sh` script does the above for you. + +## Inputs + +Inputs can be generated from `get_input.sh`. You will need to get your session cookie from the Advent of Code website. The easiest way to do this is to inspect any input page in your browser. + +The script can then be run with `bash get_input.sh SESSIONCOOKIE`, with `SESSIONCOOKIE` replaced by your unique session cookie's hash. + +## Usage + +```bash +./advent $DAY +``` + +For example, `./advent 1` will run Day 01 diff --git a/2015/build.sh b/2015/build.sh new file mode 100755 index 0000000..e8415ba --- /dev/null +++ b/2015/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh -e + +mkdir -p build +cd build +cmake .. +make +cp advent .. +cp compile_commands.json .. +cd .. diff --git a/2015/generator.sh b/2015/generator.sh new file mode 100755 index 0000000..9b3ef5d --- /dev/null +++ b/2015/generator.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash + +mkdir -p include + +for year in {2015..2024}; do + rm -rf "src/${year}" + mkdir -p "src/${year}" + + rm "include/advent${year}.h" + tee "include/advent${year}.h" < +#include + +#include "lfinput.h" + +void advent${year}day${d}(void) { + char *input = get_input("input/${year}/${d}"); + printf("Solution for Day ${d} of ${year} is not completed yet\n"); + free(input); +} +EOF + done +done diff --git a/2015/include/advent.h b/2015/include/advent.h new file mode 100644 index 0000000..65f3ff7 --- /dev/null +++ b/2015/include/advent.h @@ -0,0 +1,58 @@ +#ifndef ADVENT_2015_H +#define ADVENT_2015_H + +void advent2015day01(void); +void advent2015day02(void); +void advent2015day03(void); +void advent2015day04(void); +void advent2015day05(void); +void advent2015day06(void); +void advent2015day07(void); +void advent2015day08(void); +void advent2015day09(void); +void advent2015day10(void); +void advent2015day11(void); +void advent2015day12(void); +void advent2015day13(void); +void advent2015day14(void); +void advent2015day15(void); +void advent2015day16(void); +void advent2015day17(void); +void advent2015day18(void); +void advent2015day19(void); +void advent2015day20(void); +void advent2015day21(void); +void advent2015day22(void); +void advent2015day23(void); +void advent2015day24(void); +void advent2015day25(void); + +void (*solutions2015[25])(void) = { + advent2015day01, + advent2015day02, + advent2015day03, + advent2015day04, + advent2015day05, + advent2015day06, + advent2015day07, + advent2015day08, + advent2015day09, + advent2015day10, + advent2015day11, + advent2015day12, + advent2015day13, + advent2015day14, + advent2015day15, + advent2015day16, + advent2015day17, + advent2015day18, + advent2015day19, + advent2015day20, + advent2015day21, + advent2015day22, + advent2015day23, + advent2015day24, + advent2015day25 +}; + +#endif diff --git a/2015/include/advent_utility.h b/2015/include/advent_utility.h new file mode 100644 index 0000000..29322ee --- /dev/null +++ b/2015/include/advent_utility.h @@ -0,0 +1,27 @@ +#ifndef ADVENT_H_UTILITY_ +#define ADVENT_H_UTILITY_ + +#include "lfvector.h" + +#define DEFAULT_DELIM " \t\n\r\f\v" + +#define MAX(x, y) (x) > (y) ? (x) : (y) +#define MIN(x, y) (x) < (y) ? (x) : (y) + +char *md5_str(const char *); +Vector *string_to_int_vector(const char *input_string, const char *delim); +int int_comp(const void *a, const void *b); +char **get_matches(char *in, char *pat, size_t *sz, size_t max_matches); +void free_matches(char **matches, size_t sz); + +enum Direction { + DIR_NORTH = 0, + DIR_EAST = 1, + DIR_SOUTH = 2, + DIR_WEST = 3, +}; + +void turn_right(enum Direction *d); +void turn_left(enum Direction *d); + +#endif diff --git a/2015/include/uthash.h b/2015/include/uthash.h new file mode 100644 index 0000000..06c2eeb --- /dev/null +++ b/2015/include/uthash.h @@ -0,0 +1,1137 @@ +/* +Copyright (c) 2003-2025, Troy D. Hanson https://troydhanson.github.io/uthash/ +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef UTHASH_H +#define UTHASH_H + +#define UTHASH_VERSION 2.3.0 + +#include /* memcmp, memset, strlen */ +#include /* ptrdiff_t */ +#include /* exit */ + +#if defined(HASH_NO_STDINT) && HASH_NO_STDINT +/* The user doesn't have , and must figure out their own way + to provide definitions for uint8_t and uint32_t. */ +#else +#include /* uint8_t, uint32_t */ +#endif + +/* These macros use decltype or the earlier __typeof GNU extension. + As decltype is only available in newer compilers (VS2010 or gcc 4.3+ + when compiling c++ source) this code uses whatever method is needed + or, for VS2008 where neither is available, uses casting workarounds. */ +#if !defined(DECLTYPE) && !defined(NO_DECLTYPE) +#if defined(_MSC_VER) /* MS compiler */ +#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */ +#define DECLTYPE(x) (decltype(x)) +#else /* VS2008 or older (or VS2010 in C mode) */ +#define NO_DECLTYPE +#endif +#elif defined(__MCST__) /* Elbrus C Compiler */ +#define DECLTYPE(x) (__typeof(x)) +#elif defined(__BORLANDC__) || defined(__ICCARM__) || defined(__LCC__) || defined(__WATCOMC__) +#define NO_DECLTYPE +#else /* GNU, Sun and other compilers */ +#define DECLTYPE(x) (__typeof(x)) +#endif +#endif + +#ifdef NO_DECLTYPE +#define DECLTYPE(x) +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + char **_da_dst = (char**)(&(dst)); \ + *_da_dst = (char*)(src); \ +} while (0) +#else +#define DECLTYPE_ASSIGN(dst,src) \ +do { \ + (dst) = DECLTYPE(dst)(src); \ +} while (0) +#endif + +#ifndef uthash_malloc +#define uthash_malloc(sz) malloc(sz) /* malloc fcn */ +#endif +#ifndef uthash_free +#define uthash_free(ptr,sz) free(ptr) /* free fcn */ +#endif +#ifndef uthash_bzero +#define uthash_bzero(a,n) memset(a,'\0',n) +#endif +#ifndef uthash_strlen +#define uthash_strlen(s) strlen(s) +#endif + +#ifndef HASH_FUNCTION +#define HASH_FUNCTION(keyptr,keylen,hashv) HASH_JEN(keyptr, keylen, hashv) +#endif + +#ifndef HASH_KEYCMP +#define HASH_KEYCMP(a,b,n) memcmp(a,b,n) +#endif + +#ifndef uthash_noexpand_fyi +#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */ +#endif +#ifndef uthash_expand_fyi +#define uthash_expand_fyi(tbl) /* can be defined to log expands */ +#endif + +#ifndef HASH_NONFATAL_OOM +#define HASH_NONFATAL_OOM 0 +#endif + +#if HASH_NONFATAL_OOM +/* malloc failures can be recovered from */ + +#ifndef uthash_nonfatal_oom +#define uthash_nonfatal_oom(obj) do {} while (0) /* non-fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) do { (oomed) = 1; } while (0) +#define IF_HASH_NONFATAL_OOM(x) x + +#else +/* malloc failures result in lost memory, hash tables are unusable */ + +#ifndef uthash_fatal +#define uthash_fatal(msg) exit(-1) /* fatal OOM error */ +#endif + +#define HASH_RECORD_OOM(oomed) uthash_fatal("out of memory") +#define IF_HASH_NONFATAL_OOM(x) + +#endif + +/* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS 32U /* initial number of buckets */ +#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U /* lg2 of initial number of buckets */ +#define HASH_BKT_CAPACITY_THRESH 10U /* expand when bucket count reaches */ + +/* calculate the element whose hash handle address is hhp */ +#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho))) +/* calculate the hash handle from element address elp */ +#define HH_FROM_ELMT(tbl,elp) ((UT_hash_handle*)(void*)(((char*)(elp)) + ((tbl)->hho))) + +#define HASH_ROLLBACK_BKT(hh, head, itemptrhh) \ +do { \ + struct UT_hash_handle *_hd_hh_item = (itemptrhh); \ + unsigned _hd_bkt; \ + HASH_TO_BKT(_hd_hh_item->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + (head)->hh.tbl->buckets[_hd_bkt].count++; \ + _hd_hh_item->hh_next = NULL; \ + _hd_hh_item->hh_prev = NULL; \ +} while (0) + +#define HASH_VALUE(keyptr,keylen,hashv) \ +do { \ + HASH_FUNCTION(keyptr, keylen, hashv); \ +} while (0) + +#define HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out) \ +do { \ + (out) = NULL; \ + if (head) { \ + unsigned _hf_bkt; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt); \ + if (HASH_BLOOM_TEST((head)->hh.tbl, hashval)) { \ + HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], keyptr, keylen, hashval, out); \ + } \ + } \ +} while (0) + +#define HASH_FIND(hh,head,keyptr,keylen,out) \ +do { \ + (out) = NULL; \ + if (head) { \ + unsigned _hf_hashv; \ + HASH_VALUE(keyptr, keylen, _hf_hashv); \ + HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out); \ + } \ +} while (0) + +#ifdef HASH_BLOOM +#define HASH_BLOOM_BITLEN (1UL << HASH_BLOOM) +#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ? 1UL : 0UL) +#define HASH_BLOOM_MAKE(tbl,oomed) \ +do { \ + (tbl)->bloom_nbits = HASH_BLOOM; \ + (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \ + if (!(tbl)->bloom_bv) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ + (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \ + } \ +} while (0) + +#define HASH_BLOOM_FREE(tbl) \ +do { \ + uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \ +} while (0) + +#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8U] |= (1U << ((idx)%8U))) +#define HASH_BLOOM_BITTEST(bv,idx) ((bv[(idx)/8U] & (1U << ((idx)%8U))) != 0) + +#define HASH_BLOOM_ADD(tbl,hashv) \ + HASH_BLOOM_BITSET((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#define HASH_BLOOM_TEST(tbl,hashv) \ + HASH_BLOOM_BITTEST((tbl)->bloom_bv, ((hashv) & (uint32_t)((1UL << (tbl)->bloom_nbits) - 1U))) + +#else +#define HASH_BLOOM_MAKE(tbl,oomed) +#define HASH_BLOOM_FREE(tbl) +#define HASH_BLOOM_ADD(tbl,hashv) +#define HASH_BLOOM_TEST(tbl,hashv) 1 +#define HASH_BLOOM_BYTELEN 0U +#endif + +#define HASH_MAKE_TABLE(hh,head,oomed) \ +do { \ + (head)->hh.tbl = (UT_hash_table*)uthash_malloc(sizeof(UT_hash_table)); \ + if (!(head)->hh.tbl) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head)->hh.tbl->tail = &((head)->hh); \ + (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \ + (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \ + (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \ + (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + (head)->hh.tbl->signature = HASH_SIGNATURE; \ + if (!(head)->hh.tbl->buckets) { \ + HASH_RECORD_OOM(oomed); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } else { \ + uthash_bzero((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket)); \ + HASH_BLOOM_MAKE((head)->hh.tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + uthash_free((head)->hh.tbl->buckets, \ + HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + } \ + ) \ + } \ + } \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn); \ +} while (0) + +#define HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced) \ +do { \ + (replaced) = NULL; \ + HASH_FIND_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, replaced); \ + if (replaced) { \ + HASH_DELETE(hh, head, replaced); \ + } \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add); \ +} while (0) + +#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced); \ +} while (0) + +#define HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn) \ +do { \ + unsigned _hr_hashv; \ + HASH_VALUE(&((add)->fieldname), keylen_in, _hr_hashv); \ + HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, _hr_hashv, add, replaced, cmpfcn); \ +} while (0) + +#define HASH_APPEND_LIST(hh, head, add) \ +do { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \ + (head)->hh.tbl->tail->next = (add); \ + (head)->hh.tbl->tail = &((add)->hh); \ +} while (0) + +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + do { \ + if (cmpfcn(DECLTYPE(head)(_hs_iter), add) > 0) { \ + break; \ + } \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) + +#ifdef NO_DECLTYPE +#undef HASH_AKBI_INNER_LOOP +#define HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn) \ +do { \ + char *_hs_saved_head = (char*)(head); \ + do { \ + DECLTYPE_ASSIGN(head, _hs_iter); \ + if (cmpfcn(head, add) > 0) { \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + break; \ + } \ + DECLTYPE_ASSIGN(head, _hs_saved_head); \ + } while ((_hs_iter = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->next)); \ +} while (0) +#endif + +#if HASH_NONFATAL_OOM + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + if (!(oomed)) { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + if (oomed) { \ + HASH_ROLLBACK_BKT(hh, head, &(add)->hh); \ + HASH_DELETE_HH(hh, head, &(add)->hh); \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } else { \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ + } \ + } else { \ + (add)->hh.tbl = NULL; \ + uthash_nonfatal_oom(add); \ + } \ +} while (0) + +#else + +#define HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed) \ +do { \ + unsigned _ha_bkt; \ + (head)->hh.tbl->num_items++; \ + HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt); \ + HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed); \ + HASH_BLOOM_ADD((head)->hh.tbl, hashval); \ + HASH_EMIT_KEY(hh, head, keyptr, keylen_in); \ +} while (0) + +#endif + + +#define HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (char*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + void *_hs_iter = (head); \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn); \ + if (_hs_iter) { \ + (add)->hh.next = _hs_iter; \ + if (((add)->hh.prev = HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev)) { \ + HH_FROM_ELMT((head)->hh.tbl, (add)->hh.prev)->next = (add); \ + } else { \ + (head) = (add); \ + } \ + HH_FROM_ELMT((head)->hh.tbl, _hs_iter)->prev = (add); \ + } else { \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE_INORDER"); \ +} while (0) + +#define HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn) \ +do { \ + unsigned _hs_hashv; \ + HASH_VALUE(keyptr, keylen_in, _hs_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, _hs_hashv, add, cmpfcn); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn) \ + HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, &((add)->fieldname), keylen_in, hashval, add, cmpfcn) + +#define HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn) \ + HASH_ADD_KEYPTR_INORDER(hh, head, &((add)->fieldname), keylen_in, add, cmpfcn) + +#define HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add) \ +do { \ + IF_HASH_NONFATAL_OOM( int _ha_oomed = 0; ) \ + (add)->hh.hashv = (hashval); \ + (add)->hh.key = (const void*) (keyptr); \ + (add)->hh.keylen = (unsigned) (keylen_in); \ + if (!(head)) { \ + (add)->hh.next = NULL; \ + (add)->hh.prev = NULL; \ + HASH_MAKE_TABLE(hh, add, _ha_oomed); \ + IF_HASH_NONFATAL_OOM( if (!_ha_oomed) { ) \ + (head) = (add); \ + IF_HASH_NONFATAL_OOM( } ) \ + } else { \ + (add)->hh.tbl = (head)->hh.tbl; \ + HASH_APPEND_LIST(hh, head, add); \ + } \ + HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed); \ + HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE"); \ +} while (0) + +#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \ +do { \ + unsigned _ha_hashv; \ + HASH_VALUE(keyptr, keylen_in, _ha_hashv); \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add); \ +} while (0) + +#define HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add) \ + HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, &((add)->fieldname), keylen_in, hashval, add) + +#define HASH_ADD(hh,head,fieldname,keylen_in,add) \ + HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add) + +#define HASH_TO_BKT(hashv,num_bkts,bkt) \ +do { \ + bkt = ((hashv) & ((num_bkts) - 1U)); \ +} while (0) + +/* delete "delptr" from the hash table. + * "the usual" patch-up process for the app-order doubly-linked-list. + * The use of _hd_hh_del below deserves special explanation. + * These used to be expressed using (delptr) but that led to a bug + * if someone used the same symbol for the head and deletee, like + * HASH_DELETE(hh,users,users); + * We want that to work, but by changing the head (users) below + * we were forfeiting our ability to further refer to the deletee (users) + * in the patch-up process. Solution: use scratch space to + * copy the deletee pointer, then the latter references are via that + * scratch pointer rather than through the repointed (users) symbol. + */ +#define HASH_DELETE(hh,head,delptr) \ + HASH_DELETE_HH(hh, head, &(delptr)->hh) + +#define HASH_DELETE_HH(hh,head,delptrhh) \ +do { \ + const struct UT_hash_handle *_hd_hh_del = (delptrhh); \ + if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } else { \ + unsigned _hd_bkt; \ + if (_hd_hh_del == (head)->hh.tbl->tail) { \ + (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev); \ + } \ + if (_hd_hh_del->prev != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next; \ + } else { \ + DECLTYPE_ASSIGN(head, _hd_hh_del->next); \ + } \ + if (_hd_hh_del->next != NULL) { \ + HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev; \ + } \ + HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \ + HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \ + (head)->hh.tbl->num_items--; \ + } \ + HASH_FSCK(hh, head, "HASH_DELETE_HH"); \ +} while (0) + +/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */ +#define HASH_FIND_STR(head,findstr,out) \ +do { \ + unsigned _uthash_hfstr_keylen = (unsigned)uthash_strlen(findstr); \ + HASH_FIND(hh, head, findstr, _uthash_hfstr_keylen, out); \ +} while (0) +#define HASH_ADD_STR(head,strfield,add) \ +do { \ + unsigned _uthash_hastr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_ADD(hh, head, strfield[0], _uthash_hastr_keylen, add); \ +} while (0) +#define HASH_REPLACE_STR(head,strfield,add,replaced) \ +do { \ + unsigned _uthash_hrstr_keylen = (unsigned)uthash_strlen((add)->strfield); \ + HASH_REPLACE(hh, head, strfield[0], _uthash_hrstr_keylen, add, replaced); \ +} while (0) +#define HASH_FIND_INT(head,findint,out) \ + HASH_FIND(hh,head,findint,sizeof(int),out) +#define HASH_ADD_INT(head,intfield,add) \ + HASH_ADD(hh,head,intfield,sizeof(int),add) +#define HASH_REPLACE_INT(head,intfield,add,replaced) \ + HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced) +#define HASH_FIND_PTR(head,findptr,out) \ + HASH_FIND(hh,head,findptr,sizeof(void *),out) +#define HASH_ADD_PTR(head,ptrfield,add) \ + HASH_ADD(hh,head,ptrfield,sizeof(void *),add) +#define HASH_REPLACE_PTR(head,ptrfield,add,replaced) \ + HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced) +#define HASH_DEL(head,delptr) \ + HASH_DELETE(hh,head,delptr) + +/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined. + * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined. + */ +#ifdef HASH_DEBUG +#include /* fprintf, stderr */ +#define HASH_OOPS(...) do { fprintf(stderr, __VA_ARGS__); exit(-1); } while (0) +#define HASH_FSCK(hh,head,where) \ +do { \ + struct UT_hash_handle *_thh; \ + if (head) { \ + unsigned _bkt_i; \ + unsigned _count = 0; \ + char *_prev; \ + for (_bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; ++_bkt_i) { \ + unsigned _bkt_count = 0; \ + _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \ + _prev = NULL; \ + while (_thh) { \ + if (_prev != (char*)(_thh->hh_prev)) { \ + HASH_OOPS("%s: invalid hh_prev %p, actual %p\n", \ + (where), (void*)_thh->hh_prev, (void*)_prev); \ + } \ + _bkt_count++; \ + _prev = (char*)(_thh); \ + _thh = _thh->hh_next; \ + } \ + _count += _bkt_count; \ + if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \ + HASH_OOPS("%s: invalid bucket count %u, actual %u\n", \ + (where), (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \ + } \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid hh item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + _count = 0; \ + _prev = NULL; \ + _thh = &(head)->hh; \ + while (_thh) { \ + _count++; \ + if (_prev != (char*)_thh->prev) { \ + HASH_OOPS("%s: invalid prev %p, actual %p\n", \ + (where), (void*)_thh->prev, (void*)_prev); \ + } \ + _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \ + _thh = (_thh->next ? HH_FROM_ELMT((head)->hh.tbl, _thh->next) : NULL); \ + } \ + if (_count != (head)->hh.tbl->num_items) { \ + HASH_OOPS("%s: invalid app item count %u, actual %u\n", \ + (where), (head)->hh.tbl->num_items, _count); \ + } \ + } \ +} while (0) +#else +#define HASH_FSCK(hh,head,where) +#endif + +/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to + * the descriptor to which this macro is defined for tuning the hash function. + * The app can #include to get the prototype for write(2). */ +#ifdef HASH_EMIT_KEYS +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \ +do { \ + unsigned _klen = fieldlen; \ + write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \ + write(HASH_EMIT_KEYS, keyptr, (unsigned long)fieldlen); \ +} while (0) +#else +#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) +#endif + +/* The Bernstein hash function, used in Perl prior to v5.6. Note (x<<5+x)=x*33. */ +#define HASH_BER(key,keylen,hashv) \ +do { \ + unsigned _hb_keylen = (unsigned)keylen; \ + const unsigned char *_hb_key = (const unsigned char*)(key); \ + (hashv) = 0; \ + while (_hb_keylen-- != 0U) { \ + (hashv) = (((hashv) << 5) + (hashv)) + *_hb_key++; \ + } \ +} while (0) + + +/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at + * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx + * (archive link: https://archive.is/Ivcan ) + */ +#define HASH_SAX(key,keylen,hashv) \ +do { \ + unsigned _sx_i; \ + const unsigned char *_hs_key = (const unsigned char*)(key); \ + hashv = 0; \ + for (_sx_i=0; _sx_i < keylen; _sx_i++) { \ + hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \ + } \ +} while (0) +/* FNV-1a variation */ +#define HASH_FNV(key,keylen,hashv) \ +do { \ + unsigned _fn_i; \ + const unsigned char *_hf_key = (const unsigned char*)(key); \ + (hashv) = 2166136261U; \ + for (_fn_i=0; _fn_i < keylen; _fn_i++) { \ + hashv = hashv ^ _hf_key[_fn_i]; \ + hashv = hashv * 16777619U; \ + } \ +} while (0) + +#define HASH_OAT(key,keylen,hashv) \ +do { \ + unsigned _ho_i; \ + const unsigned char *_ho_key=(const unsigned char*)(key); \ + hashv = 0; \ + for(_ho_i=0; _ho_i < keylen; _ho_i++) { \ + hashv += _ho_key[_ho_i]; \ + hashv += (hashv << 10); \ + hashv ^= (hashv >> 6); \ + } \ + hashv += (hashv << 3); \ + hashv ^= (hashv >> 11); \ + hashv += (hashv << 15); \ +} while (0) + +#define HASH_JEN_MIX(a,b,c) \ +do { \ + a -= b; a -= c; a ^= ( c >> 13 ); \ + b -= c; b -= a; b ^= ( a << 8 ); \ + c -= a; c -= b; c ^= ( b >> 13 ); \ + a -= b; a -= c; a ^= ( c >> 12 ); \ + b -= c; b -= a; b ^= ( a << 16 ); \ + c -= a; c -= b; c ^= ( b >> 5 ); \ + a -= b; a -= c; a ^= ( c >> 3 ); \ + b -= c; b -= a; b ^= ( a << 10 ); \ + c -= a; c -= b; c ^= ( b >> 15 ); \ +} while (0) + +#define HASH_JEN(key,keylen,hashv) \ +do { \ + unsigned _hj_i,_hj_j,_hj_k; \ + unsigned const char *_hj_key=(unsigned const char*)(key); \ + hashv = 0xfeedbeefu; \ + _hj_i = _hj_j = 0x9e3779b9u; \ + _hj_k = (unsigned)(keylen); \ + while (_hj_k >= 12U) { \ + _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \ + + ( (unsigned)_hj_key[2] << 16 ) \ + + ( (unsigned)_hj_key[3] << 24 ) ); \ + _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \ + + ( (unsigned)_hj_key[6] << 16 ) \ + + ( (unsigned)_hj_key[7] << 24 ) ); \ + hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \ + + ( (unsigned)_hj_key[10] << 16 ) \ + + ( (unsigned)_hj_key[11] << 24 ) ); \ + \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ + \ + _hj_key += 12; \ + _hj_k -= 12U; \ + } \ + hashv += (unsigned)(keylen); \ + switch ( _hj_k ) { \ + case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); /* FALLTHROUGH */ \ + case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); /* FALLTHROUGH */ \ + case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); /* FALLTHROUGH */ \ + case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); /* FALLTHROUGH */ \ + case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); /* FALLTHROUGH */ \ + case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); /* FALLTHROUGH */ \ + case 5: _hj_j += _hj_key[4]; /* FALLTHROUGH */ \ + case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); /* FALLTHROUGH */ \ + case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); /* FALLTHROUGH */ \ + case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); /* FALLTHROUGH */ \ + case 1: _hj_i += _hj_key[0]; /* FALLTHROUGH */ \ + default: ; \ + } \ + HASH_JEN_MIX(_hj_i, _hj_j, hashv); \ +} while (0) + +/* The Paul Hsieh hash function */ +#undef get16bits +#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \ + || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__) +#define get16bits(d) (*((const uint16_t *) (d))) +#endif + +#if !defined (get16bits) +#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \ + +(uint32_t)(((const uint8_t *)(d))[0]) ) +#endif +#define HASH_SFH(key,keylen,hashv) \ +do { \ + unsigned const char *_sfh_key=(unsigned const char*)(key); \ + uint32_t _sfh_tmp, _sfh_len = (uint32_t)keylen; \ + \ + unsigned _sfh_rem = _sfh_len & 3U; \ + _sfh_len >>= 2; \ + hashv = 0xcafebabeu; \ + \ + /* Main loop */ \ + for (;_sfh_len > 0U; _sfh_len--) { \ + hashv += get16bits (_sfh_key); \ + _sfh_tmp = ((uint32_t)(get16bits (_sfh_key+2)) << 11) ^ hashv; \ + hashv = (hashv << 16) ^ _sfh_tmp; \ + _sfh_key += 2U*sizeof (uint16_t); \ + hashv += hashv >> 11; \ + } \ + \ + /* Handle end cases */ \ + switch (_sfh_rem) { \ + case 3: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 16; \ + hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)]) << 18; \ + hashv += hashv >> 11; \ + break; \ + case 2: hashv += get16bits (_sfh_key); \ + hashv ^= hashv << 11; \ + hashv += hashv >> 17; \ + break; \ + case 1: hashv += *_sfh_key; \ + hashv ^= hashv << 10; \ + hashv += hashv >> 1; \ + break; \ + default: ; \ + } \ + \ + /* Force "avalanching" of final 127 bits */ \ + hashv ^= hashv << 3; \ + hashv += hashv >> 5; \ + hashv ^= hashv << 4; \ + hashv += hashv >> 17; \ + hashv ^= hashv << 25; \ + hashv += hashv >> 6; \ +} while (0) + +/* iterate over items in a known bucket to find desired item */ +#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out) \ +do { \ + if ((head).hh_head != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head)); \ + } else { \ + (out) = NULL; \ + } \ + while ((out) != NULL) { \ + if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) { \ + if (HASH_KEYCMP((out)->hh.key, keyptr, keylen_in) == 0) { \ + break; \ + } \ + } \ + if ((out)->hh.hh_next != NULL) { \ + DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next)); \ + } else { \ + (out) = NULL; \ + } \ + } \ +} while (0) + +/* add an item to a bucket */ +#define HASH_ADD_TO_BKT(head,hh,addhh,oomed) \ +do { \ + UT_hash_bucket *_ha_head = &(head); \ + _ha_head->count++; \ + (addhh)->hh_next = _ha_head->hh_head; \ + (addhh)->hh_prev = NULL; \ + if (_ha_head->hh_head != NULL) { \ + _ha_head->hh_head->hh_prev = (addhh); \ + } \ + _ha_head->hh_head = (addhh); \ + if ((_ha_head->count >= ((_ha_head->expand_mult + 1U) * HASH_BKT_CAPACITY_THRESH)) \ + && !(addhh)->tbl->noexpand) { \ + HASH_EXPAND_BUCKETS(addhh,(addhh)->tbl, oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (oomed) { \ + HASH_DEL_IN_BKT(head,addhh); \ + } \ + ) \ + } \ +} while (0) + +/* remove an item from a given bucket */ +#define HASH_DEL_IN_BKT(head,delhh) \ +do { \ + UT_hash_bucket *_hd_head = &(head); \ + _hd_head->count--; \ + if (_hd_head->hh_head == (delhh)) { \ + _hd_head->hh_head = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_prev) { \ + (delhh)->hh_prev->hh_next = (delhh)->hh_next; \ + } \ + if ((delhh)->hh_next) { \ + (delhh)->hh_next->hh_prev = (delhh)->hh_prev; \ + } \ +} while (0) + +/* Bucket expansion has the effect of doubling the number of buckets + * and redistributing the items into the new buckets. Ideally the + * items will distribute more or less evenly into the new buckets + * (the extent to which this is true is a measure of the quality of + * the hash function as it applies to the key domain). + * + * With the items distributed into more buckets, the chain length + * (item count) in each bucket is reduced. Thus by expanding buckets + * the hash keeps a bound on the chain length. This bounded chain + * length is the essence of how a hash provides constant time lookup. + * + * The calculation of tbl->ideal_chain_maxlen below deserves some + * explanation. First, keep in mind that we're calculating the ideal + * maximum chain length based on the *new* (doubled) bucket count. + * In fractions this is just n/b (n=number of items,b=new num buckets). + * Since the ideal chain length is an integer, we want to calculate + * ceil(n/b). We don't depend on floating point arithmetic in this + * hash, so to calculate ceil(n/b) with integers we could write + * + * ceil(n/b) = (n/b) + ((n%b)?1:0) + * + * and in fact a previous version of this hash did just that. + * But now we have improved things a bit by recognizing that b is + * always a power of two. We keep its base 2 log handy (call it lb), + * so now we can write this with a bit shift and logical AND: + * + * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0) + * + */ +#define HASH_EXPAND_BUCKETS(hh,tbl,oomed) \ +do { \ + unsigned _he_bkt; \ + unsigned _he_bkt_i; \ + struct UT_hash_handle *_he_thh, *_he_hh_nxt; \ + UT_hash_bucket *_he_new_buckets, *_he_newbkt; \ + _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \ + sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U); \ + if (!_he_new_buckets) { \ + HASH_RECORD_OOM(oomed); \ + } else { \ + uthash_bzero(_he_new_buckets, \ + sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U); \ + (tbl)->ideal_chain_maxlen = \ + ((tbl)->num_items >> ((tbl)->log2_num_buckets+1U)) + \ + ((((tbl)->num_items & (((tbl)->num_buckets*2U)-1U)) != 0U) ? 1U : 0U); \ + (tbl)->nonideal_items = 0; \ + for (_he_bkt_i = 0; _he_bkt_i < (tbl)->num_buckets; _he_bkt_i++) { \ + _he_thh = (tbl)->buckets[ _he_bkt_i ].hh_head; \ + while (_he_thh != NULL) { \ + _he_hh_nxt = _he_thh->hh_next; \ + HASH_TO_BKT(_he_thh->hashv, (tbl)->num_buckets * 2U, _he_bkt); \ + _he_newbkt = &(_he_new_buckets[_he_bkt]); \ + if (++(_he_newbkt->count) > (tbl)->ideal_chain_maxlen) { \ + (tbl)->nonideal_items++; \ + if (_he_newbkt->count > _he_newbkt->expand_mult * (tbl)->ideal_chain_maxlen) { \ + _he_newbkt->expand_mult++; \ + } \ + } \ + _he_thh->hh_prev = NULL; \ + _he_thh->hh_next = _he_newbkt->hh_head; \ + if (_he_newbkt->hh_head != NULL) { \ + _he_newbkt->hh_head->hh_prev = _he_thh; \ + } \ + _he_newbkt->hh_head = _he_thh; \ + _he_thh = _he_hh_nxt; \ + } \ + } \ + uthash_free((tbl)->buckets, (tbl)->num_buckets * sizeof(struct UT_hash_bucket)); \ + (tbl)->num_buckets *= 2U; \ + (tbl)->log2_num_buckets++; \ + (tbl)->buckets = _he_new_buckets; \ + (tbl)->ineff_expands = ((tbl)->nonideal_items > ((tbl)->num_items >> 1)) ? \ + ((tbl)->ineff_expands+1U) : 0U; \ + if ((tbl)->ineff_expands > 1U) { \ + (tbl)->noexpand = 1; \ + uthash_noexpand_fyi(tbl); \ + } \ + uthash_expand_fyi(tbl); \ + } \ +} while (0) + + +/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */ +/* Note that HASH_SORT assumes the hash handle name to be hh. + * HASH_SRT was added to allow the hash handle name to be passed in. */ +#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn) +#define HASH_SRT(hh,head,cmpfcn) \ +do { \ + unsigned _hs_i; \ + unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \ + struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \ + if (head != NULL) { \ + _hs_insize = 1; \ + _hs_looping = 1; \ + _hs_list = &((head)->hh); \ + while (_hs_looping != 0U) { \ + _hs_p = _hs_list; \ + _hs_list = NULL; \ + _hs_tail = NULL; \ + _hs_nmerges = 0; \ + while (_hs_p != NULL) { \ + _hs_nmerges++; \ + _hs_q = _hs_p; \ + _hs_psize = 0; \ + for (_hs_i = 0; _hs_i < _hs_insize; ++_hs_i) { \ + _hs_psize++; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + if (_hs_q == NULL) { \ + break; \ + } \ + } \ + _hs_qsize = _hs_insize; \ + while ((_hs_psize != 0U) || ((_hs_qsize != 0U) && (_hs_q != NULL))) { \ + if (_hs_psize == 0U) { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } else if ((_hs_qsize == 0U) || (_hs_q == NULL)) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else if ((cmpfcn( \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_p)), \ + DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl, _hs_q)) \ + )) <= 0) { \ + _hs_e = _hs_p; \ + if (_hs_p != NULL) { \ + _hs_p = ((_hs_p->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_p->next) : NULL); \ + } \ + _hs_psize--; \ + } else { \ + _hs_e = _hs_q; \ + _hs_q = ((_hs_q->next != NULL) ? \ + HH_FROM_ELMT((head)->hh.tbl, _hs_q->next) : NULL); \ + _hs_qsize--; \ + } \ + if ( _hs_tail != NULL ) { \ + _hs_tail->next = ((_hs_e != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_e) : NULL); \ + } else { \ + _hs_list = _hs_e; \ + } \ + if (_hs_e != NULL) { \ + _hs_e->prev = ((_hs_tail != NULL) ? \ + ELMT_FROM_HH((head)->hh.tbl, _hs_tail) : NULL); \ + } \ + _hs_tail = _hs_e; \ + } \ + _hs_p = _hs_q; \ + } \ + if (_hs_tail != NULL) { \ + _hs_tail->next = NULL; \ + } \ + if (_hs_nmerges <= 1U) { \ + _hs_looping = 0; \ + (head)->hh.tbl->tail = _hs_tail; \ + DECLTYPE_ASSIGN(head, ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \ + } \ + _hs_insize *= 2U; \ + } \ + HASH_FSCK(hh, head, "HASH_SRT"); \ + } \ +} while (0) + +/* This function selects items from one hash into another hash. + * The end result is that the selected items have dual presence + * in both hashes. There is no copy of the items made; rather + * they are added into the new hash through a secondary hash + * hash handle that must be present in the structure. */ +#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \ +do { \ + unsigned _src_bkt, _dst_bkt; \ + void *_last_elt = NULL, *_elt; \ + UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \ + ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \ + if ((src) != NULL) { \ + for (_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \ + for (_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \ + _src_hh != NULL; \ + _src_hh = _src_hh->hh_next) { \ + _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \ + if (cond(_elt)) { \ + IF_HASH_NONFATAL_OOM( int _hs_oomed = 0; ) \ + _dst_hh = (UT_hash_handle*)(void*)(((char*)_elt) + _dst_hho); \ + _dst_hh->key = _src_hh->key; \ + _dst_hh->keylen = _src_hh->keylen; \ + _dst_hh->hashv = _src_hh->hashv; \ + _dst_hh->prev = _last_elt; \ + _dst_hh->next = NULL; \ + if (_last_elt_hh != NULL) { \ + _last_elt_hh->next = _elt; \ + } \ + if ((dst) == NULL) { \ + DECLTYPE_ASSIGN(dst, _elt); \ + HASH_MAKE_TABLE(hh_dst, dst, _hs_oomed); \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + uthash_nonfatal_oom(_elt); \ + (dst) = NULL; \ + continue; \ + } \ + ) \ + } else { \ + _dst_hh->tbl = (dst)->hh_dst.tbl; \ + } \ + HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \ + HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt], hh_dst, _dst_hh, _hs_oomed); \ + (dst)->hh_dst.tbl->num_items++; \ + IF_HASH_NONFATAL_OOM( \ + if (_hs_oomed) { \ + HASH_ROLLBACK_BKT(hh_dst, dst, _dst_hh); \ + HASH_DELETE_HH(hh_dst, dst, _dst_hh); \ + _dst_hh->tbl = NULL; \ + uthash_nonfatal_oom(_elt); \ + continue; \ + } \ + ) \ + HASH_BLOOM_ADD(_dst_hh->tbl, _dst_hh->hashv); \ + _last_elt = _elt; \ + _last_elt_hh = _dst_hh; \ + } \ + } \ + } \ + } \ + HASH_FSCK(hh_dst, dst, "HASH_SELECT"); \ +} while (0) + +#define HASH_CLEAR(hh,head) \ +do { \ + if ((head) != NULL) { \ + HASH_BLOOM_FREE((head)->hh.tbl); \ + uthash_free((head)->hh.tbl->buckets, \ + (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \ + uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \ + (head) = NULL; \ + } \ +} while (0) + +#define HASH_OVERHEAD(hh,head) \ + (((head) != NULL) ? ( \ + (size_t)(((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \ + ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \ + sizeof(UT_hash_table) + \ + (HASH_BLOOM_BYTELEN))) : 0U) + +#ifdef NO_DECLTYPE +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((*(char**)(&(tmp)))=(char*)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((*(char**)(&(tmp)))=(char*)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#else +#define HASH_ITER(hh,head,el,tmp) \ +for(((el)=(head)), ((tmp)=DECLTYPE(el)((head!=NULL)?(head)->hh.next:NULL)); \ + (el) != NULL; ((el)=(tmp)), ((tmp)=DECLTYPE(el)((tmp!=NULL)?(tmp)->hh.next:NULL))) +#endif + +/* obtain a count of items in the hash */ +#define HASH_COUNT(head) HASH_CNT(hh,head) +#define HASH_CNT(hh,head) ((head != NULL)?((head)->hh.tbl->num_items):0U) + +typedef struct UT_hash_bucket { + struct UT_hash_handle *hh_head; + unsigned count; + + /* expand_mult is normally set to 0. In this situation, the max chain length + * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If + * the bucket's chain exceeds this length, bucket expansion is triggered). + * However, setting expand_mult to a non-zero value delays bucket expansion + * (that would be triggered by additions to this particular bucket) + * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH. + * (The multiplier is simply expand_mult+1). The whole idea of this + * multiplier is to reduce bucket expansions, since they are expensive, in + * situations where we know that a particular bucket tends to be overused. + * It is better to let its chain length grow to a longer yet-still-bounded + * value, than to do an O(n) bucket expansion too often. + */ + unsigned expand_mult; + +} UT_hash_bucket; + +/* random signature used only to find hash tables in external analysis */ +#define HASH_SIGNATURE 0xa0111fe1u +#define HASH_BLOOM_SIGNATURE 0xb12220f2u + +typedef struct UT_hash_table { + UT_hash_bucket *buckets; + unsigned num_buckets, log2_num_buckets; + unsigned num_items; + struct UT_hash_handle *tail; /* tail hh in app order, for fast append */ + ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */ + + /* in an ideal situation (all buckets used equally), no bucket would have + * more than ceil(#items/#buckets) items. that's the ideal chain length. */ + unsigned ideal_chain_maxlen; + + /* nonideal_items is the number of items in the hash whose chain position + * exceeds the ideal chain maxlen. these items pay the penalty for an uneven + * hash distribution; reaching them in a chain traversal takes >ideal steps */ + unsigned nonideal_items; + + /* ineffective expands occur when a bucket doubling was performed, but + * afterward, more than half the items in the hash had nonideal chain + * positions. If this happens on two consecutive expansions we inhibit any + * further expansion, as it's not helping; this happens when the hash + * function isn't a good fit for the key domain. When expansion is inhibited + * the hash will still work, albeit no longer in constant time. */ + unsigned ineff_expands, noexpand; + + uint32_t signature; /* used only to find hash tables in external analysis */ +#ifdef HASH_BLOOM + uint32_t bloom_sig; /* used only to test bloom exists in external analysis */ + uint8_t *bloom_bv; + uint8_t bloom_nbits; +#endif + +} UT_hash_table; + +typedef struct UT_hash_handle { + struct UT_hash_table *tbl; + void *prev; /* prev element in app order */ + void *next; /* next element in app order */ + struct UT_hash_handle *hh_prev; /* previous hh in bucket order */ + struct UT_hash_handle *hh_next; /* next hh in bucket order */ + const void *key; /* ptr to enclosing struct's key */ + unsigned keylen; /* enclosing struct's key len */ + unsigned hashv; /* result of hash-fcn(key) */ +} UT_hash_handle; + +#endif /* UTHASH_H */ diff --git a/2015/input/01 b/2015/input/01 new file mode 100644 index 0000000..71a7803 --- /dev/null +++ b/2015/input/01 @@ -0,0 +1 @@ +()(((()))(()()()((((()(((())(()(()((((((()(()(((())))((()(((()))((())(()((()()()()(((())(((((((())))()()(()(()(())(((((()()()((())(((((()()))))()(())(((())(())((((((())())))(()())))()))))()())()())((()()((()()()()(()((((((((()()())((()()(((((()(((())((())(()))()((((()((((((((())()((()())(())((()))())((((()())(((((((((((()()(((((()(()))())(((()(()))())((()(()())())())(()(((())(())())()()(()(()((()))((()))))((((()(((()))))((((()(()(()())())()(((()((((())((((()(((()()(())()()()())((()((((((()((()()))()((()))()(()()((())))(((()(((()))((()((()(()))(((()()(()(()()()))))()()(((()(((())())))))((()(((())()(()(())((()())))((((())))(()(()(()())()((()())))(((()((()(())()()((()((())(()()((())(())()))()))((()(())()))())(((((((()(()()(()(())())))))))(()((((((())((((())((())())(()()))))()(())(()())()())((())(()))))(()))(()((()))()(()((((((()()()()((((((((()(()(())((()()(()()))(())()())()((())))()))()())(((()))(())()(())()))()((()((()(()()())(())()()()((())())))((()()(()()((()(())()()())(((()(()()))))(())))(()(()())()))()()))))))()))))((((((())))())))(()(())())(()())))))(()))()))))))()((()))))()))))(()(()((()())())(()()))))(((())()))())())())(((()(()()))(())()(())(())((((((()()))))((()(()))))))(()))())(((()()(()))()())()()()())))))))))))))(())(()))(()))((()(())(()())(())())(()())(())()()(()())))()()()))(())())()))())())(())((())))))))(())))(())))))()))))((())(()(((()))))(()))()((()(())))(()())(((((()))()())()()))))()))))()))())(()(()()()))()))))))((()))))))))))()((()))((()(())((())()()(()()))()(()))))()()(()))()))(((())))(())()((())(())(()())()())())))))))())))()((())))()))(()))()()))(((((((()))())(()()))(()()(()))()(()((()())()))))))(((()()()())))(())()))()())(()()))()()))))))))(())))()))()()))))))()))()())))()(())(())))))()(())()()(()()))))())((()))))()))))(()(((((()))))))))())))())()(())()()))))(())))())()()())()()())()(()))))()))()))))))))())))((()))()))()))())))()())()()())))())))(()((())()((()))())))))())()(())((())))))))))))())()())(())())())(()))(()))()))())(()(())())()())()()(()))))(()(())))))))(())))())(())))))))())()()(())())())))(())))))()))()(()())()(()))())())))))()()(()))()))))())))))))))()))))()))))))())()())()()))))()())))())))))))))))()()))))()()(((()))()()(())()))))((()))))(()))(())())))(())()))))))(()))()))))(())())))))()))(()())))))))))))))())))))))))()((()())(()())))))))((()))))(())(())))()(()())())))())())(()()()())))()))))))())))))())()()())))))))))))()()(()))))()())()))((()())(()))))()(()))))))))))()())())(((())(()))))())()))()))()))))))()))))))(()))))()))))()(())))(())))(()))())()()(()()))()))(()()))))))))()))(()))())(()()(()(()())()()))()))))))))(())))))((()()(()))())())))))()))())(()())()()))())))()(()()()()))((())())))())()(()()))()))))))))(()))(())))()))))(()(()())(()))))()())())()))()()))())))))))))))())()))))))()))))))))())))))()))))())(()())))(())()))())())))))()()(()()())(()())))()()))(((()))(()()()))))()))))()))))((())))()((((((()()))))))())))))))))))(((()))))))))))))(())())))))())(()))))))(()))((()))())))()(()((()))()))()))))))))))())()))()(()()))))())))())(())()(()))()))())(()))()))))(()()))()()(())))))()))(())(()(()()))(()()())))))(((()))))))()))))))))))))(())(()))))()())())()()((()()))())))))(()))))())))))))()()()))))))))())))()(((()()))(())))))(((())())))))((()))()(()))(()))))(()())))(()))())))))()))))(())(())))()((()))(())())))()()))()))))))))()))(()()()(()()()(()))())(())()())(((()))(())))))))))(((()())))()()))))))))()(())(()))()((((())(())(()())))()))(((())()()()))((()))(()))())())))())))(()))())()())())(()(())())()()()(())))())(())))(())))(())()))()))(()((()))))))))())(()))))))())(()()))()()))()(()(()())))()()(()((()((((((()))(())))()()()))())()))((()()(()))())((()(()(()))(()()))))()())))()))()())))))))()()((()())(())))()))(()))(())(()))())(()(())))()()))))))(((()(((()()))()(()(())())((()()))()))()))()))()(()()()(()))((()())()(())))()()))(((())()()())(())()((()()()()(()(())(()()))()(((((()())))((())))))(()()()))))(((()(())))()))((()((()(())()(()((())))((()())()(()))(((()())()()(()))(())(((()((()())()((())()())(((()()))((()((())(()))(()())(()()()))((()))(())(()((()()())((()))(())))(())(())(())))(()())))(((((()(()(((((()())((((()(()())(())(()()(((())((()(((()()(((()()((((((())))())(()((((((()(()))()))()()((()((()))))()(()()(()((()()))))))(((((()(((((())()()()(())())))))))()))((()()(())))(())(()()()())))))(()((((())))))))()()(((()(()(()(()(()())()()()(((((((((()()())()(()))((()()()()()(((((((()())()((())()))((((((()(()(()(()())(((()(((((((()(((())(((((((((())(())())()))((()(()))(((()()())(())(()(()()(((()(())()))())))(())((((((())(()()())()()(((()(((())(()(((())(((((((()(((((((((()))(())(()(()(()))))((()))()(())())())((()(()((()()))((()()((()(())(())(()((())(((())(((()()()((((((()()(())((((())()))))(())((()(()((())))(((((()(()()())())((())())))((())((()((()()((((((())(((()()(()())())(()(()))(()(()))())())()(((((((()(((()(())()()((())((()(()()((()(()()(((((((((((())((())((((((())((()((((()(()((((()(((((((())()((()))))())()((()((((()(()(((()((()())))(())())(((()(((())((((((()(((((((((()()(())))(()(((((()((((()())))((()((()((()(()()(((())((((((((((((()(((())(()(((((()))(()()(()()()()()()((())(((((((())(((((())))))())()(()()(()(()(((()()(((((())(()((()((()(((()()((()((((())()))()((((())(())))()())(((())(())(()()((()(((()()((((((((((()()(()())())(((((((((())((((()))()()((((())(()((((()(((())())(((((((((((()((((())))(())(()(((()(((()((())(((((()((()()(()(()()((((((()((((()((()(()((()(()((((((()))))()()(((((()((()(()(())()))(())(((((((()((((()())(()((()((()(()))())))(())((()))))(((((((()()()())(()))(()()((()())()((()((()()()(()(()()))(()())(())(((((()(((((((((((()((()(((()(((((((()()((((((()(((((()(()((()(((((())((((((()))((((())((()()((())(((())()(((((()()(((((()((()(()(((((((()(((((()((()((()((())(())((())(()))()()))(()()(()(()()(((((((()(((()(((())()(((((()((((((()())((((())()((()((()(()()())(()))((((()()((((((()((()(()(()((((()((()((())((((((()(()(())((((((()((((((((((()((())()))()(()(()(((((()()()))((())))()(()((((((((((((((()(((()((((()((())((()((()(((()()(()(((()((())(()()())))()(()(()(((((()()(()(()((((()(((((())()(()(()))(((((()()(((()()(())((((((((((((((())((())(((((((((((())()()()(())()(()(()(((((((((())(((()))(()()())(()((((()(())(((((()())(())((((((((())()((((()((((((())(()((()(())(((()((((()))(((((((((()()))((((()(())()()()(())(()((())((()()))()(((())(((((())((((((()()))(((((((((()((((((())))(((((((()((()(()(())))())(()(()))()(((((()())(()))()(()(())(((()))))())()())))(((((()))())()((()(()))))((()()()((((((()))()()((((((((())((()(()(((()(()((())((()())(()((((())(()(((()()()(()(()()))())())((((((((((())())((()))()((())(())(())))())()(()()(())))())(()))(((()(()()(((()(((())))()(((()(())()((((((())()))()))()((((((()(()(((((()())))()))))())()()(((()(((((())((()()(()((()((()(()(()(())))(()()()()((()(())(((()((()))((((()))())(())))())(()))()()()())()))(((()()())()((())))(())(()()()()(()())((()(()()((((())))((()((()(())((()(()((())()(()()(((()())()()())((()))((())(((()()(())))()()))(((()((())()(((((()())(())((())()())())((((((()(()(((((()))(()( \ No newline at end of file diff --git a/2015/input/02 b/2015/input/02 new file mode 100644 index 0000000..879e522 --- /dev/null +++ b/2015/input/02 @@ -0,0 +1,1000 @@ +20x3x11 +15x27x5 +6x29x7 +30x15x9 +19x29x21 +10x4x15 +1x26x4 +1x5x18 +10x15x23 +10x14x20 +3x5x18 +29x23x30 +7x4x10 +22x24x29 +30x1x2 +19x2x5 +11x9x22 +23x15x10 +11x11x10 +30x28x5 +22x5x4 +6x26x20 +16x12x30 +10x20x5 +25x14x24 +16x17x22 +11x28x26 +1x11x10 +1x24x15 +13x17x21 +30x3x13 +20x25x17 +22x12x5 +22x20x24 +9x2x14 +6x18x8 +27x28x24 +11x17x1 +1x4x12 +5x20x13 +24x23x23 +22x1x25 +18x19x5 +5x23x13 +8x16x4 +20x21x9 +1x7x11 +8x30x17 +3x30x9 +6x16x18 +22x25x27 +9x20x26 +16x21x23 +5x24x17 +15x17x15 +26x15x10 +22x16x3 +20x24x24 +8x18x10 +23x19x16 +1x21x24 +23x23x9 +14x20x6 +25x5x5 +16x3x1 +29x29x20 +11x4x26 +10x23x24 +29x25x16 +27x27x22 +9x7x22 +6x21x18 +25x11x19 +14x13x3 +15x28x17 +14x3x12 +29x8x19 +30x14x20 +20x23x4 +8x16x5 +4x11x18 +20x8x24 +21x13x21 +14x26x29 +27x4x17 +27x4x25 +5x28x6 +23x24x11 +29x22x5 +30x20x6 +23x2x10 +11x4x7 +27x23x6 +10x20x19 +8x20x22 +5x29x22 +16x13x2 +2x11x14 +6x12x4 +3x13x6 +16x5x18 +25x3x28 +21x1x5 +20x16x19 +28x30x27 +26x7x18 +25x27x24 +11x19x7 +21x19x17 +2x12x27 +20x5x14 +8x5x8 +6x24x8 +7x28x20 +3x20x28 +5x20x30 +13x29x1 +26x29x5 +19x28x25 +5x19x11 +11x20x22 +4x23x1 +19x25x12 +3x10x6 +3x14x10 +28x16x12 +23x12x2 +23x12x19 +20x28x10 +9x10x25 +16x21x16 +1x18x20 +9x4x26 +3x25x8 +17x16x28 +9x28x16 +27x3x12 +17x24x12 +13x21x10 +7x17x13 +6x10x9 +7x29x25 +11x19x30 +1x24x5 +20x16x23 +24x28x21 +6x29x19 +25x2x19 +12x5x26 +25x29x12 +16x28x22 +26x26x15 +9x13x5 +10x29x7 +1x24x16 +22x2x2 +6x16x13 +3x12x28 +4x12x13 +14x27x21 +14x23x26 +7x5x18 +8x30x27 +15x9x18 +26x16x5 +3x29x17 +19x7x18 +16x18x1 +26x15x30 +24x30x21 +13x20x7 +4x12x10 +27x20x11 +28x29x21 +20x14x30 +28x12x3 +19x1x8 +4x8x6 +21x14x2 +27x19x21 +17x24x14 +15x18x11 +18x7x26 +25x28x29 +27x26x9 +18x12x17 +24x28x25 +13x24x14 +26x9x28 +9x3x30 +9x2x9 +8x1x29 +18x30x10 +18x14x5 +26x8x30 +12x1x1 +30x5x28 +26x17x21 +10x10x10 +20x7x27 +13x17x6 +21x13x17 +2x16x8 +7x9x9 +15x26x4 +11x28x25 +10x6x19 +21x6x29 +15x5x6 +28x9x16 +14x3x10 +12x29x5 +22x19x19 +25x15x22 +30x6x28 +11x23x13 +20x25x14 +26x1x13 +6x14x15 +16x25x17 +28x4x13 +10x24x25 +4x13x10 +9x15x16 +15x24x6 +22x9x19 +11x11x8 +4x19x12 +24x5x4 +27x12x13 +7x27x16 +2x6x9 +29x27x15 +18x26x23 +19x16x15 +14x5x25 +9x16x30 +4x6x4 +13x10x10 +1x8x29 +23x5x17 +19x20x20 +11x27x24 +27x15x5 +15x11x12 +21x11x3 +1x13x22 +17x8x8 +13x14x14 +17x22x7 +9x5x8 +2x6x3 +25x9x15 +11x8x13 +9x25x12 +3x16x12 +12x16x8 +16x24x17 +4x6x26 +22x29x11 +14x17x19 +28x2x27 +24x22x19 +22x20x30 +23x28x4 +16x12x14 +22x24x22 +29x1x28 +26x29x16 +3x25x30 +27x3x13 +22x24x26 +25x3x2 +7x24x2 +10x5x3 +28x8x29 +25x6x4 +12x17x14 +24x3x5 +23x27x7 +26x23x30 +11x10x19 +23x7x11 +26x14x15 +14x3x25 +12x24x14 +2x14x12 +9x12x16 +9x2x28 +3x8x2 +22x6x9 +2x30x2 +25x1x9 +20x11x2 +14x11x12 +7x14x12 +24x8x26 +13x21x23 +18x17x23 +13x6x17 +20x20x19 +13x17x29 +7x24x24 +23x8x6 +19x10x28 +3x8x21 +15x20x18 +11x27x1 +11x24x28 +13x20x11 +18x19x22 +27x22x12 +28x3x2 +13x4x29 +26x5x6 +14x29x25 +7x4x7 +5x17x7 +2x8x1 +22x30x24 +22x21x28 +1x28x13 +11x20x4 +25x29x19 +9x23x4 +30x6x11 +25x18x10 +28x10x24 +3x5x20 +19x28x10 +27x19x2 +26x20x4 +19x21x6 +2x12x30 +8x26x27 +11x27x10 +14x13x17 +4x3x21 +2x20x21 +22x30x3 +2x23x2 +3x16x12 +22x28x22 +3x23x29 +8x25x15 +9x30x4 +10x11x1 +24x8x20 +10x7x27 +7x22x4 +27x13x17 +5x28x5 +30x15x13 +10x8x17 +8x21x5 +8x17x26 +25x16x4 +9x7x25 +13x11x20 +6x30x9 +15x14x12 +30x1x23 +5x20x24 +22x7x6 +26x11x23 +29x7x5 +13x24x28 +22x20x10 +18x3x1 +15x19x23 +28x28x20 +7x26x2 +9x12x20 +15x4x6 +1x17x21 +3x22x17 +9x4x20 +25x19x5 +9x11x22 +14x1x17 +14x5x16 +30x5x18 +19x6x12 +28x16x22 +13x4x25 +29x23x18 +1x27x3 +12x14x4 +10x25x19 +15x19x30 +11x30x4 +11x22x26 +13x25x2 +17x13x27 +11x30x24 +15x1x14 +17x18x4 +26x11x3 +16x22x28 +13x20x9 +1x18x3 +25x11x12 +20x21x1 +22x27x4 +8x28x23 +7x13x27 +17x9x26 +27x27x20 +11x20x12 +26x21x11 +29x14x12 +27x25x1 +28x29x25 +21x23x28 +5x18x18 +19x5x4 +7x6x30 +27x8x11 +12x24x12 +16x25x22 +26x11x29 +25x22x17 +15x23x23 +17x9x6 +30x10x16 +21x3x5 +18x27x2 +28x21x14 +16x18x17 +4x18x2 +9x1x14 +9x1x9 +5x27x12 +8x16x30 +3x19x19 +16x26x24 +1x6x9 +15x14x3 +11x7x19 +8x19x3 +17x26x26 +6x18x11 +19x12x4 +29x20x16 +20x17x23 +6x6x5 +20x30x19 +18x25x18 +2x26x2 +3x1x1 +14x25x18 +3x1x6 +11x14x18 +17x23x27 +25x29x9 +6x25x20 +20x10x9 +17x5x18 +29x14x8 +14x25x26 +10x15x29 +23x19x11 +22x2x2 +4x5x5 +13x23x25 +19x13x19 +20x18x6 +30x7x28 +26x18x17 +29x18x10 +30x29x1 +12x26x24 +18x17x26 +29x28x15 +3x12x20 +24x10x8 +30x15x6 +28x23x15 +14x28x11 +10x27x19 +14x8x21 +24x1x23 +1x3x27 +6x15x6 +8x25x26 +13x10x25 +6x9x8 +10x29x29 +26x23x5 +14x24x1 +25x6x22 +17x11x18 +1x27x26 +18x25x23 +20x15x6 +2x21x28 +2x10x13 +12x25x14 +2x14x23 +30x5x23 +29x19x21 +29x10x25 +14x22x16 +17x11x26 +12x17x30 +8x17x7 +20x25x28 +20x11x30 +15x1x12 +13x3x24 +16x23x23 +27x3x3 +26x3x27 +18x5x12 +12x26x7 +19x27x12 +20x10x28 +30x12x25 +3x14x10 +21x26x1 +24x26x26 +7x21x30 +3x29x12 +29x28x5 +5x20x7 +27x11x2 +15x20x4 +16x15x15 +19x13x7 +7x17x15 +27x24x15 +9x17x28 +20x21x14 +14x29x29 +23x26x13 +27x23x21 +18x13x6 +26x16x21 +18x26x27 +9x3x12 +30x18x24 +12x11x29 +5x15x1 +1x16x3 +14x28x11 +2x18x1 +19x18x19 +18x28x21 +2x3x14 +22x16x5 +28x18x28 +24x16x18 +7x4x10 +19x26x19 +24x17x7 +25x9x6 +25x17x7 +20x22x20 +3x3x7 +23x19x15 +21x27x21 +1x23x11 +9x19x4 +22x4x18 +6x15x5 +15x25x2 +23x11x20 +27x16x6 +27x8x5 +10x10x19 +22x14x1 +7x1x29 +8x11x17 +27x9x27 +28x9x24 +17x7x3 +26x23x8 +7x6x30 +25x28x2 +1x30x25 +3x18x18 +28x27x15 +14x14x1 +10x25x29 +18x12x9 +20x28x16 +26x27x22 +8x26x1 +21x2x12 +25x16x14 +21x19x5 +12x9x22 +16x5x4 +5x4x16 +25x29x3 +4x29x13 +15x16x29 +8x11x24 +30x11x20 +17x21x14 +12x24x10 +10x12x6 +3x26x30 +15x14x25 +20x12x21 +13x11x16 +15x13x3 +5x17x29 +6x3x23 +9x26x11 +30x1x8 +14x10x30 +18x30x10 +13x19x19 +16x19x17 +28x7x10 +28x29x4 +3x21x10 +4x28x24 +7x28x9 +2x4x9 +25x27x13 +6x12x15 +4x18x20 +20x1x16 +5x13x24 +11x11x10 +12x9x23 +1x9x30 +17x28x24 +9x5x27 +21x15x16 +17x4x14 +8x14x4 +13x10x7 +17x12x14 +9x19x19 +2x7x21 +8x24x23 +19x5x12 +11x23x21 +13x3x1 +5x27x15 +12x25x25 +13x21x16 +9x17x11 +1x15x21 +4x26x17 +11x5x15 +23x10x15 +12x17x21 +27x15x1 +4x29x14 +5x24x25 +10x10x12 +18x12x9 +11x24x23 +24x23x3 +28x12x15 +29x9x14 +11x25x8 +5x12x2 +26x26x29 +9x21x2 +8x8x25 +1x16x30 +17x29x20 +9x22x13 +7x18x16 +3x3x23 +26x25x30 +15x23x24 +20x23x5 +20x16x10 +23x7x8 +20x18x26 +8x27x6 +30x23x23 +7x7x24 +21x11x15 +1x30x25 +26x27x22 +30x28x13 +20x13x13 +3x1x15 +16x7x1 +7x25x15 +12x7x18 +16x9x23 +16x12x18 +29x5x2 +17x7x7 +21x17x5 +9x9x17 +26x16x10 +29x29x23 +17x26x10 +5x19x17 +1x10x1 +14x21x20 +13x6x4 +13x13x3 +23x4x18 +4x16x3 +16x30x11 +2x11x2 +15x30x15 +20x30x22 +18x12x16 +23x5x16 +6x14x15 +9x4x11 +30x23x21 +20x7x12 +7x18x6 +15x6x5 +18x22x19 +16x10x22 +26x20x25 +9x25x25 +29x21x10 +9x21x24 +7x18x21 +14x3x15 +18x19x19 +4x29x17 +14x10x9 +2x26x14 +13x3x24 +4x4x17 +6x27x24 +2x18x3 +14x25x2 +30x14x17 +11x6x14 +4x10x18 +15x4x2 +27x7x10 +13x24x1 +7x12x6 +25x22x26 +19x2x18 +23x29x2 +2x15x4 +12x6x9 +16x14x29 +9x17x3 +21x9x12 +23x18x22 +10x8x4 +29x2x7 +19x27x15 +4x24x27 +25x20x14 +8x23x19 +1x24x19 +6x20x10 +15x8x5 +18x28x5 +17x23x22 +9x16x13 +30x24x4 +26x3x13 +12x22x18 +29x17x29 +26x4x16 +15x7x20 +9x15x30 +12x7x18 +28x19x18 +11x23x23 +24x20x1 +20x3x24 +1x26x1 +14x10x6 +5x27x24 +13x21x12 +20x20x5 +6x28x9 +11x26x11 +26x29x12 +21x4x11 +20x11x17 +22x27x20 +19x11x21 +2x11x11 +13x5x7 +12x10x25 +21x28x1 +15x30x17 +28x19x1 +4x19x12 +11x4x12 +4x10x30 +11x18x5 +22x20x12 +3x7x27 +20x26x4 +13x27x26 +23x14x13 +4x19x7 +26x27x16 +20x5x20 +18x5x8 +19x21x1 +22x8x1 +29x4x1 +24x10x15 +24x9x20 +10x3x8 +29x30x3 +2x8x24 +16x7x18 +2x11x23 +23x15x16 +21x12x6 +24x28x9 +6x1x13 +14x29x20 +27x24x13 +16x26x8 +5x6x17 +21x8x1 +28x19x21 +1x14x16 +18x2x9 +29x28x10 +22x26x27 +18x26x23 +22x24x2 +28x26x1 +27x29x12 +30x13x11 +1x25x5 +13x30x18 +3x13x22 +22x10x11 +2x7x7 +18x17x8 +9x22x26 +30x18x16 +10x2x3 +7x27x13 +3x20x16 +9x21x16 +1x18x15 +21x30x30 +4x25x23 +3x11x7 +5x6x12 +27x1x20 +13x15x24 +23x29x2 +13x5x24 +22x16x15 +28x14x3 +29x24x9 +2x20x4 +30x10x4 +23x7x20 +22x12x21 +3x19x11 +4x28x28 +5x4x7 +28x12x25 +2x16x26 +23x20x7 +5x21x29 +9x21x16 +9x6x10 +9x6x4 +24x14x29 +28x11x6 +10x22x1 +21x30x20 +13x17x8 +2x25x24 +19x21x3 +28x8x14 +6x29x28 +27x10x28 +30x11x12 +17x2x10 +14x19x17 +2x11x4 +26x1x2 +13x4x4 +23x20x18 +2x17x21 +28x7x15 +3x3x27 +24x17x30 +28x28x20 +21x5x29 +13x12x19 +24x29x29 +19x10x6 +19x12x14 +21x4x17 +27x16x1 +4x17x30 +23x23x18 +23x15x27 +26x2x11 +12x8x8 +15x23x26 +30x17x15 +17x17x15 +24x4x30 +9x9x10 +14x25x20 +25x11x19 +20x7x1 +9x21x3 +7x19x9 +10x6x19 +26x12x30 +21x9x20 +15x11x6 +30x21x9 +10x18x17 +22x9x8 +8x30x26 +28x12x27 +17x17x7 +11x13x8 +5x3x21 +24x1x29 +1x28x2 +18x28x10 +8x29x14 +26x26x27 +17x10x25 +22x30x3 +27x9x13 +21x21x4 +30x29x16 +22x7x20 +24x10x2 +16x29x17 +28x15x17 +19x19x22 +9x8x6 +26x23x24 +25x4x27 +16x12x2 +11x6x18 +19x14x8 +9x29x13 +23x30x19 +10x16x1 +4x21x28 +23x25x25 +19x9x16 +30x11x12 +24x3x9 +28x19x4 +18x12x9 +7x1x25 +28x7x1 +24x3x12 +30x24x22 +27x24x26 +9x30x30 +29x10x8 +4x6x18 +10x1x15 +10x4x26 +23x20x16 +6x3x14 +30x8x16 +25x14x20 +11x9x3 +15x23x25 +8x30x22 +22x19x18 +25x1x12 +27x25x7 +25x23x3 +13x20x8 +5x30x7 +18x19x27 +20x23x3 +1x17x21 +21x21x27 +13x1x24 +7x30x20 +21x9x18 +23x26x6 +22x9x29 +17x6x21 +28x28x29 +19x25x26 +9x27x21 +5x26x8 +11x19x1 +10x1x18 +29x4x8 +21x2x22 +14x12x8 \ No newline at end of file diff --git a/2015/input/03 b/2015/input/03 new file mode 100644 index 0000000..a5954e7 --- /dev/null +++ b/2015/input/03 @@ -0,0 +1 @@ +v>vvv>v<<<^^^^^<<^^>v^>^>^>^>^>^<<^><<<^vvvv>^>^><^v^><^<>^^>^vvv^>^>^^<>><>^>vvv>>^vv>^<><>^^>^>><<^><><>^<^>>vvv>v>>>v<<^<><^v>^^v^^^<^v^^>>><^>^>v<>^<>>^>^^v^>>><>v^v<>>^>^<>v^>^<>^v^^^v^^>>vv<<^^><^^>^^<^>>^^^^^v^vv<>>v^v<^v^^<><^<^vv^><>><><>v>vvv^vv^^<<><<<^v^>vvv^<^>vvvv^>^>>^v^v>vv^<>><^^^>^>>v>^>v^<>v><^<^^^vv<^^<>v^v^vv<>>>>v^v<>><^^v>vv^^>v^v>v>v>>vv>^^>^v><<^<vv^^^v>v^^^>><^^>v>^^v>>v^^^<^^v>^v>><^<^<>>v<<^^vv>^^^v<^<^^vv^>>v^>><<<>^vv^<^<>v^^<<^><>>^^^<^vv<^^^>><^^v>^^v^^^^<^v<^<<<<^v^<^^<>^^>^><<>>^v><>><^<^^^>>vv>^>^^^^^v^vvv><><^<^>v>v^v^>^><><^<^><>v<><>^v^^v>^<<<>^v^>^<v^<>>^vv>v>>>^<^>>>>>v>>^v>v><>>vvv<^^><<^>^>v<^vvvv<^^^v^^^>v^v<>v<^^v>>><>v>v>>^^<^^v><<<<<^vv<^<>^>>>^v>^v>vv>^v<>v>v<^>>v>>^>^><^^v<><><^^>^^^^>vv^v^v>^v^^v^^v>><^v>>vv<>vvvv<>>^v^>^>>v^v^<<>>^v<^^vv^><>v>^>v><<<<<<<^>^^v^<<^^>>vvv^<><>><>^^v<<^^v<^^>v^>>>v^v>v^><>v<<>v>^^v><<<<><^v^v>>^<>^<<>^>v<<>><^<<<<^v>^<^v>v>vv^>v<^<<>v^v>><v>v>>v^vvv^^>>>v^<^<<^^<<<>v^<v<^^<>^>v>>v<>^>^^>>^v<<>v^^^>>>^vv<^v^>v>^><>v^^<>^^v^^vv^<^>^<<>><<^>^v>>><<<<><<^v>v^<^><^<>>v^>^^^<>>v<>>^>>v^><<>vvv><^>>v><>v>>^>v><<><<>^<>^^^vv>v^^>>^>^<^vv^>v^>^><^<^><><v<^^v^^<<<<^><^^<^><>>^v<<^<<^vv>v>>v<^<^vv>>v^v<>^>v<>^v<<>^^v>>>v^>^v^v>^^^v><^>vvv^<<<>v<>v>^>vv^<^^v^><^^^^^v<^>>vv^v^>^^<>>><^v^<v>^v>^^v<>>vv>>^v>>^<<<<^><<<><^^>>v<>^vvvv>v^^^>^^^>^<^^vv<^v^v<v^^<>^>^<^v>vvv><<^><><^^v<<><^^><>^v>^<><<^<^^<<>vv<>^^<<^>><<<>>vvv>^>v^^v^><<^>v>^>^<^<<>v<^>vv^v^v<>vv<vv<^>v^<>^vv^v^>>>v^v><^<><<>vv^>vvv^>v>>><^^vvv<^<^>>^^>^^vv>>><^v<>^v^<<>v^^^^>>^<^>^v<^^^^v>^>>v>^>^>>>v^<<^>^<<^^<>v<^v<^<>v^v>^^v^vv>vvv>v^<^>>vvvv<>>^^<>v^<><>v<^<>v<>^>v<>vv>v<^^>v>><>>^<^^<>>^>^>vvv^v>>^>^>v><><<>v<>^v<^vv^^^<>^^<<^^^v<>>v^>vvvv>^^v^>^>^<<><^^^^<<>^<>vv^<><^>^^<>v^<>>>v><>vvvvv>v>v^^>^<vv>>v<<^<>^^^v^<><>>^<<>>><>v>^>^^^^vv^^<<><^^<v>vv<<<^<v<>>^<^>^>>v>><^^<>><<<><<><^<^v<^^v<<>><<<<^>v^>v^v^<<>>v<><^<>><>>^><>v^v>v<<>v<>v^^><<>>>v<<>>>>^>v>>>>vv>v>^<^^^<>v^<^^v^vvv^>vv>^^<<>vvv<<^^<^>^>>v>v<<<<<>^^vv^>>v>^<^^v>>v>^v<><>^<^>v>v<<<^^^v>^<<<>vvv^v^^>^>>^>v>v<>^^><>>v>^>v<<<^^^v^><><^<^<>>^v>vv<^v<<^vv>v^<v>v>^v^>^v<<^v^vv>v^<<>>v<>>vvv^^vv^^v><^>v^vv<^^<<>v<><^><>^<><vv<>^vv>v><^^v<>><^v^v><><>>vv<>>>><<^>>><^^^vvv<<><>>>v<<<<<>v^^<<^vv^>vv>^<>^v^^<>^^^vv>v^^v>^v>^<>v^^^>v^^v<^>v^v^<>v>v>v<^^vv^v<^^^^vv<<><<^>>^^<v^>>^^^><^^>^v^v>^<^>>^v<>^<^>v>^>^v^<^^^<^vv<^^>>v^>^v^>>>>^v>^^<<^<^^v^<<<>>><>^<>>>v<<><<^^<^^>v^>^>v^v<><^^v>^<^v^v>>>^^<^^vv<<^><><^<>v>>>vv>><^^^v^^^v<^^v>v<>>^^<><>v>^^>>>><>v>^v>^vv^v>^>^^^><>^<<>>><<<><>^^<<v^>v>v^^^>^>^v<<>v>vv>><<^^^>>^><^>v<^<^v>><^^>v<><>^><<><>v^>v<><^^>><>^<^^v<^<><<<^^<><>>>^>v^<><^<<^vv<^v^v^v<>v^^v>v^<^>^vv^>>><<>v^vv^<>^v^><v^<><>>v^v^><>v^vvv^^^<<^<>v^v>^^><>v>>v^<>^>v>^>><<>v^v><^v>v>>><^<^^>vv<^>^<^>^^v><><^<<^^vvv^v>^>^<>>vv>v^^v^^vv<^^>><^v>v^<vvv<>>^v><<>^v<<<>^><^vv><<^^v<^vv<>^v>>>><<<<^^<^v>^<^^<^<^^>>^^v>^^^^v^^^<<>^^vv<><^<<><>^>v<>>v^^^>^v^^v^v>>>>>^v>^>^^v>><^^^v<<^^>^<^<^><^<<>v>v>^v<><^>vv^vv><^><>^><<^^>v>v>^^^<>v>^v^^>vv^vv<^^>><>^>^<>v>><>^v<v>^><^^^v^<<^v^>v^>vv>v^<>v><^v>v<>^v<>^v>^^<>vvv^>^<><^>><^<>^v<<^v^><<^<^v>^vv^v>v<^^vv<><>vv^>v<<>v>v>^^>>><<<^>^vv>>^^^>v<^vv<>v<<>>>^<^^^^>v<^^<>v>vvv^>v>v<^>^v^<>v>>vvv>^^><^vvv>><>>>^<<^>>v^^>>^><>v<^^v^<<>^<>>><^v^v>>>^vvvv^<><<>v>^v^v>v><^<<^>^^>v<^v^<^>v>^<v^<>v^<>vv^<>^>^>v^>^vv<>^^<<>>v<>^v<><><<v>v^>vv^><<<^v<><>^^v^^v^^^>^<>>>>^><>>v>>v<<>v<<<<<<<^v<<^^^v<^v<>v^^<<<^<>>v^vv^<^^<^^<<^>vv><^<^^v<<<^><^v<^><>v^v^^>>><<^<<^<>>^>>^<<<>>v>^v>><>v>>v>><>v>><^^>^^vv<^^<^>vv><<^>><<>^vvv><^v^>vvv^>>^<><^>^<<>>v^v>v<<>^>>^>v<^^<^<<>^^v^^v>v<>^<^^<v^^vvv^^v>^vv^<>v<^v^>^vv<v^<<^>^><^^<^^<^>vv^<>^<>^>^^<^v><<<^>vv^vv>v^v<>^^v^<^^^vvv^>v^<><>v>vv<^v^>>^v<^^vv>vv>^>><<<<>^><>>v<>>v>^v<^vv>^^>^<^<>v^v<^^v<^^>^^<>^^^^>^vv<^>><^>vv^>v^>^vv>^>v^^<>>^v<>>v<^>^v>vv^>^>>>vvv>vv>^><^v<<<>^^v>v^v<^^^v^^>^><<^^>^><^^^^^^^<^v<^>>vv>>^v^vv<>><>^>>>^^^^^><^<<^v<>vv^>>v<^vv<^v<>v<>^v^<<>>>>v^^>^vv<<><<>v^v<^<^>>^^><^>^><<><^<><>vv>>>>^><<^^^<^v^>^>^^>^<^><^^<^^<>><>><<<>^>^^v<>^<<>vv>^>>^>^<>>vv<^^vv<>v<>^^>^v^v^v>^^^v<<<^vv^><>^>^^vv>v^<<^><>>vv^^^^^>v>>v<<<>^<><^v<^v<^>^<>^vvv>^>v><<v>vv^<^^>v^v>^<^v^<^v<<^>^<><>^^<>>^^<^v^<^<<^>v^^>v^v^^^<^v<<^v>^>>^^^^^><<>v^><>v^^<^v<^<v^^^><^^^><<<<<>^<<^<>>v<^>><^^^<>>>>vvv>v<>>>v^v^v<^<<^>^<<>v>>^>^^><^><<^v^^<^<>v^v>vv<>>>>>>v<<>>^^>v<<<>^<<^><<^v>vv>>>><><>v^<^v><^>v>>^^^v<^>>^>>v<<^<<>vvv>>^v<>>^v><<<^v^v<>^vvv^^^<>vvv^^^>>v>^>^<><<>vv>^v^>>^<v><><<>^^><>^<<>^v<<>>v^vv<<>^^v^v^v><^>v>v<^<<^<^>vv>^v<<^>^>>v^<v^^v^^>><<<>^v>><>v<>><^v>^^v<<<<^v^vv<<<<><><^<^<^v><<^^v^<<<<<^^><^^>vvv<^><>vvv^v^>^>^^^v<<^<^^>vv^vv^><^v^<<>v<^^>^vv<<>^<<><^>v^<<^<>v><><>v<<^^><^^^v>>v>^vv>^v^^<><<<<<^>^v^<^<^^>^vv<^>v^^v^<>v<>v^v>vvv><><<><>vv^^>^^^<><^>^^^>vvv><>v<>>v^>v^^vv^>v>>>><^^>^v^v>>vv<^>><<<^>><^<^>^<^>^>>v^<^<>^<^^<>^<>>><^<^<^<<^><^^>vv<>^^>v^>>v>>>v<<^vv^<><>>>^^<^v^>>^>>><<^<>^>>^v>>><^^^<<^vv><><<>^^^<>^^^>><>>>^>vv>^<^<>>^<^^>v^>vv><><>>><><<^^v<<^vvv<><><<^v>^v<>^<^^^v^>^<^><^v>v>^v<>><^^v^^^^^<>>vvvv>>>>^<<><^v>vv>>^^><<><><^^^<^<^<<^v>^^^>>>>><v^^^<>>vv^^^v<><^>v>><<><>v<^><<>>><>v>^<>>^>v^v<<<<>^vv<<>>>>>vv<><>^<^v>vv^<>><<>^<>><^>>>><<>^^>><<<^^^^^v>>^<<>>vvvv<^v^vvv<<<^><>>>>vv^<^v>v<^<>^v>>^<^^v^>>><>^^<^v>>v<<>vvvv>^><>v^<>^<<^vv<^>>^v^>^^<<<^>>^^>^<^^<^<<v^^v^^<^v<^>>><<>vv<<^><^>vv<^>>^vv>>>^>>><^<<<>>^<<>><^<<^^^>>v^^>v<<<>v>v>v^<>>>^vvv><<^^<<><^v>>>>vv^^v^v<>v>v<<<<><<>vv<><^^^<>>v>>>>^^<><^<^v^>>^^v>^<v>^^>^v^<>>v^^<^v^^<<>^^>v^^>><<<<^<^^v>^^v>v<^>v^<>vv>>^^v>v^^>vvvvv<<>vv>vvvvvv>>v>>^^^vv^^><>v^^^^v>vv>v<^v>>>>^>^>^v>^>>><<>>^vv>>>><><<^<^><^vv^v>>>>>v>^>^^v^>v<^v^<^<v<>>^vv<<>^v^v>><><<>>v^^<<>^^<>v<<^^<^^>^^>^<^><>>v<>>^^<^>><<>>^v^>v>v<<^^<<^>v>v^^v^^<<>^v>v>v<^^>^v<><^<<v<^<<<<^^>v^v^^><<><^^^v^^>>>vvv><>vv<>>^^v^v<<^>v^^v^>vv>^<^^<^v^^<^^v<<>>vv<^>>^><><>v>>v<>^<<>>> \ No newline at end of file diff --git a/2015/input/04 b/2015/input/04 new file mode 100644 index 0000000..fe1c591 --- /dev/null +++ b/2015/input/04 @@ -0,0 +1 @@ +iwrupvqb \ No newline at end of file diff --git a/2015/input/05 b/2015/input/05 new file mode 100644 index 0000000..afc7b3d --- /dev/null +++ b/2015/input/05 @@ -0,0 +1,1000 @@ +rthkunfaakmwmush +qxlnvjguikqcyfzt +sleaoasjspnjctqt +lactpmehuhmzwfjl +bvggvrdgjcspkkyj +nwaceixfiasuzyoz +hsapdhrxlqoiumqw +lsitcmhlehasgejo +hksifrqlsiqkzyex +dfwuxtexmnvjyxqc +iawwfwylyrcbxwak +mamtkmvvaeeifnve +qiqtuihvsaeebjkd +skerkykytazvbupg +kgnxaylpgbdzedoo +plzkdktirhmumcuf +pexcckdvsrahvbop +jpocepxixeqjpigq +vnsvxizubavwrhtc +lqveclebkwnajppk +ikbzllevuwxscogb +xvfmkozbxzfuezjt +ukeazxczeejwoxli +tvtnlwcmhuezwney +hoamfvwwcarfuqro +wkvnmvqllphnsbnf +kiggbamoppmfhmlf +ughbudqakuskbiik +avccmveveqwhnjdx +llhqxueawluwmygt +mgkgxnkunzbvakiz +fwjbwmfxhkzmwtsq +kzmtudrtznhutukg +gtvnosbfetqiftmf +aoifrnnzufvhcwuy +cldmefgeuwlbxpof +xdqfinwotmffynqz +pajfvqhtlbhmyxai +jkacnevnrxpgxqal +esxqayxzvortsqgz +glfoarwvkzgybqlz +xdjcnevwhdfsnmma +jyjktscromovdchb +pvguwmhdvfxvapmz +iheglsjvxmkzgdbu +lwjioxdbyhqnwekv +zcoguugygkwizryj +ogvnripxxfeqpxdh +hkvajhsbfnzsygbm +cnjqeykecopwabpq +wojjtbcjinoiuhsj +kpwpvgxbyzczdzjq +wrvhylisemlewgzk +uiezkmnhilfzahtm +mucteynnuxpxzmvt +zaiwbgxefusfhmst +apptbogpxivjwink +qryboarjtwjhjgjb +irehxupgyseaahzd +fobstqxguyubggoh +ysriumfghtxtfxwe +auchdmasvfeliptw +mztuhefcrnknyrdl +tyjmkhihbwabjtaa +yquzkdtgsljkaebw +almvdvofjtkyzbmd +emqftiuqqpdwwbrv +hrrhmqfpepvbawvw +atrkgykycvgxbpyb +dhthetnealksbdan +zzqafhgicubptiyo +qdtaieaziwhbttnw +kyskgapdgqrtrefw +edwzlpqztpydmdlr +awszjnlmvlyqsuvl +kcrtmtshtsgixvcp +jtaskgkijivbbkri +mmggfwapsetemiuj +itagrrnjbnmhgppd +uqmbezechbrpbnqq +nnyimvtascflpzsa +knqeimypkdttyudj +vgoiyvtvegwyxjjd +qubzdxsbecktzrho +zehojtvktsbbxijb +xepmjrekwcgoxyoh +bnptxnocbpbqbyeq +sfvynsywscbnymos +dsltfbpcmffbluba +kncrlzlmkikylppa +siwudrvmildgaozv +jhhefbvbvneqzvtc +lqjgztxitbuccqbp +himmwlbhjqednltt +vwognchyertnnfil +eejakhapkbodrntf +qxuijkkhhlskgrba +aankpfxxicfpllog +vuxykvljyqexfhrn +epgygflbxlbwybzq +zuxmwvetmvcszayc +xttwhfqmemgtjnkf +hftwldmivyfunfvl +bejlyxfamzliilrj +zkehazcxyyvtrxti +dsgafehmcfpycvgz +igremmqdojqdvwmb +swnjzvmhcslvkmiw +fchzbfbmtqtxmaef +xwjmyyrlznxrcytq +brwcwzpcvbwdrthl +fvrlridacsiojdmb +mhsturxdlmtxozvy +usxvqyrwywdyvjvz +gwazuslvmarfpnzm +rgkbudaqsnolbcqo +dpxvlbtavdhdedkj +nnqmjzejhodyfgyd +ozoazxkfhujgtzvy +psdgvhzdiwnuaxpl +tznkilxpogbzgijz +wnpytcseirtborhh +lhauurlfsmagfges +oqfbzixnlywkzwwy +yoehapoyjpakziom +vtjftdcsfdzbmtrn +zcshfnodiwixcwqj +wapbxpaxgjvtntkm +qfyypkyvblrtaenh +bsxhbxkovgukhcza +kitdmvpiwzdonoyy +slkbhxmehzavbdsf +dovzjouqkzkcmbkl +qpbigdcqkfnfkxvq +eaiaquhnesvtcdsv +mhbezlhqojdsuryj +dqprkkzxlghkoccx +xqepmorryeivhrhm +frwmrjpezwmjflvf +gjpfgwghodfslwlf +fzyvajisdjbhfthq +pvzxkxdscdbilrdb +mtaxmqcnagmplvnm +rlyafujuuydrqwnc +gvqvrcxwyohufehq +lmrkircgfrfusmfd +ovlpnkxcpimyaspb +xhyjremmqhdqywju +pxfczlhpzbypfarm +utjhprzhtggausyp +utzkkzlnyskjtlqh +cecbcnxpazvkedic +xwvoaggihrbhmijq +krredhmtwlfmyagw +lwfhxgbknhwudkzw +vyczyvuxzmhxmdmn +swcoaosyieqekwxx +waohmlfdftjphpqw +gaclbbfqtiqasijg +ybcyaxhluxmiiagp +xgtxadsytgaznndw +wzqhtjqpaihyxksm +fdwltsowtcsmsyhm +rpoelfbsararhfja +tswgdacgnlhzwcvz +xjgbhdlxllgeigor +ksgthvrewhesuvke +whgooqirdjwsfhgi +toztqrxzavxmjewp +hbkayxxahipxnrtl +lazimkmdnhrtflcu +ndoudnupbotwqgmr +niwuwyhnudxmnnlk +hlmihzlrpnrtwekr +wzkttdudlgbvhqnc +rfyzzgytifkqlxjx +skddrtwxcyvhmjtb +mljspkvjxbuyhari +xwkhozaoancnwaud +nookruxkdffeymdz +oiqfvpxmcplyfgoa +qoxggshmrjlzarex +lsroezewzkrwdchx +nkoonmvdydgzspcl +lygxeqztdqklabov +jempjyzupwboieye +hpdaqkhjiddzybly +cvcizjlnzdjfjlbh +vaaddsbkcgdjhbkj +pjxmtxoyrkmpnenf +ujqdvyqnkbusxlps +miyvzkzqploqaceb +gapcsbkulicvlnmo +xqpcyriqhjhaeqlj +ipumdjwlldzqhmgh +swdstecnzttmehxe +ucmqordmzgioclle +aywgqhmqlrzcxmqx +ptkgyitqanvjocjn +wcesxtmzbzqedgfl +rnetcouciqdesloe +chpnkwfdjikqxwms +onpyrjowcuzdtzfg +tydnqwaqwkskcycz +dhamguhmkjzzeduy +oecllwyrlvsyeeuf +gsukajpoewxhqzft +sgdnffdixtxidkih +pqqzjxzydcvwwkmw +wnjltltufkgnrtgm +hylaicyfrqwolnaq +ovfnugjjwyfjunkm +xknyzsebmqodvhcl +uwfmrjzjvvzoaraw +zaldjvlcnqbessds +zphvjuctrsksouvz +ceqbneqjwyshgyge +wmelhaoylbyxcson +nghuescieaujhgkj +dhjmflwwnskrdpph +exvanqpoofjgiubf +aidkmnongrzjhsvn +mdbtkyjzpthewycc +izctbwnzorqwcqwz +hrvludvulaopcbrv +mrsjyjmjmbxyqbnz +sjdqrffsybmijezd +geozfiuqmentvlci +duzieldieeomrmcg +ehkbsecgugsulotm +cymnfvxkxeatztuq +bacrjsgrnbtmtmdl +kbarcowlijtzvhfb +uwietqeuupewbjav +ypenynjeuhpshdxw +fwwqvpgzquczqgso +wjegagwkzhmxqmdi +vocvrudgxdljwhcz +nnytqwspstuwiqep +axapfrlcanzgkpjs +lklrjiszochmmepj +gxadfpwiovjzsnpi +qidsjxzgwoqdrfie +wgszciclvsdxxoej +kwewlmzxruoojlaq +ywhahockhioribnz +ucbqdveieawzucef +mdyyzmfoaxmzddfv +hsxnabxyqfzceijv +vivruyvbrtaqeebr +jxfeweptjtgvmcjc +mmypqxmpurhculwd +mpiaphksvctnryli +xqzqnuxmuzylkkun +fndmtefjxxcygtji +dnorqlldvzqprird +nutokyajmjpwjaqu +vlupfperqyqkjcaj +dgihjeokrphkpdnk +nvbdyrlheqzixuku +mhrkntnxvsmvrpka +kvhkyanlhhymwljf +fhipumtegqfgeqqw +vpfjgveycdefuabu +kzincljffncylcsf +tsezxymwmjtyegqw +wxhcdrqedkdcwxli +ueihvxviirnooomi +kfelyctfvwyovlyh +horzapuapgtvzizz +iiqkdpmfvhwwzmtj +rsaclclupiicstff +quwkkhrafypkaoum +gyrgkgmwqfkeudfe +noydhbqacwptyfmy +efwwuipzgtkwffhf +suyojcitomdxsduh +lbcxnsykojkufkml +zpglsvoutvzkgdep +usgrufyvgsbsmbpr +katrrwuhwvunjqor +btngwrpcxoyfbgbc +bxjscjdiowjrkpns +nwxvnfrnlkgqxvhf +ikhyqkvljucgdlag +xibnxsjopmxvflkl +mzplumcfivqcjqnz +jqflcxoxzlbwlxry +fcscvmfepdxrshxe +wlpffwunffklzbuc +emvrlqajjgwzfmle +rhaheurtzrfoqkyq +ifuuhpxmadaysfsx +ncyfvleyzqntpcoo +zeogmyaqccmtvokd +jqppbzebppdnpurn +xixarswxsiwjzgni +ezruwzajsoombphs +hmiqfeizyprielxf +jnaoxljnftymsfey +extgzrxzovlsixnf +yhyfmovvlrwoezsv +ffnybaolppuzpjym +pqowimdiusccaagn +jgceiosiihpjsmnu +hkoexeaopebktngx +njhzuvsygymejqav +yjkgcclgtvushcfk +gmbjxhnkkxlihups +pdlwysadiebsidjz +omrwmgzulfoaqros +ofvvgdezwvcffdcy +otytpuklhxcpxhgd +eyfaosxdauumvlux +mvdthjfstrlqlyuo +mdgdchgnlxaxspdm +bakjezmhbwqxzevd +msakswaphdwaodhg +vjcqscgdbnsxdllh +jjywaovewbuzreoj +nqvplhwacylifvwk +lpwmpixbxysmsign +flcvbpxrchcpbgcb +qjpkeuenenwawlok +bnqkflfmdmntctya +fzsgzpoqixvpsneq +icwfdisutoilejld +relchofohnkwbumi +aljalgdaqwhzhfwr +cahkvnwnbwhodpqs +dnrzeunxiattlvdm +nsmkhlrpwlunppjs +mqqsexlwfqnogwub +tfavelkqrtndpait +ooguafrnmprfxcnz +ntynkiordzxtwrqa +rkkyzlxekqqlkvym +ofxcivdnwcmgfnme +ywotqwbrqxlrnobh +nrbbiypwhrqihvev +flqsjixxtydheufs +lcfrfzypstrqctja +hyzbuzawuzjrynny +exfbywcnstebnvmq +vydzwnbmcihvqrnj +qmwqaaylinzrdmiw +lpxpztpvfggspeun +lhxmqqbracsuyrfm +zgkwsrabaseidbrw +yjlmbhbqsqgszsun +mqfzqtbxtuteabtd +izomzdmcqmfrevwd +iqijrlqurdwrkoln +fxhqzpgoxxjkkhql +oulwontmgrjeopnk +edaigfydjexvzzvj +vjhybiklxpxjqpwc +ypxfbfnpbmqmwtte +xzvcsgasztrxdzud +rpulqmobptfarboo +palacmdijxzzykrf +jmllwukplufohiby +dnswayomusiekfmy +sxbrjqtqgzzwhcfo +lylvndsgbnbqiejm +jaxxhoulxnxnaenr +nblissutfazbcpwn +zmlsjszzldvbiacr +kewojtlchfkclqwk +eqvfjasddggvfame +yibzqlvxtraxpdon +dgnbxsbmdrtyvaac +uoxrcxfimhgtxqhy +xfdxalrwcwudlviq +xmtbdklqptoswpwl +zezyopzdztdjerfl +xuzluhjsqvhytgbc +qdjtmeckispmgzki +phakupesplzmmmvc +gpuoqfffumzszybn +bhywxqkrrlwuebbw +ibvwgoyvelzenkzl +ncohvvbmiekbaksa +fzuvqzvxvdbeirrp +lshtzniokucwojjd +punrduvlnrulkium +gnfpikidnfobrrme +vxkvweekmnvkzgyl +rhydssudkcjlqgxn +cjtqvlaahohcgumo +jwzmfyinsfwecgcb +blpeseqhlzfilpuf +jvtpjkyokzcvagon +qjomincbcobjczpe +ugsyzkzgdhxtmsfz +hleaqgwzqjwajcra +coumfghptpnxvvov +hqpnbupnzwpdvgqd +cpouyodqxgviasem +lljvxeyozckifhfd +huqtnvutdyfgwtwa +yenlveuynmlmmymu +ojdyufkomxiwjmbf +spjzgvcwvzgffjkk +vxykmjhyvmhyssbp +tazdeqggfcjfvwwn +uumwcngwcytvpufx +avovuzkrevloneop +owczrtbnrvjfemkt +hzpugcanaxyvaokj +iishlodnxvjtgzyn +qosdonclrnxirham +eonqlnwevahydddg +ryqmnuikftlxuoqy +whqepbcwabzbthha +vekisvnwhgpyemxr +lrwxzoamnvpnlhap +ywepvqthnorfswjv +evqwvsoazmwyypjy +bgwoojddubppmjxf +jypkfrthzgtyeddi +tynabbhfjzkrqsju +adxstbfqheuqbcuk +gqwqiocdyqoiblrx +ybuddlyuskdlegxv +luwynbsmpgyeqsbr +ltyqgqoyljibqndo +jaedpajzphfybajh +epglnrxofptsqvmy +zjdpxkngfkstxbxh +ekegphcwanoickfu +cqvhuucvejqirvfs +uqudnnqumsqcgefo +qnzunermlnpcfflo +ovyxaniqaawzfuxx +djekxcezjowdhopq +bwtwbmdehrhpjnlk +nilsnlacerweikfa +hyrigsrmsrzcyaus +gvmdmgddduylmxic +ewzovdblhmjgjwsk +ojjfsknlonzguzlq +yjgfruvpjvlvrvvq +cyoryodwyhzwprbv +crsjclrurcquqgut +sjhfhobwtojxcmem +ibxfjudilmdeksea +uqbhdbjoeupyhbcz +uqbxigzxuxgmjgnw +jashafmtzrhswirg +dexiolovaucyooka +czjbwwnlwcoqnoiu +ojigosazigfhttjc +zfiqtgrqbmftknzn +dlzbmvmolssbqlzl +sgmchcurrutdtsmw +scdwjqsdohcdrwry +cgtdvecqwplpprxn +iiplenflfczaktwi +wmgnwfxfcjhyeiqg +giihshowtcatecvl +nqhzfincclumvkaz +kxstpzgdfvepionc +agbhxcijxjxerxyi +hmgfqevgdyvisyvs +tthakmvpowpvhtao +ottalcghygpaafbo +aplvozayycremgqg +dbjxlnaouxqtdpfz +peeyallzjsdvpalc +ndtdjyboixuyhfox +llabnbcobexfoldn +cweuvfnfyumbjvxr +ewkhhepaosalnvkk +pivyiwsiqpwhagyx +auzsnwdcerfttawt +grbfrekupciuzkrt +byfwzadtzrbndluf +lluypxjeljzquptk +pskwsnhqanemtfou +sxvrtqqjdjkfhhrm +ulsmqgmshvijyeqh +qigofesfhekoftkf +zhatniakqtqcxyqa +uuczvylgnxkenqee +mlitvtuxknihmisc +srrtrxdvcokpyfmz +osispuucklxcfkeb +vqhazlaulmnpipql +umkiueljberqhdig +knvpbkbvgoqzwprp +nbsocqikhuvsbloj +wjnpepjkzkednqbm +agbhmytsofuyqcor +gvogzhkkpxyfecko +ardafguxifeipxcn +yiajcskbgykyzzkw +sejunbydztyibnpq +dqrgfggwcnxeiygy +xnqqwilzfbhcweel +jjtifhlvmyfxajqi +gwszrpgpmbpiwhek +kydzftzgcidiohfd +efprvslgkhboujic +kecjdfwqimkzuynx +rildnxnexlvrvxts +dlnhjbqjrzpfgjlk +qluoxmzyhkbyvhub +crydevvrjfmsypbi +dosaftwumofnjvix +pwsqxrfwigeffvef +nzyfmnpwqyygjvfx +iccbckrkxlwjsjat +bmputypderxzrwab +bhuakynbwnlreixb +qmrzfyqjiwaawvvk +juvtixbkwyludftn +zapmjxmuvhuqlfol +paiwrqjhpjavuivm +tsepfbiqhhkbyriz +jpprewufiogxoygk +mmapyxbsugcsngef +pduhmgnepnpsshnh +aetndoqjvqyjrwut +fnfvlorhwpkkemhz +gedfidpwvoeazztl +beclvhospgtowaue +wsclsvthxustmczm +tjbxhnpniuikijhe +rhetyhvfcemponeg +mavonujurprbeexi +argbrpomztrdyasa +bzvtffbtygjxmkvh +maqyqkhsqgzfzvve +seeirbiynilkhfcr +wxmanwnozfrlxhwr +dieulypsobhuvswb +nxevassztkpnvxtb +jclxuynjsrezvlcy +xlolzyvgmwjsbmyf +tguzoeybelluxwxc +fkchoysvdoaasykz +cyynwbfcqpqapldf +rhifmzpddjykktuy +ndvufsyusbxcsotm +txutnzvdsorrixgg +qjoczhukbliojneu +ufhwujotncovjjsz +kclsgsdwcrxsycbr +yscwmlrdaueniiic +nxhivrovpkgsmugb +fdxqfyvwwvgeuqkv +femtamfylysohmpr +amsyzslvyxsoribh +nhmqxncwsonhgbcz +uomqsvcbpthlmcue +kxtfapcqrnjkkslj +xtieihonlfubeync +adpcjqxgydulchgj +cjynnzsmmujsxxpd +neeapmzweidordog +szoivgqyqwnyjsnk +uwgrtzaqezgphdcu +ptpgttqxocjwxohi +fhltebsizfwzpgpf +emmsazsidspkhgnh +dxcprkbcjeqxqzgn +tpxzqwxbzwigdtlt +afsmksnmzustfqyt +xyehnftstacyfpit +vcrfqumhjcmnurlw +rrznpjzcjgnugoch +gbxnzkwsjmepvgzk +jwobshgwerborffm +zmuvfkhohoznmifs +buyuwgynbtujtura +bevncenmpxfyzwtf +hqqtcrhzfsrcutjh +kbpzshllpiowepgc +alspewedcukgtvso +xvsvzzdcgjuvutrw +pmwulqraatlbuski +abuzsiinbueowpqn +oedruzahyfuchijk +avhcuhqqjuqkesoq +azqgplkzsawkvnhb +rjyoydogkzohhcvx +aezxwucqvqxuqotb +kxobnsjvzvenyhbu +nnjoiilshoavzwly +aijttlxjrqwaewgk +cvsaujkqfoixarsw +zngtoacpxcsplgal +qhkxliqtokvepcdv +aixihrtdmxkfvcqw +owbgdgdymxhhnoum +tajsagmruwzuakkd +ckrfduwmsodeuebj +alfdhuijuwyufnne +xpchlkijwuftgmnm +rwcrvgphistiihlg +xdaksnorrnkihreq +akeschycpnyyuiug +rgputhzsvngfuovz +lerknhznuxzdhvre +mqiqmyladulbkzve +csnmupielbbpyops +kwgrwgmhfzjbwxxz +npwtvbslvlxvtjsd +zxleuskblzjfmxgf +hexvporkmherrtrn +rhtdhcagicfndmbm +qhnzyuswqwoobuzz +dpvanjuofrbueoza +kjcqujmnhkjdmrrf +gholddsspmxtpybg +jihlvyqdyzkshfsi +zuviqmuqqfmtneur +kzexjowatvkohrtx +wgijnfhibsiruvnl +zevkrkmhsxmicijb +khxrcteqourjvoxa +ylpxlkcnenbxxtta +zrfsvctbojjkpvtw +nlzbudxibnmcrxbt +cqnscphbicqmyrex +ywvdohheukipshcw +riwatbvjqstubssf +idlztqqaxzjiyllu +sdpdgzemlqtizgxn +rjtbovqlgcgojyjx +fnfrfwujmjwdrbdr +osnppzzmrpxmdhtj +ljhwngclvydkwyoe +chwqkrkzrvjwarat +jmydkwpibkvmqlgs +zvhfmbxnlxtujpcz +jsnhsphowlqupqwj +fzhkkbpasthopdev +jerntjdsspdstyhf +gctwmaywbyrzwdxz +xemeaiuzlctijykr +xulrqevtbhplmgxc +yfejfizzsycecqpu +gboxrvvxyzcowtzm +lpvhcxtchwvpgaxp +wdiwucbdyxwnjdqf +qgwoqazzjlvnjrwj +prtlnkakjfqcjngn +fagvxsvjpuvqxniz +xacmxveueaakfbsm +ginvtonnfbnugkpz +qpvggsppewfzvwin +reoqnlzruyyfraxa +kolwtqhifjbbuzor +vrkcywvdhdprztww +ngdvyfmvjqhbzbxt +rooxeoilqzqjunmp +efxmdprtogtxgyqs +qrhjuqndgurcmwgu +ouitjprueefafzpl +kirdwcksqrbwbchp +fpumsmogojuywezo +lgjrgykywugzjees +xigioqcpjabpbdas +ewkhuprpqzikmeop +fgrgxsqeducigxvr +bclkursnqkzmjihl +jozidniwvnqhvsbc +oghcilcyozrmmpta +xbgmaungzcpasapi +iqowypfiayzbcvhv +opdehgwdgkocrgkf +zfzvdjeinlegcjba +vhakxvlcayuzukap +xyradgyiebpevnwe +eamhtflgedwyshkn +igteqdgchjeulfth +kwsfkigxzpbgdxod +vapnpsbdboiewpzp +wbuqhjsngxpqshen +vxxilouxuytitwgm +cpnwlkwnkeanqnet +wdmbtqvvlowftvgb +wjtmcecpyqzwpbqg +jnxmoxdhvsphcdeg +wabxfxpotoywwodn +mwbsoxzlqpqobvvh +coktshbyzjkxnwlt +rzhnggpslwzvyqrp +dgzuqbzarbutlkfx +wunajaiiwgijfvjh +uotdbcgmsvbsfqlb +kxdtlgmqbccjqldb +ngmjzjwvwbegehfr +cvpsabqfpyygwncs +wqluvqlhdhskgmzj +rbveperybfntcfxs +fbmoypqdyyvqyknz +zxpgzwnvmuvkbgov +yexcyzhyrpluxfbj +ltqaihhstpzgyiou +munhsdsfkjebdicd +plecvjctydfbanep +kjrxnnlqrpcieuwx +zbcdtcqakhobuscf +kgovoohchranhmsh +llxufffkyvuxcmfx +tgaswqyzqopfvxtw +kojcqjkdpzvbtjtv +xggdlkmkrsygzcfk +vvitpsnjtdqwyzhh +gcqjuwytlhxsecci +vbsghygcsokphnrg +vejqximdopiztjjm +hudqtwmwkviiuslp +vwswfvpcwwpxlyry +gxmfiehdxptweweq +qjmekjdcedfasopf +pqyxdxtryfnihphf +felnavctjjojdlgp +hbimufguekgdxdac +dhxhtnqgfczywxlr +pssottpdjxkejjrh +edieanguabapxyig +sciinanyqblrbzbb +irxpsorkpcpahiqi +qsxecaykkmtfisei +ivfwlvxlbnrzixff +hqxzzfulfxpmivcw +vvbpaepmhmvqykdg +cetgicjasozykgje +wuetifzdarhwmhji +gaozwhpoickokgby +eldnodziomvdfbuv +favpaqktqaqgixtv +twbcobsayaecyxvu +lzyzjihydpfjgqev +wnurwckqgufskuoh +fxogtycnnmcbgvqz +aetositiahrhzidz +dyklsmlyvgcmtswr +ykaxtdkjqevtttbx +kfmnceyxyhiczzjm +nnizopcndipffpko +yjmznhzyfinpmvkb +sljegcvvbnjhhwdd +zmkeadxlwhfahpwg +rwvcogvegcohcrmx +aguqwrfymwbpscau +vlusytjagzvsnbwe +smvzhburcgvqtklh +rfuprvjkhazrcxpv +megqlnoqmymcrclc +gvldhkewtmlwqvqv +awynhvtyziemnjoa +voprnvtnzspfvpeh +dhlguqwmunbbekih +goayirdhnjrfuiqi +eoghydfykxdslohz +chpippjykogxpbxq +hqbycjweqczwjwgf +pvefsrvwumrlvhmt +eghwdovaynmctktk +crwkxoucibumzawc +bzbtahvhkdigvvtj +bnbptgihhfubxhho +ddqmbwyfmfnjjaro +gvtswqyzazihctif +vmqctjpgadxztqqb +dgnndowtpeooaqqf +sxdvctfdtalufxty +ylgeexosibsmmckw +sxplpyskbpqnojvw +coarhxtsvrontyeg +fyoaurggjupvzvlv +jlyrkqsiwuggvjem +uwbsjoxonreuucyi +gihuqvwxovbgokes +dxzaaxupbcgnxcwf +gidrgmvyrlqqslve +csflmlvqmonoywpx +jkxkpixlythlacnk +ejkarcdkdslldugv +dbzmsusevohhjkmr +cbrqzualjpdtworc +kpgidqlmcbpfmmwu +zwghjuofexfowqam +ncdlxmcrsmsocetz +kfprzqacefifjkbd +swwzivrxulkhvldc +wgqejhigbjwunscp +rsstnwcyybfauqxu +qhngfxyhdqopyfgk +zrndpyyejsmqsiaj +xxknxwpvafxiwwjc +mmaahwgoiwbxloem +tabacndyodmpuovp +yriwomauudscvdce +duvyscvfidmtcugl +mgipxnqlfpjdilge +imeeqcdetjuhfjnw +dvkutrdofpulqkyh +jefvtlktxegpmbya +iyzudqgpvlzjfydh +giohapxnpaqayryd +qheqdprmnqlpztls +rdxhijmzegxkotoq +hdnmaspumdwnrcdz +wafpbgehbuzdgsnc +tbtrfztsferdmhsy +vusndcyjngtkrtmk +ilqblestzxebcifh +urfgjbjgzlrfsdlv +aptcdvpsqwleqttn +bigczjvzokvfofiw +zjnjeufonyqgkbpx +trcdebioegfqrrdi +jrdvdriujlmbqewt +jqrcmuxpwurdhaue +yjlermsgruublkly +zwarvgszuqeesuwq +xthhhqzwvqiyctvs +mzwwaxnbdxhajyyv +nclsozlqrjvqifyi +gcnyqmhezcqvksqw +deuakiskeuwdfxwp +tclkbhqqcydlgrrl +qbpndlfjayowkcrx +apjhkutpoiegnxfx +oaupiimsplsvcsie +sdmxrufyhztxzgmt +ukfoinnlbqrgzdeh +azosvwtcipqzckns +mydyeqsimocdikzn +itfmfjrclmglcrkc +swknpgysfscdrnop +shyyuvvldmqheuiv +tljrjohwhhekyhle +dayinwzuvzimvzjw +qgylixuuervyylur +klqqaiemurawmaaz +hdmzgtxxjabplxvf +xiivzelzdjjtkhnj +ktgplkzblgxwrnvo +gvbpyofzodnknytd +lqhlmnmhakqeffqw +ltzdbngrcxwuxecy +obxnfjeebvovjcjz +zexpwallpocrxpvp +tjpkkmcqbbkxaiak +qiedfixxgvciblih +qcxkhghosuslbyih +gnsfidwhzaxjufgm +xrghwgvyjakkzidw +tftftwedtecglavz +wquqczzkzqrlfngr +twibtkijpvzbsfro +bmplypdsvzuhrjxp +zanrfmestvqpwbuh +zonrhfqowyimcukm +kpvajjfmqpbhrjma +kujzluicngigjbtp +iusguantsrwxdjal +kwxeuylcnszswahw +visdhnkobxnemldu +rogeadmmaicwtabl +pxqycifbgevqudvs +osaiozyvlyddylqr +vffjxrolrpuxcatx +jbmsetccdrywssjd +qgxyhjfpbfifmvgc +npejgalglldxjdhs +mbbtqgmttastrlck +whapaqwdtpkropek +dulbdboxazfyjgkg +xaymnudlozbykgow +lebvqmxeaymkkfoy +bmicnfuubkregouj +dieatyxxxlvhneoj +yglaapcsnsbuvrva +bbpjaslqpzqcwkpk +xehuznbayagrbhnd +ikqmeovaurmqfuvr +ylyokwuzxltvxmgv +hqtfinrkllhqtoiz +pjmhtigznoaejifx +fqdbmowkjtmvvrmx +uvqtqfoulvzozfxv +rpajajukuxtchrjd +sznucejifktvxdre +ufvibsmoushmjbne +xirdqoshngthfvax +iafpkddchsgdqmzl +vmualmlduipvykzh +fnmuahmblwyceejb +ilsaapnswfoymiov +lenvylifraahaclv +cukqxlipuyxedqfh +zgwecslpniqvtvuz +cdcdfpsxuyrhsmag +dszjinhantnxgqra +ioimwotsgnjeacgt +dqcymnvjystbynhp +yibaudyfefbfgunx +cabslcvunjavqkbf +goymzvmgkvlsmugf +zxteiitpthzskjjx +agnxcnaqhjhlurzs +cvmgyxhhnykuxbmb +cgqmjexydmvgwxpp +sygjajofieojiuna +clpvxbrbjvqfbzvu +cbntswqynsdqnhyv +bztpbtwbefiotkfa +pnxccbgajvhyeybu +asyzrvgzumtuissa +facjyblvcqqginxa +rvwnucnbsvberxuv +ghrbeykzrxclasie +ekujtselepgjtaql +krtrzsmduhsifyiw +ticjswvsnyrwhpnt +clmjhsftkfjzwyke +lbxlcixxcztddlam +xhfeekmxgbloguri +azxqwlucwhahtvep +kitdjrwmockhksow +keznwwcusgbtvfrs +ljvzxoywcofgwajj +vebjnhnkcfzbhrcw +eqfcxkavstxcuels +ldattkyawjrvcido +bsqqeilshcwtqyil +foqqsxahfiozcqrw +liswfmuhzfbyzjhf +sulbdcyzmolapfbs +zuggzkelwxjpsgxb +betioxrgtnhpivcw +xmtbixstdipibhgs +ttvurgqmulryyaji +viobnljznzppfmxw +qlzabfopydtxrlet +tusvydegfxhaxolk +thoufvvfjferxhwp +cfyyzppfarjiilbs +jwmhxtgafkkgseqs +pqwuuaxbeklodwpt +vndyveahdiwgkjyx +ssrjgasfhdouwyoh +thbavfcisgvvyekf +yjdvxmubvqadgypa +tlbmcxaelkouhsvu +bonohfnlboxiezzr +rktlxcbkhewyvcjl +rsmoutcbcssodvsc +qszdratuxcrhsvoh +eypyfahpuzqwzwhi +yhkrleqmqlmwdnio +vpnvxusvmngsobmq +hkzyhopvxrsimzys +dblriiwnrvnhxykl +xkriqxkrprjwpncs +rcymltrbszhyhqti +mzbvneplsnpiztzn +vkqtnptgbqefvfoc +nwdtfiaozkcjtlax +crximadpvdaccrsm +lrbajafxwwnxvbei +rbexzesrytpwwmjf +stxwjarildpnzfpg +btamaihdivrhhrrv +acqbucebpaulpotl +dkjhzghxxtxgdpvm +rsbzwsnvlpqzyjir +mizypbwvpgqoiams +nvrslorjpqaasudn +wvexcpzmconqkbvk +rfwfumhjwzrvdzam +eaghdaqorkhdsmth +gtuntmpqaivosewh +nzlsmdgjrigghrmy +dhuvxwobpzbuwjgk +kkcuvbezftvkhebf +aeediumxyljbuyqu +rfkpqeekjezejtjc +wkzasuyckmgwddwy +eixpkpdhsjmynxhi +elrlnndorggmmhmx +ayxwhkxahljoxggy +mtzvvwmwexkberaw +evpktriyydxvdhpx +otznecuqsfagruls +vrdykpyebzyblnut +cnriedolerlhbqjy +uajaprnrrkvggqgx +xdlxuguloojvskjq +mfifrjamczjncuym +otmgvsykuuxrluky +oiuroieurpyejuvm \ No newline at end of file diff --git a/2015/input/06 b/2015/input/06 new file mode 100644 index 0000000..5fcc942 --- /dev/null +++ b/2015/input/06 @@ -0,0 +1,300 @@ +turn on 489,959 through 759,964 +turn off 820,516 through 871,914 +turn off 427,423 through 929,502 +turn on 774,14 through 977,877 +turn on 410,146 through 864,337 +turn on 931,331 through 939,812 +turn off 756,53 through 923,339 +turn off 313,787 through 545,979 +turn off 12,823 through 102,934 +toggle 756,965 through 812,992 +turn off 743,684 through 789,958 +toggle 120,314 through 745,489 +toggle 692,845 through 866,994 +turn off 587,176 through 850,273 +turn off 674,321 through 793,388 +toggle 749,672 through 973,965 +turn on 943,30 through 990,907 +turn on 296,50 through 729,664 +turn on 212,957 through 490,987 +toggle 171,31 through 688,88 +turn off 991,989 through 994,998 +turn off 913,943 through 958,953 +turn off 278,258 through 367,386 +toggle 275,796 through 493,971 +turn off 70,873 through 798,923 +toggle 258,985 through 663,998 +turn on 601,259 through 831,486 +turn off 914,94 through 941,102 +turn off 558,161 through 994,647 +turn on 119,662 through 760,838 +toggle 378,775 through 526,852 +turn off 384,670 through 674,972 +turn off 249,41 through 270,936 +turn on 614,742 through 769,780 +turn on 427,70 through 575,441 +turn on 410,478 through 985,753 +turn off 619,46 through 931,342 +turn on 284,55 through 768,922 +turn off 40,592 through 728,685 +turn on 825,291 through 956,950 +turn on 147,843 through 592,909 +turn off 218,675 through 972,911 +toggle 249,291 through 350,960 +turn off 556,80 through 967,675 +toggle 609,148 through 968,279 +toggle 217,605 through 961,862 +toggle 407,177 through 548,910 +toggle 400,936 through 599,938 +turn off 721,101 through 925,455 +turn on 268,631 through 735,814 +toggle 549,969 through 612,991 +toggle 553,268 through 689,432 +turn off 817,668 through 889,897 +toggle 801,544 through 858,556 +toggle 615,729 through 832,951 +turn off 427,477 through 958,948 +turn on 164,49 through 852,946 +turn on 542,449 through 774,776 +turn off 923,196 through 980,446 +toggle 90,310 through 718,846 +turn off 657,215 through 744,252 +turn off 800,239 through 811,712 +turn on 502,90 through 619,760 +toggle 649,512 through 862,844 +turn off 334,903 through 823,935 +turn off 630,233 through 839,445 +turn on 713,67 through 839,865 +turn on 932,50 through 982,411 +turn off 480,729 through 984,910 +turn on 100,219 through 796,395 +turn on 758,108 through 850,950 +turn off 427,276 through 439,938 +turn on 178,284 through 670,536 +toggle 540,27 through 625,102 +turn off 906,722 through 936,948 +toggle 345,418 through 859,627 +toggle 175,775 through 580,781 +toggle 863,28 through 929,735 +turn off 824,858 through 905,973 +toggle 752,312 through 863,425 +turn on 985,716 through 988,852 +turn off 68,504 through 763,745 +toggle 76,209 through 810,720 +turn off 657,607 through 676,664 +toggle 596,869 through 896,921 +turn off 915,411 through 968,945 +turn off 368,39 through 902,986 +turn on 11,549 through 393,597 +turn off 842,893 through 976,911 +toggle 274,106 through 581,329 +toggle 406,403 through 780,950 +toggle 408,988 through 500,994 +toggle 217,73 through 826,951 +turn on 917,872 through 961,911 +toggle 394,34 through 510,572 +toggle 424,603 through 583,626 +toggle 106,159 through 755,738 +turn off 244,610 through 472,709 +turn on 350,265 through 884,690 +turn on 688,184 through 928,280 +toggle 279,443 through 720,797 +turn off 615,493 through 888,610 +toggle 118,413 through 736,632 +turn on 798,782 through 829,813 +turn off 250,934 through 442,972 +turn on 68,503 through 400,949 +toggle 297,482 through 313,871 +toggle 710,3 through 839,859 +turn on 125,300 through 546,888 +toggle 482,39 through 584,159 +turn off 536,89 through 765,962 +turn on 530,518 through 843,676 +turn on 994,467 through 994,676 +turn on 623,628 through 744,927 +toggle 704,912 through 837,983 +turn on 154,364 through 517,412 +toggle 344,409 through 780,524 +turn off 578,740 through 725,879 +turn on 251,933 through 632,957 +turn on 827,705 through 971,789 +toggle 191,282 through 470,929 +toggle 324,525 through 446,867 +toggle 534,343 through 874,971 +toggle 550,650 through 633,980 +toggle 837,404 through 881,915 +toggle 338,881 through 845,905 +turn on 469,462 through 750,696 +turn on 741,703 through 892,870 +turn off 570,215 through 733,562 +turn on 445,576 through 870,775 +turn on 466,747 through 554,878 +turn off 820,453 through 868,712 +turn off 892,706 through 938,792 +turn off 300,238 through 894,746 +turn off 306,44 through 457,444 +turn off 912,569 through 967,963 +toggle 109,756 through 297,867 +turn on 37,546 through 41,951 +turn on 321,637 through 790,910 +toggle 66,50 through 579,301 +toggle 933,221 through 933,791 +turn on 486,676 through 878,797 +turn on 417,231 through 556,317 +toggle 904,468 through 981,873 +turn on 417,675 through 749,712 +turn on 692,371 through 821,842 +toggle 324,73 through 830,543 +turn on 912,490 through 977,757 +turn off 634,872 through 902,949 +toggle 266,779 through 870,798 +turn on 772,982 through 990,996 +turn off 607,46 through 798,559 +turn on 295,602 through 963,987 +turn on 657,86 through 944,742 +turn off 334,639 through 456,821 +turn off 997,667 through 997,670 +turn off 725,832 through 951,945 +turn off 30,120 through 952,984 +turn on 860,965 through 917,976 +toggle 471,997 through 840,998 +turn off 319,307 through 928,504 +toggle 823,631 through 940,908 +toggle 969,984 through 981,993 +turn off 691,319 through 865,954 +toggle 911,926 through 938,929 +turn on 953,937 through 968,991 +toggle 914,643 through 975,840 +turn on 266,982 through 436,996 +turn off 101,896 through 321,932 +turn off 193,852 through 751,885 +turn off 576,532 through 863,684 +turn on 761,456 through 940,783 +turn on 20,290 through 398,933 +turn off 435,335 through 644,652 +turn on 830,569 through 905,770 +turn off 630,517 through 905,654 +turn on 664,53 through 886,976 +toggle 275,416 through 408,719 +turn on 370,621 through 515,793 +turn on 483,373 through 654,749 +turn on 656,786 through 847,928 +turn off 532,752 through 945,974 +toggle 301,150 through 880,792 +turn off 951,488 through 958,952 +turn on 207,729 through 882,828 +toggle 694,532 through 973,961 +toggle 676,639 through 891,802 +turn off 653,6 through 905,519 +toggle 391,109 through 418,312 +turn on 877,423 through 957,932 +turn on 340,145 through 563,522 +turn off 978,467 through 988,895 +turn off 396,418 through 420,885 +turn off 31,308 through 816,316 +turn on 107,675 through 758,824 +turn on 61,82 through 789,876 +turn on 750,743 through 754,760 +toggle 88,733 through 736,968 +turn off 754,349 through 849,897 +toggle 157,50 through 975,781 +turn off 230,231 through 865,842 +turn off 516,317 through 630,329 +turn off 697,820 through 829,903 +turn on 218,250 through 271,732 +toggle 56,167 through 404,431 +toggle 626,891 through 680,927 +toggle 370,207 through 791,514 +toggle 860,74 through 949,888 +turn on 416,527 through 616,541 +turn off 745,449 through 786,908 +turn on 485,554 through 689,689 +turn on 586,62 through 693,141 +toggle 506,759 through 768,829 +turn on 473,109 through 929,166 +turn on 760,617 through 773,789 +toggle 595,683 through 618,789 +turn off 210,775 through 825,972 +toggle 12,426 through 179,982 +turn on 774,539 through 778,786 +turn on 102,498 through 121,807 +turn off 706,897 through 834,965 +turn off 678,529 through 824,627 +turn on 7,765 through 615,870 +turn off 730,872 through 974,943 +turn off 595,626 through 836,711 +turn off 215,424 through 841,959 +toggle 341,780 through 861,813 +toggle 507,503 through 568,822 +turn on 252,603 through 349,655 +toggle 93,521 through 154,834 +turn on 565,682 through 951,954 +turn on 544,318 through 703,418 +toggle 756,953 through 891,964 +turn on 531,123 through 856,991 +turn on 148,315 through 776,559 +turn off 925,835 through 963,971 +turn on 895,944 through 967,964 +turn off 102,527 through 650,747 +toggle 626,105 through 738,720 +turn off 160,75 through 384,922 +toggle 813,724 through 903,941 +turn on 207,107 through 982,849 +toggle 750,505 through 961,697 +toggle 105,410 through 885,819 +turn on 226,104 through 298,283 +turn off 224,604 through 508,762 +turn on 477,368 through 523,506 +turn off 477,901 through 627,936 +turn off 887,131 through 889,670 +turn on 896,994 through 938,999 +toggle 401,580 through 493,728 +toggle 987,184 through 991,205 +turn on 821,643 through 882,674 +toggle 784,940 through 968,959 +turn off 251,293 through 274,632 +turn off 339,840 through 341,844 +turn off 675,351 through 675,836 +toggle 918,857 through 944,886 +toggle 70,253 through 918,736 +turn off 612,604 through 772,680 +turn off 277,40 through 828,348 +toggle 692,139 through 698,880 +toggle 124,446 through 883,453 +toggle 969,932 through 990,945 +toggle 855,692 through 993,693 +toggle 722,472 through 887,899 +toggle 978,149 through 985,442 +toggle 837,540 through 916,889 +turn off 612,2 through 835,82 +toggle 560,767 through 878,856 +turn on 461,734 through 524,991 +toggle 206,824 through 976,912 +turn on 826,610 through 879,892 +turn on 577,699 through 956,933 +turn off 9,250 through 50,529 +turn off 77,657 through 817,677 +turn on 68,419 through 86,426 +turn on 991,720 through 992,784 +turn on 668,20 through 935,470 +turn off 133,418 through 613,458 +turn off 487,286 through 540,328 +toggle 247,874 through 840,955 +toggle 301,808 through 754,970 +turn off 34,194 through 578,203 +turn off 451,49 through 492,921 +turn on 907,256 through 912,737 +turn off 479,305 through 702,587 +turn on 545,583 through 732,749 +toggle 11,16 through 725,868 +turn on 965,343 through 986,908 +turn on 674,953 through 820,965 +toggle 398,147 through 504,583 +turn off 778,194 through 898,298 +turn on 179,140 through 350,852 +turn off 241,118 through 530,832 +turn off 41,447 through 932,737 +turn off 820,663 through 832,982 +turn on 550,460 through 964,782 +turn on 31,760 through 655,892 +toggle 628,958 through 811,992 \ No newline at end of file diff --git a/2015/input/07 b/2015/input/07 new file mode 100644 index 0000000..5080c3d --- /dev/null +++ b/2015/input/07 @@ -0,0 +1,339 @@ +bn RSHIFT 2 -> bo +lf RSHIFT 1 -> ly +fo RSHIFT 3 -> fq +cj OR cp -> cq +fo OR fz -> ga +t OR s -> u +lx -> a +NOT ax -> ay +he RSHIFT 2 -> hf +lf OR lq -> lr +lr AND lt -> lu +dy OR ej -> ek +1 AND cx -> cy +hb LSHIFT 1 -> hv +1 AND bh -> bi +ih AND ij -> ik +c LSHIFT 1 -> t +ea AND eb -> ed +km OR kn -> ko +NOT bw -> bx +ci OR ct -> cu +NOT p -> q +lw OR lv -> lx +NOT lo -> lp +fp OR fv -> fw +o AND q -> r +dh AND dj -> dk +ap LSHIFT 1 -> bj +bk LSHIFT 1 -> ce +NOT ii -> ij +gh OR gi -> gj +kk RSHIFT 1 -> ld +lc LSHIFT 1 -> lw +lb OR la -> lc +1 AND am -> an +gn AND gp -> gq +lf RSHIFT 3 -> lh +e OR f -> g +lg AND lm -> lo +ci RSHIFT 1 -> db +cf LSHIFT 1 -> cz +bn RSHIFT 1 -> cg +et AND fe -> fg +is OR it -> iu +kw AND ky -> kz +ck AND cl -> cn +bj OR bi -> bk +gj RSHIFT 1 -> hc +iu AND jf -> jh +NOT bs -> bt +kk OR kv -> kw +ks AND ku -> kv +hz OR ik -> il +b RSHIFT 1 -> v +iu RSHIFT 1 -> jn +fo RSHIFT 5 -> fr +be AND bg -> bh +ga AND gc -> gd +hf OR hl -> hm +ld OR le -> lf +as RSHIFT 5 -> av +fm OR fn -> fo +hm AND ho -> hp +lg OR lm -> ln +NOT kx -> ky +kk RSHIFT 3 -> km +ek AND em -> en +NOT ft -> fu +NOT jh -> ji +jn OR jo -> jp +gj AND gu -> gw +d AND j -> l +et RSHIFT 1 -> fm +jq OR jw -> jx +ep OR eo -> eq +lv LSHIFT 15 -> lz +NOT ey -> ez +jp RSHIFT 2 -> jq +eg AND ei -> ej +NOT dm -> dn +jp AND ka -> kc +as AND bd -> bf +fk OR fj -> fl +dw OR dx -> dy +lj AND ll -> lm +ec AND ee -> ef +fq AND fr -> ft +NOT kp -> kq +ki OR kj -> kk +cz OR cy -> da +as RSHIFT 3 -> au +an LSHIFT 15 -> ar +fj LSHIFT 15 -> fn +1 AND fi -> fj +he RSHIFT 1 -> hx +lf RSHIFT 2 -> lg +kf LSHIFT 15 -> kj +dz AND ef -> eh +ib OR ic -> id +lf RSHIFT 5 -> li +bp OR bq -> br +NOT gs -> gt +fo RSHIFT 1 -> gh +bz AND cb -> cc +ea OR eb -> ec +lf AND lq -> ls +NOT l -> m +hz RSHIFT 3 -> ib +NOT di -> dj +NOT lk -> ll +jp RSHIFT 3 -> jr +jp RSHIFT 5 -> js +NOT bf -> bg +s LSHIFT 15 -> w +eq LSHIFT 1 -> fk +jl OR jk -> jm +hz AND ik -> im +dz OR ef -> eg +1 AND gy -> gz +la LSHIFT 15 -> le +br AND bt -> bu +NOT cn -> co +v OR w -> x +d OR j -> k +1 AND gd -> ge +ia OR ig -> ih +NOT go -> gp +NOT ed -> ee +jq AND jw -> jy +et OR fe -> ff +aw AND ay -> az +ff AND fh -> fi +ir LSHIFT 1 -> jl +gg LSHIFT 1 -> ha +x RSHIFT 2 -> y +db OR dc -> dd +bl OR bm -> bn +ib AND ic -> ie +x RSHIFT 3 -> z +lh AND li -> lk +ce OR cd -> cf +NOT bb -> bc +hi AND hk -> hl +NOT gb -> gc +1 AND r -> s +fw AND fy -> fz +fb AND fd -> fe +1 AND en -> eo +z OR aa -> ab +bi LSHIFT 15 -> bm +hg OR hh -> hi +kh LSHIFT 1 -> lb +cg OR ch -> ci +1 AND kz -> la +gf OR ge -> gg +gj RSHIFT 2 -> gk +dd RSHIFT 2 -> de +NOT ls -> lt +lh OR li -> lj +jr OR js -> jt +au AND av -> ax +0 -> c +he AND hp -> hr +id AND if -> ig +et RSHIFT 5 -> ew +bp AND bq -> bs +e AND f -> h +ly OR lz -> ma +1 AND lu -> lv +NOT jd -> je +ha OR gz -> hb +dy RSHIFT 1 -> er +iu RSHIFT 2 -> iv +NOT hr -> hs +as RSHIFT 1 -> bl +kk RSHIFT 2 -> kl +b AND n -> p +ln AND lp -> lq +cj AND cp -> cr +dl AND dn -> do +ci RSHIFT 2 -> cj +as OR bd -> be +ge LSHIFT 15 -> gi +hz RSHIFT 5 -> ic +dv LSHIFT 1 -> ep +kl OR kr -> ks +gj OR gu -> gv +he RSHIFT 5 -> hh +NOT fg -> fh +hg AND hh -> hj +b OR n -> o +jk LSHIFT 15 -> jo +gz LSHIFT 15 -> hd +cy LSHIFT 15 -> dc +kk RSHIFT 5 -> kn +ci RSHIFT 3 -> ck +at OR az -> ba +iu RSHIFT 3 -> iw +ko AND kq -> kr +NOT eh -> ei +aq OR ar -> as +iy AND ja -> jb +dd RSHIFT 3 -> df +bn RSHIFT 3 -> bp +1 AND cc -> cd +at AND az -> bb +x OR ai -> aj +kk AND kv -> kx +ao OR an -> ap +dy RSHIFT 3 -> ea +x RSHIFT 1 -> aq +eu AND fa -> fc +kl AND kr -> kt +ia AND ig -> ii +df AND dg -> di +NOT fx -> fy +k AND m -> n +bn RSHIFT 5 -> bq +km AND kn -> kp +dt LSHIFT 15 -> dx +hz RSHIFT 2 -> ia +aj AND al -> am +cd LSHIFT 15 -> ch +hc OR hd -> he +he RSHIFT 3 -> hg +bn OR by -> bz +NOT kt -> ku +z AND aa -> ac +NOT ak -> al +cu AND cw -> cx +NOT ie -> if +dy RSHIFT 2 -> dz +ip LSHIFT 15 -> it +de OR dk -> dl +au OR av -> aw +jg AND ji -> jj +ci AND ct -> cv +dy RSHIFT 5 -> eb +hx OR hy -> hz +eu OR fa -> fb +gj RSHIFT 3 -> gl +fo AND fz -> gb +1 AND jj -> jk +jp OR ka -> kb +de AND dk -> dm +ex AND ez -> fa +df OR dg -> dh +iv OR jb -> jc +x RSHIFT 5 -> aa +NOT hj -> hk +NOT im -> in +fl LSHIFT 1 -> gf +hu LSHIFT 15 -> hy +iq OR ip -> ir +iu RSHIFT 5 -> ix +NOT fc -> fd +NOT el -> em +ck OR cl -> cm +et RSHIFT 3 -> ev +hw LSHIFT 1 -> iq +ci RSHIFT 5 -> cl +iv AND jb -> jd +dd RSHIFT 5 -> dg +as RSHIFT 2 -> at +NOT jy -> jz +af AND ah -> ai +1 AND ds -> dt +jx AND jz -> ka +da LSHIFT 1 -> du +fs AND fu -> fv +jp RSHIFT 1 -> ki +iw AND ix -> iz +iw OR ix -> iy +eo LSHIFT 15 -> es +ev AND ew -> ey +ba AND bc -> bd +fp AND fv -> fx +jc AND je -> jf +et RSHIFT 2 -> eu +kg OR kf -> kh +iu OR jf -> jg +er OR es -> et +fo RSHIFT 2 -> fp +NOT ca -> cb +bv AND bx -> by +u LSHIFT 1 -> ao +cm AND co -> cp +y OR ae -> af +bn AND by -> ca +1 AND ke -> kf +jt AND jv -> jw +fq OR fr -> fs +dy AND ej -> el +NOT kc -> kd +ev OR ew -> ex +dd OR do -> dp +NOT cv -> cw +gr AND gt -> gu +dd RSHIFT 1 -> dw +NOT gw -> gx +NOT iz -> ja +1 AND io -> ip +NOT ag -> ah +b RSHIFT 5 -> f +NOT cr -> cs +kb AND kd -> ke +jr AND js -> ju +cq AND cs -> ct +il AND in -> io +NOT ju -> jv +du OR dt -> dv +dd AND do -> dq +b RSHIFT 2 -> d +jm LSHIFT 1 -> kg +NOT dq -> dr +bo OR bu -> bv +gk OR gq -> gr +he OR hp -> hq +NOT h -> i +hf AND hl -> hn +gv AND gx -> gy +x AND ai -> ak +bo AND bu -> bw +hq AND hs -> ht +hz RSHIFT 1 -> is +gj RSHIFT 5 -> gm +g AND i -> j +gk AND gq -> gs +dp AND dr -> ds +b RSHIFT 3 -> e +gl AND gm -> go +gl OR gm -> gn +y AND ae -> ag +hv OR hu -> hw +1674 -> b +ab AND ad -> ae +NOT ac -> ad +1 AND ht -> hu +NOT hn -> ho \ No newline at end of file diff --git a/2015/input/08 b/2015/input/08 new file mode 100644 index 0000000..51c17a7 --- /dev/null +++ b/2015/input/08 @@ -0,0 +1,300 @@ +"sjdivfriyaaqa\xd2v\"k\"mpcu\"yyu\"en" +"vcqc" +"zbcwgmbpijcxu\"yins\"sfxn" +"yumngprx" +"bbdj" +"czbggabkzo\"wsnw\"voklp\"s" +"acwt" +"aqttwnsohbzian\"evtllfxwkog\"cunzw" +"ugvsgfv" +"xlnillibxg" +"kexh\"pmi" +"syvugow" +"m\"ktqnw" +"yrbajyndte\\rm" +"f\"kak\x70sn\xc4kjri" +"yxthr" +"alvumfsjni\"kohg" +"trajs\x5brom\xf1yoijaumkem\"\"tahlzs" +"\"oedr\"pwdbnnrc" +"qsmzhnx\"" +"\"msoytqimx\\tbklqz" +"mjdfcgwdshrehgs" +"\"rivyxahf\"" +"ciagc\x04bp" +"xkfc" +"xrgcripdu\x4c\xc4gszjhrvumvz\"mngbirb" +"gvmae\"yiiujoqvr\"mkxmgbbut\"u" +"ih" +"ncrqlejehs" +"mkno\x43pcfdukmemycp" +"uanzoqxkpsksbvdnkji\"feamp" +"axoufpnbx\\ao\x61pfj\"b" +"dz\\ztawzdjy" +"ihne\"enumvswypgf" +"\"dgazthrphbshdo\\vuqoiy\"" +"dlnmptzt\\zahwpylc\\b\"gmslrqysk" +"mhxznyzcp" +"rebr\"amvxw\x5fmbnfpkkeghlntavj" +"lades\x47ncgdof\"\"jmbbk" +"dwxuis\xa5wdkx\\z\"admgnoddpgkt\\zs" +"g\\k\x27qsl\x34hwfglcdxqbeclt\xca\\" +"lhyjky\\m\"pvnm\\xmynpxnlhndmahjl" +"c\"uxabbgorrpprw\"xas\\vefkxioqpt" +"rfrvjxpevcmma\x71gtfipo" +"fgh\"kcwoqwfnjgdlzfclprg\"q" +"onxnwykrba" +"hkkg\x60f\"tjzsanpvarzgkfipl" +"\"aintes\"ofq\"juiaqlqxmvpe\\a" +"wiyczzs\"ciwk" +"mfqeu" +"v\xe1z\x7ftzalmvdmncfivrax\\rjwq" +"k\"vtg" +"exhrtdugeml\xf0" +"behnchkpld" +"mhgxy\"mfcrg\xc5gnp\"\"osqhj" +"rlvjy" +"awe" +"ctwy" +"vt" +"\x54t" +"zugfmmfomz" +"cv\"cvcvfaada\x04fsuqjinbfh\xa9cq\xd2c\"d" +"oj" +"xazanf\"wbmcrn" +"\\\\zkisyjpbzandqikqjqvee" +"dpsnbzdwnxk\\v" +"sj\"tuupr\\oyoh" +"myvkgnw\x81q\xaaokt\\emgejbsyvxcl\\\xee" +"ejeuqvunjcirdkkpt\"nlns" +"twmlvwxyvfyqqzu" +"\"xwtzdp\x98qkcis\"dm\\\"ep\"xyykq" +"vvcq\\expok" +"wgukjfanjgpdjb" +"\"mjcjajnxy\\dcpc" +"wdvgnecw\\ab\x44klceduzgsvu" +"dqtqkukr\"iacngufbqkdpxlwjjt" +"\"xj\"\x66qofsqzkoah" +"nptiwwsqdep" +"gsnlxql\x30mjl" +"yeezwokjwrhelny\"" +"bjauamn\\izpmzqqasid" +"tvjdbkn\"tiziw\x82r" +"w" +"xwoakbbnjnypnaa\xa9wft\"slrmoqkl" +"vwxtnlvaaasyruykgygrvpiopzygf\"vq" +"qdancvnvmhlmpj\\isdxs" +"xzc\\elw" +"b\"wxeqvy\"qf\"g\xcaoklsucwicyw\"dovr" +"yomlvvjdbngz\"rly\"afr" +"bfb\"x\"aweuwbwmoa\x13\"t\"zhr" +"\"dmfoxb\"qvpjzzhykt\xd2\"\"ryhxi" +"psqef\"yu\\qiflie\"\x79w" +"arzewkej\"lqmh\\sayyusxxo\\" +"vuvvp" +"hc\"lg\x6bcpupsewzklai\"l" +"cjdfygc\"auorqybnuqghsh\x10" +"j" +"wqjexk\"eyq\\lbroqhk\\dqzsqk" +"dws\"ru\"dvxfiwapif\"oqwzmle" +"agcykg\\jt\\vzklqjvknoe" +"kksd\"jmslja\\z\"y\\b\xaagpyojct" +"nnpipxufvbfpoz\"jno" +"dtw" +"xlolvtahvgqkx\\dgnhj\\spsclpcxv\\" +"mxea\\mbjpi" +"lgbotkk\"zmxh\\\\qji\"jszulnjsxkqf" +"lwckmhwhx\"gmftlb\x91am" +"xxdxqyxth" +"\"lmqhwkjxmvayxy" +"tf" +"qy" +"wdqmwxdztax\"m\"\x09\x11xdxmfwxmtqgwvf" +"\xcbnazlf\"ghziknszmsrahaf" +"e\x6aupmzhxlvwympgjjpdvo\"kylfa" +"\x81vhtlillb\xactgoatva" +"dvnlgr" +"f" +"xg\xfacwizsadgeclm" +"vnnrzbtw\"\\prod\\djbyppngwayy\"" +"lrt\xf4jahwvfz" +"aqpnjtom\"ymkak\\dadfybqrso\\fwv" +"gz\"aac\"mrbk\"ktommrojraqh" +"wycamwoecsftepfnlcdkm" +"nrhddblbuzlqsl\x9cben" +"vckxhyqkmqmdseazcykrbysm" +"sil\xbbtevmt\"gvrvybui\"faw\"j" +"cjex\\tp\x45pzf" +"asjobvtxszfodgf\"ibftg" +"gkyjyjdrxdcllnh\"sjcibenrdnxv" +"oswsdpjyxpbwnqbcpl\"yrdvs\\zq" +"\"\"tyowzc\\fycbp\"jbwrbvgui" +"cbpcabqkdgzmpgcwjtrchxp" +"iyrzfh\x45gw\"fdlfpiaap\x31xqq" +"evgksznidz" +"b\\w\\" +"loufizbiy\x57aim\"bgk" +"qjfyk" +"g\"anmloghvgr\x07zwqougqhdz" +"usbbmwcxd\\bdgg" +"htitqcpczml" +"eke\\cqvpexqqk\"to\"tqmljrpn\xe6lji\"" +"g\xd2ifdsej" +"h\"sk\"haajajpagtcqnzrfqn\xe6btzo" +"wfkuffdxlvm\\cvlyzlbyunclhmpp" +"myaavh\"spue" +"hqvez\x68d\"eo\"eaioh" +"s\"qd\"oyxxcglcdnuhk" +"ilqvar" +"srh" +"puuifxrfmpc\"bvalwi\x2blu\\" +"yywlbutufzysbncw\\nqsfbhpz\"mngjq" +"zbl\\jfcuop" +"hjdouiragzvxsqkreup\\" +"qi" +"ckx\\funlj\xa7ahi" +"k" +"ufrcnh\"ajteit" +"cqv\"bgjozjj\x60x\xa8yhvmdvutchjotyuz" +"hkuiet\"oku\x8cfhumfpasl" +"\"\\sbe\x4d" +"vhknazqt" +"eyyizvzcahgflvmoowvs\\jhvygci" +"kki\x3ewcefkgtjap\"xtpxh\"lzepoqj" +"wvtk" +"\"ynet" +"zh\\obk\"otagx\x59txfzf" +"ocowhxlx\xe6zqg\x63wx\\tclkhq\\vmaze" +"w\"cf" +"qpniprnrzrnvykghqnalr" +"jctcqra\"\x05dhlydpqamorqjsijt\\xjdgt" +"sig" +"qhlbidbflwxe\"xljbwls\x20vht" +"irmrebfla\xefsg\"j" +"nep" +"hjuvsqlizeqobepf" +"guzbcdp\"obyh" +"\"mjagins\xf9tqykaxy\"" +"knvsdnmtr\"zervsb" +"hzuy" +"zza\"k\"buapb\\elm\xfeya" +"lrqar\"dfqwkaaqifig\"uixjsz" +"\"azuo\x40rmnlhhluwsbbdb\x32pk\\yu\"pbcf" +"dplkdyty" +"rfoyciebwlwphcycmguc" +"ivnmmiemhgytmlprq\\eh" +"lhkyzaaothfdhmbpsqd\\yyw" +"tnlzifupcjcaj" +"\\qiyirsdrfpmu\\\x15xusifaag" +"\\lcomf\\s" +"uramjivcirjhqcqcg" +"kkbaklbxfxikffnuhtu\xc6t\"d" +"n\xefai" +"\"toy\"bnbpevuzoc\"muywq\"gz\"grbm" +"\"muu\\wt" +"\\srby\"ee" +"erf\"gvw\"swfppf" +"pbqcgtn\"iuianhcdazfvmidn\\nslhxdf" +"uxbp" +"up\\mgrcyaegiwmjufn" +"nulscgcewj\\dvoyvhetdegzhs\"" +"masv\"k\\rzrb" +"qtx\x79d\"xdxmbxrvhj" +"fid\\otpkgjlh\"qgsvexrckqtn\xf4" +"tagzu" +"bvl\\\"noseec" +"\\xgicuuh" +"w\"a\"npemf" +"sxp" +"nsmpktic\x8awxftscdcvijjobnq\"gjd" +"uks\"\"jxvyvfezz\"aynxoev\"cuoav" +"m" +"lkvokj" +"vkfam\"yllr\"q\x92o\x4ebecnvhshhqe\\" +"efdxcjkjverw" +"lmqzadwhfdgmep\x02tzfcbgrbfekhat" +"cpbk\x9azqegbpluczssouop\x36ztpuoxsw" +"cqwoczxdd\"erdjka" +"cwvqnjgbw\\fxdlby" +"mvtm" +"lt\"bbqzpumplkg" +"ntd\xeeuwweucnuuslqfzfq" +"y\xabl\"dbebxjrlbmuoo\\\x1au" +"qjoqx\\a" +"pu\"ekdnfpmly\xbago\"" +"fjhhdy" +"arl" +"xcywisim\"bwuwf\"\"raepeawwjub" +"pbe" +"dbnqfpzyaumxtqnd\xc5dcqrkwyop" +"ojv\x40vtkwgkqepm\x8bzft\\vedrry" +"wggqkfbwqumsgajqwphjec\"mstxpwz" +"zjkbem" +"icpfqxbelxazlls" +"pvpqs\\abcmtyielugfgcv\"tjxapxqxnx" +"oqddwlvmtv\"\x39lyybylfb\"jmngnpjrdw" +"gisgbve" +"\"aglg" +"y\"\"ss\xafvhxlrjv" +"qbgqjsra" +"ihshbjgqpdcljpmdwdprwloy" +"djja\\wcdn\"svkrgpqn\"uz\"hc\x43hj" +"cbjm" +"pnn" +"pqvh\"noh" +"\"\\fdktlp" +"ncea" +"pqgzphiyy" +"\xbedovhxuipaohlcvkwtxwmpz\"ckaif\"r" +"arjuzbjowqciunfwgxtph\"vlhy\"n" +"c" +"nrpdxunulgudqzlhtae" +"iefheu\"uru\"" +"aqijysxuijud\"np\\opbichhudil\xbesum" +"pfpevmtstl\"lde\"bzr\"vspdxs" +"vparfbdjwvzsocpnzhp" +"g\x4ffxaarafrsjthq\\\xc1rw" +"ng\\rqx\\gwpzucbh\xafl" +"rw\"nf\\dna" +"jkkeahxurxla\\g\xb3czrlsyimmwcwthr" +"twaailoypu\"oas\"kpuuyedlaw\\\xb0vzt" +"hznex\\gdiqvtugi" +"imdibsunjeswhk" +"ta\\icileuzpxro\"cfmv\"mzp" +"coykr\x57luiysucfaflmilhlehmvzeiepo" +"u\x3dfh\xd4yt" +"piw\x1bz\"eowy\"vfk\"wqiekw" +"gan\"y" +"p\"bevidoazcznr\"hddxuuq\"" +"bwzucczznutbxe" +"z\"viqgyqjisior\\iecosmjbknol" +"dmlpcglcfkfsctxydjvayhymv\x3c\\gp" +"bfvkqrintbbvgfv" +"xlzntrgdck\"cprc\xadczyarbznqmuhxyuh" +"uqdxnuwioc\"kdytxq\\ig" +"xrafmucpmfi" +"vr\"hltmfrge" +"eonf\"nt\\wtcnsocs" +"j\xb7xoslyjeyjksplkqixncgkylkw" +"njw\"pefgfbez\x9axshdmplxzquqe" +"di\x58bvptfsafirpc" +"l\x1fkco" +"x" +"mprndo\"n" +"psegit" +"svbdnkkuuqs\"sqxu\"oqcyz\"aizashk" +"cwkljukxer\\\"\\nff\"esjwiyaoy" +"ilxrkgbjjxpvhdtq\"cpiuoofdnkpp" +"hlngi\"ulxep\\qohtmqnqjb\"rkgerho" +"gxws\"bcgm\"p" +"bv\"mds\\zhfusiepgrz\\b\x32fscdzz" +"l\xfampwtme\x69qvxnx\"\"\xc4jruuymjxrpsv" +"qqmxhrn" +"xziq\\\x18ybyv\x9am\"neacoqjzytertisysza" +"aqcbvlvcrzceeyx\\j\"\"x" +"yjuhhb" +"\x5em\"squulpy" +"dpbntplgmwb" +"utsgfkm\\vbftjknlktpthoeo" +"ccxjgiocmuhf\"ycnh" +"lltj\"kbbxi" \ No newline at end of file diff --git a/2015/input/09 b/2015/input/09 new file mode 100644 index 0000000..df5432f --- /dev/null +++ b/2015/input/09 @@ -0,0 +1,28 @@ +Faerun to Tristram = 65 +Faerun to Tambi = 129 +Faerun to Norrath = 144 +Faerun to Snowdin = 71 +Faerun to Straylight = 137 +Faerun to AlphaCentauri = 3 +Faerun to Arbre = 149 +Tristram to Tambi = 63 +Tristram to Norrath = 4 +Tristram to Snowdin = 105 +Tristram to Straylight = 125 +Tristram to AlphaCentauri = 55 +Tristram to Arbre = 14 +Tambi to Norrath = 68 +Tambi to Snowdin = 52 +Tambi to Straylight = 65 +Tambi to AlphaCentauri = 22 +Tambi to Arbre = 143 +Norrath to Snowdin = 8 +Norrath to Straylight = 23 +Norrath to AlphaCentauri = 136 +Norrath to Arbre = 115 +Snowdin to Straylight = 101 +Snowdin to AlphaCentauri = 84 +Snowdin to Arbre = 96 +Straylight to AlphaCentauri = 107 +Straylight to Arbre = 14 +AlphaCentauri to Arbre = 46 \ No newline at end of file diff --git a/2015/input/10 b/2015/input/10 new file mode 100644 index 0000000..bf144d5 --- /dev/null +++ b/2015/input/10 @@ -0,0 +1 @@ +1321131112 \ No newline at end of file diff --git a/2015/input/11 b/2015/input/11 new file mode 100644 index 0000000..0b7a426 --- /dev/null +++ b/2015/input/11 @@ -0,0 +1 @@ +vzbxkghb \ No newline at end of file diff --git a/2015/input/12 b/2015/input/12 new file mode 100644 index 0000000..d5623f9 --- /dev/null +++ b/2015/input/12 @@ -0,0 +1 @@ +{"e":[[{"e":86,"c":23,"a":{"a":[120,169,"green","red","orange"],"b":"red"},"g":"yellow","b":["yellow"],"d":"red","f":-19},{"e":-47,"a":[2],"d":{"a":"violet"},"c":"green","h":"orange","b":{"e":59,"a":"yellow","d":"green","c":47,"h":"red","b":"blue","g":"orange","f":["violet",43,168,78]},"g":"orange","f":[{"e":[82,-41,2,"red","violet","orange","yellow"],"c":"green","a":77,"g":"orange","b":147,"d":49,"f":"blue"},-1,142,136,["green","red",166,-21],"blue","orange",{"a":38}]},"orange","yellow"],"green",-22,[37,[4,-40,["red","yellow",["yellow",177,"red","blue",139,[55,13,"yellow","violet",-21,140,"yellow",117],"blue","blue",106],"blue",{"a":23}],183,92,"orange","green"],"orange"],-5],"c":[{"e":{"e":-13,"c":-11,"a":{"a":49,"b":189},"g":144,"b":186,"d":{"e":[146,[32,"violet","red","orange",-22],"blue","violet",57,{"e":12,"a":"red","d":37,"c":-13,"h":"green","b":-27,"g":"orange","f":"orange","i":"red"},56,-1,"red",-25],"c":-14,"a":[["orange","green","green","red",-25],-16,104,177,"red"],"g":"red","b":"blue","d":2,"f":"green"},"f":[{"e":{"c":-15,"a":"green","b":144,"d":-32},"c":"yellow","a":["blue","blue"],"b":"yellow","d":135,"f":"violet"}]},"a":{"e":"blue","a":[145,128,"orange","violet",23,["orange",[78,"yellow","orange","orange","orange","green",122,-35,"blue"],159,114]],"d":"yellow","c":{"e":[100,"green",{"e":"blue","a":36,"d":84,"j":"orange","c":"blue","h":118,"b":85,"g":"violet","f":"blue","i":27},"blue","blue"],"a":"red","d":"blue","j":[159,22,"violet","orange","blue","orange","blue",186,175,{"e":29,"a":150,"d":"green","c":129,"h":138,"b":-29,"g":7,"f":"red","i":"violet"}],"c":"yellow","h":["blue",-9,41,{"e":144,"c":"violet","a":161,"b":116,"d":126,"f":197},173,123,50,"red",154],"b":-23,"g":"orange","f":"green","i":"red"},"h":26,"b":30,"g":106,"f":{"c":{"e":-28,"c":["red","violet","blue","orange","yellow","violet",-30,134,0],"a":-37,"b":41,"d":143},"a":121,"b":"yellow","d":[198,"yellow"]}},"d":{"e":-2,"a":"green","d":{"a":0,"b":"blue"},"j":"violet","c":[{"e":"violet","a":"orange","d":"violet","c":-36,"h":68,"b":195,"g":41,"f":63},11,-20,{"e":[100,43,183],"a":"yellow","d":["orange","yellow","violet","yellow",143,162,-23,168,145,-33],"j":80,"c":"orange","h":{"a":"orange"},"b":"violet","g":-21,"f":-38,"i":"green"},{"e":"red","a":81,"d":3,"c":"blue","h":[167,"blue","yellow",135,64,116,134,14,160],"b":"red","g":"blue","f":"green"},["red",[139,"orange","blue","blue","orange","blue"],"orange","red",113,26,"yellow","yellow",85]],"h":[[117],"yellow",{"e":187,"c":"orange","a":-22,"b":["orange"],"d":68},154,["green","orange","blue",87,"green","orange",46,"violet"],{"a":{"e":178,"c":"blue","a":-2,"g":99,"b":"orange","d":-34,"f":"green"}},"blue"],"b":"violet","g":[13,"yellow",43,"orange"],"f":{"e":-40,"a":"blue","d":50,"c":"violet","h":{"e":"orange","a":[-27,159,"violet","red",130,83,"red","violet",-27],"d":-42,"j":"blue","c":9,"h":{"e":"yellow","a":"blue","d":177,"c":156,"h":"violet","b":0,"g":"orange","f":-43,"i":"orange"},"b":"blue","g":[114,"blue",-4,"red","red","yellow","green"],"f":81,"i":"red"},"b":73,"g":176,"f":"red"},"i":{"e":["orange",-16,["violet",63,"blue",-40,119,22,"orange","orange","violet","green"],-30,{"e":"yellow","c":172,"a":"green","g":"yellow","b":"green","d":"yellow","f":"red"},190,28,{"e":"orange","c":"red","a":"orange","b":51,"d":-31,"f":136},"orange",82],"a":"blue","d":"red","c":["blue",81,"blue","blue","green",191,"blue","blue",1],"h":{"e":"orange","c":{"e":"blue","a":"green","d":55,"j":-36,"c":13,"h":"yellow","b":162,"g":82,"f":"red","i":"red"},"a":"violet","b":"yellow","d":-24,"f":190},"b":[{"e":"green","a":"green","d":-49,"j":"green","c":"orange","h":43,"b":"orange","g":35,"f":"violet","i":"blue"},"yellow",32,"yellow"],"g":"blue","f":0}},"c":"blue","h":69,"b":166,"g":[[88,["blue",21,"yellow","violet"]],["red",169],"red"],"f":176},{"e":["yellow",88,164,{"e":"red","c":"yellow","a":[20,"blue","violet"],"g":-31,"b":80,"d":"yellow","f":"green"},{"e":"orange","c":"green","a":149,"b":"orange","d":-46,"f":[160,83,"orange","red",177,-11]},"green",[156,"red",{"c":7,"a":[152,107,130],"b":{"c":"yellow","a":114,"b":38,"d":"blue"},"d":"orange"},{"a":49,"b":-34},34,-32,"green"]],"a":134,"d":-12,"c":[-33,{"e":102,"a":"red","d":{"e":"orange","a":"green","d":43,"c":"violet","h":{"a":"violet"},"b":-24,"g":"blue","f":"blue","i":[68,"blue"]},"j":-28,"c":87,"h":"violet","b":122,"g":"violet","f":"green","i":"violet"}],"h":"violet","b":["orange",-14,{"e":37,"a":86,"d":{"e":186,"a":-25,"d":71,"c":"orange","h":86,"b":113,"g":27,"f":"green","i":"yellow"},"c":16,"h":"orange","b":"green","g":["yellow","yellow",["orange","violet","violet","green",58,"orange"],["orange",131,"red","blue","orange",183,82,"orange","yellow","blue"],49,"orange","violet","violet","yellow","orange"],"f":"yellow"},[141,"violet","red",-24,18,103,88,169,75],["yellow",["green",55,92,"yellow","orange",135,{"e":"green","c":141,"a":-11,"b":129,"d":"orange","f":"green"},"violet"],14,[{"a":130},["red","violet",182,"blue",149,"orange",-25,"blue","blue"],61,-18,"orange",14,{"e":"red","a":135,"d":"yellow","j":"red","c":23,"h":89,"b":82,"g":"orange","f":"red","i":72},"red"],["red","blue","red",78,134,53,160],-20,98,{"e":[198,69,168,145,-29,"red","orange","orange","yellow"],"a":"violet","d":"green","j":184,"c":[7,99,186,"blue"],"h":10,"b":"blue","g":166,"f":"yellow","i":177}],"green",{"e":"red","a":"green","d":-8,"j":-47,"c":{"e":"orange","c":74,"a":"yellow","b":"orange","d":34,"f":124},"h":152,"b":"red","g":"yellow","f":161,"i":["blue","red","orange","orange","orange",-38,"orange","red"]},"yellow","blue",75],"g":[67,["orange",109,114,32,"green","green","yellow",["yellow","orange",-40,["green","orange","yellow",187,3,"yellow","violet","orange",195,"yellow"],"blue","yellow","blue"]],[32,{"c":43,"a":"red","b":"blue","d":25}],{"c":"red","a":24,"b":139},{"e":"orange","a":153,"d":43,"c":143,"h":["violet","yellow","green",159,165,{"a":"blue","b":"violet"}],"b":150,"g":["red","red","orange",[138,"green"]],"f":"green"},"violet",-12,"red",["violet","green"]],"f":{"e":{"e":39,"a":"orange","d":{"e":[11],"c":"violet","a":"orange","g":49,"b":"red","d":0,"f":{"a":45}},"c":"violet","h":-30,"b":[93,-1,"red",[39,"red","green"],"green",[154,"blue","orange",147,"orange","yellow"],106,["green",71,-9],-37],"g":"blue","f":"blue","i":176},"c":98,"a":164,"b":["violet","orange",[85,{"e":"yellow","a":113,"d":176,"c":"green","h":"violet","b":"orange","g":166,"f":"green","i":"green"},[145,"green",-7,"violet"]],{"e":["green","green"],"a":"red","d":79,"j":"blue","c":-41,"h":"yellow","b":"violet","g":"blue","f":148,"i":20}],"d":12,"f":[-34,"yellow"]}},{"e":{"e":[{"a":159},["red",-46,{"a":11},166,116,{"e":-39,"c":-24,"a":194,"b":27,"d":91},-37,85,["green"],61],"yellow",{"a":135},["orange","orange",128,"green",-20,97,{"e":108,"c":195,"a":"blue","g":51,"b":"green","d":"violet","f":28}]],"a":"green","d":164,"c":"violet","h":"orange","b":"green","g":{"e":"red","c":151,"a":"violet","b":46,"d":"yellow","f":["red"]},"f":-35,"i":"orange"},"a":{"e":7,"a":{"a":-28},"d":151,"c":{"c":147,"a":165,"b":[-5,["violet","blue","orange","violet",3,"yellow",86,"orange",197,51],6,156,43,94,"blue",{"e":130,"c":"orange","a":-29,"b":89,"d":-41,"f":"orange"},76]},"h":{"e":153,"a":"violet","d":"yellow","j":"green","c":{"c":"blue","a":"violet","b":113,"d":"yellow"},"h":{"e":"blue","a":["yellow",29,69],"d":"orange","c":"red","h":"green","b":164,"g":"blue","f":{"c":16,"a":191,"b":61}},"b":195,"g":"yellow","f":"green","i":"red"},"b":82,"g":[51,-47,186,{"e":4,"c":27,"a":60,"b":"orange","d":32,"f":"violet"},{"e":"blue","a":72,"d":17,"j":"blue","c":"red","h":0,"b":"yellow","g":195,"f":["red","green",82,-31,"blue",-24,"yellow","red","violet"],"i":43},["green"]],"f":"blue"},"d":["violet",22,118],"j":-45,"c":174,"h":79,"b":180,"g":{"c":-7,"a":{"e":["blue","violet"],"c":"blue","a":"violet","g":"red","b":"orange","d":"orange","f":{"a":"violet","b":33}},"b":183,"d":132},"f":["violet","violet","green",[[[66,"violet","violet","green","green"]],[181,"yellow",167,134,"orange",{"e":"red","c":"violet","a":"violet","b":107,"d":-19},{"e":0,"c":166,"a":"green","b":"blue","d":"red"}],19,-31,108]],"i":["red","red",[159],[139,"blue",{"a":106},48,117,164,["blue",161,"green",174,"orange",152,"red","orange",["red","yellow","blue",-43]],105,22,"green"],[110]]},153,{"a":{"e":"orange","a":[{"e":"red","a":"yellow","d":"green","c":"violet","h":{"e":"blue","c":62,"a":148,"g":"violet","b":6,"d":"yellow","f":-1},"b":"yellow","g":-14,"f":58},"violet","yellow",{"e":4,"a":"blue","d":{"e":"green","a":-49,"d":"yellow","j":-39,"c":"orange","h":"red","b":"blue","g":59,"f":"violet","i":46},"c":195,"h":22,"b":160,"g":"orange","f":"orange","i":38},"red",["orange","red","yellow",34,101,"yellow"],40,["orange",{"e":148,"c":"red","a":85,"g":62,"b":-13,"d":-25,"f":"orange"},-47,34,{"e":"violet","c":80,"a":"red","b":34,"d":100},58,185,"yellow","orange",["yellow","green","violet",84,"blue","orange",13]],183],"d":"red","j":[-2,"red","yellow",176,-24,140,"blue","yellow",155,{"e":-28,"c":"violet","a":{"a":"green","b":3},"b":"red","d":-16}],"c":["violet",-16],"h":"blue","b":"green","g":["yellow","yellow","yellow",44,"orange",50,36,{"e":"green","a":162,"d":112,"c":166,"h":92,"b":31,"g":"blue","f":-12}],"f":"yellow","i":["yellow","violet",[19,"red",["violet","violet",195]],["yellow",[106],"red","orange","blue"],178,{"e":"violet","a":104,"d":"red","c":"yellow","h":{"c":-47,"a":"blue","b":84},"b":"green","g":0,"f":"blue","i":"red"},105]}},{"e":7,"c":[156],"a":{"a":{"e":{"e":"violet","a":["blue","yellow","orange"],"d":"green","c":[159,"blue","violet","red",61,3],"h":"red","b":"green","g":132,"f":130},"c":92,"a":"orange","b":"green","d":[186,122],"f":"yellow"}},"g":["yellow","violet"],"b":"violet","d":{"e":{"c":"orange","a":127,"b":41,"d":[36,61,178,"yellow","green","red","violet",{"e":-18,"a":"yellow","d":"red","c":0,"h":"yellow","b":"yellow","g":6,"f":"yellow"},162]},"c":-6,"a":{"c":{"e":"red","c":78,"a":"blue","b":91,"d":49,"f":14},"a":["green"],"b":{"a":22},"d":{"a":"blue"}},"b":154,"d":"orange","f":{"a":170}},"f":-33},"blue",82],"a":{"c":["green",["red","orange",{"e":-28,"a":{"a":"violet","b":110},"d":[[174,140,72],191,"yellow",108,195,{"a":"violet"},147,53],"c":"yellow","h":"green","b":"violet","g":"red","f":["blue","orange","violet",[48,118],156,144,-46,110,["orange","yellow","blue","red"],149],"i":{"e":"orange","c":101,"a":{"e":111,"a":"blue","d":"orange","j":"orange","c":-40,"h":13,"b":"orange","g":"yellow","f":32,"i":"yellow"},"g":{"e":"orange","a":"blue","d":195,"j":81,"c":185,"h":20,"b":4,"g":"green","f":112,"i":147},"b":-22,"d":199,"f":"yellow"}},"yellow",19,128,-3,27,["orange",{"e":-8,"c":156,"a":"yellow","b":"red","d":20,"f":-37},[{"c":19,"a":"blue","b":150},"orange",-12,9]]],[12,{"e":"blue","c":162,"a":["blue",184,"yellow","orange",{"a":"yellow","b":"green"},88,-19,60,"yellow"],"g":"yellow","b":191,"d":-6,"f":"violet"}],{"c":"yellow","a":"orange","b":{"a":"violet","b":["orange","orange","violet",{"e":"red","a":"red","d":163,"c":153,"h":"green","b":6,"g":"blue","f":17,"i":63},163,[164,-41,"violet","violet",126]]},"d":-38}],"a":{"e":{"c":-1,"a":"orange","b":{"c":131,"a":{"e":-11,"c":120,"a":"green","b":198,"d":152,"f":37},"b":77,"d":{"e":8,"a":21,"d":"blue","c":"yellow","h":"violet","b":11,"g":"violet","f":{"e":148,"c":98,"a":80,"b":78,"d":68}}},"d":"orange"},"a":["violet",[-30,117],[78,31],74,197,"red","orange",95],"d":"green","c":[96,"violet"],"h":{"e":{"c":"green","a":[76,16,125,"green",15,"violet",130,60,"red"],"b":"orange","d":-38},"a":71,"d":158,"j":-16,"c":[["yellow","green",183,165,-28,4,102],-20,"blue","violet",{"e":"yellow","c":{"e":"orange","a":"yellow","d":"red","c":"orange","h":"orange","b":169,"g":"violet","f":48},"a":99,"b":["blue",-1,"blue"],"d":104,"f":20},83],"h":"green","b":[-14,[28],"yellow",[93,"blue",-24,160,35,25,-32,"green"],{"e":[51,"red",64,"red","blue",-16,31,146,"blue","yellow"],"c":122,"a":"orange","b":"yellow","d":{"c":53,"a":179,"b":"blue","d":-44}},17,110],"g":151,"f":"orange","i":{"a":"violet","b":{"a":[-24]}}},"b":["violet",{"e":{"e":91,"a":{"e":"blue","a":-25,"d":70,"c":"green","h":"violet","b":48,"g":"violet","f":"orange"},"d":"yellow","c":136,"h":90,"b":{"e":26,"c":"green","a":"blue","g":"violet","b":192,"d":198,"f":86},"g":"orange","f":"blue"},"a":137,"d":47,"c":11,"h":"yellow","b":"orange","g":"orange","f":{"e":"blue","a":45,"d":"violet","j":146,"c":-38,"h":4,"b":157,"g":104,"f":-13,"i":"yellow"}},{"e":191,"a":"blue","d":"green","c":"blue","h":-19,"b":148,"g":"blue","f":{"e":57,"c":"red","a":167,"b":[-42,147,166,74,-32,"orange","violet","yellow"],"d":"green","f":71}},"green",[184,"yellow",[["yellow","yellow"],"green",{"e":-24,"a":1,"d":44,"c":"yellow","h":"yellow","b":144,"g":"violet","f":"green","i":-7},86,119,52,"orange",["red","red",18,"orange",192,116],120,109]],["violet",-14,"violet",{"e":-29,"c":{"e":"green","a":"red","d":"blue","j":68,"c":9,"h":"orange","b":25,"g":"red","f":10,"i":"green"},"a":-15,"b":"blue","d":"violet","f":125},119,[127,"violet","green",39]]],"g":"green","f":-14},"b":23,"d":{"c":{"c":98,"a":"yellow","b":97},"a":-29,"b":{"a":192,"b":["violet","yellow",65,{"c":{"e":"violet","c":"yellow","a":"violet","b":"blue","d":"orange"},"a":"red","b":176},192]},"d":"orange"}},"b":[{"e":"yellow","c":45,"a":81,"b":["orange"],"d":"violet","f":[-3,"red",146,186,"orange","red","blue",{"e":"green","c":22,"a":"yellow","b":"blue","d":-2,"f":"green"},0,180]},[[-36,["orange",[166],"violet"],{"c":86,"a":[2,173,78,"violet","orange",["violet","yellow","blue",107,24,-1,"orange",13,"green","violet"]],"b":"violet","d":107},100,["yellow",-22,[177,69,144,84,159,"violet"],"green"],{"e":"green","a":78,"d":173,"c":"blue","h":36,"b":[[-48,164,"red","blue",45],["green","orange",23,15,110,49,"blue"],"violet",0,192,53],"g":["blue","violet"],"f":"orange","i":[{"e":186,"c":"orange","a":"green","b":174,"d":"yellow","f":46},"violet",188,"yellow",54,-6,"blue","violet",0,{"e":166,"a":"yellow","d":"red","j":"blue","c":"red","h":97,"b":"violet","g":32,"f":173,"i":95}]},{"a":58,"b":"blue"},"green",["red",150,3,"orange",32,106,[["blue"],118,{"c":178,"a":7,"b":185,"d":"violet"},"red",164,"red",[128,"red"],-44],{"e":"orange","a":"orange","d":130,"c":"yellow","h":"yellow","b":{"e":91,"a":161,"d":-44,"c":-45,"h":"blue","b":"orange","g":122,"f":"orange"},"g":"yellow","f":"blue"},139,{"a":97}]],"orange",["orange",0,"blue","red",{"e":192,"c":92,"a":{"a":["red",164,"yellow",189,"blue",150,"green","violet",-35,33],"b":"red"},"g":"yellow","b":{"a":"blue"},"d":"red","f":-31},111,"yellow","red",[["green","green",42,-47,[88,142,"blue",59,-42,"violet"],"green"],"orange",["violet","yellow","violet",198,94,44,"orange","green","blue",26],"blue","violet"]],{"a":118}],{"e":-35,"a":{"e":["orange",-1,121,"red"],"c":"violet","a":[[127,-18,-4,[-40,42,"violet",167,"orange",112,"orange"],30,31,"violet",37],{"c":"blue","a":"green","b":172},[141,154],146,"yellow"],"b":"blue","d":-3},"d":"red","c":-17,"h":-3,"b":["violet","yellow",19,"red",8,138,37],"g":{"c":{"e":-5,"c":[-23,21,"green",-3,"red"],"a":163,"b":"blue","d":"red","f":["violet",136,"violet"]},"a":183,"b":-36,"d":"violet"},"f":["green",["green",{"e":"red","c":"yellow","a":10,"g":"blue","b":56,"d":"red","f":["green","red","red"]},["violet","orange",{"e":7,"c":170,"a":"green","b":55,"d":115},"green","blue"]]]},{"e":{"e":{"a":"blue","b":[192,"blue",86,93]},"a":"green","d":"yellow","c":186,"h":["violet","orange","orange","violet","red","orange",139,"violet","green",{"e":"red","a":85,"d":"orange","c":"yellow","h":[46,35,"red","green",-11,"blue"],"b":"yellow","g":"yellow","f":"orange"}],"b":{"e":77,"a":"yellow","d":"green","c":144,"h":"green","b":{"e":[27,"blue","yellow",-48,-21,-12,121,"violet"],"a":[-23],"d":"blue","j":{"e":"orange","c":"blue","a":"green","b":-34,"d":"green"},"c":"green","h":"green","b":61,"g":["blue"],"f":19,"i":"violet"},"g":86,"f":"orange"},"g":"yellow","f":"orange"},"c":{"c":["yellow",82,"red","orange",{"e":34,"c":"green","a":"violet","b":182,"d":"orange","f":{"e":-49,"a":184,"d":57,"j":"yellow","c":120,"h":"violet","b":170,"g":159,"f":-3,"i":99}},-37,{"e":84,"a":["violet",154,"violet",123,"violet",148,105,"yellow",195],"d":"orange","c":{"a":140},"h":"yellow","b":159,"g":76,"f":186},183],"a":[{"e":"yellow","a":-2,"d":"green","c":{"c":68,"a":"red","b":"blue"},"h":[140,99,-2,"green","orange","orange",-14,60,"red","green"],"b":"violet","g":1,"f":["yellow","violet"],"i":142},{"e":{"a":76,"b":-17},"c":46,"a":[76,1,79,36,-25,"yellow",0],"g":"yellow","b":185,"d":54,"f":"green"}],"b":{"e":127,"a":[["violet"],115,114,"red","orange",83,-17,-2],"d":{"e":198,"c":"red","a":46,"b":77,"d":"green"},"c":140,"h":"orange","b":89,"g":149,"f":"orange"}},"a":"blue","g":62,"b":"orange","d":"violet","f":{"e":-11,"a":[29,"yellow","yellow",187,"orange",{"e":147,"a":197,"d":["green",182,-2,95,-8,110,-38],"c":"violet","h":187,"b":90,"g":22,"f":"yellow","i":"green"},{"a":["blue","red",140],"b":"violet"},"blue",76,59],"d":-26,"c":[{"a":"orange","b":179},"red",{"e":"violet","c":"orange","a":"blue","g":"violet","b":25,"d":149,"f":-27},{"e":"green","a":"yellow","d":"violet","j":{"c":67,"a":179,"b":53},"c":145,"h":-4,"b":"blue","g":11,"f":"blue","i":"violet"}],"h":"red","b":"blue","g":{"e":"yellow","c":[93,12,118,-7,125,93,"yellow",182,113,"yellow"],"a":"green","b":"green","d":"violet"},"f":"green","i":"green"}},[7]],"d":[[[42,67,{"e":"yellow","a":"orange","d":{"e":"orange","c":"green","a":-26,"g":[68,162,"orange","red"],"b":105,"d":52,"f":"yellow"},"c":{"e":"orange","a":"orange","d":120,"c":"blue","h":[172,"orange",171,-40,139,161,"yellow",197],"b":"yellow","g":[162,"orange",2],"f":"yellow","i":"orange"},"h":-21,"b":"green","g":{"e":33,"a":6,"d":"violet","c":193,"h":89,"b":56,"g":146,"f":{"c":-46,"a":"green","b":161},"i":149},"f":65},[["yellow",31,-4],"red",-27,21,{"e":{"e":-25,"a":-1,"d":"violet","c":"violet","h":"blue","b":"green","g":"violet","f":"orange","i":"yellow"},"c":"orange","a":"orange","g":"orange","b":60,"d":{"e":"yellow","c":"green","a":"yellow","g":"violet","b":134,"d":149,"f":"yellow"},"f":"blue"},"violet",[66,"green",25,106,"red","orange"],{"a":{"e":"orange","a":95,"d":"red","c":176,"h":179,"b":87,"g":195,"f":71,"i":"violet"},"b":14},55],"blue"],[[62,"violet",58,[-42,"orange",{"e":186,"a":"orange","d":"green","j":100,"c":163,"h":-9,"b":"green","g":"orange","f":-8,"i":"orange"},"red",12,"orange",-3,162,"green"],"violet",94,"orange",41,58,"violet"],[["green","green","red"],"red",128,"blue","yellow","yellow",{"e":"yellow","a":193,"d":["orange",134],"j":["green",45,195,123,50,61],"c":"violet","h":-39,"b":13,"g":"yellow","f":{"e":-33,"c":26,"a":83,"b":122,"d":"orange"},"i":"orange"},"blue",46,"yellow"],"yellow","yellow",30,[158,{"c":"green","a":68,"b":122},{"e":95,"c":"orange","a":"green","b":115,"d":180,"f":"yellow"},[194,-29,"orange","violet",{"e":173,"a":193,"d":"green","j":"blue","c":"blue","h":"green","b":"yellow","g":"green","f":186,"i":"red"},135],"violet"]],"yellow",144,["violet","red",{"a":[121],"b":134},{"a":-23,"b":"violet"},[7],[101,181,"yellow",{"e":"violet","c":"green","a":56,"b":"green","d":175}]],"violet",{"c":"green","a":{"e":"green","c":-42,"a":-49,"b":[["orange","yellow",-17,"orange",-11,-41,"red",32],"blue",46,{"a":"yellow","b":"violet"}],"d":"red","f":["violet","violet",-11]},"b":["orange",{"e":62,"c":"violet","a":-5,"b":39,"d":[122,129,"violet","orange"]},"green"]}]],"f":{"e":{"e":[{"e":{"a":"violet"},"c":171,"a":{"a":{"e":122,"a":"blue","d":164,"j":54,"c":"violet","h":-1,"b":148,"g":"blue","f":190,"i":-37}},"b":[{"a":158},"blue",26,{"e":"violet","c":"green","a":64,"g":36,"b":"blue","d":"blue","f":"green"},"violet",125,"orange"],"d":"violet"},"yellow",{"c":{"e":-46,"c":121,"a":191,"g":"blue","b":67,"d":-25,"f":"blue"},"a":"orange","b":{"a":108,"b":["red",-48]}},{"e":116,"c":"green","a":-34,"g":59,"b":"yellow","d":37,"f":{"e":-3,"a":105,"d":"red","c":"red","h":"green","b":27,"g":189,"f":"violet"}},"red",["yellow",152,{"e":"red","a":[164,155,"green","yellow"],"d":79,"c":"violet","h":{"e":"blue","c":53,"a":"orange","b":-43,"d":"violet","f":"orange"},"b":32,"g":"green","f":"green","i":23},"red","violet",-37,[["green","violet",131,-18,"green"],48,6,"red",83],152,181,75],{"e":[116,100,"red",{"a":156},"green"],"c":"red","a":170,"g":[28,59,"violet","violet",144],"b":13,"d":{"a":"yellow","b":"blue"},"f":{"e":-45,"c":"orange","a":"orange","b":"green","d":["orange","orange",98,-13,"yellow",183,193,"green"],"f":"green"}},128,["green"]],"a":{"e":{"e":"green","a":"yellow","d":{"c":-48,"a":["violet",195,77,-13,"green","red"],"b":"blue","d":"red"},"c":"violet","h":[-13,"green"],"b":27,"g":-37,"f":197},"c":68,"a":-23,"b":93,"d":"orange","f":{"a":"green","b":-4}},"d":[-48],"c":[["violet","blue","orange",{"e":42,"c":66,"a":["blue","blue","orange",144,130,"red","violet","red",112],"b":"blue","d":192},"orange",["orange",4,"violet",-47,"orange"],["violet","yellow",54,{"c":47,"a":"yellow","b":"red"},{"a":"violet"},151,-30,"orange","red"],-31,"blue"],135,{"e":"red","a":[5,117],"d":119,"j":189,"c":{"e":134,"a":142,"d":"orange","j":189,"c":"red","h":"violet","b":"yellow","g":122,"f":{"c":"orange","a":"violet","b":"yellow"},"i":107},"h":109,"b":15,"g":[157,135,122,-34,168,"green",-19,13,64],"f":{"e":"blue","c":174,"a":187,"g":"violet","b":36,"d":80,"f":188},"i":-10},60,"orange",146,{"e":-8,"a":{"a":63},"d":"green","c":67,"h":["blue","yellow","red","blue",["yellow",189,"orange","green"],"orange","violet"],"b":-29,"g":"orange","f":["violet","green","orange"]},{"e":"violet","c":"red","a":-45,"g":[45,"green",-24,-7,{"a":67,"b":"red"},"orange",188,["red","blue","red"],47,133],"b":{"e":112,"a":76,"d":"yellow","j":93,"c":"orange","h":137,"b":154,"g":["orange","red","yellow",-26,"orange"],"f":-3,"i":"yellow"},"d":{"e":"violet","c":48,"a":174,"b":"green","d":189},"f":[69,"red",{"a":"green","b":"blue"},"red",{"a":85}]},{"e":"violet","c":{"e":"violet","c":"red","a":-22,"b":3,"d":{"e":185,"c":52,"a":"yellow","b":165,"d":"blue","f":"yellow"}},"a":45,"b":"green","d":"blue"}],"h":"orange","b":{"e":"red","c":68,"a":171,"g":-30,"b":"orange","d":"violet","f":{"c":22,"a":["green"],"b":148}},"g":{"e":77,"c":28,"a":["green","green",{"a":"violet","b":115},{"e":59,"a":198,"d":"violet","c":"yellow","h":-38,"b":"violet","g":69,"f":"violet","i":-12},35],"b":"blue","d":{"e":[-20,"orange","green",116,"yellow",-21],"c":"red","a":"green","b":160,"d":["violet",-49,"yellow",[46,"blue",196]]}},"f":[162,{"c":[-30,"violet"],"a":"blue","b":"blue","d":83},"blue"],"i":"green"},"a":["blue",{"e":{"e":131,"c":"yellow","a":"blue","g":{"e":"yellow","c":70,"a":{"e":53,"c":100,"a":162,"b":-7,"d":-14,"f":"orange"},"b":"yellow","d":"green","f":149},"b":[184,"green","blue",-38,193,75,156],"d":96,"f":{"e":177,"c":0,"a":{"c":"red","a":-23,"b":"yellow","d":-37},"g":149,"b":"blue","d":61,"f":78}},"c":-21,"a":[{"e":{"a":"yellow"},"c":71,"a":{"e":-46,"a":"yellow","d":"green","c":78,"h":59,"b":"green","g":189,"f":"red","i":"red"},"b":"yellow","d":{"e":"violet","c":"violet","a":"orange","b":189,"d":21,"f":71},"f":15},"green",150,"yellow"],"b":101,"d":"blue","f":"blue"},"green",[[-10,{"c":61,"a":99,"b":"green"}],"violet",["blue",-41],54,[194,146,"green",90,"violet","violet",-5,"red"],{"e":114,"a":"green","d":{"e":"blue","a":"blue","d":["yellow",10,"blue",86,44,"violet","red","red"],"c":94,"h":{"e":"red","c":"blue","a":89,"g":197,"b":148,"d":91,"f":52},"b":"orange","g":"red","f":"green"},"c":[96,127,29],"h":"blue","b":"green","g":"yellow","f":{"e":"green","a":"blue","d":"orange","j":40,"c":"red","h":92,"b":-49,"g":-34,"f":8,"i":125},"i":-30},{"a":154,"b":100}]],"d":{"c":{"a":"violet","b":"violet"},"a":"yellow","b":{"e":[83,"red",["green",{"a":"violet"},126,105,86],[["blue",-40,148,"blue"],168,"red","green",["green",41,93,"red",-19],32,"violet","violet","blue","yellow"],{"a":"yellow","b":"green"},[85,164],17,60,66,{"c":"yellow","a":"yellow","b":-10,"d":"yellow"}],"a":[109,28,52,[118,"violet"],{"a":"blue"},10,163,"green",-21],"d":"green","c":"green","h":["violet","violet"],"b":"blue","g":{"e":-22,"c":["yellow",119,127],"a":"green","g":1,"b":[{"a":100,"b":"yellow"},63,41,168,152,"yellow",198,-14,30,103],"d":"violet","f":["blue",135,"yellow","green","yellow",["yellow",35,91,182]]},"f":"yellow","i":{"c":"green","a":[{"a":"yellow"},"green","orange",50,117,94,"red",89],"b":"red"}}},"j":{"e":{"e":{"a":70},"c":["blue","violet"],"a":113,"b":{"e":"yellow","c":-9,"a":135,"b":"yellow","d":81},"d":{"e":189,"a":-19,"d":-14,"j":{"e":"green","a":1,"d":"violet","c":"red","h":106,"b":"green","g":-19,"f":192,"i":"green"},"c":195,"h":"yellow","b":"orange","g":45,"f":"green","i":"violet"},"f":75},"a":"violet","d":"blue","c":"red","h":113,"b":[14,{"e":82,"a":{"e":59,"a":182,"d":"yellow","c":"blue","h":"yellow","b":"green","g":93,"f":"yellow","i":147},"d":58,"c":"violet","h":{"a":{"e":27,"a":"orange","d":181,"c":142,"h":195,"b":"yellow","g":44,"f":"yellow"}},"b":-14,"g":"red","f":{"a":154},"i":90},"orange",{"a":"blue","b":-11},["yellow",[38,-34,"orange",57],"orange",98,"violet","violet",{"a":134},[24,"blue","blue",172,114],10],[{"a":["yellow","green"]},166,"blue",["blue",{"e":"blue","c":-6,"a":"green","b":"green","d":"green","f":50},-44,{"e":"violet","a":"yellow","d":-27,"j":33,"c":"orange","h":146,"b":"green","g":30,"f":"violet","i":"violet"},"blue","red","violet",6]],113],"g":{"e":{"e":"red","a":125,"d":183,"j":74,"c":["green","yellow"],"h":12,"b":["green",-38,"yellow"],"g":71,"f":"blue","i":"blue"},"a":["green",86,28,[55,127,"blue",172,"green",83,"green","violet",{"a":53},"blue"],{"a":181,"b":57},[28,"violet"],"red",{"a":138},198],"d":"yellow","c":[{"e":"violet","c":65,"a":"green","b":{"e":"orange","a":68,"d":"orange","c":"green","h":161,"b":"green","g":"green","f":13},"d":-38},"blue",{"e":73,"a":40,"d":"green","c":"red","h":"yellow","b":117,"g":178,"f":170},"yellow",188],"h":{"a":-21},"b":{"c":86,"a":["green","green",170,"blue",-40,"yellow","red",10],"b":[["green","yellow",2,"violet",-30,"yellow","red",-40,"orange","violet"],"red",58,165,"red"],"d":13},"g":{"a":63},"f":"violet"},"f":["green"],"i":[["yellow","yellow","red",{"e":-5,"c":124,"a":"yellow","g":"violet","b":"orange","d":"violet","f":149},-16,9],"violet",-43,{"c":9,"a":52,"b":179,"d":74},"violet",[{"e":-30,"a":82,"d":"green","j":49,"c":{"e":"green","a":"violet","d":"yellow","j":"blue","c":37,"h":"violet","b":48,"g":12,"f":"green","i":"red"},"h":58,"b":["yellow","blue","blue",29,"orange","green","green",0],"g":128,"f":"orange","i":91},[181,"red","green","violet","red","green","orange",{"e":"green","a":"yellow","d":"green","c":24,"h":194,"b":128,"g":"red","f":162,"i":"violet"},191],"red","violet","yellow","red"],141,123]},"c":{"a":95},"h":{"a":138},"b":118,"g":"green","f":0,"i":"violet"}} \ No newline at end of file diff --git a/2015/input/13 b/2015/input/13 new file mode 100644 index 0000000..a263fe3 --- /dev/null +++ b/2015/input/13 @@ -0,0 +1,56 @@ +Alice would gain 2 happiness units by sitting next to Bob. +Alice would gain 26 happiness units by sitting next to Carol. +Alice would lose 82 happiness units by sitting next to David. +Alice would lose 75 happiness units by sitting next to Eric. +Alice would gain 42 happiness units by sitting next to Frank. +Alice would gain 38 happiness units by sitting next to George. +Alice would gain 39 happiness units by sitting next to Mallory. +Bob would gain 40 happiness units by sitting next to Alice. +Bob would lose 61 happiness units by sitting next to Carol. +Bob would lose 15 happiness units by sitting next to David. +Bob would gain 63 happiness units by sitting next to Eric. +Bob would gain 41 happiness units by sitting next to Frank. +Bob would gain 30 happiness units by sitting next to George. +Bob would gain 87 happiness units by sitting next to Mallory. +Carol would lose 35 happiness units by sitting next to Alice. +Carol would lose 99 happiness units by sitting next to Bob. +Carol would lose 51 happiness units by sitting next to David. +Carol would gain 95 happiness units by sitting next to Eric. +Carol would gain 90 happiness units by sitting next to Frank. +Carol would lose 16 happiness units by sitting next to George. +Carol would gain 94 happiness units by sitting next to Mallory. +David would gain 36 happiness units by sitting next to Alice. +David would lose 18 happiness units by sitting next to Bob. +David would lose 65 happiness units by sitting next to Carol. +David would lose 18 happiness units by sitting next to Eric. +David would lose 22 happiness units by sitting next to Frank. +David would gain 2 happiness units by sitting next to George. +David would gain 42 happiness units by sitting next to Mallory. +Eric would lose 65 happiness units by sitting next to Alice. +Eric would gain 24 happiness units by sitting next to Bob. +Eric would gain 100 happiness units by sitting next to Carol. +Eric would gain 51 happiness units by sitting next to David. +Eric would gain 21 happiness units by sitting next to Frank. +Eric would gain 55 happiness units by sitting next to George. +Eric would lose 44 happiness units by sitting next to Mallory. +Frank would lose 48 happiness units by sitting next to Alice. +Frank would gain 91 happiness units by sitting next to Bob. +Frank would gain 8 happiness units by sitting next to Carol. +Frank would lose 66 happiness units by sitting next to David. +Frank would gain 97 happiness units by sitting next to Eric. +Frank would lose 9 happiness units by sitting next to George. +Frank would lose 92 happiness units by sitting next to Mallory. +George would lose 44 happiness units by sitting next to Alice. +George would lose 25 happiness units by sitting next to Bob. +George would gain 17 happiness units by sitting next to Carol. +George would gain 92 happiness units by sitting next to David. +George would lose 92 happiness units by sitting next to Eric. +George would gain 18 happiness units by sitting next to Frank. +George would gain 97 happiness units by sitting next to Mallory. +Mallory would gain 92 happiness units by sitting next to Alice. +Mallory would lose 96 happiness units by sitting next to Bob. +Mallory would lose 51 happiness units by sitting next to Carol. +Mallory would lose 81 happiness units by sitting next to David. +Mallory would gain 31 happiness units by sitting next to Eric. +Mallory would lose 73 happiness units by sitting next to Frank. +Mallory would lose 89 happiness units by sitting next to George. \ No newline at end of file diff --git a/2015/input/14 b/2015/input/14 new file mode 100644 index 0000000..d02f15d --- /dev/null +++ b/2015/input/14 @@ -0,0 +1,9 @@ +Vixen can fly 19 km/s for 7 seconds, but then must rest for 124 seconds. +Rudolph can fly 3 km/s for 15 seconds, but then must rest for 28 seconds. +Donner can fly 19 km/s for 9 seconds, but then must rest for 164 seconds. +Blitzen can fly 19 km/s for 9 seconds, but then must rest for 158 seconds. +Comet can fly 13 km/s for 7 seconds, but then must rest for 82 seconds. +Cupid can fly 25 km/s for 6 seconds, but then must rest for 145 seconds. +Dasher can fly 14 km/s for 3 seconds, but then must rest for 38 seconds. +Dancer can fly 3 km/s for 16 seconds, but then must rest for 37 seconds. +Prancer can fly 25 km/s for 6 seconds, but then must rest for 143 seconds. \ No newline at end of file diff --git a/2015/input/15 b/2015/input/15 new file mode 100644 index 0000000..635c0a7 --- /dev/null +++ b/2015/input/15 @@ -0,0 +1,4 @@ +Sprinkles: capacity 2, durability 0, flavor -2, texture 0, calories 3 +Butterscotch: capacity 0, durability 5, flavor -3, texture 0, calories 3 +Chocolate: capacity 0, durability 0, flavor 5, texture -1, calories 8 +Candy: capacity 0, durability -1, flavor 0, texture 5, calories 8 \ No newline at end of file diff --git a/2015/input/16 b/2015/input/16 new file mode 100644 index 0000000..a473437 --- /dev/null +++ b/2015/input/16 @@ -0,0 +1,500 @@ +Sue 1: cars: 9, akitas: 3, goldfish: 0 +Sue 2: akitas: 9, children: 3, samoyeds: 9 +Sue 3: trees: 6, cars: 6, children: 4 +Sue 4: trees: 4, vizslas: 4, goldfish: 9 +Sue 5: akitas: 9, vizslas: 7, cars: 5 +Sue 6: vizslas: 6, goldfish: 6, akitas: 3 +Sue 7: pomeranians: 5, samoyeds: 0, perfumes: 10 +Sue 8: cars: 10, pomeranians: 7, goldfish: 8 +Sue 9: trees: 2, vizslas: 7, samoyeds: 6 +Sue 10: perfumes: 5, pomeranians: 4, children: 9 +Sue 11: vizslas: 5, perfumes: 8, cars: 10 +Sue 12: children: 10, cars: 6, perfumes: 5 +Sue 13: cats: 4, samoyeds: 7, pomeranians: 8 +Sue 14: perfumes: 6, goldfish: 10, children: 7 +Sue 15: perfumes: 4, pomeranians: 3, cars: 6 +Sue 16: perfumes: 7, cars: 9, pomeranians: 6 +Sue 17: goldfish: 3, cars: 6, vizslas: 7 +Sue 18: perfumes: 6, cars: 7, goldfish: 3 +Sue 19: trees: 0, akitas: 3, pomeranians: 8 +Sue 20: goldfish: 6, trees: 2, akitas: 6 +Sue 21: pomeranians: 9, akitas: 9, samoyeds: 9 +Sue 22: vizslas: 2, cars: 9, perfumes: 5 +Sue 23: goldfish: 10, samoyeds: 8, children: 9 +Sue 24: akitas: 4, goldfish: 1, vizslas: 5 +Sue 25: goldfish: 10, trees: 8, perfumes: 6 +Sue 26: vizslas: 5, akitas: 8, trees: 1 +Sue 27: trees: 3, cars: 6, perfumes: 2 +Sue 28: goldfish: 8, trees: 7, akitas: 10 +Sue 29: children: 5, trees: 1, goldfish: 10 +Sue 30: vizslas: 3, perfumes: 8, akitas: 3 +Sue 31: cars: 6, children: 10, perfumes: 7 +Sue 32: cars: 10, perfumes: 3, goldfish: 10 +Sue 33: perfumes: 9, vizslas: 3, akitas: 4 +Sue 34: perfumes: 10, vizslas: 7, children: 8 +Sue 35: cars: 5, perfumes: 5, vizslas: 9 +Sue 36: trees: 9, cars: 9, akitas: 7 +Sue 37: samoyeds: 9, perfumes: 2, cars: 10 +Sue 38: akitas: 7, cars: 5, trees: 5 +Sue 39: goldfish: 8, trees: 9, cars: 10 +Sue 40: trees: 0, cats: 1, pomeranians: 1 +Sue 41: pomeranians: 6, perfumes: 9, samoyeds: 1 +Sue 42: vizslas: 6, akitas: 3, pomeranians: 1 +Sue 43: vizslas: 2, perfumes: 3, pomeranians: 6 +Sue 44: akitas: 5, pomeranians: 0, vizslas: 10 +Sue 45: vizslas: 4, goldfish: 1, cars: 5 +Sue 46: cars: 4, vizslas: 8, cats: 0 +Sue 47: cats: 5, children: 8, pomeranians: 2 +Sue 48: vizslas: 3, perfumes: 6, cats: 0 +Sue 49: akitas: 7, perfumes: 0, trees: 7 +Sue 50: trees: 4, akitas: 10, vizslas: 2 +Sue 51: goldfish: 10, cars: 9, trees: 4 +Sue 52: cars: 5, children: 9, perfumes: 0 +Sue 53: vizslas: 5, cars: 3, cats: 8 +Sue 54: cars: 5, akitas: 1, goldfish: 10 +Sue 55: akitas: 10, vizslas: 2, cars: 6 +Sue 56: cats: 6, trees: 0, cars: 4 +Sue 57: vizslas: 1, akitas: 1, samoyeds: 7 +Sue 58: samoyeds: 6, vizslas: 1, akitas: 7 +Sue 59: akitas: 9, cars: 8, vizslas: 1 +Sue 60: cars: 6, vizslas: 7, goldfish: 0 +Sue 61: pomeranians: 5, akitas: 6, vizslas: 2 +Sue 62: samoyeds: 2, cats: 8, goldfish: 7 +Sue 63: vizslas: 10, goldfish: 7, samoyeds: 9 +Sue 64: perfumes: 2, trees: 1, akitas: 6 +Sue 65: cars: 8, perfumes: 10, vizslas: 9 +Sue 66: akitas: 8, vizslas: 8, perfumes: 8 +Sue 67: goldfish: 7, cars: 9, samoyeds: 9 +Sue 68: perfumes: 2, children: 7, akitas: 1 +Sue 69: perfumes: 7, vizslas: 9, akitas: 1 +Sue 70: samoyeds: 3, vizslas: 1, trees: 1 +Sue 71: vizslas: 8, goldfish: 7, trees: 9 +Sue 72: goldfish: 8, cars: 6, trees: 9 +Sue 73: perfumes: 5, cars: 10, samoyeds: 7 +Sue 74: pomeranians: 4, perfumes: 3, cars: 5 +Sue 75: samoyeds: 1, perfumes: 1, pomeranians: 1 +Sue 76: goldfish: 4, cats: 6, akitas: 7 +Sue 77: perfumes: 5, akitas: 4, vizslas: 8 +Sue 78: perfumes: 4, cats: 3, children: 4 +Sue 79: vizslas: 5, pomeranians: 9, samoyeds: 7 +Sue 80: cars: 3, samoyeds: 5, pomeranians: 7 +Sue 81: vizslas: 2, samoyeds: 4, perfumes: 2 +Sue 82: trees: 1, akitas: 10, vizslas: 9 +Sue 83: vizslas: 0, akitas: 2, samoyeds: 5 +Sue 84: perfumes: 5, vizslas: 7, children: 8 +Sue 85: cats: 3, children: 2, trees: 0 +Sue 86: cars: 3, perfumes: 2, goldfish: 2 +Sue 87: trees: 1, akitas: 7, vizslas: 0 +Sue 88: trees: 1, akitas: 2, samoyeds: 1 +Sue 89: cars: 4, vizslas: 8, akitas: 1 +Sue 90: perfumes: 5, cats: 3, vizslas: 0 +Sue 91: samoyeds: 7, cats: 6, goldfish: 8 +Sue 92: samoyeds: 10, cats: 0, cars: 7 +Sue 93: cars: 6, akitas: 7, samoyeds: 2 +Sue 94: perfumes: 0, goldfish: 6, trees: 9 +Sue 95: cars: 6, pomeranians: 2, samoyeds: 8 +Sue 96: cars: 2, trees: 9, samoyeds: 4 +Sue 97: goldfish: 5, trees: 1, children: 0 +Sue 98: akitas: 9, goldfish: 7, children: 6 +Sue 99: goldfish: 9, akitas: 0, pomeranians: 0 +Sue 100: samoyeds: 6, children: 8, vizslas: 5 +Sue 101: vizslas: 6, cars: 5, goldfish: 4 +Sue 102: vizslas: 6, akitas: 2, perfumes: 6 +Sue 103: samoyeds: 3, akitas: 7, children: 4 +Sue 104: cars: 3, perfumes: 10, cats: 6 +Sue 105: vizslas: 9, pomeranians: 0, cars: 1 +Sue 106: cats: 6, samoyeds: 8, pomeranians: 5 +Sue 107: cars: 7, trees: 4, akitas: 10 +Sue 108: perfumes: 3, vizslas: 1, goldfish: 9 +Sue 109: trees: 6, cars: 8, goldfish: 5 +Sue 110: pomeranians: 2, children: 1, vizslas: 7 +Sue 111: akitas: 0, vizslas: 8, cars: 0 +Sue 112: goldfish: 3, vizslas: 6, akitas: 2 +Sue 113: akitas: 10, pomeranians: 7, perfumes: 7 +Sue 114: cars: 10, cats: 2, vizslas: 8 +Sue 115: akitas: 8, trees: 1, vizslas: 2 +Sue 116: vizslas: 2, akitas: 7, perfumes: 1 +Sue 117: goldfish: 0, vizslas: 10, trees: 9 +Sue 118: trees: 3, cars: 0, goldfish: 0 +Sue 119: perfumes: 7, goldfish: 5, trees: 9 +Sue 120: children: 9, vizslas: 3, trees: 5 +Sue 121: vizslas: 1, goldfish: 7, akitas: 10 +Sue 122: perfumes: 1, cars: 6, trees: 1 +Sue 123: akitas: 2, vizslas: 0, goldfish: 7 +Sue 124: vizslas: 10, pomeranians: 7, akitas: 0 +Sue 125: perfumes: 4, cats: 5, vizslas: 2 +Sue 126: cars: 6, samoyeds: 8, akitas: 3 +Sue 127: trees: 9, goldfish: 7, akitas: 9 +Sue 128: cars: 8, trees: 0, perfumes: 2 +Sue 129: pomeranians: 7, vizslas: 2, perfumes: 6 +Sue 130: vizslas: 9, pomeranians: 3, trees: 6 +Sue 131: vizslas: 7, cars: 9, perfumes: 1 +Sue 132: akitas: 2, pomeranians: 9, vizslas: 7 +Sue 133: trees: 9, pomeranians: 10, samoyeds: 0 +Sue 134: children: 4, akitas: 10, perfumes: 4 +Sue 135: vizslas: 1, cats: 1, trees: 8 +Sue 136: samoyeds: 7, cars: 8, goldfish: 5 +Sue 137: perfumes: 0, children: 1, pomeranians: 10 +Sue 138: vizslas: 4, perfumes: 5, cars: 5 +Sue 139: trees: 2, perfumes: 8, goldfish: 0 +Sue 140: cars: 10, akitas: 5, goldfish: 7 +Sue 141: children: 4, trees: 3, goldfish: 8 +Sue 142: cars: 8, perfumes: 6, trees: 7 +Sue 143: akitas: 6, goldfish: 0, trees: 10 +Sue 144: akitas: 7, pomeranians: 10, perfumes: 10 +Sue 145: trees: 10, vizslas: 3, goldfish: 4 +Sue 146: samoyeds: 4, akitas: 3, perfumes: 6 +Sue 147: akitas: 8, perfumes: 2, pomeranians: 10 +Sue 148: cars: 2, perfumes: 0, goldfish: 8 +Sue 149: goldfish: 6, akitas: 7, perfumes: 6 +Sue 150: cars: 2, pomeranians: 5, perfumes: 4 +Sue 151: goldfish: 1, cars: 5, trees: 0 +Sue 152: pomeranians: 4, cars: 7, children: 1 +Sue 153: goldfish: 8, cars: 1, children: 10 +Sue 154: cars: 6, perfumes: 8, trees: 1 +Sue 155: akitas: 4, perfumes: 6, pomeranians: 2 +Sue 156: pomeranians: 5, cars: 4, akitas: 1 +Sue 157: cats: 5, cars: 9, goldfish: 8 +Sue 158: vizslas: 5, samoyeds: 1, children: 7 +Sue 159: vizslas: 1, perfumes: 3, akitas: 1 +Sue 160: goldfish: 10, pomeranians: 9, perfumes: 5 +Sue 161: samoyeds: 3, trees: 7, cars: 2 +Sue 162: cars: 2, pomeranians: 1, vizslas: 6 +Sue 163: vizslas: 3, perfumes: 5, akitas: 6 +Sue 164: vizslas: 1, trees: 0, akitas: 5 +Sue 165: vizslas: 5, cars: 6, pomeranians: 8 +Sue 166: cars: 10, perfumes: 2, trees: 9 +Sue 167: cars: 10, pomeranians: 6, perfumes: 4 +Sue 168: akitas: 7, trees: 10, goldfish: 7 +Sue 169: akitas: 1, perfumes: 10, cars: 10 +Sue 170: akitas: 5, samoyeds: 8, vizslas: 6 +Sue 171: children: 3, akitas: 2, vizslas: 3 +Sue 172: goldfish: 5, vizslas: 5, perfumes: 9 +Sue 173: perfumes: 5, goldfish: 10, trees: 5 +Sue 174: akitas: 5, vizslas: 2, children: 7 +Sue 175: perfumes: 5, cars: 7, samoyeds: 2 +Sue 176: cars: 8, vizslas: 10, akitas: 7 +Sue 177: perfumes: 7, children: 8, goldfish: 7 +Sue 178: cars: 1, pomeranians: 9, samoyeds: 0 +Sue 179: perfumes: 6, cars: 2, trees: 6 +Sue 180: trees: 3, vizslas: 7, children: 3 +Sue 181: vizslas: 8, samoyeds: 2, trees: 9 +Sue 182: perfumes: 3, cats: 1, children: 5 +Sue 183: akitas: 9, cats: 6, children: 3 +Sue 184: pomeranians: 9, cars: 6, perfumes: 8 +Sue 185: vizslas: 9, trees: 0, akitas: 9 +Sue 186: perfumes: 6, cars: 5, goldfish: 5 +Sue 187: perfumes: 4, cats: 7, vizslas: 2 +Sue 188: akitas: 7, cars: 4, children: 10 +Sue 189: akitas: 0, goldfish: 7, vizslas: 5 +Sue 190: akitas: 5, cars: 5, cats: 6 +Sue 191: cars: 6, children: 0, perfumes: 3 +Sue 192: cats: 2, perfumes: 10, goldfish: 7 +Sue 193: trees: 1, perfumes: 0, cars: 8 +Sue 194: perfumes: 9, children: 4, cats: 6 +Sue 195: akitas: 7, trees: 3, goldfish: 6 +Sue 196: goldfish: 8, cars: 8, samoyeds: 0 +Sue 197: cats: 0, akitas: 10, vizslas: 0 +Sue 198: goldfish: 1, perfumes: 3, cars: 8 +Sue 199: akitas: 10, vizslas: 5, samoyeds: 6 +Sue 200: pomeranians: 9, goldfish: 9, samoyeds: 7 +Sue 201: samoyeds: 0, goldfish: 7, akitas: 6 +Sue 202: vizslas: 0, goldfish: 2, akitas: 1 +Sue 203: goldfish: 3, children: 0, vizslas: 8 +Sue 204: cars: 8, trees: 2, perfumes: 2 +Sue 205: cars: 4, perfumes: 5, goldfish: 8 +Sue 206: vizslas: 3, trees: 2, akitas: 1 +Sue 207: cars: 7, goldfish: 5, trees: 1 +Sue 208: goldfish: 1, cars: 6, vizslas: 8 +Sue 209: cats: 4, trees: 1, children: 0 +Sue 210: cats: 10, children: 0, perfumes: 0 +Sue 211: cars: 4, pomeranians: 7, samoyeds: 5 +Sue 212: cars: 2, pomeranians: 10, trees: 1 +Sue 213: trees: 10, cats: 5, cars: 10 +Sue 214: perfumes: 5, trees: 1, vizslas: 1 +Sue 215: akitas: 10, vizslas: 8, samoyeds: 8 +Sue 216: vizslas: 2, cats: 5, pomeranians: 3 +Sue 217: akitas: 10, perfumes: 0, cats: 10 +Sue 218: trees: 8, cats: 5, vizslas: 2 +Sue 219: goldfish: 10, perfumes: 8, children: 2 +Sue 220: samoyeds: 9, trees: 8, vizslas: 7 +Sue 221: children: 7, trees: 6, cars: 6 +Sue 222: cats: 4, akitas: 5, pomeranians: 0 +Sue 223: trees: 8, goldfish: 2, perfumes: 8 +Sue 224: pomeranians: 9, cars: 8, akitas: 5 +Sue 225: akitas: 10, vizslas: 0, trees: 2 +Sue 226: akitas: 8, cats: 6, cars: 7 +Sue 227: trees: 1, akitas: 3, goldfish: 4 +Sue 228: pomeranians: 6, cats: 3, goldfish: 3 +Sue 229: trees: 10, perfumes: 3, vizslas: 7 +Sue 230: perfumes: 8, cars: 7, akitas: 0 +Sue 231: perfumes: 10, goldfish: 4, cars: 6 +Sue 232: goldfish: 7, trees: 3, cats: 2 +Sue 233: perfumes: 6, trees: 4, akitas: 4 +Sue 234: goldfish: 9, cats: 4, cars: 7 +Sue 235: pomeranians: 6, vizslas: 0, akitas: 6 +Sue 236: samoyeds: 5, cars: 5, children: 4 +Sue 237: vizslas: 10, cars: 4, goldfish: 4 +Sue 238: goldfish: 3, samoyeds: 7, akitas: 2 +Sue 239: cats: 8, children: 2, vizslas: 7 +Sue 240: cars: 9, perfumes: 4, trees: 9 +Sue 241: trees: 8, vizslas: 2, goldfish: 5 +Sue 242: cars: 6, trees: 3, vizslas: 3 +Sue 243: cats: 6, children: 7, cars: 4 +Sue 244: cats: 10, perfumes: 2, goldfish: 7 +Sue 245: akitas: 8, cats: 10, perfumes: 8 +Sue 246: vizslas: 8, akitas: 5, perfumes: 10 +Sue 247: goldfish: 2, vizslas: 5, akitas: 7 +Sue 248: akitas: 3, perfumes: 0, trees: 10 +Sue 249: cats: 4, vizslas: 5, pomeranians: 6 +Sue 250: children: 3, vizslas: 7, perfumes: 2 +Sue 251: cars: 0, pomeranians: 10, perfumes: 0 +Sue 252: akitas: 0, goldfish: 9, cars: 6 +Sue 253: perfumes: 7, cars: 4, samoyeds: 5 +Sue 254: akitas: 9, trees: 10, cars: 4 +Sue 255: samoyeds: 10, children: 6, akitas: 7 +Sue 256: trees: 8, goldfish: 8, perfumes: 8 +Sue 257: goldfish: 3, akitas: 2, perfumes: 6 +Sue 258: cats: 7, trees: 0, vizslas: 1 +Sue 259: perfumes: 7, cars: 7, akitas: 7 +Sue 260: goldfish: 0, vizslas: 0, samoyeds: 2 +Sue 261: vizslas: 2, children: 2, cats: 3 +Sue 262: vizslas: 2, pomeranians: 9, samoyeds: 3 +Sue 263: cats: 1, akitas: 3, vizslas: 1 +Sue 264: pomeranians: 10, trees: 2, goldfish: 7 +Sue 265: samoyeds: 5, trees: 7, perfumes: 4 +Sue 266: perfumes: 10, cars: 1, pomeranians: 3 +Sue 267: trees: 6, goldfish: 1, cars: 0 +Sue 268: cars: 6, samoyeds: 4, pomeranians: 5 +Sue 269: goldfish: 3, vizslas: 3, akitas: 3 +Sue 270: children: 5, cats: 0, cars: 4 +Sue 271: goldfish: 3, perfumes: 8, pomeranians: 7 +Sue 272: samoyeds: 6, cars: 7, perfumes: 10 +Sue 273: trees: 4, cars: 2, vizslas: 7 +Sue 274: samoyeds: 10, perfumes: 9, goldfish: 6 +Sue 275: cars: 4, trees: 2, perfumes: 7 +Sue 276: akitas: 3, perfumes: 9, cars: 9 +Sue 277: akitas: 8, vizslas: 2, cats: 6 +Sue 278: trees: 5, goldfish: 7, akitas: 3 +Sue 279: perfumes: 9, cars: 8, vizslas: 2 +Sue 280: trees: 3, vizslas: 0, children: 0 +Sue 281: cars: 7, trees: 2, cats: 5 +Sue 282: vizslas: 4, cars: 10, cats: 3 +Sue 283: akitas: 10, cats: 3, samoyeds: 9 +Sue 284: trees: 7, children: 5, goldfish: 6 +Sue 285: cars: 2, perfumes: 5, cats: 7 +Sue 286: samoyeds: 5, trees: 10, goldfish: 6 +Sue 287: goldfish: 10, perfumes: 4, trees: 7 +Sue 288: vizslas: 9, trees: 9, perfumes: 0 +Sue 289: trees: 4, goldfish: 9, vizslas: 8 +Sue 290: vizslas: 3, cars: 3, trees: 2 +Sue 291: goldfish: 2, akitas: 2, trees: 2 +Sue 292: children: 1, cars: 0, vizslas: 5 +Sue 293: trees: 5, akitas: 4, goldfish: 6 +Sue 294: akitas: 3, vizslas: 7, pomeranians: 5 +Sue 295: goldfish: 10, vizslas: 3, trees: 1 +Sue 296: cars: 2, trees: 1, akitas: 0 +Sue 297: akitas: 10, vizslas: 6, samoyeds: 2 +Sue 298: children: 5, trees: 1, samoyeds: 9 +Sue 299: perfumes: 9, trees: 6, vizslas: 1 +Sue 300: akitas: 7, pomeranians: 6, vizslas: 6 +Sue 301: cats: 7, children: 6, vizslas: 7 +Sue 302: trees: 2, vizslas: 7, samoyeds: 4 +Sue 303: goldfish: 0, samoyeds: 10, cars: 4 +Sue 304: pomeranians: 9, children: 3, vizslas: 5 +Sue 305: akitas: 8, vizslas: 4, cars: 5 +Sue 306: akitas: 0, perfumes: 2, pomeranians: 10 +Sue 307: akitas: 9, cars: 0, trees: 2 +Sue 308: vizslas: 10, goldfish: 8, akitas: 6 +Sue 309: trees: 0, cats: 6, perfumes: 2 +Sue 310: vizslas: 10, cars: 1, trees: 4 +Sue 311: goldfish: 8, perfumes: 6, cats: 3 +Sue 312: goldfish: 0, children: 1, akitas: 2 +Sue 313: pomeranians: 10, trees: 6, samoyeds: 6 +Sue 314: vizslas: 5, akitas: 4, pomeranians: 2 +Sue 315: goldfish: 7, trees: 0, akitas: 5 +Sue 316: goldfish: 4, vizslas: 5, cars: 7 +Sue 317: perfumes: 7, cats: 10, cars: 4 +Sue 318: samoyeds: 10, cars: 9, trees: 7 +Sue 319: pomeranians: 8, vizslas: 6, cars: 3 +Sue 320: cars: 4, cats: 9, akitas: 4 +Sue 321: cars: 6, trees: 2, perfumes: 6 +Sue 322: goldfish: 1, cats: 2, perfumes: 4 +Sue 323: akitas: 6, cats: 5, cars: 8 +Sue 324: cats: 4, vizslas: 9, akitas: 0 +Sue 325: children: 8, samoyeds: 9, trees: 4 +Sue 326: vizslas: 2, samoyeds: 10, perfumes: 7 +Sue 327: goldfish: 7, pomeranians: 4, akitas: 10 +Sue 328: perfumes: 8, cats: 4, akitas: 10 +Sue 329: trees: 0, cars: 9, goldfish: 3 +Sue 330: trees: 5, samoyeds: 7, perfumes: 8 +Sue 331: cars: 4, perfumes: 2, goldfish: 0 +Sue 332: vizslas: 4, pomeranians: 7, akitas: 1 +Sue 333: akitas: 4, goldfish: 3, perfumes: 0 +Sue 334: samoyeds: 3, akitas: 10, vizslas: 0 +Sue 335: goldfish: 1, akitas: 7, vizslas: 6 +Sue 336: perfumes: 1, goldfish: 1, pomeranians: 8 +Sue 337: children: 5, cars: 4, cats: 4 +Sue 338: vizslas: 5, cars: 10, cats: 3 +Sue 339: trees: 2, goldfish: 3, cars: 1 +Sue 340: trees: 10, goldfish: 6, perfumes: 2 +Sue 341: akitas: 5, trees: 6, cats: 3 +Sue 342: cars: 10, children: 8, goldfish: 0 +Sue 343: cats: 2, akitas: 0, pomeranians: 4 +Sue 344: perfumes: 1, vizslas: 3, cars: 3 +Sue 345: samoyeds: 8, cats: 5, perfumes: 8 +Sue 346: cars: 5, akitas: 10, trees: 2 +Sue 347: vizslas: 9, akitas: 9, cars: 3 +Sue 348: cars: 3, perfumes: 1, pomeranians: 9 +Sue 349: akitas: 1, cars: 4, perfumes: 0 +Sue 350: perfumes: 8, vizslas: 2, trees: 6 +Sue 351: pomeranians: 5, akitas: 9, cats: 8 +Sue 352: pomeranians: 8, vizslas: 3, goldfish: 10 +Sue 353: trees: 2, pomeranians: 0, goldfish: 6 +Sue 354: cats: 5, akitas: 7, goldfish: 6 +Sue 355: goldfish: 6, children: 4, trees: 10 +Sue 356: children: 1, trees: 3, akitas: 7 +Sue 357: trees: 2, samoyeds: 10, goldfish: 3 +Sue 358: samoyeds: 10, cats: 0, goldfish: 0 +Sue 359: perfumes: 3, children: 6, pomeranians: 1 +Sue 360: cars: 10, pomeranians: 1, samoyeds: 5 +Sue 361: samoyeds: 9, pomeranians: 7, perfumes: 6 +Sue 362: goldfish: 6, trees: 8, perfumes: 9 +Sue 363: samoyeds: 10, pomeranians: 9, children: 10 +Sue 364: perfumes: 3, goldfish: 7, cars: 9 +Sue 365: cats: 3, children: 4, samoyeds: 8 +Sue 366: trees: 0, cars: 10, vizslas: 10 +Sue 367: pomeranians: 10, children: 8, perfumes: 2 +Sue 368: cars: 5, vizslas: 0, samoyeds: 3 +Sue 369: trees: 1, goldfish: 8, cars: 8 +Sue 370: vizslas: 0, cars: 2, perfumes: 5 +Sue 371: trees: 2, cars: 3, vizslas: 8 +Sue 372: trees: 10, children: 9, cats: 1 +Sue 373: pomeranians: 3, perfumes: 1, vizslas: 0 +Sue 374: vizslas: 0, perfumes: 6, trees: 0 +Sue 375: vizslas: 7, pomeranians: 1, akitas: 10 +Sue 376: vizslas: 8, trees: 2, cars: 10 +Sue 377: perfumes: 9, cats: 5, goldfish: 5 +Sue 378: cats: 0, akitas: 10, perfumes: 9 +Sue 379: cars: 4, akitas: 1, trees: 1 +Sue 380: cars: 4, perfumes: 5, trees: 3 +Sue 381: goldfish: 3, akitas: 5, samoyeds: 9 +Sue 382: goldfish: 7, perfumes: 5, trees: 5 +Sue 383: akitas: 4, cats: 6, cars: 8 +Sue 384: children: 6, goldfish: 10, akitas: 7 +Sue 385: akitas: 7, vizslas: 5, perfumes: 10 +Sue 386: children: 7, vizslas: 10, akitas: 10 +Sue 387: goldfish: 6, akitas: 7, trees: 2 +Sue 388: vizslas: 6, trees: 1, akitas: 2 +Sue 389: cars: 5, vizslas: 3, akitas: 7 +Sue 390: vizslas: 4, cats: 8, perfumes: 7 +Sue 391: akitas: 3, trees: 0, children: 2 +Sue 392: cats: 7, cars: 3, children: 9 +Sue 393: trees: 10, vizslas: 3, goldfish: 7 +Sue 394: perfumes: 0, goldfish: 7, akitas: 4 +Sue 395: cats: 6, cars: 7, vizslas: 0 +Sue 396: vizslas: 4, perfumes: 6, goldfish: 5 +Sue 397: pomeranians: 8, trees: 1, akitas: 9 +Sue 398: goldfish: 7, pomeranians: 6, samoyeds: 9 +Sue 399: perfumes: 10, cars: 1, trees: 8 +Sue 400: trees: 0, goldfish: 9, children: 6 +Sue 401: trees: 1, cars: 6, pomeranians: 8 +Sue 402: perfumes: 9, cars: 0, vizslas: 10 +Sue 403: samoyeds: 4, akitas: 1, vizslas: 9 +Sue 404: perfumes: 0, trees: 2, cars: 4 +Sue 405: akitas: 0, perfumes: 5, samoyeds: 4 +Sue 406: akitas: 8, vizslas: 6, children: 2 +Sue 407: children: 1, trees: 8, goldfish: 10 +Sue 408: pomeranians: 4, trees: 10, cars: 9 +Sue 409: perfumes: 5, vizslas: 5, akitas: 4 +Sue 410: trees: 1, akitas: 10, vizslas: 6 +Sue 411: samoyeds: 0, goldfish: 9, perfumes: 7 +Sue 412: goldfish: 7, samoyeds: 10, trees: 1 +Sue 413: samoyeds: 0, pomeranians: 10, vizslas: 6 +Sue 414: children: 2, cars: 10, samoyeds: 2 +Sue 415: trees: 2, goldfish: 8, cars: 0 +Sue 416: samoyeds: 4, goldfish: 9, trees: 2 +Sue 417: trees: 8, akitas: 10, perfumes: 3 +Sue 418: samoyeds: 9, goldfish: 2, cars: 1 +Sue 419: akitas: 2, perfumes: 8, trees: 2 +Sue 420: children: 3, goldfish: 6, perfumes: 5 +Sue 421: akitas: 8, perfumes: 2, samoyeds: 6 +Sue 422: vizslas: 10, akitas: 4, pomeranians: 3 +Sue 423: cats: 8, perfumes: 3, trees: 4 +Sue 424: cars: 2, children: 4, pomeranians: 8 +Sue 425: pomeranians: 4, samoyeds: 2, goldfish: 4 +Sue 426: perfumes: 6, cars: 4, goldfish: 4 +Sue 427: akitas: 0, goldfish: 7, perfumes: 5 +Sue 428: perfumes: 4, cars: 3, akitas: 5 +Sue 429: trees: 0, vizslas: 0, goldfish: 1 +Sue 430: perfumes: 4, vizslas: 2, cars: 7 +Sue 431: goldfish: 7, pomeranians: 8, trees: 0 +Sue 432: goldfish: 7, children: 9, trees: 3 +Sue 433: akitas: 1, vizslas: 10, trees: 2 +Sue 434: perfumes: 2, cars: 4, goldfish: 10 +Sue 435: pomeranians: 6, vizslas: 9, trees: 1 +Sue 436: cars: 9, trees: 0, goldfish: 0 +Sue 437: trees: 1, goldfish: 1, vizslas: 8 +Sue 438: goldfish: 7, samoyeds: 8, children: 2 +Sue 439: children: 1, cats: 7, vizslas: 8 +Sue 440: cats: 2, pomeranians: 6, goldfish: 4 +Sue 441: perfumes: 7, cats: 3, vizslas: 6 +Sue 442: akitas: 4, samoyeds: 5, cars: 2 +Sue 443: akitas: 3, perfumes: 3, cats: 9 +Sue 444: perfumes: 10, akitas: 6, trees: 0 +Sue 445: cars: 5, children: 9, perfumes: 8 +Sue 446: vizslas: 10, cars: 3, perfumes: 5 +Sue 447: children: 9, perfumes: 1, cars: 10 +Sue 448: akitas: 0, goldfish: 8, trees: 3 +Sue 449: cars: 7, akitas: 8, children: 3 +Sue 450: cars: 4, akitas: 9, cats: 0 +Sue 451: perfumes: 4, samoyeds: 5, goldfish: 6 +Sue 452: perfumes: 10, akitas: 1, cars: 7 +Sue 453: trees: 1, goldfish: 3, vizslas: 6 +Sue 454: goldfish: 8, pomeranians: 6, trees: 10 +Sue 455: akitas: 5, vizslas: 8, goldfish: 10 +Sue 456: cats: 5, trees: 4, samoyeds: 0 +Sue 457: perfumes: 8, cars: 0, cats: 3 +Sue 458: akitas: 1, trees: 10, vizslas: 2 +Sue 459: vizslas: 6, akitas: 3, children: 10 +Sue 460: perfumes: 7, trees: 9, goldfish: 8 +Sue 461: children: 6, vizslas: 4, perfumes: 5 +Sue 462: vizslas: 6, akitas: 8, perfumes: 9 +Sue 463: goldfish: 8, cars: 4, trees: 10 +Sue 464: pomeranians: 8, cars: 5, vizslas: 0 +Sue 465: cats: 10, goldfish: 7, akitas: 1 +Sue 466: cats: 2, children: 1, cars: 6 +Sue 467: perfumes: 3, samoyeds: 6, cars: 0 +Sue 468: samoyeds: 10, pomeranians: 6, trees: 2 +Sue 469: children: 2, perfumes: 2, pomeranians: 4 +Sue 470: cats: 1, perfumes: 5, vizslas: 9 +Sue 471: vizslas: 5, perfumes: 2, akitas: 7 +Sue 472: samoyeds: 8, goldfish: 6, cats: 1 +Sue 473: goldfish: 10, perfumes: 9, cars: 4 +Sue 474: samoyeds: 0, cars: 4, vizslas: 4 +Sue 475: trees: 2, cars: 7, akitas: 8 +Sue 476: vizslas: 3, perfumes: 5, goldfish: 1 +Sue 477: cats: 7, cars: 4, trees: 1 +Sue 478: vizslas: 8, akitas: 3, goldfish: 0 +Sue 479: cars: 6, cats: 3, perfumes: 2 +Sue 480: goldfish: 1, children: 9, vizslas: 3 +Sue 481: pomeranians: 5, vizslas: 1, cars: 10 +Sue 482: children: 5, perfumes: 5, cats: 1 +Sue 483: perfumes: 2, goldfish: 7, trees: 6 +Sue 484: akitas: 2, goldfish: 4, perfumes: 10 +Sue 485: samoyeds: 3, goldfish: 0, akitas: 1 +Sue 486: trees: 8, vizslas: 9, goldfish: 0 +Sue 487: goldfish: 8, samoyeds: 0, trees: 0 +Sue 488: perfumes: 7, cars: 5, trees: 0 +Sue 489: vizslas: 3, pomeranians: 2, perfumes: 5 +Sue 490: cars: 5, perfumes: 5, akitas: 5 +Sue 491: children: 8, trees: 1, pomeranians: 4 +Sue 492: pomeranians: 0, akitas: 1, vizslas: 8 +Sue 493: akitas: 10, perfumes: 10, samoyeds: 8 +Sue 494: perfumes: 6, vizslas: 4, cats: 6 +Sue 495: children: 6, pomeranians: 5, samoyeds: 4 +Sue 496: vizslas: 1, trees: 5, akitas: 1 +Sue 497: vizslas: 10, perfumes: 10, pomeranians: 3 +Sue 498: samoyeds: 3, trees: 2, cars: 5 +Sue 499: cats: 6, children: 3, perfumes: 0 +Sue 500: pomeranians: 10, cats: 3, vizslas: 5 \ No newline at end of file diff --git a/2015/input/17 b/2015/input/17 new file mode 100644 index 0000000..02f67bd --- /dev/null +++ b/2015/input/17 @@ -0,0 +1,20 @@ +43 +3 +4 +10 +21 +44 +4 +6 +47 +41 +34 +17 +17 +44 +36 +31 +46 +9 +27 +38 \ No newline at end of file diff --git a/2015/input/18 b/2015/input/18 new file mode 100644 index 0000000..a54465d --- /dev/null +++ b/2015/input/18 @@ -0,0 +1,100 @@ +####.#.##.###.#.#.##.#..###.#..#.#.#..##....#.###...##..###.##.#.#.#.##...##..#..#....#.#.##..#...## +.##...##.##.######.#.#.##...#.#.#.#.#...#.##.#..#.#.####...#....#....###.#.#.#####....#.#.##.#.#.##. +###.##..#..#####.......#.########...#.####.###....###.###...#...####.######.#..#####.#.###....####.. +....#..#..#....###.##.#.....##...#.###.#.#.#..#.#..##...#....#.##.###.#...######......#..#.#..####.# +..###.####..#.#.#..##.#.#....#......#.##.##..##.#.....##.###.#..###...###.#.##..#.#..###....####.#.# +#.#...#......####.#..##.####.#.#.#...##..###.##.#...#..#..###....#.#....#..##..#....##.....##.#...#. +....##.#.#.#.##..##...##..##..#....#....###...####.###...##.#...#..#....##.....#..#.#####.###.###.## +#...##..#.#..#....#..########.##....##..##.###..#.#..#..#.##.##.#..##..######....####..#####.#.###.. +.####...######.#..#.##.#.#..####...####.##.#.#......#...##....##..#...###..#.####......###......#.## +.####.###..#..#####.##...###......#...###..#..##..#.#....##.##.#.##.###..#..#..###.#..#.#....####.## +#..#..##.##.##.###.#.##.##.#.#.#....#....#.####.#.##...#####...###.#####.#.#.#....####..###..###..## +#.##....#...########..##...#.#.##.......#.#..##...####...#.####.####..##...##.#....###.#.####...#.## +#.#...##..#.##.##..##....#.....##.##.....#...###...#..#...####.##.####..#...##..##.##.##.##..##...## +.#..###...#.#.....#######..##.###....##..#.##.#......###.##....#......###...#.##....#.....##......## +..##....#.###...###..####.##..#..##.##......##.#.....#...#..#..##...###..#.####...#...#..##.#..##..# +...#.#.#...#.#..#.##....##..#...#.##..#......#.#.....#####.##.#...#######.#.#..#.####..###.....###.# +.#....#.#.##..####.#####..#.#######..#.##.###...##.##....##..###..#.##.###.......#....#..######.#### +#..#.##.##..#..#..##.####.#.#.#.#..#.##...#..######....#.##.#..##.##.######.###.###.###...#.....#.#. +.#.......#...#.####.##...#####..##..#.#....##..#.#.#.####.#.##....#..##.##..#.###.....#.##.##.#.##.# +#..##..##...#....#.##.#...#.#....#......####...##..#...##.##.#..#########..#..#.##.##..#.#.#######.. +#.......#####..###..######.#..##.#.#####..##...###...#.####.##...###..#.#.#####....#...#.##...#.#..# +.##..#...#####.##.##......#...#.#.#.###.#.#.#...##.#..#....###.....#..#.#.###......#####.###.#..##.# +.....###.#.#.#..##...#...###..#...#.#.##..###.##.#####.##..#.#.#.#.#####....#.#.#####...##.#..#.#.#. +###...##.#..#.####..##.#..##.#.#.#...#.#..#..##..##..#.#.#.#.##...##..#..#.....#....#####.#.#.####.# +....##....#.#.....#...###.#...##..##.##..#..###..##.###..#####..#...#####.##.#..#.#.#.###...####.### +##.##.##.#...#..#...........##.##.###.#...###.####.#..#..#...#..#..####.#.###########..#.###.###.#.# +##.##..##.####..###...##...#....###.###.#..##..#..#.###.#..####.#..##.#.#...#..#.#.##.##...#...#.... +..##...#.#.##....##...#.#.#......##.##.#.#.####.####....####.#.###.##.#.#..####..#..######..#..#.#.. +####.#.##.......##.###....##.#..####.#.#######..#...###..##.##..#...#...####........#.#..##...#....# +#..#.#.....#..#.###..#.#...###..##...#.#..#.#.##..#...##.##.##.#.#.#..#.####.########....########..# +#...#..##.##..#.#.#.##.##.##.#..#..#.##....#....###.#.###.#.#..#....#...##..#.....####...##.#..#...# +.###...##...####....###.##.#..####...##.#.##.#..##..##....#....##.#...#..#..##..##..##.#...#...###.. +.#..##.#..##..####..#.#.##..###.#...#....##.###...#.###....#.#.#........#..#.#.#..##..#####..#..#.#. +.#.##.....#..#...#.##.....#.##..#..#....#..#..#....#.##..##...#.##.##..##..#.#.#.##..####.##..#.#..# +...###.#.....#...#.##.#.###.#...##..#.###..#..#..#.#..#...###.#.##.##.##.#.##.#####.#..#.#..#.#...## +#.#.#.#.##.#.....##..#.###......##.#.##..#...#.########.##.###..#..#..##..##.#..##..###.#.###...#.#. +..##...##...#...###.#..##..#..#..#.#.##..##......##..##.....##.....####..#.##......#..####...###..## +##.......#..##....###...###......#.##.##....######..###.##...##.#...#...#.....#.###.#.#..#.##..#..#. +#.#..#..#.#####.##.##.###..#...###.....#..##..####...#.#.###....#..#.#.###.####..#.#........##.#.... +..###.#...##.#.####.#.##.##.....##...#.##.#.###.#.#..##.#..##..#..##.##....#.#####.##..#######.....# +###.###..##.#..##...#####..##.####....#.##......##......#.#....##.####.#.#.#.###...#..####..#.###### +#..###...#.#.......#..####.####...#....###.###...#.##..##..#..##.##.......####.##...#.#.#.##.#.#..#. +..#...#..###.##..#.#.#.##..#..#.#.......###..###..#####.#.#.#.#.#..#.#.#.#..###....#.####..###...#.. +...######.###....#..####.####......#...#.###.#....#...####.##........##...##.#..##.###.#..#..##..### +.#..###.####.###.#.#..#..#..#.##.#.#.###.##..####.#####..##....##.#.##...###.####.#.#######.#..#..#. +.#..##.#..##..#...##...#..#..##.#.#....##.##...###.#.#...##..##..#.###.#.#.#.#...#....#.#..#.#.###.# +.###..#.#..####.#########...####....####.#.##...##.##..#.##.#........#.....###.###.######.##.....### +..##.##..##..#.####.#..#####.#....##.##.#####.....#.#......##...#####..####....###..#.#...#..####..# +.#..##..##.##.##.##.#.###.###.#..#..#...###.#.##..##...##...###...##.###..#.#.#####.#.#.##....#.##.. +...#.#....##.#.....###.##...#..##....#...###....#..#.###...##.#...###.#....#...##..###.#.....##....# +.#######..#...##.#.###.##.#.###...##......#.###.#...#.###.#.#.#..#..#####..#########...##..##...#..# +.#..#.##...#.#..#.##..#.#.#.##.....####.#..#.###..##.#.#.#...#....#.#..##.######...#.#..##.##...#..# +#.#######.#####..#####.##.##.#.#.##.###..#....####.#..##.##.######..###...#.#..#.####.##.##....####. +...##..#...##..#..#.....#.##...#.....##.#####.###.########.######..#...###..#.##.#.#.##..#.#.##..##. +#..#..#.#....###.#...##..####.#.##..#.####.###..##.#...#.###.#..#.##..#######.#...#..#.#..##.#....## +..#.##.#.####..##.###.###..#.##.#.####..##....##.###.#..##.#.###.###.##.##.#####..#.#...########.... +.#.#.###..###...#...#..##.##......#..#...#.#.#.######.#.#...##..##........#....###..##...#..##.##... +##..#....##.###...##.#.##.##.##..#....#.#.#..#..####.##..#...#...#..#..#####.###...#..###..#...#.#.. +##.#.#.##.###.....######.#.....#...#.##....###.#.##.#.#.##..##.######.#####....#.#####...##.#..###.# +######.#...####..###..##..#..##...#.#....##.#...##...#.....#...##....#.##..###..###...###..#..###### +.....##.........#####.#.##..#..#.#.#.#.##...#....#.....###.########...#..####..#...#...##..#.##.##.# +#..###...#.##.##.#.#..####.#.....##..###....##..#...#.#...##.##..###..####...#.####..##..#..##..#... +#.####.#..##.#..#.....#..#.#..###...######.#.........####....###..#.#.#.##.#..#...#..####.....##..#. +..##....#.###.......##.#...#.####..##....##.#..#....#######...####.##..#####.#.#.#.#.##..##..#.#.#.. +#.#.#.###..#..#.#..#.#.###....#...#####.###...........#.#....#####...#..####....#...###.#..#..####.. +.......#.####.##...#..#.##..###..#..#.#.#.#.###....#....#.#.#..#.#..##.#####.#.....#.##.#.###.###.## +..###...#..#...####.#..##..##.#.#..#...#.#..#....###.#..####..######...####.#.##..#.#..###...##.#### +..#.###..#.#...##...#.#....#..#...#.#..##.######.######.#.##.....#..##.#..###..#..#.##.###...#..#.## +####..##.####.....#...#.#.###..#...####.###.#.#.#.......##...#....#..#....#.#......###...#####.#.##. +#..##..#..#.####...#####.#.###.##.#.##.....#.#..#.##........######.#.#.###....##.##..##..########.## +#.#....###.##....#######.#...#.#.#.#..##.#.##...#.###...#.#.#..#.#..####.#.#..#..#.##.####....#..##. +####.##....#.......###..#..##.#.#.##..#...#...##.###....##..###.#.#...#..#.....##.###.##...###....## +..##.#..#....######..#.##.#.#...##..####.#####...##.#..###.##...#..####..###.##..##.##.#####.#..#.#. +.#.##..#..##.#.###.###....#.#..#....#...###.##.#.#.####.....#....#...#.....#....#.#.###.#..#.##..### +..###.#.#.##...##.##.##.#...#####.#..##.#....##..####...###..#....#.##...#........#####.#.###.#..#.. +....#..##..##....#.#....#.#..##...##.#...##.###.#.#..###..##.##.##..#.#.#..#.#.##.......#.##.###..#. +.#..##.##.####.##....##.##.....###..##.#.##...#..###....###.###....#.#....#....#.##.#.##.#.##.....## +#.#..#.##.###.#.######.....###.#..#...#.#.....##.###.#...#.#..###.#.....##.###.#.###.####..#####.#.. +#.#.##......#.##.#.#..##....#..###.#.###...##...###.#..#.##...#..#.##..##.#...######.##.....#####.## +#.#..#####....###.###...#.......#....###.##...#..#.##..#...#####..#..#.##......###...#...###..#.#..# +#.##..##.##.#..#.##.##..#.###.##.........###.#.#..#.#.....#.#...#.#.##.#.##.#...#...####.#.......##. +.#...####.##..#..##....####..######...#.#..##.##.....#####.#...#..#.####.#######...#.#####..#.###... +.#..######.#.##..##...##.....###.#..##..#...####..###...###.###..#..######.#....########..#####...#. +#..##.......#####...###..#.#.##.#..###.#...##.#..#.##.###...###...##.#..##..########..#.#..##..#.### +.#.#..#...#.#..#..##...#.#.##...###..#..#....###.#....#.##....###.###..##..#.#.####..####.#######.## +...##..##.##.###.##.###...##.#.#.....##.####..#..##.#..#.####...##..#..#.##...##...###.##.#.......## +.#.....#.##..#.#.....#.##.##..###..#....###...#.#....##########.##.###.#...#.####..####.#..#.#..###. +.##.#.#.##..#..###.###.##.#########.#.#.#.#.##.###..##..#.##.####......#####...#..####.#.##..#####.# +..#....###...##....#.###..##..#..####.##..####.#..####.###.#....####.....#.###..##...##..####...##.# +.###.....###.##.##..###.###.....##..#.######.#.#..##..#.##.#..#.#.#....#...#.#.#...#...##....#..##.# +..##....#..#####....#..####.#.#...##.#....##..##.###.###....###......#...#.#####.......#...#.....### +###.#..#.#.##..#..#...#.#....###.##.#.###.#...#.##.#..#.#.......#.#.#.###.####.###....#..##..#####.. +.#..#######.#..###.#.##.#####.#####...##..#.####.#.#.##..###...#..##.##..#.#.###..#....#..#...###.#. +..#####..#.##.....###..##.#...#.#.#..#######.#..#...#.##.##.#.#....####...###..##...#....####.#..#.# +.####..#.#.##.###.#.##.....#..##.#.....###.....#..##...#....###.###..#......###.#.#.#.##.#.##..#...# +##.#..##.#..##...#.#....##..######..#.....#..#...#####....##......####.##..#...##..#.##.#.#######..# +##..####.#...##...#.#####.#.#..#....#.#..##.####.#..######.#..#..#.......#####..#..#..###.##...##.## +#.####......#.###...#..####.#..##.##..#.#...##.###.#...#####..####.#..#.#.....#.##...###...#.#....## +###.#.#.##.######......#.#.#.#.#........#..#..###.#.#.#..#.........#..#....#.#..#..#..###.##......## +##.#########...#...###..#.###.....#.#.##.........###....#.####.#...###.#..##..#.###..#..##......#.## \ No newline at end of file diff --git a/2015/input/19 b/2015/input/19 new file mode 100644 index 0000000..e3001ec --- /dev/null +++ b/2015/input/19 @@ -0,0 +1,45 @@ +Al => ThF +Al => ThRnFAr +B => BCa +B => TiB +B => TiRnFAr +Ca => CaCa +Ca => PB +Ca => PRnFAr +Ca => SiRnFYFAr +Ca => SiRnMgAr +Ca => SiTh +F => CaF +F => PMg +F => SiAl +H => CRnAlAr +H => CRnFYFYFAr +H => CRnFYMgAr +H => CRnMgYFAr +H => HCa +H => NRnFYFAr +H => NRnMgAr +H => NTh +H => OB +H => ORnFAr +Mg => BF +Mg => TiMg +N => CRnFAr +N => HSi +O => CRnFYFAr +O => CRnMgAr +O => HP +O => NRnFAr +O => OTi +P => CaP +P => PTi +P => SiRnFAr +Si => CaSi +Th => ThCa +Ti => BP +Ti => TiTi +e => HF +e => NAl +e => OMg + +CRnSiRnCaPTiMgYCaPTiRnFArSiThFArCaSiThSiThPBCaCaSiRnSiRnTiTiMgArPBCaPMgYPTiRnFArFArCaSiRnBPMgArPRnCaPTiRnFArCaSiThCaCaFArPBCaCaPTiTiRnFArCaSiRnSiAlYSiThRnFArArCaSiRnBFArCaCaSiRnSiThCaCaCaFYCaPTiBCaSiThCaSiThPMgArSiRnCaPBFYCaCaFArCaCaCaCaSiThCaSiRnPRnFArPBSiThPRnFArSiRnMgArCaFYFArCaSiRnSiAlArTiTiTiTiTiTiTiRnPMgArPTiTiTiBSiRnSiAlArTiTiRnPMgArCaFYBPBPTiRnSiRnMgArSiThCaFArCaSiThFArPRnFArCaSiRnTiBSiThSiRnSiAlYCaFArPRnFArSiThCaFArCaCaSiThCaCaCaSiRnPRnCaFArFYPMgArCaPBCaPBSiRnFYPBCaFArCaSiAl \ No newline at end of file diff --git a/2015/input/20 b/2015/input/20 new file mode 100644 index 0000000..f1b40a7 --- /dev/null +++ b/2015/input/20 @@ -0,0 +1 @@ +34000000 \ No newline at end of file diff --git a/2015/input/21 b/2015/input/21 new file mode 100644 index 0000000..e0dc07d --- /dev/null +++ b/2015/input/21 @@ -0,0 +1,3 @@ +Hit Points: 104 +Damage: 8 +Armor: 1 \ No newline at end of file diff --git a/2015/input/22 b/2015/input/22 new file mode 100644 index 0000000..cf0eb7c --- /dev/null +++ b/2015/input/22 @@ -0,0 +1,2 @@ +Hit Points: 51 +Damage: 9 \ No newline at end of file diff --git a/2015/input/23 b/2015/input/23 new file mode 100644 index 0000000..1ff192d --- /dev/null +++ b/2015/input/23 @@ -0,0 +1,48 @@ +jio a, +22 +inc a +tpl a +tpl a +tpl a +inc a +tpl a +inc a +tpl a +inc a +inc a +tpl a +inc a +inc a +tpl a +inc a +inc a +tpl a +inc a +inc a +tpl a +jmp +19 +tpl a +tpl a +tpl a +tpl a +inc a +inc a +tpl a +inc a +tpl a +inc a +inc a +tpl a +inc a +inc a +tpl a +inc a +tpl a +tpl a +jio a, +8 +inc b +jie a, +4 +tpl a +inc a +jmp +2 +hlf a +jmp -7 \ No newline at end of file diff --git a/2015/input/24 b/2015/input/24 new file mode 100644 index 0000000..4747d26 --- /dev/null +++ b/2015/input/24 @@ -0,0 +1,29 @@ +1 +2 +3 +7 +11 +13 +17 +19 +23 +31 +37 +41 +43 +47 +53 +59 +61 +67 +71 +73 +79 +83 +89 +97 +101 +103 +107 +109 +113 \ No newline at end of file diff --git a/2015/input/25 b/2015/input/25 new file mode 100644 index 0000000..ee372cd --- /dev/null +++ b/2015/input/25 @@ -0,0 +1 @@ +To continue, please consult the code grid in the manual. Enter the code at row 2981, column 3075. \ No newline at end of file diff --git a/2015/lib/libflint b/2015/lib/libflint new file mode 160000 index 0000000..9d03411 --- /dev/null +++ b/2015/lib/libflint @@ -0,0 +1 @@ +Subproject commit 9d0341197904d40c7eb3edeff50914b20566c238 diff --git a/2015/src/01.c b/2015/src/01.c new file mode 100644 index 0000000..b0c4162 --- /dev/null +++ b/2015/src/01.c @@ -0,0 +1,28 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day01(void) { + char *input = get_input("input/01"); + char *c = input; + int f = 0, b = 0, s = 1; + + while (*c != '\0') { + if (*c == '(') { + ++f; + } else { + --f; + } + + if (f == -1 && b == 0) { + b = s; + } + + ++c; + ++s; + } + + printf("%d\n%d\n", f, b); + free(input); +} diff --git a/2015/src/02.c b/2015/src/02.c new file mode 100644 index 0000000..32f36a1 --- /dev/null +++ b/2015/src/02.c @@ -0,0 +1,27 @@ +#include +#include +#include + +#include "lfinput.h" +#include "lfmath.h" + +void advent2015day02(void) { + size_t sz = 0; + char **lines = get_lines("input/02", &sz); + int paper = 0, ribbon = 0; + + for (size_t i = 0; i < sz; i++) { + char *t = strtok(lines[i], "x"); + int w = atoi(t); + t = strtok(NULL, "x"); + int l = atoi(t); + t = strtok(NULL, "x"); + int h = atoi(t); + + paper += 2 * l * w + 2 * w * h + 2 * h * l + min_int(w * l, min_int(l * h, h * w)); + ribbon += l * w * h + min_int(w + w + h + h, min_int(h + h + l + l, l + l + w + w)); + } + + printf("%d\n%d\n", paper, ribbon); + del_lines(lines); +} diff --git a/2015/src/03.c b/2015/src/03.c new file mode 100644 index 0000000..bee4417 --- /dev/null +++ b/2015/src/03.c @@ -0,0 +1,89 @@ +#include +#include + +#include "lfset.h" +#include "lfinput.h" +#include "lfutility.h" + +static int part_two(char *input) { + int sx = 0, sy = 0, rx = 0, ry = 0, is_santa = 1; + int *x, *y; + char *c = input; + + Set *houses = malloc(sizeof(Set)); + set_init(houses, Point_cmp_v, free); + + while (*c != '\0') { + if (is_santa) { + x = &sx; + y = &sy; + } else { + x = ℞ + y = &ry; + } + is_santa = is_santa == 1 ? 0 : 1; + + switch (*c) { + case '^': + ++(*y); + break; + case 'v': + --(*y); + break; + case '>': + ++(*x); + break; + case '<': + --(*x); + break; + } + set_insert(houses, Point_new_p(*x, *y)); + ++c; + } + + int sz = houses->size; + set_destroy(houses); + + return sz; +} + +static int part_one(char *input) { + int x = 0, y = 0; + char *c = input; + + Set *houses = malloc(sizeof(Set)); + set_init(houses, Point_cmp_v, free); + + while (*c != '\0') { + switch (*c) { + case '^': + ++y; + break; + case 'v': + --y; + break; + case '>': + ++x; + break; + case '<': + --x; + break; + } + set_insert(houses, Point_new_p(x, y)); + ++c; + } + + int sz = houses->size; + set_destroy(houses); + + return sz; +} + +void advent2015day03(void) { + char *input = get_input("input/03"); + + printf("%d\n", part_one(input)); + printf("%d\n", part_two(input)); + + free(input); +} diff --git a/2015/src/04.c b/2015/src/04.c new file mode 100644 index 0000000..5c76c37 --- /dev/null +++ b/2015/src/04.c @@ -0,0 +1,52 @@ +#include +#include +#include + +#include "lfinput.h" +#include "advent_utility.h" + +static int is_five(char *test) { + char *t = test; + for (int i = 0; i < 5; ++i, ++t) { + if (*t != '0') { + return 0; + } + } + return 1; +} + +static int is_six(char *test) { + char *t = test; + for (int i = 0; i < 6; ++i, ++t) { + if (*t != '0') { + return 0; + } + } + return 1; +} + +void advent2015day04(void) { + char *input = get_input("input/04"); + int c = 0, five = 0, six = 0; + + while (!five || !six) { + int sz = strlen(input) + 8; + char test[sz]; + snprintf(test, sz, "%s%d", input, c); + char *md5 = md5_str(test); + + if (!five && is_five(md5)) { + five = c; + printf("%d\n", five); + } + if (is_six(md5)) { + six = c; + } + + free(md5); + ++c; + } + + printf("%d\n", six); + free(input); +} diff --git a/2015/src/05.c b/2015/src/05.c new file mode 100644 index 0000000..1827af3 --- /dev/null +++ b/2015/src/05.c @@ -0,0 +1,16 @@ +#include +#include + +#include + +void advent2015day05(void) { + /* Sometimes, grep really is the best tool */ + const char *p1 = capture_system( + "grep -E \"(.*[aeiou]){3}\" ./input/2015/05 | grep \"\\(.\\)\\1\" | egrep -v \"(ab|cd|pq|xy)\" | wc -l", 0); + const char *p2 = capture_system("grep \"\\(..\\).*\\1\" ./input/2015/05 | grep \"\\(.\\).\\1\" | wc -l", 0); + + printf("%s%s", p1, p2); + + free(p1); + free(p2); +} diff --git a/2015/src/06.c b/2015/src/06.c new file mode 100644 index 0000000..d3a95db --- /dev/null +++ b/2015/src/06.c @@ -0,0 +1,118 @@ +#include +#include +#include + +#ifdef __linux__ +#include +#endif + +#include "lfinput.h" +#include "lfmath.h" + +#define GRID_SZ 1000 + +typedef struct { + int mode; /* 0 = on, 1 = off, 2 = toggle */ + int x0; + int y0; + int x1; + int y1; +} s1503; + +static void get_coords(char *s, int *x, int *y) { + char buf[8]; + char *c = s; + int i = 0; + const char *errstr = NULL; + + while (*c != ',') { + buf[i++] = *c; + ++c; + } + buf[i] = '\0'; + *x = (int)strtonum(buf, 0, 999, &errstr); + if (NULL != errstr) { + exit(1); + } + + memset(buf, 0, sizeof(char) * 8); + i = 0; + ++c; + while (*c != '\0') { + buf[i++] = *c; + ++c; + } + buf[i] = '\0'; + *y = (int)strtonum(buf, 0, 999, &errstr); + if (NULL != errstr) { + exit(1); + } +} + +static int run(s1503 *ins, size_t sz, int p1) { + int grid[GRID_SZ][GRID_SZ]; + memset(grid, 0, sizeof(int) * GRID_SZ * GRID_SZ); + + for (size_t i = 0; i < sz; ++i) { + for (int x = ins[i].x0; x <= ins[i].x1; ++x) { + for (int y = ins[i].y0; y <= ins[i].y1; ++y) { + switch (ins[i].mode) { + case 0: /* on */ + if (p1) { grid[x][y] = 1; } + else {grid[x][y] += 1; } + break; + + case 1: /* off */ + if (p1) { grid[x][y] = 0; } + else {grid[x][y] = max_int(0, grid[x][y] - 1); } + break; + + case 2: /* toggle */ + if (p1) { grid[x][y] = grid[x][y] == 1 ? 0 : 1; } + else {grid[x][y] += 2; } + break; + } + } + } + } + + int c = 0; + for (int x = 0; x < GRID_SZ; ++x) { + for (int y = 0; y < GRID_SZ; ++y) { + c += grid[x][y]; + } + } + return c; +} + +void advent2015day06(void) { + size_t sz = 0; + char **input = get_lines("input/06", &sz); + s1503 ins[sz]; + for (size_t i = 0; i < sz; ++i) { + char *s = malloc(sizeof(char) * 64); + strncpy(s, input[i], 64); + size_t sp_sz = 0; + char **sp = split(s, &sp_sz, " "); + + if (sp_sz == 4) { + ins[i].mode = 2; + get_coords(sp[1], &ins[i].x0, &ins[i].y0); + get_coords(sp[3], &ins[i].x1, &ins[i].y1); + } else { + if (strcmp(sp[1], "on") == 0) { + ins[i].mode = 0; + } else { + ins[i].mode = 1; + } + get_coords(sp[2], &ins[i].x0, &ins[i].y0); + get_coords(sp[4], &ins[i].x1, &ins[i].y1); + } + + del_split(sp); + } + del_lines(input); + + printf("%d\n", run(ins, sz, 1)); + printf("%d\n", run(ins, sz, 0)); +} diff --git a/2015/src/07.c b/2015/src/07.c new file mode 100644 index 0000000..6cbc624 --- /dev/null +++ b/2015/src/07.c @@ -0,0 +1,118 @@ +#include +#include +#include +#include + +#include "uthash.h" +#include "lfinput.h" +#include "lfbool.h" + +#ifdef __linux__ +#include +#else +#include +#endif + +struct Wire { + char name[8]; + uint16_t val; + UT_hash_handle hh; +}; + +struct Wire *wires = NULL; + +static void set_wire(const char *name, int v) { + struct Wire *w; + HASH_FIND_STR(wires, name, w); + if (w == NULL) { + w = malloc(sizeof(struct Wire)); + strlcpy(w->name, name, 8); + HASH_ADD_STR(wires, name, w); + } + w->val = v; +} + +static struct Wire *get_wire(const char *name) { + struct Wire *w = NULL; + HASH_FIND_STR(wires, name, w); + return w; +} + +static void clear_wires() { + struct Wire *c, *t; + HASH_ITER(hh, wires, c, t) { + HASH_DEL(wires, c); + free(c); + } +} + +static uint16_t get_val(const char* n) { + const char *errstr; + + uint16_t v = strtonum(n, 0, 1 << 16, &errstr); + if (errstr == NULL) { + return v; + }; + + struct Wire *w = get_wire(n); + if (w == NULL) { + return 0; + } + return w->val; +} + +void advent2015day07(void) { + size_t sz = 0; + char **input = get_lines("input/07", &sz); + size_t i = 0; + int a_set = LFFALSE; + + while (!a_set) { + int sz = strlen(input[i]) + 1; + char *buf = malloc(sizeof(char) * sz); + strlcpy(buf, input[i], sz); + size_t sp_sz = 0; + char **sp = split(buf, &sp_sz, " "); + + if (sp_sz == 3) { + uint16_t a = get_val(sp[0]); + if (a != 0) { + set_wire(sp[2], a); + } + } else if (sp_sz == 4) { + uint16_t a = get_val(sp[0]); + if (a != 0) { + set_wire(sp[2], ~a); + } + } else { + uint16_t a = get_val(sp[0]); + uint16_t b = get_val(sp[2]); + if (a != 0 && b != 0) { + if (strcmp(sp[1], "AND") == 0) { + set_wire(sp[4], a & b); + } else if (strcmp(sp[1], "OR") == 0) { + set_wire(sp[4], a | b); + } else if (strcmp(sp[1], "LSHIFT") == 0) { + set_wire(sp[4], a << b); + } else if (strcmp(sp[1], "RSHIFT") == 0) { + set_wire(sp[4], a >> b); + } + } + } + + uint16_t a = get_val("a"); + if (a != 0) { + a_set = LFTRUE; + } + + del_split(sp); + ++i; + if (i == sz) { + i = 0; + } + } + + printf("%u\n", get_wire("a")->val); + del_lines(input); + clear_wires(); +} diff --git a/2015/src/08.c b/2015/src/08.c new file mode 100644 index 0000000..6ae2eff --- /dev/null +++ b/2015/src/08.c @@ -0,0 +1,51 @@ +#include +#include + +#include "lfinput.h" + +static size_t part_one(char** input, size_t sz) { + size_t code = 0, mem = 0; + + for (size_t i = 0; i < sz; ++i) { + code += strlen(input[i]); + for (size_t j = 1; j < strlen(input[i]) - 1; ++j) { + if (input[i][j] == '\\') { + if (input[i][j + 1] == '\"' || input[i][j + 1] == '\\') { + ++j; + } else { + j += 3; + } + } + ++mem; + } + } + + return code - mem; +} + +static size_t part_two(char** input, size_t sz) { + size_t code = 0, encoded = 0; + + for (size_t i = 0; i < sz; ++i) { + code += strlen(input[i]); + encoded += 6; + for (size_t j = 1; j < strlen(input[i]) - 1; ++j) { + if (input[i][j] == '\\' || input[i][j] == '\"') { + ++encoded; + } + ++encoded; + } + } + + return encoded - code; +} + +void advent2015day08(void) { + size_t sz = 0; + char **input = get_lines("input/08", &sz); + + printf("%zu\n", part_one(input, sz)); + printf("%zu\n", part_two(input, sz)); + + del_lines(input); +} diff --git a/2015/src/09.c b/2015/src/09.c new file mode 100644 index 0000000..d49dc24 --- /dev/null +++ b/2015/src/09.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day09(void) { + char *input = get_input("input/09"); + printf("Solution for Day 09 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/10.c b/2015/src/10.c new file mode 100644 index 0000000..0af7c24 --- /dev/null +++ b/2015/src/10.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day10(void) { + char *input = get_input("input/10"); + printf("Solution for Day 10 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/11.c b/2015/src/11.c new file mode 100644 index 0000000..025a60a --- /dev/null +++ b/2015/src/11.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day11(void) { + char *input = get_input("input/11"); + printf("Solution for Day 11 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/12.c b/2015/src/12.c new file mode 100644 index 0000000..40581e1 --- /dev/null +++ b/2015/src/12.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day12(void) { + char *input = get_input("input/12"); + printf("Solution for Day 12 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/13.c b/2015/src/13.c new file mode 100644 index 0000000..bf1c1d2 --- /dev/null +++ b/2015/src/13.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day13(void) { + char *input = get_input("input/13"); + printf("Solution for Day 13 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/14.c b/2015/src/14.c new file mode 100644 index 0000000..44ba1bd --- /dev/null +++ b/2015/src/14.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day14(void) { + char *input = get_input("input/14"); + printf("Solution for Day 14 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/15.c b/2015/src/15.c new file mode 100644 index 0000000..d656c02 --- /dev/null +++ b/2015/src/15.c @@ -0,0 +1,63 @@ +#include +#include + +#include "lfinput.h" + +typedef struct { + long cap; + long dur; + long flv; + long tex; + long cal; +} Ingredient; + +static long long_max(long a, long b) { + return a > b ? a : b; +} + +void advent2015day15(void) { + size_t input_sz = 0; + char **input = get_lines("input/15", &input_sz); + + Ingredient ing[input_sz]; for (size_t i = 0; i < input_sz; ++i) { + char n[16]; + sscanf(input[i], "%s capacity %ld, durability %ld, flavor %ld, texture %ld, calories %ld", + n, + &ing[i].cap, + &ing[i].dur, + &ing[i].flv, + &ing[i].tex, + &ing[i].cal + ); + } + + long max = 0, max_healthy = 0; + for (long p0 = 0; p0 < 100; ++p0) { + for (long p1 = 0; p1 < 100; ++p1) { + for (long p2 = 0; p2 < 100; ++p2) { + for (long p3 = 0; p3 < 100; ++p3) { + if (p0 + p1 + p2 + p3 != 100) { + continue; + } + long cap = long_max(ing[0].cap * p0 + ing[1].cap * p1 + ing[2].cap * p2 + ing[3].cap * p3, 0); + long dur = long_max(ing[0].dur * p0 + ing[1].dur * p1 + ing[2].dur * p2 + ing[3].dur * p3, 0); + long flv = long_max(ing[0].flv * p0 + ing[1].flv * p1 + ing[2].flv * p2 + ing[3].flv * p3, 0); + long tex = long_max(ing[0].tex * p0 + ing[1].tex * p1 + ing[2].tex * p2 + ing[3].tex * p3, 0); + long cal = ing[0].cal * p0 + ing[1].cal * p1 + ing[2].cal * p2 + ing[3].cal * p3; + long score = cap * dur * flv * tex; + if (score > max) { + max = score; + } + if (cal == 500 && score > max_healthy) { + max_healthy = score; + } + } + } + } + } + + printf("%ld\n", max); + printf("%ld\n", max_healthy); + + del_lines(input); +} diff --git a/2015/src/16.c b/2015/src/16.c new file mode 100644 index 0000000..b21064f --- /dev/null +++ b/2015/src/16.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day16(void) { + char *input = get_input("input/16"); + printf("Solution for Day 16 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/17.c b/2015/src/17.c new file mode 100644 index 0000000..391e0a8 --- /dev/null +++ b/2015/src/17.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day17(void) { + char *input = get_input("input/17"); + printf("Solution for Day 17 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/18.c b/2015/src/18.c new file mode 100644 index 0000000..38a3f4b --- /dev/null +++ b/2015/src/18.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day18(void) { + char *input = get_input("input//18"); + printf("Solution for Day 18 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/19.c b/2015/src/19.c new file mode 100644 index 0000000..14ccc75 --- /dev/null +++ b/2015/src/19.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day19(void) { + char *input = get_input("input/19"); + printf("Solution for Day 19 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/20.c b/2015/src/20.c new file mode 100644 index 0000000..92d0208 --- /dev/null +++ b/2015/src/20.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day20(void) { + char *input = get_input("input/20"); + printf("Solution for Day 20 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/21.c b/2015/src/21.c new file mode 100644 index 0000000..d521cef --- /dev/null +++ b/2015/src/21.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day21(void) { + char *input = get_input("input/21"); + printf("Solution for Day 21 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/22.c b/2015/src/22.c new file mode 100644 index 0000000..79e980c --- /dev/null +++ b/2015/src/22.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day22(void) { + char *input = get_input("input/22"); + printf("Solution for Day 22 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/23.c b/2015/src/23.c new file mode 100644 index 0000000..c840839 --- /dev/null +++ b/2015/src/23.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day23(void) { + char *input = get_input("input/23"); + printf("Solution for Day 23 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/24.c b/2015/src/24.c new file mode 100644 index 0000000..44b930c --- /dev/null +++ b/2015/src/24.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day24(void) { + char *input = get_input("input/24"); + printf("Solution for Day 24 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/25.c b/2015/src/25.c new file mode 100644 index 0000000..18c0183 --- /dev/null +++ b/2015/src/25.c @@ -0,0 +1,10 @@ +#include +#include + +#include "lfinput.h" + +void advent2015day25(void) { + char *input = get_input("input/25"); + printf("Solution for Day 25 of 2015 is not completed yet\n"); + free(input); +} diff --git a/2015/src/advent_utility.c b/2015/src/advent_utility.c new file mode 100644 index 0000000..ee4636a --- /dev/null +++ b/2015/src/advent_utility.c @@ -0,0 +1,178 @@ +#include +#include +#include + +#define PCRE2_CODE_UNIT_WIDTH 8 +#include "pcre2.h" + +#if defined __linux__ || defined __APPLE__ +#include +#else +#include +#endif + +#include "advent_utility.h" + +char *md5_str(const char *input) { + unsigned char digest[16]; + +#if defined __linux__ || defined __APPLE__ + MD5_CTX context; + MD5_Init(&context); + MD5_Update(&context, input, strlen(input)); + MD5_Final(digest, &context); +#else + struct MD5Context context; + MD5Init(&context); + MD5Update(&context, input, strlen(input)); + MD5Final(digest, &context); +#endif + + char *md5string = malloc(33); + for (int i = 0; i < 16; ++i) { + snprintf(&md5string[i * 2], 33, "%02x", (unsigned int) digest[i]); + } + return md5string; +} + +Vector *string_to_int_vector(const char *input_string, const char *delim) { + char *copy = strdup(input_string); + char *token = strtok(copy, delim); + Vector *v = malloc(sizeof(Vector)); + vec_init(v, free); + + while (token != NULL) { + int *i = malloc(sizeof(int)); + *i = atoi(token); + vec_push(v, i); + token = strtok(NULL, delim); + } + + free(copy); + return v; +} + +int int_comp(const void *a, const void *b) { + return *(int *) a - *(int *) b; +} + +char **get_matches(char *in, char *pat, size_t *sz, size_t max_matches) { + pcre2_code *re; + PCRE2_SPTR pattern = (PCRE2_SPTR)pat; + int errnum; + size_t erroff; + PCRE2_SPTR8 substr; + size_t substr_sz; + PCRE2_SPTR subject = (PCRE2_SPTR)in; + size_t subject_sz = strlen(in); + + re = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, 0, &errnum, &erroff, NULL); + if (re == NULL) { + char buffer[256]; + pcre2_get_error_message(errnum, buffer, sizeof(buffer)); + printf("PCRE2 compilation failed at offset %d: %s\n", (int) erroff, buffer); + return NULL; + } + + char **matches = NULL; + matches = malloc(sizeof(char *) * max_matches); + if (matches == NULL) { + printf("failed to malloc matches\n"); + pcre2_code_free(re); + return NULL; + } + + pcre2_match_data *match_data = pcre2_match_data_create_from_pattern_8(re, NULL); + int rc = pcre2_match(re, subject, subject_sz, 0, 0, match_data, NULL); + if (rc < 0) { + switch (rc) { + case PCRE2_ERROR_NOMATCH: + printf("PCRE2 no matches\n"); + break; + default: + printf("PCRE2 matching error %d\n", rc); + break; + } + pcre2_match_data_free(match_data); + pcre2_code_free(re); + return NULL; + } + + PCRE2_SIZE *ovector = pcre2_get_ovector_pointer(match_data); + *sz = 0; + for (int i = 0; i < rc; ++i) { + substr = subject + ovector[2*i]; + substr_sz = ovector[2*i+1] - ovector[2*i]; + matches[*sz] = (char *) malloc(substr_sz + 1); + strncpy(matches[*sz], substr, substr_sz); + *sz += 1; + } + + // Now loop through rest of the matches, if there are any + for (;;) { + uint32_t options = 0; + PCRE2_SIZE start_offset = ovector[1]; + + // Check for empty match + if (ovector[0] == ovector[1]) { + if (ovector[0] == subject_sz) { + break; + } + options = PCRE2_NOTEMPTY_ATSTART | PCRE2_ANCHORED; + } + + rc = pcre2_match(re, subject, subject_sz, start_offset, options, match_data, NULL); + if (rc == PCRE2_ERROR_NOMATCH) { + // All matches have been found + if (options == 0) { + break; + } + + // Handle newlines + ovector[1] = start_offset + 1; + if (start_offset < subject_sz - 1 && + //subject[start_offset] == '\r' && + subject[start_offset + 1] == '\n') { + ovector[1] += 1; + } + continue; + } + + // Other failures, non-recoverable + if (rc < 0) { + printf("PCRE2 match-matching error %d\n", rc); + pcre2_match_data_free(match_data); + pcre2_code_free(re); + free_matches(matches, *sz); + return NULL; + } + + + for (int i = 0; i < rc; ++i) { + substr = subject + ovector[2*i]; + substr_sz = ovector[2*i+1] - ovector[2*i]; + matches[*sz] = (char *) malloc(substr_sz + 1); + strncpy(matches[*sz], substr, substr_sz); + *sz += 1; + } + } + + pcre2_match_data_free(match_data); + pcre2_code_free(re); + return matches; +} + +void free_matches(char **matches, size_t sz) { + for (size_t i = 0; i < sz; ++i) { + free(matches[i]); + } + free(matches); +} + +void turn_right(enum Direction *d) { + *d = *d == DIR_WEST ? DIR_NORTH : *d + 1; +} + +void turn_left(enum Direction *d) { + *d = *d == DIR_NORTH ? DIR_WEST : *d - 1; +} diff --git a/2015/src/main.c b/2015/src/main.c new file mode 100644 index 0000000..8797679 --- /dev/null +++ b/2015/src/main.c @@ -0,0 +1,22 @@ +#include +#include + +#ifdef __linux__ +#include +#else +#include +#endif + +#include "advent.h" + +int main(int argc, char **argv) { + int day = 0; + printf("Day: "); + scanf("%d", &day); + if (day < 1 || day > 25) { + printf("Invalid day\n"); + return 1; + } + solutions2015[day - 1](); + return 0; +} diff --git a/2016/.gitignore b/2016/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/2016/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/2016/README.md b/2016/README.md new file mode 100644 index 0000000..e69de29 diff --git a/2016/cmd/main.go b/2016/cmd/main.go new file mode 100644 index 0000000..53f5dd9 --- /dev/null +++ b/2016/cmd/main.go @@ -0,0 +1,26 @@ +package main + +import ( + "aoc/internal/solutions" + "aoc/internal/utility" + "errors" + "fmt" + "strconv" +) + +func main() { + var input string + + fmt.Print("Enter day (1-25): ") + _, err := fmt.Scanln(&input) + utility.Error(err) + + day, err := strconv.Atoi(input) + utility.Error(err) + + if day < 1 || day > 25 { + utility.Error(errors.New("day out of range")) + } + + solutions.Run(day) +} diff --git a/2016/go.mod b/2016/go.mod new file mode 100644 index 0000000..7a1573a --- /dev/null +++ b/2016/go.mod @@ -0,0 +1,3 @@ +module aoc + +go 1.22 diff --git a/2016/input/01 b/2016/input/01 new file mode 100644 index 0000000..1272a14 --- /dev/null +++ b/2016/input/01 @@ -0,0 +1 @@ +L1, R3, R1, L5, L2, L5, R4, L2, R2, R2, L2, R1, L5, R3, L4, L1, L2, R3, R5, L2, R5, L1, R2, L5, R4, R2, R2, L1, L1, R1, L3, L1, R1, L3, R5, R3, R3, L4, R4, L2, L4, R1, R1, L193, R2, L1, R54, R1, L1, R71, L4, R3, R191, R3, R2, L4, R3, R2, L2, L4, L5, R4, R1, L2, L2, L3, L2, L1, R4, R1, R5, R3, L5, R3, R4, L2, R3, L1, L3, L3, L5, L1, L3, L3, L1, R3, L3, L2, R1, L3, L1, R5, R4, R3, R2, R3, L1, L2, R4, L3, R1, L1, L1, R5, R2, R4, R5, L1, L1, R1, L2, L4, R3, L1, L3, R5, R4, R3, R3, L2, R2, L1, R4, R2, L3, L4, L2, R2, R2, L4, R3, R5, L2, R2, R4, R5, L2, L3, L2, R5, L4, L2, R3, L5, R2, L1, R1, R3, R3, L5, L2, L2, R5 \ No newline at end of file diff --git a/2016/input/02 b/2016/input/02 new file mode 100644 index 0000000..b20f384 --- /dev/null +++ b/2016/input/02 @@ -0,0 +1,5 @@ +URULLLLLRLDDUURRRULLLDURRDRDRDLURURURLDLLLLRUDDRRLUDDDDDDLRLRDDDUUDUDLDULUDLDURDULLRDDURLLLRRRLLRURLLUDRDLLRRLDDRUDULRRDDLUUUDRLDLURRRULURRDLLLDDDLUDURDDRLDDDLLRULDRUDDDLUDLURUDLLRURRUURUDLLLUUUUDDURDRDDDLDRRUDURDLLLULUDURURDUUULRULUDRUUUUDLRLUUUUUDDRRDDDURULLLRRLDURLDLDRDLLLUULLRRLLLLDRLRDRRDRRUDDLULUUDDDDRRUUDDLURLRDUUDRRLDUDLRRRLRRUUDURDRULULRDURDRRRDLDUUULRDDLRLRDLUUDDUDDRLRRULLLULULLDDDRRDUUUDDRURDDURDRLRDLDRDRULRLUURUDRLULRLURLRRULDRLRDUDLDURLLRLUDLUDDURDUURLUDRLUL +LLLUUURUULDDDULRRDLRLLLLLLLLRURRDLURLUDRRDDULDRRRRRRLDURRULDDULLDDDRUUDLUDULLDLRRLUULULRULURDURLLDULURDUDLRRLRLLDULLRLDURRUULDLDULLRDULULLLULDRLDLDLDLDDLULRLDUDRULUDDRDDRLRLURURRDULLUULLDRRDRRDLDLLRDLDDUUURLUULDDRRRUULDULDDRDDLULUDRURUULLUDRURDRULDRUULLRRDURUDDLDUULLDDRLRRDUDRLRRRLDRLRULDRDRRUDRLLLDDUDLULLURRURRLUURDRLLDLLDUDLUUURRLRDDUDRLUDLLRULLDUUURDLUUUDUDULRLDLDRUUDULRDRRUDLULRLRDLDRRDDDUDLDLDLRUURLDLLUURDLDLRDLDRUDDUURLLLRDRDRRULLRLRDULUDDDLUDURLDUDLLRULRDURDRDLLULRRDLLLDUURRDUDDLDDRULRRRRLRDDRURLLRRLLL +DRURLDDDDRLUDRDURUDDULLRRLLRLDDRLULURLDURRLDRRLRLUURDDRRDLRDLDLULDURUDRLRUDULRURURLRUDRLLDDUDDRDLDRLLDDLRRDRUUULDUUDRUULRLLDLLULLLRRDRURDLDDRRDDUDDULLDUUULDRUDLDLURLDRURUDLRDDDURRLRDDUDLLLRRUDRULRULRRLLUUULDRLRRRLLLDLLDUDDUUDRURLDLRRUUURLUDDDRRDDLDDDDLUURDDULDRLRURLULLURRDRLLURLLLURDURLDLUDUUDUULLRLDLLLLULRDDLDUDUDDDUULURRLULDLDRLRDRLULLUDDUUUUURDRURLDUULDRRDULUDUDLDDRDLUDDURUDURLDULRUDRRDLRLRDRRURLDLURLULULDDUUDLRLLLLURRURULDDRUUULLDULDRDULDDDLLLRLULDDUDLRUDUDUDURLURLDDLRULDLURD +DRUDRDURUURDLRLUUUUURUDLRDUURLLDUULDUULDLURDDUULDRDDRDULUDDDRRRRLDDUURLRDLLRLRURDRRRDURDULRLDRDURUDLLDDULRDUDULRRLLUDLLUUURDULRDDLURULRURDDLRLLULUDURDRRUDLULLRLDUDLURUDRUULDUDLRDUDRRDULDDLDRLRRULURULUURDULRRLDLDULULRUUUUULUURLURLRDLLRRRRLURRUDLRLDDDLDRDRURLULRDUDLRLURRDRRLRLLDLDDLLRRULRLRLRUDRUUULLDUULLDDRLUDDRURLRLDLULDURLLRRLDLLRDDDUDDUULLUDRUDURLLRDRUDLUDLLUDRUUDLRUURRRLLUULLUUURLLLRURUULLDLLDURUUUULDDDLRLURDRLRRRRRRUDLLLRUUULDRRDLRDLLDRDLDDLDLRDUDLDDRDDDDRULRRLRDULLDULULULRULLRRLLUURUUUDLDLUDUDDDLUUDDDDUDDDUURUUDRDURRLUULRRDUUDDUDRRRDLRDRLDLRRURUUDRRRUUDLDRLRDURD +DDDLRURUDRRRURUUDLRLRDULDRDUULRURRRUULUDULDDLRRLLRLDDLURLRUDRLRRLRDLRLLDDLULDLRRURDDRDLLDDRUDRRRURRDUDULUDDULRRDRLDUULDLLLDRLUDRDURDRRDLLLLRRLRLLULRURUUDDRULDLLRULDRDLUDLULDDDLLUULRRLDDUURDLULUULULRDDDLDUDDLLLRRLLLDULRDDLRRUDDRDDLLLLDLDLULRRRDUDURRLUUDLLLLDUUULDULRDRULLRDRUDULRUUDULULDRDLDUDRRLRRDRLDUDLULLUDDLURLUUUDRDUDRULULDRDLRDRRLDDRRLUURDRULDLRRLLRRLDLRRLDLDRULDDRLURDULRRUDURRUURDUUURULUUUDLRRLDRDLULDURUDUDLUDDDULULRULDRRRLRURLRLRLUDDLUUDRRRLUUUDURLDRLRRDRRDURLLL \ No newline at end of file diff --git a/2016/input/03 b/2016/input/03 new file mode 100644 index 0000000..ed9ee33 --- /dev/null +++ b/2016/input/03 @@ -0,0 +1,1992 @@ + 566 477 376 + 575 488 365 + 50 18 156 + 558 673 498 + 133 112 510 + 670 613 25 + 84 197 643 + 910 265 611 + 894 252 545 + 581 3 598 + 98 742 574 + 628 746 193 + 129 677 265 + 187 445 169 + 288 242 128 + 569 744 439 + 685 748 471 + 256 23 157 + 218 343 491 + 777 905 633 + 778 867 840 + 672 772 947 + 500 763 420 + 449 665 653 + 23 558 858 + 745 407 904 + 766 194 576 + 11 541 423 + 179 690 274 + 174 747 279 + 741 538 336 + 507 698 667 + 689 920 467 + 405 861 35 + 575 631 992 + 317 573 981 + 817 536 44 + 816 205 653 + 45 631 683 + 509 300 418 + 712 192 865 + 666 133 859 + 32 331 54 + 572 432 259 + 552 456 267 + 766 931 643 + 902 840 557 + 465 318 175 + 491 863 329 + 463 795 564 + 589 213 805 + 340 323 123 + 602 812 499 + 898 931 555 + 899 835 341 + 316 487 789 + 677 790 797 + 341 502 123 + 502 196 136 + 702 617 82 + 939 581 362 + 801 834 951 + 464 941 843 + 7 756 971 + 273 297 661 + 270 620 387 + 776 96 80 + 891 125 92 + 376 175 141 + 435 247 949 + 719 586 478 + 578 662 801 + 446 202 556 + 596 336 5 + 855 202 558 + 541 314 17 + 43 295 959 + 507 433 942 + 380 721 579 + 313 670 629 + 301 341 59 + 338 776 161 + 202 291 844 + 528 564 736 + 411 765 465 + 489 98 611 + 301 817 959 + 895 836 890 + 249 313 267 + 726 976 881 + 300 601 657 + 985 91 438 + 925 596 905 + 250 850 331 + 104 714 258 + 312 189 196 + 36 62 611 + 218 756 600 + 225 803 736 + 765 250 259 + 768 438 728 + 268 613 578 + 951 816 919 + 706 923 495 + 430 487 915 + 416 964 623 + 737 699 581 + 836 981 90 + 740 471 498 + 17 781 602 + 732 527 191 + 57 126 235 + 778 344 370 + 822 398 366 + 245 597 127 + 407 658 902 + 542 545 985 + 786 663 93 + 872 512 690 + 897 151 655 + 226 362 164 + 257 629 168 + 94 280 86 + 577 611 45 + 648 756 953 + 89 556 924 + 116 330 373 + 730 297 713 + 836 630 486 + 431 10 177 + 350 21 950 + 442 34 831 + 219 115 125 + 259 111 836 + 56 13 825 + 837 648 336 + 414 314 670 + 787 906 792 + 232 526 550 + 220 409 216 + 383 241 720 + 101 724 8 + 108 695 885 + 23 33 894 + 458 827 435 + 489 664 675 + 272 542 261 + 18 250 218 + 896 60 659 + 906 284 823 + 179 668 925 + 174 362 227 + 211 589 911 + 514 333 704 + 575 716 896 + 762 382 597 + 344 783 294 + 408 795 209 + 91 119 110 + 717 616 307 + 760 106 333 + 374 563 514 + 454 51 709 + 564 499 158 + 566 541 601 + 901 327 137 + 417 859 921 + 726 627 828 + 534 416 475 + 221 533 310 + 731 423 274 + 534 636 902 + 463 513 606 + 921 148 829 + 314 151 657 + 454 238 935 + 468 244 703 + 253 124 615 + 427 524 804 + 194 545 380 + 913 998 210 + 203 797 141 + 993 320 265 + 208 144 488 + 791 710 361 + 953 637 413 + 372 472 926 + 686 216 677 + 775 476 473 + 683 224 524 + 670 424 556 + 286 642 660 + 578 964 895 + 715 938 675 + 727 48 846 + 386 538 362 + 271 702 241 + 620 537 487 + 689 388 118 + 223 315 599 + 477 445 509 + 369 787 300 + 645 679 536 + 613 461 511 + 586 730 876 + 597 586 541 + 745 452 960 + 577 77 581 + 733 177 562 + 923 191 64 + 521 751 297 + 422 780 709 + 521 887 550 + 808 681 829 + 907 938 753 + 507 307 991 + 752 386 22 + 684 270 155 + 91 234 151 + 568 950 170 + 651 954 210 + 789 31 307 + 550 71 560 + 463 715 400 + 491 765 600 + 131 455 904 + 592 453 555 + 559 788 676 + 391 484 363 + 405 404 280 + 68 114 556 + 307 518 632 + 49 549 907 + 288 287 482 + 729 36 395 + 440 768 636 + 838 772 889 + 99 231 794 + 181 81 684 + 252 253 843 + 738 717 531 + 125 311 536 + 727 508 487 + 992 76 234 + 680 114 100 + 501 165 292 + 597 562 167 + 223 887 429 + 613 345 482 + 209 45 787 + 98 175 821 + 178 196 252 + 345 127 459 + 767 896 750 + 601 965 522 + 792 541 699 + 989 350 109 + 337 799 588 + 276 531 244 + 461 655 162 + 413 284 340 + 327 93 556 + 431 873 989 + 164 826 956 + 279 486 578 + 488 275 248 + 672 462 539 + 636 448 39 + 116 504 619 + 550 353 618 + 803 506 5 + 641 482 513 + 190 973 509 + 4 105 745 + 443 619 243 + 440 519 754 + 624 62 907 + 644 231 907 + 232 238 900 + 866 749 665 + 490 988 547 + 815 482 135 + 331 992 234 + 252 812 623 + 95 661 698 + 15 378 91 + 986 338 255 + 979 205 218 + 927 59 302 + 161 231 250 + 855 250 389 + 588 356 40 + 279 90 105 + 707 273 77 + 846 311 842 + 870 305 833 + 77 477 346 + 638 496 395 + 642 374 864 + 73 526 717 + 851 399 892 + 873 444 889 + 988 133 217 + 950 702 591 + 989 338 278 + 307 628 794 + 815 568 390 + 974 725 622 + 463 296 984 + 605 409 526 + 665 554 473 + 106 852 381 + 874 597 620 + 481 609 245 + 604 18 655 + 702 611 814 + 711 341 254 + 130 458 865 + 677 689 278 + 926 675 223 + 363 15 154 + 189 785 793 + 189 556 925 + 92 332 617 + 1 884 831 + 176 37 482 + 174 856 362 + 432 978 371 + 957 662 493 + 749 873 714 + 259 938 328 + 692 837 649 + 721 949 456 + 488 304 194 + 270 776 448 + 446 879 257 + 647 705 462 + 720 305 25 + 230 489 454 + 920 303 582 + 325 20 478 + 970 303 168 + 628 29 916 + 398 209 489 + 248 194 426 + 426 276 899 + 14 274 981 + 430 12 799 + 229 235 745 + 268 663 528 + 283 439 906 + 542 983 253 + 214 938 241 + 575 123 228 + 704 628 326 + 567 678 468 + 439 984 300 + 580 228 520 + 229 668 370 + 512 701 624 + 267 912 271 + 666 839 776 + 804 362 559 + 400 565 127 + 418 349 450 + 136 671 460 + 302 515 931 + 185 764 911 + 441 574 331 + 902 856 448 + 123 934 288 + 890 143 683 + 307 470 748 + 339 169 127 + 114 339 834 + 789 639 631 + 676 82 453 + 247 563 394 + 436 655 703 + 352 906 631 + 277 367 327 + 585 757 427 + 545 710 988 + 153 705 689 + 98 300 882 + 140 491 135 + 193 220 911 + 371 739 602 + 538 419 864 + 280 786 352 + 795 750 697 + 808 341 79 + 361 606 668 + 57 277 452 + 524 267 976 + 525 45 762 + 462 885 782 + 90 837 156 + 510 394 826 + 617 23 812 + 443 755 483 + 255 756 866 + 931 404 762 + 184 496 236 + 841 792 640 + 932 259 869 + 893 697 951 + 37 451 493 + 939 592 146 + 789 104 25 + 477 617 150 + 427 506 86 + 723 243 717 + 795 705 638 + 908 506 556 + 741 755 408 + 608 852 240 + 613 717 393 + 392 59 448 + 877 724 100 + 61 141 24 + 101 257 130 + 139 313 147 + 999 130 568 + 82 256 539 + 941 183 193 + 279 793 217 + 628 347 824 + 503 506 905 + 646 629 909 + 785 518 510 + 510 199 701 + 413 201 703 + 399 548 247 + 11 396 606 + 250 981 822 + 314 758 810 + 513 476 139 + 830 232 74 + 448 693 690 + 503 556 646 + 604 448 579 + 21 441 367 + 603 155 428 + 589 655 64 + 524 726 849 + 262 556 808 + 693 19 969 + 102 306 91 + 773 287 939 + 49 2 177 + 937 54 697 + 967 51 745 + 388 262 356 + 193 636 387 + 554 537 478 + 510 689 720 + 693 670 665 + 905 32 730 + 516 420 525 + 109 627 935 + 421 282 693 + 504 374 435 + 241 619 662 + 277 809 333 + 319 43 766 + 787 803 267 + 941 828 722 + 710 489 10 + 654 395 148 + 95 733 154 + 270 163 706 + 247 564 771 + 269 635 204 + 560 604 137 + 379 164 72 + 282 557 149 + 871 461 499 + 140 475 289 + 816 12 533 + 974 361 166 + 769 545 848 + 543 493 875 + 475 192 926 + 342 564 976 + 501 448 782 + 94 172 75 + 275 856 267 + 215 853 210 + 41 496 331 + 829 583 434 + 818 306 478 + 660 431 552 + 509 716 355 + 404 812 211 + 549 63 271 + 422 642 655 + 397 590 389 + 698 235 288 + 319 95 603 + 810 218 336 + 709 590 89 + 749 734 884 + 118 896 862 + 550 398 700 + 505 207 165 + 449 339 778 + 664 929 821 + 724 926 630 + 89 21 391 + 698 176 786 + 718 479 938 + 391 577 266 + 634 178 29 + 56 373 972 + 687 259 969 + 98 480 250 + 951 134 237 + 939 491 15 + 899 303 834 + 252 416 295 + 887 537 926 + 496 232 609 + 130 534 575 + 519 436 934 + 639 648 29 + 625 127 541 + 291 544 511 + 744 570 404 + 430 772 439 + 381 304 231 + 525 527 785 + 137 802 499 + 542 632 966 + 637 482 42 + 207 643 532 + 527 816 501 + 194 982 271 + 862 943 367 + 846 217 324 + 872 894 184 + 911 776 718 + 939 849 594 + 745 354 472 + 838 305 284 + 744 157 759 + 436 263 650 + 605 326 348 + 319 530 463 + 639 358 479 + 675 826 732 + 609 682 912 + 97 714 874 + 848 330 858 + 874 646 24 + 508 518 881 + 567 481 576 + 431 561 603 + 934 715 700 + 833 311 198 + 323 661 724 + 997 162 319 + 93 395 412 + 977 497 232 + 858 448 225 + 900 316 259 + 107 458 401 + 397 723 817 + 720 328 17 + 346 631 802 + 824 567 852 + 810 234 269 + 251 784 926 + 490 316 317 + 637 291 350 + 593 583 602 + 450 116 310 + 907 210 231 + 904 264 396 + 612 221 267 + 144 156 136 + 683 248 293 + 64 786 842 + 52 606 511 + 26 192 927 + 830 422 399 + 956 349 575 + 254 130 660 + 431 515 161 + 961 522 198 + 995 873 43 + 967 855 268 + 487 898 564 + 595 378 636 + 707 203 268 + 710 226 775 + 277 120 551 + 675 631 758 + 203 160 294 + 873 667 637 + 279 597 765 + 26 667 338 + 305 963 550 + 163 858 901 + 328 832 537 + 204 25 494 + 601 307 594 + 71 405 613 + 642 691 258 + 341 439 293 + 93 470 627 + 361 30 430 + 942 70 305 + 831 963 304 + 368 925 25 + 115 82 139 + 53 185 545 + 160 247 536 + 462 260 666 + 296 696 84 + 465 683 683 + 591 228 220 + 743 744 432 + 165 758 559 + 651 933 87 + 872 37 514 + 340 970 512 + 576 654 416 + 27 383 888 + 567 840 586 + 722 822 425 + 657 872 880 + 91 453 574 + 28 970 437 + 955 274 342 + 933 753 172 + 582 836 289 + 642 966 727 + 240 298 925 + 253 241 795 + 115 374 68 + 354 162 821 + 283 587 328 + 627 566 650 + 712 159 846 + 365 973 654 + 848 281 89 + 901 900 568 + 211 583 905 + 296 480 895 + 433 337 45 + 229 741 115 + 249 675 433 + 179 507 470 + 796 121 16 + 963 523 101 + 469 485 112 + 343 846 7 + 391 733 732 + 89 419 735 + 571 797 25 + 785 740 519 + 436 198 533 + 96 387 856 + 250 391 421 + 215 15 842 + 389 128 120 + 323 673 729 + 87 583 624 + 807 454 314 + 970 227 247 + 652 230 405 + 391 534 677 + 993 253 880 + 747 688 284 + 492 932 421 + 290 800 344 + 696 151 586 + 535 61 371 + 493 455 676 + 138 417 892 + 851 568 234 + 480 639 309 + 903 829 404 + 662 85 687 + 703 112 607 + 410 151 995 + 275 465 774 + 97 579 152 + 301 516 913 + 960 436 672 + 870 230 800 + 151 263 674 + 97 515 754 + 763 67 705 + 720 516 398 + 817 696 171 + 770 89 606 + 655 660 736 + 536 236 421 + 713 104 578 + 607 296 729 + 432 222 852 + 626 751 769 + 529 954 670 + 927 18 64 + 559 840 376 + 592 819 312 + 423 489 842 + 766 14 657 + 350 498 198 + 777 199 736 + 767 639 924 + 17 684 692 + 652 739 958 + 735 874 486 + 175 308 988 + 625 615 601 + 125 235 645 + 752 791 50 + 263 568 505 + 475 307 580 + 241 679 757 + 89 812 852 + 133 824 507 + 94 396 868 + 285 756 877 + 424 811 336 + 587 202 550 + 623 402 145 + 169 730 142 + 652 649 22 + 42 181 68 + 160 20 161 + 132 166 179 + 566 277 716 + 521 381 640 + 168 212 123 + 489 333 741 + 62 328 71 + 506 16 721 + 360 388 194 + 516 412 767 + 713 686 964 + 711 765 514 + 959 285 600 + 759 610 862 + 715 308 357 + 348 41 10 + 731 306 360 + 902 727 296 + 867 770 187 + 63 794 254 + 196 410 505 + 693 527 570 + 725 386 119 + 322 796 62 + 480 514 92 + 514 825 38 + 346 422 647 + 210 455 853 + 142 40 340 + 298 382 190 + 433 867 205 + 346 489 315 + 860 258 369 + 845 976 997 + 114 974 851 + 168 441 671 + 868 467 717 + 824 26 616 + 911 581 779 + 853 127 81 + 640 681 776 + 926 331 747 + 576 681 846 + 626 673 515 + 361 462 553 + 188 968 946 + 512 933 571 + 357 238 647 + 698 738 668 + 786 602 599 + 946 216 264 + 700 485 646 + 553 382 781 + 180 127 629 + 637 622 628 + 798 504 116 + 337 59 665 + 701 287 318 + 389 251 716 + 570 551 491 + 256 889 465 + 665 720 734 + 630 801 550 + 637 699 547 + 319 277 130 + 807 803 576 + 231 314 966 + 944 813 672 + 510 539 729 + 339 673 746 + 829 616 34 + 320 151 16 + 318 128 482 + 4 146 473 + 226 777 102 + 207 731 253 + 139 162 344 + 134 404 641 + 564 974 592 + 569 771 878 + 570 646 794 + 589 126 159 + 507 754 908 + 832 358 827 + 572 251 974 + 922 454 938 + 964 819 26 + 963 150 603 + 50 916 630 + 578 63 306 + 333 897 826 + 716 886 733 + 93 726 208 + 876 729 569 + 876 3 755 + 271 294 734 + 886 677 723 + 643 688 273 + 896 404 627 + 991 524 399 + 155 165 685 + 195 634 821 + 650 277 711 + 459 697 131 + 436 855 749 + 196 97 765 + 529 765 313 + 781 986 44 + 966 768 340 + 218 706 304 + 489 179 646 + 61 267 435 + 466 364 718 + 392 149 666 + 467 152 791 + 180 286 624 + 151 170 372 + 870 267 612 + 897 107 768 + 2 487 286 + 902 669 833 + 902 742 635 + 397 258 175 + 742 95 866 + 957 213 717 + 723 555 749 + 528 527 14 + 203 83 762 + 247 428 68 + 656 153 208 + 644 496 268 + 14 641 16 + 515 670 176 + 523 58 192 + 424 617 72 + 766 588 999 + 653 202 943 + 219 567 386 + 177 799 633 + 229 499 572 + 579 445 767 + 365 247 682 + 771 518 125 + 310 151 329 + 849 782 365 + 613 769 364 + 479 495 603 + 551 260 105 + 717 326 650 + 476 48 883 + 537 368 839 + 136 321 105 + 370 683 482 + 396 576 186 + 58 549 594 + 37 532 381 + 940 248 161 + 915 546 228 + 629 860 96 + 672 121 741 + 283 932 834 + 162 737 544 + 66 967 333 + 199 916 591 + 880 571 265 + 953 573 132 + 224 51 196 + 562 494 245 + 853 94 317 + 550 519 80 + 349 741 972 + 814 201 949 + 464 779 408 + 32 790 544 + 263 785 261 + 260 19 562 + 592 362 648 + 661 292 897 + 247 222 349 + 947 306 89 + 126 329 366 + 857 466 329 + 594 744 791 + 546 202 429 + 526 619 501 + 54 693 748 + 138 682 753 + 182 283 74 + 613 333 444 + 9 403 359 + 618 160 457 + 312 162 510 + 536 506 191 + 309 375 567 + 72 548 736 + 678 983 50 + 638 990 699 + 263 204 770 + 362 13 268 + 603 214 866 + 564 522 46 + 864 918 863 + 307 863 842 + 364 940 152 + 827 403 778 + 960 825 792 + 13 811 777 + 890 912 391 + 880 384 443 + 735 649 473 + 937 443 635 + 702 768 256 + 604 809 720 + 407 56 908 + 422 823 198 + 376 523 140 + 906 236 927 + 851 473 978 + 449 835 308 + 800 156 332 + 384 969 62 + 282 338 353 + 868 472 884 + 681 749 966 + 744 430 279 + 137 425 4 + 631 184 285 + 781 850 209 + 450 376 696 + 698 833 851 + 307 749 415 + 952 124 766 + 842 847 658 + 95 49 635 + 578 934 703 + 491 903 253 + 721 679 85 + 801 363 502 + 501 622 421 + 657 98 602 + 745 979 905 + 925 884 326 + 88 601 144 + 379 699 426 + 319 379 293 + 564 328 773 + 579 716 455 + 331 478 990 + 789 304 216 + 387 466 567 + 942 206 417 + 840 321 46 + 128 457 227 + 819 597 243 + 666 160 978 + 226 513 80 + 454 502 927 + 860 578 640 + 983 130 721 + 263 540 201 + 591 692 499 + 569 939 531 + 87 814 872 + 753 650 280 + 265 715 441 + 988 141 611 + 746 238 590 + 789 735 639 + 147 552 139 + 37 954 595 + 342 411 696 + 330 629 474 + 314 736 149 + 596 684 86 + 772 248 136 + 442 384 616 + 563 153 418 + 498 299 818 + 408 375 746 + 446 394 745 + 177 17 534 + 257 630 592 + 619 878 657 + 612 711 637 + 594 980 637 + 399 57 594 + 829 952 547 + 286 730 148 + 828 225 934 + 671 639 963 + 249 393 818 + 343 531 687 + 229 775 270 + 987 44 875 + 896 666 346 + 936 638 753 + 299 838 549 + 824 735 59 + 766 277 572 + 582 151 777 + 610 144 505 + 120 76 902 + 300 882 441 + 677 435 161 + 631 843 567 + 62 401 375 + 263 744 375 + 310 463 141 + 108 479 719 + 484 266 17 + 382 247 712 + 158 558 705 + 48 479 686 + 209 339 958 + 20 212 453 + 858 254 120 + 872 430 344 + 801 700 786 + 991 700 911 + 644 213 692 + 911 149 433 + 752 795 344 + 762 862 332 + 764 35 500 + 391 639 489 + 809 601 497 + 148 874 83 + 552 4 126 + 524 880 195 + 530 430 179 + 497 345 219 + 810 694 47 + 995 128 999 + 73 149 917 + 978 234 146 + 394 735 35 + 483 478 236 + 293 707 271 + 614 458 753 + 44 531 638 + 599 893 188 + 729 731 863 + 693 915 859 + 192 205 17 + 999 119 541 + 943 262 318 + 123 305 514 + 339 536 246 + 585 228 300 + 904 330 325 + 127 806 45 + 366 429 536 + 480 801 555 + 656 977 669 + 611 969 5 + 659 123 671 + 644 292 524 + 557 143 298 + 383 202 824 + 306 144 97 + 427 541 20 + 735 490 109 + 14 379 582 + 418 367 756 + 406 740 823 + 832 461 125 + 36 692 764 + 830 497 768 + 632 572 31 + 996 607 705 + 400 451 712 + 586 598 235 + 806 364 406 + 409 841 606 + 971 282 437 + 162 208 944 + 957 174 591 + 567 110 844 + 412 211 378 + 181 113 637 + 145 600 443 + 359 588 426 + 335 707 255 + 345 476 975 + 864 521 972 + 832 78 5 + 556 541 905 + 389 712 588 + 848 412 813 + 833 121 316 + 744 743 472 + 872 837 421 + 185 793 219 + 995 168 61 + 901 837 158 + 693 955 245 + 232 634 550 + 725 502 451 + 526 966 477 + 589 607 682 + 901 366 247 + 815 769 769 + 828 627 947 + 121 664 262 + 708 863 3 + 522 968 186 + 429 808 186 + 378 162 364 + 398 361 86 + 194 235 285 + 657 176 376 + 526 787 136 + 170 696 290 + 513 117 970 + 617 797 235 + 603 889 900 + 706 142 594 + 291 321 96 + 746 388 668 + 764 762 718 + 567 821 703 + 968 421 883 + 926 456 320 + 952 963 262 + 489 785 540 + 446 933 970 + 361 607 136 + 230 682 987 + 27 153 528 + 437 3 502 + 430 153 51 + 349 206 892 + 162 683 862 + 366 878 244 + 976 258 195 + 827 80 381 + 476 246 569 + 881 123 222 + 724 342 409 + 565 421 511 + 703 402 344 + 704 549 486 + 16 311 414 + 198 894 65 + 904 475 93 + 967 688 43 + 246 96 527 + 195 327 220 + 134 355 395 + 222 416 988 + 541 343 90 + 708 109 900 + 245 574 287 + 979 617 284 + 804 889 130 + 174 798 507 + 66 623 519 + 142 276 146 + 308 772 509 + 28 773 82 + 319 8 524 + 507 952 927 + 471 867 924 + 64 535 874 + 959 165 236 + 475 98 117 + 961 201 293 + 397 757 621 + 311 287 215 + 492 602 425 + 111 56 243 + 606 69 927 + 692 41 875 + 523 927 982 + 410 810 947 + 188 120 120 + 543 569 92 + 838 442 414 + 595 789 505 + 16 896 639 + 642 843 845 + 644 116 938 + 26 347 466 + 376 664 681 + 404 946 571 + 766 195 436 + 427 134 509 + 336 85 163 + 575 689 670 + 598 236 705 + 53 498 76 + 977 35 38 + 674 41 911 + 572 37 901 + 118 714 700 + 499 958 771 + 477 841 86 + 633 877 670 + 776 873 625 + 260 88 85 + 281 816 296 + 568 966 670 + 653 267 684 + 245 23 935 + 316 235 462 + 99 246 739 + 278 652 240 + 367 542 525 + 150 246 563 + 422 937 236 + 57 994 430 + 472 188 202 + 636 778 684 + 756 912 605 + 461 769 534 + 646 508 56 + 963 305 767 + 618 686 769 + 684 750 1 + 567 173 333 + 896 805 330 + 821 987 638 + 805 127 644 + 74 899 12 + 444 434 269 + 449 147 181 + 35 542 321 + 320 105 163 + 815 289 546 + 537 208 691 + 754 345 54 + 116 804 780 + 694 512 744 + 941 423 795 + 936 147 702 + 8 327 865 + 42 141 761 + 189 658 273 + 214 545 668 + 259 219 322 + 455 782 551 + 512 646 526 + 127 710 932 + 169 615 729 + 55 482 381 + 571 98 930 + 362 721 296 + 645 684 804 + 701 257 529 + 731 711 683 + 225 575 423 + 918 23 492 + 917 271 217 + 5 293 537 + 733 595 105 + 741 433 932 + 31 259 920 + 303 691 396 + 363 580 863 + 427 474 576 + 703 175 246 + 529 280 209 + 641 412 319 + 530 890 726 + 382 779 433 + 284 147 323 + 860 703 766 + 292 427 768 + 606 666 736 + 638 384 264 + 97 398 574 + 564 627 455 + 678 442 618 + 432 28 687 + 343 466 101 + 304 594 5 + 402 43 474 + 498 552 476 + 243 113 538 + 938 102 498 + 829 44 470 + 208 449 197 + 352 286 425 + 503 600 241 + 531 209 490 + 615 758 363 + 518 783 258 + 886 636 579 + 386 960 821 + 678 547 784 + 481 843 238 + 476 256 6 + 2 973 233 + 331 144 822 + 410 545 872 + 558 546 49 + 1 388 106 + 384 557 457 + 387 699 460 + 592 809 571 + 388 942 111 + 651 756 647 + 860 518 794 + 722 894 731 + 324 881 256 + 429 197 383 + 226 239 685 + 489 51 339 + 746 402 745 + 756 608 434 + 220 452 629 + 773 631 798 + 296 137 537 + 942 704 260 + 820 565 673 + 745 666 110 + 411 406 721 + 44 522 531 + 777 394 494 + 807 835 66 + 36 362 38 + 113 290 975 + 141 124 953 + 38 663 51 + 507 677 316 + 514 115 360 + 956 194 865 + 642 677 111 + 682 868 889 + 173 507 339 + 270 546 318 + 279 115 177 + 803 915 913 + 139 107 187 + 925 995 943 + 467 471 233 + 433 321 977 + 689 358 961 + 544 479 788 + 450 403 438 + 868 155 740 + 583 251 384 + 163 220 215 + 732 43 519 + 253 323 234 + 481 314 873 + 298 284 975 + 574 480 690 + 357 181 86 + 292 627 695 + 817 908 950 + 302 137 865 + 553 991 507 + 660 645 933 + 752 819 831 + 437 189 346 + 144 283 738 + 108 491 429 + 91 209 688 + 289 24 138 + 676 604 82 + 670 585 204 + 78 439 403 + 81 674 548 + 65 476 475 + 904 502 542 + 873 723 506 + 909 628 337 + 918 227 277 + 929 208 324 + 255 125 477 + 415 30 618 + 981 24 546 + 588 38 694 + 876 102 663 + 628 262 927 + 419 277 964 + 160 523 632 + 424 250 582 + 452 773 68 + 466 162 225 + 913 64 463 + 486 95 612 + 350 264 427 + 723 184 872 + 868 376 701 + 441 318 509 + 506 286 58 + 528 448 513 + 166 533 92 + 169 552 414 + 298 85 320 + 663 883 192 + 664 572 433 + 12 738 538 + 330 943 94 + 398 814 754 + 273 195 682 + 980 461 544 + 282 558 554 + 788 117 660 + 336 326 337 + 465 184 829 + 352 180 988 + 130 707 122 + 854 295 141 + 943 444 176 + 14 4 473 + 514 11 603 + 525 10 892 + 22 700 427 + 400 673 470 + 411 288 583 + 448 431 582 + 466 752 501 + 722 530 104 + 509 673 464 + 727 112 677 + 567 614 716 + 677 9 561 + 620 976 603 + 324 965 87 + 215 738 844 + 206 128 637 + 91 727 427 + 625 343 624 + 639 770 757 + 859 691 710 + 278 140 634 + 405 798 561 + 356 903 78 + 54 748 890 + 858 870 310 + 821 723 983 + 385 489 431 + 776 261 962 + 834 527 752 + 798 945 282 + 802 788 288 + 73 899 228 + 689 667 74 + 995 691 603 + 656 320 652 + 841 63 62 + 176 797 83 + 736 788 20 + 558 775 454 + 275 858 544 + 792 353 95 + 494 939 694 + 126 964 408 + 388 65 952 + 229 368 992 + 408 180 481 + 618 347 793 + 860 4 641 + 49 296 895 + 901 294 563 + 24 434 159 + 368 911 593 + 380 864 492 + 637 378 275 + 614 383 295 + 246 326 514 + 373 617 382 + 409 214 294 + 263 802 419 + 820 909 683 + 136 452 290 + 860 558 491 + 789 235 334 + 116 508 41 + 721 691 303 + 14 176 77 + 217 281 289 + 231 337 237 + 348 400 206 + 382 317 684 + 33 187 667 + 467 434 77 + 534 588 846 + 905 483 871 + 810 422 10 + 724 260 181 + 155 259 189 + 223 860 544 + 271 706 576 + 109 431 554 + 904 486 465 + 65 317 535 + 837 365 126 + 496 700 349 + 642 252 496 + 750 706 505 + 956 978 875 + 845 953 89 + 138 259 805 + 787 793 322 + 59 739 128 + 790 957 389 + 126 232 160 + 391 807 909 + 454 814 762 + 532 358 272 + 81 718 554 + 482 413 655 + 185 141 894 + 734 96 739 + 583 204 372 + 587 314 772 + 402 496 292 + 798 187 543 + 516 824 922 + 409 146 140 + 408 922 840 + 50 373 244 + 355 476 321 + 365 181 219 + 601 842 642 + 426 426 889 + 482 828 584 + 589 698 588 + 835 97 287 + 759 769 768 + 858 520 481 + 947 517 219 + 266 101 400 + 110 65 448 + 920 310 431 + 926 318 23 + 388 698 374 + 45 753 406 + 421 68 374 + 203 268 623 + 345 586 611 + 344 678 32 + 542 830 187 + 487 916 456 + 211 905 567 + 760 36 585 + 327 380 425 + 793 405 604 + 432 630 267 + 804 307 366 + 678 716 108 + 437 316 22 + 441 214 160 + 329 364 149 + 726 82 76 + 896 857 361 + 298 796 294 + 652 406 409 + 855 123 704 + 430 461 744 + 909 130 88 + 847 910 968 + 499 898 952 + 662 458 83 + 335 589 395 + 863 481 361 + 829 217 305 + 822 306 635 + 664 212 610 + 271 203 675 + 95 409 236 + 337 408 517 + 749 357 294 + 646 214 322 + 457 181 157 + 649 391 73 + 756 258 84 + 201 312 11 + 660 14 560 + 128 491 96 + 676 507 570 + 302 944 54 + 25 48 296 + 313 916 351 + 932 496 355 + 437 198 217 + 826 627 370 + 312 259 193 + 293 718 654 + 142 459 647 + 233 336 90 + 81 360 232 + 168 23 144 + 442 523 662 + 151 952 260 + 444 963 489 + 302 934 249 + 687 523 698 + 672 494 462 + 461 198 649 + 540 410 269 + 539 515 839 + 76 494 81 + 514 571 496 + 438 216 557 + 279 215 690 + 581 362 667 + 318 229 53 + 427 590 52 + 510 61 485 + 168 596 451 + 960 61 155 + 475 32 291 + 933 57 182 + 458 702 818 + 740 29 821 + 896 716 738 + 842 614 701 + 398 466 502 + 739 612 737 + 297 349 887 + 262 303 886 + 404 302 428 + 668 758 600 + 674 815 379 + 44 395 225 + 673 341 476 + 516 403 384 + 392 168 134 + 907 562 511 + 555 406 413 + 818 737 773 + 745 588 545 + 323 27 639 + 555 571 802 + 326 712 513 + 729 310 664 + 810 468 804 + 509 79 438 + 418 680 403 + 314 600 470 + 186 678 12 + 302 381 921 + 380 946 932 + 104 725 596 + 113 950 471 + 11 478 291 + 520 535 519 + 574 113 668 + 862 541 617 + 606 173 314 + 960 141 857 + 837 154 926 + 933 161 137 + 255 86 277 + 794 117 308 + 664 305 588 + 321 329 554 + 961 22 181 + 433 604 132 + 655 546 431 + 553 187 373 + 797 526 674 + 563 122 203 + 352 613 626 + 780 196 549 + 253 191 547 + 746 15 412 + 193 523 391 + 281 537 657 + 90 99 658 + 892 737 646 + 503 717 663 + 693 205 50 + 700 409 662 + 465 896 15 + 865 901 661 + 508 664 192 + 770 36 898 + 980 638 809 + 301 307 626 + 724 803 839 + 851 514 256 + 521 225 170 + 678 217 789 + 735 289 904 + 501 745 719 + 896 434 575 + 819 850 977 + 607 691 590 + 28 840 476 + 623 647 167 + 890 740 708 + 465 674 219 + 753 127 674 + 370 149 657 + 189 802 476 + 455 734 376 + 37 988 149 + 947 966 168 + 921 20 311 + 798 911 338 + 768 467 681 + 102 554 488 + 747 178 608 + 747 507 690 + 372 490 197 + 22 974 389 + 717 173 396 + 734 881 363 + 560 889 821 + 721 54 963 + 164 836 833 + 135 687 910 + 204 995 188 + 188 623 865 + 877 495 264 + 335 316 399 + 593 234 300 + 655 418 169 + 471 551 86 + 444 381 226 + 820 461 304 + 38 90 334 + 845 471 47 + 449 124 218 + 694 134 547 + 270 31 551 + 434 195 750 + 774 171 789 + 877 92 222 + 843 153 340 + 758 184 326 + 252 239 372 + 651 915 540 + 740 369 10 + 828 998 547 + 814 903 348 + 491 364 548 + 549 612 267 + 429 170 705 + 978 231 210 + 917 339 866 + 432 133 494 + 983 409 450 + 567 465 246 + 744 885 684 + 717 876 790 + 183 11 138 + 984 740 311 + 686 528 843 + 757 343 712 + 31 752 940 + 17 254 106 + 11 956 974 + 495 572 789 + 440 496 763 + 183 254 25 + 152 559 980 + 146 573 585 + 200 456 938 + 371 716 716 + 228 742 679 + 205 167 988 + 81 223 806 + 509 421 192 + 544 485 828 + 112 205 502 + 45 133 555 + 155 134 784 + 179 196 625 + 81 18 589 + 165 187 754 + 63 341 774 + 197 266 913 + 229 306 680 + 509 317 787 + 976 260 535 + 661 228 518 + 289 398 700 + 173 398 645 + 170 370 283 + 574 346 446 + 422 511 42 + 275 305 482 + 118 698 869 + 338 616 897 + 334 520 229 + 461 570 136 + 84 336 245 + 531 242 157 + 646 786 356 + 372 841 124 + 701 67 294 + 481 880 626 + 155 951 361 + 365 273 946 + 555 163 93 + 163 11 515 + 582 168 495 + 128 732 752 + 489 685 558 + 529 788 341 + 820 489 73 + 941 118 684 + 188 545 680 + 64 923 188 + 639 859 445 + 656 985 606 + 769 169 9 + 931 310 472 + 205 177 472 + 702 72 27 + 490 977 472 + 914 972 495 + 837 417 333 + 437 505 440 + 947 881 490 + 379 998 906 + 371 789 763 + 604 804 200 + 250 622 969 + 778 445 924 + 844 925 78 + 346 843 440 + 409 228 396 + 73 902 717 + 759 75 511 + 720 172 435 + 427 155 938 + 75 920 213 + 49 895 187 + 122 33 211 + 216 875 709 + 169 644 534 + 47 243 546 + 942 591 200 + 874 790 870 + 667 478 797 + 475 900 250 + 92 442 709 + 386 505 856 + 70 747 595 + 390 854 740 + 333 267 730 + 576 421 336 + 872 428 352 + 884 676 20 + 119 686 6 + 126 171 145 + 6 548 140 + 296 406 627 + 276 546 653 + 329 232 356 + 811 203 648 + 757 762 656 + 117 717 71 + 718 17 608 + 965 859 794 + 707 870 536 + 251 549 245 + 259 814 314 + 498 510 247 + 885 287 649 + 339 312 690 + 839 518 589 + 691 875 327 + 549 852 692 + 421 764 399 + 841 938 617 + 683 73 682 + 838 903 513 + 155 700 266 + 529 492 436 + 501 209 572 + 177 405 185 + 70 407 98 + 183 151 184 + 144 4 719 + 387 261 642 + 391 259 283 + 336 371 946 + 902 810 751 + 714 509 251 + 124 194 440 + 928 357 256 + 921 241 599 + 725 694 141 + 219 281 864 + 650 757 979 + 515 678 735 + 553 766 397 + 771 749 360 + 273 414 543 + 92 185 692 + 365 480 246 + 153 416 246 + 527 431 831 + 387 385 991 + 610 849 42 + 761 473 507 + 268 863 467 + 797 777 614 + 567 810 153 + 384 43 459 + 656 78 14 + 884 328 89 + 565 340 99 + 315 431 403 + 169 687 408 + 451 365 7 + 706 807 561 + 324 769 821 + 645 257 467 + 90 654 617 + 230 859 466 + 309 363 691 + 903 656 499 + 165 880 548 + 966 474 64 + 640 851 817 + 585 967 754 + 340 699 880 + 253 575 32 + 783 349 971 + 748 532 972 + 132 312 789 + 673 254 152 + 769 90 643 + 485 483 3 + 228 254 423 + 281 282 418 + 279 536 891 + 566 876 988 + 753 959 569 + 629 379 773 + 194 468 866 + 690 307 128 + 813 568 374 + 798 387 873 + 980 363 555 + 337 750 620 + 565 783 190 + 780 32 746 + 716 222 594 + 319 50 443 + 498 212 408 + 106 552 95 + 96 465 866 + 143 216 903 + 570 209 371 + 73 136 163 + 579 290 400 + 836 640 252 + 190 81 864 + 684 657 892 + 405 876 982 + 722 499 926 + 567 764 62 + 383 573 458 + 111 337 947 + 381 366 568 + 883 323 560 + 942 136 297 + 103 324 576 \ No newline at end of file diff --git a/2016/input/04 b/2016/input/04 new file mode 100644 index 0000000..a61364c --- /dev/null +++ b/2016/input/04 @@ -0,0 +1,935 @@ +vxupkizork-sgmtkzoi-pkrrehkgt-zxgototm-644[kotgr] +mbiyqoxsm-pvygob-nocsqx-900[obmqs] +veqtekmrk-ikk-hitpscqirx-334[nrtws] +gvcskirmg-fyrrc-irkmriivmrk-932[rikmc] +xmtjbzidx-xviyt-yzqzgjkhzio-187[yzfeu] +bwx-amkzmb-kivlg-kwibqvo-lmaqov-798[bkmva] +vcibutulxiom-ohmnuvfy-yaa-mylpcwym-890[iyaun] +ajvyjprwp-lqxlxujcn-jwjuhbrb-251[muivb] +szfyrqriuflj-avccpsvre-kirzezex-971[rezcf] +kwvacumz-ozilm-akidmvomz-pcvb-uizsmbqvo-590[uslyz] +ucynmlgxcb-afmamjyrc-jmegqrgaq-626[rybxt] +oaxadrgx-pkq-abqdmfuaze-872[xtbnw] +tfejldvi-xiruv-tcrjjzwzvu-gcrjkzt-xirjj-tfekrzedvek-971[krmax] +pwcvonofrcig-suu-rsgwub-740[baiys] +udskkaxawv-tskcwl-dgyaklauk-632[lqcfd] +vqr-ugetgv-dcumgv-fgxgnqrogpv-258[ctwyp] +laffe-igtje-gtgreyoy-124[uscwl] +iehepwnu-cnwza-oywrajcan-dqjp-lqnydwoejc-368[sypjw] +mbiyqoxsm-excdklvo-pvygob-bocokbmr-640[hslwz] +houngfgxjuay-pkrrehkgt-jkvruesktz-930[nsbth] +tcfkqcevkxg-lgnnadgcp-eqpvckpogpv-388[ausbh] +hcd-gsqfsh-wbhsfbohwcboz-pibbm-aofyshwbu-532[bhsfo] +jyfvnlupj-zjhclunly-obua-huhsfzpz-461[jopil] +pbybeshy-rtt-fgbentr-819[vxcue] +kwtwznct-akidmvomz-pcvb-lmaqov-564[mvack] +pdjqhwlf-udeelw-uhdftxlvlwlrq-595[ldwef] +aoubshwq-gqojsbusf-vibh-gsfjwqsg-922[qfetx] +wfintfhynaj-wfruflnsl-gzssd-ijajqturjsy-931[mkhsc] +qspkfdujmf-kfmmzcfbo-eftjho-675[skbda] +dmbttjgjfe-fhh-ufdiopmphz-129[nbqyz] +tinnm-tzcksf-obozmgwg-194[mduaf] +iwcjapey-qjopwxha-ywjzu-ykwpejc-skngodkl-706[kjfog] +kwtwznct-xzwrmkbqtm-lgm-bmkpvwtwog-356[wmtkb] +bkwzkqsxq-wkqxodsm-mrymyvkdo-nozkbdwoxd-640[unlfi] +avb-abpfdk-185[cwyms] +xfbqpojafe-kfmmzcfbo-vtfs-uftujoh-857[nserj] +gsvvswmzi-jpsaiv-pefsvexsvc-516[hbidf] +tfejldvi-xiruv-treup-kvtyefcfxp-321[mntlv] +sxdobxkdsyxkv-mrymyvkdo-mecdywob-cobfsmo-588[emgkf] +luxciuwncpy-vohhs-mylpcwym-292[yiojz] +ide-htrgti-hrpktcvtg-wjci-bpcpvtbtci-583[tcipb] +surmhfwloh-fkrfrodwh-hqjlqhhulqj-621[hflqr] +zuv-ykixkz-yigbktmkx-natz-xkikobotm-540[zyvui] +xmtjbzidx-wpiit-hvivbzhzio-759[kgzsj] +mvkccspson-nio-ckvoc-666[mnklu] +zixppfcfba-yrkkv-ildfpqfzp-991[amdtz] +vjpwncrl-bljenwpna-qdwc-cajrwrwp-251[tgzku] +gntmfefwitzx-xhfajsljw-mzsy-uzwhmfxnsl-671[fmswx] +ajmrxjlcren-yujbcrl-pajbb-fxatbqxy-407[tszqw] +votubcmf-cjpibabsepvt-qmbtujd-hsbtt-nbobhfnfou-129[btfou] +etyyx-rbzudmfdq-gtms-nodqzshnmr-339[okzyu] +bxaxipgn-vgpst-rpcsn-rdcipxcbtci-557[nmtks] +zlilocri-oxyyfq-pxibp-939[ilopx] +xqvwdeoh-hjj-uhvhdufk-985[uixsv] +frqvxphu-judgh-gbh-vhuylfhv-907[gxkts] +rkpqxyib-oxyyfq-obpbxoze-315[jysdq] +ckgvutofkj-jek-giwaoyozout-436[tsfzu] +zilqwikbqdm-ntwemz-lmaqov-616[mqilw] +pkl-oaynap-acc-qoan-paopejc-446[muyva] +lxuxaodu-ajkkrc-bnaerlnb-771[yzint] +wfruflnsl-gzssd-ijuqtdrjsy-515[zdeyi] +mvhkvbdib-wpiit-nzmqdxzn-421[tryva] +aoubshwq-foppwh-sbuwbssfwbu-558[zhyen] +encuukhkgf-gii-hkpcpekpi-414[kipce] +sehheiylu-rkddo-bqrehqjeho-608[pfmot] +irdgrxzex-avccpsvre-ivtvzmzex-529[intur] +ykhknbqh-ywjzu-klanwpekjo-784[khjnw] +gpewwmjmih-tvsnigxmpi-fewoix-vigimzmrk-594[unmjc] +vxupkizork-vrgyzoi-mxgyy-gtgreyoy-826[kmnot] +qmpmxevc-kvehi-wgezirkiv-lyrx-xiglrspskc-438[gdkrm] +ixccb-fkrfrodwh-orjlvwlfv-933[nyhrz] +lujbbrornm-ljwmh-lxjcrwp-lxwcjrwvnwc-511[wjlrc] +eqpuwogt-itcfg-ecpfa-wugt-vguvkpi-934[nchrl] +nwlddtqtpo-mldvpe-wlmzclezcj-691[gznml] +rdchjbtg-vgpst-rpcsn-rdpixcv-uxcpcrxcv-453[zyutx] +willimcpy-wuhxs-xypyfijgyhn-942[vxyeb] +qzchnzbshud-eknvdq-rsnqzfd-521[dnqzh] +froruixo-mhoobehdq-rshudwlrqv-179[mbthd] +mvydjvxodqz-nxvqzibzm-cpio-mzxzdqdib-837[yzntw] +yknnkoera-bhksan-iwjwcaiajp-394[aknij] +xjgjmapg-wpiit-vivgtndn-993[cyqvm] +xgvnndadzy-xjmmjndqz-xviyt-xjvodib-gjbdnodxn-265[kgvsh] +sbnqbhjoh-tdbwfohfs-ivou-fohjoffsjoh-467[ofcde] +cybyjqho-whqtu-zubboruqd-tufbeocudj-842[rqply] +bkwzkqsxq-zvkcdsm-qbkcc-nocsqx-406[xydnz] +tinnm-foadouwbu-dzoghwq-ufogg-obozmgwg-142[rakqb] +rdchjbtg-vgpst-rpcsn-rdpixcv-bpcpvtbtci-765[mkoez] +pinovwgz-mvwwdo-zibdizzmdib-395[smtjh] +pyknyegle-njyqrga-epyqq-bcnjmwkclr-782[yxcjz] +vkrhzxgbv-cxeeruxtg-phkdlahi-709[tyzhs] +udskkaxawv-vqw-vwnwdghewfl-658[wvadk] +gsrwyqiv-kvehi-ikk-asvowlst-438[iksvw] +lahxpnwrl-mhn-vjwjpnvnwc-173[nwhjl] +rzvkjiduzy-ytz-xjiovdihzio-993[sumvy] +avw-zljyla-yhiipa-zhslz-825[mitza] +udpsdjlqj-udglrdfwlyh-mhoobehdq-whfkqrorjb-673[dhjlo] +iruzfrtkzmv-wlqqp-wcfnvi-jyzggzex-841[wszry] +rtqlgevkng-lgnnadgcp-ujkrrkpi-986[wpktr] +ktwbhtvmbox-utldxm-ftgtzxfxgm-995[uqlbn] +dlhwvupglk-qlssfilhu-zopwwpun-149[tvkqz] +gcfcnuls-aluxy-yaa-omyl-nymncha-292[aycln] +jrncbavmrq-enqvbnpgvir-pnaql-qrirybczrag-455[ybfie] +fydelmwp-mfyyj-cplnbftdtetzy-613[whuxk] +vetllbybxw-lvtoxgzxk-angm-mxvaghehzr-475[eswan] +aoubshwq-pibbm-fsoqeiwgwhwcb-662[qfaze] +iutyaskx-mxgjk-vrgyzoi-mxgyy-iayzuskx-ykxboik-722[sxnli] +wihmogyl-aluxy-wuhxs-wiuncha-xyjulngyhn-578[pntgy] +ktiaaqnqml-kzgwomvqk-xtiabqk-oziaa-twoqabqka-226[aqkio] +rgndvtcxr-tvv-ldgzhwde-999[tbefa] +qyujihctyx-vcibutulxiom-wuhxs-wiuncha-xymcah-552[sdmer] +fmsledevhsyw-fyrrc-xiglrspskc-386[yrhfz] +qekrixmg-hci-ywiv-xiwxmrk-490[tynsr] +gcfcnuls-aluxy-vumeyn-yhachyylcha-604[xtfeg] +iutyaskx-mxgjk-pkrrehkgt-gtgreyoy-384[gyblm] +hmsdqmzshnmzk-rbzudmfdq-gtms-kzanqzsnqx-937[grhez] +eqttqukxg-gii-cpcnauku-362[zypxw] +ynukcajey-xekdwvwnzkqo-xqjju-odellejc-316[jglep] +mfklstdw-uzgugdslw-lwuzfgdgyq-320[topmx] +buzahisl-ihzrla-zopwwpun-487[rzsag] +vcibutulxiom-vumeyn-mylpcwym-916[tjvzx] +mvydjvxodqz-nxvqzibzm-cpio-gjbdnodxn-733[xtcbl] +frqvxphu-judgh-udeelw-xvhu-whvwlqj-595[huvwd] +fhezusjybu-tou-skijecuh-iuhlysu-608[uhsei] +houngfgxjuay-vrgyzoi-mxgyy-sgxqkzotm-124[mgfhr] +odkasqzuo-uzfqdzmfuazmx-eomhqzsqd-tgzf-fqotzaxask-508[tmxza] +fydelmwp-upwwjmply-dlwpd-873[gyzjx] +yuxufmdk-sdmpq-dmnnuf-dqeqmdot-742[dmquf] +xst-wigvix-fewoix-wepiw-464[mltfd] +jsehsyafy-tskcwl-dgyaklauk-190[aksyl] +fubrjhqlf-fdqgb-uhdftxlvlwlrq-855[flqbd] +wifilzof-xsy-mbcjjcha-422[olxnw] +bknsykmdsfo-mrymyvkdo-nofovyzwoxd-614[oydkm] +rtqlgevkng-hnqygt-tgceswkukvkqp-232[gkqte] +vjpwncrl-lqxlxujcn-vjatncrwp-407[cjlnp] +sbnqbhjoh-dpssptjwf-fhh-gjobodjoh-935[ckpbr] +vcibutulxiom-dyffsvyuh-lyuwkocmcncih-838[flhey] +nzydfxpc-rclop-dnlgpyrpc-sfye-opawzjxpye-899[pycde] +dzczkrip-xiruv-treup-drerxvdvek-373[rdevi] +ryexqpqhteki-muqfedyput-isqludwuh-xkdj-qdqboiyi-244[qdiue] +vkrhzxgbv-ktfitzbgz-vahvhetmx-vnlmhfxk-lxkobvx-735[smnif] +ajvyjprwp-snuuhknjw-bqryyrwp-329[mdzxw] +wihmogyl-aluxy-luvvcn-guhuaygyhn-188[qjwtv] +xgvnndadzy-zbb-kpmxcvndib-395[bdnvx] +dkqjcbctfqwu-ecpfa-eqcvkpi-ncdqtcvqta-726[paioe] +tbxmlkfwba-avb-cfkxkzfkd-133[gmhkl] +tfcfiwlc-gifavtkzcv-avccpsvre-cfxzjkztj-139[cusqi] +hafgnoyr-enoovg-npdhvfvgvba-351[vgnoa] +lzfmdshb-etyyx-cxd-rsnqzfd-547[clnoz] +sawlkjevaz-zua-nawymqeoepekj-316[fpaeb] +pbafhzre-tenqr-pnaql-pbngvat-znexrgvat-299[iymnw] +dmybmsuzs-nmewqf-emxqe-768[tzycl] +dlhwvupglk-qlssfilhu-lunpullypun-695[tidnq] +hafgnoyr-pubpbyngr-erprvivat-741[vynbz] +odiih-mhn-jlzdrbrcrxw-459[rdhib] +tcfkqcevkxg-tcddkv-tgugctej-986[mejtb] +vkrhzxgbv-ietlmbv-zktll-kxtvjnblbmbhg-189[blvkt] +gsvvswmzi-ikk-eguymwmxmsr-282[bkasy] +jqwpihizlwca-rmttgjmiv-ivitgaqa-694[eibnd] +kzeed-jll-fsfqdxnx-697[abodg] +xtwtelcj-rclop-prr-hzcvdsza-977[crlpt] +nuatmlmdpage-ngzzk-dqmocgueufuaz-872[oldhw] +pybgmyargtc-pyzzgr-kylyeckclr-678[ycgrk] +yhwooebeaz-acc-klanwpekjo-316[xmynz] +qzlozfhmf-azrjds-vnqjrgno-781[ycnzs] +qvbmzvibqwvit-zijjqb-bziqvqvo-252[tcfan] +kfg-jvtivk-nvrgfezqvu-treup-cfxzjkztj-217[vfjkt] +pelbtravp-rtt-bcrengvbaf-845[evbkq] +pkl-oaynap-zua-iwngapejc-420[nkjyh] +qekrixmg-gerhc-gsexmrk-gsrxemrqirx-490[ciuyw] +qczcftiz-pibbm-oqeiwgwhwcb-324[kzdfm] +foadouwbu-qvcqczohs-gvwddwbu-454[qsnwz] +tfiifjzmv-treup-tfekrzedvek-555[usbvt] +nglmtuex-ietlmbv-zktll-kxtvjnblbmbhg-891[lbtme] +ixccb-fdqgb-fxvwrphu-vhuylfh-179[kesml] +rzvkjiduzy-nxvqzibzm-cpio-mznzvmxc-941[vzopy] +nwzekwypera-bhksan-klanwpekjo-498[kaenw] +njmjubsz-hsbef-tdbwfohfs-ivou-xpsltipq-571[sbfhi] +rdchjbtg-vgpst-rdadguja-eaphixr-vgphh-tcvxcttgxcv-765[fzjti] +xfbqpojafe-gmpxfs-vtfs-uftujoh-493[pshct] +tcfkqcevkxg-ecpfa-tgceswkukvkqp-154[kcefg] +hqtyeqsjylu-rkddo-huiuqhsx-530[hquds] +qzoggwtwsr-qcffcgwjs-qvcqczohs-zcuwghwqg-246[jiwnp] +wlqqp-sleep-ivtvzmzex-555[vsoly] +tcfkqcevkxg-dwppa-wugt-vguvkpi-986[hcpyu] +dpmpsgvm-xfbqpojafe-dipdpmbuf-tijqqjoh-805[wgnqv] +ksodcbwnsr-dzoghwq-ufogg-zopcfohcfm-870[dxmtj] +tcfkqcevkxg-dcumgv-wugt-vguvkpi-856[ehozy] +fbebmtkr-zktwx-cxeeruxtg-ftgtzxfxgm-709[tuvsx] +diozmivodjivg-pinovwgz-wvnfzo-rjmfncjk-863[tqdns] +vkppo-zubboruqd-bqrehqjeho-842[qfsjm] +mbiyqoxsm-nio-nozvyiwoxd-614[mstez] +ohmnuvfy-yaa-uhufsmcm-214[muafh] +nzcczdtgp-ojp-afcnsldtyr-769[cdnpt] +tinnm-xszzmpsob-fsqswjwbu-558[sbmnw] +hwbba-uecxgpigt-jwpv-fgrnqaogpv-752[upmvg] +mvydjvxodqz-xcjxjgvoz-jkzmvodjin-187[jvdox] +wdjcvuvmyjpn-mvwwdo-xpnojhzm-nzmqdxz-889[mdjnv] +bpvctixr-qjccn-sthxvc-817[ctvxb] +rdadguja-rwdrdapit-steadnbtci-271[coqre] +kfg-jvtivk-treup-tfrkzex-fgvirkzfej-373[sptcw] +nbhofujd-dboez-dpbujoh-tfswjdft-493[sftdx] +ksodcbwnsr-pogysh-qighcasf-gsfjwqs-116[tvqso] +bqvvu-ywjzu-paydjkhkcu-810[rgpzu] +cvabijtm-lgm-zmamizkp-954[tsrpy] +npmhcargjc-qaytclecp-fslr-rcaflmjmew-834[lgkrj] +aflwjfslagfsd-kusnwfywj-zmfl-ksdwk-164[enmyr] +jlidywncfy-dyffsvyuh-qilembij-422[jmryi] +dmybmsuzs-dmnnuf-dqeqmdot-586[hdgkv] +qspkfdujmf-cbtlfu-mphjtujdt-701[zatkl] +nvrgfezqvu-sleep-ivrthlzjzkzfe-373[udyzv] +tbxmlkfwba-yxphbq-pqloxdb-809[tzsjm] +pelbtravp-enoovg-grpuabybtl-559[oqctv] +dkqjcbctfqwu-ecpfa-ewuvqogt-ugtxkeg-544[cegqt] +xgsvgmotm-xghhoz-lotgtiotm-384[gotmh] +udskkaxawv-jsvagsulanw-kusnwfywj-zmfl-klgjsyw-346[swakj] +krxqjijamxdb-kjbtnc-ujkxajcxah-173[izxny] +myvybpev-lkcuod-nocsqx-770[yzjqg] +upq-tfdsfu-cbtlfu-eftjho-623[ftubc] +npmhcargjc-qaytclecp-fslr-jmegqrgaq-444[nocrz] +iuxxuyobk-vrgyzoi-mxgyy-giwaoyozout-566[kymts] +avw-zljyla-qlssfilhu-klwhyatlua-513[tskre] +mvhkvbdib-kmjezxodgz-agjrzm-mznzvmxc-135[suyop] +qzlozfhmf-azrjds-dmfhmddqhmf-183[dfmhz] +kgjgrypw-epybc-cee-qcptgacq-418[gqyos] +guahyncw-vcibutulxiom-yaa-qilembij-968[xgtow] +lugjuacha-wihmogyl-aluxy-wuhxs-xyjulngyhn-864[qbefr] +iehepwnu-cnwza-ykjoqian-cnwza-zua-lqnydwoejc-680[pfmiz] +mtzslklcozfd-upwwjmply-cpdplcns-743[rngoy] +dfcxsqhwzs-foppwh-difqvogwbu-454[fwdho] +irdgrxzex-jtrmvexvi-ylek-nfibjyfg-139[kwabl] +jvyyvzpcl-tpspahyf-nyhkl-msvdly-ylhjxbpzpapvu-695[oyedt] +qmpmxevc-kvehi-fewoix-qerekiqirx-282[tzsca] +hcd-gsqfsh-suu-gozsg-870[nmehc] +hwdtljsnh-xhfajsljw-mzsy-xytwflj-697[jhlsw] +udpsdjlqj-iorzhu-pdunhwlqj-959[djuhl] +enqvbnpgvir-onfxrg-svanapvat-507[nvagp] +rzvkjiduzy-wpiit-mznzvmxc-213[ntuoi] +gsrwyqiv-kvehi-fyrrc-xiglrspskc-776[hgnvt] +gvaaz-cbtlfu-mbcpsbupsz-103[bacps] +hplazytkpo-mfyyj-opawzjxpye-197[pyajo] +raphhxuxts-gpbepvxcv-rpcsn-rdpixcv-stepgibtci-531[omniy] +cxy-bnlanc-kdwwh-mnyuxhvnwc-251[ditcg] +htsxzrjw-lwfij-hmthtqfyj-yjhmstqtld-307[conpl] +ikhcxvmbex-vtgwr-lxkobvxl-345[cdftu] +sgmtkzoi-pkrrehkgt-lotgtiotm-566[tgkoi] +gbc-frperg-onfxrg-freivprf-455[nymsw] +ide-htrgti-hrpktcvtg-wjci-apqdgpidgn-531[gitdp] +dpmpsgvm-gmpxfs-tupsbhf-259[hgopn] +xmrrq-kusnwfywj-zmfl-wfyafwwjafy-892[fwyaj] +qfmcusbwq-tinnm-pogysh-rsdzcmasbh-428[bgfat] +zhdsrqlchg-lqwhuqdwlrqdo-vfdyhqjhu-kxqw-ghyhorsphqw-803[smjtn] +crwwv-pzxsbkdbo-erkq-pxibp-601[tnzmy] +xgjougizobk-jek-jkvruesktz-592[wsdmo] +bnqqnrhud-okzrshb-fqzrr-cdozqsldms-963[jtram] +qjopwxha-fahhuxawj-qoan-paopejc-472[ahjop] +amppmqgtc-amjmpdsj-afmamjyrc-kylyeckclr-184[yxzuq] +thnulapj-ihzrla-mpuhujpun-643[uhpaj] +lzfmdshb-oqnidbshkd-rbzudmfdq-gtms-btrsnldq-rdquhbd-833[dbqsh] +nzwzcqfw-mldvpe-cpdplcns-119[sejuv] +iqmbazulqp-omzpk-oamfuzs-dqeqmdot-950[qylkj] +lxaaxbren-lqxlxujcn-mnyuxhvnwc-849[frqsy] +nzwzcqfw-xtwtelcj-rclop-nlyoj-nzletyr-xlylrpxpye-743[lycen] +fubrjhqlf-sodvwlf-judvv-rshudwlrqv-621[ghonw] +iuxxuyobk-yigbktmkx-natz-ygrky-514[meayn] +wkqxodsm-nio-myxdksxwoxd-692[rqmey] +jvuzbtly-nyhkl-jvsvymbs-msvdly-klwsvftlua-305[yxmzb] +wlqqp-wcfnvi-uvmvcfgdvek-581[xriqe] +qcffcgwjs-tzcksf-fsqswjwbu-116[ztnym] +lahxpnwrl-kdwwh-mnenuxyvnwc-719[nwhlx] +muqfedyput-cqwdujys-fbqijys-whqii-mehaixef-634[iqefu] +eqpuwogt-itcfg-ejqeqncvg-gpikpggtkpi-232[kzfyv] +iwcjapey-xwogap-lqnydwoejc-420[styzx] +tagzsrsjvgmk-jsttal-mkwj-lwklafy-502[nrteu] +frqvxphu-judgh-udeelw-sxufkdvlqj-725[hzbtv] +kzgwomvqk-kivlg-kwibqvo-uizsmbqvo-746[epcdb] +ckgvutofkj-pkrrehkgt-ygrky-696[yblnm] +ydjuhdqjyedqb-vbemuh-tuiywd-894[oybua] +dwbcjkun-mhn-bjunb-121[srjlk] +ejpanjwpekjwh-qjopwxha-acc-qoan-paopejc-290[bsjiz] +irgyyolokj-inuiurgzk-xkgiwaoyozout-774[oigku] +mfklstdw-xdgowj-vwhsjlewfl-320[xyfdh] +sawlkjevaz-xwogap-klanwpekjo-420[mpkso] +fbebmtkr-zktwx-vhehkyne-lvtoxgzxk-angm-vnlmhfxk-lxkobvx-241[kxvbe] +irdgrxzex-vxx-glityrjzex-893[sxqom] +hqtyeqsjylu-rkddo-cqhaujydw-946[gastx] +lujbbrornm-kjbtnc-bjunb-251[xazbt] +iehepwnu-cnwza-bhksan-zarahkliajp-680[hlqnu] +xcjxjgvoz-vivgtndn-629[yubnv] +ixeumktoi-lruckx-sgtgmksktz-332[mrldq] +qxdwpopgsdjh-rpcsn-rdpixcv-ldgzhwde-765[rxoey] +glrcplyrgmlyj-njyqrga-epyqq-pcacgtgle-158[stgxu] +ojk-nzxmzo-kgvnodx-bmvnn-nzmqdxzn-525[nzmox] +froruixo-mhoobehdq-fxvwrphu-vhuylfh-933[ycnsx] +hdgdovmt-bmvyz-wvnfzo-omvdidib-395[hdygz] +aczupnetwp-ncjzrpytn-nlyoj-nzletyr-ecltytyr-535[ntyce] +fnjyxwrinm-ajkkrc-cajrwrwp-537[nczta] +rgllk-gzefmnxq-omzpk-oamfuzs-fqotzaxask-300[ztbqp] +muqfedyput-sqdto-fkhsxqiydw-218[npsrc] +buzahisl-jovjvshal-jvuahputlua-747[lsatz] +iuruxlar-lruckx-sgtgmksktz-826[krugl] +thnulapj-jovjvshal-ylzlhyjo-513[mtegl] +jshzzpmplk-lnn-shivyhavyf-201[hlnps] +qekrixmg-jpsaiv-pefsvexsvc-646[ryhkz] +mhi-lxvkxm-unggr-kxlxtkva-163[fkcax] +lugjuacha-wbiwifuny-wihnuchgyhn-396[huinw] +sbejpbdujwf-tdbwfohfs-ivou-tfswjdft-545[pnmzi] +nwilwcejc-zua-bejwjyejc-524[jcewa] +xlrypetn-awldetn-rcldd-xlcvpetyr-249[jgkyr] +amlqskcp-epybc-bwc-pcacgtgle-990[iyqge] +ktfitzbgz-lvtoxgzxk-angm-ybgtgvbgz-761[gtzbk] +avw-zljyla-ihzrla-huhsfzpz-253[banhu] +pualyuhapvuhs-ihzrla-ylhjxbpzpapvu-903[xsuvo] +qfkkj-nlyoj-xlcvpetyr-587[jklyc] +iruzfrtkzmv-irsszk-rthlzjzkzfe-451[zrkfi] +iqmbazulqp-vqxxknqmz-pqbxakyqzf-534[qxzab] +udskkaxawv-kusnwfywj-zmfl-ljsafafy-892[afksw] +gzefmnxq-ngzzk-etubbuzs-118[yjzkl] +molgbzqfib-ciltbo-zlkqxfkjbkq-809[isjze] +rnqnyfwd-lwfij-ojqqdgjfs-wjhjnansl-671[jnfqw] +fruurvlyh-ixccb-exqqb-uhfhlylqj-751[hlqub] +pinovwgz-zbb-nvgzn-343[sdhnt] +joufsobujpobm-dipdpmbuf-eftjho-181[ltrqy] +qzchnzbshud-rbzudmfdq-gtms-bnmszhmldms-209[seypq] +xfbqpojafe-dboez-sftfbsdi-649[fbdeo] +qjopwxha-ywjzu-zalhkuiajp-238[diyme] +ocipgvke-ecpfa-gpikpggtkpi-310[moyvi] +lxwbdvna-pajmn-vjpwncrl-bljenwpna-qdwc-vjwjpnvnwc-589[pvqom] +glrcplyrgmlyj-zyqicr-pcacgtgle-964[djtcm] +ckgvutofkj-kmm-jkbkruvsktz-254[twvxe] +pyknyegle-bwc-bcnyprkclr-522[oktmn] +amjmpdsj-zyqicr-asqrmkcp-qcptgac-314[campq] +qvbmzvibqwvit-akidmvomz-pcvb-zmamizkp-902[zvsto] +vxupkizork-igtje-iugzotm-jkvruesktz-748[bvyza] +kpvgtpcvkqpcn-dcumgv-wugt-vguvkpi-596[znbmg] +zovldbkfz-ciltbo-abmxoqjbkq-705[tknsq] +tagzsrsjvgmk-xdgowj-jwuwanafy-476[agjws] +mrxivrexmsrep-glsgspexi-hitevxqirx-256[atzwx] +pelbtravp-enoovg-znantrzrag-195[wdneq] +ocipgvke-eqttqukxg-dcumgv-ugtxkegu-102[soynm] +eqnqthwn-ejqeqncvg-tgugctej-908[zkyam] +hwbba-tcddkv-ocpcigogpv-206[vadln] +aflwjfslagfsd-tmffq-ogjckzgh-528[fgajl] +nij-mywlyn-zotts-luvvcn-jolwbumcha-838[lncjm] +jvsvymbs-zjhclunly-obua-zhslz-409[bpesx] +wfintfhynaj-hfsid-htfynsl-htsyfnsrjsy-359[ozaby] +nzcczdtgp-upwwjmply-dpcgtnpd-795[pcdgn] +excdklvo-lkcuod-bomosfsxq-978[kczes] +mrxivrexmsrep-fmsledevhsyw-ikk-vieguymwmxmsr-516[mersi] +willimcpy-yaa-mylpcwym-864[iucxs] +nsyjwsfyntsfq-hfsid-btwpxmtu-957[miqnp] +jvsvymbs-kfl-klzpnu-149[tyzxi] +amlqskcp-epybc-aylbw-amyrgle-bcnjmwkclr-730[ytmsd] +bkwzkqsxq-nio-cdybkqo-562[anfrp] +ide-htrgti-rpcsn-rdpixcv-rdcipxcbtci-635[zcbyd] +aflwjfslagfsd-tmffq-jwkwsjuz-606[fjswa] +foadouwbu-foppwh-oqeiwgwhwcb-714[toynm] +nzydfxpc-rclop-prr-dezclrp-795[tszpi] +mfklstdw-jsttal-ksdwk-944[autpj] +jvsvymbs-jhukf-zlycpjlz-409[borjv] +lnkfaypeha-ydkykhwpa-zalwnpiajp-342[twaxy] +pbybeshy-cynfgvp-tenff-npdhvfvgvba-741[fvbnp] +shoewudys-uww-tufbeocudj-764[iacnf] +iutyaskx-mxgjk-jek-giwaoyozout-566[koagi] +xcitgcpixdcpa-eaphixr-vgphh-hpath-401[xwtyn] +dlhwvupglk-wshzapj-nyhzz-lunpullypun-643[atizk] +jlidywncfy-mwupyhayl-bohn-mbcjjcha-214[wgcya] +eqpuwogt-itcfg-fag-qrgtcvkqpu-960[gqtcf] +fab-eqodqf-eomhqzsqd-tgzf-eqdhuoqe-950[zoeyv] +oazegyqd-sdmpq-nmewqf-pqhqxabyqzf-872[pkotu] +hqtyeqsjylu-uww-qsgkyiyjyed-946[yqejs] +pejji-mrymyvkdo-bomosfsxq-614[mojsy] +gzefmnxq-omzpk-xasuefuoe-378[iutjy] +hjgbwuladw-uzgugdslw-ksdwk-840[wdguk] +kpvgtpcvkqpcn-gii-ujkrrkpi-674[juebo] +encuukhkgf-gii-ugtxkegu-258[gukei] +xcitgcpixdcpa-eaphixr-vgphh-rdcipxcbtci-167[pkozr] +gcfcnuls-aluxy-wuhxs-wiuncha-lyuwkocmcncih-526[cuhln] +dmbttjgjfe-gmpxfs-mphjtujdt-441[jtmdf] +tcfkqcevkxg-hnqygt-tgceswkukvkqp-154[jgnim] +xqvwdeoh-udeelw-uhdftxlvlwlrq-309[swfid] +nzwzcqfw-ojp-wzrtdetnd-665[wzdnt] +shoewudys-sqdto-seqjydw-iqbui-816[zyxmn] +gzefmnxq-rxaiqd-mzmxkeue-300[cxpzy] +sawlkjevaz-zua-zarahkliajp-472[azjkl] +ktfitzbgz-ietlmbv-zktll-lxkobvxl-345[zgpbs] +cjpibabsepvt-gvaaz-cvooz-sftfbsdi-857[absvc] +eqpuwogt-itcfg-gii-ceswkukvkqp-128[rykin] +tbxmlkfwba-ciltbo-pqloxdb-653[yaqrn] +qzchnzbshud-okzrshb-fqzrr-dmfhmddqhmf-495[shpge] +dszphfojd-upq-tfdsfu-gmpxfs-pqfsbujpot-129[tefni] +aietsrmdih-ikk-hitpscqirx-100[ihkrs] +ykhknbqh-ywjzu-ykwpejc-qoan-paopejc-992[mgfrs] +oxmeeuruqp-eomhqzsqd-tgzf-ogefayqd-eqdhuoq-768[dsutf] +nwzekwypera-ywjzu-ykwpejc-yqopkian-oanreya-134[yaewk] +etyyx-idkkxadzm-zmzkxrhr-807[kxzdm] +kgjgrypw-epybc-aylbw-amyrgle-bcnyprkclr-418[yrbcg] +slqryzjc-njyqrga-epyqq-ylyjwqgq-418[saunh] +nuatmlmdpage-qss-xasuefuoe-794[rtesp] +jvuzbtly-nyhkl-msvdly-wbyjohzpun-617[gjidl] +bkzrrhehdc-azrjds-trdq-sdrshmf-417[dregf] +jqwpihizlwca-akidmvomz-pcvb-bmkpvwtwog-122[dywqz] +gntmfefwitzx-idj-jslnsjjwnsl-463[xcwpd] +myvybpev-bkllsd-domrxyvyqi-978[otdny] +qlm-pbzobq-pzxsbkdbo-erkq-xkxivpfp-263[jfzsm] +lujbbrornm-kdwwh-jwjuhbrb-953[svzbm] +dwbcjkun-yaxsnlcrun-ajkkrc-mnyuxhvnwc-303[lntzx] +froruixo-sodvwlf-judvv-ghvljq-595[ghbyq] +hjgbwuladw-ugjjgkanw-xdgowj-vwhsjlewfl-944[jiyqa] +egdytrixat-gpbepvxcv-qjccn-itrwcdadvn-687[xdpsn] +szfyrqriuflj-jtrmvexvi-ylek-uvgrikdvek-477[vbldh] +uzfqdzmfuazmx-pkq-dqmocgueufuaz-352[owbht] +rnqnyfwd-lwfij-gntmfefwitzx-gzssd-qfgtwfytwd-905[fwtdg] +ykhknbqh-xqjju-odellejc-498[yuzlk] +dwbcjkun-ouxfna-bqryyrwp-485[bnruw] +eqttqukxg-etaqigpke-tcddkv-ceswkukvkqp-492[muprn] +jvyyvzpcl-ibuuf-zlycpjlz-487[imbad] +udglrdfwlyh-gbh-whfkqrorjb-127[fvnah] +ytu-xjhwjy-jll-yjhmstqtld-385[zmyui] +yhwooebeaz-bhksan-wymqeoepekj-316[eoabh] +bnmrtldq-fqzcd-qzaahs-sqzhmhmf-755[jmrin] +shoewudys-rkddo-skijecuh-iuhlysu-530[homtc] +pbeebfvir-enoovg-fuvccvat-663[fpume] +dwbcjkun-mhn-mnbrpw-173[wscyp] +dpmpsgvm-sbccju-nbobhfnfou-987[nmzgw] +eqnqthwn-ecpfa-eqcvkpi-gpikpggtkpi-986[pegik] +npmhcargjc-aylbw-bcnjmwkclr-288[xfyca] +qfkkj-mfyyj-dezclrp-301[pdsrv] +hmsdqmzshnmzk-dff-nodqzshnmr-859[mdhns] +cjpibabsepvt-sbccju-bobmztjt-831[sxhat] +oaddaeuhq-omzpk-oamfuzs-dqeqmdot-586[doamq] +qyujihctyx-luvvcn-mbcjjcha-864[pihao] +wihmogyl-aluxy-wuhxs-zchuhwcha-578[meoti] +szfyrqriuflj-upv-jyzggzex-867[hstwn] +sorozgxe-mxgjk-xghhoz-ygrky-930[avuox] +jvsvymbs-yhtwhnpun-lnn-ylzlhyjo-903[yzoki] +hcd-gsqfsh-qcbgiasf-ufors-qobrm-difqvogwbu-350[ukbjs] +sawlkjevaz-xwogap-bejwjyejc-654[blmwy] +qyujihctyx-jfumncw-alumm-mbcjjcha-838[cthpi] +gvaaz-cbtlfu-efqbsunfou-649[fuabc] +njmjubsz-hsbef-dipdpmbuf-dvtupnfs-tfswjdf-805[dvpoe] +dlhwvupglk-wshzapj-nyhzz-vwlyhapvuz-461[jimak] +amppmqgtc-aylbw-amyrgle-pcyaosgqgrgml-314[gamlp] +pyknyegle-afmamjyrc-nspafyqgle-860[yaefg] +joufsobujpobm-dipdpmbuf-sfdfjwjoh-779[dnsfo] +sorozgxe-mxgjk-ixeumktoi-inuiurgzk-zkinturume-488[nupts] +jqwpihizlwca-rmttgjmiv-camz-bmabqvo-122[ybtzv] +hmsdqmzshnmzk-eknvdq-dmfhmddqhmf-469[tdmly] +xgvnndadzy-agjrzm-nzmqdxzn-655[bjpti] +kdijqrbu-fbqijys-whqii-tufbeocudj-790[mvwqd] +zvyvgnel-tenqr-pnaql-npdhvfvgvba-481[bscyz] +kyelcrga-zsllw-qrmpyec-106[sjnmi] +gpewwmjmih-glsgspexi-pskmwxmgw-464[esxzf] +rdadguja-gpqqxi-jhtg-ithixcv-973[snzut] +vkrhzxgbv-xzz-vnlmhfxk-lxkobvx-371[qrtko] +ykjoqian-cnwza-zua-iwjwcaiajp-550[aijwc] +gsvvswmzi-gerhc-gsexmrk-jmrergmrk-516[mdrpu] +iuruxlar-hgyqkz-xkikobotm-930[kioru] +nij-mywlyn-yaa-nluchcha-214[wdicr] +sbejpbdujwf-dboez-dpbujoh-efwfmpqnfou-597[yxwam] +wlsiayhcw-mwupyhayl-bohn-xyjulngyhn-396[nmstq] +vqr-ugetgv-ejqeqncvg-nqikuvkeu-466[eqvgu] +yhwooebeaz-acc-iwjwcaiajp-446[acwei] +wbhsfbohwcboz-dzoghwq-ufogg-fsoqeiwgwhwcb-610[wobgh] +vxupkizork-igtje-uvkxgzouty-384[stomh] +bxaxipgn-vgpst-rpcsn-sthxvc-219[pkyzm] +oxmeeuruqp-omzpk-oamfuzs-etubbuzs-534[fmryb] +enzcntvat-rtt-ernpdhvfvgvba-819[tvnae] +lxwbdvna-pajmn-yujbcrl-pajbb-mnyuxhvnwc-121[qonxs] +kzeed-hmthtqfyj-wjxjfwhm-463[gisbv] +amjmpdsj-njyqrga-epyqq-rpyglgle-444[wyviq] +ftzgxmbv-utldxm-ltexl-241[ltxmb] +lxuxaodu-lxaaxbren-bljenwpna-qdwc-mnenuxyvnwc-745[yustq] +rwcnawjcrxwju-snuuhknjw-cnlqwxuxph-433[bzwvn] +iutyaskx-mxgjk-hgyqkz-xkikobotm-956[tvyep] +gsrwyqiv-kvehi-nippcfier-xiglrspskc-542[iprsc] +diozmivodjivg-xcjxjgvoz-hvivbzhzio-265[pdjnm] +dszphfojd-fhh-mbcpsbupsz-493[hpsbd] +qxdwpopgsdjh-eaphixr-vgphh-stktadebtci-323[mayxe] +pelbtravp-rtt-erprvivat-897[rtpva] +mvydjvxodqz-agjrzm-yzkvmohzio-369[nmwjo] +uqtqbizg-ozilm-zijjqb-lmxizbumvb-200[bizmq] +gvaaz-fhh-usbjojoh-675[ziyxw] +ygcrqpkbgf-fag-ewuvqogt-ugtxkeg-336[gefkq] +eadalsjq-yjsvw-vqw-vwhsjlewfl-294[yjmzc] +vagreangvbany-fpniratre-uhag-npdhvfvgvba-299[ybzws] +atyzghrk-xghhoz-iutzgotsktz-436[pxlky] +uwtojhynqj-hfsid-htfynsl-wjfhvznxnynts-229[nhfjs] +udskkaxawv-tmffq-kzahhafy-658[afkhd] +jvuzbtly-nyhkl-wshzapj-nyhzz-shivyhavyf-591[taisq] +nwzekwypera-xwogap-nawymqeoepekj-862[aiknj] +gsrwyqiv-kvehi-gerhc-tyvglewmrk-490[emcda] +bdavqofuxq-dmnnuf-mzmxkeue-924[stnrq] +cxy-bnlanc-ljwmh-lxjcrwp-jwjuhbrb-199[jbclw] +ryexqpqhteki-uww-iqbui-972[whlao] +guahyncw-zfiqyl-mylpcwym-292[hakyd] +mybbycsfo-tovvilokx-wkbuodsxq-640[pwdms] +sehheiylu-sxesebqju-cqdqwucudj-166[dqtmn] +emixwvqhml-ntwemz-bziqvqvo-512[mqvei] +willimcpy-wuhxs-yhachyylcha-136[wmdkg] +aietsrmdih-jpsaiv-wlmttmrk-802[pndyu] +xst-wigvix-veffmx-irkmriivmrk-854[vzbjm] +dpmpsgvm-dboez-dpbujoh-dvtupnfs-tfswjdf-831[nzcoy] +wlqqp-irsszk-rercpjzj-815[bjyfk] +kyelcrga-aylbw-amyrgle-sqcp-rcqrgle-730[engxw] +ghkmaihex-hucxvm-lmhktzx-501[hmxka] +bgmxkgtmbhgte-cxeeruxtg-ftkdxmbgz-449[gtxbe] +udglrdfwlyh-iorzhu-vklsslqj-751[ldhrs] +fmsledevhsyw-fewoix-asvowlst-282[sewfl] +qfkkj-ojp-cpdplcns-197[yovpm] +ejpanjwpekjwh-iwcjapey-xwogap-zalwnpiajp-108[reijs] +foadouwbu-tzcksf-rsdzcmasbh-428[sabcd] +jyddc-gerhc-gsexmrk-erepcwmw-308[cghmn] +ynukcajey-zua-yqopkian-oanreya-732[aynek] +zotts-vumeyn-guleyncha-968[entuy] +enzcntvat-jrncbavmrq-rtt-fgbentr-871[htygn] +qfkkj-dnlgpyrpc-sfye-dezclrp-353[pcdef] +kzeed-htsxzrjw-lwfij-gzssd-tujwfyntsx-879[pefzg] +gvcskirmg-nippcfier-vieguymwmxmsr-646[zsigf] +ncjzrpytn-nlyoj-hzcvdsza-587[tnijv] +fkqbokxqflkxi-ciltbo-ixyloxqlov-991[tdoma] +tagzsrsjvgmk-uzgugdslw-jwsuimakalagf-814[fzilb] +ydjuhdqjyedqb-vbemuh-tufbeocudj-764[vyuwb] +glrcplyrgmlyj-cee-kypicrgle-574[znbys] +fhezusjybu-sqdto-ixyffydw-244[istpq] +willimcpy-luvvcn-omyl-nymncha-110[lcmny] +ujoon-ytaanqtpc-jhtg-ithixcv-661[nhrwm] +aoubshwq-qobrm-ghcfous-116[ixtcr] +gcfcnuls-aluxy-vohhs-xyjfisgyhn-526[emins] +uiovmbqk-zijjqb-abwziom-382[ymdir] +ubhatstkwhnl-unggr-lmhktzx-371[zskyt] +tagzsrsjvgmk-vqw-klgjsyw-476[nzitq] +lejkrscv-wcfnvi-wzeretzex-451[tefwa] +myxcewob-qbkno-mkxni-oxqsxoobsxq-302[ayius] +tagzsrsjvgmk-usfvq-ljsafafy-242[safgj] +fab-eqodqf-dmnnuf-geqd-fqefuzs-898[igqxs] +mtzslklcozfd-dnlgpyrpc-sfye-dezclrp-639[edrfn] +aoubshwq-gqojsbusf-vibh-fsqswjwbu-376[qpxwo] +oaxadrgx-eomhqzsqd-tgzf-pqbxakyqzf-508[qaxzd] +luxciuwncpy-dyffsvyuh-mufym-682[kpftu] +hcd-gsqfsh-rms-qcbhowbasbh-168[utywx] +eqpuwogt-itcfg-hnqygt-ceswkukvkqp-882[scpud] +kfg-jvtivk-treup-drerxvdvek-841[sjpfi] +jrncbavmrq-vagreangvbany-onfxrg-ynobengbel-585[nabgr] +tcrjjzwzvu-treup-tfrkzex-wzeretzex-113[jacik] +nzydfxpc-rclop-clxalrtyr-mldvpe-wlmzclezcj-535[jwvqg] +cybyjqho-whqtu-tou-kiuh-juijydw-816[zvfwe] +hmsdqmzshnmzk-atmmx-cdoknxldms-365[mdshk] +rgndvtcxr-eaphixr-vgphh-itrwcdadvn-947[nbcsm] +mbggf-wshzapj-nyhzz-mpuhujpun-175[lekij] +iuruxlar-yigbktmkx-natz-sgxqkzotm-306[pkfsv] +nsyjwsfyntsfq-kqtbjw-fsfqdxnx-203[fsnqj] +oknkvcta-itcfg-fag-rwtejcukpi-986[gszvj] +nuatmlmdpage-dmnnuf-qzsuzqqduzs-170[udmnq] +wlqqp-irsszk-ljvi-kvjkzex-659[kijlq] +pualyuhapvuhs-jovjvshal-jvuahputlua-513[dtigq] +yaxsnlcrun-ajmrxjlcren-mhn-ydalqjbrwp-381[axybh] +ykhknbqh-oywrajcan-dqjp-odellejc-732[zmhol] +zekvierkzferc-sleep-jyzggzex-867[xdzch] +fab-eqodqf-nmewqf-oazfmuzyqzf-196[ivrwp] +dpmpsgvm-cvooz-efqmpznfou-311[cdzpy] +awzwhofm-ufors-xszzmpsob-difqvogwbu-272[vxzrc] +lxwbdvna-pajmn-ljwmh-lxjcrwp-bcxajpn-173[rmdts] +yhwooebeaz-ejpanjwpekjwh-zua-owhao-810[sreak] +muqfedyput-tou-fkhsxqiydw-582[udfqt] +glrcplyrgmlyj-njyqrga-epyqq-qcptgacq-756[rlowk] +cjpibabsepvt-joufsobujpobm-cvooz-efqmpznfou-493[wfzrg] +vrurcjah-pajmn-snuuhknjw-nwprwnnarwp-927[nrwaj] +sgmtkzoi-vrgyzoi-mxgyy-yzuxgmk-384[wdglh] +eadalsjq-yjsvw-tskcwl-vwhsjlewfl-294[umvwa] +pdjqhwlf-froruixo-iorzhu-vhuylfhv-985[wqsva] +qczcftiz-dzoghwq-ufogg-obozmgwg-948[ayqfz] +dlhwvupglk-ibuuf-shivyhavyf-227[huvfi] +surmhfwloh-iorzhu-ghyhorsphqw-959[horsu] +uzfqdzmfuazmx-omzpk-etubbuzs-222[jbtnq] +yhkpvhjapcl-jovjvshal-zlycpjlz-903[nhtyz] +wfintfhynaj-hfsid-htfynsl-xjwanhjx-723[fhnja] +enqvbnpgvir-pnaql-pbngvat-erfrnepu-533[nperv] +frqvxphu-judgh-edvnhw-frqwdlqphqw-205[hvwrq] +irdgrxzex-irsszk-ljvi-kvjkzex-139[ikrxz] +sorozgxe-mxgjk-vxupkizork-hatte-jkvgxzsktz-306[zieyv] +qyujihctyx-wbiwifuny-guhuaygyhn-604[yoszc] +lxuxaodu-npp-mnenuxyvnwc-953[wtfho] +myxcewob-qbkno-nio-crszzsxq-250[obcnq] +dpotvnfs-hsbef-kfmmzcfbo-tbmft-831[nzqmy] +oxaflxzqfsb-oxyyfq-cfkxkzfkd-783[fxkoq] +ipvohghykvbz-kfl-jvuahputlua-851[huvak] +buzahisl-jhukf-jvhapun-hjxbpzpapvu-227[ylznv] +nsyjwsfyntsfq-hfsid-htfynsl-yjhmstqtld-879[pdujv] +xfbqpojafe-dipdpmbuf-vtfs-uftujoh-181[ujbvm] +ujqgywfau-ugjjgkanw-usfvq-vwhdgqewfl-450[aczqr] +hafgnoyr-rtt-znantrzrag-481[qyxab] +ovbunmneqbhf-rtt-qrirybczrag-897[rbnqt] +vcibutulxiom-jfumncw-alumm-nywbhifias-318[angjx] +luxciuwncpy-yaa-uhufsmcm-344[eupia] +crwwv-oxaflxzqfsb-yxphbq-abmxoqjbkq-679[bqxaf] +rdchjbtg-vgpst-hrpktcvtg-wjci-ejgrwphxcv-557[gmont] +avw-zljyla-jhukf-ylzlhyjo-617[xmgat] +fydelmwp-awldetn-rcldd-xlylrpxpye-691[umlsi] +amppmqgtc-njyqrga-epyqq-pcqcypaf-522[jmnui] +kmjezxodgz-nxvqzibzm-cpio-omvdidib-135[jifak] +kzgwomvqk-jiasmb-bziqvqvo-616[nxhic] +lxuxaodu-ljwmh-mnyuxhvnwc-303[ekywx] +bwx-amkzmb-kpwkwtibm-uiviomumvb-200[fopng] +yknnkoera-xqjju-nayaerejc-238[imwko] +wlsiayhcw-wifilzof-xsy-lymyulwb-604[lwyif] +tvsnigxmpi-gerhc-gsexmrk-pskmwxmgw-230[dlhtu] +pinovwgz-xcjxjgvoz-adivixdib-343[pmnjr] +lnkfaypeha-xwogap-skngodkl-888[hwxrv] +tvsnigxmpi-hci-asvowlst-568[lrakt] +tipfxvezt-treup-rercpjzj-191[bxghm] +nzydfxpc-rclop-nlyoj-wzrtdetnd-483[xvftz] +bnmrtldq-fqzcd-azrjds-kzanqzsnqx-391[ketyf] +zekvierkzferc-sleep-kirzezex-477[otfzl] +xfbqpojafe-nbhofujd-sbccju-bobmztjt-649[bjfoc] +lgh-kwujwl-hdsklau-yjskk-ljsafafy-320[nzyav] +eqpuwogt-itcfg-ejqeqncvg-yqtmujqr-440[dmpcx] +amlqskcp-epybc-bwc-dglylagle-834[oqwzc] +hvbizodx-kgvnodx-bmvnn-gvwjmvojmt-603[gheqr] +buzahisl-msvdly-zlycpjlz-227[urzfe] +gvaaz-kfmmzcfbo-bdrvjtjujpo-207[jabfm] +nzcczdtgp-qwzhpc-dezclrp-197[czpde] +gsvvswmzi-veffmx-viwievgl-386[znley] +dyz-combod-mkxni-crszzsxq-354[xymnl] +zuv-ykixkz-pkrrehkgt-iutzgotsktz-748[ktzgi] +rgndvtcxr-eaphixr-vgphh-tcvxcttgxcv-531[pntam] +qfmcusbwq-foppwh-rsjszcdasbh-662[sbcfh] +vdzonmhydc-dff-zmzkxrhr-391[pkeyc] +clxalrtyr-mldvpe-nzyeltyxpye-353[dmtcw] +xgjougizobk-inuiurgzk-zkinturume-254[hqutr] +lsyrkjkbnyec-lkcuod-nocsqx-172[axnjt] +oxjmxdfkd-pzxsbkdbo-erkq-jxohbqfkd-965[dmnfi] +rkpqxyib-yxphbq-zrpqljbo-pbosfzb-471[bpqor] +glrcplyrgmlyj-bwc-pcqcypaf-262[clpyg] +mybbycsfo-nio-psxkxmsxq-432[znbfc] +fubrjhqlf-vfdyhqjhu-kxqw-ghvljq-257[xygze] +ajvyjprwp-ajkkrc-vjwjpnvnwc-667[jpvwa] +qfmcusbwq-rms-obozmgwg-740[tjyop] +xlrypetn-mldvpe-nzyeltyxpye-171[jyfxu] +zlkprjbo-doxab-mixpqfz-doxpp-xznrfpfqflk-809[icbft] +vjpwncrl-lqxlxujcn-mnyuxhvnwc-407[sygbx] +wlqqp-treup-tfrkzex-uvjzxe-815[rnolz] +ahngzyzqcntr-idkkxadzm-lzqjdshmf-183[zdahk] +mrxivrexmsrep-jpsaiv-asvowlst-594[ldpzc] +jsvagsulanw-wyy-wfyafwwjafy-918[plqyr] +ixeumktoi-yigbktmkx-natz-aykx-zkyzotm-436[ergam] +pybgmyargtc-njyqrga-epyqq-nspafyqgle-782[ushvj] +kfg-jvtivk-wcfnvi-jrcvj-919[vjcfi] +fubrjhqlf-ixccb-iorzhu-uhvhdufk-309[qkwnm] +muqfedyput-fbqijys-whqii-mehaixef-400[shvuf] +tcrjjzwzvu-avccpsvre-jyzggzex-685[fyzub] +zgmfyxypbmsq-zyqicr-bcnjmwkclr-938[utmil] +houngfgxjuay-pkrrehkgt-yzuxgmk-488[xszwt] +pbeebfvir-pnaql-erprvivat-247[vhuxi] +qvbmzvibqwvit-kpwkwtibm-abwziom-694[rnmtq] +mvhkvbdib-zbb-pnzm-oznodib-395[ldmui] +qxdwpopgsdjh-rwdrdapit-stktadebtci-245[dtpai] +xgsvgmotm-lruckx-sgtgmksktz-514[nestp] +muqfedyput-zubboruqd-huiuqhsx-738[uqbdh] +laffe-hatte-lotgtiotm-566[taefl] +rdchjbtg-vgpst-rpcsn-hidgpvt-921[gptcd] +nwilwcejc-nwxxep-zarahkliajp-160[awcei] +jvyyvzpcl-jyfvnlupj-zjhclunly-obua-ayhpupun-929[zcymu] +gbc-frperg-cynfgvp-tenff-nanylfvf-429[pszmb] +nzwzcqfw-qwzhpc-xlcvpetyr-587[qmjln] +ucynmlgxcb-zyqicr-jmegqrgaq-730[cgqmr] +gbc-frperg-sybjre-grpuabybtl-351[giufw] +hqcfqwydw-hqrryj-mehaixef-608[hqefr] +yflexwxoalrp-zovldbkfz-oxyyfq-rpbo-qbpqfkd-367[foblp] +iqmbazulqp-dmnnuf-fqotzaxask-170[mnuiw] +ixccb-iorzhu-dftxlvlwlrq-439[katfr] +gpsxdprixkt-uadltg-rdcipxcbtci-115[sxkct] +npmhcargjc-qaytclecp-fslr-pcqcypaf-990[soyhd] +hqtyeqsjylu-uww-tufbeocudj-920[zlroy] +clotzlnetgp-ojp-dezclrp-431[lpceo] +wfummczcyx-wuhxs-lywycpcha-110[eatif] +jshzzpmplk-wshzapj-nyhzz-zavyhnl-643[zhpaj] +hqtyeqsjylu-sqdto-seqjydw-bqrehqjeho-946[ltnyb] +eza-dpncpe-mfyyj-cplnbftdtetzy-717[oxwat] +xmtjbzidx-xjgjmapg-ytz-mzvxlpdndodji-603[ksiqx] +ugdgjxmd-vqw-vwhsjlewfl-684[sxfvh] +ynssr-xzz-xgzbgxxkbgz-839[xzgbs] +tagzsrsjvgmk-xdgowj-ljsafafy-918[agjsf] +vrurcjah-pajmn-lqxlxujcn-uxprbcrlb-953[romck] +jshzzpmplk-qlssfilhu-bzly-alzapun-773[ojiwl] +pinovwgz-ytz-xjiovdihzio-655[yrfzp] +pualyuhapvuhs-yhiipa-thuhnltlua-903[hualp] +hcd-gsqfsh-awzwhofm-ufors-dzoghwq-ufogg-fsgsofqv-870[yfizu] +vrurcjah-pajmn-mhn-vjwjpnvnwc-563[rften] +vkrhzxgbv-cxeeruxtg-ybgtgvbgz-215[lswez] +pkl-oaynap-lhwopey-cnwoo-hkceopeyo-316[opeya] +bdavqofuxq-rxaiqd-ymzmsqyqzf-378[hguys] +uqtqbizg-ozilm-ntwemz-wxmzibqwva-876[gzhyw] +jyddc-fyrrc-xvemrmrk-360[ulmzd] +jchipqat-rpcsn-rdpixcv-pcpanhxh-687[ltzwy] +dfcxsqhwzs-xszzmpsob-hsqvbczcum-376[agmnj] +vqr-ugetgv-gii-fgukip-856[giuve] +xmtjbzidx-agjrzm-jkzmvodjin-811[wavdq] +rmn-qcapcr-djmucp-sqcp-rcqrgle-756[sozba] +eadalsjq-yjsvw-tskcwl-suimakalagf-788[hmgzu] +tinnm-qobrm-kcfygvcd-350[lzrje] +oxjmxdfkd-zelzlixqb-pqloxdb-965[xdlbo] +hdgdovmt-bmvyz-ezggtwzvi-omvdidib-863[dvgim] +ajyqqgdgcb-aylbw-amyrgle-cleglccpgle-522[ynhwt] +oazegyqd-sdmpq-ngzzk-fdmuzuzs-586[sygha] +myxcewob-qbkno-lexxi-oxqsxoobsxq-484[fmyeh] +pyknyegle-aylbw-amyrgle-mncpyrgmlq-470[dgahb] +sehheiylu-hqrryj-huqsgkyiyjyed-972[apoin] +iutyaskx-mxgjk-hatte-iayzuskx-ykxboik-176[ctnms] +uzfqdzmfuazmx-ngzzk-bgdotmeuzs-508[nslqc] +nglmtuex-ktfitzbgz-wrx-kxvxbobgz-397[txgba] +gbc-frperg-rtt-npdhvfvgvba-143[grvbf] +tfejldvi-xiruv-wlqqp-avccpsvre-tfekrzedvek-815[cmtyq] +chnylhuncihuf-wbiwifuny-lymyulwb-162[uyhil] +dzczkrip-xiruv-gcrjkzt-xirjj-uvgrikdvek-113[hvwun] +rgllk-ngzzk-emxqe-794[snuev] +qvbmzvibqwvit-kivlg-zmkmqdqvo-876[ivunt] +cqwdujys-fbqijys-whqii-ixyffydw-374[gcmut] +sgmtkzoi-vrgyzoi-mxgyy-cuxqynuv-852[ygimo] +apuut-xcjxjgvoz-pnzm-oznodib-109[ozjnp] +ymszqfuo-gzefmnxq-ngzzk-fqotzaxask-326[zfqag] +forwcoqhwjs-xszzmpsob-gsfjwqsg-610[rlhwt] +vcibutulxiom-vohhs-xyjulngyhn-708[dypil] +sgmtkzoi-inuiurgzk-jkbkruvsktz-124[qxmsb] +luxciuwncpy-mwupyhayl-bohn-uhufsmcm-604[uotjd] +jyfvnlupj-kfl-bzly-alzapun-591[lafjn] +dkqjcbctfqwu-hnqygt-ceswkukvkqp-622[skwtc] +odiih-yujbcrl-pajbb-bcxajpn-771[otehb] +dmbttjgjfe-gmpxfs-sftfbsdi-649[asqgv] +vhglnfxk-zktwx-wrx-wxiehrfxgm-345[hipzg] +ncjzrpytn-ojp-xlcvpetyr-379[wuezq] +ykhknbqh-ywjzu-ykwpejc-opknwca-238[nxhwm] +ide-htrgti-gpqqxi-prfjxhxixdc-609[lhtnk] +tinnm-qvcqczohs-hfowbwbu-272[xwhnz] +kmjezxodgz-wvnfzo-hvivbzhzio-603[ftdkv] +molgbzqfib-mixpqfz-doxpp-ildfpqfzp-237[sodim] +tmrszakd-okzrshb-fqzrr-kzanqzsnqx-287[zbmsl] +oxaflxzqfsb-mixpqfz-doxpp-abmilvjbkq-341[xbfpq] +zuv-ykixkz-hatte-zxgototm-150[tzkox] +ytu-xjhwjy-kqtbjw-xmnuunsl-515[rbjpq] +oqnidbshkd-bzmcx-cdrhfm-183[dbchm] +ipvohghykvbz-ihzrla-zavyhnl-799[gdqfx] +pdjqhwlf-vfdyhqjhu-kxqw-uhdftxlvlwlrq-153[zqldc] +kmjezxodgz-ytz-yzndbi-967[gierw] +cvabijtm-rmttgjmiv-xczkpiaqvo-720[imtva] +nglmtuex-ietlmbv-zktll-hixktmbhgl-215[nmwhy] +vxupkizork-sorozgxe-mxgjk-lruckx-giwaoyozout-696[lkftj] +mvhkvbdib-kgvnodx-bmvnn-xjiovdihzio-785[srjut] +eqnqthwn-rncuvke-itcuu-ewuvqogt-ugtxkeg-518[cfdqb] +wfruflnsl-wfggny-htsyfnsrjsy-359[fsnvr] +iwcjapey-ywjzu-ykwpejc-nayaerejc-576[myaou] +nsyjwsfyntsfq-kqtbjw-tujwfyntsx-593[swzqr] +vhkkhlbox-ktwbhtvmbox-utldxm-mktbgbgz-501[yfqzw] +qzoggwtwsr-rms-fsqswjwbu-324[grdjl] +cybyjqho-whqtu-sqdto-seqjydw-ixyffydw-114[yqdwf] +chnylhuncihuf-wfummczcyx-zfiqyl-guleyncha-136[jzbiq] +zuv-ykixkz-jek-ykxboiky-904[mfadn] +qjopwxha-sawlkjevaz-oywrajcan-dqjp-oanreyao-498[smtnr] +dlhwvupglk-qlssfilhu-wbyjohzpun-695[lhups] +udskkaxawv-usfvq-ugslafy-sfsdqkak-684[syldq] +cybyjqho-whqtu-tou-huiuqhsx-582[dkbhi] +bnqqnrhud-dff-kzanqzsnqx-833[dtzyw] +tipfxvezt-upv-kvtyefcfxp-685[buszt] +apwmeclga-cee-qcptgacq-392[yszmf] +zloolpfsb-pzxsbkdbo-erkq-pqloxdb-211[lykdq] +lzfmdshb-tmrszakd-bzmcx-bnzshmf-qdrdzqbg-313[zbdms] +pbafhzre-tenqr-onfxrg-ratvarrevat-403[bktor] +pxtihgbsxw-vahvhetmx-mxvaghehzr-631[hxvae] +vrurcjah-pajmn-ouxfna-jwjuhbrb-641[neckb] +pelbtravp-pubpbyngr-fnyrf-975[gndzm] +vjpwncrl-mhn-jlzdrbrcrxw-485[zopte] +drxevkzt-sleep-uvgcfpdvek-945[bvnau] +nzcczdtgp-mfyyj-dlwpd-613[yzbdk] +yhwooebeaz-nwxxep-pnwejejc-238[ewjno] +buzahisl-msvdly-dvyrzovw-643[gbeat] +qzlozfhmf-bzmcx-qdzbpthrhshnm-443[qosty] +hvbizodx-zbb-adivixdib-343[nhyjs] +fruurvlyh-lqwhuqdwlrqdo-gbh-vklsslqj-803[qpinz] +kzgwomvqk-moo-twoqabqka-642[puwmb] +ibghopzs-foadouwbu-pogysh-hfowbwbu-480[rktvw] +wsvsdkbi-qbkno-mkxni-nozkbdwoxd-588[wsytr] +fkqbokxqflkxi-zxkav-abpfdk-263[kfxab] +esyfwlau-jsttal-ogjckzgh-320[wufhe] +pxtihgbsxw-xzz-ehzblmbvl-319[nkcmq] +aflwjfslagfsd-bwddqtwsf-wfyafwwjafy-996[jkqhc] +hafgnoyr-enoovg-phfgbzre-freivpr-429[xwuvb] +jlidywncfy-xsy-xyjulngyhn-916[zotqu] +tfiifjzmv-gcrjkzt-xirjj-ivtvzmzex-971[cetnj] +bnmrtldq-fqzcd-eknvdq-rsnqzfd-885[ektcl] +luxciuwncpy-yaa-mniluay-266[auyci] +hqfxxnknji-hmthtqfyj-wjhjnansl-801[zywic] +votubcmf-tdbwfohfs-ivou-efwfmpqnfou-129[foubm] +thnulapj-jovjvshal-hjxbpzpapvu-253[ckgst] +xlrypetn-mldvpe-lylwjdtd-457[lsmgz] +ovbunmneqbhf-pnaql-svanapvat-351[alynm] +rdchjbtg-vgpst-rpcsn-rdpixcv-detgpixdch-765[hptsq] +aczupnetwp-xtwtelcj-rclop-dnlgpyrpc-sfye-dstaatyr-899[onyrk] +krxqjijamxdb-kjbtnc-ldbcxvna-bnaerln-511[cyist] +oknkvcta-itcfg-tcddkv-fgukip-700[hycuv] +kgjgrypw-epybc-zyqicr-mncpyrgmlq-288[ijbzo] +jyddc-hci-hizipstqirx-620[ervwu] +oknkvcta-itcfg-lgnnadgcp-ewuvqogt-ugtxkeg-544[mxano] +vhglnfxk-zktwx-ktuubm-ftkdxmbgz-527[zfsoa] +qcffcgwjs-rms-rsgwub-350[wstyq] +tipfxvezt-treup-tfrkzex-uvgrikdvek-321[etkrv] +lsyrkjkbnyec-lkcuod-nozkbdwoxd-874[kdobc] +ytu-xjhwjy-ojqqdgjfs-jslnsjjwnsl-437[nzycs] +xjgjmapg-nxvqzibzm-cpio-yzkvmohzio-967[vasue] +rkpqxyib-yxphbq-abpfdk-627[rvpcm] +qyujihctyx-wuhxs-wiuncha-mylpcwym-604[ychuw] +udglrdfwlyh-zhdsrqlchg-fdqgb-frqwdlqphqw-335[mtvzs] +bnmrtldq-fqzcd-bgnbnkzsd-qdbdhuhmf-261[ywqhu] +ugfkmewj-yjsvw-tskcwl-dgyaklauk-996[kwagj] +iqmbazulqp-qss-pqbmdfyqzf-456[ztynb] +awzwhofm-ufors-xszzmpsob-aofyshwbu-818[ycfar] +wfintfhynaj-kqtbjw-qfgtwfytwd-411[ftwjn] +nzydfxpc-rclop-dnlgpyrpc-sfye-opdtry-301[jwahc] +yaxsnlcrun-snuuhknjw-bjunb-147[zsycg] +cebwrpgvyr-qlr-fgbentr-923[xregt] +tyepcyletzylw-mldvpe-opalcexpye-457[ebvtl] +pbeebfvir-onfxrg-phfgbzre-freivpr-299[refbp] +vrurcjah-pajmn-npp-mnbrpw-953[hwayg] +kzeed-wfggny-fhvznxnynts-775[bmnjw] +tcorcikpi-ejqeqncvg-wugt-vguvkpi-336[cgive] +mbiyqoxsm-mkxni-mykdsxq-crszzsxq-224[mgtde] +bwx-amkzmb-kpwkwtibm-uizsmbqvo-616[zywgf] +qfkkj-mldvpe-afcnsldtyr-925[dfkla] +qzoggwtwsr-qobrm-qcbhowbasbh-974[vdxcz] +jshzzpmplk-yhiipa-bzly-alzapun-279[pzalh] +zotts-vumeyn-mniluay-344[moyzn] +eza-dpncpe-nlyoj-nzletyr-dezclrp-249[rmlfn] +rdadguja-ytaanqtpc-sthxvc-895[atcdg] +bkzrrhehdc-rbzudmfdq-gtms-trdq-sdrshmf-729[vnaxm] +wifilzof-willimcpy-vohhs-mniluay-864[rxqlk] +dzczkrip-xiruv-zekvierkzferc-gcrjkzt-xirjj-uvmvcfgdvek-529[mautj] +hafgnoyr-pelbtravp-onfxrg-erprvivat-741[xvymo] +xmrrq-tskcwl-ksdwk-268[uzesm] +htsxzrjw-lwfij-kqtbjw-yjhmstqtld-801[jtwhl] +avw-zljyla-msvdly-yljlpcpun-435[cedbt] +zovldbkfz-zxkav-zlxqfkd-xznrfpfqflk-185[fzklx] +gvcskirmg-gerhc-wxsveki-308[gceik] +gpsxdprixkt-snt-ldgzhwde-167[zbkqn] +dkqjcbctfqwu-eqttqukxg-tcddkv-fgxgnqrogpv-466[eygsw] +thnulapj-kfl-lunpullypun-643[zyucd] +vjpwncrl-kjbtnc-mnenuxyvnwc-641[ncjvw] +sgmtkzoi-atyzghrk-hgyqkz-xkykgxin-488[jyivp] +zvyvgnel-tenqr-rtt-erprvivat-299[dvxye] +vehmsegxmzi-gpewwmjmih-ikk-hizipstqirx-698[xtwpi] +sno-rdbqds-lhkhszqx-fqzcd-bzmcx-bnzshmf-lzqjdshmf-287[twsqz] +jqwpihizlwca-zijjqb-lmdmtwxumvb-694[vhibn] +fodvvlilhg-fkrfrodwh-wudlqlqj-595[ldfho] +nuatmlmdpage-qss-efadmsq-248[kzgwp] +sehheiylu-isqludwuh-xkdj-efuhqjyedi-894[ehudi] +bpvctixr-hrpktcvtg-wjci-itrwcdadvn-843[gjtsq] +sehheiylu-zubboruqd-tufbeocudj-556[ubedh] +pinovwgz-wvnfzo-gvwjmvojmt-291[spxor] +vhkkhlbox-lvtoxgzxk-angm-kxlxtkva-163[kxlva] +shmml-pubpbyngr-qrcyblzrag-273[xycpv] +lahxpnwrl-mhn-anjlzdrbrcrxw-303[rlnah] +vhglnfxk-zktwx-cxeeruxtg-wxlbzg-137[xhfpw] +vagreangvbany-pnaql-svanapvat-845[anvgp] +rzvkjiduzy-xviyt-xjvodib-gvwjmvojmt-655[ghens] +ygcrqpkbgf-ejqeqncvg-rwtejcukpi-388[xjiod] +wlqqp-kfg-jvtivk-gcrjkzt-xirjj-tfekrzedvek-997[kjert] +ucynmlgxcb-djmucp-asqrmkcp-qcptgac-366[wqhry] +otzkxtgzoutgr-lruckx-ygrky-202[gtxfy] +houngfgxjuay-hgyqkz-ktmotkkxotm-748[kgoth] +bnknqetk-bzmcx-kzanqzsnqx-989[nkqzb] +vrurcjah-pajmn-mhn-lxwcjrwvnwc-251[jaxic] +sbqiiyvyut-tou-efuhqjyedi-894[qksiu] +oaddaeuhq-bxmefuo-sdmee-efadmsq-716[inakb] +vkrhzxgbv-wrx-phkdlahi-215[hkrvx] +xcitgcpixdcpa-tvv-gtprfjxhxixdc-999[jemot] +vehmsegxmzi-veffmx-wxsveki-594[bhgyq] +laffe-vrgyzoi-mxgyy-uvkxgzouty-124[ygfou] +qzlozfhmf-dff-zbpthrhshnm-651[mkbun] +xmrrq-wyy-dgyaklauk-138[yakrd] +cvabijtm-kivlg-kwvbiqvumvb-980[vbikm] +hmsdqmzshnmzk-azrjds-sdbgmnknfx-989[lvuhe] +vdzonmhydc-dff-sqzhmhmf-625[enwxv] +pwcvonofrcig-xszzmpsob-gvwddwbu-740[hlvts] +lnkfaypeha-oywrajcan-dqjp-ajcejaanejc-732[ajcen] +ugfkmewj-yjsvw-xdgowj-sfsdqkak-606[xnjmw] +bqvvu-ywjzu-ykwpejc-opknwca-940[zywlu] +vdzonmhydc-azrjds-zbpthrhshnm-131[dnjcy] +vqr-ugetgv-fag-nqikuvkeu-544[sydvo] +vjpwncrl-bljenwpna-qdwc-anbnjalq-693[najlw] +pbybeshy-fpniratre-uhag-ybtvfgvpf-481[msyze] +yhwooebeaz-ynukcajey-xwogap-hkceopeyo-212[eoyac] +yrwxefpi-hci-xiglrspskc-438[zytvr] +ujoon-tvv-hwxeexcv-427[ukymv] +nsyjwsfyntsfq-wfggny-ijajqturjsy-957[pboys] +zotts-vumeyn-lywycpcha-838[ujstb] +upq-tfdsfu-dipdpmbuf-tijqqjoh-129[bluat] +oazegyqd-sdmpq-eomhqzsqd-tgzf-emxqe-170[yopas] +ktfitzbgz-vtgwr-vhtmbgz-kxtvjnblbmbhg-735[trlen] +rdggdhxkt-uadltg-jhtg-ithixcv-401[yixqs] +qfkkj-clmmte-opdtry-639[kmtcd] +ibghopzs-pibbm-rsdofhasbh-220[sutpe] +eqnqthwn-ecpfa-eqcvkpi-ocpcigogpv-596[qmfhp] +hwdtljsnh-hfsid-htfynsl-zxjw-yjxynsl-931[nmojg] +ykjoqian-cnwza-xwogap-paydjkhkcu-472[akcjn] +xlrypetn-nlyoj-nzletyr-opawzjxpye-197[fevmd] +lzfmdshb-azrjds-kzanqzsnqx-755[zftaw] +apuut-xjgjmapg-xcjxjgvoz-mznzvmxc-577[gnzmx] +hqcfqwydw-hqrryj-ijehqwu-608[qhwjr] +lnkfaypeha-ejpanjwpekjwh-zua-pnwejejc-368[vwqni] +bjfutsneji-jll-xmnuunsl-853[ozghw] +muqfedyput-ydjuhdqjyedqb-vbemuh-tulubefcudj-712[lqaik] +willimcpy-jlidywncfy-wuhxs-guhuaygyhn-214[itesx] +rkpqxyib-zixppfcfba-ciltbo-rpbo-qbpqfkd-887[bpfiq] +eadalsjq-yjsvw-usfvq-ugslafy-ljsafafy-788[asfjl] +gvaaz-kfmmzcfbo-qvsdibtjoh-103[ankyj] +shmml-pnaql-pbngvat-phfgbzre-freivpr-403[mofch] +shmml-cynfgvp-tenff-hfre-grfgvat-273[fgehm] +ibghopzs-tzcksf-difqvogwbu-870[bxgar] +ymszqfuo-rxaiqd-dqmocgueufuaz-196[xmwtu] +egdytrixat-uadltg-hidgpvt-115[mslhc] +rkpqxyib-oxyyfq-abpfdk-445[qlrak] +irdgrxzex-lejkrscv-irsszk-jkfirxv-191[izgye] +jsvagsulanw-hdsklau-yjskk-sfsdqkak-112[skadj] +zgmfyxypbmsq-hcjjwzcyl-bctcjmnkclr-600[cjmyb] +jqwpihizlwca-ntwemz-uizsmbqvo-616[gijkn] +guahyncw-wuhxs-wiuncha-nywbhifias-994[cipny] +xgsvgmotm-kmm-ktmotkkxotm-436[ywzib] +ykhknbqh-ywjzu-zalwnpiajp-186[csbmn] +udpsdjlqj-fkrfrodwh-zrunvkrs-283[rdfjk] +yuxufmdk-sdmpq-eomhqzsqd-tgzf-mocgueufuaz-820[mskbl] +sbqiiyvyut-isqludwuh-xkdj-qsgkyiyjyed-530[ndmuc] +mbiyqoxsm-oqq-crszzsxq-952[gxqmn] +rwcnawjcrxwju-lqxlxujcn-cnlqwxuxph-849[zqekt] +kpvgtpcvkqpcn-fag-ugtxkegu-986[qpyuj] +dfcxsqhwzs-qzoggwtwsr-qvcqczohs-fsoqeiwgwhwcb-714[lgtfc] +ojk-nzxmzo-xviyt-xjvodib-omvdidib-265[iodvx] +wbhsfbohwcboz-qobrm-zcuwghwqg-298[bwhoc] +shoewudys-tou-ixyffydw-478[uszty] \ No newline at end of file diff --git a/2016/input/05 b/2016/input/05 new file mode 100644 index 0000000..fcbcddb --- /dev/null +++ b/2016/input/05 @@ -0,0 +1 @@ +abbhdwsy \ No newline at end of file diff --git a/2016/input/06 b/2016/input/06 new file mode 100644 index 0000000..13e0b74 --- /dev/null +++ b/2016/input/06 @@ -0,0 +1,598 @@ +ewqplnag +qchqvvsf +jdhaqbeu +jsgoijzv +iwgxjyxi +yzeeuwoi +gmgisfmd +vdtezvan +secfljup +dngzexve +xzanwmgd +ziobunnv +ennaiqiz +jgrnzpzi +huwrnmnw +qeibstlk +qegqmijn +gpwfokjg +gsmfeqmm +hlytxgti +idyjagzt +mlaztojc +xqokrslk +gkigkibl +feobhvwi +xxylgrpe +uivfbbbz +lekmcifg +ngcwvese +tgyvzlkg +pysjumnt +bmeepsda +svbznlid +hcwlvtyg +tjdzsiqu +cadtkxut +msirmtzs +cxgahqib +dtfdkzss +nrnodqjy +ptwvbmtq +ywkqyulp +ciszkcnx +ahxtwnnk +dlwvcsfc +uewwndje +ocdgocqk +auanolri +pfqyjyja +uypwzjjo +zaidpezv +tjtwiftf +fnrzsyhp +hfyqsxfu +nigauqsd +xonhbtpx +wcjciqgn +kdgvmzox +zbweztcm +irrmwyux +zmqblmfm +chcqxrqm +qjnahphi +hvkxgyeu +uqcsxxix +lhzkoydb +oyukomwi +prjjkctn +nsjvcthj +bivdsubf +galbvbof +emrnviig +bnpuofwt +shsutaeo +xkhargbp +swunowfn +dzohfvtr +kbsvqoor +dtkjgajx +bcjgfstl +jlgouhim +xmbqsvjx +brcvmnqc +eyphcrec +flnxhhzm +blrixjdy +msxlfmop +eaawcbkp +mgxiemxl +pfxtpuvh +vulefkxn +tlxfigbc +iktsstzd +qdycwpat +yjfhllyu +mmcxxloe +xpwpjnuy +sziveuyv +rmkmyqyl +hqywtzhu +pouceqty +kvfdzahj +ltiledbc +pcajwpht +kcsxqksn +bfmdmqyf +luxbaaqq +nptsvniz +aawfrzxw +keeyyptq +ryicuhie +yjvclzac +bveorbeo +ohmbvpmu +cvxejdwb +ziyffdnx +gwjxdbaq +unnrfnqh +kvicaaai +jkkiuvxj +cjviyayl +drbielvb +nulynluk +eixugugc +fxfzuonn +ludhzktb +tmqvbqfm +nzzjdxph +ukzvvges +ejplrckc +ocawtnmd +svqsxbrf +sfdfgohg +bnjrokxk +frulcpng +fjuhbzfb +wpwytpzh +jqstbhff +wkzichey +uygpxxgb +laemchta +vgjcyumm +hhloaorn +iviwosqf +kudumnei +ntfvtoay +xcimluam +wypytwno +cqboftdd +mwfcdwzw +tgwmjxfp +jysdwspw +cnsoamld +fyznzrpo +skvorpwt +plpwsuih +aysqbwem +rutkdrnn +llxxyaqe +vfhsvtxv +lgtmtjmj +ypfcjnbb +tdvnfrtv +obpdwotj +zreanciv +mfexhuff +hodukcbc +rjqrgxgn +xpmtiaec +roavlcvt +rabhqwct +ojkdtbsz +pztezpmw +qefgwtbf +ocdtbmop +dlfgvkmh +ddpzjrqc +ounagflg +vrtrakwj +ekcrcvtl +hrvghvmq +yphmhigf +nbmwllxs +gmcfdvvw +yafshyuo +hpbrminb +lwmuprvy +rajyhedj +qtrxbxal +wcqfjvfg +pvzefquu +juizosne +qbnrfgpp +muyjpylx +ljftujim +ssrjqzhi +isolpxai +lpazyyse +znrlwzhc +tvcbgplx +ecdcsjuq +axzsjwnm +edogmygw +gfbqksky +bekioiyr +nyhxmwmx +murhyrrk +rwlfdeve +trlmfwjy +zzanjgdz +bwscvdxk +tsmrttcq +fmmizwrz +cqneezoq +dhuwkslc +jwzrdomv +wxrleoed +fivvxash +ioygsjhc +qdpwprez +tagvmlbn +pqtaqcot +bdmdrheh +pfmsjlpa +hiafczzf +ovjrntwt +eoytrczw +ekcuhuur +wmqzzebk +awczvbtm +vnxrniiy +kaayoxlt +xhjtpiju +ceffyfww +vdnoycxw +pmebcukw +swbogemw +affewhdj +inbpzraz +ttjkvylh +khiljslo +ixmjrdom +wfnmgcqr +pntkncna +ezbtngtx +dxgoiwtq +gcorhdwq +mtnxxcfn +lguoqhpp +mydgtldv +dcautedv +aqxafodz +abvyoomx +qdpyeshc +eslyxatb +sxhhruer +fyudfdpl +mvbfwmhk +upmzmdmz +rqxugbwh +lubhqmre +vhpzyerz +ljyexgma +vpshuvyr +pxvuccyv +ppesevpl +mjcyazgy +mthxasgs +zkeinsxs +emehvnsz +icawtxzi +rxrpyaji +jxoxevxd +adewmqba +jcypwkfv +wspbxbnf +sjagbbna +ubfllkvq +hsecqidv +bztzbswf +udhthpya +hbpqvrrg +glnwntfm +ghpsmdjt +fgwxpvkx +sadgtywm +ipcrkfuv +tctyqmko +livzojbr +yejzdarn +aqqnctjm +emgcphcq +nkqfubfl +qojeklqt +kvsnebgk +whbowpmx +brmttrog +dyecglha +bjhyzrqq +vtkhzeyk +loopqwmv +pycecyfy +riswpqzb +fpukakic +jbyjandt +pgmqyhho +rkovglxj +gyoamarg +zffmcdgz +vajaeirw +mewxbrpv +akullmcy +hnhhlxto +vrzuwzzd +oqudtfol +hjbadzse +pttmnoan +bgvmjudu +cfrowrpy +xapmrpde +uvoxhgwo +ogzbapqj +slkplnas +nzidxmos +ymfjsfcx +celkhenj +mjsysfzp +piduvvdb +jhjlhnai +vuqwliaq +kwxnhphe +kttkiutd +kbxdqmdi +syokthzk +hgzkmhvv +zhwusjfg +qsozuerb +obyswgci +aosbzjnt +vtriuhuy +ewwggfad +ntpassqj +ggvooetp +hhmyywmv +rzhrqkvx +zapkliel +mfrgyvgw +ziwaqzun +vdpqztyc +wgxbjzxa +azvotolg +nskteyaj +mxoustqy +wfsrmtrk +xoqecgrl +dluzpwur +lokaxykx +xyqouhxb +udaqkoqf +hbvsdvkk +omqymecg +zpdwrwin +gaaprkiw +qrljdsgr +yzqzxlsu +lwxzzesm +fogpmgrb +ahahsyet +xbshcjlp +kqjnqfns +dirbsjvo +ivvuvzde +uuktpjjo +xjyqnzuz +gocimeia +qgznojog +gliwbekp +bqgakwkl +emewklsz +nrsbhxls +ksqxptkx +qayiikzs +ypulgpll +zpgbguze +oxttgrkk +usubcozu +vfdfaqdf +aijdqnws +zrafskka +qevegolp +limniayp +ufiiffly +npadruup +euamdite +plzaivpj +akqqvlro +foknpolu +yzvvtjwz +svhqjfpq +zsceoycs +fueralpo +dmwobiiv +nwmjvxxj +qvypxtyn +ycfkrxge +bdlrfvxh +ilkjiske +nebvkegk +stclxlsh +dzcomxfy +xnqqcilu +fwtpdqok +xcwpngxi +jhzgpgmd +gxfgyecr +ifzqihyl +rtdjzika +eeqqbdrn +bcxcqoif +sxdiaauc +rwfkuhka +abixxudr +aexxbgvm +ibnckfvl +wpnguagh +ukicjzms +rjcdglsa +wbbbwedq +gszpbdcd +uuliinia +oroolcgs +dbrutctl +clhhguog +jhttewcr +nudiqqvi +onpwamga +kztklrsm +moqperyh +wrlcyfwl +hsnkrqrz +jctpxrsp +dgyjdbaj +yxamrvae +cubkcqah +yvecuhqs +vvbcmhdf +mcosktuq +uonxvxhd +zileeeyl +jxebsrqb +rvkudgsu +yiflvdar +hefezoyf +vlhprvnx +gnlmhfzj +fdzgbpei +evisboku +eiultlcz +ttrpqdch +bnujwmwg +kxkijfkb +frzqsuvg +yzbrwmhf +tbytnypt +wizbqixp +sqofdzfw +gkiddyod +tqzyncjl +vfsjagyy +xkcvhice +nkkipbzd +murubxvr +aalgekbr +qzhgpqiz +rtxmuasx +vznzbbuq +bdpaucup +byzeajgv +dpedjbke +ksmynpqq +zocacvlb +zymffjwb +cegodbwk +qggqsxoo +uziyisoh +oatngkya +caumywbn +lqbnhdpj +fszkqnop +tnhssbbg +jyltqque +uwwsazxg +mwujixlj +wrslfkst +shmhlagd +rgdphggr +korsrnbu +rzjnunxy +rnjypyeo +gtvnifwz +uapadqvb +ovipnngd +dkehomjw +eaiejnmq +jeikkciu +oftckfsk +klydfonj +igglmwfo +fyubwdnh +ngzkhkpd +yuglfalc +jhjuufhh +dxemyuqq +skxsfkuf +bngixdvm +ibetxweu +vhkddick +yphvckps +vsfjvfuc +yslnkljn +owpmzvtw +hwqxmdkm +xedywgaa +gxspaddo +fgtuqtzz +lmdgicyj +wormnkqh +odjjjnjs +upwsehpy +cdnoenbr +palgbqbo +cxhtopct +atyclmda +sqqsghaw +kphxnffp +snajohsd +fgoqdmya +qukeyclq +ridnraeu +xxnrgycg +ithdkict +xkkvoupr +jdxzaowb +wsrakjua +tnlfvefb +tkopftbw +fflhizvk +qlviiyxs +tqlkpdji +wbkizspo +qfcnlwzy +icnypchf +rmcrtzhx +ibghzcrx +nwjeakcj +ozubzsep +thevuhvq +drmvjqbr +zlsxyeqi +kfbaywmd +uxpkilwv +nifwejqs +yjlhwrhl +jsotkgry +tnjboxch +loaljerf +howfiujr +zmqsffwn +uqrsbamt +othunkcr +ylhkojxs +kzldescv +irwynsjs +cytlwbvv +iqvupsei +wemgrrnj +akrqrpis +vocnluer +wjnscmyh +hekwlgim +ilmqutgu +qtnurohl +cjuclgbg +yivdapow +jrbhdxku +xholfbuw +grgfxaho +lquojibn +cbdendkb +mdurkdvz +dqdixboo +wvopazpt +xbxclroc +zjxgejjk +tmbfyyvz +cosjhwru +aqwtipsw +pmympjrh \ No newline at end of file diff --git a/2016/input/07 b/2016/input/07 new file mode 100644 index 0000000..8b5be3c --- /dev/null +++ b/2016/input/07 @@ -0,0 +1,2000 @@ +dnwtsgywerfamfv[gwrhdujbiowtcirq]bjbhmuxdcasenlctwgh +rnqfzoisbqxbdlkgfh[lwlybvcsiupwnsyiljz]kmbgyaptjcsvwcltrdx[ntrpwgkrfeljpye]jxjdlgtntpljxaojufe +jgltdnjfjsbrffzwbv[nclpjchuobdjfrpavcq]sbzanvbimpahadkk[yyoasqmddrzunoyyk]knfdltzlirrbypa +vvrchszuidkhtwx[ebqaetowcthddea]cxgxbffcoudllbtxsa +olgvwasskryjoqpfyvr[hawojecuuzobgyinfi]iywikscwfnlhsgqon +jlzynnkpwqyjvqcmcbz[fdjxnwkoqiquvbvo]bgkxfhztgjyyrcquoiv[xetgnqvwtdiuyiyv]zyfprefpmvxzauur +vjqhodfzrrqjshbhx[lezezbbswydnjnz]ejcflwytgzvyigz[hjdilpgdyzfkloa]mxtkrysovvotkuyekba +xjmkkppyuxybkmzya[jbmofazcbdwzameos]skmpycixjqsagnzwmy +zeebynirxqrjbdqzjav[cawghcfvfeefkmx]xqcdkvawumyayfnq[qhhwzlwjvjpvyavtm]sbnvwssglfpyacfbua[wpbknuubmsjjbekkfy]icimffaoqghdpvsbx +enupgggxsmwvfdljoaj[qlfmrciiyljngimjh]qkjawvmtnvkidcclfay[bllphejvluylyfzyvli]heboydfsgafkqoi +ottpscfbgoiyfri[iwzhojzrpzuinumuwd]orfroqlcemumqbqqrea +zhrhvyfxxcsdpris[xdqecoqujrnqbgla]bpwibmrkcfbzigf[rlqtqykdltcpusvc]ybtsglkxrhucxwv +msaebhhuxyaevahov[skkhuecthcqtrvtunw]bzlvljpsapsezchptjs[lbcxoczqbyysmha]zdqlfydjdctfnuetghr[owwhfhnjmpekukafw]qqitepzwooogqifl +jhdfwesnofrkpse[mkruficpgplktbmoo]mnrjpuvsauanolvzhym +ucibfxxivatgxlupp[rxlbgrqostcioowo]faiimhdhgpockadenua[teomupxzwrernokhyud]ohsfljkyjvkfzwus +gzxcgjqdbyvfndfpw[ypfsapvecfqihnpuszq]mvwxgfkniekgqzqid +fipkggpfwvgrqiwosi[itadifxotejgzkt]szwurlcbvffhgse +ketltdpowbxcusrcua[oonjssgqvcgwvlz]otjxgpizqfpcriuco[mgtgmwcjecomtdkxdev]dnrecyeyhqcpausqzsw +lcototgbpkkoxhsg[erticxnxcjwypnunco]notoouvtmgqcfdupe[hubcmesmprktstzyae]unuquevgbpxqnrib[egalxegqwowylkdjkdg]spqmkzfjnzwcwgutl +nesmourutitzqtolwd[rurfefjvljejcufm]jagkqdwpkefkjdz[cctohikipqxxbdjxsg]badmffkslhmgsxqscf +vvbwenaczgfagvrv[dqjzprtikukbikojlgm]bkfrnbigwaitptbdcha[llnwgonsrsppphnnp]sqozspzzfbeigmw +jzkzjzzghblqqme[fsqzyykcotbavruyp]vjzohzsunrevhmpi +jlngucjirfgdgorbgb[nvvkvebcjahujrwjmy]cfnlrssuthgusytkqt +kegsdcxndhtlskseb[zbtcngduxclffzlw]wrdqbtrqbcpbeaiqvx[svsyqhkrryycnkceq]ztrawvffepndijceeih +imtafeyfivrcegpagsl[tjzsewuwboushjl]mtnyptormlwiijlds +sblhlpnuutqgtuvlc[jlkivbtbkivklrnr]zkzcykzkyjxarepzvrr +ojuqmcidxmsyjkhuh[gsegkxlimzuyceo]dlhjiensaurluhul +sxkxluastorxmnd[gwkeczwgmamhjquth]yvpdadteadabxgsplmr +cndxxzfcmwwtcibgktm[ntsvmiwosuvniztv]onnfaenxutizlbxdk +eqiwaqxxstamxgzc[vnomzylvfpmcscjar]rwdqevxpeqvrmvliu +tvzbzkhvpzedqtp[whzeqaisikjjbezzcow]hqbizwaaffwbtfglq +ajwpjiqawievazmipkw[mgfhwrppaxagfdgfsa]iaqcnovhgearcutadns[anaukyaljeflxdnucbn]bhqcwrkeolrhwdih +neakzsrjrhvixwp[ydbbvlckobfkgbandud]xdynfcpsooblftf[wzyquuvtwnjjrjbuhj]yxlpiloirianyrkzfqe +jugqswdvlbaorwk[dfqvlubdcigzpcz]aqhybhnoukoyxuiw +kkkfysfugyvqnfvj[ahhqkrufcvhfvapblc]jfincvlxbjivelqrs[mpoymhslpyekjmy]eicbqlzecwuugez[tsqmqvjiokqofbp]senbbdxrdigwcjwik +ogiiiqaxakiaucwa[ltdchlxwnzefocrw]koxethzfvlsewbqdt[qdfqgtzftqpaxuzcruo]fvkgjcglmmxqnifv +epmnxkubnsnyeeyubv[ydzhcoytayiqmxlv]edmbahbircojbkmrg[dlxyprugefqzkum]svdaxiwnnwlkrkukfg[eacekyzjchfpzghltn]ofwgevhoivrevueaj +vvwvubpdeogvuklsjy[psnqcfnqhxaibnij]fwzpkbdgmpocoqp +pjdxcbutwijvtoftvw[zkqtzecoenkibees]llfxdbldntlydpvvn[uaweaigkebxceixszbh]xxlipjtlogbnxse +zmnirrxetiwyese[cedxmaoadgjjvsesk]nuisspyclmncqlasmuy[zxwlwmbzbjmvubgcf]hfqniztoirmsdwz[zlffqhttbpehxoabzhx]upmydjqzzwefvgdpqu +lwvsssgvvylrvqh[duxjrrqkzchbpvnmm]pckmefvejytvzavgzgc[dcekfwnrzooigwio]pmutxfiwfowlfnnggl[lzytuzirtzgwhkz]yzgxtksuqrgvvgfefon +tpmyecqhqjjpertn[qomuwmxstmgzexds]ftvqqwsvsrnmvpg[vtpebuufpyieqbhuu]dorortnekxkwnploro[pzajzflqvbkhautupl]eowpcyzmyvnntvzmvx +foguzgeasrkncbny[tlyweucylxkswwxb]jtzjubgewwhlddar[dkddqrpwaqvlhdp]skkegnatbjubqglwu[pkwscrmgvjzarzb]ibaagrqwnxblvtkg +ejgpdxesfyoyaggmymi[axfkdoyoqkpkhusfwe]pnczsmszqevkqiwlfc[dqhzcqjzpgnoknmv]ldrjdhopfyctlqtn +gqhyasteoryuofc[bhblyxlbiqtzzyzvzqg]dtvxrlkyuwxttyw[qvvzvuzhkemwglh]bopvfttkwtaeckq[vvhkkgrddaoxnzctwar]gsscsjuictekguq +sviwnvbtrgyydtadhz[ipjrrywkoxwuzmlrzd]kcxruwyisqvokporkub[tvarlltnhjmcuvvcck]raafszljrhconjqsqi[snbxmvzrkojpjybkgpi]ekoeuottccqbxrvpkb +vtouviqjarqwnoexuy[lzxhegzxptktueqo]azfsikzbwiajcrhnas[hvqxgtffjyyfgsjowxy]ddbmpksrtghvvypev[eoepwehfavxzwgt]igsulpdhrevkghzh +fucimprxzsubuuzmk[umzezmmnkfzvjlela]qxzdlcryifsinmkgeha +kauzjbailyzpvtji[hgeslalzqgpdkpuvomw]utsywinellykvmuawwr +oacbdgfaszolybf[hsytrkjoylrkkduzfz]bmoelqhppaxshmfjl[cusgbbuydfqtbbmsju]mcftwalxlvfvvpeu +ybylybngqxxrmplf[mybpfztzwnisfpfgqmb]fsllclehoezgthek[ldxhvhwniqfpqbl]ebybalwrmrqldukb[okenxoqxjgrenrcjd]kluumgtqybryflqi +mufsafgfxiegfgf[ydibrbrmiaulexjek]ouwchrlvilmygbuppjl[imyaxsiodgjteppdyy]ugondbuqnhjrzzzn +idihouejjocbahe[mclnirhxghanatge]ubwhxskdzgkmyrp[vksyktucsyumvxoc]bregaefrdlrgmtwt +qnsqwkqttdevlnzg[noyxiueharjajsalnhu]heaxmujxhpgjddqur[xnqwujjeasceovnroiv]hnrnwuogebatnfsa +evruuxfhpivnmknolsj[itpsnnhbtrrbllsbo]gefodpceljlvwuahz +ebddlswrvbjohtnkyip[qkssdudizhcoaazvyow]xvnqicorrkjrnxixp +bbmmzbebuexzmtbr[tpzfxmwgamhaikfpaeu]kraaocehdtalyjrf[zzqqtjplepyidohpvx]kzehgejueimxlqglfj[zgysopfdgxtokkdxwk]gwcfaflybmhdgoxjq +xztpwfipuczrtoyt[uwnlokmtopkhdtemm]sdfmvgvctgwbdjpmvhh[ozjpkdigpjqzqgy]yrkwokmkrevauzroaqm[vctyupmildfnnjomue]cvagxsievhrukgyqzg +jpmvqhuabqsvroxgmyk[toieqxrazxhhsbrm]wdwhoqdddwdacuo +mlaqnefjmwbxeetyxz[sziklwesunikpiqjark]iltkcgfzmhvusdnlr[bmfprkswemctykvio]hhsmvppnztgipxij[kvlbovfklljaumwmy]mdpaiazrlputabj +czdgmoqwzhvfnulxo[mlbkytxjhscsxrgchri]veugcvavrzihzencp +rbjtyudgcswzezr[inlznakcutfnnequc]uhisbxotgqqtzionoq[hzlgqtkpeubvudi]qqsryagiowmcijbejhr +wkvwdohwocizssun[kimsjrwwfpilzpkf]ruqhrplgugwhmnn[iouhwbjnqzlqyewxof]exjuguxwmphfypvsivl +bcnuloxdfhnyesgtdky[hvmgfzcjhhiiqino]sfipughwbebgstwrua[behnamammdxrnnok]ttpbmbflilacfvwiwd[sosjbmmjygpbfetziv]qcosdgrbfdsgqqrlhym +fbmthzppxydfxiipo[zsyfzbueqoaoxeueado]santekllapuywlmwjkl[yfsonktbvuyilcxf]xjerezinsamruvn[cceqpogyrsztadfap]fiivtuyynltqoypypou +lfjigofbbnyrdlhxv[gfblbnmkfnpxbio]zeqevpmpjowrxtw[mofuoyllwekzcjtxjhp]lnzewigzwruzlbjh +xjgdfbtgqmgazgvtif[farekeencwufapef]dxjltmtfxuiydactuko +njaolcljynwvrwy[qplxbpadtyndosjcch]fscxierutuanappsqiy[jftravlojauqkmgludp]pkfwxpdfcrjrmbucf +iyotvokljqynxnpjsfs[lfwwocnwcwstidfpb]mutsdjbqfruxxprzrnk +kpvxcagazjsxgagg[sabugyxucglnvcjb]uvrdglycowrjddy +zclgitkurpfdspcbk[yedvkzgbawpthoyn]dhvnmtxbrpttrdrio[drdahsrphffqsigrlmk]ykghbvcdosmtcgxdeb +rkmajkdvlbqwtnuanue[brdlutivdnfekggixum]pbsgstnxgghrygqwpf[rlqzaflmkbvvefdoc]jhbtzkodsfglsaow[onlllmfziapizsd]usvejrxmziulunvjux +jqlketojwcgvuce[ftcxdqqebijrnfzjriq]ucwgiavuxrxokmvxgad[zmyusreluasvwgzngmx]semjnvafnqvwtvkimy[owvczdccmvfohtbijfu]dmhbiikbzcualbbs +roewzhbnwyvondnn[ejikyjgtzpmepihnnl]yurjuztavzqkxqlrle[mbjcyqrzfuhhsnipzx]fcrtuzhrqorxrdmrcn +ycznijylnnqwmqzdd[ycnztjgxgyapvafhwaa]pzdtesugxpchhdb[sdruhgxaqpitoxlncc]exnhjwmnvqmquvclhu +iufdjzqflteyvhrem[eqiluhtbfuegasby]ikqccaxrpnjjrevdsev[wfluwngzffaxhaflbf]wnlyrgvaxzsmqvc[smkdicgtwwwxmdizdi]joaqneodtgvioxzg +pddsupswtnzture[pehcqhpltqocptr]ymzrvibfbeasccxh[jwwhastouxzmyhh]xsllfxcuzbtciegzcd +rnnvfdyavlqnvwze[aistrderxrrojbsspnu]hfkzgodowrlajmmeq +qnebfycqdylighjpgo[ablnwbutiwhdcrmwbg]hnqeseogqdsdhith[nmrgaeenxhizhoqper]tjxbhutvqtjzpyzh +batsftctktgebkvzv[rovosiyqqpafttgdmoc]ynnztvhekfnexdcuq[lnevylboilqebnkf]udftgymwddomqmy +ybrcyivzafzoubcj[crhigqvjszwqflocc]aesdfdfgzcnyxsmzg +oskvnzcbuyaytyixp[ypctohskpfoxhpydwpf]kgkbxhyfncznsar[vulxrgolpxlqzkknzva]ightbuekpmjodxzfky[nyjpxhpycxjrqdno]jhvrgxgfjwarwzkmfj +relqdjmixussrbijgqj[mfsyrfbtjbojcesuyw]wsckbuhopguszeh[unyhvpqjxxgfbgyf]dddjalolfjwliasyezn +xahbldxnvsviywko[ucmjsyoejvcggbtx]prfpnzzlexpolsgsmsf[bgocwabottcqekxs]ijvpreqlfejnqhfbi +qtcopopjmmcjlyfrtot[dmnfjowrhqtqhevs]pfczfmefcnnfbxiovzj[exoentzecnbfjsy]comgdcvnlyaemmya +plhhfkjlotvzupi[ilbcfjbrxuildya]uuvdzteoijumhavq[tcuesohvzusidbgpw]hdsgdngmjtlybnas +yoifccopobbguvkytps[xhkzrdcfsyhpmuujbt]ocidhllwycinggwu[kouoyzxtwiwknduclv]wkokzcbbqvjxtubqg[plgujclgyfmafflyurt]rpjrpxriaxyinneajvy +jbmiqrqkpbjasqhvwcv[zlyzpnhzdtqiorod]dkigqgjtzmpleja[ijenfaygzeceopbmxks]iwzcpoekmitcckbxbzr +zixveaipmutzulr[awdlukrjbyxtssfksb]hreqwpgrawaqwtqpt[bykxrwwuypetebhs]xhtujigporvkxqot +cldscqwnyjkrzvyegsf[zwsvoudppoalxeja]dbqrfscekpmhmpoellj[xxxpuyedbyuihdzdf]bmtfdebklpxvuacq +ohdqlkppqasvyrkkjm[hevshusrmyhuyyo]qbmrotalialbvje +nvwdnytzqwrugam[pflhibktydncffbnlva]lguqdlkusqqwovr[bgufsrqjnngbwxnhuco]uanvcpxragayfoj +zkvrrzmgitfjnit[gezdzgcdvxdkxytcq]avznjhxyjldbqpfoua +mmyxbuoieontkaxvnk[lijzkcghkhiryhceqc]zuouxoicowwkhklyp[baqxxkavhepnpepnj]jcdekzxrpfucavdq[nxrhabcrumlshoitzba]httcbsbgoyhjpkv +hpzoxihsevceefdjv[nxgkyykcfpjwtlz]lkszzbxqdrwyktr +djqunzvzcyxmjqhy[qapfiyujulhgqipfm]htqbtlhlsqxnjyply +lilhndsdretyqjojrn[oxrhvlpgqiotmvruvh]hgdlazecfzdrmegmnw[alxxixmnnjkyhrqjgh]mpbjuwwcyhdfxynyk +fcrwgutcgcqizev[nwszwhfvqtdhrymgqf]iiahiososrpdafnt[gbkrardsossgcvu]fmudukrxbiqyrpi +xpcgsvaeydonptb[ewpsimxlttaeoth]gersjqmmdamhikqtv[sxyvukeegkkbbarjknr]sohijvshdnoawujw +vnjkhbmpsmvxkdt[yrpltayaihgspvnjxb]ivhwkahhjjlwzxfpz +ofoancxlupttxku[hkedaqsibrvtvqu]zkssllvuecmgtqvs[eklsqwgwuhucbxykl]ioompempaewmnco +nwviejwlkyokiqhuvo[csddbtlbfdwtakxlmss]fxdoqlbdjhoslraj[shasfhtvpcsajdsmxfp]errsdzqcqzbrfnkeux +gvmytvlyluvnmemhgjr[bvqbhytqwpyemefwo]sygljhpvyjnuxzjqy +zootaoveazcrmtbda[qlxlwntntbkjtkqve]vffdsbekufzemgwomh[vzllvqlmloffyyldfh]alltnttrzqrchacoiqm +ksbuxsjkmtzsfsy[shracmzkycsuqrei]qrmgsndwzkqhtojsn[innhjjhyfsffgsboglx]zhwuwgyrwmucjfii +dagldnrnugbavjwiiq[vrsiyprmsvuapxvn]piirprosbofdwzuuhn[epdsrdcpgzkkzdjle]jylrtjltlmvazfpmh[rqqteknolbyzykdysvr]ieejzvgtumekqapi +mtamroysxwglblwmjn[gmebbprtzaogucvyzv]tjzuzqyyfuihjubuzu +pcfbudkakpzlyou[zznswrvmytntytfkt]kvudoarqnyybzeddvn +moelqaykzlstyntby[qmpxihbeysykajdo]omqcjgdbuqvvydd +ddyczdjdwnoacci[wpgjlohduqnlrifih]dfwcghvsdezgdixnpxe[ohhccenoirazgekq]lqtssqpzgusrlvyrd +ewirhlfcfhkqbvmvi[ixrorekrimzzkckpel]ihyukzubvqdpnmqpgu[mbtybrusfomfdhlg]ucrcmbvpnjbghnxdo[lyajfieycgiubui]llelwgnuopqhjax +jpltuunwbrijwnudg[ejxyrxniclwnqxxnh]krckhlysnmqahsz +hkdpdpshmftvxob[fsdhonsqalgpydpub]dirxpfxsxhpxliqg[tvbhlcqkymtbnytjp]xuvawokttfililgwgue +mdnmunbnueofzddapl[wxfahokzfixiapig]wekvqzgvufgztlgldh[zwglgerouhvhtbrdib]xeogmvaqszvkdvxv +mbqnuqonmkxmczjo[ueqnkvfdskaqwesufs]zmoqtlzfcwqaxdnddkk +qoaqjkdsftjstyjyqd[fyvizziweplccjt]ryvpqznfcdvjxuu[syspurpgsonxbbdrcc]vvedpafqmoeugwuize +ctdgzypcrjqxirm[ouyjhaohcueqwdez]kroowbthpspnnzgzuau[pqijczlztofszvdzhx]iccbpchemtflqnhdrnw[esvbnyvlckqirev]psrquqfxaotuzsojbt +rgukaurlmsyzovie[noclopxqrusykxpix]zbbopbxzogbeppp[anouobvemneuuztti]rpnbuugshsxxbbkhauq[zpqywyyxjfabzyppw]ecdrhvipvzregbgl +vmbtrbtoajfkswgy[kailajjwltvmwasynoq]goxmpryedtsrgkx[hljqifnoadoljqtub]xucplzmspnbxvliaap[tfqpmrhbakiidoxwa]iceqprkydjgouemqsmf +cvpnedbnibipftign[cigxthfejgyjzvspaam]esifvgljjjbexwm[uspsplcqhomoszleq]qnogejwqjdiznyfellc[sszzsifsfavntyghfs]btswodsrhcrrbodmtz +lvxwpuujqxypkhqfymh[wtizujakvxzrqwpols]jffeswrfpnhhakyhwlz[lzyloeveicgwixnvdx]uvwhpnjlszclssbf +noblqdnmgtyjbxjq[chxjibegmcbmljibes]edtgpajthcmqgpz[qafbzkjfqbjzilzh]aorhwssnugyflolh +hunicsoijinxshpfskq[lniiseazhvpjiyg]wirqusdwvaiyatimhx[jntjijtppuekuvvzz]mxebkmgiqyfaglow +wvzgoeqwcuudhjlc[nsjqegpxfiwvbtyuo]hehqjsarzkbbidy +ncjcjhyagdubxcibe[qpddbjyualjarnnpkf]cizleaqaaewqysxwys +jqslpqaqntewoglud[xtzdawarqxbigpuf]qnxdyobxvfsrwoaz[snegbwbzchqcbavh]kipasixtzznhgkjskv +hptaschabsnqdgmuzoj[satvzxkqetnonungbjb]gqhigqimupvihhwy[nejqgulbxtzfjbjlya]jywahuqdzrufxenshjj +sjgpoxxqtfsltzk[jqwzhblplilweukbso]tgorxisfymrcgyr[tfbebfnnljlpcfeps]ahpjfbonoajtohthzri[tdgaokthtdhxpsg]ajcykosmkhftnrjqphg +tnwtnvvrpilvadiy[taucexvsohfmaxd]cfhrctuhgqwjgtll +xzzmvrhyhwvprzczwz[lnshilvbyfjqgff]qfkoodzijhqkpuob[iyyvvfibosnuwlov]fhbcvpuqvpxmlolhry[osdmjplktygtobvt]msazwlubhinqvyfh +wanhwievduqinfwlcou[uyalesnoaqmajcc]zbdddgzmqprwiia +dfovljmseevxcfarf[enpclythxgepfzqcw]wechankwzxxkkutq[mvzawbhttzrauulkxvd]emcdawwiunjraebra +sylgfxqcfrqgeeuh[dljwdydnbuddmtdgp]fhenkxvmwvdyaukaxa[xcdbxlqqfgqtjyhoi]tbnpjbnpoxxaxef[rlnmcnmntjlitsmn]vkculrpgrmqsrayre +xexefhsfpwtpxuygp[omxfywhnlcapmpalz]foblbhtxieggkgpcru[lscwcbkqvexwzzbri]ipjoiumgoyugfzq +hbeghglpgqnwpxqio[pcujpvhzhghnyjkmppe]jwcnwmqwctqgoxpj +apqmhkpxrtrfwulqbq[trthojavkcrlcgc]oikizlfqpukeudv[afgmhbusoqjubra]ajbuhxzuhecopcxm[lowqlmwiyvmdojjla]jrrhjmopywkqrhlgicl +dxrqnbrkijtvmkwq[dvtqzljjbreayipqgp]erhjjvypeyramuaab[cjedbzbceteuydrps]kolgelhdemrbeviu +gwjakwyuaxixflozol[omjuyjzbtditgoznip]nqybdawthoydext +lcdwaahhbhajoai[cszvgduipwduhgmo]vpsgnhmtypusbgmhwnb[qitqpalswmqvjiu]iyjenmmobfasnzqefci +tkxizzrgmsxvmrdawsx[edbhkciwrqmoflyang]nbuwbbspldrfhic[guhvpvocfyjpwwclv]olxhqqgrylvzzqxxd[cnhwdegsxurungopo]rdenofdlpgilpiuvmr +wkadrydzokfmuiah[mihkmnzzjladulkvb]weqzktdsbwalcdijda[rejzrqqdtbvrwgbgojt]ggruyvfdesfdwenyx[jjyyleykqeskpfmzl]ssqauxmvzygppvncz +djzzsqykcfbhgfoq[frykddayaohlxmkem]kawloxhrgcpronph[xxkgjvdfespwmnja]jddmrdznkctmsmaxih[uxotxlcobxfemckshh]irmewesnknuknipl +hzojrovrbmfobhsau[itboujfkrmpgjpsvsr]qgczawmbunmisxs[dtrvnzrayqlvdpyzbuy]wrcsquxgcxpvbwwzlqo[kqbfajfleopglhfui]bsoomwrdifoekal +cntxerwyrvbludhaa[fclfiyjfekdtavmgy]lnvvlflygrewrgswx[juijxzrpwfrmshbttg]yjeuhzyjbmbdslbdhf +gclzrtvgfbqqqcl[fdkwmnpoansxtklyusn]ywwzqahbabjbcbzd[kuiejkftwfuzmjbiify]tabpjhaiwzcdnzvof +hmshguykeqstxgzs[fsnsxtrvkdyrlek]rkzkooteryozbwmda[jyjzddadewtuaqulp]gtprcoocgdsfbtduekc[llfoixzevsmexhuitz]ppiutxxuvaxhzgiib +ouvpvcchazfdcljaux[kxqnkynylosbuekz]arsuffkkpzlwuibqd[lmmxhndkoldfbtyfpw]nvcrjoborzogjhgwn +ojesaevpprrzqaksixa[ykxbgapdjiulhmxgihm]nrxxnhdwodfgqoeproy +vzbltcugyxvtlxqnkxu[fcflcasuyaljgewcynf]azqaltkfsglwgkeh +urcslegrolaaalf[grobiijzrtgpntne]uhpzjqkslgahpkehix[prmevyrajmgfhsjpag]kwfhbrhzkojqazxjocg +zwfeopovkggasxxb[fadbebqmbxwktwfdeui]ftomtaogfvgkkdrkc[rdkdznntsigigjiv]warlzbzbnfbjjsh[etjzyzfdjztsfsyi]dulnqfxjoewssxgkfb +nvrsqzcyguparczn[ewfmgkjaibzjoiex]kpooaykofbtkpawayfh[ssuzuankcdhqvold]qaeuwxgakqvcugn +rnlhwrnjgxwleghohuz[nktpaaaciwyfagkpqw]yeyzojziajnryse[bmpxxtaljjigfiv]ojzukghfhfhykqrcdyy +doqbqcwjoldvwtws[qaxghysnphejfacrnkn]iqyhfkjogmrkjpk[hfjqxqeuzwywwmnzj]uzhpypjadzqcpeibcgc +kmcmhdptzlhgqui[cpluzrcwihnwxrsdoj]czbxutspkzdwesrc[fccnqmeaqfmxtqqng]fitsnmdmyzwsifevbat[fxhgcmqhxrudtnleoww]yhxgwphkxlzhxzjnvcp +tmjpplcwhmsaxav[epfnxqdzfpxmaztdqn]vwdoatnafiotogpsxk[lydghxujguhqcjqtbbk]mtvqsesoxvybfrxyoi +fslvgbiibdkhchajyb[zpbhqrokrbfuqrowop]gqqzoqvfsdfcjcdurrs[xhqfcfytbbekivnvod]jxjwuxivnyhppvfhaol[evfnrmrjnnhychtpv]emiyjcjsnojxexs +gqaygymjihevbsps[iepworrljuepufyvne]fzfjulzebpsphczby[kxaohggiqnjpdbf]bsjfluhncewudkumaxj +mvjlhovwivdanexv[iaphahshtwtnhoeoqsk]syolycabjeiwtwtec +ikhcujftlekmcnmcy[ubsoslmlaitakaqb]ruyiqnoobymxiim[ppxtpuphuisxnqumd]qxjhzfwvixjjmfgaqej[bdjpilcwzhqphfumpny]itvjttbjsbfmxppif +xhemwtnqvfankrccdtk[bbjzsytqxhxcgtedp]ksfozdggjvyvpoyw[tberajbwhcirnenwv]juojuogrifenjsbldn +bczvqdwkurvezjxgrg[yjvuwvfypobetomm]vtfujjaergrizoots[snwcbtqylvuhnxyvb]turadiqlfjvclpvbweg[mekdlejerxpllbf]bgkveafnrceyxufsqj +duqeascyrgxyhlspebo[kzimyrleaopbbwmbi]xsxqyleqvoscazopte[debdbibiuaosfdyioum]vjaptdzpitqctukwhf[jffyamdmvkrggbe]qrnqpwcdoditjixsc +cuxdugzthpcubgw[qjvtzbgagyebkobkhf]tsbcghahxswropcgj[yenmfdvoxlqekjsk]kjdmhdgepvdoovzvg[mafjriyxqtotmhxgvty]mdyayljihzqxhiga +ehkhfoqcdkpyxeum[xvjaglxwocodctbzj]osufidsaijsczhtfg[rvmapxxierwnjkc]pgshnzbphxdoaitou +wagqtjalswmbehwmuwm[oarjxyzwyhxzhpgilh]qapupwvuflcoryf[hmqhnrjiahzdfbaz]kuprvbaykjhqagnl[wfxatijeapdinkt]hadtvdjbkdduycdut +emfkovpbnkaxykrmwjg[otoxyqlkgczzivgdt]nsvpzdvcbsvrbpo[vdfxwihznfpxlbsju]xbcniikjhgzelav[opidnljejcjawbikt]gedgtkiksnpijteviu +fxbpujpvuboflfip[dogcwovzlakonhdyww]tkzftiqvyzumadasjtu +rqtkvmbmqtdrqsahsdy[dhaassflbjfdslopp]zetcyybbahysvheand[uncbkqyoidhvxjf]mxqjozeotsollwolhs +pxfqsysywqfsmername[yfcktnozutkhniqyp]tjzzakrnlxrtscena[bitenzjdqfopqevroqo]zujogbgemdxiaven[dtxlpfkysfcivyrxqt]fsgjjgzltbnlvdojqvk +guclyozvgpvbuhktwbh[qmueutcpmdebodbilp]vglsdvkxogzhzewjpl[guoovyobczavohc]jdguogegerfiwrxthui[hdcvpajqgpsoxuoawmz]ztwnqkdjnnwazrdzpc +llcocydhktglycn[aqvpbqqcyyjlfspio]bfwtqbvqbywnhvn[bdkrsfpiokzttiazuaw]kchhszhegdhxega[mgfuozyxaqcxmillwlx]mzcerkylhvawvyujx +jceiyppxbreywlqlc[fizmzubzyefdntbmd]bmholmqrninpjuux[wkbshvxwlfhlrpkbk]bnqhoqtiqqpsibgykwd[ajvhuevpxmsrjrdwt]ejcwhcsechltmxlycwv +lhzgbwzjykgdqwj[ksxhpuzyromwycwqtmi]fqkgkgvjfshsltg[ypmdudbfamagwadtia]nxqvzfdgxlwbbkrssc[zqmfrjzhsztnqbdgo]dvzoywqsqizywigsqsm +vvnbnhvgcpquhzbarub[ufazesxvliazvkcanib]agtuglmgoxupumcispr +mtpdvvydctgradgywc[mtpimzrgtmnlcge]vxbxcxjkpticzboc[ffiyihkovkviqjifrnt]yhxctiahahicybqti[latcrvinlucwkxhmc]ajivvpmxwiypcjtevwh +dpnjvkzcoyyzmgvvs[gtjdsruwdhyukkx]qndpbpmhkdngjmab +raugsxxkqxpsglitbj[ncskiewbnqnhxvojfx]qnqtemgvotsgnlgxyb[exshfmlaagkpxueykd]vgcwastyxsoddgu +vtmkqugezjlfpad[ljdytmxdmcfjvqus]zwkxtirtowwwoqybn[wwbggxlelxpmctsyio]ojizduyxsklhvogj[wkjkwbzdmusrmnwuq]dnvercuduocxwzzqvc +kcuaibmbtowdpkk[behnytmljmvkfzjzx]vwmeazoaavjnyopedp +jzmgdckgiwbhbits[qapkyzlxkcinhakr]zymyymfbxgiypcn +kbcfgsoqgqvurokxs[ygvbgzijbgfeylxvl]xsjucuevvfddgod +unfolwpdrbsrzgoo[xcskhiayzcpeegqfoe]sqhinsvvbcdboctc +yclpzeggejjnvkssg[jaxstjrzmutqmaqq]buvqcwkayhypitxnmp[hpxwubjyepaqhyhud]qhqlpdiqdhhgffsgtqw[ijhwhbvlbixaeywd]fwpyiwyrgoquoeuicxp +jwgenomewntwyxiawpa[eqcukoqwwwaruuaeoaz]przxcbqvsrozygtcyl[krwnmcxmgcgfbvkj]pcifuzymidokmsecl[wetuprgdinttljgam]wiiixvydbevhtscp +vzuukbqyqsivwpeeygi[bsfyvyrjgidexcfzq]wyfowikcidviqqnzcw +nsvfdglsbfbwlxfpfs[hdfyjgnwdgeropdfian]gznlvhnfjawhokhugz[klxeguqtsnydunmtj]gaauhesdugovoftjb[agqwktizuxyqgbvt]zhbzbgfwnkahvueja +xcnkdghtgpxbfefay[iekwzcvfquaynjpflf]rfmwtjyxputzpsgr[rxbiyhzboydmvufaz]vbibxkxeazvkbzpnrqv +efxnnxokdpeqbimle[sygsnwvurqpxovmfv]bfkvfubmjyasmvc +pvyunauqgvtigep[ypayrmkixxbagcbawlh]gsvqfsxbquttcaayobo[cwanbliqbdzlcur]ckdwzoeeeldqnmpnzta +uaxiegivsmmvixygiih[bwxhotmjiqmiffwt]ifggldhrjitovzh[wtrrvwjwudasapqdal]zegculmtzsyaxytuhih +hvikzocatynjoxxzjrr[yowwrajfokqlojraj]gvquwhdppqvtcvd[sqcangyggkdiljktl]fpjugbjlanzohbvfylb[fxdhqobssfucfmeaz]mzrtcejhidkqkpqc +lcgelocktqpqhjgon[vmfhipgnrbypfellki]bqgdqxjnlynzdjogpbk[ppgoudyairolaaomp]utxjqpmjzchqdhz +mtfryyrtmzzlooy[qltyhniowpskiqmolx]nuxblfnfrcqtjqfbzi[bdslgcpqyowecpp]vlxwrojvicfzzzfb +widpcxggzgbkofmmtkl[bhvmncpisdisugtk]azxcnslcqsbtyufnt[lqwxnibqiwuwzwkf]iqnupikuhmhvvhf +amceoqorrqtczywlb[znieihkpkxkvvqxk]rmoexicvufbvzrcxisb[nrrbalocuvporahypgm]sapytlndnufcmsmnl +ldbwysbqqkcizwlkqk[kxbcvzlolkrtyzou]zsqlgwgtcvtkmrc +bejhbhwlnmysyqgzk[gombhcspwwomoqoprog]zgwpzkhgbgaveqpe[kldisefosjggfqzo]eiyzwmdoqqsrpekrs[yoblfghskpxbimnq]ewghiykdpitzdsydl +uxdgjfelalnofqouoee[obhlfmbrcdwvtgs]hgtqhblpsfyxxdmruq[amhlljtgsqandpxg]uftttypexliymsri +xwcoczwpeprblqvdsze[fcqzupldpqdpibi]peaetflnafpkrqz[aibobqkhvfzpwaajxj]mzlrkrfslubibbu +fpofuivhqvybvczq[zbhaursvrqknspvj]zlovzphchihqwko[bxcpnqiijtjpypqk]hmdzgwlnervibxuz[hxskzadaiwuhkjrvia]fqtcewytffzarnbdid +kqzfapnhrgdwnrxtwcw[keiqggcxbtzwrcvrvl]itnkudvtbvfwlcvguev +folpqmauykgkbtb[sajzutpltmpwuvzu]qgkgeonxzucthfluwfz +qiniyhvlxrpcbscgf[mmjtkliysclrogfxsx]snxccrqkeuqchwfi[wbbptxydvrbgemquc]uyqttlcltqvqmhu[sawrjbeubszmuwsjuj]rowkyiykcizmcgha +xafcvdeuuhyxixxn[abpngbyvpnkmojksc]anahdcroysddmoxf[tasztimgjqwkkic]fiycikeddfoyafacbfl +fzmscbkkolwovgnjeb[qzholetigkxxmnmkoc]ffztdtemtdnustwuu[zjrqslegqkywtcaqod]qdtqbyfhwehdezedf[qqvslpytqtjuzrkc]knqvowafliildhqxgex +hicsgtpdpugetplbufu[lzlwcptzokxrsxtrl]smxnwfvtzttcsesdu[wmucgluptdavbca]xggqqcfaxxcagagkx +hwnfzlhdbchsmjwaytr[xfggqnxtnpdjzuyqm]efiweqzxmsxetmyjnhc[mgjnkbfmmvyrwyocr]jhviqqnrgzjsdmidsjs +nvouetegmutetgw[keqvyocxdetebkcgl]qfhnyfdnjqnklpad[swuvsfhrnzsnatb]zjwqmrmphlgwdnms[hdlfprihcbcemfn]lrraefojxvtpxljil +fowkqklueytawgdxklx[pmrpenfrmskqjttdqiw]ttqjijvoxxfxrrdve +nsyzzlnqjssmirvejh[gpqbubkrsqphkdjwg]gvzcxqgbvhopkgy[nzlfaemkjnuwvhul]vxdiuaimpogvtkx +pofmqefryoxboubl[neoxktodwrswfsxwruj]frlrumshrtcllqqf[erlodpkifgfpjlbl]bbfocfbyqjagesavoc[ajasttvajmlfwec]enqqcyveejcayzw +rqtdsfpdgwrlmfj[nmeovqshevzueyvd]ibiplfpvkyxvacl +wtvwzmpwviqbzol[oqlqunyszsyebxbm]ywqypuyvaiegekaok +ijcorxkdzocwisjb[qvcjrwytrzftjicua]buuniicmziszwzikph +pplaiaulcciebujjsx[hlyeskfzscwmeqss]tuuolvvbnyymfmo[trsqblvfyagxmgtwfk]kcigogbmkzsjlsrj +dbsqyxlovoghbra[lwqmeeclsvfsrezsed]odqamvyyhsmctpqegav[xxoamahurojgqse]tngvfzhoprhrxsccgnu[zwwglwyqrieusmlfmrv]tzfresqfmfspigfeo +tmnutczqpsydibk[skiokxeqdgilzjq]rfkxwumjpjulbkiz[folgircuujlcjhjqxa]snhsgynrkjecrsu[vukuvrankaiilqegzup]clzyhjlcbrfdbjrzlu +opgifufncugjrflllk[epkqgmpkzdijtdedk]xmvotyghoniyalmmg +ovtwjnqubjphsgapb[cnrcpnxrfclncasoeka]duqduyvmbzwdopyxp +imtmstorxxvbvmz[muklxeyazsgitgb]sjuudyrlbxgtlph +zbnvlmvzeitlrvclu[rwlyxjkxlvgeyfzdl]uzlfzyvmybjonpqay +cdxryezdoiyoopuzgl[rnmncixgvbxromitr]jgqlptcrlpzdrqh[sstvgpzcldcmoslnycc]cyrecvckpuyjqifsuil +acjvnpfqosyvnvzbjyv[tmnczokfkjaxcvwjo]cszegpeuzanwadl +knqqmdktrcvcikcfvcg[lnsoisfwtfpizbpo]xfxuxthdxsekjpi[qsroiaojvihodgq]jaamntgiaqvdasnz +mqefdyhtbqynychpbh[rrjozrtcexpbrpvfs]dotleanpfblcxfltod +coayqpuuvtnwmxzhgnu[fyjdjtselprfevq]elfqjzpryzqsyqykkb[utrizxtivhakgjoeryu]ozeuxjmcorkcejprcr +ybbgylmtmhxlhqizp[uvknavcimbacgtcaq]bcmdwwkdvfnmnunyp +xfdywwnnhzqqvuywq[drtdcfuoxvlflptlca]oimttatgiboynmu[sdgkeffjrteokyiby]tdiaadhkqdginrtqpq +fbpfhfecwfprygkwu[hvqikgwyrdwtieahmt]dvtcvnchfsienpasxw[ybkvqrxztwzpsnz]aecndxpzpamjkanchaa[gbjwjnipsmepfxpee]wqjnfjiezpzacmgf +adwjbyiantljqwsixso[wpjjoobofoumdxgrxv]rkvrcmmrlditmjtsh[vthldqtnlpjrqbobzs]efwiuqkqzfdxyhvgim +hbbvxnhhxsvghuh[fcrgvyndxojknfr]twczivatsbiynqjxeby[ckqrjoolqrxxjgejzua]omspfwphybvgiqpsc[hmnpdaumzrmqrti]sdysxoudxhpllkknvq +gfussckpoykcibjnoi[fqnfbkgojenspavpz]xqwvoktikoqyzpofg[xhdumbvmqllllthhsrv]vattqhipurbfvlk[hbebbjewrlmxdblgq]dmdhdbknmkouvie +tupwpbmrvffvqbfiw[rqpefvswlzjnphduk]mvafdoftaeiojrirv +bawbqabxqwpswzezv[cjmoppcjgifyfignuf]uawfxptpbgjnqbv +sekswalpvwmmczwdxbf[wmcngumevhrbffuzwp]tqwvmkfngyrhgknowv +dovrepylcvtomveqe[vzzskfllpjbvrvrkryl]byjsouhntlopqffti[lqxrgcqywryeexyao]qsukbxhzoifswmycw[rktzizqtdvetwyrchc]vtsdazzrpipfcrnxbk +ydnkchnxezkalny[wlfhmxcboamfrry]rmzprrgselhmfbeamf[dssnudvuvyhvzyacu]jyzdefurrnaqrfzq[rnndewpbutqgejcy]qxuganmeckxcpdtd +xhwdvxmfxmktgaz[qfzqjtuqokjeznwalq]ddgmotioparmkkudqef[pkgzogoaxvcwsao]cyebyhigpzgyclscf[qehxqzuztsluyweopsq]tikkkgtpkewkzzkdu +cygqebguktathghp[qlkscioiowgqftpd]ytftmijxsnhgacfmmf +ccuocdvpjktkdceebi[pshiishnrprqohwpt]bubrhtrzuabpzzvbwrv[msdeugbygsvewfxco]nzavazcgkniyxva +coscymyrfqgisrge[oggmfoqevlabvhm]xfyhzwpfzhhyhimqkhz[cybjjylavqoqjyyoy]igzwdivoxazgajmiy[kkxkhfunkpsgyvwp]isgotyzlmyzfqrij +vaezncmuzyyjpeomif[lyvwvohtlkcdyuxze]wzdkddeqkxmqbqet +yxcqysoxpbwjlqjdp[jinwxwcdeflygawd]hgdgruqilmuzuzhsg[ivpimcyrtifudwjgso]ostoopidgdzcrzzyzts[vvaiuzzuzywesuzk]ccmdnuyihasnldexf +jhpygjolrfstkxwt[krdivayaqwfuktykopv]dmposdxasvjkzjesg +lcprcppxkrnwuytdt[wysluivwtmytfgqpks]orlmxnkipofpsdteaa[vroskwwxeeylirbkna]zkeahngpukldeszwuk[harebfdcelqdbfemgo]usisvvczvasjomnjrip +eybojdjnfockfbsdjd[xjxxevnxuwjdamien]frogttytivtegcy +rezxczwcihbkywyq[sdzzflizzygfiovwyw]jhtiwvelkbaqhvnylca[xpnwnmqbaawlyqz]kftcwdejxaznztqsbhy +zitlyztihmeogushh[wpsygveulmddxdzvwvt]auvwghiyvkvfxyzf[ccnkvkboczqbgcmekt]hkqnuaoeffocspxkck +ucliphnwkaxtwgnma[wxkbcziemdvopzeq]nwxnkykbefamsdo[lveynsoldnjkcdn]kluaaaoiqsepyqfz[bgjuhrlfjgiyngwkwgj]ofjimzheftgbbyrugn +hshzrytllakuifsbuap[znsqxjzxbeewshkb]tdiohjkqimfsaijvmvf[wxvmhzzkjopfxhshsol]qgjutmxlputvudf[thwwxcavnensivbscm]dounftyvyaoguqzy +hktpfbzotlbrgddcff[adqmcoiraqbphjpag]fxxdcjqhwkftprk[lfeudfsbvnqjvywynfl]whirlnojvbkpyndhyv[xpypetlsykaucaibapl]gcpogvgqrgensxdeyh +afbiuqpasfjkniuw[bqclbergutdzfdqhdpm]gcgpimwjmvopfjhk[geztaacbsloyevwikqp]jjmlssrsuxmhbtnq +ojotaeydgumtjrfdtam[gpkjanckhqjvfjewt]zonzrwxnucpwtrmqyhv +llkryzvclmpozerpao[gfrhlpemunmdackfmp]fbntrvdilgbposhu[koksbsqnmtfdsyifpp]eswrneaxvurkzfs[ixjekbpjqsrhnpgw]pppbdmxsdflptotr +vbmibdiednxxbammtn[gqvlmbobpzpiuoda]agjiighkbopkxvwakva +fnlgxejzkpocaonnloc[ojrecrvcmirtehjfcvi]mrafnbifqfcqxpmqdrb[obuqfqpyrkeinweynd]qceebfqvcmnowjanh[ejpkcpwkjfbvyjmyzoo]hhjyeulunsuagwq +nubgjzyeuxvtwcc[vlpjhggsyeiulml]evysofvjmwxxazzr[tapuneqjkzgtblgy]gvbvijhcgtrdsybt[sdufwiyfojmptfruns]zqzvbotgmrcynfyq +ibcblmwnlhhftwfd[ajuhvgkyaqeikjgju]rvuwgrbnjxvbcgdpy +hizeoqbkkesksvtjotj[wkvmcgctdzwhzlubt]aegcgfmdneprdbw +lqyvebgqsrsfbcdccps[hygatrvziszspyihy]ratonoqinqfwcmm[pfieelpgzrfzhdffhx]zwaytmidpntpolajcg +admawesoilkvcfx[rqurmchqtkuifxm]tliyyitqauzegwst[zwpbngnlemkipcku]hpxfncvznjgfglvugk[ruinbrosnwmxdzav]adbvgjbxedbmxbkpxa +gpqgezsbrdmqmeihdr[etboranxahpniwzr]woeyirnlebizohoa[rufjzeicrsxgitspt]gltoxcqgcsnvlys[dcvxqvoivyuxxayd]zkxlasittnitmoisr +acoxthwyfwbhszfoz[wphyzlksmfenksfs]hpzmfaofkobjpcdxzs[sncrftlydahuqmuvoqq]ojvuhabayhrsynq +nxtmkatkddomlbnxs[qdqxrwoaamrztvkzq]ycyqxxaijhrpzamcbh[japizeqvlqsmdqygr]xhxvgqmbzgomhsm[kizldaqvytagvviondv]tidqihojfrzvyxy +lllcbzykxbdewnyff[iomemkjmyaqllvcx]vjvnigrbpnhdrbi[ukmffsdgnyqxafwstg]ralpevvmfxtqbzyii +vphviazdmmvtcyc[dcomcirqycymvqkm]meeikjmqliqraeqd +jcgueeliyoclqera[verzkovhghnquyndr]lptflbxptsugmbhvf +rcdghcuautflhme[zngtjffrvagsmdrxurj]mwsuxjbytlzyhinxyr[cibaxfqjdkmdwxr]yikrelnmbneqrsg +jyvaeqjealrbvbvekn[yharteswtwefyedz]wosalojtbxzaujpiba +cdfzjfycznejinx[uhnuxxhxgipoujnarw]bkwbisknvmurfnhp[jwbnvuvlvegrddzf]bkeykrhmjuphuvoza +aalmyxywwvbwwttad[daxeeneiiiupzvqz]cqcjxzindssjrqb[komptxyxwgtnuedefro]xfbjflfujclbqflke[fpatdmophhvpcmwfj]cqbuduaifbuhwiy +kogkhuakigjclxbjoi[yuidmmdeopwzvatxc]qdsbzscrwpmnloga[xsnwctwrdpgqvggoian]yayspjjhhpdsyzkkzx[qbttlvpkbplhagtb]ndnljzkxhgdvclz +rojijwgcylsaspmmrdy[jzptmasniljjjusl]fslcazgojebnrrrz[ybcsqnloovizrxiwal]ghjlkcnvkjjlqodusp +egzqbmomtlqvjfo[cdarustihbcqwpfpcv]fzxqpzavyniyjbfvc[wkmiofpbdcsnbtj]kmtvlxnlvdjflivtuge[jvlzovzdpwxwbcak]hwbtpuolbupvwfcbh +drzhzwluzurvcjogd[haakukjmwslumvgq]cmwkhsuahrqxfae[kugdxfrtkjmyyfheze]dyxxyffqsfctugyca +mlalvviidgseekfkqtk[rmltlzesxldtmsnyn]xdqfkftanryqfqrqkhc +vkajuyjjhekfhmwwek[uuanfibpmdbwxesfmsk]dxpsqnnmrnspifpcyts[ezmjkdjacskqhhbaupr]wkzxoqszqigbajudnq +wmpzatzujoibyjdle[awbuzjartnsdxfqtlh]votzdrynubyfrdip +tstuekiwimhtizzlky[trscvkeiiriseqj]glbwxwiwdqhndmnku +kjgjcnoipwnlqnk[hpukxdqokakrgjgjpk]nvinvznddzuhupepemb +vuawkeimjefqtywj[mgdvjppiouqnnyhzz]eeemepklcxhhfot[ktiuxquqhzrojqo]zcwlowvczfjucqeo +zatolywcfoplujidaz[avcmpullpablbdhusiu]bkwehsbzcysrauzz[tbgkmrwkzqfysfdh]anakunhzskapvmq[cqzomvulpzbizfuqug]untygoozordiywrnkm +ozynyagffvaeava[lvsgzdvrtdifdoxgvwy]pdkwomqrhfolkmj[fhemhaolmihgxlehn]huscypjzuujagfaqk[deqkgecbrdfhskujqg]grknbktwdyznqgrwm +mywakayudrxzofpri[qlywfoydoqmsmaoygp]xpwmtcqqfqsmsys +sdwltsgbumfnbqq[irstsqsogmppmlmkont]lrwnbdnpkxgfhjeo[eqstbbwumfepxoqaszs]fdrrfpfiotaugunbdrr +bappxujhicaqxhwiaoo[bjvhcmhrnldlwyrf]jdxfokaxlkbifuwyv +jlziyvwcuubpsziikv[mvkolefxtgoarsk]tpixifdoybzfwnwle[lpbkitwthyxdbvwflp]eyuzdxvhuukuiaqfp[xcwvlmoqpjnehwudh]sqxbifjmrgwknsno +rblicwlpfezecfhati[aqqhagfhathupym]vspyjiyytesirim[rqjyqiviftryoyychs]voksponpgjfuwsp[tmsccufpnvjdtgs]llptwgpugyjizqfch +admwljcwmrudrrph[rcxxxswmdlllfdwrk]etyjbtmryjxeajzccmq[nivhwmfzjwaspuon]tslmnzikhnbtqwkf[xnwykihihgkletgdy]mrtryzmlleorzwpi +ibgqtdglmjgcdfsycxt[ruddaxuheyvamwyi]neoneshgxmsbpydg[ytpshrjgditzqmjdlz]nlvhgtzsbzoskiva[asuilfpsgtgyftgtsho]xgoevzdtjemapbnady +appgubyezsrmwec[wbqyvobthbuperojt]gqxsjlchxpwvdfvdf[xlndklktmbpjkzuo]molwavhkvungdkvwywm +jusgjqhnjemncvbvy[voitjezdotclvwaggg]ffunuypbjmopbbvoh[lhufstqbkhqxqiworpi]gnhhneydiasvmbvbga +hvboappbxdqyjvxqyd[yukgymhpumetulsznf]hgiqjmlrezzsfndrx +jkovbtabgnbztjmzsoa[flxcmdoflhlgvaio]qjxscacvdykhkxclej[taocvcbcyfrjgcxlkm]aovpiymrcdmebktxwfa[coviwkpdmukcsixdob]trjjdhlgwwkwtegkqmp +ibnaxwwqjgtgxnlax[zozdkkwbccwdbvbpf]dwuzbcgeqfepczlvwo[pmlmuysuwyudzjam]pvhpqtcigtknoqxlib[kvwfykhxumzltcxidt]hybnroedkguawhgl +xqwhbiiflggraco[uwhisdtpaprjfji]dexzbtghefojvtt[nlhtexyhufqeneytdtu]fpskbqhfhavnbkjxwn[gtxmsoydrotriljoov]labmxjlalzgybpdjm +ibxakiwqconeyudxj[mwzjwhmnlaobsdy]gvxbmnzqbrzuorla[dvbreuhggwgdtbjet]hjrvpdrakncsfejis[tstdqmetsguihzdws]ukllrzriimevvsekrkv +ztiyqybtvliidsq[mvhqxpqunpsqouvgrbx]qmhkzbqhemycwxeq[cdadaodqyhjhelanr]rtrnroumhiwdadrbe +nswbgqjuxdygjrihvn[mkznbbryojdlhwee]kccwymwlzrsilyn +sebujequsxstufe[romzdeirdhctzkmemwt]vqcobpsqzelktljh[twewiabushguyyp]mktiojirfewuoacey[tgnliawsrpkhyko]kaytwdodmxqandynomu +qvfoyofzmhctntofr[xcokguepiaisrpwewng]lwwzyewekuamxxlepz[vybjmfsierveheb]bzvvxsdlcohnpmgir +txjecoixmxyskgactb[tvgiyxcbgzkdmgb]yvjfganhyoguuygau[vztmvqrrheqkzasss]mngxndysymgybqw +ptprazbzxzrjpnrcbko[qtdvwjwftefqzaw]ajavbdsfdjghhismds[vvouytxwsxpkttqr]kobwalobjsrwmxz +ucvupuxupiasbzxsuo[hnocitmtlqgttgdr]qghjdvyrttaklumszdi[oyeqkgycqizvaok]xpnaaapzbfqdzvcqhr +vvjibkoyadzluivaen[cesqlbhxmigdxphcr]ztmuzxnzeprichmdsc[daemwvspbbljrfc]jmqbyfpmjcddlepf +ztncnhqvomvfnkhca[ohbigcgrevrnpvuwgpv]lnjucgcpghvtzlrgkh +nsdamwafqwcjnslx[upwtncktpxkvkyhd]smtcegxuoakvjrl[dhvmeqrfgnbwqtd]zwlvwesmxdcnywjdb[whrrgcaujehwqcf]ayjiiktvzvxxquszmh +vnqareestxydfvuvj[psgzifyszldodtw]zkrympmklegtsstov[gblinnqlnfqargqx]hfcchypjbzvbleabbo[xvlxasumenqxcdgzqo]zyhgaickhrgscmo +jqaahcqcjjtinevp[kkntdvvdghnkloliin]zmrsdzabbeotokuz +vnrmthshyygudsrbu[yjvauysxhjhnmqenmkd]jbjlrunbjbzvilmyqf[gnoejrqddyzsdixecs]qipibwxkrnbmdgtevfx +uoqovspbksjvndhjz[gntlvpnmkbjcbsesyk]thzecqozlhmhrpm[ebvhbuhvuyfudyeyeey]zdlhgafvupyipekqoqt +hwilsmnzpcjvpyor[pmphksrtsuqgkdqfyx]psibvhgullieqqwyd[uqesmzorfwbvwgkiu]hlxqjuuflhxlgrub +dzxxmdpesgrpwhw[ohdfatbpppptmdyia]pqxvivkjxrisnmzbrl[iilqjrtayjrvxccs]gwfohsvsvsldpwaelep +vaenounqqmpnzww[duovdncntfceyoqojlv]qttmppevxurnlzde[jhwuqoqwdxjwilrgxil]ehuvfpawjlrzmssbzkm +wwxcidipvnqzxsvhaxw[oivkplzzdeoyqlemho]qthsqnpnbraqqkeyvk[pdkqargzfikxoxwsimn]biqpfsweppknwjvuwx +yefdguujlfuicqqiq[hqlabsggdampkda]tccxpvlmetflxhnd[oqnlgkzvzbhvnzzwz]rfugmbtihisgdklb +cmapvofvmxpioycw[wsmfasgncvdkvjnodyr]dkxkldjxlpdineg[omntdlldszepbdcynah]swcjxnbotrewahi +awbucpjznymkfhjaa[avrrlftouhjbnle]atvuoxpckhvplxm +wfrfilbmvnfdjycnlsf[thxhuqnznohekfern]ndjiygqshnkfehr[jpdgoiqcdevzyrywcp]iuqxgoskimjzasbvsct +crckwgzymgpzhckbgct[euhwrvuqcknwnfwokiu]muiqtteekeqzajvnuc +tljyrckyrcnheftu[xshakjmkjvzulic]mrloxmdpqnxcjhnwh[yyqdzldmfgsnmph]lwlpnskgxbkivqku[bwyxcdoyizqjmfvmc]reyetuasijwucrgylh +zkisfuqufwbhfklf[nicopfmlcpsvwfq]nmwkhlxmquqelszgbe +cqnuuhyddzalcxc[fjmqzkljrqjbexcxxf]pbjsvyixepnkthndhb[xztvuzlknucygyvegxp]nwxzswdvaspdufotcxs[bivsecxgawosnflmfd]bvdtxxionieorvecr +txqpvnrfxykothvao[uikgxsmnyxwlobod]tddprkiwjtdcwbobzrn +qjgftnxktteviik[hsnjrychdzepxamtfop]golzdtnptijzmpo[gfgevfrczlektwaohmu]vauncttcwnozkrwc[ljvbawzsqbknkuktnn]inwckpvsipmunmpo +kqxvmryochlslekzhl[ivuyfsoefnqqtwspxtu]bytaafalzlqvjumuleu[apezlzoaspstxvknv]mnkfbppakmectmiafs +vungsqgzakhfjlbuwig[cgydynonrrgfswomgev]lkyqpvlplfsmznc[kttzkoqpeplpfaoheek]ssijcynyhenhnwvd[hleabsbwqkqqnvdd]xbbxdphvgzmnauj +rxweekbgidxrpbcxk[zvguddibzffxqcmvq]edhnueezmvxinaxyo[mqhjuhujxklirvkm]eaozfcadmhsyfpoj +rcdwnquofraczluzh[gvtnjtocgohcsiswush]gnajmbxnrzppwobfjta[dckvvzvigupevbt]veqtchjayfclaltohjl[mkwsfnvdltripnzdkwr]jhdwksbflywaaul +iltlipfzwdrsmefm[brcprzzhfwsrzbk]dlegyxlpizwtlts[fcqadgpocjjnahyqm]htwrqtzfxoeamiqgeq[utrgqiasppoxrbhhv]hwkrxhaxxtltgbuvj +ljimkpaohzhoifdaiko[dkjxnandaghzxflymm]szzkmlubraphtnokpcj[irrxpfhtabogipufkev]bjucnqsbphjhekfvco[vejyxqrtfxuxeuelvmv]muygwodxspxrrijc +inovovgduyohxdw[tbzvjivtssmlxyc]pimyxafhdeyomgeu +ivahljnswgwewyhhn[jvfdvgftpukjcny]rtisgwgamadavuw[lmwlmlrkckbundmzjvo]eqjgikocnpbjpdh[mdpfdbxenzwycoou]uelglssvxdcxlwucz +zolsnrosfihzzhu[ravlcysbjoagcvaacmk]czfdqdbrlvweyyvbq +vktqafvmirobwwhtr[iqvczcryidfihypuz]adgkyomqrwfucufmm[ecbtnwriqiiaurzkn]vtyotrwlidvraksywke +oagqrhpfnkdvvsqemp[qsjyvadkirmihtfezev]vuuantqauwqrbyzxpev[mpaqvjcfntbdcpdi]ghgstpggptgbvwnmyiz[hghmuvsvhqxvxmmnx]owoulisjbqpndzgt +yyyrtktdrrprfdtbyli[tqbcxefwdtzllez]uaixdyuensmvobo +rginebxdxtfoudqwqx[bvnzfxfxsztzqyyq]dfvdsghoihksjcoccbe +avmokgrhvdnoptv[ngynfydflwspxifoi]lcdqccyarzcasxrbue[navvkjotgujkewhrx]ogzqcdvefknpghfjssj +sshuolwwobwchug[cwcurmfcxqblopvho]ghvtsqgltvvlsahwqpt[skxuphjregpzpqm]epmegfynfypbewftism[mwtakvgutsuppqz]tvapecuvnpedscjkfs +vsqfdssjnhoineb[tmcwmioejrnbdyrq]hlclokouzhvmmywskkk +zuxeupjvtrzzlwezm[gsptwvqfzpvkevapsvq]pvjuezgybonsblmmxdv +dsyuvmvaisuqxff[vmguqxuvvtbjrrva]ivytyfdovrfmzudyzcw[kwgjymkeadjgvdvxarz]rpizkvgpobjriqutyt +rpetcixepthhnydtsx[dvivlhhlgbxftlw]ensdqrwytpwniviwh[uierkmawdkijrbrbb]ywvqqtldiulgtft +iruarpzjrxupbdovqlk[cipcsklubepettbee]jfnvwjcgypepsbnauh[ncvfofkqfotujbat]moqzftmyjreztaugkij +uqqijwordoicegmn[ihceutxbgzatiwhtd]hxqgbplciimactv +kthovdomnavxzkrtg[utmtbhgqydotlxos]rtwopdppoocytum[ptdpdrndjiboffigipy]fwxyvpdnlhjofwjtwx +vitzjdhxjjossygyje[vzysmvvgddhvkufqb]fhwstpatifhmyespsay[mrpnqgygncsiwial]cwbbaisjnqrpuzca[taqkhmlvfdelcrzbryp]kwsdxlkmoplziobgct +iwybfvkucobqwagtdf[nafgfydrpzzdujp]nzdzwcpazorvzncb[niuturhwvakdywurves]txickuysfxeaamhlv[kpiwhdphpimfnmjinua]crunehowomfdmznrc +qololsmsdenfcxmtqxo[orjyxjutzakvhok]wgcgzavspuxtiyhdds +fvzbruyrecjzobgjfnv[tfnighcrmbgeklgaq]eanwrgtehcxvxow[hrmkbicsuekiicxw]pmyfavysbfzttzncxbm +frjvccazhabvndxri[wrmbltymeeoqpqtx]hbyuxmlxfrjrzifpj +nkasezsbfuldeolo[wshypstyfliqxplkh]nsoplkbnmiagngvusr[mwpwshlkyfrxlgcofiy]ycplnfgorpssaitngop[rtplyrqezwrwqhc]houlrclmoatskoufgti +cmsmitcywtmhtimj[pevbzyuhvaqftnugc]rjaxtggjpjvayzmhx[pvfplwswzpusjzhom]jmaurmlkkbusduxd +tshzomvzzouayvevgb[esegiphlwqwlkgt]letvbhxdhuzidevee[zngibooquknjqqxnxz]dtnugmifjztkwjpqd +uuzovqhxwovqeki[ddwwgejprtbquodnj]nafunjrpotozufcf[lqyfeicklrejcwwrvxu]kfxgdnpvqdmvvitzt +syawdtcaspkeubwty[vyxykmhcofzktwfex]fmevgmpetmzurpou[bgqqdkgrojeesxj]lhnvraueoksvtjz +hkyhsguxgsejarhub[kuluosrzpmogndwe]wzqvcpdculcwgqldxm[uybwzbsgzjqfspayk]nysymudwyxdocossgu[usnahkjspekuwvgtje]gtjxtcjsdvtzwmf +jiuygraiggbzoxz[wopmhgtzdwlkyzvfhs]kquojxccygvgujcopbq +rmdqmtbvzoocsjddyj[mmwewpzkjayrxkortj]cznmpvsiqtjdpbgbbf[dfgdncqhajjrohr]kjsivnolfcccyijyd[smuudgbnrfqkxzec]zukmasqygzxrjqoz +zvhafubtbxcnggnnec[khfuhiaikrpowmg]udtuciwamjspaojuks[wlzjqwtmrfrfxmxcfd]plaqjdorfrbkkppep[exrlzahsxksdqsllkn]fooqtqpmnglrwokq +rilxjscompommcmc[qpdxzxqycqutfyj]xvoufpojhanaloymvez +crvrlgjjpprknkurjq[tuvlylfiibnpkzmi]ghncayxzzrrhwfe[atnpozkssbyznplv]elzhtwbiernezqns +yvdbhamisqligavziqh[jcfjonwpgcszajk]xdszcpfvefvmlduoo[vqszbxqazfwgrfazh]geltrpsnlfyzzxjsg[usmmfawdtvkvkcm]wqimqpbsojuimmf +fsgjpguxmrmwxeymhjr[gsunymylqpnrbmiqyi]bwqcxjzweyndcslvxx[rhtvuzqaxazgzhhwp]lqiceppxpscreytystv +zdzsidcfertfbeifye[vdttvawxhnsjirsifn]abpddikgqtsqalilwl[mgqwvkdulrgdgni]bqjuliwrgnvycgnvcr +jrrmfvdpwdborgjxw[uqsuxsointqfsbunl]qosvmfqnyadjfhrc +huekbtocejhhjud[hzglqavqagcxaaksxp]afqncrfalluiiqzfo[mdgrvbtzxdzaztpeg]lsthchkkrvofbaa +lsehhfmwrfuqzewvxkv[rjrryjrjwhgtdifux]nnhqgwmoxdcixsna[wgburhmplkpkrgmpco]hrakazqqsstcrxupvv[mhacbkzqgskhorwf]fbobhetgehykvsbmb +cjmaltrbirusgyoirp[eipxzkuhukkdcdh]iqyymukrkwitywb[dcvtitgqvetxqip]sldydwlrcdcrljhzu +oqpgfzdkcrsrazei[geqerlvxxatddmn]igakhcntksmsttyqsv +tjhfyftjaclsdwzby[oiinbkqwzmhzxeic]ehyliwwisegufbhh[sqmpgxuqhsxnzdi]whwxlqgetakchwht +ukgmtuvowisscvp[nhzgobykdniheamz]ekflzosxwmggiuuudz +sqbsxlbyunhhepfx[okuhhqbyojpkahiz]hhywggdmcojawfpvkhx +xlqohzjcztxennv[cnbtlwijpkczgrk]pwxkxivbtxzovdn[bekntreckjtfkrsihm]ouowyjrzyjbgsygj[cbirdomndbelavpb]ujdrausbmqhnretkhtw +jaowfyulkleymkdpl[yxwftdgbtfzugqnnzwr]ztmzcodybfzmfrv[sttkedpckbjaxmqvhds]fidvanwfqvpywervo[jtludguqxuwucvzcjmv]mfnoqzvgatqhvteacyp +txyjtniwndqckudby[jbemysikizywlxbv]bezhcvssxmbmzgpo +gcxfeqprbvpwtdnrxcx[kvhziidtwrxlhejxm]kxzumooacujxvuwsiui +vvzhcfuecgfvrxrnquo[oqgutuxthxlcxhpke]liqjotlxzbmsassyxrf[colshvmiwbfjansdg]vggdkkyqrjvthtvp[dmozaqtceghrabasafj]lnsoewepnlbqvibyk +keehyqsqydfzlqrqqu[obaslijmtiakxkc]wmrxgysajmjymaqpas[tqwlwdqldidsapjtzct]mjeqlhemnwupulj[xdnkrxbbtlkzeapnat]btxcxfncwhdqlhmh +qwdiosimjitfulva[dhnypfmjunifrhopd]plrzlaakgfirzcccif[strfuwthjgfazeoq]lvhimnjpbpagrozczhn +adqktintsuslnns[mtlbicyrgqgnxuhqcd]mdadfpkvbkvkaimvghc[cvqgxjplvvqbato]lbskgsbvqnvndequq +brftuxdhebezivqio[yukrabpvgetpxpylxj]ldgifnehggvkdtq[pobhasghdmctwcgl]ccevtzwnziffjhqu +ibeocesspzaammu[twfeunwtyqohdtz]kiknftbdbkwrzhrdj[ywsjzyncsuyykqgu]yqbjeqoftsblixeozlz[mmcmncavhecsxbxi]aumsmhzrbxpjqrxllit +hieqiicvqswviniteuv[ubxwceioqqhagxybrl]kikxmdnftjiqazj[oyvdrxwqbljzkjbh]mejsqgnksglqmsfrlf +zjeouhblfsglaxzz[efenlnptrfbopulk]tbdiezqxnkiwmifiyy[pylvblxazwozkdv]guaxwfuktjlovasatlc[blnlcbxxlcgddfquwgx]jkemembgzzxssliiywp +juscmzarbykdkbcf[naosptvhazhfydzz]yflhbtlxgowuvmf[bdmledxprwnfcaflpf]fvjeubkojokjcfnzoo[bmmclnpuykellsdywvh]vibjnjgmtpoyvdw +kqmrdsifaonqprpach[chzxtugxvhbjujlzgq]ffbjsynmytyajcbsyn[jsondannallzwhz]gjrnybnhyxjismip[nocashryyqnbsszebpp]pbugutcxooiznkwwim +vfziparbxeibtccl[efwcwvbtlutmoltmrr]fjwkgsaambdhwvefs[nsrvprujruqdlxrls]ivmnrtvdbkumpiio +bjweouryhlzxnkfj[uuqptwyhasahjmkirh]rrxwiqmpcbwkhzr +bgdivzqqpztnswtd[xwfurbswsweduce]osimciokvwbydgqojkk[yyjvptlwdknyxnzpr]cqiztxdhugywyclvz +ftcvabkblehqjyqtl[txwnhqhrsrnengcl]skhszkrtpljsgiylab +ackokzybncuxpku[xzpocuamnohjypcdq]dwroulahreyhkraojf +hqlijbwudkycvijqs[buaclznmftiadyidde]jxhkyqsoqbpxcjgsus[atcehpnpgwuchfzekk]rvyzujpclugrfyksmk +hnrkcioqaeeqjrpg[cowbmmovdcsubwiltd]myuwiosvtmymgfyav[yvyjgtogmgxxnawpda]saqmtvyakacfwsvtxvd +tyanupyqajrxmuk[bkxkehodeqxpclfebq]kiupgpdlxfvzydgs[rvbbrqbdsolzrgse]srmrovuaxvxvzmrmev +pjbnyjsxcwyhjzpvqkl[qtgofokbciwsszwa]bwvnbcneuvipqaaiyjv +ecxbamdgtlfpmqhi[khvmvwiorzygnitsbb]znripfwspcqgsdzosv[nfhgdavrprmveeexppv]uhzugtmfmipmaznbby +jdoggfnexvkxovwiatd[xzxovisxynejpyxhfz]ciehyiyumbbwwxrc[nozxzgzvotunvgnhhjk]umzgdkvcwauvkzr +qhdaymaijahfkqzw[mbjhxuvbksqtvxwveau]rkvgvfqsehbynbom[keygsbhockgurps]nzmhlxxwjlpjhzbhw[ujitcxihwbjrmrep]cbfpxvdzbljvbfpzsw +wiuprpjfojcowmy[vmrpruwhtzbwyciid]ntbkrodejcrwavjfqfa +ctqdkuxwiricymu[wexourbkgedaqbybfj]revrxjgaoalievfbj[qtvcolrhwgqtjesuvkw]ozphhuwwzzguldf +bqpwrkyhlysqvwxga[ghyqnatqnccegjnkgw]pdgglsmagwkwemidd[fcddsukcrksifkv]cyutddgeoqcyopmm +mxmpasrqdexjpqfapbh[rqeoslcvcwqteki]zpervmncbpfbhwaxmd[rnljbhhtgiyluaaetx]aycxgjfqyxhgeraelo[fukyvtlgjzupjjrxvt]peumsiryqvhwcsutrj +nbdnniplhgrqkrcd[thcyuekybfqraxspek]rlwhyqiavfrfglg[luswlglyiuklvbuqe]mdgjepgjbhuyqkcs +lwueejoqpguiciw[kpbyblloubmxdhk]omjurxlkfpsdwdmbl[qnifmaxwapfvglrt]vssmqdzlxyyrdgkwh[ljslsxolkkivoakh]upwkosogsrzzuej +rfqbvdzxrnrbuhvw[wzurtnrnslhoqkdoaja]vuxsxofemkrjzqkk +pqslistydhvgulggwbi[nipdejpoxqfmbeft]frepgyumygqywwycjl +excgzlqtguboybi[guywktnzbmkwqrbp]qghuyihqlgjrdbuljs[zrkzhirafcadgqnifuz]medyulldvxdtpmqifpg[lsmokycxcicnxcyfpe]cobezkjtvpuqyqu +aajcheqlcfjvktswy[lsgbzwuxqcbgicd]skvwyyeawvlzzfp +afnnxrxdhbqqixcli[msrrsiakxynnwiard]tzanbapzvxtabeuz[rbyqhswrxrofedlykg]phyilynmscckkxgbhks[enrqxrwqiotksdor]phnmohcaqxspqhv +pjyiwunebggfgpgsk[ovrxnqwfhtrjoxwi]lmkquysxzdebvarwfxu +cdztgjverhjafgemi[aogtmpdwqhazrij]dmypauxszajopbp[sdsrejzmjvpjijq]okitpugefdhpbfnzs[jyospqqhusxbhfuuzp]btfwfpiblknocxncj +djgkwjxzxrgsncwd[iuaqmffmnfklkieaq]agtkftischmbszqpo[conozrxbpdsuonpvx]mflbagusvgzybhasrlf[ntidmtstsedfdbfwost]igffrxgipzxzzyjy +ahfhhpqofpjyshcus[lrxchnknzrjtzkgt]hvtqhnuzihgxovj[wbnqnjjnzltdyvxswv]bmppxzhzgwdsckuo +ghwlmylxxuybkpmo[bkxcurwihedpwjm]ypkvoiavnzgzlkahlp[lnxohqbghwsnbeqgk]vsegowbzcrqwcsgy +whzaoswycajecyuw[nwzgcizbidljdtoull]zfyczyjiqsqxgzsjm[nfkpyfcjwjijtnb]dabgzqajwpzsczrfzrl +sitsnxvhgjjnlitqs[vvlbonwoskugqxo]bqitwdmlvnlcziltj +avgdblmcidneynp[gkjdefhfakqungkij]eztuncfdkicjhaytdzw[dcfldbgzscsumjox]okqkplzsscszdsxejso[yihmpxvcbnsofchozr]easrxwgppwzqern +cvefvhycaorfsfbmi[fkvzdrremrlrvdl]cfcjirtcmdphvfircx +wegfumofnzigbnhy[oqkrudppjpvcuvr]fzyxsxrktwkgrvyiwz[jkporwybtotanposc]exmwkvygccdurwge +iqfavtweexjxhdkz[drnsnxjziacormb]yftyjvtetmuvwew[vlrdviggcdfnribze]xzykwuzopkedwfqjxo[vnadxonxshmwhvk]mqbtnfjmhjmfdftwm +odyopnscztauzvjvbfe[zpgqzgzcqclarhkkc]lfuvvhwhtlypbfv +ogaqzpgfwlmdrjgo[abvqsomptscdejeyfg]rukgbtpqwyyvnvrdz[bcvgngjhgitweuc]bljvftlzomvgvmlkzsd[yhpnqsmblsnfgfnyv]nvnkvwwllyygxcdnef +jlbnwewczmvtoshkwk[rmtpjyqhqxturbfc]ulsjqpziwqfjccmdpgy[neunvaltjjkcxvf]opuswwcrtqbkqyq[wzpxgeaohprbhvamaf]ybxisfhszawrtgsj +mmrbaaqjvgpshmn[exjdqzgpzdalrwmtha]qrxggoccbehivaiegs[udbyzlbkpvwfkaot]vfbmvytjziptkyv +pjtbkayljttjwyztu[clbiouysqsjbyjguhe]srltvgtetxcbkud[qnuhjnuziihtvqtbeyw]iccppmvrkzyehgiv[lldvqxdqvpcrizue]vpwqjhbktcmiyed +vxqpmalvgeaxtkpv[elquojhkjsxpmks]dqvuljielvjopjcuvsx[yoklegkajhhpatv]cnfivppgdnkjzmrr[vnjebiwfefjgqzle]aqkvijxvgljbxmm +lhkkzniihzzsqxdr[gvhbztmgmlicdoasdxn]fthfehxdcnyjhdwvsx +sthxexgjpexecjzr[semwlxfagpybhblcq]ztkmocjbxsqnwfs +tsswuaezqpzyevei[nolctgupccscwsj]serolamcjmqaawea[qgjyyldemhsqivwmvtn]rlmxvchrccptrgmmbko[qtiqgvilvevjvlkxc]jjcnzdjdxycczflslq +geiglvdxwpsdtyt[isbkywwxvuzljpnv]djxvppprsgjagqtfgl[wmhnkumvdpikdjhmt]snjqvydpmjqutduh +ksqeegpqcodzekvp[htprcliyvqdgjbqv]sqykqimpyqiwktnq[bfjsisougvnyjoyha]ixghemgcvicbedylz +mwomvddjcxrdzmqplow[fznhevtpwhldwpo]ygskvziyhzxmtbcikbl[tjhieqjuukoqmixm]mgzzrsccohxzfgak +xvdiafigrvgrckwol[gttxgvtlreruvonzl]fgwyzafvtwaqdwuo +siyvzqpzfobnlgtxn[zcgxyzgysabhpvsviup]xfdpicxyxyjgxyxd +tuyintcsfdyhfxofk[abiuiwquiscebxbk]zqazrpoxqqswycjwvk[hayvaaykkacbakpom]bwwhqzhuiitdaed +ckkmzdomnglfwcbeh[avqftwjqckajjqe]fkpgyrqzygfcheoctfy +teuvnsaipkrkmuu[rtiypvevtipwuelkzxf]xqywsffobbokraw[oonkmkqovksdycu]noxwpblcqqbikpbck +bwgmejgaihdorgcqq[djldztucejcjizv]nuuzvdhlgqscyrjmab[nwcglzehbfzzvgr]aybubdihvypmvqmpfhi +gxrmeqpjnbegqjeuui[iqpcaqmpavyeeqkye]etydxarxyxculok +wakuruxdmenhmcsgt[lndpybwsvzyibmd]tfabajlzuxwwhofz[msknqgraxzpzwytjx]lfoqigitqufmhfmgwgi +gpusiwyruzmkoluea[ofbgogetujmjnqv]dzmarlipdqkgwdzwzd[uhsfvlrawossxvxyk]yeseypubhoapfgdjom +rcmnwwzrimrifziyoyg[avrikteehxhxcqhsq]yklfcrtqwaxmoepr[lahpskzjdwrjonqg]wddynujhryzkunrokho[ixwzkdpcqefelgcoabt]arjhdevhgaqcohbut +zkcxzfkwxxdtbumymqv[qgaztskshqiukhwuelq]wxzpzaxuhdtfbimub +nlgurkzredyklilaicv[mtxzdczugdhoowtp]hnhcyeygqrbqdnsc +pbbcmecbydtmjigfn[giiambqbdgbgntq]zaaqvlpkysxuvbgbo +aqyxolkflikpaxr[iqrnhzdtynkqymz]rwmgahzmvwtfebyguxh +kcxhmwgrvommccee[oqvsuahbhwioqeunkz]mhcyripmlfivqsimnpk[zptnyqihvavtlxkq]guacutltkqoixskg +ldpiuuwsszyidqxqj[tsmectapcwuyhhy]slauiehtpaocaeqyd[wbhrligadmsgznlyvd]nyvfiipvkthxjuoubc[zplkhqbtciuqnhjhiwy]olcmrcsayukgcbf +tzcpkpyrdolcerqnwu[zqvhulfxfhgaehbwf]zaekvjegdligfrsh +ghellbvwbjaummjjoss[pevgyftbjzmlsryfzv]kjdgnwfofftlxbiabir +pidtrxbnvaobubqwah[nftxjicikdapqexh]mwssisitrwjgxhk[nghedqdzfdgxaqacas]hvehmhbxzfwylzdrjf[bisktoqalmaapoomzt]lwkkhvacvuqvmsv +bdqjqlmohbjvqlson[mupepkeeoofwydse]ekylhrfsudqdcvkv[joofkljfkmpknazry]anyojhejtzfofcg[zcvpdeswtvtngyqleri]seqoyrfsqawkrudmg +lmjegqfshvauxngz[ysmejumumaurgvgrsy]xrmslpnljfmaidojz[mtvwolafkcxlwjjthy]yjqsssxayanfdrel +qmmiampdlsscnqml[ymselibefbqnqakirdw]uzxhisxyqljsdvhfe[jhjnivjgqdfyeqcea]nxbqpgyhtqzcwoptq[frlnwadwwyfnndeqv]qcbefaxmhgspalprcdo +tavfmtbizkrpnerc[kmenfsatjafincrwrlk]pbbxvydrsqnfyap +hwrkfzaovfbmrqhff[qglmybgnoytlkma]ibbbvmtqegqqxdk[gquqtiaqekcwiudebb]ozhpyabnxipgwfs[xqcajsdxhwpkofa]ssaordrnwjyvmcmjtp +pkyhiseqcvejtkbqcgf[xvgqerenvyizecof]sflyqnazxuwbyexzwyq[zppuknfnnngpwihe]hacwithomkpaveqjrs[whsspxqxxqihxrmqxvn]ifsktqmduowpuhck +xqctscaefqpvqcrm[rqbjdsxwoynqeoubwz]zycfrxbkijaedhkr[rzzbvjmogwxgcqa]hpzjokedwwmsbcrggmd +hcbohuwdyeacvgmbmea[mmpvzmjiryorskh]tydknyaqhgcxafmqj[ejadhaojfjlsfxs]duohhgjdfjffvwzcgel +ltlddqcbkkayshw[qdedbdppzuqdhfaxt]doedeeehsibaylpsnk +bywykrbttmmpyacsoo[ghicjobuumyckupnmw]wzxuueyajmgprxe +gejngdvsephfgyawm[eahzdehzhyymhcwx]qejrbkjhhplzgbehwdw +hobcaacuxkoxnutlayu[yvsylobmhtczpxdhvh]qpwhgyojuomiubmahcd[pmspsmyxaqrdvcpwnwj]ghdvfbhifxhphkseh[ntyabnyuoadseevhvpf]opibtuiwjogylqzt +bbuecmhireivvxmtw[kkvuwrudhmpqpmqr]cqrzfeasrpqapvtjqnz +uxsiwqfamsnemtcqyym[wemijyiqgxbcsvdz]tdhlutowbxpxrkrlpx +tnnlwlvfrrluuxjnvx[fgijrjghghgrkfmfb]lslknlacvseuzwy[acexgqeksduhjpf]enxevtqjetnyftgrad +wiegevfedudnajr[uryivbxbutbhfuh]zrpurmrupgeggdyc[tfykavyeulosotky]ahsieiakxnitxhaa +cdymukpgwzamxpe[ihvwjlomeozhnxq]zqlglkiyekzhkesoyui[dqdkxlczjrxgbdfqf]pdipsbuxwhibjytdb[ngoqkjeboqlsuic]efcostvlclbxvzhloan +uuavzipkjlcgutoxrbc[orpbrqapdzdsagy]hbgwsmgmyowonxftjl[wrimpmzmwyjjtnkaf]qmlpvrkqhqbdswyyvpf[lpjhsulqumdzgjxuajn]yocpoqqrpuquduay +wivyimuplkhmmkxioub[vqfixqklclmrbume]trenzswrpqljwctfat[ulkqyvjjpchvkpd]mvlwfrclcfqziho[pbmrqudqsivfemt]osmrlwtwstidtwmbmzc +owpgvzzedsxwjjdeuz[kyqifdbwfxcphnb]kyeaxxmsplabrbd[gayquqvysxjwpckzlvj]tiuxhodkebirvmdb[zhnicexwwcgbbnfd]hcxwgyjpphxocggfl +vrjvymyzflpaqfy[fokfgiaiyyzruyt]yvfrfomlsjqkvtps[mprfrwzeokyjmdetnl]znjipokvzxljjgqaw +opczfzhpovblsevqcx[twcavjnyjerbqfqvooy]tmyyybovoyqcygzzyk +gpifunuvcpqjornc[wcenyqazsxzksun]dijyypqoxxmjiyi[kdzvguquhohgsghqqko]tzknqsgldnnbotqnocj +xtnewbseisluqott[ukktnadfrptzmvmnmwe]nfevmvifmaaubdrytcb +uvwgvqvzikkvvaltpbs[darnokckfpuiwvaq]qjgglscrdhximnfg[cplqfytiupsnlwjnz]tjjkzojxijhhghoo +mwvyjvnzfbptvndlui[dvpxdnwzdssddngva]nkvlbcdcwjumrqmjuw[xgrpriwhdpyxvakfpsu]jzugamflkelhfrzswca[hvdnwrkyrvcdkep]kqyiaalprdowzeudqvt +zahhurbvayisuhkxluc[dpkhtfqcplnlwkr]moobahksmsqtmxasrw[oyxemzzmvwvxrldebja]tqnquzqoslugwcqcwtr[vibjzqdbmsmtxckkkn]ylujuamatwbexgo +ffpiprpoymeaccwoun[avnvjzwvzowgthwymt]sakvpfnqtnzdyhodzud[egijncssvgvsofu]dplbxmzfihrpopurlvn[knjefyormeaeoni]ubcbldkemxgefbnjcbj +fpyokxpcrydmqzkgr[gprmekopimtigwz]fobjyaxokhstzjsgkw[njzhtjqrhoynlzpiw]svrqxlhgpckwoat +srrcdyevzyzhxnx[bbojuevgatiabjudws]zoxxvzrngllhtrtfm[rxoiyzmzwoenbodp]keodzdiobtdfgrxzgye[akofrgfwqtqblvntv]rfyrjcwbfblulkw +kxuswiaijpaejqzoxes[cgyhiwbpjrhaacwe]uqqocaxbsotoaei[runskhbiegmjwfyjv]qgnmhdcjcbgbsztap +kvzutkvgsyiyrab[zhbqkvgbyqzgwvfpbf]nhtaiwzmvrssvxsrdz +tncgsbkllaugseepp[axryamrptnzekcb]xcvqkfuggjcfqhb[mtmzyjnvrgyuwtev]xziofjwvnbsothqzdm +hmjthvqdelrmghgnvxg[cvfmsllxyxchaglntl]ikpeldmfhjdtnvaw +sdhirfhdcxlwhxevbv[rfktrkotbfwiolxd]bhbkmmbdisqlclttbi[ueaqlmpvdaoxhezzg]baphbkfivkwpmtj +crzkarxgbgpitxjeunw[xlonohiojoepwnuhd]kalfjqpazwmwruq[erssxjpfzosbcta]exvgtqljewfuwioyq[syaeqtgrgswbgbetkzw]ofnozzjtykajqcuc +xdojuclultxptlxgci[nkmxgmiyhrrfgoshmeg]zqxcexaabvdjcaiarw +rewjiwxykozqjzneh[tczrbiawzwtndtqnew]yxrgwvnswgyxjvnot[khomcpuiavkhwjsl]ksqiuqyarwwibcssseg[dsrplcalbjojxlecjdo]falbpuscbjsdxvyn +dusvvyynezzobcrt[yrikyxqxqreoqcyyq]vkjxvnlnmleqybmgt +qzmjfdvoruomeilaejd[ksrwqvmnyiessfejo]lvhmckdfwzoxwmydxm[icmiecrnoqepcuzctl]unxwrfwxgnijdxqjc[tuwcbylgfhpaveyak]qslgbtviucbmeluf +djblesvduxlxfxp[grmuswjaheivlqvtst]yrqstsaryoqejwkd +kpyoqmyglnrmxculu[tuyuqjronsgluls]whuymvpcdxvxrimvmow +lruqeoicrisykqejy[ruqwiitwyrsithkyo]hbgqgiywqwsclcsn +pkpmmddfcezjrrs[rbzbxotrbqlnmlpidpu]aakddaqjvbbafbnk[sendmtepxbcpttn]udnifsqhogqvszi +foqjzmqhghzmymeq[isvvkjfpmvmhquoidkk]tskrbirqdtjpxolwzw +pneojhviynihvnv[meuldylhohlfwsxp]nmdwxhxuexorktj +gpnxdnxmueucaawmctx[ggcizpwllvbffytwv]riqcitchmdekosocp +kcoafhejmqsopizo[lyoqftddzxuuerafco]zrvrzbmnzcawaydwg[bhnmhrnwpzmghrprzzw]qcrnkmyfcdoymceacg +chcabwcrpxqnelguile[ckxfqhnrwlulnfgxjb]toauhcbsxmeirtlyy[cfgmasaieapbabcgdd]ijenfrqiaeiehllwpvk[ciymykejvkzxsbxy]iiyypzaxohmykgbzej +yeqhlpncjcipsmtzpi[zoidbyeatjrlgmi]rcrhombxichyykncbwh[wtduqjwbefekhnwo]kqemsisbcrcjaqzdzw +nbxvvetblqcarlcku[njrccfhdvxtarpj]rhndgwlyfzaeubc[imtcezhovdlfyixzwm]dwughoowqyazwaziea[slarywwdukqwygnhre]efzdruetqfoqqxusb +vhvbnbyluqqaqzolkrs[fbfwkawbihbzwlrhd]npfzyqkoxlgkklgxz[zboinxtlzrqbwcqo]jqhvalbjqaogtyn[razwnxfkshezamemtr]nywqcxpvmuudyqo +jubvozjfmykufhrkk[qhbaxcvcpyzbrwjlrij]itseilbvjwvzlgqjfe[lgxynowzlpqgoyrk]inolsbnzxvdmvbrvwqu[hjzfopqwsuqvqhb]wffwgmhjubihiqkpuls +rqnjadbwfosviivshb[rutsuesebrktxitgy]abukeyordcrrqvrgf +bfveiveawwoqyluxwu[trxwkfvioqzltgafma]swkyqokgtrprzzit[kuziuekaorgdgqjgi]zudaehzrjfzogiwb[fyxwwswqrbwgomriqo]sqfjrdskmdvalkhchc +pnrvpotetwyvodue[xwkxyzxflrvxdfogk]kamxypekoelgwktq +etjkovmlbwryvhv[wvubzziqtxbjvua]hmrqokvqrctugqdazz[ykobpstcxdqweotsi]eiczvmdcfjpvhdyfnci[eeklndzunbzipcqubp]tjsktxuorvbnisy +fnexznsqqbhygrm[jgnmivchcvxgssjcm]klqcaszkwyzzecve +pdmzjundpcsxbgplk[lbdsyrmgxnatuwk]nwrhpgieqrtzpktaiqw[dcxtjtkzvlxpibanjma]djszxtofdcuyfpdr[kzblikjgqfiaykr]yhiqqurlkwlrrjo +bwtgmmjbtisnzbnyedf[iniovvuewpetwsg]dgvjyrzfrqcozekvp[xsulvxvvtwcxuvbxau]vvjyodjlbbjxigdxvxv +jcanelvhybigzhplc[lhgjkwbpdlcybzgacya]uwisdadjoniyerw[kzcrorifvylivkhs]ssicvecwpkxbdwq +tuxlnjuyudvhazlxdf[oknheznyzffrtcb]joozaraxuivijskxblf +rvfdfyaemhgyeynw[hmmkdfdhadrqkxzzmsj]ugfozgghllznjhdxw[ucrgusuuqthlgxx]ipiercifxtkghbkf +jgzrilirvzcocaphnz[gyrvhettmmhxaxbmyg]ecpwkoozcgtpoac[iretjtqyscaqfqziu]wqjckfkbfoqmmjkuhqe +pswuxyynrpckrquj[wfbedboaabsgnnzzzwl]wgfrecpfkvlvjzl +zkcihebtrfmiryqkd[ybedpynfafkkrbfdm]ovrsmnhexyqblafad +pbkoczqfumwdpfu[gtcvqjuwknlrfxre]crpyxhawudbilybaomf +pnagrmxhmjftwltxh[aqlhxdwuzrvnwjwl]xhmgrrajywnizazyrdc[hxdxewvthhrwhsva]ckluhnyewiiqazzmvd +amjksgqzgmoavvxtov[ekqixufaaepczzusfga]fvlmiilpsqsgfgg[gzcyehzgpujyquhrkm]caaocajhmhqzbacvpog +hitezskizncharbzyz[nbwuldsjxkjezjq]monndtwsxuikupvi[iardznrxkorquvyvwlk]etzyolkxhyqsdirbaj +ocsxlxpsgimcvori[gawgkxlilqzeakhzds]bodnyayaioozoeg[bmaukrfdlswrnvuwy]nafolaiqfeendahms +kseklqtakbkzzhfd[ghivxwcqlgfgxeot]levjimgmcfpgqrjjic[ixwevpbqkyzthafyj]azdxqlromttwteeqep[kxyiyoxyhvgqlmvscwz]zxdujwvngqyoabmrio +elgbshsnykhiyndouao[nhumkawagmrztsamd]fwqupmyuogneywsyhub[zzcemywfdswhvjpl]ockclifwawqsyzt +hyetqdpieicmycip[ciwciijtqspvydxsdu]zjrfhyctplqvypy[hdewteddlqfaoifgy]murcplulddvzheegmgd[rooqfiqsnkjeelfjcag]pdzzjacxzdzmmgmqwu +nufvveulfkudkrvskbg[cdrvqfofoxmqwtv]jzgfbywojzvwumo[vvshcsjnhobkayk]gkwnyerwhezneuze +qhmjnzcokmkmvclhfh[ywruoexbmjwuxvrk]lswliylmniqdgybtyx[yjrzasyfroiuaeps]xevbxtsyjknqmeuv +crwelvogceorioqm[xmduhdacxyzodslgtv]wilmwenmmnwgqteftrx[zonwpkkjimmmhbrtls]vfbovjoabzwjpxd[jjxievceapgflzeldwb]onucskcmpkgsryl +ujitrvtlzcrtazmghgm[mculcmczwibnuhtunnt]izqgurxwxhwboygvmf +lespfnkqubxfoqa[exmzkeazfrfrkhzufz]xpunddczqrkxtgorc[ymsbogpyjeimnuola]kufhnwzukrdayts +mitdlhggspwferwda[fcwhldszpyfznayp]rbfzewqihtcwtjznsp +wzhbemsmffcmcswdvp[jcbuktuymokdqfjj]zyhqthqbczupmcmkhi +qulvtldmhliyflccbyg[mqggwujrznjefvjw]sduatqntzkkvgfqel[fyxdewnrtlkkils]utxmideawxrzpewmee +ggpinoooeucoxmezfi[ovisfbmebypyafknejc]ccqkrmaimxmvxhtain +cqezdujipgzaara[afkpzozyzuitollf]srmeiyjzqjruima +ivbrwakbgkrxpilylu[eewfaajedkwjbdrk]stsichtqqsksydtubf[umxwxeikoyehrou]kwddyduytdhdgdbyn +vowwatzholrusydvmdb[jarugsbvowdtznwx]oofschlksdrodakrk +oruwtttstrcvcgxz[cvidyuxfxluddzxuz]jckmrrmvolclrbam[dqptqpdwkpewhmcax]rtfmeakahrcbazlzsju +vjrkcrzvefpxgardmqb[wxmurzwunsvjaxfhik]meiaafxurfgikqg[dkoextitsnfeorgoihc]diohmorpmlhisrs[ibtzwvoovjmdpfi]oelairhwcbbltmjcjdr +miafjehtxwnfqzxg[nlovpfjpeclnmlbm]rleupmgzewtvuewypt +osoaytxzfrkcljfjv[bbpjqntkuuwpgupxsy]bgryerdaukelujvayjt[gycrjaelxuemeosc]jgdfpdoltoqnmow[yfwoyzixdzamgqweb]lvmnjywqfjfvyxhb +oiksidcbtzhhtnegqa[vdxnacjfxbcsjzqdq]ixvwmdqdaleuzjniki +ngbyqfvobuxdnjeqia[ksktvzdyzkvyvjrgkos]xwuslzgntfwrnyqrod[cxmkhhwyremunrbc]hijkgxizhlyzqfaay[ljwayjqxyrduyoebm]ancrkgmzboqtwkjah +kxcifwahsdmqasrmwi[aqzdihesmgntomgmj]jkhmcqvxqxtshprsy[wgewbxfsobokszgsivz]zlpavaqlwvauvedwf +ibhzychwgtvobvws[qaestubbbtvyylbr]ovsxlggntxnneirtot[kgqrkbiqracxbnbi]lzpfersavecdddsytb +abjcqoeeqfhvqmo[eferwxtafaxzidjzbr]qztbvxsaiyqhcsdkj +uqqngbvhyfxovmdods[zwyybohwrhprvxaaaio]cgyaactenmhiokzh +hiqqvjquvdkfcjwmo[jzrxnmbrqfhjhvppdxm]mwvibfiltxmwroeruo[fasknewgpsmftnx]aubymogtwkseupwmr[xnyevhhalilxuxqqvya]mastwtyfihocpbjngaw +aqvkyxqnjtthgkjxr[ahvjgtzfqetvqhz]vcaijasfqaygnxmdba[loyjulxsgyldkotlefn]lnzykvlsbkyuvnqb[iqjxfxdmjgyxboyzr]zbfwxpxbthtwtnjdaw +iweumcmplhykolkazmb[zgzeryniuwebpka]hsuxltmwyxogseiogl[ogacxzbrbvopihzm]ipogfmqtohqqfvowzl +hlvbzegrmbrgoepemyh[luscnqomtcxbpxjmxvx]tipsuhgnhdavsubyqha[ozroemaxbdbcpnydjqs]xqdwngpkteoyyvkq +fgpmkosjnfnltkfy[sxqzypihbntsfnryubc]oygetjhbfvozerfzw[nwvofzjfuwdzxncwvo]nvbtoxgwkmhnyox +kbqkyxwacrffvkoxmb[tqfooaoggaauopcanz]ptiakppuyxzwzpua[tefuhyaqzyeteexrsj]hkuwublifohismiqg +pdbrixpmacobfnpg[mxmgtvdlsuyhjnjxz]ghuebmnxzqfljxyutl +ichijthjvilenbfg[zeibnuadotzachqyvej]qogvchvkfeskckvmxw[plyhbwjrhhnvdumajut]xazlyayoobgkmevrpho +cbkznopiuqsssvle[gecuynehzvcmfuzcaxz]qfihmsdjfsxymvesb[jtriyipbkkpfnazcj]wbcwllfdxxdzrimwues +ntxzlslwvxztbmola[duloarwqzkzxsfag]nzrsxasndnrktih +fvvowikdydblgts[xozwhuhhngdjqnbry]hkcwbqloymkqjyzpj[xfwuoehhuljposct]ashitwoprqcooweytiw +ynbifagloxgkzlydhk[qoxltvqdpmqhawcvef]wfnbtiyjafaqfujr[crcuopstahopywinvgc]ppxsgbvevlrkdgsv +tdgutgskbatswuizuv[zpmhakbnxnkehhf]ffuohvkaxpiptot[zlykjduigarhxygukw]bucqoskhlesclyzbpd[igdjnevmqlibrugc]seyjwcizckvbncjwon +holbjgzpvhqirwrxts[lpvaadhoqjjwvijk]etjusqwbrccaqea[livhtrfodwoxnkvk]dmprijbirsnzuptikc[icjaaepybpgnorie]imtoivdxpujjmlegqn +ljywtdshrtzqzrln[lqzqgywtrpgszaigfv]vjyyvrbkjdiiminfas +xfluerhpuqsqnrq[rtxglsxbetzajmo]bktotbhryqxdqfaf[cptmsctjrifdojglh]qzpxnniqwxlbvnexlg[vooexmzwbpulnxxv]eumwdzoixhfxkoavu +xmomvhstjavjyisvhs[suremlzhaiwhikzzojb]urbiiuvmveiapcybgz[botikbmkcfsghtgtcn]jbsrxdkpxnynfibgxyw[agdmtydfehaujynym]xfpytnqyoafnuott +xjzhgefdlodsdahv[ihwwnfbwhcjdbrdixy]kmsckqifucrgpocyvc[pudtuuaebkvsrflz]qjfwaaylzyhzerjbhyn[fsnmlxncwzsdsqp]edevlblbzmwkgkfluke +qxlppzrvoymnsiyb[ybyeqxwtoberzwvcdlk]zsofrmazkapwiuxwjjn +jbdmjeyxyksaonmswm[vhxyxtashfdrzjzytoq]jpkbmclxjtprrhmaz +vxishfigjpmdwufh[oykzgieieiypyrqaxdx]etgleieyrezvbcg[scrtyttykipejzmuhy]oxnektqrkndltaixnj +jnetcyoxmhjfyfjxm[dezndcwpoghexum]xloobrzxrvanbbh[gvcaufplrrstvrf]jgdhedqsxchoorlai +enbtwxacyokhcwyhxp[ahjgrmfhavhnhqoqsfs]ahdcbzojcfgzkjfe[gtjphvcbwzsiohlha]lwaphixwqbmbqhyoccv +arwtwiiowytbbjsumh[iwdhsnllysydgbcuxw]kummpwhpyydfdaf +laidhzhbdwoezqhi[eccvqcxwasyyzqvhrw]oobigxsojqsyijmjmu[kinacswultmqsxdhw]xlildtoykeuzgzl +fbwcshbijakfapcqzj[qktwqwrlnuktxjvuvn]nbzsrphskcxzuzho[lrbnsyzvrorznoq]ewytfrszdyhcrhpcx[bmzudjktpnqxqwmblf]xtwqqocsaxoluhsh +xgnhvwkwhfbprypnak[yuwpjkfdxygltniuepa]mmbkjavsboilcvpp +hprznssbfrukcvu[mojrsfuktavnbhzty]ipdxnxmtbvsazyx +tfdicuergiqhvie[wwpqnqkyfyhuqlb]wovoujvgcwuptcqhkd[whhyzgbflhplrff]kezriqiamcvkeifegv[kcbdxrvoharumkgzufn]xypaikbmpsjqcbxrrp +tkqpijxftrvwkam[yyajdcxgzrkhkroq]qfrbvprhxlpgunqqs +fvwgqznbhbrmcaubz[lgsawqyuhadojbqwrwt]gzbvdgpwjuwqsgokqy[zpzdukphcvdqgpdoex]atanoaretkhxbyzw +fispfedprcrygxs[xqiggqkjgjhaskp]thgqnbgscmrcfqjckbw[tvueixxvxlsnaupqed]lshjncmwxgzzczjssh +fplljoayuqmjtjs[vnlhbmvowousilhym]emygvrnfsofwobaducv[flrnwxzgkghpboubuh]sdndpovsuohytnq +utkqxfkbxtoudnbh[bjatbltbacnlwzlbjk]eunawwbizxdytndqc[arhtjgntcqetkeikojq]jfooeguervzgzgudb[nhifbismjhcwqyt]xwsxwzwwvtqoadmgvoe +bxbifxmedhwkesbmjff[ncfbdgsqfejalnqyar]oifushwlnfxghktjhtq[gnapwycvocshetc]zzslupkhadbieerb +rrotstdgmwqowfmf[zlddfgpxgucuestu]dvlbhinllnkxdybha[aovlzdyhamvvcgm]dzehxcilzoxrmcyhiwb[xkeszyasnqsumpx]bnrsppzfvjhiyafpk +qgpylzwwdjxmepsc[bumaitztsvayatapvl]gotathwcrjrsknrfuk +odbkgubddtpxdsgmhvh[mbgpgqafpcrymkkdpsd]ieabelyvewiypbkjm[psowbfplvsxifqwq]szgntjujujycbfy +urqwuzkruqfgejkdoh[qxxkamiyhedlffzg]hnfntvahsaivnzmawf[mxcrmrqtgmnplma]gxcsbxvqcoxpddj +qzkfvuxmfneyrpysh[clufxjecvedwwegflp]rcxzfazrzbgogna[ogoplmljfwvizwniudc]yewvacqgzcjgdnmasw +mgweqpewhvtdjnjdbu[pecantesazignmq]upotybqiovoujemqg[ipzggdcevkbkvpyz]wqtflwovevactij[ednlhfkzrtfwpuignhd]epfijiuwnczwxdmgvzd +lavqyaejctfofhdend[enxgzalvzelvvxdt]dkrlwjpuipwnqvuv[ishvyxwuhxdxujbgkev]euytwzxkpwccexc +haibamsiwfwmdvzu[aekmrvauzoxdbtury]tfgjabbgdrwbzde +gqoyggrpzhfgrkjjw[kwhwkctzmjdpdoeey]ngurqljoormcjarv[bmvadfmdgpwpzfiiv]fkfqchwhedeymsa[etqtnxepdmolklpa]tywoaqpoowybxcoqq +vnvmbxxccmctcba[ncggihzavxxxrhb]mblrxjgtypycewg[syiizsazwqrhsllezvs]tpzocblnycaokaphz +ffpbdxvenqkihvvsi[bbukwnounmzzxody]bzfefymopdtkpdm[sjbemcyhrspadzkuwi]xlhinxfjjeajzuqjkuo[zfpeikvvdfptpxe]dhsjhnwlzlcxbkz +gulvdtkcmjewjchf[auqodvrekgvzxzyiwee]rarumiavqvnbyqu[xywssgnmbeefrqgr]lyyjmkpmqxmjbughzta[avdsmuyfdwvzrzn]qvhfqmazlactaxtxi +vvqlvlsnrxwhoxfnac[sablzmrjccqvauyjfao]avdnqlseflqxtgb[masnpoqnvjtkreifrvy]lvtoftpiotxcstvu[vohbaippdypuwpkuip]kxffhmrvrbmvhecnui +kclmgqkaprofpmdm[bhbitgjmddxhbhu]hmasnpqsttrgtmuq +tvqcqkarkyqtpvea[fjqrifichijyykq]qqtmxszpmovzfvk[xrcoyhzyxwmqwujxp]nzlgwxpkuersepyhy +zalveeaqakqjhfl[uypjekwlbcplfcasa]sasiztlswzyhvpd[weglkkwlrrvdvfd]mvsdbveypnjsymtjka[kroszrkveyammdqqool]kgmxohwwgmvcdludvdl +xbroawhwunnamvnaogo[uzdvwckcbkaahqltp]bxudkhzxrykrkffaiiq[ljfeimkibushcpclbia]wztapafqrfdpwcwpyz[xwzhahnbnaxjorpkaj]glhfrkaiizzidtmfi +cycyarwdelrstoi[rivlkfszzvyljoa]hkjtyvycydwronsgyd +mbdqighfupmzacpi[keeoafjlwzqeoaryo]vjcwhcjkjkandqir[auactffhpuwzgzm]ybkwzkxyevwrphq +cpiuxmmwrsjzbyqkfms[buipqvxsetxzsgqi]tzwpfhknlpwmtxzggc[nidtlxvnowvutuqv]qsohatjnnizngzsqxxr[klnzvuognkllhhr]clpjgdupfpanyxwjg +hhtduiwmfhibnpmhjm[emakclmaqjnvjsjyt]ntebrhiztekglpmhsrg[rgehmkrotjobrtah]gzlybshvhkoznupnhr +hyzvardyeiddsgk[vszukhazfkwqsodz]psztzqehiwcpifdlna[igstccorevbmgfae]vdapqjiijwygxap +towtxxuitgwhddsua[bydcnwqycygmimbrut]cvnvgtuiuduzjod[gpazublcnojkfnnvn]rozlfkywwjelmry[wvtxeleixyqstxjqed]vsuvzaskgyooigoczd +uywuytlehdznyxr[goerwtisqdsinimd]abuktfxdobkfqabm +rolwzkzesawhyxddo[yuuvalxthkptulugzh]tagfpsdniekrekzkt +nstbvilzeselffses[cpgyssgpjimcevp]ehfkumlscjuocclfhel +idvdfrmadfyhafvyixs[igsqckpzuelddtl]eclbbakcdyttbtse[irchopmhiqbeloiqq]lwbecblskhopzyw[yjmdufblseluvukftkv]nnawapbepipwcsfz +thqwduckwmjtxwwmj[ppnucfmtpcsawxvkago]vojtdpukjwwlnirsvle[cscyjfrxjlgxhyu]fldolxqfbxhigdom[tgacpmzitahxucqpzke]copdqvctocklhvrq +maseolhlyrjuoqdazl[klgwgcdfwhpwmnlklcx]jycbhtwurlwwsjyuubt[cuabclvzukvmoiniql]pzockwxqjbtadsspl[izzcraalbnmcopcr]cqdxcrkdnwclxcitizq +ucyccfdgxaciwhx[txuygxhekywmyuaaina]szfdjuddiopneadpot[zpjsnpjtmicknxkybi]lfirzuldnatglheyhnw[rhgqfyfxlaunabfqxl]hplszylhorbrkuy +vmgeqazfjldqcfif[fuepxyjuuzxkect]ywoxrfdxbyjomjo +qacfshruytmlwyj[jpqmllbdypmnzqoe]sdhmtuefjbrmvmeby[xkyplnmmmcrcmixkls]motyvnyucleirbnmrys[zdopkcnnuvxmhrg]feeagfdkgorsubr +knlaaiwxponscqwtqla[jxilqsyolsnanzxvqi]itqqqbrfpcexbnecnkw[bpcxykvtdbxejlcda]mxodmdxzohrturffnwf +txvqlvddwpcysvkctlu[wvuoeprflcpycbghfv]ksbpnggnitrxkua[hqyiyucnvjqsceml]uwwwbxrjvodohwznlx +oebxtpwwjtewgkwjbv[omataxkuqenxmxolwe]aiepvclknbgapqh[wywlrbzliilwwvebxbl]ljsiuvllqbjrvqzh +jznegbplekeeohnf[hegaqbzbjwdhgkouzja]msaozvrtyshcajexwen[cnleoafnzyvbvdfndha]guawhzetoxlxmjwt +nytoqgolirudokcgok[qjtvenvrstrjjlsbvzq]mwhkktxfsokxxqb[pgswnhmmgzcrgjbqcx]amhrxgwmcnykgpuzfb[dnihosgggajabkoq]jtyxfrifreihydzwjdx +bxihyluintytvypxhl[kbnizownozfekbhmsp]sjgxqgjbhoftgmbck[knoibzmlipdnfca]ofyxruebaspanxxhakl +xhrlcwziflvahls[babpaszszfgfywj]gkquumhyqvozkgubcs[gkjczyujqykeifhsylz]fhmvopfsltpzijdw +ntyxwcfpdgnsyau[eqjxtsfneseakvrf]sbzesbxxrrmpmlazhi +lwakhsvcamfxiceusua[ymczlpqkoiophom]fiybjcxhftziivsrsok[sejyfiorjpptboakf]ipsamdcnfnlhger +ncgeewwfszytkag[kizbzwnxepsvdxsbzbm]fofhxxpymrbqvcco[swphuoqvhbpghtku]hvxqclwgtxxqywhhs[ibvpkuiylqazccin]oftqdvkbzdkmycntx +yhnhzwjjsiqngmhe[jtkcipgiclbqublpfs]glxyczwidjilkqoa[ytsphdvgnawjsctty]xdofsnhnpsylvmso[pmjrjgiwhqfegydcs]ylfcipikfzvmpjn +pwlhyvxnneepoqexj[jsnwzbjxibgqnpjgdf]qndnlnzxewcrjio[hccvunupvbcyptqdihc]rfhmapmentuhoiv[kohfhnoakeglvnasojm]oggzhzybuuupwdrjrtj +eyglfycgaoqwsqqnue[woaxqinxtvrhsbjjvnk]cfnkhvorifhxedbmbmq +nrqqggalpihpjyu[dqbqopedkxhoqqnp]qguazmdjtenlvzgoemw[ccjlmsdaajwghuikrnp]xrjcyfkrrfxddnjn +wkiymdlskwyjrft[ovucvqbenolfvvu]tzymrvmekxnlptynj[dupyullbzepmmrmgwe]fnjtcvrvzstijxq[elzfqhyjdyprzfxa]uszwjwzbbzgpcavynk +jrdliqwwffvgzpu[mxoivfuwuqvtxqmbbs]tvtlqzqgwzgshkpw[hspnaspqnjvwybzfzxd]clkhutlibvxzxfrgg[yujteartlwdhzfgsn]lyfrxjqcpkcvcsnsw +gtfhmxlpptgvgwob[xlzqaoawpmmjwszqmhm]xalfbbroilfuzzqm +gqxmhinpeppmdhbdt[cpoaeltrlzmfgsipvg]iqlrhncmkmjijjh[xsbdusetrksrxjiofj]zndjqyxwvmsnrbcyrmh[qnbxczovjlrrvilks]rfpihmkwzmgxcynu +abcncmuhelkxeph[crlbybjylvbgtsk]yvnbosicedmzurqcm +fbhtialrsrrtpwcxxh[pisambikwkesdtbsj]zcdseybwrdrkxeiylg +sehxfywgpznuuypj[upswvzwnkinocjk]nabhugsxhitlhis[ilrwksgypfqgfexvuhv]torregbntatolgchv[kkimpdkcxhsxyuczj]xpfacbmnrhcxnbgwis +hldgiynbgrfjcunattg[nwfovbxygpkwmxnulm]xleqlwcajqwnncww[waoaudnttcfdktcd]yikfvdmekcexcrhsi[sntclwlhouhyjrob]wqpclaistsngwfmf +izblnsxlmqjhxvx[qpmqqzakbjpbapwtlel]vmriwjoqlrttqpoxay[ylqzxxdpycurefadv]ftcuduceaycwejp +jqjtnshmtsvokhwnpr[bxprgnaltcsqdkceygx]udqckcknpvegeryj[zvjfvligrqxnpypoerp]zhzwojzkckjwgdyu +ohxpnvtduqvsihjt[eczkrdqlgyddymrdjfj]zzqhfijxsgoisbwpd[lysfkgekxvqspagq]kemxkdqxetnkyctjp[bknjdsvchfxflsrkuum]wmxncxrwwxxxgza +xnulgysrzxheppsiril[hdxgzhscbjhkcntrmsy]vhedyohrrqclnoe[nnuxdbtlbjvaddo]xivkwdwvmkplsvfaal[omihwmflpvrshkcoci]hekqpjtrjlsaomfd +hfyusspcypxdbgzb[cxbfccrumbqqqxb]ygsuxbxdfkisqwstqp[lqctoagvchrmggtmo]dgmcjusbvlmlvkdmnpu +vmpobkctlhdwqjyb[dxeinhrldspqhgeu]ndglldouuoawkiwtask[szkthuhxdkmfqoqwwgq]zwjhzselzvirjadzvr[rholepzsidriqmlepo]yhbxhcmbkvripyusams +mzscivdohxhfkdqet[imwvpkunuzbhbaj]tohxwppjtsjykxrj[nhonsbadufgsqiysn]cogovslrrwexgzujn +pzsteeyowqmhzaqao[qsbohgqamrksizzs]vscfiltkxbxwbdlold[psofpwfkxhsxllnz]odwbidqaqpuchaew[kruwykloeqpcrjzon]famaoipldevywnouele +tuqiapyobwqwpwbqqu[ycphsbdcwbmklro]medgafihivwegukhfof +lficcecamifbjwk[sdguwtafkigjiapxagj]hmeqrhxptojctevbdbu[zvxeefaytjajdpwi]uliqtzilzcnwmbfusnm +pvyzncrszmuienoptx[bigapupzitygcxstqx]rqikselsbelyfjdm[lyqmdmfyofksmecg]wjceogefnlgelpguu +hmddytvxqrazumnnr[hpeurkbdfejhlfvg]pedwizmuhmtpdwh[efikgkrhnagpmqypzx]ltlncfegswhwcxa[bakxhwhtvxcwcxtmofk]zwjvbxyvljlfaie +oxgoszggsifsgrck[gruwptjveewmfewguku]otchieijhojsyxi +kunxbbrdhibhtlknrq[tmtsuhwakksyets]xdugxmqcstdallfqgq[tticbbqirncbjtx]knkygxawcwdhefesu[rerbfffgddyehtvl]yasblwlhikbvjidgku +qoqnwslopcpytqy[zngrksptgviifcwbw]nuislpzizqikmgn +khmctigslwdgzghkbk[veaqghpizqwjxlwcf]aymehevjgpjgwruhyc[hzgzilbhyoazljsk]jocgjmooxqxayzsa +xodvowdhvnquwtma[kvlbfwwzeuucthg]djlyemkbpudpjlnrkv[cbaqlhuwfwwfvbdewx]vsjvsxsizgwsakpx[pzyowqndqdbkdakdney]eeylqpqpuqvdyyr +cmdykdqavxgeismtlua[iwviddbtauhirfcabh]fhpsinbnwrcpxdho[tdbgrmgscvzukjl]rxupjtwbwmtgnltbjp[vgzucvscpzgjnvg]zftzsshpmizeksiz +kfzmwzmzdpxabvi[ftkotbrorpkpfxzbg]hgbrsewdgnnqhxvueya[lkjknzgrbuzjqxwqseg]oyzaqahfuqtpbzi[yflzhfxwkugpetsqli]nowgjqaquqhrlxz +ktphtjqwsitgbaii[tjwcbyfrpupwkvzrol]smlczhhekwxtlvxdfn[mqfupholnlvfhuv]mvdhzncezgunydrk +lrvdftzasxbpfgb[pglmengmgfbnzxz]hbasbstksqkkqpwkcbp +siheyyvdmjiubhlapns[xfcaevnaoexubdar]pgbougfzkmlzjqygdta +tblrafqbjhwzbwbe[iefobcqdrypwnwidvm]olrzzrqgkwiefngf[asvmlckavcwtuosgkrm]esqsgwmiyxncjjqsqp +alvaycnbqdlvvnwcnq[jwxzjzgpnzmcampkye]hepmdlzjvxhboxh +mtfkavmnrxyfzvkes[gmwvavomsyolkahey]dnqosibjkplwzjojus +gbckujjuhwnvovpfqw[qwievsrrtusgzbscuf]bnrjcovodutibjtq[fxteivdfkpixonphrog]mnumbxikkkyeositn +remzamtzlhwpndrknl[xgrbcgdvlvrcdrpi]tnzimcpmxzaxsgpu[klvglrrepqxiiewn]lozcwxnclirneaky[nevhtplqsmuhykzqxf]fgmsbwdgfwjftndzi +aybmjypdrytigyyip[zafsvprjirkniuwr]wfdyfncywtdtzezdbtm[umbxrtflhquwdofgut]lyjixlycobwpwvhfp[xoxtkyhvwqgawmike]bfqtgcxvcfwtdpl +tugswvsgbsfbiyzcm[akmlddjckugylrea]fyzltfupxnvagbshlb +lcgvlozzzzpzxeoee[zsvjydznyoadkvyxlsq]wqmgagbkerqyxjnnx[isukybwewezizpll]odqwazjphoaqhzltms[gtqeysqpwuuohdbhcnx]yqtvojobgaluizidrbn +agnxxgirnprujhsk[hagcvuqcwyhmkdqmn]zehvuytegijhnfqnk[ytlokgpipjcviulp]hsomdskdngoysnbmg[wztsneomppnewhrl]gpkauttapxhcjrsicvy +cvnowinufvrjpiqtq[kuavqbtrcelpcuasmk]poksbapbwverccds[qdddbhewvxgfoldib]mthrvrsfygbhlwlkcs[zhivcpxibufugkpigzs]qffdjnrsoigwxqhaf +kovjiaxxjvzmzvmn[cmrbwjccgphtstvaiq]onqfbpryjertymd[sgmcnqbseodopnnd]gbgealygrgjnamdq[yrjuwjfvmsmgbur]ldiztdwrwmeqrohy +tluglhveqluxpiy[wrsgxdrzuigwzfsby]bmhqmnbecjnyutpwlbk[iifejjworkzrsaj]illltueflutteej[adfixnftjenvyrigmkv]zgsqagrctomzublltjm +fhcnrceynkcnnjxj[jrevstsodmhopao]zqapczirtxrunfhl +rzmxbxurpdmzgef[agevdburkuvnsrof]rhclixqpruwxuanwxct +vxejrazzpddvobzlq[dpspaddyabqzrjgvv]elcpgozzkqjsasufcv +iaodnwpcpresylkhyy[dltvlrxbvnqslzzyvox]qownkehbhjprbzf +kqbwgctrhxwrkkedau[occltggonhshykttsrr]snshslgqtlgejanlg +jpesfmiguicqdcnkm[oawppiwdsmoidvkcre]wfifgnhqeisplngcjkr[wevtsiuznmpapke]dqgxavmudniuaml +ddewtwhdfjatjlgrt[ceurnauksrgwzondnb]znsvkdkwsimbmdxfkh +hwjwuhdokecprunbju[jhftguwujsuetdriyu]vcgpesthcnwuwpwes +cgizaalsahfzkcxab[nehrqohgkmbxiufyco]xbnclpuepsanwrwjoo[kvdifptokbtlihgx]hgynbeebmdwbkwrfbh[rlypefyljzefnft]wwevofyexvbojyc +ckxkzlpwrfhwzuep[etqgjhcmexxvaccx]qqkhjttaudjpbjboeo[gihevbqqqumfythcfm]hraqbarwvqnmvtiy[cbnfqzxyjcpmwvu]lrugefybnoiopvzi +bbmhfnwnuhvdgmoibjq[eugipbrefcqiniulz]frkuvbhbdiaoaqdcaq[ksqqrrhjltlxvet]cdjhqazjzfrphjzjr[aspkvkpmwhkzxfeic]vkhbjolvoddtaasvs +rxkbkkhnaiudojzsr[ecdvrnjjyzyqjxf]uxctotuqtvambwea +saknwxxhcybeglwr[molhqlfbvopapnuco]hbbaomsdwcfwvoi[rlvhmvffqcyftricsyb]pkeuoigxjpwfbffif +pylywhhzktocomu[sehthaaqwkyerucg]cwfmpqudeylrtavze +vmawzgbfmmsivwfqclb[fpvwdbyrfjgmidxw]btatkdonphkxtprxfsj +kspofpgsttceoft[fcqagpbfoujjulhp]fkbxvsbuwioyngydy[hnoxyyuhdviahwsf]gustmoflyrtelseo +xyiofnffruqapvtgnr[wmigiedeszezgunm]vydqpobqqrisgtt[kolobhezpsiolofxrlq]abrzbbmtlqvuhxl +enzmvjyrzypbbtmbvx[izvhoqpjgqgmmvricf]dbghstbtqgqawqjr[irvprevogenchjy]gbiwvcxncbjjvwmshsx +uavpufepuqdbjedp[itqmeflkorinwdpjwp]hlrnsxymcnxwulsmfk[bayxjuxhtpcwafadefe]srrkibtivlskepjxamu +dlwhxttrwjlxlit[atmcusmqvonodkfwqvb]ilfdsqjtjbimpaqht[zsbqjwsrgxlxbjqmulb]feblytbapctmfuao +zfzicvjnuuugutgymp[owgyvyjfhrqpuukkgok]dfkfwodxgvrdqelliaa[xaumszuhzjjsxwe]ihaxfxpxjxcbhjg +gmsgnyadjfimoemyzt[fjtprppdzhkorpqoo]eyxayeizyntiumrgk +wvdatykekdfednl[kwpjrdcfjjklpdofpq]lidlhawqalcyigapvv[ukqjuzvvxehbwzhsci]rdrfhnobcwtvivgcc +wvqxpnxpjmzfnfy[xgtkzusumupupuqvn]vmxceafgkxhnosupdkj +ypfaupbycoerlpnhvk[pjrtdmwsmsckcfongoo]bjxlfxbekwvfruvy[uccfekaoczxlyigfs]gnvkjcwikenkmvgrpdj[yrtbyzxjkmpewjpbstp]nfwcwhereraqwxu +cqxbsrqdgqudcci[olptuqqvfgunmstjc]xnppdflvdcjfviaemlm +asywjbgrfvbfnkhnc[euubbvzujqjnsxtmel]gwxqasfbyjazgqodfh +gvnexriimytwvefmo[dtuxofcgyfnaiibqx]iaaodpjwjnkbrqsmdzp[nuvnumldfhglafg]dpcqqfdrekqdfyfe +hnwaqtrqgztvegfhj[mzqkcvhmqhzwmhlkc]kytpmyhzrvtytwvfkqk +latjxjyjkwwnvyrbl[bjnilknxprpwziowcjn]zpdvccsjiuhfwrkn +nowozzvrysgsfhxd[lhgxyitirlsyljl]nodxmmwtydaqkoxvu[vgbjtbbjqgfbssytsk]gpzprrvyvseifydxz +sjihqhaecgshhhdrbto[goawszmxrrdtoxq]qvywgrnewpsordounhw[oaxydcsvrzzunbizz]nzisqsdrmmsaqwt[nmyxmrkeainaqyfe]eacdicawhfuobezyao +oyztkiwsxqcufgqk[iyxqvktohfnoymgisag]acfhjawamdhawitvjg[npflzsugezpsmunukqa]vhhxnunvyxjtehyvv +jzfmuzdlemckyiccan[rykdnvtoavzjtjxtx]vcmkcuioriltvpzzxqb[jdgqayewkwcqpkg]ulsujrvqzsmnpqgvg[lshytukyfqhnjehk]cpwbeyiudngpkrl +uruvigtkkoqkfdbqkre[wyvcwnxixwkacuu]ajvziogdmzueetqzxxx[fyevgfzreomzjbsumi]ahbhcyjbadiacwjplq[quesxyjqfbckmnt]oqehbkjyoxsyczfta +xzqfptkjpiknvkyzzt[hklpsitbnhlozgp]pkbgrwmqrbhohay[mhphptvyseydwfq]ehswmqarsalmcatb +ohahitbjjxlnkyb[umyhhgtcasbfbxqx]dxyhbvpjjatkwvpkyry +bcixbnnzlqxkisv[tapovjggqzlwlmc]vwnosivvmdcfsor[uaapwzmzarenaplcjp]jdcpazyedcdkdinrrz +kdofbgwblzpnocgpq[scfdzdrueknbdud]axnfckaaghmrpfmk +fisxkiplryvtnrvm[sypuemhvxvohsapkccc]exrrwesixcvnhzpopk[hpsilxrztuukzksyax]lixfijobrlgmonzui +zjnlscyhmjmoofha[ezglbbmqulybnvf]qvbharzbfbbustsm[tdeqjfbfxeiknfr]chpwwntytidtnnjf +qildxsfzfukzbmre[jykfpbbfelicvkqov]pyemzfzobutliokrrox[uplajddwknupdnfje]vombwrjguiukbiwozj[kcutkvgruxqqcuykn]zsbonxyerpjkfpnxchj +pdmfyadwrblhcvecezb[fhqgurbenzitepyh]xhhtisxbusntgekaps[yefgbqwocpsexwq]emmlcuwjwvluecbfo[ohehzdjljocucatf]zmgbwenmeuiftywp +xhrulprzdnbbzenux[ptzrrcmdscsuryk]ognjzqtletsyrcy[snpqabmryhyvcyztmd]lhkwhjylportbbo +xphruwdeuqibzdss[ubuaiomstyuqgcgzyn]upkpgfqmamubaqhkao[ohjojarsqpjldirf]ianntdwcgclwmyzwjh[qqeajbudidxsqfw]nenqeljkdyjucrqnsgd +xuydzitbfqwpaafru[jasqmetengbkljylhse]wkqxkjwkoipjfhkafnt[uolbyhzhmtupebneng]pcjjrczeczmoenefu +ievtjpcjrlfqwisl[pzhzabrlrdeadbtpyec]sowfrknejwbuvgs +qcuiylijqwfcqwjisqr[icjobpbxzjzuaxc]pcrdpfgwajrudfhxb[oiqtbvhfvitjvuts]ctwyepzbqlrtwuclz[smugjsqssswocjyc]lhlncivlmhmoexsrd +yqmqbdhiciqlgdmf[rywqydtlwdocdih]ofxwyqckxktvcrlxsx[rxupkwzkvwrmhuiz]znbksfkkqxephhb +bgzhbpweidflkmmjc[gxozhwikjiygyrm]vykpmxdywyfummana[mcqteiumnmmoyiwtcqw]ntczagaqoprodvhxbl +gvtyicyxseltoqfgk[eozvokbnjytodemeo]ogofokdupjyhzdgrk[fucnzhyuqkcakflcky]zfgxqfofzfdxyzetc[kdgpxyithocprbr]rpqlihcmgthswhvz +svrwqsrlntabucyssj[trbqnxxvtfiatqd]isjqyfxsoarfetrtgmm[lnwqkkgqucipvocrk]cdcsuvgwvzurnxleuus[wqjewzmcvqhhgwawyo]arzledaetbnpjmwjrl +jttgsvurypqumflcm[ccznbkqklwsxmva]ooughikefyugfvz[rzsyqmtahohpmnq]kyotvedmsjfshan[bwadbneyfitukleqbyg]oyeonratlyvtfbcrs +rpbklfvsjmisbnowf[vupfpfstcrfdxipqi]wuftflxmtftrcrb +igqcfvsqbbvpmgflu[kremgawldkinlqnr]ogcijqlgvrvbloj +ncjbiybzlsophbdemtc[zszwhtluxpobqclp]unvkyqmemvucdtwt[bzmibpkgwokausrgo]btnixophsknmjrqozwt +gxapkeestvvhodxnp[xlvglgrlzjdrpjrps]sephfhztipqaftxnqp +zalwvceeodddhqqyrk[znydhdhxhprlmip]bjijtiotyvfgyiou[odtkdhdrwuzpgwkf]kldnjprzjewdeyzmdua[wsdyljqvdmfdenajaks]zcvlwqkrytjsryab +schsgvlniqevsrjfkxw[drtzpizdeopipceke]bduaeqelcxyvykt[vhoefhavfmuhjkgooub]tzgcfhwkfuvwcif +wocmjawhtyhxksjiktg[hftunpxmlvyxauvnfj]spefcqpimqgjhnou[gmzejgwtyavnatavwju]vccngpxjmmxlruac +igqxjgofompnnrsaxoh[lmmrwzhovfloeps]loixvtpiyzagyvgq[yaiiiuvpjpuldqk]jwpjsgmvglkzuiepr +jgvoejrytatxvfqwt[hinkejefiqlrpqy]cgmvjuyjejpinjunld[qcdmwbqbqusirlxh]udhmheqsvmqmczbbofh +qffigxgklwwslnts[gwhobujjovmwfmrg]menqzjmmxrgchttltek[fwegvyhranuutxgxec]fwzgoobvkjekogpfscr +qlphzfkuyrhvkmsfxmb[unvtasxalhelbiw]gwqjfeftpkxtfiru[dhkyfsvpktyrttk]mypdaocnergxlnbodpi +pxdqzshlqhkrhzwcqkb[tudazezhnktsxxexyq]ybzclsifzrgndcaxq[ewlslzvwnqqwvljgo]nwnyptvummeraaoow +ysivygqkobbtznpxy[ydbgipznapsnkzfq]upackoodqdqmpvbgc[qnzvzwnbwrvgvwn]imcsgjzzaeltfxyhbx +hcqlfxoahajthjesrdy[nammwfgfdqnjewunwz]pdzecgfgatymrrntt +vwpdygtfuvbryipr[ehziaqbphyzzdolbfsv]rqxvfvafrauzncapu[dvqlgdgkzgpbjuihbl]sdtldsvjvvtlvjdgd +rajovnvmoxozjldjd[czqnvirgxkydoaaxr]dejvwkgmpwqvnvnzzsb[zwxifotwvljvpkxae]taoulidxuvefjqxjdu +jywqykajspyzvcw[jkqxjzfmvcrsqszgim]fncjgfxwbvfdwujhooa[otrkhmvyonynxsyap]skgdhtgcwmzixpdgmjh +wbkndoivecgnkrid[tpdmkrufmawhpijryk]untkposunbiezua[njngjktbavkmsozyy]dqotrtnnoxxejcz[nyinrkqzxnsaahwa]zpdibcyegeumjjgowz +gexzzkajyulforpnmb[mwihfmwsdpjjsnaxmme]xavowvaqybvqcqescdq[hjymwnhorqcdkoxv]myycpwmcpxinhru[koqbxfaoankdcpi]hgdktcvvxvoolccqcy +alpcsvxjoouuhjrgzo[blnjpvnbtcufzsxqn]ipijmuwbljfwuxotk[sgpwkohrsfeypqc]vqlggpiytetmkifwc +ixbszxrkuuzvvstrn[kdgfwhiapjrtiervwi]iugjmuvqljcbnmumal[ajgjfwerxsqqyrxuvob]qcdagpdvlnicajqcooo[qtuiukkwxyevxmgijtm]bgfetysdwvceqjc +pdbbmswfeutwunlcm[ywbxptxhgqpjkpeenbx]wzzaxgyiztbdftpm[lbeexhgaqvezxfef]fqktklfxugwifcfaio[ucpewlhkqnbsigioumy]cawftwrwmbnfmzmhd +xmtduxirbkbxjrqkvg[ythlqfokwjfwowrq]dguxbidgwelcrbxahi[mdumdnvbcsicvki]yhdgylmjisngrkcnbne +yzilepuvsfipivcroyu[czocwppwvwxjadgqpc]uoypwqxrpcpdzmsyyqx[mzjaguojtnjobsvpdx]vnsywqfvrnpipenwka[dtiayvtdtuyeqlddh]wpxkwbagfqncorkomi +qyebzyuerdwfocyr[cayytpduwkezuatyb]nuazweyhjemncuqpp[gwadeldyzfsvyqyk]gqjdzsuylxshtoayat +eliktfnkrxvywmvr[tlnexbwvbbdeupd]gynrdmuppfbawfcb[dqsidilgsixsudputz]odwsmpcptosjdhrp[mumunqhddegofkrpabd]bnetmxiqkwhtcsgpuui +wuozzupdubqhnbm[siwvzeelxcodzissd]niswczzlnrokkhrnd +bjxpecnvcntfbqdyqy[hjawjkugajcwmouz]ipusnakbyyxmqhyislo[xcafwiwiabdlxpaqqo]vaemogopzemmnilw +dlczcabztkrsdznjlcd[atcfirjxoipnvnoobjr]ujnimmhscetvevwpj[vnbwetjzberefmavwuy]penzvgcewibypznzpv[rqsqdxopumiqfftcb]qrotltpgkmzcndx +juqqbnfozoikxscqata[cgretlqkyynhwhmk]yiehuxyidjlzpjs[jdnlbxkxvsufsduoulo]ymrfqienfjrrgraxfh[jlopugujyekjzrfet]hqlqjkulbfsnnxyksp +epcyjxlwzmxwlulhx[pxjecldoxjwjkrndmir]baneyblyinubutjdi[cufdnjpvlwbfqbulb]dbzgyztjopciduxuo[paqntbrciorikaw]jbpsfzmzxvxlrgj +euufrqxfhnfdzlawui[zwgpectzebtpxfwbym]btexmfeuilnoqsbgmz[hvnxaanolwzkygx]hurfyrjkanhjlaz[vdmsczzhobknlhoslpg]bgitrvjaildspbz +gaweiazdfuixwqo[qedebtjxaewtracsgk]qnmuhjsbvqvcnov[aabcxwfcazxjqajv]xlhkehyvjohrqkbzyow +uqxzgyclomagldxv[amcvkpboneuscronwcs]qbeqgbmrdcdtvsc +xgkenttkfbysllows[bamxgmibkgysryjebgr]dhfiqnlocykclbofdzj +ppyfzqrjpxgouxmsduv[euokodyohaiajyvsrz]xfxsvtjasezevkjwjk +vcsgnfhhjkjssirc[kfdwqpdjaejqbfaxu]riqzqfwmwnsiqgamwm +tvxtikdqugadgbux[niaxwpplrlwrnipcnnc]tcunnqamexertrdm[xkxjepysgqqdphb]vnxvtxntrsqrfjaz[akxkeqvlxgaorhqnd]sfhwarxbzfbtftuflr +lwklfaiawghiwljxxow[oqmepnydmfkjbgkrjaj]clhguzdrfrmcoslsghh +eqtzgxqoviujmxpg[pkkbcdmlkvbcppqrm]zjzmsjmxdkaknido[sellbmhvshvqdsslyq]xuokcgfaxstavgkni +gstjodvjotzmvnm[mfvosfrnlksillaqs]riecejrjvhdrjvdl[sznhzufedvbdhbeq]msgvdfzoxeykqyx +ivwoejkryedvxpi[autbisivgebnntgixu]papdjtvhwtxgipbhes +apzalddmyxxmfysm[cdzptytpjydinlfdxa]gnjxiwepetlucfl[izgqnvcdaqkzgtpvwvk]cdxqaizjmvdnxigkmvm[cdybhclfttdchsbnyzs]xlqahfrmgnowlgba +slubhmrmovzbgdw[dehwvsngduvcfkontgs]zeiqylnomqgevvikm[oubxjfwewqtdjwacb]mqjinmndnakfemp[mccapdxlrmrevbuaas]hcjdpjgnoguztrdjgbt +vqeogkqjnfuayfpioi[rnkeynfubkpmjalnz]ybrwpzhiscwtyue[vnhkeaqwzawibjnvnos]ctmmursouxvylixiqko[voqlscgdnaelsbxcshf]azssljeollyzjjwkxin +sanarwdtnkaemdsoj[ojswyaadxpnpzcm]acjrepbjwnnpncdf +uvankqvbgxtgignh[zaimktolqipleig]mobimtizmlgqetrxkft[kooknezmesqkqisip]jdpwwsisdorcrryvyjn +lkiqyvxlouvphqf[wiibwrighxagoiod]mavajklcesvhiytvcx[ntesmbqoxkadtth]kovhcrsmmtllhai +ilzqxrlibfavovp[hrdmyejnxrlntti]yqmycbqlyitgkumdm +oslndtyjgissmwhqbo[lguvaxjavhlklnqvd]cbmjzevkakhfauq[huujtqleuzhwcbpxjf]hiitxzclsgphiembgwx[ixccjsoybxmjmufm]knmagcfohytzcoq +eutljtdlueiugunxsy[bmbgyvpiruvvuezir]vksxzmgftqglhrowpk[wphxqgxjmzhuqrwhce]giazmdryyjldglcivd[nsicphjzfpfzlhfymh]pfpeazmsdcttsutbs +tmdniznfpsrdaivxpcp[nlebmzzfjfklqixhk]sbusrwexlbpswiyslbh[tuvimwrkchmarbvl]ykhoceojfjugoim +vjkixsnkgnhzcsj[eqauuxevvcbzmlrvxk]owiikpkahbpkpuhkmns +yiomyydjxljwyxoeh[rxyahvmloktamapez]ygtodyeyjtqusou[esemeduybcbngynmzl]rxszjfhelknuyjq +hayzvqcfdjowlfeavo[mmcaawmtqthurqvmlfq]kbdpwcduhsjfbskcin[sueeedwjrdazxpae]drtfzfbefgvneiiqtsn +lfsgnugdavjvstpk[usjflghmtbzdzavzgos]vajnuirkzezjgkst[ixiusdyawuqkbnacri]yfhtwiifnoltnygk +fqvyvpipisvelyjfa[xewusykjjogfsupar]icdydlsidbisscyn[bpibwwfzoqajtnxlad]potpbswobrhcyvy +wozhxjyiybczbhbqvd[kfsajcbxdespfdewbjw]afcsihkfitjosfwxb[fngvcuammwspeglx]xizamsngscxtprjwkq +kmakicivcpvmjokl[rnsobihgweztudwrql]wytavzsniyqrdrxu +nawqmyenftpbvxo[nsztprtyzoacbxy]jiwvrmgzztoisveafzh[kgpykqugwgvfkztnnz]qqmehjutfdzzowkof +mxddcacabljlmyxmpn[zdlffviwrbhbjhl]niubaphkzsiybwkmh[ysxwkjpjhpyjmosgeo]kkhqupjsegymyxfh[sxxdsrtuwgsznnvhuy]licmdzzrtcxkgce +hkvugidmuerakcmmsn[mkmrvpqxfoghbyxr]brkgsmexzyvqztplvgo +inbjfdjjfofwckfckfo[nhjqvxeoedsfzfpwt]snlalnxxyjihecmxl[qtoxbcyxxtvuliams]bijqmocptaquusurml +wmwfxoaocwtzuhvenl[yzpbmaoazbchjxozl]oulzkybjweqqzml[ydkamvkncxomqsibme]fcuomzdfejvijxeniaf +clyxvevuyzylpdud[jmwhfhkzrzzkawp]nwcvtlwlwnbebgdz[cbnfsolnppgafml]mxhbrzrialopbbk +ekyvudgmgzgiomwt[ebcbzzamsuhycbcvc]gzmmgrqbbuvbzfebh[lyuflvjhaxkfxkv]bvnmyumtjzismbtig[nqoxegjljmzarvyowo]rldakoyzzgansfefpwr +wjhfgmicaoysnhmcer[kocbthyqjwsefyepgqh]vvzlwheralmhnixsb[adysumyfpsahmkntv]bnzgyilfgsepwvrdbdo[yqcnxfvzlpjxnvv]syedcecdzbffhmpztd +qdmvnazvvyyxqjkm[lcmgrtbttzwijqf]gjacmuqivbcttnp[uduzbmcdayazzpr]vabqjkbgwnjophdxwvr[yyljnrcxwwcehamtg]psdjpizyavaebua +fzjlpppzspuaflfwtv[dqmrdnatqlqnvowh]bevfgmojlmxmvfqb[smrcvucejxdrppkldvg]nbagvxquhrilbzi[dtbbwkaqepopjtgsgnz]zebxmxzzszbxtqeyjmd +kipuoxmzbydfycmkxcx[bfmjtzvthijzhezx]aiwnfmjhetyrdahmi +hiekvarctkixnmypau[dafmuxavuaosooos]czvsosvafizsjiouwi +epzppyfkcwcqiirpm[drxvceywherxdpnxl]pzylclelnhztrgnqb[qrmfgrtyqmlnsggg]seaeqafycqwjfccuyhv[fnwvqeftfesdvyu]djdlucfogiqnrblz +ihjtuvxjkvzqdpepjd[xzmyhwkdjooosritpw]rsvwysjoukgevdeve +wdgepzzfwonrsxprc[oefuycfwngwkrgklo]fbckfdmwzzwfiinlfhw[mjebaresrtulcvkeb]aqxnxzpnqukspcol[hpfnupcjrkswiwlgzz]xbnwmtcsqwbpkxys +nbaxkwtbtodcuecg[xqoetzqgjhxmuvfvnoa]edvwhehydqhhfjm[xyepeppmsepsaixyisi]txxbbqwefwuffdztlnc +aqeknneydrvnameefot[dduhtgzqtjyggmr]ausnandgijmikvgd[jjvsfofhypkfrrc]rgzmkiqggfaesoznlxl[przqmabciaxkcunhy]cnntseafxmnjldcp +rxilrztnhgzclsgy[yaxsuppphljrtcxev]mqyqgjopdetsxzmutjk[adyfostrkvhuajndjaw]ikumnitoxctaqcpop +ntotlcdwgtsgotovhyj[wgduvgtqijgobem]hhdytbkiplykiejg[sntkfbyrzgguijtwmm]mpxnepfkhssujwhegbq[sxpsxodobizsvppqptl]uqlqlsopbfmgliw +wbyugpjhymzlgbl[zdoddxxbnxqimlo]tyaobecgkbvrmgajpga[asriovkglwqiukcxtjk]nvjqkrzxwicfzdr[vzqasgjrafilljt]eobbqeenineqwps +xbtwnvkwrlnwseaids[znlftryxezmidoc]suigxfrnxfzeudpi[ahlshriqmozkpiogtc]zpjiwsbdawhjynju +drjfebkgnrcuqyzpezw[hnweqviwyjtfrwpu]popubobnviqwkqfv[plaxjplhmhjqjmqjsh]idacejabrvhfteelbiu[hhxwpwgvjcncpjcovv]tqyykiwalnnkoniju +fwdnjlvptzmxpwvsli[eidmcurldxszfvvhjf]bshskptweuzuqtjym[dpwmmspdxpiqidrfz]bulnlyngfaybqfinqn +khvidctisgemoswq[vzknkycuuvznnjkzay]rvzkmucboqomxkmtuvv +ymfxlhojyjfqvctzue[sihfpembvmdtdda]wezkljquqtkcyiar +cgzdjkbnmhptcggqib[autoeqiibhxdief]zapmbimuvhywdtsbtm +gilwnvmvdyftcdmvaql[esmtawtmepovyih]quztpmdplotzlszav +sfsncarxehtgmutj[aqauaojoqabkguvan]olgokvyhpfjzyqgvbcy[fsfdkbxhstvxlkzb]ozwgbzlhrocqpjoseq +shzexlixgxazcobmdvz[bvrebdcpytgplvii]gxdgzyoqpmkqznz[wuywofxihsgxgpcksgh]lwqsslamcrmkobn +pkjlltvbsjnfarycgf[gwkayyieahfowbrgr]ccgyjvjbdeoilsznvbi[njniljtubngiuwlil]kosrulvapzdufvq +clhvakestwquwywsohs[ubwecsjptinhzngw]dvjcvukpkdrgpbeua[svetegijnnbtetpgfu]nfejtethkqavpol +vksryzexymetdykenw[etxzvunetbovrwttr]pnmwnldqzmxzjldnmh[vnskreneiwajgmd]rwbeletsldocxguy[agccpaxhrlfokpt]wembexaqbprlrzg +wrxyiatlpvvcuroguv[hfcsmxesvpwfgtpqip]jbspeicucxtbnti +gbxyskaitzeogoej[drokshekgcpxpgktoi]ivxtocmlrugoguf +sfzpstesdmegcuhn[drrpxmsfpcjvqerjb]jqcvoeifgceremgz[chsbisfayixexqer]qyhonslazxrkagpp +bfufgciknfkthfbr[tlfmuebscorrclekjfx]offqunmqlcetebpov[bsbmhnbmmqmdbpnt]knkjsvpmffjqvtqpk[bryxvufxbsocwnd]hkxplkqhsymumxarn +ftafmqgtmaazvmstfq[qxsvdxplpesqzqg]yrbkrhtzaqtygxjheuo +xqgmldfvsmitjzhbr[yrwujpzkzksxdbthk]jblnpmdcljgadym +ijtilnlhxlkhoaftet[rgzfrfsilxhwgpzx]gmdwwndlvtvvtdimd[wyghkhzahfwpaknrxiy]ekpkylqvvxypaszcozp[hjdwslazthbzhdimne]xuptxflgcjgdajfgqa +ceklxvygwnkfrqvwd[qxjqndmhxzvhicvcf]lvrzumjuaawtgviue[xdvdtoulmeaaiiuqa]xveikrwzicxctyy +pdvdkirojjubchc[iylcutkspnuquwdc]uzbtxemzazuwottv[sojezpwrsstkdwkses]laokggzzeaobwfus +ibuowtqicxqiifze[emohxvujvolopghkrgw]secpljnouzblzup[xvpvnqvnsgsnmhwdpbn]ykpvwjlhtpdjlflxvye +botbhhrfjqjqwdgmeu[itwjgbhzrqnnagvy]pzexftzhniligeyd[egtdkuktihxgmdd]cumzxbfgryzedtsc +dgvuwphikpupaovhovx[nbwxxhepxfzlxcoma]vypmvuopklupuzlk[plkvxscxriyzeln]sopaaxvckgcbiahm[gpafvifmxvjouczus]uyqhgsdxkcylwle +gufjlajgktlwahsa[kwtpvwbvjzpmpbstiyj]nqkkgajutaofdauzmfq[zihotkwlyixmfsp]fezlipznjthttsiwpj +lqriaqvyvawemnogd[gyqqrvivtuxxbzf]xqrrsgnxbpmjsgqqr[zfwpyfwojhemhmyoajq]pyninwzcjzypmygy[qzftysfhztknzjo]zyybzurfxiolsik +iojvqxazkhdwzed[jnnntfrduoxnyqpeszj]dpeducyducrsuwa[rnfiudvklwbdbho]lklubgxkqldqalvh[ogbeiwjdaeuwjyz]cvhoaaenmeuovocvog +kxtwtkvaixeisgzjky[cnzhhsipmfawaqzc]gjpptvjnwmbqqbuum[qryazcieexjwwsvfi]cysiabvuldrkvsxqgu[koflanzstuwaebjih]krzursoabnpundffqs +bzqcnugxfeixhnvk[sjyuxwjdceauputr]tcjsgbmvjklijlowud[mdmuqbpupxhndvfcd]ypgdbaxwopztyqelfis[bvpphfvdscmfbhynf]vjaytjezersopuqa +sceyeinwgkcccgn[sgxwelfgqimdwzlbj]uvyuazuplvkhpndc[etahwkowloxlylnp]hletqjpvxzicdrs[kyrfwcyoudjlueqrvr]kdqsjyoajsfenmrol +atkckckrgntchlets[tyebmdckmayofez]hryglgphkgeoswe[jeamxrrzxgyzvmuh]vcvejocdlauybbz[lnnricpcvqztoumc]uggeimsqrjnppskl +rutaemkjlwrslmsp[jwwgmphxqlggydlsh]xdudpbdjfqtcgrw +lwddwkagigyjsht[zpizzqoqkcbqmdqfqp]vbvigihfyemwjqusdh[kqgxbnysneqgxdwzkpp]issqguyhzmttxofz +zzxsolnnbmerygtvvk[bhfexiwvaohrbqbadi]zdsieuxicwijamvo +lbfovxmrghyzhfdybb[whedwghlrxnjtvqelzp]oezlanrknbaxtmo[jtrlurnbhmuymfwx]puvsiaizbjtqnot[rssajpiwyftzhoacoqh]ihmzohwlncqrfrjpbpn +mflsnlcufwvqbhye[lslradskdqrueaxvoez]iyrdzgwbghbrctrmdt[bqgxpsiwleisnru]sjwifvnufaaedueaag +rcdjaebyojixvatc[bjybjvqonbvdtyjwet]rnatoqmpxauyiezad[ltcfporqmmavmsjgmrb]sdiogziluykhmgcjf[bkkhyuslxlarrqbqe]zzsdsepgilymdpnhw +jikhvuzivjikuxkmlus[vsgrhafeosvtphzg]bjhxequjxbqorsnhx[pvkgxrttjofimfuq]cmrxlinhwqxhrkrdzpk[xugunnrtpxbnemj]hapjbouhnfydllttkdt +xsvwiruapkldajmkyx[iohclbiotvabvkhkngm]qfvbpipvniprtqjj[ehcphknxkybflhn]ackdoidsuczifwx[bdbekqnxcwwskgxp]ofvzsecshsgbqll +rnpjfqpbnpfqtlpkc[itzrqowsquwryisqywl]mrkjwermsejxwqubxwi[plxkhpuflnhspjficnt]djldgtkuzafchfwar[auijeassmbtfdsd]etfcwmifwixeffrtpco +nkqwqvkikgnmwcnos[nmvtwkyhwtwyrrupx]emdniphxpavkede +tkcdryrjllweves[pqdjnylpftbbktemtkl]qlykuckixcfhwuczikv +cfjwosfrfjwgwognyjc[jiwoynoxdngalmreoq]otqvhbkwlkpqatkx[wwgwguxuzwlorap]rjuopkpuaftnkdeg +icgtjqangadcebdax[wyosawgqnexwsdqq]ulyhqvrzrqhibudyu +mrrdimungjnszyr[quzeqzycxcsamewykb]vqrhnvflewxwzvxwxg +aciggfsvhpeaemh[xhizavbtwzpsxdkgzdl]dbqpkvkmrbwjcle +ctxwfkazxjvguatxus[hkcjonilmmvovjawir]ruwyywhbhkrheofbpr[qeknvkabxrdgfxgrp]hymknrdlgolmqrpklal[qbkzigpdxfcgnfhdrqr]hrutorkgyzxlqlujnv +ocyqsefzuzizjllui[ttpjltsmxnkavfbviwn]ccfanejrzrghpnb[ehkgwatoncpnwfpjc]qkwynkumqgvxuslirgg[vrnprgoivxrsqlpbmke]jdygjgsfkbhrbfc +necmpldghpppjggvw[vtantcichlsjgrzdxlo]bihypdunzshlhxktuk[iusfpqesheojjdmk]ycztqgqrqsuifzgnqvw[oyjhytgpicigpcf]ewrixdzorbmmxgywf +tsddziihnzqushtoeg[ldqhzxrgtfkcrhecrm]nnesvhwbrujwmon +rdapxiunwuijmxrqf[qvekjcwvibpucemj]uidzbyozcfnpempx +fdvouzrhnlgyemqqqa[rosijdvpwbgnxzzr]moxykttwbfixxvflpje[daadlshdcnrwftzxpjj]pgpphzgfkeapstad[rptqkhjmanvnfuj]drurgqqilijigaa +dcdcoboftwhtitlto[qdqpbbobdncixqwhmn]cdjrukqmcdbzwji +fsmzzqlggnjqunemec[oxrxnckqpvilfinnolv]mgpmmemxrkuonag[wsoiyculboqjnux]urwswywdpuesxaq +gpughkygfkxahewxsip[licxlfgczxcqejs]idnuezcmwhwgryjare +shoehgaydkpbxwshf[ksbdsdldhfsxjipf]ubrrcyykdsgnywhojya[hfjwtuughentmddwd]wjpsomayxantmltuoep +srpgizgochbueqgg[qeqltfdohredaspdbmy]cexowllqgvorkapnkc[kfivkiksqxospfw]naiqwxlkjowysnh +patacqalyfmxulxxtkw[hyxkhrfewkpafeel]thgckmswuwcjgcuepp[lsfmmxuvmiyyzzxu]yiktaounkhxoqzm +maeefdbswszxotz[sdfwswrwotoblvzk]bqmhwlxmzvjnorn[phhhipunsmqfmormtk]aasvyeqeffypmcop +fhpaqlgiumuampggbha[tktjydzyzgbpqosq]dpqodhygfzmbfku +iotcaohleclcmtwp[zirjcaznbsuwrbbspl]vdyhcyoroztlltnsubz[nmnaakmudmmobxzk]xjxybbzqfoibovwhr[tpzyhrmupmrfoeufsv]nfvtlfdnynqiwrmnmt +bsadpcmsvgfxbpskka[bqcswpjvfijomiajzjv]zjzfrshleucdcwpf[ipqvielmzuykgbs]rsvzmpmpfahujfofx +fvryaokhaacjqgah[epbqswhzewpvaip]cuveezfvkvejvvaizr[hlhatamayfeqllu]ixwqbzzaekbgxkmhzaz +reyvoyklzltgudphp[oxjgegadnwxleogg]ljmtypolhtjwpvs +cbihaubuoteffoyu[svxjexmihzibcqb]jzdqjhmjgugqyur +krpfvdsywmrzxbusjl[juomxpbfboxgvkm]brhpobarqecdmqkiwy +wsbwcjnpzputekmilg[qhdrjrdtwqqaqsymipv]fyrpxnpnbowlhwkcwd[wcxmrmmzlznnrel]oamqtpijleztiuknf +mmjzxbxoyrxkyvdtss[cikixrlteokbezfi]urjcocznnivoqkf[wzqgjmuuvuniccrj]eiarnnhreduakcv +honratmzckbtooiwan[epebkioukueaexbb]xyakukoiqfmtdhvxf +auczawuragikjbyg[xqvricdlkrsbnmjqymq]uwinnxrbwluaanvjyvz +rrpjxhttogyefupw[cidavmfspeeooolb]ucfrrurpkeqltglk[ulptzlfrcvniduqkc]bytebcgtpqkknxpbh +ateymyqwgrjfwemgg[xppbfkjrlnizskzttbw]genvojuvqaudosfm[psnzsxmpjtdbznh]kljgvgkdvezzljte[ovfuojewcuvcqrfdzsk]kmbgrfpjzllvrbmpimu +mrvctdetjidibveb[msvevesuydbqwrytbh]yiliwznzilsslmachk[mqyuthyalilcmdpxz]ctawteeyyrsbncp +xhqazvqcraogaog[efbpamcmboregjesn]vinozerwxjyrytyd[vmzmjnevhaiidnhiuw]nvzsnlixrdzmzvtgfy[veacynylxxfkeep]syokzdwmkkhirrz +swavkosetgudxoshj[fvzlrzpjhrbnbqsccn]hlvbbqalpdfefmaxdse[ekisavmzzlowfwcmqp]hutgwyxxcqjdiso[vraskyhzrfjitpxakqa]rcljjityeqogidyb +hidnzkzjrekzkkqqpj[qvvuzioihfbxhglu]nzlgputvbrvwrchwhzc[rimjeexwqbdnsdn]tfzbpsuttxirwszy +wiubbpcsjjmtbnd[thcllhnafhmdojqr]viplkejozrbrwacv +jaywbjoscfdifdfalf[lvouibjhzbkxdqd]mcxggciwqqirwcyps[ztiybfroldnlieeg]vwnzbrghyfatjsxsvfl[jenhflndcjmgdojv]uyxvsnfigbtgaemccz +uutahwebslojhtl[affybmhohxqavah]xocumtcofvavgdgl[xlypyhazihrgfwllp]ptfnqjlzbaccyoaawi +akdzebybusompcsooz[xgymxdecspvdvkgit]dtnhtzkelcazovecig +jqajvhvbrkrynxg[yekfvwkborakrkfl]bovxzhceonjclmgecgy +ilythgztqwpxktjrpf[igwywudlvdqpqbu]hxmvjverypjvjtk +dbkmmuymxedkowpcws[kxtthcqfurgkuxxx]vkypnrqtmhlsqogt[rtixamexlrydluvxe]nbehtyxipwgvefctyaf[cxtipjkxixrgawvomc]ssvdpknocgugwjxpzpf +fidyxymrgwqpntyg[loqqjfrzmidkxskyfsa]mqilmzklkzhzedf[mitpmedchdhhzxdqpl]roerrhbijrjwmsm[quhrsmqqujwufnm]layxublhkfpoykadvcr +njsjelrfstonstmhq[crcgsmvxndyvyfsjku]yvyrpgjnuimkxcutgvh[gwmbqumupsdfrusp]sbedcqptxzhsohroth[wudivolpxauvxvxbpqk]bnfygsxxzqwxumonnm +ivtobvcmwywqtjkfa[tcfyhhgftbsswpnvbtv]bkuulyhtihhqcckjo[lgnkduoojrzyjhby]uwkeujommiprdopgche +mzrhrvpuyolqlku[rlofuuumtasfuknrasa]tfhglvunxtkafazyehj[hrnjrlpyjntwosogwti]ixtpihfavwqkjnlipmm +jzhfwqxoqsgnrnex[ccrtrnroigtbvrnjeji]bbhfsodufjqhjvplii[mcubmtdgwttmmnazhpt]hovifldmlnbzrwqicaz +hcchhpmerpjppsj[wftljcxoqwtoclz]xihvvfjfhefdkeip[abdthspjojqvwxx]fhffpflinospcczm +vupulseekbaiaoempu[zupmjydxyobqbfmy]xkyopqxvogwcpuwnud[orgnovcpbpqecljkaq]sdvcakqwdmgydeeup +wruccyxbyiexpnka[iirsbfvggokpwli]gztvpqcsckeaiqofwf[zdloxqdlcazkhkppz]jydaafpuoznegyif +lwxqnbbzjlckuji[bzxykmlhlgjosvs]fdocjjmtlhlghzvj[snveavqbuhnzqktmyur]xcoabwwqxexqzakbrh[iqkdvngcdtlhlhudqk]edydfxflcnpzrcjsppt +eokcsyiozfqhcbzffj[uiczyrevovzcgvu]mniuhovkpklhedhx[gbyzowvpnxpemkcrccc]avfhgxxldgtjxuy +rxjbmcovdnxoxrjter[ijiplhrlromkesgs]xwtfawphuvrjimntwvs +uuwjtmgqskgrxrlzt[nqzvntwfmxeptqylma]gbahtqxvunohprsd[strhrrwmxsuoiuvi]nhamfjzlocoufnwbgu[osdxgghdsdkbqcpj]ywmalngfjbjymkz +vsmcjtzwfubhlop[ttbkmxwjonmuscwi]ikjuxrmqhqldtfzqa +oqhkopaodmimgikwcg[biimzvsoczaxfdy]bkcbjbcusyhdpfo[vfnzlymbwetzhbcxz]zyntiiipnkmsjjemxq +hzaeznnipwioicdfa[lperfrgxekbntipyf]mnerflshwywujfsp[nrkcmayjxnxbhuvo]mdxovxksmxlwvkbrdf +cuqqyiwojnwvbybcps[bujmpcuovhebtztm]bektaixvzjpofzb[egiiqzxqdlfwoukjyiw]nqkjlpwevuxeognpnq +ryxoyvavwharlbwzeq[rphqbmnaiykgafsftjs]ijrqxkvnqersvvryz[mevoiitcztvfztorohn]hkchrvkqswjpyay[staoxhiuifnbmxuytlc]fuawdkujedmkpeto +caowivzceqsclbyp[grpcqqthiebrabqwhxv]bzmazhewqmbuhjokm +uhrtxyxnakvjydnroc[fhnjxathwyyxszmo]zzukeuqdhxravrs[zqcltmosvkqcekap]gjartckwucksqzcn[smddsrvnfxqjxya]gkumdkzqxcqxfyhm +ldzhaqlkbxfagur[qvlstlwnkzbmxlxw]reflsfhdsosjaaesps[qajtodlxlfrbdlj]bxytsckpxumuoklw +ghjjrxtnytqatjfxwt[opmvopscrillueslb]zsxtxstrwnyzolxk[lyeeidvaghynwkckr]shhkellgnhsuekrzoc +vpliqrfetzttovx[nkmmjlsskjhnyxh]ayockmlevegaseq[auzorvghfdfuuajnt]poknhujvpctqrrycfun +vzgpmpjvlzbhzhlexp[zheyfmgekvhjsnmosaq]krmficowypbxwbztrn[rvoedtkjlfpxtaot]rxwejzlarsgdlayv +jfrznpvhlbchvre[obxfauzcchgnzksp]fgimlwasdrgqvquis[ewaqnfexmitmuxhqnp]graisawghismkouwfv +nqmcashwuluyxaxcw[fdqovhbtwijgklubmon]dgxewefrjkhrylq[maeguvhvptbgmjdwhxb]dkdmdobhsbyforzmqr +huwexxqnjlofulknxz[qnbpzxlpdlsqrti]sbmmwvryxqsrfzpm[ucizjfqroaflnixzbpr]ndztjtaeahzmkyords +mwlrbdybkjhgorutus[bmbedqpcsxwkganh]ttwjrjrvxsikepdbvgs[qycnjzrbeiiplxarls]atrevpowofauioaof[nlhyhaoljptrowlmyo]hmeaxvwasyaszlgq +tqsmjetgtzmxfgakjqs[cbnxrpnckgcndpcwiae]uavavaewuucokfrm[viufzfvvuiuuehyxcw]nkskrloinkwsoukw +roximfsrbnzyzjmn[bqugwcdliqyzyaqiupv]rpdidncsfgexyncbg[amzmtmqwzipkjfy]fqnscfsjmxjlpoccvfd[bpebfxoinyaqsgjpb]dykidfsbcykdobqe +rcmbmjwgmwathepxunw[uoieoiytmrywrjevift]ourmrqqatqnwmrisyu[bxodgsozbekrcuwf]gkaigbulsjxysdiawg[kczakejsrndvzdirs]ggjgbhegtgijrdz +xtksmozdsgsclsxrfh[afxjsmsjpuqnomb]onqkiyrogyrkykxjr[bhvnrdaenimevcx]snufewjwvfqkafjjzn[cquvjkzxpbfbghmnpwi]wjbdkkloxxgsgnmriw +doruvpwqkvibnww[uslnnvqcrwjlexech]cshujlmmujfjdtjw[pkbasqruzspzipwrqke]yypbzzqwoasgldn +aoxxznvrxfhzwyyq[byxxvystyyrlzvl]jnilbnasrzvgbbhrl +wvtujbbebuyuazangzc[moooepbzqolouuyxij]vhqrubkyyuypknfh[gvfucxhufyyjefei]axvrkaeaqlxxfip[fiazyighxscxhiwydc]acvifmzzltvluos +yzyfibzwjuddaoxc[gpjgkmckxctlttgcdcm]rmjohduchcituck[noozqqxrakiadwu]mipigxbhlbtngtpcpz +zipobscyynjrecng[jeekozoaoyuuqmroisx]tgffoyomlggbyjnnv[mcfybdsenqhygjo]dnzrpghyroqbcje[aoapyvfyscqfzhihddf]vplszbvbycwxqrhb +gcoyyfxpuufglqfsczx[ebjwlqjgtgkqdeike]xtuuxrrbgiwhwqdcyw +mdwjuxoulckloxfujkj[omieaeznetsnkeoroh]ggnwbuenkgeujmap[ghrtxfonaxyhfogpjub]ptyopzxhctssbwlpwy[xmpglsqcnihwzgbgm]yqmqddmugnlrbnqkgci +xeayvddumafiomemh[euwluehznzxvpmzbz]fxcevhwksvwhrvzid[maotzdveeldpyetguj]cixjfwlbbbrrqmnoklo +larctxbpbdnbpqyyz[vzooyuwrgpgtjtq]sgizsbcjteinyxto[jbqzsxejwwgrpcgzwrj]bpwcfwyglhtuxqmy +zbxohuvlboydqvqhhkd[wgcjvlrppivpnxifvk]kmpdiwdtpmrctyhy[pprsqaqxunduprjnjxx]zfbqlbdpmcgfwenem +ghcjhgkmyfejmua[mqsuukbcdvjmdnz]ixxelnebxjrtrdwzlkd[ikojyewznghqksregl]tkthqugytcsdudoggp +hdfwyjganjbjhbjvswz[bfaxlkjfrkakeedg]zrkxyzbozmchfqgz +inmdmdyssqhykuhn[vbjasprzyxaphygdg]ucbbhyvlsjjdqri +zdyejivfbywyaaqljp[sxmtwgwmwbqelhsg]jesgfubnghtsagcu[tofvxzmzzsnywhbx]ibnbzcdhusdiqhgika[sipfigjsngidlzxxneq]bljavpomkpqzrsuuo +uahcmotfanpvzru[opmqbnngxtudnuyc]lsvafzhwwwmoagl[kzpffwsffxozirgyz]lsbjnbzflbiprwuvurf +rzietxnbixgvzxnmzlj[iygcirkrgwwsgpcidzr]bfrwgfeyyatmalyjsl[dweehclvlbefvlcp]qurpnzinmyweipshzs[lgbfgdjhddmtvbzxu]ppxtzzkiizoqqguct +zfsvifntrvbjgdcuc[jjwqwhifqbxeqkbigcl]fmyuetebsksddti[hmopwdnxvmqwqflr]jidndiejmzoutjpkdm +qwnlstjkluchubgkttm[yyndjrkhfqrxuyglebo]xdltobqidrkstozk[shmmslerstluurc]fxkrzqnfjoalxcmssq[bjenpehkwbxpktb]eaallvedtajrnupomva +zxqdqrztephcpieqdi[rigecfyegojksvjmya]rgygzpdzmpvogeurni[odgdyrqmqgrcmhfcu]ggdgejoiritcrdxxu +ezhzkozgllmnompn[sqyilkceizeygqkwot]pdkuklrqdgtgoqap[yvadgqlkffoklshvf]hkgwcnlbadpbiuzvkaz[oozjtyzsxujalkwoo]dhntuiangtulscbzg +zvwmdxzivmtzpkmhnp[qduttqlbrhetmuj]vmykluzepgxxilmn[qgswpbooccvoxlg]ujndjzfubkxmvvdib[yrneuetnuktitut]vvwnzxosnenywomkyj +phuncbfvyiwxfour[oauntpjxaqvwvqn]liffvpoxrbljogpcwvw +usabjelvalpgdyiyn[hywbrqfeqwkizwnxf]ebpcgxloqmzflbeag[dxifrjggqwzokner]ndwzylxxlkdcpbk[kfergfdezgbceby]uscylihvxfbetfnog +afgmwhqdwessspzx[ssbmbckihwjmiaw]zbbiktbhykmehed +hforuldqhrolhqsm[gofgjhapikxnhhdn]xgdarfanlnonwdielb[hvntptxixclnlqphvq]hvvdpsmvsveyaiubt[hiiscphavjogadmj]bbfjdjeecrhhrspxdpq +djtyronibzvtixf[yvofthnckundxfe]eccattkkitxyotbziy[afdaacfefrerytfh]cquizrjfjtqgjozagid[xkbcgazeolbliwp]hukcarrfnjctdycpfb +egwoebxchfxxlrr[hxugiprrlfwmknw]cpmfgzxzakyhumd[evzzvvtjwwzwzywvk]lwcfpjlcgrbjszjvf +hktuhumsttqsgfltrdv[rctkgluikouomerrv]jblnggtkdhveufixx +ejjzogefxwuyadzthjb[ibrhegtzukygkfnziwt]utcbeamzzfkbrmqonlu[yofpkwiuewvtbswaet]zxkgoommtfxezcfcweb +wbauuixpbtjnuos[ozwhlzidaubnfiuiqa]nlkdtbovsytnvjz[ztfjpnzvymrefnt]nixbxdoogrxdvuxbxbr +xadpfckydqkmbvbj[vwdzgyfbjlyslafrp]mbozdmkfztxwailiuv[uttdatknprbzvjvucxh]cqcbkumzxiaqweqfiry +bsdbnkvvlwpezlhc[cdzdiuewblcmciggdgp]halpvjdbnpbdrnkz[ikoyxulwagjnwego]twyvbkffqxasqbomi[ajwtpvliyyssqjex]cfbqtoqqlggpufbfx +qoqtovwkavyaqbkwmd[vxuqdoobfxtanlwd]zklibywcjpksseelw[roqxvvoifjmxnarqvt]zeijltexwykdvpd +obkgwgtfxwjfrepg[slekjheburvgrunuaxf]cnhsvevmitpuwokwee +flulgpwvsikwhpzpza[pmlcfhtmvuiyoidfbfh]czcxxurdakbxizbbfb[blpwjusbzbdwugwbcv]vltmmzttxuhooid[hlbpbqjpqyclebkye]hgozvhgdplllxiio +oupstawbevsasbhv[ddvybaqnhfckfvdgabz]nooqiufueyoflccqzc[jyljuydjddholsx]bbejlommzienlhz[mpbmppjwfqrgucxdqxx]sjohlscgjoprsqt +augjtgfyoatluixgc[atdsbsouunywohfnk]dpghgakdvfscbapsm[nkodybopavlbeikalqj]myhpkcbsbkbjfgj +whzlsgvuspnzdunurbg[cypfmgrkqjeppudbdy]civtfkixnmrkqmchhg[ypyakrsygkyvmfmmyf]blihjslfkbrysntsl +xeyyjiqvduxcflt[xiqxiqeepbpkkydtzxs]vbpbdsaivyavnfwj[rduzjulshqiluheud]inliammiyxregzbsrkt +txvixsvhvmxxsomvo[hgdskyjskapgvyiqzsz]shvhmfrbpxbndsx[plvytalszauhmpkr]jyujmokrvxwmanzbxbi[mefmngrdhatojkpplcv]dttxfesvavgpkbtpri +pproajkxqwedocrc[muhbyboayoghprmbtxs]odroemzznotffsaxsmg[ykfnecchdltzosnyby]nozuvokzntxrnitq +rqimalibychumvzdq[siqhwfjimixscjmne]hkvxsavgjvpzkyay[nzbxnmxgmyuwcywvd]qkuzrfifsyvonaalxu +rymadifucrlickzorqr[phxxuxpffvnjgofl]zqfbhfmzbvhbmask +gzuklpopfcjdrxoekz[lwviuuoyojzggqjs]cyacdnvkgqqafcyprae[iyazavdiashvzwpgip]sztafbunqsyjtpz[fkwjsbllccbrrdpa]dijejdfyzqycvrdkl +nhmayligrdtlvyeo[laulduejrclodvnaoh]frxoepqtmqdzwwupiy +exzcpmjdjiagpvsvin[aontczoixbznfwsvss]hdlmrrdtbumlfvril[gcuizdwjbzyhttw]apadljkbcsylwgekv +pujkeovpnvnleypqz[ecxuhbtnrlnzojsxs]eyolbkoatzbwvnvwxlx +oefowwmlhqytnxaec[rdbjjilbmiazndcycr]dvjwgldyxfrzicw[fxpbshhafqifvyju]ygagsxtxwnsphgzqrpv +lhbebfasigqbhndgsux[drchunjaqzkcmefjys]nzloazwftxoemnmifox[gjpmyydbftxggnggadd]onlcnitfjniiekbiaz[swjdwdaikyykupgyg]ltwxeordcvjfarrhx +ukvzfltucnovohjidr[apslrphaneessxbpdx]cxrovjkruohahxshazw +xnsrwrjioindnxhxrrn[mvuraryghmwxppnlp]mconcxeyryuvfqcoy +opafehetqedyikso[vjnjwsjlbiknomzuu]pjurldelcuxkdlhehm +kvpcbopojkvzykdhm[ldleeqmztdnrohjm]vejwyvzvekairyhc +yrbrakwltaduyge[qwvsxbxwiretxirlsbt]hdnwansdelcvxptiou[uhibherodkibtww]aphfcrfnpewbrblyme[lfwjpxyosiappsd]rshmipxgjvorazj +tsymbomuywfpmdul[wgulyfhhwodplfi]xixmazxgewasngsv +ktywwprbuvuhmnpwfoa[fcuicnujrweusdoe]fuarbahbvkhqjibcfp +snhkrkibygzndryeblm[pykdztwnxrawqbevu]wwiwrwfcwtirdkjh +xhomjlsunzjzgkxc[qyxzsooayiqnuzljj]jftgbnqtumwipywdfrp +mhfgzwlocsrhbfkdbud[kwtnglxzzdwqcfw]ezvrdgdyjjqfwuv[abznvdwgiisyqjxvu]khcfgchqbgwflioa[upibqontzrahabnpi]tgjaagwvmqewmfyer +yfptdfhnebzhgpzism[tglibrfrnpfmydwbea]mmoqveuvvenorhnrw +ljztcdworsemcoe[yloilpxuumxdzzxl]dyawqaacdnjlttcz[dxyytbozmlibkocr]dxpindavjlezzpogz +bwkhzerttqexrgoea[ubnuzbvktcxsxednmu]zqjpbtbzdcfmidopdy[malphrsrebpeeuw]vwdlaafkntcaqmwjqc[abciktgfeaiptay]yqksuqwsuqtckkoyh +filqrpdsqqfgkcu[obiciozcvbatglnx]sjzgtjuddnazrzfcju[svrswvhpfraptqsxolt]nfcphmwaudhrnxkzc[ysohuzukkfqlskgkd]nynxljuswasofiaarc +desdobciyiqsycj[wzvqcbwfbneahei]svofzhyvvsrwasvvg[igvhymbudpcrdgjwv]qtyrjtghnbbtekl +fygnlyiuxapyciwwnbw[fhwxcrwprlaoiybnkbe]fxvtiehvhfgfwtsdfh[mreawqbzyvkbcnkyftm]rryknthocegscrdtbcw[ktbeedxfulszfogwnqi]kqwtzaemzwmsloi +zxroedxtywemimrje[fvzlxeqgczajhimr]lrhvziwtgglifto[buxquosscraxroklx]pryldzimioibwliygt[yvmeeklmyokbgexl]oqezpvcwnctcbskefas +dcowzgprrgvczwfx[zminxdmdflugwkkkk]vfoltgijbqlhjdohr +vtrfdkwipegmqbwrvo[kshaxjtaiuyicufl]zfkbjdxhihqmtjco +djidszgreaxdweqjk[rdjzkbmqtyolitmqhf]plltubpvwojnccsygfy[mewadohjaliobsdwezu]vmrkkqgbtfmwemn[erlreifagjhqavlxxh]yplrasxtqcyowlci +ctautcpnnufupce[qtydhgcjjqofrfay]lfahmjfjyppehyp[qzaxqkpopvwzqofe]rkcqkjpgptshvoucer[qmczzorygyrwbxiji]zljzfavjmwawfrfr +mwmkedorswoukdumznq[hdujfmdkyiznceknql]wgvbskjuuwmwrsvca +sdvjnkxypkzbwaam[jrjyjxcfvipcsfv]hqpkybfiuthhszpey[cxzhyjyccoulowr]bwjcdjlwidvcfkguaud +wfvvroenfriclccedd[aqkoeakjbakjprhnj]ytucldefderfpqaibsn[gjukmqtaxbygrygukiy]xfreqhtftbfsvsjstda +gmqthnogaadlkycgrv[qrgjpxucfcnthziuqmc]fqlchcfytukeoho +muwfuurxmlzrcgij[ifojpmgnfufvhbmmeu]ezcruchallsnspos[bwlnhfxtqvwcdjo]lnfuojduqnrbdyk[jhfihfozzosipwsyk]akukjehglqpancmiy +ultbxqkpivdepjvze[flhbwrxncynirgxwt]twqbnqiaivfwlqorpa +izvobuuojtimkzlsak[moodohlaudrwsto]cxjybpccizkmeau[dqaajcusqoaatpbojuh]pxlzqhwqdgetmjcm[jmjesiihxrtbmgwkcck]ywajslefzjxwyfivv +ymymmfpvyiyegjw[auyhltgyvzodazgd]twjkvzwomymmrhfthwc +romqbwenzvevhyq[ewpxvrduvqewryaoct]wxgowmsdxrxjnyj[obazseiipwfmbyxhkdv]gjalmcoqrquvdnmzacu[abzkksqdcduhkizuzxs]uzuazfdegdfqjmmr +frvysxhaafihjpza[uuwayzhynhgliyxcc]vdcjfobjuqddqibjef[iusgoufujvqkfjt]cejktzeuphymtswrxj[nthrscqmjniokzsq]tnsfuflhwdkvsrlm +rrybzahzqjlsnrf[aexlsirbdpwkrfhms]ftuaymthroqwnjlhwv[gugocacufksbdyqsfwn]ptivpdoxkvpbwaohlfr +ikdnaifadlcqtyfpq[ftwtatuewtwyxevw]klpnngjlhfuuwykwbqh +jcjepxytivozlscfk[pdosptbukdrtforgvxk]wdghlnuxqjdaztviyiz[mqtajavotnicuxco]vovuvrvnwoedhflabai +yaiokdeleeowglfd[qzhtllekpxcjvig]ohtsvsylelaafkxk +qkopuespenokczipnz[qmncizyvbxioknj]piygfwazneqkamiq[oebzwpkixhbywqc]tglnlkwhricqqzzbkuo[azpshyiwubdevjojg]fqlqjwtirppkilhplu +wpjdzojjjgthuvhs[ttvkvkootolwcilow]lvilrilboatpxwa +sqcunkrlvqeapsseomh[hcaleossxxtjalzts]dwokbxvvtiocokk[ziimvyrfcpcagbchp]lqsdomcpacsejdzcxw[tpekrtncgabhvirc]nqguzphabzalcgqjbmw +lchsqkntfaymwss[glcnjoqtmlubbldwxb]repxhlvahfruswno +gvwpylwrbvedenl[bsexdkrwujurnrhirju]eskvbigiwdmjthvhrw +uumyugkrepjyfna[clcqpswhmttsgtrnh]wnfqshojhbnuvkblcjh +hcwvxdxtuptlajr[svvedookmmgybok]dgfqpjqcewcjwqcw[rtkptmdbzfeqcyiha]xjnmaukpdrlznfxvfl[phdpcpgmzzlbeplqeyp]xfxopckbwdpteui +mxlmvngjychkbdad[nprwbbiggpyhrgjnox]kkkrpnnokeecsxwtfp[mscljzerlkqzmxsghg]mvwiwebrwurrppqw +bdgrunylqufybegh[hwkqigrllagcnatuzqe]tfooqltcwxznzoaot[hvdskwgtazfkqlbbbk]zlqphymjvcvgybaxo[uvougcsxvyieite]lryismkbwdzxmprwjmu +mtrggduulofkvbdmqj[oijictmaujkaxedjfm]kvriyuoautahkfmt +ljywcelytwxtjojhn[iopmxuupcuvfcgubem]alcwlvcmjgwoksp +ybgcqoheatckeypwgq[szypqmipvcfzxbl]obblmhvzjoiinqd[kvoyilelwmylaezhow]fforcawucbchzbjlrmu +txgcosxcdgywyfhgjm[etzfxsiksioqtrir]czbkwziihsrtlceuaj[ksksgvozuazlcgqcy]tcottzfkvhsmrsyvf +iggzhhbedhayxftelth[qznllaqmnrogfmdtbx]ualmvsfjwntzbzd +dfeuwphubioymbzuwo[tucongmmrqerhidwq]tjzrtrfhgixyspdsl[tygroajgdzxudheh]oumnugqbzgyilbrth[ejcdurppfugoluctx]rtxzchnbmwvfewg +kyzwhtfybawdrjkvoyl[fzrhzpdsmtmmmvuu]fgbiqggdekddtlpzvzh +irtlqtjyzstyynjfjt[zrlqdodytcoqczaib]brhvezqcuycqmta[uaofbaluqnucifngqd]eeprilhhysftrhp[zmdzijhtuxhysuaye]bqokznpdffiubikgf +nsrehcsbptmpdeskqi[rpcpoctimqyccgnpnfp]peakqjqlahqkqfgoc[irckfbpvcdodsmwm]oxnqnxhwmwflazjv +iuanxnzepawwipojp[bzoxbyrugitmuiutg]wtsagitdstugmsssbc[dvxwzoncffczplwcaw]gifhatzuqdvuwnupmja[wncssuyvhyawbmfpbdv]faluhtnnnvuiwbbudh +fpedlxzxifcuqmvxm[vrfcejeyfkhegliplkr]giqaenxejvscrlxbg[qctzkslosctnoamy]qyjmeunfiiuoxsid[xpbjwjejckcavehej]txgqklgnzqdtimmiqwc +iwkrzpmhsunofgrddx[ecssnqrcjyhmsfh]yrmuqswzgcbxnaa +lacpahmmufjghzen[zkbpbownspfqxnclzk]yjnyyjnabyhsrggji +vgxbpddjqotuvzbakan[vnagjxrcehlhbxwdw]kxuenaclhrihntgwjq[bgqywyrrhjzjqdnu]eirujssxedivdmvlsby +tsqxgzovbjzlwpcbv[rgaywjaothmsswcdrtp]owwnjohtsgegsgtah +xzxejmuyfhjmgoxfl[hyafuepnewepjpy]lbdbsoxevfzdpnwpfk +moucalsxxvhjiyoceol[gwxofnqdrtxzusk]qjosxisditclyvucbm +bjgdyrlrhtkbqrjohwj[gcmcelqjvjadxqnj]tlupekhzidsrscrf[oqadjqqatohbjwxrneo]ykhccsunlyamcmmk +vgihvcltopalggrjzsv[hmrksbhlxuzvtbnuss]yqpcbwauqeduyse[oojtsldylgtokmdwsy]intpovuqazkybvjim[qbqspjlovnizurecdj]fkxluehqgdogxdofnq +mhwhttcwzcntsbufi[afretswhwxhwkptb]srrajfoeahmhecarmu[wgjragqlbpfbfpd]epytkbjxmblfnkwhlhe +dgpphmjzkoobitcjyoo[nzkzbsfktzftpmgwdcd]nbezurwvzkhwskfq +epuokjzxtxphttxtkz[xcyaposdqcfkcxhncz]hcupnojktsvxrfwlyv +xfoshshomwdgssxla[uhshvhbfofuhdsqk]zbzynuiyfagqpemuplr +hycladrjbjuyieejeg[ajsfbpoakutelvhdak]hjejfrmmzslupsepozu +ksputfunecibpffwovl[xteycruesicuhzai]sqpunyzatnromjeq[xlzamstzzisboayh]gzlnqcjacsbkkmgzi[aonbwutxuesczgwnr]aflrcbdkkgoyumfakb +gjgmaueywnbqdvgf[tpheftnkpnlyujv]tvnqzdugoyjybxfpx[lnhefqkhesyicqqgvai]dvdgtlsayhtscupgikg[fyjgjzcrucldwdd]ohlycgvvdatuyvduhuo +emkefdmyurledfdd[dxzytfxcsdxgjcwxjzb]rqwwzvnosuhkcplv +fpmhvozxaaxsyxcpx[yohzimahvewgvzucn]ztkenzkvcryyrmo[drnglpsvnlefqhx]clawabytpjiwgqflfbv[xvqqglnkzkxlevq]dhpydxfqbclvcjtdcn +itvuciuufdkcgdqgo[mgwnpeydayczlvjegm]jyrwfakomakilgvhd[mslududkqwtcsojaosn]dssdnwxzapuchnxz +twopcscmaiqhzsepel[qhydrqfqwvjjvinlq]tfmaoxgmccymtrbecjk[zkuwqiccdgoubccjoc]pepwccwqlxzlvuhb +dingttjebuuxtxrxt[jmgffmivzzxvgvefk]bqxyaoqiukfungsvu[sidxinaokekzqpqz]hekuuswyvznavhuvk[lnmhqeaujpofmdzub]vcufrufbmgwvdwksqn +mlgkvlqtkpwzcjbrr[yzhdcawedycuwdw]ncjgthabbqmeuji +oqybrhgapxiiaxihexa[gerjxleappelousidd]dblyflqmoarwpne[enariawxfzzpeqdvj]lgjzpkhkrumhvap[rtcetzkiztcmyyjzs]adjuxkqsxrlyjgf +hqxmuovloocgcgjlajv[hjbhghstuvarcwhfy]wldxggmqrrhiwdc +yelxlqwqeiqqwwaitp[uservmlohjixnqtl]cocskteueenenkfmy[ehpleyhokmlzslrdlh]lyvwccjeqrqiofplw[pcsjxogpwmbhrpvvn]ncmxjsoxflyiderh +znmujbypnozpjpkqii[iydnrowiwhgazihmxxp]lvehdleutcqbwwan +lympkckqyhgbaumc[oodkeqjyhckceptyqui]ejkkqbitfscazcx +sxvzcdelbmcqawvour[jgrjmuzvknqddwawl]cfdxxgxsviiyckx +nrsjamicxprsigw[iywcxzvebsemowpdmn]tbmisagklgwliuuin[ztbbbdtyfonwumpl]cjmddkvsaxzaszisyy +tllvdxtvmesnmauwk[qaomhmguwvmsjbwrwz]gvzyhjymfhmheexe +jqiffwykdbqbfcz[nzzfstvzsrtshctbwt]uazcksxgiyuwlkbde[nvsnfriumhwznjfdual]beqjfgyanriagjl[mkwaqdkmtnrzfpszb]mrqgyvqvyqabnugoc +kyvjsbdoorblnmy[wxackciwbnwvsggfoxe]pbufyorljghrayitwnf[orktaokqgpeenjyk]xdldvupmoyqwylb[aljdjuvxqagigdbti]erzojwkjcoxvuztbqw +zuceocflmwjxczrua[gpdqtptmhzmrumm]lvmswwevpotdyrrztzl[pkzxcpcqxpbfmznn]zoaxhfddhvfzxmdreww[roilsmnfdmogsvyyr]inqfvvkesrzgzwsnwya +lihowzmdtujxkokt[czwvzrilryxqxqm]appqwnbyvtxjysxkh[wpjuzvceldxgvsx]hkyptytryliycwhpbkk +ccyquivxwnsmzvurzl[gatwkzfmiuzvlxqqyy]twruqhcerhppziydvey +kfmpvuwkfbczuahpr[uhtwcsydtbjjfcyu]mltkvudoyovjipwmptv +yzuinluayrwqgezu[qbeujtuehlcqhbz]qwvclzkjxuficbgqv[qrzlculckkjhunba]gemnanesaovxzxatvm +ytnrkypitsppgols[boldlbadecdiaeyp]miwxcsnjabbmlfz[nmfvanenygvwqmgpiei]dqwnubvfbwzdptj[ormimocwondmsyrk]eptdchejhezxzpqimj +bpvimxocqygiyfak[kocimiojschpxlmlbh]oeohxkrlnaramquwz[mvodjkrtgwsyshboxo]jmxqxvydlieugen[qsqvwfzcowdvxzeflfz]eoysyaomzucvprpm +uhanxfxnxmoedczj[pjqlsouqdhqhforcuk]wgqlbagmjmtimaewh[qlnvfdicashjzjjmmwe]wrtbmpniixypmei[hnikhifbzacymvga]cueedmtiokuuauro +rmwtcdtidmhhqvlooj[ibfeikfmamtpxld]tvqxdwcislwdijaa[znpzxccexnnkerzseb]cvyteeonwbckvkmw +xtrkdnwsvlqfpzb[fyqeealbxbpjxohdssv]eomkcxpzhdzzchmg[rszbjedcqvxmotecne]arebcunvopesercpsif +wpmgxfiikbeczkih[cjfseyjqbnprrzrc]vmofgvrwxiitjsy[cdbplfeqqrpvyoguuqp]gicntinbexxdcom[bhrrykkursqvyepyy]lhpnuchjkxczxxvqp +qnaldysjxpygshfd[ggbsrjqdcbppktpfk]rfapyzecbxeoluhop[njlupwxmsxpopefrwl]xhmjoasimqrdlgjwm +acajjiclnscuxdsyxv[axykpgkepnjhrhfgqvr]slbbdyluiqetchbrhrm +ryolywtcfhaxzpu[cihbqzqvoqwayjwqtx]cpnraqtbqozlcrvoxn[ippcsfxvbyrodbacgmg]gfmqhdjmgnfisex +etevnoklfebubfa[kjvpcomfcdacfhthi]nfqsxiilqrwqianlsex[ugqfrpggyrmumjf]utvcyluzwmzjygnta +tvqkpekrujjfpzlot[kgoaglxyitdkwjmf]mlihujxyrtwfmzup +ktqkqvqxohypotivf[nsytklzqsdqgtjsrved]beidsrlrqlaaykv[bhalrlzjhvbdtjcmig]awjesirwjnmfjdslc +axgwliaxadkosbsp[hpschybkdbrmhmm]sslipdgrubjiifxzze[sptnagunoyiasvcunvg]fywdxjoeyzvwrpinmf +rhpxrkwvbmiuoks[ynxkvorcjpyldmigt]juvdfreyownzxciopxa +qlmnvnzbswfkadrm[gvgyozcjgthimuxze]ewpsviwopsrqszjq[odmqbtcagnixpgasn]cywfvmbtfcixzjmyue[ekxllezjdqxkqfxkflf]smxhvcoojkrwvuiv +mrjroyadyadcyppfliq[xunpwmmutvwiewlkyye]ppcjwembftkaakdig[fycllhoijmljdas]ghnbcqzccvagpgplb[eafwmpftuwwwoln]qbxjdgsbyahqkxqzrlv +fzfcqlltfzjujqeym[jeaiiecptdpgfsfccuc]sfsekysmcjtdxjc +jjynfbiotihgcbrojww[vrxthptqnzbjegjxzru]yethaiycpixaqfb[bplbbjoveuznxlgvooa]izorgiwsvfgporxo[lnktkblkgpenjuqu]hsizqsxbuadccikdw +qgqbnxfvfobowmipa[pgiycstlgkcvsbi]nuvfvhbouoykamjuttp +evroxuhzulkndbn[lfllzavhyovpvvcvg]kihcrzllseowjwezs[vpvpwqtlbykudupl]qrmhrwziizlifhb +zgnewkpulzskmghubbx[matncbjczcjofajeilk]gimvlsfgxcdovxelxsu +zgznxyobzrrgfnipxlx[gsazrixylwsicyquamn]isxlagxgkbtgrbjknn[qxjewpiicycnpta]tghqdldoiwdennnuha[wpwsawddkuxonmxv]bmkekmujdpmibjrg +geeoheswegiuwrrmii[hbthbiwayyxkftmbayn]olgnlfwlixhqjgjvgsr +crxkwxwfcdjitekzrdm[duvbsycafjsvivy]ysrnkudiueyakhpydv[totferyeflbkxuz]nyrvffrgktfpmwsmaig +shfruolertwzhwvfv[oaeslwnysponjvpne]lzvqqieleintnev[jdhnbbkdwzksbijpsle]svtrwqftbwtkzzixrlf[wzxzoplqpcybbhhfz]klsezcnzpvgvbxqeedp +rodljmmftzgdnxxcufa[jgqmtuwqkermnrimyb]uouynscrkxdkjhrz[hpihpdzqgzcmawkdsw]dlvcgdmdmupcmuduu[xyjvfzjaypcbbeettvr]pnqhcmdgguswinpxmqo +yrcxqglagiyyhpt[fudlgwwllpsimkfp]esvhuezhtkwulzmut +qwiwjsxdiblovdjx[evezbqlggluydkth]xtoftegxpmgjsgn[dygxbbfgcnrlaebugya]jvcmiigduerloizkyzq[oyfqcvstibjtqcknk]sdykrdksunkdurm +mlublposwxvdmcasb[mmvoctlqinqyogj]lblnmvdegbddxjuuij[vlkyfhcwrywyksv]epprdwoppwnazhbfxs +xidpschespoxuwka[lifyliiagwhtynahwr]mophvutwbflkblhzp[ngfdfvwwlfuyujsy]pqgdfdrrwonjcsxyb[txlrkdplwmwanoxhveq]sirdziimdysnzdrzt +khglmzmqqlgtsoyuyk[ckwowqtfatmitmx]cqsnmpgwitnlycvr[hcjwrehoqrluifbx]dvorwhvznwutwctl +lsjtzcpwlhruhcyvu[ppankbohskraacy]xriyjykeufmypvpcg[khfkqffqnnzsskbvi]exldjyjnsnxqgfxg +cwilddndcerivvgcot[pwnjzedgzbwjhwdngiv]budzscutbkzehgi[swgapyqpuwuqitke]aihrettehkbulnndniz[ladvxuqplmfxnwm]zovkncitewbtnxao +nwkbypvbwxrhjccd[tzjkzmgvioaqorgsan]bghmwniqqnnugulkcq[devmzttwdxjayueapxz]pigrhvuthflwfvyghl +zxoysnouzggrhhygrn[wvovlnwttrpgnub]tflqcvvfrhwiikpfp[fmvlpmktaybiodqon]sawjgpmqugnvancar +sfhshdpjhpscqgmcx[elzcuconpnmipksf]qebfhzrzjddpkrwy[mtpfmfwynqlzlcavdjx]olgxbalbprtdnjl +ribazjlrsqqorxkipi[rkwdafpcbgzcvveipl]jtutooefoewtkwcolek[pddkdpvzyumbkuci]qyeuvqqxiqrwuzygf +eobvoofynuxzuaudo[icwrahzvyvejahwlbq]ewwnptijkewsppx[bmqxtgqmosyeyhcbsvv]ojsamjjroupnfxbygrm[yqqusonrkvfmwpiwo]nueolsbydgeyemas +vdmbxyiptwawwgfxzh[kmxqzdwjfyspqkptz]hkkuurdkmfzivckdwp[ncwldxetviygsqga]oxlfsqrbntyltzp +gewjydarttmsjtqn[zxbhrkxlalwtmmrgfag]ouqpvnvhrcsyaepju +iogmaqbbnpknpihgdzr[xddekzhpwasgjya]qvqeqqyfgmcjqlljhn[yqwhbjjgtlspllovxu]yzvhuxwuqjnqqwu[mnqqonpvybsaxob]emyjayuxxbvtumvsc +ompsdhuyibxinkeelcw[vcyphnznqaeqzcdm]iqpgmmktiakqfpiejnm +ciowlwsiatdaewieita[sjaasprpfvlolpah]bpeqtpttkceukaef[rprweenazfnwtmfqh]wedhtjlhyntjrqw[hyrqbnvfdzilazmclcl]cnzbapdwalrxcbd +duvtrfezztrbcbrpkwm[vtrqvfcxuueqcpbx]xmjukrhgfutvtcyd[ptqlpgejdqamrwxxbl]aavkmmqbqdkxyuwpllb[cvtooqdwzcluidljfni]pohomwwnjxhohmv +ieozeqgyrtjpfix[opyearfnbegqcgjqve]ljeerzciyhyvukdifu +awjmnojyjmqatcnnr[hdggsjlyjznqadyuwg]gvkbbwfvbtwwfjjnpa +dvtdsunzfozfzmgbost[cvhhdpznusqmedy]ayllrpvroikxhxetks +jyyboehdjvkufzixpf[ijsadnufldjduipx]zmcubrihovbjtdych[vtmkafgmqunhknoqttz]amdwppzqbnylhsi +gblfvnsmtqowxewqrzx[kzyxibskmbrkunl]nqajypwcmviecsn[fvewudrwzvqashspitb]docgbflbdpnxxtin +evhfjidivoswuxhsbd[wmxbybthkqklvtfekms]xnnifuivlakbrvkfaau[upixryknmsroqfh]tfaezdhmvigabvwfgt +dvdsnwpipghloop[diwimibgyehecqflqtd]tnfzbffdhkvhfsbhq[rtmprhoebqdxppae]gczergujhbzsgdxupd[ezswzkaawaqhjcdgfl]jgwotzkgibphpas +oyuvlfvippqkkfxsgsi[jkfszneoxbhkxlorzz]rmotcrnupuzltlqurcv +olonicnsustzovmd[kkmgnznlwjgwkkytz]usukziqukpwigcfvxw[uveqyxukqkusxuz]aqojtdccmpwlluelsyf[clqnppgmfzwrtlfh]obgkzmtyhlcounaf +bgntejhmisbzfrblik[nitcxhpegfmqugmlw]rcwxgxofqbishzhq[jyzbrgwyikdrbof]gdxdwgpsfmmqejfyodp +suumjpqhafxvgmgdokb[lmpsinjodlukkfk]jhehvjrbweyoeivfzt[ricjsiwyhcomnsgltrs]iysygfjrdfebsny[irlxudmuuykkcxj]wndlninlcnixabgs +xusauuaaldibtqcyn[hvjidaemmzaurmyyk]qxooscxoynakekchbj +xilzzdiyoqrwzcnwklx[jzmgqccfobvufhdfgha]lzkfzklxafmroamh[xxdzjoeflrhqibidync]kuodqrpntknogybhh +zfogxhqdfspdmvxtuwp[fshligclkdavscty]tkvaozljxenzeoj[txujxbzywfgqkyfrjh]fwwjvdiaceuyumeqscq +iqqislvjgveszvnb[qbfceykxhcelnwes]mgbeubhjgaydsrrps +unvvlzfszuuztae[ytbzbzacrvxlksvk]aeaoeugpmkydbixbmv[nzznffshspwmlkqig]hwamlnoeyfmzhrxmbi +eyrqyerdzuptlwfz[pgehfansstewngd]vdlfglsqchelite +irwhlxxczsizolo[mgrotoelpfspnben]xuboaosbbqvskeooh +mvvsstnbgtaripcmiv[lqhlubezzcqsqoh]ofqbajkawszexqw[pytqrosnsskcgmno]ceyhqvutvgwawrao +aehuceoazqppxdvj[fekwbrgjolkkssozjr]ovwtwkvvxtwlatlhc[anrzzudeipqtlgvtibj]djkyozdjetkxaxrg +qdkosvyshtjamlw[nvupkgnksmlfyivlaqz]vzjxmxzwetvndab[rjtknjbarestnsqar]emeeqkvpkwwwbpbyho[fxsxkmlskjyvniynt]yxdwuxqranfmwae +mpkajmbuiqyysjiqxg[gmhxmogelodamttt]aboupdcqcaggrmjwo[uqmzyshqeruzquxxez]agzfrbsajxlgzgfueb[dxxqiqrjkpgalcp]qcqyeyosztojwikdqo +cwzcxuvjuongdoellki[pqzhljdqxosuhdgqc]qqxxrckatnjwvmdjvty[qdlnrwhhbeldxrirock]kzsfmkvvjexhibpjfpv +xqxcttuxwhriomnnarc[hrkxvrjviqxxeih]ofnkwkzmwkwfbflu[bsjloysawmfoigzrsa]kjajcjknclhkjofvh[jtocrkwufebomaervq]hawuelpfzimwdnxens +axhzhgcgbqdeauomnjz[hbuvuiuidkykmvbd]yjddakntyygztrc[mgxbjwjbkzwnkybcgch]orbyhhpqxylsrzu[mygxsbzjoicfneimx]jddqvyyavgguqlqk +sstrdkfdyahmpmolvuh[nuhocbdkubnidqy]fnhfqdyorbtzefo +youjjtvznztbjozve[vcsiywlpdylxwpg]saiwvtogtdayorhni[bcbwjvcnlvrcqbeexf]cxmaphpnniedclqd[ilghtvdoebmgoykzmjc]gqxcmtfqougbpixu +jypsrripwfsirlizywh[qwqvrrfaltcifzgrzk]urwxtgxsivdxexc[hxqqrmnggugvdgdcle]sirkwolflgudrrwfvnr +jczbvdpvkmrklaxdh[iqwzvnjtjhmulvo]amkhoscjxrxkvtrlm[nlvnfnszosucrhvafm]dpkerwgcehqnmxmny[xabxqyrisiuhudad]egbjvaumucthookv +shephwsolmshfqhuslh[iqeoxejhscbjknjkgk]ytigxjcdexjgptz[mdcfmxfkyxnaaoixuv]ltysxdcxashhzrhfzcg[jrjzihjbmjzwwikgrj]zkrlixaauhydpmvpggc +hdwtqxvelsuakiujcgb[vrzoeqcoqwpdvdxrly]fieebtoboyeztrohbz[unoqhtonsyzptmpgo]bxsxkyquwwdwyhpxcan +wbxdrndbjpmgdewnt[hnmfgladivxjjrhgx]hhwhdeyhnhtngzasnm[eanqualmsluacqejow]wtycyvqujeitvrvtkhk[vfabcjjiloownkmsa]xqjgahkglpsjfcryzv +psxpjyoleoctcjgpwvw[qkiussudbvamcbw]hbauvxvnrwhyupg[jbuclksbbwmdnddkn]phqrldjcwlixcghiau +oeiqnisrrknnuqczk[qhtdnexhjbgdaplymaj]fqqywiecdftfcpfnkrd[lvlesddgirngtuo]mfvvfvlufkoqwpwl[hljsgiuexvjatvztcp]ixguvozijkebslzjaco +dktnilosvtkmvltdwd[vznigqxsgvlquhbquk]uinsbypzarhkgsgce +ljjdiiuiikwufjnnvjm[xjbujiikgaghrijcbsc]escofoimfyedoist[ltrrqmdcekykivhaz]xdiijidhpxdgqbtxue +lfwumqctskgwsfvhl[sgtnklskhazwypsys]bvjxbzrabgfrvyvyv[rlityjbenmcoigrfmfh]wczyjwqulaqxapozcnz[uqbunpfwhfrvgqcozw]ktvibesxhbrooqt +ammvknbggljpkwpr[vnrtrxiwcitskywiw]ubyickjafcfifgupssy[cbkzhebhjtdbsgct]cgefqdgpdpcjlzrz +wzpaqedqkmltsuij[jjuasmpwngjrynzettu]dtmgfvwtyxdfqce[usljscrncmnvrbb]tnevcveidnyskzs[ttmnmxqodycaikjio]qfhvrqvqpgjhkaaicj +apdywyijusgxzfj[sgbhrwbwywwisyg]ssiiosnfconncgiy +grownnednjxvuew[iniatygttcdaelocols]iyzwgdboxuadbrbooe[tojrecocburpdzi]oelyopkilwnsejur +hfdpohrtqqyfntpfk[trpnstnxymqupxjri]lheljryczqxgvqip +iielceqagqfksuqpzr[ollobpkbzanfxcjuhrz]jnxizyaoygzbzciu +njpftdmpmkjwcngeot[mocqjgcycgznvcqjv]aixpwfggjyqyemoz[fmklzletfvqdyvvg]mznoxpgwowvjjmus[prrehzdyfwwuxvhl]hqppujbqaizlzvv +vbjenrifdqsyzlwga[wmjenjnqufhqohvgc]uhrzouilmqjnjigwpa +vwooqueyzrusban[gjwcwiagfwpvrct]vfqlgxbhucjhvobi[bkbtechiapvschnh]vjzryzyisyzyzewdy +udumujkujngtkcfv[klinhdudyghspdsga]gxavvcsxqxvaziqrmsm[htseffbehxafyhoars]ghilivgeuuzjlmih[vtjpcrmvldjluqdazun]mebwzbxywmrfhet +cwkfdzyxoayxukcgdv[wamyytyfmfaucrko]dchdvtpdkeonmdqc +zklwcknfrvlblaamoo[ndrnobufquyjknl]dnxgeqvqwezfwky +zbqgtpvsqcteltrs[uwrmlyjkcidsfdpx]cgaobtbuuntwyuhxmjx +lbbyafbvhsilwmjivv[fkftqvaahnrokuhu]dvgaejsxgjuwiemu[yqopsyejqtvmlfxm]gzuulybydsrzhigldh +ficlcqjefsddeds[kfkmusacvnqualtppxh]drbsbqefpdoossbkyng[uvpyqnoidjnssjobt]gsheeufqtzrdsil[jbvevjzeugpmopo]nrgxwajuatycddzwr +xnhrhgadoziectoigmf[jwudbvxzwdfuubhjlt]lupnypmntyrvwqzlb[vvfvttkizuxshnhhw]lfdrjokdrbrcldjfs[wawjpqzozodmnmah]vdbjaoofkmhkjbphx +fsymutmdbqyguwut[qvxhywjtposhjgwuhxg]ftwhtxqxeicsrlfye +fglgkrjwulmkxbzolgn[vurpqcvuydmympiyofl]nbzudjasxeknjid +nbtrkgsywnudokk[vurfuvkjdvnsukh]vkmqsmcrotppqorkah +iqccpqvhiesnaohkhao[xykqfbmojjnscqhdv]aqlxkvudzlrncmpy +dtlwnznjqsixssrsaii[vkikcmtsepgtyqhica]ovcpoaucnwravbozsg +nobwzchgrycgkxc[tqoxhzxeorivdtdkde]ctdtkwzsvuxfgjtjg +zsknnbedctklyuxngn[jjzvkixpfmskcagh]fkvhsfuckghltyqk[hmygppkjpcdicxw]mnurqampwwoiiynr[jbkvqeqrhnksizlssff]xhkxiwlzgvjdfakjg +gqbxrvghncjdllxtge[bjuwjsvewzvrgcujf]tkrdrbempmwqujk[pmbtbgbrgzpxeoqsxw]nfvaaumgpjysgtvk +clfcvnwzcbfaqaj[prmpnpjwklodeukzznp]zukpytpqzgmlbvidv[qhfrkjlsbsqufgnet]pfhfcxzeiowmgiyksj +vogrpuzrevmatdbqqx[qolpybjnetsxcqfcvbc]ixxogojluwsdsldl[bztslfanuylwdld]xanhrzxetowrgift +dqrkbymiudzhkgf[spvsqvyntikovrefqc]bzltachhfylbrzl[znefllzixypjdkmfcxn]mtpikjxqsppxlal[oeyhdcnpxvhawqbmkzy]nxhshzdshsiercr +xmgedfiblpeazvgkss[cwbtqqjoaqbrgbptah]clzsinbtqsrkudymf +puwqcxmsuxnmneuzrhj[dbljkganxzmjvtxgr]ekmomoccimbpbieaf[khezmkkqdwkouzb]cpkfuyzfdfxhhhuhk +thfdbnkmqrektilpc[weshzvpsyofygysio]bffomelkkwvfsdxa[owhidyrjieeietzn]kmeqgnvyclngrcgquc[ieikyuuoliuiczq]nnqhogvlhwqipvpiao +zsdcvcbtwlzlzlmteky[nrqtpxoefofrjeaf]myjmnezlzkfcpmik +afyxnybelqewnebaai[ddjgeajpzswwdrg]qfwfqryofesysiuznz[ouajwvymsxmxzvgdx]ryuvawdhfmfvikye[kuovduidpcdyepuoq]didoelcmjebmytdyke +oopihddimztsopfcia[udmncuvhkvvbcmxzey]fpehwxjiczzhqcxxi[onmizmkoyhadrxpsemf]htycdbotvmomguwbttt[gjsdzuveiuvudbyakzw]ramxommwjmpkihl +bwlccfsaovlozdqpsv[dniiqfcldfhjiex]cdzbfrecwehrluxzprd[xpyzvlqwekcyglksq]dncoqoaakpgnbagf +uxoopzavjdqdkaz[exsbnpbaeuvusypih]qgojfhbprpoavcbxysa +mailxensjcsuodzpd[ftitdguigzeundytyp]fgoitzvujhkjynr[hnpcvussglqshxn]debsveizfcuroqrm[yeageekyjhilfwr]ozgpzusfpbyanxnzuak +vxjnjaguqlrwoxlhfbq[zlqpitkigwihrikvr]dysutdfrbljdzjgcw[eslbaxzslwoxscpgoy]sudodfmlfyuczzf[vsthktidtghtmazbip]jfyoxxiaowptvosevi +lgxmivlggzfdpductjg[qxgoioxsurcwayndy]uwlgoodqsjoxsjqqln +qognhfgzowjikeqz[nkwezojneylzwfdm]omduvysmcovvpvse[bwxvkzoqsykfils]jwgfmwxajhmggos +pvuwgxmpcrqknzpbkg[qbpmfthtmbkmljnsqs]zmplrxnulurhzvijupv[tgsommhtbbujbjpf]qaxqxdxmpqwduwwxpgg +lzlrgghqmetsmcxd[fjffxsqjqctkxnw]zlzlpvksrpnatxmh +ayirfkbsdyssjjpqmi[vpkvhbtreetyxstwcqp]rjbuxsgsrlqrdnpyg +ukqefgljywjmlce[nqjcndjjdwohtizoed]njfgjjqkdenohbwqm +kdwzhrslryuexdgbcr[hmbcvmrrmbsvyaii]bqprdkrgdlwjvoiyb[mqbaokwptkfmxzqr]wcauinrezkhduhcktrd +hbtuzqvyldtvwgyumzw[dibedlwdcjyfngungt]towfeyxyxixyxee[libuilcfsdkejjl]wzzxfhwcgawuhskreyh +oxjkoqahhqqcxcoxksg[bouywtiajyfmanxcx]xgqpjxtkaejvmqckkuf +prhqbaccndsoscdm[cuayhbnfywztddbvww]psgyhytgosopvbbp +dxdtcskiowtdomepjp[islofsowtuyqvcqwb]pjhyaudkqxxlwfoo +vdatepedgnvgpah[jbooucwxtveomnpmyx]ixgsuidbemgmahtlt +oncdjplunkvqphbyb[uvivlundxhdiwjncfq]dvhypguriulrangqwr +vipebvitwbccsnahjhu[kpwtbwddwqgyhnkjsv]acfaqhywmwbkmgh[nryplosnxtbkpwxtkfp]njzhnytzwlprvfcv +csvlzvkinldedsxt[dbxoceaaismltmspg]yomriudrxzmlbbbm[qilkpyxcxlvtfzqmw]rhwekeawwpyngqxzc[akqljrphobjicoco]utlunpkuptawrtfcccv +acfepkrkhnviixe[cvksybusnhacmfoy]tmqqmgfdharutrqvdpm +hjehtfbextjkaxilhaw[qvavsivlumfavaafhqz]ahdjvprlhlmuneewyxi[rzeuqtjkiuacirxsw]ucmfkrotfprypzuyqe[rutydtgtkppegdgjn]hmvzjyquxtydoujq +ntosjqtunrqfoboek[aogjyqyzxpdgopkpbx]sdvftoxtcjefotm[jivgsxjogxklwkhm]cahcjmgzepqebtn +omkznbrlrodmtmnhwsu[ysoinknpnzrjqkf]ybiqtlzoiohtldgoaud[fbzfiajeahzmiplcih]qimubctnnrmtwro +drdygweayxraomiblsc[oglpuxzweqpofwi]mbipxabkjqcdscltkh[axbvkumlaforzbqy]ircpsgstqyzpwnv +jefmuplsptisjqguywe[lkgtuysseapteszy]wzcehypttzjhjfp[nkwvzebjrydcwfkqne]tnmaxtrhvwvdnrhpxne +elfqfvbjutssktxpdo[paguttthfghhyktkjjy]wkpqdurcibsvviqfqpu +suzpbjqdiebctwhb[gwnbzgajwrorqcx]qoqdgemwbkdpsqgjds[qgozargzosdgbgo]hbsmqrwnlqsdans[vhppwpwwamtuurulc]ylczevsobuxtdhvyg +qfixarbnawmgjcga[dhgdmxcpwpvycmwl]mkqfghairqabhmokxk +srjvnnbutjaeikkbsd[flieajbdmghmuzp]ieimmehrnixqjynp[rjxiepmrhwrmrpi]yfrfmlgakaehvqm[hucfgczbwdpxxuhk]bvgmehildjqbjdu +qcmjtgmmgybxhde[fvpxdzdmzkhxdzjfkf]qfnaclxnryinmvpgr[pcsmctnmmrpxtfgi]oszbhmhynpzqvtxso[qhpljywydqpnksmwzdi]yqwxnvgcwsdwuluiouo +vhvuumgtzbrbgazpo[epktoekzvomswsqq]bbkntocwjpaxaoc[rnlzbqxqcuyltjxepz]iaelcpyexpoqavcbepy[azyksbvkvgmgimw]kvknvptkveiacqnzll +pkkcmeinlwpoupwpu[qtoyfabmibfrubvepwx]atgpzcehuidgikzn +srwntduyxjkpivzkgvl[hmenzrmnnisxgodof]lpuawirahbvibfki[gazzozitxhvxixvc]knbuydfpbjzupju[emzrzykcaeukvec]grtwlnuzmqivnvknug +vzlbpuiceftddittp[srespcesbfprkwuku]bslyxxcynfqywwu +icolypvmrgrhuvj[fgpeakrskxaljnakz]bqxravyjmdodsvhf[cjyehkcrdetiknsttv]dhoghrdxmmzxbjtbql +nowswrulawbgqkmcee[qsktncayiihoxiu]wtsjxnvcxdriviyn[tebqonpavhbfnwxvjc]tvpwgpgrozhtqtiy[lhagntjbctcsdejajh]aedpfftlvvtmaqneaxd +phiopnkoxulhkaddkxv[ueqfevwkcjwpcmsfspz]zkcoexersqysbtqdpc[nmcsonrswjxvdtuk]xdrsvfxrrdrfdbny +aosrkxvljnapvnux[ldzgwtxmjbynmlp]yrxxllppgosniqv[prtvqenfqapocxdrlst]gypcighnnppaytp[azueqhhtymzpujx]lsgvwvvgctkiyvlc +rketxmupdbmrircajep[xfmnkumekemjnwki]zurvxfxnrrvkmkrhbxh[lsrwyjtfjairiuwbaw]dyvmozkzkcvmunw +crxtvtdwdxejpebbv[xthcfmihpjqbhrvqfkd]hztqefpqdtgyhfzqsi[nlaeacaqscestvv]ylbteskdlwjfwru[morvntwyebnmswguff]othonakykxxajuj +zclhqcnlmxsurcrqaty[stohpulyrzcbabnydyp]veajkekzuxjmecdzym[ysujzinvkawzoqi]hfkcorxooelnfididyu +oejzfesyaxeittrdh[yziovimnkfkadiplm]arzmtikoiveyvlsdkwd +wvdwkqqmnretidj[smwnemzwzqhclpkud]yzguktkwahnuabs[bbyhgwmhhbpbwij]qstxwyfjjagyqvdaexg[nkerjbdjlikfgdv]qortpkyhpqvvebjdzw +apdkznwjfxwdrsm[fddlqepbyrbrfgmyeiy]fvymcxblcjkcvpcyup[szsfswjdzmcabwuz]hmutpmhknvwrlwbvs[vpfcztrelzjnqzq]gqbpttcrakuedsp +sujqaghlxszzfxf[jqybozaufdtanwa]rthiqanlennnowvdkm[elvfekcowitcout]ntjaqinnbwtqsctwrz[axpnqwfjmkocafoeadn]aplpjbnhkrcrbebmo +hzkbvadkdojwmdmdxq[ohmqkaainyaufipcso]zojzxelggufdascjz[zlxncckagxntpzqa]kindyikavjkmhopcnek +yjcsnegfsmmnfce[ueladqjdaqflfas]wcifctlledgnvodtlzw[zqswolvsfhpyrcivk]vemkuyjebqxyahb[ydjhmgjxmruwwmq]cufuqsyyytlgbpwrj +jkkrynqxqlgxukyfv[fugivxklerausdl]shcuiixkbmzymoxv[thtakgbdzvjsjsera]lmpwzqhthoottxvp +ncmijtczixmeyfuhspt[ixlxgrsyxrebpupt]sdoinvpfizdezpc[xckbxvncmseucrzjo]rzxfgqlionzaeocj +xmqnycsovydhyaqiv[iuvymmaguzbrtgs]zhvxodssnpnhajwzy +rqqzaaswdepcnnmqfif[pzkyyjprisjybnnjcq]kqpjhykszghcripq[vgdhuqujrkqljuc]qhtxqkqygazsvuh +qynvobsdeutfrvb[fddgwzhlhryauxzb]etznfbueibykerqfugr[rviezfaehsvigssm]nwhvctxhqvfdmgqe +ihonnjncwrkvglabk[pnjachlnpyonivmjtc]uoxellmcbixrdsisuhb[nkwsdmhisjdqurn]bowvauofupqfmxf[liiytxrcuwwnimdurys]acluoarkxopwppv +ipqsfckjkqxkxyuvxje[arswyomsnfueuwmcbev]mmlwwcviicdmllylq[jnqpolrlwmmccsd]nfobgtdlxveuuldt[uebjwwikiebtttgqss]ikdxnjdmzbrpqqvw +zhjywcsrtcadzdrby[ynasiklerbnlgidest]xhzwkwypktpkqgfyh[fuuxtaekwjpobdjfvdh]jcsrxmtbrqkerkrc +osahjtbzrqukvphpe[guutbgosbfkaurvuf]baiwluaouikebnlgf[cgssqcbscupvvadpbt]lxwmvxorsfcaorccxp[jcqzcrfdkncuoqj]gbgdolqdrauivfnsyti +vvqcdtcodesyomh[efjjzleahiejvczmsd]naeosnsaltqgjrk +yucpovujdwslgdczxzo[fbnfueoeatnphvv]gwegeafilsbwgor +thfmmzylspbxupt[asfhmdmkqwnqppnmu]awoxkgkgtrkdjzz +ghbifboivgelqxkfeo[gtpozhzqfntyyoodc]yjqcvpimanwiunamfh[aglylsuuakjkmqx]edfukuqcchtbhtblcf +qzonwqxjkpwqier[qmrnrkkwruteiijirkf]xhnrnahamaegfla[fzshmzjiczdyzqhwx]acjlrknukkbewao[afpeaepzoljqxcwvs]dlvdxhsoljmqgmvzf +mzibkpddgkilmcwcshm[sgpxutpcqniuckl]kqiwkwdgydpnjcj[exyhorurvawneziiy]njznkaphsmgisqyujms +xgzabblockmothpuxc[mhiwwhtpmtbxowbnp]aucpfqmnquiggenklcx +rnhfshqrlxczmrcz[agxxpteadztvdfeo]zogmjfpebldprrmqg[zppblhkevlkqlyie]mgovaojjsutbwtpzsm +kjgtqizmvuqerhb[dmhtzazyzqwjhpn]knmrbytrwrcsonmshb[oiazannnreojooa]hkhackgpdqgyqsgnb +orhnenfhsjyibqacq[tznvydkguvcwayiwmi]hejujxsitqcaabjwskl[qhpfmxgjdfgtgmy]ahilwlhjkfytezctsj[ewxepeeisacexgtc]paxwwhhpaukgjnafuwl +mhmfziehhppfqoocvju[hmfnlywpplffsxwzg]bkhkauhasnuoglve[oytxewvmknoqchvy]fyodxbpsytyeltnfsl[wojcbkfsswlcuqcz]izcrkyxzjclhkfuv +slabudcjhktddar[cvkvaakjffjjovgus]ahgxzdctihvboiarn +degyynefmxidnbw[zcfgkvupltxmbhroi]dbnaezqekcegyki[tjrnhpsmfftiscppybi]qgyifwlhvccshdiqfx +sxszfjmiathxoqnxg[smizlxpwmelqjlf]etoglecoddmflqma[hsggyxsxkhhshucgtnw]oqzadjxenphyexaqrb +kqwjndajvawmwxs[fskyhhktkilzwjtkt]ufpvkdnhygmuzfsfiso +iqdscwzpnnwehtqmwrd[fqbmsfrezrkhqcw]gqkpkiqhtrjpusoefg +bhwbuaqjofxcbuxrqub[aaanhuielrhxhlzscv]fkgimzkootysfzwcan[svktoznaqxkkibhigju]fmqhtjgxbrovymq +pjybsukpzvvyouum[rzeunjnideaseer]ltquzytuezonpowuhdn[wzwlbeegsgtwpzo]hqivrviswwfsdmpgnz[fhabjemewetsjrjhy]lgbwcozirgljoudhng +ampiucjqxwrzbdtcjnr[ufubjvykdfixyzqq]mcxabdvjzhohlcmcu[xihctxapmjpmrev]mggwuizzzxymhypmcw +pprbxhbjbnlqecvmu[ewuffgnuylwmrcvkbku]bntyrptthpmexiakh[lswyqkuxrfzokacp]rvkhcgbfnjivaagp[mnpbbcgrakjlmdqt]bujykhlbutiiqyke +xtcidzkptvkjakxl[kwjzzydtkvjmqdz]httbqtbiyxwryblrfd[cyjwthdmalqkqvso]knfncfebbbueoqze[zuruluaalfysbnmf]vodfiptptwqpnllvbdf +wtjthnkscjzzqrbpc[eirytrqekucxajz]ghycghnyntrthzkechc[eiylrukgxsqpetjfnv]xuiymnuzydlawjygi +rjrldatkdhvzvgcux[iuhectextisybzvz]vycerefkzhnmdyg +lqftkkvpvepilrmyty[uptcsbeqtmcljaziisb]himkwiqkrogoyhjpru[wxocqzrdgaclbeefd]mtytxwskqznxgpfex[whqbcssppfhqedhv]cbtiuzgbvptcticlbcg +pbotpqbiqdjzsmpbki[zqcshqinikcszjm]xjxijypculvuoavvg[nltkubwokrppvzifi]dmedgmkonytjzzk[obonilwwerhchueuf]mlfqiwmaicuecljj +exlndpqjplyfdbmvlji[fzzvnaszvmpwpdcovj]ymothxghgfddmzqtglj[wyfqyqwrhanponsr]ydpntagauckmdqpjb[icumanaybbefssdjnqz]owhsbdpufodsqezginf +ukfirftsouqdsgbgmht[nrkpwksebkijlha]zfkumnifusjysuzt +uyzxwkcgjfsekdhktx[qhgrmuyjmfmunghm]mgjbupndudwultdnnt[oczntpgnyanxxgdqx]oryrlqkmroilyca[xbevednhpnvzzwmrorm]bdozfrabvamfxae +toqvrteazudmppbrxct[cyiebroauwofshvceeo]fhoxdufwnvmlwhhp[xykvdatsfccxlfmn]zpqqflqttorrmjs +ltkcveeqyawjrryerqa[zxoihtpkswzjrhnbvz]cfpirvnjowhsnnbehd +gdiyzvnydjwhfzrimq[lvieihnyxtdrgrbs]kpotvolpjgjtfiqf[koloumkhoyktylql]cxgmdumzkygpppqe[aywuzxkrvrevgnnihh]uplcpitzxbcqkmfgsy +tskqojnfadpujfxym[xomwfoclpvyejczgyy]lkmawlhwgnpccotaetj[fvhbgpqqvasfykn]xfxmjfyoygcsbxl[ldveqjhkzxczzgxhbxh]tfpibohzhgrythjgqor +xkduagbswofivadpo[mxlqngyjwbqfsszj]xoxngqbxwsttknmtcyk +zvmlodxbacmwvdti[itdxiimzuvluomfxq]ymrkoyojdnsjqvl[dihqibcaznldgoteyx]thrrpohvatzogxrz +soetmauqgsswblf[hlkchnarzzrgjawosj]zsghpkoexwcujpakaou[wvfxggiskbpgntosh]zbohdymojoxhndfr[qhyzatgvedhoibktw]iggjhmravyoswvu +mwjmmmeiclpjmvishbx[dbmbrjcjcmbnqxq]mvhzexhgdmmnduc[yiccjcrvmzjvygs]uyvqfjmiyccasgzlz +dsfwjqahjoozkpei[olrrkslvxvijsyopa]jmzojmvqtzvkhaxukkv +kudhszsgsrenjqcrbp[ipvxqnbradyxoline]srcnihnhywqlietbgqv +eklfpuufieqqdfrgouk[ycxgdyairggpehtkim]sdfhxncpiqxguzlqw[ysjhhepmruqaegxp]wklvpveoxxfyizmf +apdypwjfmxhjgojtb[zojzoufhucunvjr]zjpuqiciaujfbjta[wlusnbuvcffrnac]ecaccicpvcmbomsvf +wenmnejyihmxaxdqwqw[rckytszqrgaxmjpbqh]pngxudjgdtbshebyv +ieyarudhbjrrevfodgm[grmjubbiqdodhae]mhzexlzijmzpltsxjfa +byfyxjxqlcpjxbpd[pdqkhutluqjoelb]pberlwpeqxmovie[zkholwknvgbfxcyymye]askmwovcktpqhcg +ccjcygsnanyvdss[frpxggwvfjuugdysypg]tuqczwtmobkusalqusm[ignjrlsysasfmzasa]nfpomrlygzjyylhvypi[lahpgasntfymdoub]rlvsrtudkvhtwhycf +omuyrkrubieiduzegr[gcigoszvylmdrlrc]jtlrlsgqxiqtciehh +hqeghunlieoqhetnh[unjtmdurovonejpsjtq]xtatdniykzzxpufps[ysaytzqvcxkvimhql]tyfkttaoythcttexrp +ciyuspkrywyyplmlro[myfyzvlzntivldrquq]eighmudngyiwlsme[eukgbrmtghntxpacth]pmvxbxswfexsnkxmm +gdbeqewbrhyfbfpeti[yvyiclmkwzelbqi]sktocytuvyvpcia +gnfkqxrtauwnkhfoyc[msfhopavdyhpvpttg]ewuyaxehxbyziwmxd[iyqrfiudsalpmpk]smpmubdejyevdggead +rqvcsivlxhfyboxj[flvvsnglektzosreb]yrfdzdgvkzgrxqoyv[rygmqeiccgtqqmni]frypfnzvhkzvlabrr +idyqowifirnwhkk[vloivxhtkdzjrbuuzmi]beozwodgehayklyr[cptxwcsgsapmprrp]hfrdeefhyehwwvghgdq[prcadfsulvamytpsfo]tyodjlxziwyqtqmi +tdwoqxlhhaqkdmv[cxayaazioswycmwj]pkenayaygxyrtqrqugi +vtqeqlrohgalpwrqig[bewbjgeryrvhzwetm]hpccsjcgunkysntpwp[yefsyqedopuhssgo]jjkkuwoyvhzzcmdlvv[uqczrglqumshdhkdkut]dlfilxdlomkvtjhv +fezgzsmmxdvhtmy[rrmbxexyopsrhxag]ezltorfyxclstzhp +ytcnqprainktcjei[phwarjaicrgistkt]qdtijjhbywixrie[llwwjrzrxhaqhie]ufaezqgmmdhhzjzrza +uyvaorvuqwbbexmafbj[tnpwadyyakeawtdextg]tiqechjccyyczpvbf[vaqfvvcbrowtjxyu]oqswjgtolyixytoj[ismczyxhizrzbbpscus]rtlaqgqrcxpjgmih +jzamkswiztvnelaqnqb[iptcqxmvbgyaeiwob]xnhehagwcwdgsvpomgt[jsasqvgectyfdja]dgjdtjlzbkyyckvy[fobafodakfhhiem]thozlpiakivgzzvemu +owfgxupnufaiuovcesw[jeskiymcmexnjbxrbp]obganlgvlqdczqrvwad +chsvqakwmnabitpotyv[eqeyowfftbjxdkpyf]cflqouimlafrxuqvh[vgjbvqafqyzexrzhr]mnywvcxtgsaifufkcu[rtjuztroxgmpkbnim]xsqyofncdrvdpin +kufzqdykjclolpveo[fopvuhisayecxlainzx]wvrhymidhtoldhb[vylhmdjqsdhokif]megnkxywjthliwepc +cqjpttuijfdzott[wubeiefulpuuhweqv]cqxbaudhnmrvrigogf +hkzaqueemmhessqjq[xofafbaefryhwyzzuoc]yyzaekuutvjrwnhonpk +zsgyhvutvjmrgnmar[kbxkhssdsmefafntsr]ocjxtkpqmugcvkopvsu[dsdwezhcblqssurfmlx]veiioiyfnncyfrdwyv +nsqgaufitxefakffd[brdfctppxqczvlohw]ntxmfmrsajxuqmo[pbalhistyzwnbfs]inapnupdvnwtlvvu +krtwywfktmbdobnq[msnsspogynsnwdb]efcftgrjdyygncnqdks +rrasplhwovftrffuw[txyylwsjezcxalx]voncsevbgofoiiolvk[axcouuspjtfzsekglc]qoutiffuqnorbpnlp +etyvjsjqwelcdzpnjxm[eetihszvjrmccshr]uskafocfyjorzhdx +rqfzvsuredndurz[ebgtddsixmgsugd]ilczpjzsukpyekhobu[eeciaduigoflustith]ohmscfdomzprzjncno +jjjarldpnxgwvlxve[yjoqlmnvtslexafgvbd]yngfttqfsebrcwtctf[bwevtymxqlrpqqaage]wdcaqtgkvmzesrjex[svnkfzogwcsyfxoxh]hvrsvxcpdxqmlfhb +ldwuplbjkimdskui[flisuphwbiqphsddaxk]eelzsgjnvecwedneyb +busmmdpbgxvdiytw[kwlhqlohknjgwfh]xgmkafonkyzffqtj +ngtpdikbtooilycy[dwpneelecozfzwwseg]kwkwssbtktxenqbnyfs[lekbaoqzpvjbnuvq]vhlbuorxxxxztocuiq[rscjyzvyznunxnun]jhipkmizwfpoxeuktk +leghszcprzadwpwlakv[cauvyhahnjycqgmslqr]pisyfnajcsrgnvkhcmj[ozrbuuodecumxzbsr]gtqbofuoteafyjk[sodglraziyxhcpm]lbzccqgejtsczvj +aiqnofheehbiqxqlg[wojpqldgrsrkqqpywb]dyxygexggvertuktz[iolnpmkijfefcsebi]okwjyjatnoyvlhe[zbfipzfoszigysxpwu]jitbvwjmknigdnlt +tvxhyndcnfrobfrdvo[vwbjbbozwjpolbmlkwd]kzsgbhkshipoxtfp[sylshvahmztsbngdl]emwcmnpjzydlvvknrhn[aarrocnhsmnzqgozo]uswudvvjntlhqjc +adbrrsdjlpyizfgvuc[qoimvkfjruwpheezeuk]gyjjepfgjpnyajypq +xgkzhzjlkwacqnihyns[bmprkvdabnasxzqzwg]hxwyywhnuntidvpg[mvqpemdfnvvdlpul]ttqocuncdebtomizabo +zztkzvwguaggryld[fgkabjmksknxlfhzpc]iysntrtaaweknzbxemc +ocwsupvhvpcgwehx[vnmhfmgubwbhhrmkp]hqpkkwxwwefzojltpph[bvsvcgwsztazzzjoxi]iasiueagvwjgmcugh +tkxywinosybkrutpu[eluxrinxkarduffy]brxgvdsoguiggjfemb[paaawmhcmdxneql]qtvmkmlldspsheyac +vzcnrbtoegbsuglk[rqhhdwpschucsvlnq]hzjzijxkcoxpwhi[glryptoeiosdosoj]fhduvpzlbptbehtt[yigihwrodvsulsrsh]numkgigkznkushjc +oexrobvxlwbqkrigz[nnbfhaheuublajo]pvlstoxdjdlbroezlbj[ykvlcsvqstxycpp]rxxgokhffgyioltc +cstzrhymnqxwtwpnvh[dzbyzhzvaooswlkdrof]dzxgsohzaxvkiwho +hftmeaqbiiefqtwklr[bmqfhgvsfrywauxq]brzoeoncrvljpjqxpjd +vbnuypzeryxltunvcb[ldnuxdvgfcbbysibhop]ejgwhaxwgnnbfide[okhykghpvystpufnxqr]umdmoixuvfqgecr[rkwsaizjzxjgmmftw]czzteyolfgwkrnkxid +nvflxkucsnbsltnp[iqhnmiyolnoxjzjzjvl]ctdsnjzjaflstsy +glmwwqvembkbsnvs[skbkkvnoycklltrnyrd]irlewhaeagdiojbr +gmzbjlrhyoqkiyrb[nezqwphjfpghjubnw]lflopkhihhamygznxv[zuecanynqmvceqxyy]kddyqjerkeuhuamjxcu +kwneigdpqhtznqaide[ncindqlugpdagtfzf]ctutcducslvhztsii +vhjlncnrshwikfm[amlxjsoevzrlkgoxnml]lztearcwiosrcmhfi[gkdbcfroyrgwylu]mwhzhimfdrflqqihaq +wlswesjcluvzurgrnul[iehnkjghqwvennpj]znqbjbnszpnklctx[pkxxihelrhfkiqizi]dlmwkrxyjxaumvtlbc[icgjedlkxpjwmauu]cpbstqjtdebbywkf +yxjwddyrzrzhqrarheo[dcayrrmkvazrzzlpqh]gkvbwuimfochtndis +cmqdgywvwqpfkixkga[zkcmkmqoxmpzued]iaerrfcfhcaidkkvwvm +uhwbwhbgkrzntdxrw[pchhzpiwclaasygyqn]oalmglktkidoijgyg[yugfmrxigwwqldfsfb]otdsjvxzdlsdhnyk +ctjuabhainyjydm[axxsgakjkreoeifx]qaphofrkpiflusbeecj +hdfthabpjjuxgoh[zskhkbvmwkfmqct]vmqfixzmyefzvza +wnihepbftegtdrtndsc[wtmfxwvxzxorhbj]oqlfpicrqpjgvmo[zyvhvkalgcwwjucnxq]ppatiiiatwbpyiwjr +ojaqpoarskgzmtrj[blfchukdercwzqa]anfsoaopkutqfqltry +ofijvkbfofbyadh[xmlicvxwtnufzpn]jetnmprdolywrbmjes +fosypykuipsqxaud[tbfwtcrdgvidqsg]tvmvfhrepppxxwme[qpmrvterftfxchiv]flnooydpykdzrtfck[omhwxcdomygkbaeqrfg]cwztbmysqwpqfuig +lvojllusjibvayrr[izfttqfhjethscsrghs]egzyjonmwdatznvzjw[mfxjaelqslyvkaqir]ckbkobhykxhocczot[oezwabicsuchjia]ivolkjcvilnlsdnk +acytktosnzjatmwue[medgjpfpvbiqgld]rjsbxcwqhrrklyfuu[xclxdxjcgjwkervy]mspnrnsznpccgcke[ptntxmnzdrorgoexbsg]bovvgignwezlpgoy +wdefvabtqsgstwhdxm[otahaybdinlnszsaan]xgjagsgrnziuqxjasw +cqkpuofhsousjfnlfxu[syvkhshtiyisqmrdp]vtvtzgdxigpsxcpdkt +qwagfdeyxorxoaphzt[kijseqropygskgre]tnpsgfihigocogn +nvppsgsgegzthtmpt[dsjjswqmzkoqtihud]toeoabpfknrnwqxk[hgyvhoktbvmdvwauue]pniilifxxtotvypye +noijjdbzbeowhtut[tlfprbqoqtftqnjjs]fwqyyfzzbzjeykhoje +rewfvmohscszlog[dwgnxketzlgefgf]fmvoxbzpxywaicq +pvtakzfeeithcogo[mbktbqqelkzddsmn]nuydimwmhdyhrls +qfzdrtjoipdlwkd[fsymmkclzvcdvqexr]yrhwcyjdzgwhmuijhth[zgturekjlobpmcje]eywzpwpfahsrwpwl[bgyprfkbmyaixrqj]fvhhmcltucokvqba +vbpnikyhvhqnemdo[lnyocyrozyteoxalil]phhqtzpbgpzrusr[yygaktzkmithtegl]cskivnspoecsaoi +obaxlisumjgehbkpea[ehzysfspgzssttpebuy]vwceybunjzvlqevd +fpanvbmzhlkcazo[wfnkxffkzmxnslov]gtifhhnlnnxkeaolr[pwkmfvowikzjctrje]anfzfrtlihlyutaq[vbujdswyelmwoudg]lckbqqgkglpkfnhu +ubsustsojocdyjv[obkxihfxtkbaeusurk]zmlqtgokothiokq +fpgjwchgmuuwpzquwf[xtluejeypvgynbsdgip]nyztcugwqufjpakuxkb[yanyavbmpeqlalnk]tknqteuqrnnorhcm[eshuljurljirasr]supqastijujykowxxhz +solyplfhwchyjtchjuk[wuwirpjuevkxulrs]axqqiqzteislutclbzo +oktlpryceitvhqqjqxq[ufupbpapoxovifhqp]xgrwutvfooowfaxs[yxoxzdoqyhxsiwcxrgm]swmalhlzrknfxgnamr +kmmguldgktbolgarsp[lxrqjtqbuhuthezfcfm]nhyafiyealodqrmagqq +jfowosecwpywmrwka[rlvhxlrwehljixaggho]tadphuxhvtyxkgvyru[kdwmctblkvpkral]ufydjpceosbxpcy[qkiwffygsjragvq]zlvqihgbbhdojkgjgj +fjnehklshlckrcdhxk[umipduxaengqrizo]obuxhxbrybwifedma +dzeftgulomkuwyrrm[aphjorxpuphqsqmp]nnslfcfiblaexsbftwi +eypbooqqyvqucqvyys[rcijvtatnyzpafpqhwi]jrpwrlhuiihzfwt +zikyfwsyxwrtrgdkjh[netvaemiverwhfctosi]xwdoncumksuzsryj +jxtpnxhjudmsotudd[lgvfscyjpngmela]wumifhvbwbmmticp[dvxmvcccimvvcrvpist]czyqdmwoqjgnfvjuxul +fvmjytywcfdqfmfvj[nhufehmupvzkcrtewz]hyxlzunwnjccnnphrsg[hrfqmrewnweuyulb]hmqxiwaqfebkvxhv +peqyzkuviznbwojhtys[svfilvdawzpmtygynd]fpfggygzketpcrrqx +ttcupspyysrbukznk[rpewzuewspsqthbqb]yszbsclsnmbgoazsfl +vwoufilgfhpaqfxt[dmlwugzgaywwzqb]rkwtuggupfsffridmux +faibpioziimdefafugx[unrfywlgqlxqmwtxrb]owzarstubtqbwwjlh +mvgbokjnhpcnsgcpm[vznublzcbsgzahkjprq]qdhqdlpftbetdzckvs +dgpkamepjkfizyaknmw[ctdimkbvwctjqcbl]euwsfdqpvfkrxuwr +rjcdwjzbrqqqqljqj[vsrppwgvlsokgpn]rxpddxouefplfnctudb +lhbnntitpjdtprbd[cctbkujpuoegzrijpus]xbkzdntmvzbzfxljvt[brlovkywclhnnoyrz]rhixzndklgudnxkr +byahaivirlqxulwdoe[otyasqivnfuwxmpn]vzsqfapigdecsmaqd +myozxxksdnucpxq[jgpjjngigboxsoy]tidzlszxsdbqxba[lctczcenpuntfjnf]hzdlcamkehorgpz +uoylyvyljpnzqimzgh[umieqlmcsmhnnxle]zvxwqjbaemhtoexyzr[gjyxtenkxacukadvhfh]kwagkgvaqklyfurjnar +rqzfgsolwpyfzeg[fqbhyjayacblhmm]egufazwxlncxundcyyw +eexntdgtjwjtizhlc[havetzocjnmfnpgzl]rmeusmuumcpbzodie[efuqzkuscnrbxwef]ehxrajahcfdggjyq +ozakiysvzkycefw[dcjsobqhxqyxnvwz]yuoszalpobgzxqk +pterhsdeyetokcbtzn[cdooadgsexdxfzjmo]xdxrkcynckoeirmjnlj[matsfmymdliwcqlqf]llnuahmiztvbbpise[egvzoittbupbbqrvd]bantcrmtkbvvbxi +tqpfhtrunndzpsd[zjzqvvckxscqzavcig]zquncdjejdyzegvcm[sxxdynlbdymictrfspg]smgkjimutkedknlppsa +byjykuzyigqofolpgf[cybrboapdfgimjwjm]oczicilrowczdlcy[tyaduotkhfvyatb]iklhgcjvfdyypdrdbz[dqkfqaadlcnxfofsvw]syuiaqaemufewlijxk +flbmovywhikcuedd[xyzunixgypmuhyj]loihlyylswpxtenh[jadvlnlzdpmoghiir]xbiwlfkwxtthlimngnl[vgtvhphgxfsshkgkb]vttcixaajhdcjnqx +xxxluypjxxutqoozzn[gufawigbmnhtmwhcgry]yaldvqcedheoocj +seczijwqqpigqcchnz[snihttcoqeotvsvxtsh]zzgbjkslldiespjeejy[dxpgxigvppgnnddyd]hcwgvtogqdyllyhkqj[hbkamssyyusrgbg]dnnseuhlwkwnycktlu +xeupsswdnrpzqvl[tmaszjcshsavymzuog]svjeaxmdkgbimlv +dktkcbqwdeomyrp[fqaiihosklfctvufhw]kscgwrylrgbrxjzogj[hqvwmstcpchcqkowtxp]xfooorpnwwfrqstxft[zclwozroattjxczqx]uwnclgxymympirm +yohglmwqjxpcgozvfc[ojnlrvpzwcwgnfbvf]uwjufnumsvqwxpg[wrfczzmahjdxdzhifs]psipfjeacaysvubcqqb[paeelhpmpjlvbal]buinqeedxmiijkxpcpk +ficdlwimcpzelkxcb[kyizgumxqprpckyyh]lcwwypjwqbzhtozovh +bycnifysnrtdseez[xombfbujijpsrccccl]tbvuubyduxnascxjkds[gteskflapsthkzigcet]otggllmgcgfgqloehf +wvrrowjovflnwpjhhrj[dqfmznuqmmttqtdqnp]wevjmhhfmorcrvxvw[cnjtxcdcketvdidcbu]icghhdkudxptbdcdhik +wquydkoyevtyfwqyimg[bhbhiqnxwfrcvqcsdq]hvcjbihyziwvmqr[phnejggzeulkkbdxb]uzpvcrhqhfkdkwvxcku[piqegxvplepyfjff]xqgfyfmlqqgcsnngmli +aiufvoznehafclsi[ynuiezokzxlhzsnlnmw]buhvbbmikiczqjlfhg[qfqcudscoobzjdwfyu]dcqxfcrpnhywlcabobo[piypuleecpciydz]xiendyljklimrwaexac +bmcenbqijebgornj[kskdxdmdlojqtjtw]kqpwfyitjbkfubsh +wjivpitbdiigvkhfpjf[ijhxqgwkoctfiyf]ezeuczihdpeegpnppj[rdcsrurelstudtzqv]afvyxjglfxybwff +rypyyznanxetdychyd[srdvpypvsmzquaeec]qzehxnsvvccjqbjres +disgynuubaeuiwg[qhmjwkqbmmjhjze]zgunyyctwtucdho[xljnbisahxahllyiob]astxdjwqultlphiijvh[zmhdobafwbzdndlrm]hwcwvfxwjynbaxidj +cdhvflnylxmmlsgo[oollmpblrqislxgmvvp]nivfytkylfpufcdxun[bocnmaazerwhgtzt]txxystvwvrsyoym[iafzkvskmhqjdtk]pgdgojbemypqbkofwf +sjtahdwpdhuosbqyss[lopwkbhedbpxtcw]bvtrmrjxtncfnrw +tdofrfbhpawcjokb[ynloiqgijuwanfekxsz]fdpwynqofzqumlrelfr[orxakqzzdjfnzlgywae]udzboibfngqztfguv +huwdaehvnyhbowsp[kbskeavlxslbvco]sekeunfcfnrsjqgqpcd[xrfzxupwqfrobegw]ndphbckizbunwqmykse[qyoqnkrhdydzuir]romctjjzwxjbxyqm +eyutpqnxiqygxwt[wxsiplbaidmlgph]vhlavtrefmbfpdfbju[owuuvbqjuailmgynkqa]setuzkegazwdjyzskty[oaqtnegjwglqnyw]pyizfgyjbebfacjexkh +bxpzupefyifcfhkv[fyllboalhcmvoctf]bvfifvthhaovzixpx[vtppcxdmlfbfgvgolil]gtyweatzcejbwtse[prplzrovjaeczsyxc]jkylsdulnhfilbsqh +eedtujnpvzzzdpgfrm[uopptnavfamhccc]qdnckczikmbwkxfmst +hzpjojvdukrnakxzkdv[gychyosqibeedkj]efhirtkgyzjnrqn[egmuiotfolnlyjg]nbleytvfmuvypkpabt +xadnnqlykhisnky[hvfudohkwpthdtyxe]xumogpuzbvdpbnapcw[gaavnafcpfbycdpvz]xlgtfefhzyskqazl +ohnpejtztddevoitaw[hoixesaghtpruyayyzu]ksyuxpootryqgsfctcx[yoazsorvwpkcrjqq]allrvqctxxhldwwzil[rxxioewpnqttrzaevnw]tjgvhfbpninpzwvxtl +qhapfqjbpzieybx[iobyolfvekomzeelsd]ygcprxtqzmwotja[pheachmbpziycyhykp]yhlmlzbdngqpvfcjt +egcxwspabytsgsbam[hewsugjwdvnywgjhrsb]gbxbpxonzzllmmkags[jylmvbwwjvmvkkgvusd]fxckijyjjwfrmlzp[eiohquiromkekgsbp]bpimyywlklqwdpfasc +iypuotjzbcsafzclwb[mudgawqgospvlepaexc]bsqftdoatnacbnpqk[bxaxwphnmcxlptaz]yhbsqduzzzkviyxmv[cfeyjhtefuxjqndg]rknngkyxrldxnqxfil +epqhofdmbeblgqjcpan[tuffplppwdkoimwbu]yiyfzqemymmtzevrvtb[vzuuiqvvudpedkbdgq]qzkbzuuvgzujipvh[etjfbbzkhkhvlslkjg]sqkdjmgjilbpvmr +cukbhochuhppwcuwwh[ziuieaxmtjrcovi]egmfefvbqztrinknvh[tcrdwnuqobusvhhhuw]llwltqrtuzujeuatp +uegokkxxfybcozva[hwnrfpsyzbclsubdc]kxssypkvfyghukcsted[uvtzwttuxxztqwwyjx]lhlyeezyttvgxgtz +vgriivdekqhhyzgmc[lkzxlushgdqezkwkbv]aqtzbkzcfxrkuwkw[aeubxxnhyhlolauhnu]qphfpphyptbmbvcyutk[xscabrjhmsfredzulrm]torgsvodiuuxkgcp +blygklicgpngtpgcldl[melaiuchcudinutcx]fldhqlhwyjqhgthjsrb[qnvfdzzszgaedjqky]amhauyjuhdistfgbipm[irrhdtrtvlhanuhfb]cszydrvyiahzwegkdiv +yrncnxrkuamoung[vteffidkspotxmwhna]lohvncugddeuevq[ueuixhkoouhzzfucs]xgwgddhczhiovgacg +gowzwidadczncgofqsa[gzkezmlagbaetlf]oochwgecelkuokyunem[slzawxgblqhorfpezd]chugkzdgaukccbeoi[apmckbkkvlblsel]tokgjnxyppksnep +zyqnagblhgoyiqihy[oisqkkmqfxdtvfx]qrpxcdxvmtlqbgvm[rsoqvutimhujjhbwaf]xtdayhoscopmejfxz[sqcpfrehprvngyagm]ecwgbravfceaajqg +nntkrxodbypdodgtj[lnlglurkrynztgae]twtxdcskknbsbinlnnu +meztofjunuxbkfx[cthbsibrfgxjyjawtv]ujhnboyhpoyjprrheg[qmjwvltvyjgntydrmeb]dsbnlksebapwyfrtr[aoyswieertsyvbfijuw]wfzftnldrfdpnmnn +aanwuubqnptyoryyrw[izbhposjoffhknmia]pmpudrwiwouwspqnozk[sojpnvluazibqcqkw]veawduaoceyxmzwbgd +aenjhairjysyrfylli[ksygiscororwmpcbpl]mdggayipjsxxfhz[zrovsdxuwyxjjbfm]vpmedxtfdporoono[zfnnenxocrbtapmnezl]odykztbwvuvlngxkwm +aetllelassgaxxhspd[knioznfojvtrwjtnvfj]zmdmmmgudgcrchsuufw[qowcvxqgjaoptskz]qyrfhavolkmidaul +gkevcmsegjotmpa[yjvykufplocymkaq]yhewirtmatswhjud +kaerzsgqzwhdrlzk[fgmfnhjaylhdvepgdr]smkwpurhnnhaqccuho[cznwafhuvozqolaruqx]ktiyadiryeclynr +qnfeguqpvoiadeipxs[tuodvfpmqdlndroq]ruumxxencwatfiv[otgvbhlyuhtbtyfews]swsjtpcysedmpsgwao +mpxuvhlsahhdmtwlhz[saxrupcdkcfpmpvzk]rctxchvmeqnqsxqizr[isqtziiuucctgioof]vdlchnruvtuupzvukfx +czxihwpinbwjaatnmx[quuiszmtsnqdsugbr]fhhhwhvrnenwekmyi[phwhrltyjkmdffqyu]woxrbiznmygdqbptf +qwqniztrmqkkiyg[yvknzntvwmikawjlgh]izdzijciztugcknoi[mqpjeordqprhefbbsdj]rtwjvqdagpycdsxtd +pyslrefucxvqpgtnfd[guaqdwpjlwhfmmyzxln]unlgsygdedtpfrpz[uxytlfxsaeouxxdpdb]ufpwpasnaiqyqnex[kiulyoykitwlllexti]cvxikzspuywpgaud +rbzuremuvpunjopiw[evldkwtjsfwgvdl]unsafmnksqehiore[ipvgyeheeuobibga]ohwjoehyibiihubwuo +zlxdszmzwikrjfjfh[rmzbjspugrnhysidi]impguvxjhbhtirmdihz[wlpaqqnimsearxzka]fftirrvfdqzoyusjucj +yvzxaecltitusbcfqv[witiggtqtgarfrq]bhnbijcfbhoqpojeuqw +peyeydbwowzleyebpqs[abxvydhobwmlksefjy]hntuuskjfvsfwnmh +gxdajcawzfzzhjbzpxm[nxdsexkhsbaviwzw]kojsiljoybqxuvi[razmescyfxecbmzc]fdayjgkrzsmzngiszt[sdqgfgolavfqmuzqag]uzbbbcwcizcmhntiom +gssllxegqicytbgko[imezntkypaaclprdo]hojadqftyszdiohirac[wcpiroednqmsrywvxsh]gkfmxwfuaykpwmdukm +iwdziuryoqkhqzukcbq[qdoppjrevjmjuod]jewewfyupjnuydkn[ysbuocvxflmhbdhlb]ggjdqbzqfekjbbf[ubywismzabwewsrl]fufmyromzqrxtxsijkl +tbmlgasrsqjxwto[mvoqzbghnwpunzvxu]wxnwrrzdalxjlflva +hlalpnzdmwlhuwewel[uqawlldafxwhejwbxj]vkktsmliwswarsq[isoseemfosjusoo]bjbjwogehxaqhasloxq[oktpqmpxmsnvbnsubz]ekgpiztxkkuvpszb +xfxkkivnffdwrqecja[lvgeafomwyqhlfd]uyvvthewoyqjyoo[dcoayhnhnhakcuv]sfucrodbqeqcqhpmc +iqfduwigwfxgkhbge[qojiewaocberonshm]toxtpcpkallieefn[swenxuejqehdfutw]oaiceeyuhhzpazuyaiw[gqbyuetdmvtttffowv]neqopgkvwqemnrmauc +bbwxyipchypnmsk[lefobpxeokqvfglny]rwdgvzdupkxjhppcqp[onrpulkcgonndkfq]eegboakcdoqrmdgfta +yxeegoeubfjhijn[pmdjdggehnbtvfqkdk]ofdoklopgeznrvssgdc[jidbyndormgpitjsl]ucucnufigpzjuuxdq[phajlefstzyysdkdrh]vziqmjzpeeqnqholz +pnlllqydepsbgkrhm[ltoscinqrrvkdyusds]qwwtxmmexgsfqgoh[uucslmiboquvlso]xmbeigfpdmodrodwbp +jatdtuzlcxvgwpryf[dvyuqxhxkurrpblehq]vowbsishfgkjtvicd[krvikdxyqlwdjjnd]mujppmtqzmeviflf[ihqppwgfywzrqyx]aobhudzykvgwwhirfiy +thmdermwtxojztany[xcohmubhlagpuew]lnlsiczemaohvjhhknx[spnegzrtgilojpnoxs]spnvmefqqzpdfzset +jccjsrpjiyokryde[gfwdanjjnbycygt]iqiuzghicmveelbxp[tzugzompmkteyydyeb]bkvntycebtvjlgour +rzskdzdoxsdqinbmjlv[fnwbduvtemtogsfi]oayebzmwazggkoo +hzpsgtucyxemkvmfxy[duxikzpqdgcmkbl]bluegvpkqmjiyzibglc[qruyknjgybyboyvmrsk]pqyrdevwrpeatgkyo +uubdyuzvtcfrrdl[stntntweakppdrbqk]yoiwxzsdefzihdnilx[vvvsontntjvgcvanni]sqdbtjoziwfolwbby +tdpetsinuufpbezbgpt[hpklzrbaryhnibm]ucetauqranqexnfdstk[sadfrrjazeweeec]jaozzdmvmylzatlon[gyrmfjwewarvlpsh]wfojorkgrvraihwpaf +sarrhlzjldgzhyuvefm[braqtukjacxtcbrgtx]rpfporiksxcacot[zezcjaonoyzxnbgd]jmrjkrugljonkzb +hclqtamrzmzkhhwcd[hcxqnplterhqgbude]kduskujldxotldizi[ashjjijtmbppyhgxo]ozdvjfhxmojeqagmoa[dppzupkveblwydh]qonltaesyzvczgyng +urvfscylyvpyvpqwl[akngblyladvcuwa]pauygcletxnisgriad[ovsqsgvuccmdzqcwn]jjugrvjyydebzrjghae +ohvihbfwdsvpzohtu[qsxghcyyscnxwgnspni]kxlgrkvsbjeomgckk +gzywjgljugwxnrv[mssfmontfbahkya]gfmnxglcggnbrpvuxv[poejydksxougrcw]tiqmbdmjniaqnqgptk +hillvlrgjsewmjkoha[iighatessfoqwexqdc]iqwztbnauifcazihogj[xgovsowyvdafqch]qfjgljkcgkdmrnlrrmv[hnjcrfgkftyitryole]muemrwwikauccsregut +vmdrttktgqkyovr[myycrednrrhozjdhiog]qrrfvxcqpthdfcls[nipthbalwkyqrmqy]xaprggoudqizdkqu +ofmohzqodnueziyemx[njkghrspckzhduwsrg]fxxnmxloclzfmlkebpl +naurkqfrkpbbfkmbe[cpttgjergcoemawxjtl]cdkngakkemsmtgtwyzn +xtwigprawkooqitoy[dzapkodeyqhkixy]zrtxkzjqgqeuagdie[vnieacbchbgexzaf]ezbpshpznqosvuk[mcmcfwuzlyodiqez]bojvjhtatwvmxsxhkbs +muiyjlnqtepriyly[cnrfxiwdlkrqsarpc]hdlysxsdtpqxquhnz +clmaeawlvsluxfrhl[rayxcpbervctzew]syqcakahftovtzcdl +ljjlywtzejfslouih[hmsyjqsqljnppyv]bxdissuzzauueguk[xhyiqeotzpbtzsrd]wapoxmkfmxhbykdv +duvdnbsaqzqemzc[kfefbyefuptincfaw]jhuvhgdqrnjwmlfrmr[niprevfcbwagwvewhj]hdhrwocbqysjstefldo[uelmkdqczcnlmaefjms]bwszcueianjsjhiywwh +yrfewhgpkihnhct[pxzsdirhdakahwdxteq]ygayoyiuikakdqo +wjrmypbsxqajzbtwl[pvltruknhkznchej]ypobvzyforzyiihvzq +pdchmvgzmxaspkcwkpp[kekolrkqgqcekeitv]xwpjbdcxgoelowm[wxdhdpqotthaeay]ovvuawitaqelckg +fcqvgochyglldipl[ryndsmjdhqvikwnexf]smwbuebgfzzmfftrdck[ynaegesquznhgmisvri]hwbktncquitjaqs +hcbbiznmlcfgdfjtgc[xqnepuustubktgck]jspcsloqtblxprd[mudjqeoagjqcfato]vgguzyxablhnrlye[rvzjejrpykdzzqcpgmc]okcylioamjhremephbh +ihlcdgalqwvznxl[afsqmxduvmdjftmrjeq]ekvaovqjvajxfdutwhv[zolonpiqednbtfpsrh]vurkbqdeglqdsml[jivoaiwnfpbgbzzc]neycassstykebswqao +bsgrhhzfgwsgzowrbj[mvkzjwkxsuwxnioolfq]yobngzosyzkmgrphxc +edoabezjjyzijqbgxup[lcxkqejwnnslgykokx]wihvmpynxyyhaysxvrq +wmbgvnekkdivugwirt[yuioeaoerarbpcmbwk]bdlohxkfgdbthtxlc[zqpipkuumpyyioewz]xssqnavbegcidoenex[xvcirztjwasastitiy]mmcxttawlbzdztesk +fmfwtjsguazrodvdy[uuzglafbhjlwujwr]rjttgtqakbrloqs +mjtlntwhjqjoxsbhk[adswsdpwqnvqtuj]uwzfdezklxcvhvhb[rzmgufbrcamkvsl]imtazflkqvdgqvfthc[pvktfhdynocqbhqb]qjtlmgsjspdfgoazn +hfeiexxrkdehqttaam[uinfvckvhatgmlblj]rhksgzqfcizyqqx[ofgjnqhqhveobpzva]qaxdjvvaibeenyuzpzl[ktwkynazrcnewdnb]yzmotgipaelgbsahicf +djhinybbfbbvidnyest[zougucdzxpenqpoi]vvxbocdotanwdrjks +poulgwkphlvqfjplgw[enhvwdoftxrnowdy]jfepitixnyjgvvl +agbtjztsonrgwzivf[igqgvjqttujviljk]pmqphqrfzfdiinxhy[hjpgkjjwxgfsiki]fqgfwrylhecwcoowxsi[fygonoznhkmzcjcpm]nwouwxzbpqmsxnfhedh +fnukiqycmrzcije[optroggxrsbsokabplj]vlepcfzbmvrqptyx +pdteouejbrhsicugggj[dipcyddhrktybch]rsynpfyiklwyhvlzoxz +yuxxurstojjfnoft[obornuhvvdtcyzj]kivbosojivpliva[twgyjecwqsxjmgi]hbphkpnfffzpbwjgf +iuauoxmsalkxobrgb[blehxxupivauaxkahxf]torbqoddhsksgtnps +sjgwxpuwloyujust[psqoquaifhrgmah]vpaddscloldhahh[hditsfewhihijrpf]ofjdasdbjvfrwefs +arpvdepqyadnevyphg[kbpdnghrphvogmn]wrzcskupnydzepdmxkp[beeaeyelchimtyrq]yppeqczzpjsntfytp[aofegesxpscjbehmcr]wkhyeeykbgemqgcynxs +ouluccjlcbcurdpkzg[flulmqooipvjzhip]qkxrrgvodksuivbspr +zfmcvmwchidwtgjmpoh[ecthaqwuytzvxcfk]pwvwrbzdjqdtxlq[fwbcqsvdosnolronvef]sbroultaoabvbtvh[ziihpfydzrkdqsz]uydoxylhbdlicydahf +wyvxswplnabvdoeshds[zhrpmmoiilsleemryd]pgkwuzialwbqkiw +ehkebgpllhheumhf[pfovxzqmiqoxdmywhc]qpzsvhisrjgjfqnliw +bzizropqhokoukoxz[ahvweuhqlrysrwu]sdmyzgqcevcixtomzch +kfyocamgrbgzslp[bclztdzvmbyetlgjk]llzxtjeauatwnnpkrvp[pxshjlevsleipkfkmf]xblovddfkfhviqulap[zhqfznscbngsaej]rjfncwzuuqwowdhfk +biaunelzsqaxohte[zyqygmhjmwigxsfi]lmdfmblocglcxaszya +ngxgqwjnobiygnm[jnhtcpyfpwpwkxapib]lyhgjgvcuwgbxgxwn[rovvgibkfcahiyn]dyojmojklujquiqfsj +tqdbdrqgfyumjwktbg[weesraucasfagyailb]ilhskphxtzaqesynmi[stfgxrouxicascniwpo]yfkxnhvrwkielncq +twgbfgwbpygvbfnyy[xhwmhyacxxleyadli]wffogpkjkmysxzlmpuv[qnjizoqydldcwubtux]askyjzovxsalrrgo +yunqqhjmfpqqycv[vamwyuzotttqgdzgj]lmuivwjmlbeqkay +qhquozlhiohsyzwv[utxfaionxyjgcnpulf]nkmfgjxfobxmrydyic +wehhwiznslzkyncnkc[dzxeftrnxfhrwprllke]imknddjnfrzanslzdz[dfqldjhkxhowubxs]ojzmgmludytadwespep +rbkqkcqoxrfczfwte[poemreldxewfaif]vehqkzgxcwmvocban[ffpechryektpzbdaivy]emfkcgsqpqkqxiitol +eidbkaxexnexudiembn[xyiztwlbqvoavomnlwv]rrfwfdixzpzvwkhwlw[kjinrqheqjsynha]pilasnmhghvvgaxor[nrgzhlsetahyskduscq]uazoholzvqjdaovgjr +ynlcechniybypvzubo[fupezmnrswguyjysfj]ckmilshpttvobgoux[hybhkdzvvhelhyvoynm]amrybybroexntrlcmvy +qpmlcmgstzjfincjh[axvarrnhwnkyucrz]wbbpucxtqbdjxsug[tutypessbhpshlyt]wwlkakvsggtbzcz[rypxpzrrmmohyowkja]aeuhylvosccpatslhp +hrdlnpgexbirsepd[waphktwkfccnylxg]hgukjgxutuzfovpazhx[jzgspycuftkivlpx]bhfazqqagtfpljr +ciyqjrkwqlwtuhh[lknvhwchhuntllyvjb]ontiepkrlphiydhyir[pdcojzrccoatarrqj]rwmyqonvfiexmbnjy[nhknsnxkwatatfhwa]qzlqiiovmuukmwypy +tjxbenxjlgozxrtqdp[fqimqatlktqjwjdzuoc]fedjvxnqivqaxkvcw[lskccrwcsxulkabzp]orszzlxhimwlzfawjw +yufbensvlqaxthui[vplidvdhajkxfkledbz]uposqezqxglywtlxgg +wacgjknueqomqccqnkf[erdhexyxtcmmvhums]bnywbavxkfzbqwlppv[bwdbqoqfxejqnsgjd]eafoepuyabzlznxw[etyfwvldfchsrdsjyec]apzomripffavakswd +conwdmtawpjnzrjlkrs[lfssaruafijkmgdp]izwehdqwarvfgxi[stkwrpsrwwucxlrpvd]sucqudlqvvklrfdgac[gelbgtycawlilemxamk]zmdjppqtsdlqfbhmm +ufwwjiajxhcorfa[hrdobejvqrdojftlnj]vamxyyehcgnupky +eonddfixsvjssautqun[kktlnrsxhmhwisd]drpflrvwelqqmdrcleu[vefzppqxcrtevyv]yeayirahatkufcjvax +gipuuaoxlxfkqld[kytubcrnjxvhdxjto]kwpqrvvtjopyigmq[urijeznvkopxtgkd]infdbnklnolvaqwwvo +bdqprkxthvsgqlp[qtcbdifrlnjdpxrb]xqmtwugptmssrivqb[zlkwptpsqnljxxod]esxomobcnfjuxxdmsmc[tifraqareavetzrpw]dlpsxjssqzyqwhd +ylwhvgowletbcqjgr[tnhoxqhrnytlbnwifx]pyzwjmotosezztkqd[ejfcslurfhiompqindp]kvbfdwfmwkiswfm +bqlhxpzchtvwcqc[jhpqckkyntskugvua]ylakfwmlerklrxq[wjrmeexzlljednrxho]rdobmdgxkucmdrk +ehtqwbiyigxjvkp[qujbspkhxogjrzskfm]qebesubhovwonqudy +sjqrkysnnbgtkhwe[ibgrjvqztrkknsr]mnbkbbxvfhsihzkbsqz[hxxhvxonqzrgcant]kbkvnbphoymseakbxjf[yjkdvhsscxggtyyk]tofzfukarcsahrmvs +ndepmgjnsgfsttp[rgrcqahcpnsyknjkd]uablhivltavxssnx[uwjmrokgisrjukeoh]wollclyotaektyjg[tzbziofnztlojbros]qvbgoapfzbecqwjsq +lspiukvizecamzh[vgaxbxgipyodtbxb]qpnkwuqxsgnihgd +khdzfhioeykvnvxuhic[lhfxiidbrwldhvfav]rwxsfwhshazzaxvk +coaljuoxfhvirzhedxp[femqrflktuakhveiiye]iabhkrebiawlktxmbr[pzvgzzcfzhswxitunrj]kqpbmoluwjetvhdcr[tyqdtrnkdmvdpuf]skrdeadiylehnbiyvws +qimxmesehwdrqskwitd[nvgxgwksihjcplpl]bxnyyafyzxludvyehd[hswtrhxmggpcpcvew]cucgudrfxfbietibgv +moiyvifvvucewfqu[wuzvazqcictmsbtq]nktfnkfjbsejorafo[vfreizeqljwshfafwdx]xrtbsdzcfkdmskiiuwj +kchuwlbokzivzlzvib[izbibinxysyjrvtapis]vugjoxtigdmbdqjn +xbclcahcqnbzwpvshao[qkamrpzzmssylpxb]tjsufvzaorutvdu +hraytavipeznkuoi[jmllyjddfakuxwfsx]ofoxhbhnucmiztrtcji[vebzprplbxwqnzllu]peaegqqeqbjikxff[jxzebruqgpoqmklz]liakpsmvutnpufovqlq +omtbdjlfagkxdlntz[mhwuaqvyldixapgoaec]aghmtjapinrxlvem +kbvvqlrdswbturvx[qpkrbbaxhpljnhlytou]xsogoxibyznqcpqgygn +orqcxbycauryvjxq[ijorpddboqkyznnnm]rvildjpthqvtdrzcq +hvttzyckbqjbyfdn[lzeulxlidymszjl]wbbmixifmqzkvypqola +eizqnqqixewedcvcit[ohtuntptfbovbsnl]uuswevyvyulevsfnw[etmfugdbznyzikdtx]euprxmmhcrdoefvfjg +pvxjhbwdlshqkth[gwmtamzhtucvbkmwacs]uyephbahzeptqmif +zitdlkpouvntzndz[iluwraejfdnwafe]fuevzmqlsflfcht[suumoqktussjsze]dawzltubgawnahpd +krskxctpuowviqiqxu[xunkhvqyyqiqhyx]rcdhdjoqrutobnjpimv +frsjlbcvuwydaobhii[bdatbysbolkcpzcxoyf]lwsfakbmjilithjrls[fhozecjhruquesmkca]oorqtbaamburjorhy[occzlzfhekgspeep]lilnnsqheytwakzah +ragajrztetigfkm[egetcjedsnrseahrxr]cblhtdmtcnoaank[fzhqephlcyygbwt]uyqlhhlhmnfyfcts +nklzxesmrrdlzyakdk[pfexuhulnvbmndvyat]xjvspjnesqugmkngn[vmzvdrheaknqmzyrc]xfncycggjiaqvirfvnn[aqeinzmbaijlafd]pjojbnvismokshrs +urteecaminrqiohs[rskgnsdfpksfznqpphc]yaxixbacbtysdrnwixf +ibvmhqpmnpzmghdtdpo[djdzntakacvezlr]jtdoweayvyiaskblc[qhwimwixemjmqsu]rzekezftftlqqovnq[hzeyrnhbrrducxz]ceiqewhcqqmqluro +joqwthpcrccoovxrvq[qjlcrltwaxkjenbbql]ovebjdqfnfkomjpswn[qhwrxhvbaattcrkvff]nmytfcchpqktagojhtf +jeeuutsrxjlqegcdlrm[chrtabpzdcoetzoopc]axdhgbwmwhhlrvc +djcujdyidkcgwygy[zfpuoobkfdetgiifrpf]uxzlkhxzqgiuyvuc[gboovijloiwizfuuye]wimticbreszjcpsls +ylpbdnvjaavulnhg[novahskycjcruokxbrc]gzsmxnvpupgxwhx +qdarjsoimlwxduyp[nghlzeghibocgcbhqb]vuoixghxxsxftuztlxs +ikdnbajyzpzbtzjdey[fiygpvlyluerdjvcdc]hheswtvpmtvjochdsih[kmjnhhmbpokaxsrf]byzdcdlvgyorjvkujyl[ttxlhbnifbfgmvs]onytmkodkklacgel +rcpgwlbaskiorvxhgsb[xikxwyiageqvilea]rhkkzuqtuxbhuygcxya[prteqotsqfyypus]mpdedamsijgmdktn[ptlcxgtlxfnvychnwe]mdjujbmrytfbzpslad +edjzqlaktolcrbwboup[bvmtkmfmidimoohq]kpsgyntrgidclnq[ohqjnvirkjlmztem]smtywugfaobbpvmzj[aksdrqczxftjrzuylmm]ffyrsvfwtqlmwbw +rkgutyhaonmyick[udryocpupaohqhrmmsk]lmusznhxbkbagotha +ebtiyamyxtfcakoku[tfggedpatfzjvirou]iwbguywvekoline +vjyzycrsfycfrookru[iszkkyvwngsskic]bnnqauaqcfxctnyofoi[tlegfofrqiuqlgkld]biryppugzufezftpjra +neipbfcjvrnrmpijwhq[eppjsmrnolpscnfowe]crsmezklwmkbysajb +quwdpyfsllgkwtj[ercxwsjcfkbpohokuc]isdjfklflnudrjetf[fuxsclqmfyplxxvao]xflfujjqnglxzxlxz +vfxrgmnvontljaodk[pwtwiqibbceehlnhf]lwzkbshrmagzhwqyq +ecfthornfevsngitzhb[pblbvztbbsbsxxuwec]jtjnnhwkekrgjanoxbe[osbstvuwyjietzx]xiordmxphcsjnzfnrwe +tcnlllsrvzoxupp[ficwiahpzqtauuk]whxfguillhkpxitoqq[ovsdwbddmfojvkqrxb]bfagfcimddodrtb[lghczsmdqufswoayezk]ctkmauzrnhgotbibbb +qahnaxgypnpjftgu[bghbgwqxwfnfrcybzd]qinmtddfxbpkhqnna[rheeshzhyxfbcfxkd]awwsrosrkyfqcvtx +siffwvlfljwbcndns[cawuqwatfhgwsphjn]twfwwneebgzxmqyrhbr[awxuvozbhlohuaxim]dykizkumcmmnwiwdx[dikxuxtmacvaxiwih]mscklmepmcgjemwtvv +nwnwxbeggraucwj[ygdjhwgskclfginltdy]ngfxeqsonadvobrnwne +ceulusceecbvzesfpia[etyucdrmmbsstudbfo]jjzwvaqsiovrgro[msadpldzcxurzije]mjrrrqwmyqxpdgmp +aiwctbwfathsnst[ymcmlyeojcaokgf]hchdxsyquapjjgncfq[adzpesdwzpvcksioys]rbfqvkxsicnkphd +hnbounecoxhinavuro[tdytxmzudgjmyxmm]fovpxazijvtvirqfrup[qbfsslqkpyioabrzhlz]htlcbtysbfxurnuqgs[nybjnpqgugmtfculk]zxdfwtbtbvhxyrtcodd +ecszlqenzswzeujn[aymhmhqkvzbuabtr]qasueshfbfducoit +bmvypnceplfbhhsko[eypvaebyvggpcmzum]ycwgnjvrjmdrkiao[hdkledypozrgbkexls]isuydppzigzqtfo[onvsgjzwozxcvgkukez]uhjisxtizfjiaebue +ljvtminczzipicxg[eqfvilzenlbztef]hpdptelqvvscyfqjbk +kofmsmvngqzdobeg[atcxvdptaufgfpec]rbyvvgagylqgryjmdz +qrqirixxxpivzyxidp[vanhxwefpeffrphvwm]awiajngjmxhscxctxt[hnmowanymdizdow]lqjbxcvbswqatxyp +baeknzdxlkxorrfi[tiqhvwvqoyavllfk]uqqdkslrjsueklu +usgfgiqvoudfsdyov[unqciexsmnreobavmoq]kcboezrfdmoqrgg +xrqjdugnwddstnr[gbnpzkldpjyfady]edvtrvipwheribydmaq[mwzdiuqdstogfjy]owanzbjqvaqgsgf +oumjseobbaxvipit[ukwqpfaqohsabpd]twomizennyccksgi[hszmrfksmdcycyda]connwmiollbtvgh +skyizttcnisqncq[lcxdhawnbdbcptj]ocvhdptvtfnwqcdmjff[sqbbfcaufseolqwcjt]xlnlzmuciirvedlni +nwlhzupppktailtktkb[bzdpulmwswdaqrv]kncfgfqmxoohevsxfp[vgabgahytpqzalhap]bbubtzxxzeysqyqp[nhpmkotpzfifrfpmk]fruxnzwuvonfoxc +yedymyfylbzvjfwst[woezxcgsurflqnrmvt]qsiblcwatgywwbktdmh +gnbeeaxxlvupyacdpl[dhgikxwvtnhllqs]dzsbgvmgvhcbygjkxz[qmayyikkpsqdoukt]kdfbifunpwlbhsh[qrqskqnysxtloxs]zudxossasajrdeanct +rhftgsygepdspzqbewd[lcmdbukbzwdesfroixj]oblwwxyfconxmhefjow[fvutwgcvuaemgzqanrz]xtiuegikggcimaobg[uhqwmtpowirexexim]txoyjvcawbfxprxf +viebpcquqeagmuavf[kxfkxsoijrjklkgtahh]gdxrwirjrvzjcykax +uptdisvspkluwgzkti[omvlmaxnyxyzwuian]pmieocovsvpfcveurx +ejmnzzuuduhzoze[xrdlxozvhgiofrc]sxtycslunhjmvejtkd[pakbfwkagujukiybe]adudpcxmlamtkwak +lqyqdhuldmtwbvydji[okhzffzbmlvqiko]wdcicvzpzkaowwqnztt +imnhospjiqsxihx[utoykmsvdetrkdxvzti]zgdfvtmfjggwyjef +lwsirsmcseswkfxh[izotdhmoodsvpsp]jivuksxahorpwcgxnn[plncjtzvyamfyxzst]nnpdtmoozfzuemdcenb +puavooykfwvhwzmkglt[xutftanpuhgsdznc]rvzdveoxydbctczqu[hetpqpdgohitmgtgyp]koiwybsyijhmmqxesqk +puivygxavmlrxwkst[qvtxsgezqcquyae]brdptsxbxnobkvcqclm[ibxfeuecufosgtzhxg]vziaqziqriftdfrpnll[bjfubyvxxrbsjbqvi]nnlbiuncvdtnnarm +tlzooyjugzfsomi[robsmcwkpeprtatddr]taktjvhztdlygkj[vbjvzeeznvmamus]sformulcgeirdihntt +zbcyicsjcmpicotmt[tbrfctpfnqspmvnv]edzcoymhzfqwbuyuyu[jhauxxgwnguurrviws]rfkagjqfdvhjiavoxtf[zdejarfvfodyslh]pzjedvtgzwflpduq +dhbhmlhsizoeldofqs[qcypvphfozxibpjdo]idntecorhucvlufrwu[naoixcxuqlgsytnt]ehsyusyugbmahyrn[djtckrolqitsztwtuq]urantneyeodhvorgsx +cnsrdanbfjubsdd[nwynwjxiyygvgdlx]gyyuqjjvumvquvzib +otivcdfzmsjivefwujc[yiveblxrayrkmfjwd]mbwaroznwihbnbmjp +fwanqgdmtlsezhtvat[bhxmmztvspchqvhovae]cnjyjntrcijkmnjwnlp[rziosbsufkiamqmqnmt]mvxhzoxxibbkezhzlks[hfessxjoefqfbgxhc]kdgmlomxtdfgdgku +ygxiiehdqiqtqjzj[cwbddmmlczrgdgpibge]tartaeajmndarksakye[qnurjchyeijxcsdpc]uguxoncwdrojsyszsib[mlwwasmjacumzfqr]sguglzsozcdjzlooexl +ytyzugjtaxtnwxkns[aclewmcdbbbwyyu]hlfhrgrigvwsdmdethb[osohbeuazmmffxyeq]ygmbsfwcmyqowdvh[pqpwyutdqwwunfqt]ppkundibovmqwjwyll +vcrftmfliijtpaqsoy[zcpypxlyshsruwbclj]mnwgypyvzdxnnie +fmfdmvxkdupjadbxh[tauggdjujfbeogtsgzs]pygzoyudakrlrlba +ysxiybmwpoygkyle[xaaughrlqulsertp]iukezabalczvwieegzj[wlycqpkbqptraajl]mjevizxosnolkxnfwxc[veialybabbpytrf]tpgpqighdqgphcwoysw +cnxnptbcjhgrxrtremt[tjguyerqizvuobq]honeukqpcsoiapswdgs[hcroutdslvvzypfklj]owxcxqehkqqyeflgi +ypgeqbggpntconrgr[fmsyjvaninmkfqekne]ykrmyjpfwlhnsvgehop[gvltviftpcixosamy]xlsyzevtwaokuvneo[nbfcynlfsbmmweiml]nxuzmhrwlucgvfy +zagsvkbkhcrkvnukl[pyfiiavqjgonrarga]antgzbmtohtndzgf[gkvovvdgppcnyjifrc]lxdhpometcwlkofze[fpxwacqdussynpwd]mymrmftjovoqtkuae +xrtjipuirgczdlrrlnu[xdczaqvzsfgavmzq]luocuzuztdgsyxbcy[agpcmbiyqxfntvnmzn]atjschwzmauidumzxru[gvmmftvwtfsvudtd]vhmononuocptbuvorau +fzozmcmcymohndlq[rnrgxsywctnmxxd]unfjafhfgeexfykym[xnldroqvnecyhhcwel]wagagwcqljxduzebjeb +efvejswssxdrqggx[iqwwyhgngmwzwsw]dlkdcjxurmpsoceomp[scbledaqpgsgynjo]rsdxazcyjgcubfxlbb +rlkrgjrxefztgtho[tphpsircgzsauqfew]ridnbmerksozxzwx[lcqwhfgiihdzgtgudp]whskzgdpjubkztb +qbtcopfgkbhzhhglhh[ostebaqylyggiyfptkw]bbuaatfqlpxstpgwg[nydgrdgyazzfwlagrz]fiiddplgxeyyntyeb +bogowskdtwkyhtdpzw[uxvrferconwfnnj]eukencoekwwahhefvs[xtrpjeahwpxbwgogfmh]axqvtgibzojnfcku[zhkpmdtwlogmypeqc]jzqywlhocshrdrlgd +rdmpdlidbkplejoikjc[iqzadghltpndooanzp]ltizdvolnhagtlvr[rqcrkoaqwfwjpsrj]rtlcwqisvkznpvrjrbi +ndbtkvzkgjsuyfibsn[gbfhvruiotbnbtvuxaa]xihrrhcnbnowthpdge +vxtgjsiuodbsuhg[updgogkqrntiedefvh]xwgrhmgmpzsxyen[tbhogopfepprmtewkm]fmrtnudhysikudz[rrdmqrctpwlcykzr]lpbvstnhcmvnfcpngja +eoaqeiqpsqdqkdvia[pdyuqgwuhxfiukmpvw]wsjyvdabhrdsxij[puikfklqhrmvfrwomu]zvbbuuromxgpnmpviw[fvfilnspmeoxozaba]yaouxfprxpkvkit +qpaksrcracxnyuozqc[evqvzzqomyzwufkvxx]vmbkqqkzjskcxbmbbp[alqaapbcvzuxchmaa]pzxrooiyfqprfaucxue +jmjvvyxljzznmaarmau[piytxuyakxaropkfnfb]txaaoeuvlqiwynhqlt +yrgxyekmldicpvo[wqcvsbptigcqvzoet]jjwvbjbshgmwttac[ymvjkuxxoojchqomnj]tsapoddljyrehrxrke[ajspkmvbrzxrxlpzw]hwymrguaqnefpsza +dmlshfvkrzncuuoo[fddyurlzqbpqdidtkrs]kcewmacglikdszapy[fltgxlltlvysvylrl]rgovwrvccixdullrof[bqkrpxjupbbrdnahf]ebmiiwmxkutltuxwrds +lzklscqfbovjmjbo[rhwheqhkaseohohelh]msyobgeiybsbyucus +olbjozztfeowxftbsx[oefyqpxsebyfawerwwb]uyfpnsvujqenwouagc +hwhbihujnzgayah[euifzicfxexpxir]lpgjmexgfyseevwjpqo[nniwslmnmrgybuelwb]khkudtujoigkyyjipu +okiwsdqqwbijptpjzl[ktibxjcdrjvsgxzlgg]cimquzswgbhabcf[gictypilnrboctfwls]oiofteanmgnauid +hdwokqbmfofrujxvf[gcrxxfsxmycedcfr]xwcmtasmlcvfmezvtk +gcxgyjgbqhtcqznfuoh[yitqnwqdcpkgwzayq]oqbiabducwietmxira[kuxdaeohprtnmpfniab]wddlljbeofkomijydzt +gnxobceomvkecom[oedsyavphnrvulwlqfk]klkcrpigniietqecrc +bgzhntrrxvjvhyqhf[tnyvbggtjvjfgratfo]hltqszvzgcutrdcvddq +sgzcemtrlzdjijht[wtvzogdoomtmhxcwckm]nmvftmtbucjnczm[hkqmnugntbrrsphbmn]yfvwwzebdqjkryhm[ydcjwepsqqrwnhkpup]tyssdovqgkhvvstvd +buhlborygnuuklh[haftitnpydnilqbqabe]gemzbfstwlhejmjoox[awjrajspxybgdkbl]nrkncxgvjhuwukw +suckcafpmeixlavp[ehmqotytcsxzagjq]vfwmytywcapfwlljl +vblctxriewmbbpxo[xsgdnvmcmfnuejlrtz]iltofzajbcezlpy[wnfixwfqqgseisa]buystfqzokvletbzv[woumxjkmiqqstnt]ciarbpnsahayntnv +cjsgiueunqlisps[zurvijydsqsdtktm]xhlpspwgqlwqfvx +bobcmszgphpejiwlwdm[wwjrxebfctqobojw]hyrcpguihwihhpmr +jlyvxnexbisiiwyjjf[pxpqjtfgwysrewmrv]xcfaninzgmdidqswt[spnysxcfdiwijvfqitl]wigmjtxvsmwlquxew +qqtluuthgrubwpqzr[kgebpbdpqekehnnuyuh]onnyuyxeqstunzueapk +sizavpqzmcfexfocoxn[dwcfbufvxxousaeah]hymczucocssffcj +ldupymvmttlywlxbbs[vsttjksdhwfdxclitx]hfvkvgmtmaxtifvo +tbgqiatbujypfbjha[catabtthtrydcjbt]aujolgbocqymyeqfr[apsuwlktuaukokmldw]qllsjhthoqdlpykgwz +zqtpkzchpnnmyzygsaf[zuokmkcncefsioenp]ynympbineurlgzkdys[nhrjzpmbwhwcsuowx]hzawgwukxrerbljm +navcmnriavzmexm[xdvtpfcjdxlbsyenvtx]byqzubujbhvpwfcme +kookhqsmbrpgpsbctfp[wlbmttbadvipoyrojd]cqmhhdfaunlqkre[gqmltgpxfyljdyo]zvzerdpqmktqmezf[npidrfvvtdeqgzhojn]hzehtqonmwoahdakvve +tanngpmswmpddgfpph[egmymqydmigpnpr]bymycsueiolsfyfey +uddmrzbeefaxbulsm[ieevtshivgygbvsiwpd]lbxhzadyduakugey[sqywcrjzoxbbgadoqne]xngapfdfzbwcrkd[gurtymibbzvsbxtpypw]elpexxrljomuxnybuxk +diqvdzizaoprrpzrovy[cbayiwiifklhjkw]somecbyhptpmhjvkrba[gczcezgzlsyowteraem]xkjkakyvwxbgmybzj[htxdiogfsahudae]hhbdrescqujtyeyo +kzrqpxxtetqkqqfxild[tenlubsvlvxwjgokm]zxfixurqybohvhfa +pjhbxnktknirbwjp[arlmosnekoqwtpysn]hexsbuespjgsrzbvpf[vaacxsepjnqxegwqq]owuxuohhzxqnoqepvha +pumaevegtbjlzsijtf[cjpsnszjnvoexufcgxy]dxngvevsnjzsbuask +azhhrcrptkuqsvxa[hwxldisbvxutspea]tiqwqugkmslokmixx[wzqlcgyfzacbyoguk]klpprvhtplelelsmx +dumehssexnwcppac[gucpccbmtrdgoee]zpcpjjuztjtgxxhzroz[iizviarbucshvccj]xlypepsxxhxphttgc +deujoayipwnugheu[nnyjneomcvpfrvfu]sfspbwylbnzbyqh[innsmlncnbxrbfuhu]tldwbficslnxpkzlrtw[kyfmnucfyrwlvbb]wedvxsifdxaysaw +lcvkjzckpkeyzyjgtwy[osncmhyofupofwscd]rysnhkmiqoqulyu[lqwjsxrgpkpkgxnvhf]ftmywmwfpckoadd +pixbxvhtlxjxzpm[nvmqocftgaxxgejke]npibmenishbqrxtavc[jzceumsoxcyqbfv]qcdqqbwcueyyqptc[egixgueerjonkmigr]teecwbxvwhgavdfjxi +vhtgslxovrpmlojcyiu[pngyxboltgfaskge]eawigmpxrezdxtau[osjcsdhppmqtqxixkg]gkxhhsphrnkjyxgmp[khnpkxghpkaxnvgxqe]zpedrsevlishcdbd +ixnbejxsfmcjmqh[pagzggnbjxxwktstf]hcjdsogfetpzoucuxg[gsnpjjdmrqzojcozi]csxsgebagjjgxqjx +mekdjtrwhgafduvnmwn[aaphpbnxrwwkhzxn]jqzcqvefysuegreqcw +wbpogjbyzelmxqeaazu[djdqdlmpfmezzehvjl]qdquppvgjweftqvph[equcifktaceuqwoakk]uxemheczqpboerwq +objhlxsujoqunmhip[bxpjvcdqedgvqrv]rvycwulyrrllbrxlbty +ckxcgnosnlskecyq[lcbisjdelotgldlea]edcebpmpxvvgktuxq[pewmfvnkiiulfehy]electgrfvkbxiic[emqhtmrsqfbebmykzv]jfdpefifxcptpfzvovc +leyueicungygchlce[fbclcyopnajqvxey]jcwvhehawbpflgddtn[xlozeiujqbiinjlvrt]ljmnnzlebbjbccao +mblrhofhihdiotvy[nfatavuoewnlsvc]gtuqdhyxielngaci +eyzlvgyolwwobcg[vaeslqvdrjthzho]zdakaychskakuufan +ukqgdhxdohzgrdfc[vfxeqopkydlzdehao]cormknsmtbidhgml[ceialgwruscjsapfc]erjsjeuxzxjokxct +szronkojjdgnfzkpqzq[xpzmblnarrtycgglkw]cixtddybdschdshenjl[gflkqtgzlxeesrfvx]erpfhhlwbsdasjljnqh +crndgetyvbvxhujqtu[svhcpjoxbaacvpqf]ohhkqbbwhtbcatwopz[nzfqzdbjhixrtpw]dpyfzrpxayfoglzji[aynmktzgxtegbucrw]igvfejgptghxddj +efswwtohurobgbpvlhr[sbgfgmsrjsrjblwr]xkswzbsgmboecxc[odmohossczkqjwtrdi]gvdjrovgilpgrdgt +qihgnzozzcedhgivz[wfzerbwlgrjbwolsz]ehnxlqolcgghtdfkeus[isyrflbjdelvbgz]eblyrmmkbobefzo[baowrnzmyctfmoylu]bzhtmcwxpcqhubyws +tjgkgtykbfdogfa[tixjoqenpxjbetz]oybvzsgugsucpvid[qukesagikwrrpuesq]xodwkyngdrxadgqz[sigwgfluzksbqqpvueq]rlgcptipyfrgihzn +tbilszajwwosrhs[rewcahkzssatddmv]wtusvesduewjvissr[efusbpnhwnrdjwgjthd]dunuqtpzocqwyqbysak +spvqcisucqxihmincf[csjfurernawvtia]vzarehconlkvnhbpsaa[mttsrsqoluowbizxrbk]pewqfgipuxqzsfj[qznswrhnuvmmqtbq]mbjqscwfpmkejjowy +eqeycwhpzzryclb[mvthqzizihyfvtdgon]maeannxtfakrfmg[xlxbqdqlglfspvyqrx]chjokbtqngjjsidqdyf[nnmqygvepumttyp]zipyquwulqtblevg +etutgnamoiukjadrf[phwftwicxcpgdegzkr]lafqcmydwbvsxlegc +kbwfmffiylhmwisrb[wvoulhoyvagzmgxmp]heupruovkypjtzkilqm +hjgmjhzizaeqewp[fepsjuqdjujbjpnooe]rnovsbmzwqtukgy +rlxvqkugtcovejm[vqlkivalxqfohnwz]afmwxjnymstqmem[ynyidmrgyujdkmjq]cliodisdvotckoatva[ysfxjtwokboitvhi]xfxomfghbnfnkobval +oxsmqxhljzdjqtx[eavkvuusdpcbrlwmr]kkpbxnnmuqigfvbrf[qrfzadqfcladouu]irmuceccvwsazcydh[kvkeafmibmbgpjoc]kgmkohjtzjqnfwxkv +hvvzujphepxjyypzp[isabpxdneywzpzr]rjbcrfhnidqlywbgvxf +ezfeilvlhanyhfvd[wgbqirhrycdzzbu]wpwvyghpwpfykgdt[drvcvbpndcvrcirig]qzcdvhfcxqdxubat +hjkktoruvvqmuauitf[dmygsosigufbzkm]rjbwsccifhzyhqk +zazrvwupbrzlepfcc[nzlsrlgeovdbndxwqv]yhjwjlnravqgraen +fqjubgphparanlll[avwevtaigfdxgjet]mgftlttzuhaqlvwqn[cnxupkaxahrlnjelty]yqgaieunjkxlhrha[xexqcuvkacjayozydc]blhjzcfcoyiozuajqxw +nacvyqozsyqgnvkvw[urqhhtybjqfpqqcrex]pxfufqzfghzxinnnlq[vbxhmpntjgivfgzgmq]vgsmxbkpphhjvzqdirx[mrnmmtbamdhoved]zziaxsjdqjfvqzq +hdrdsknkwrtejdgeqg[wbvycsdyecvuclhi]owhsjsujsqjachyh +jwfxtraepnpxwmziud[qhwoewcswwusdqcvfh]czaiemhwpbkflzqi[yntelahhkwcytedvpe]kpkuxgqygwicxoh[vuifmbkhbycxqiv]cfyzggvhpveafhduk +ngiytctkauehibctccr[coszigxgcttxzoqrhvn]hfrpsylypetiwrggzg[xwnfgwaxrjabzmsqquj]gxdqtprloqdojdthh +rhhicddiuxdobco[ihkmummwydkeoqp]seubufqphohblrkn +sgslfpeleveakroo[kgpoljsrrcfwlwyzb]zeacrfqqaortgdv[yoipuknesgpwoscvguw]ubrzxeqpijxuflgsgpt[allsdtgmdlnupofjb]brnjhlzxmijpicty +vbcaptabloujxkqwnsc[iujlwsczjefkoewao]yqwmtuetinhedenovhm +fcswktnxobrvovrjg[qsaxxwxgrenkdcpfvx]bmivhngglvcwxwgjz +nhmxhadaretplflb[eaaitxsycuqarue]zzdsqhjjnebzptm[znupjbepvjzujwj]djueiauiobywmclemio +lzgmurmbxidxqofgvy[nhpkiprmeusixtqhfid]zlpmcgmvjfsqhddfzu +aziympesgvakqhltci[qdofqedxvlvpyqat]txvwrspujxyuqsn +ezewtaywtinlcbrn[idtmhvforhdxgcdy]ohpcvnchsamehoewc +ayzzozmdklbhitpd[xwlznwdbvtciozoykoy]ainwvvxkreuvsgdatbm +kvacickhqbjjwkk[fryxetyntagtppzorb]gkqgbqhjykyewipbcj[zdaanxpihogooeeqby]lxdkkpostipynvh +nzngguddxyeihkkyt[wamdyvzgrnofprps]znzgitnmvvvrrzsb +vnbogcvphumewlx[cboxtlpwdmfbtfegkai]zlxznqxwahbghxz +stwxjgiqglghaaot[gdxpnepcgstafgt]psljddrwgewawdc[snbjvfbagexsbpyh]wqqhsxerdjilgln[jyqcqbxxikzmrguo]sophymnkilydvivcdk +kihnifnjfzhvlinqrqi[bcgxtjpdyxtgejzrdi]avzbrcqlbmaadrrvazb[ntmnrjhiklfwujlg]pifpvzbirqokamrmd[rbanfbdlrtmtkxca]udilckezqvrehkz +liradbqjmqeaifibll[yrfnryjrscfrxgazpzc]vxmlibidbmcwgoygn[ojkunzztsdudqhma]dvmtamzfaanvyivxqrq[yqypfcmwnezorcnbzy]wytsaklpzfftqat +fhaxbfjherqxbzbrtg[nabthakgwjarjsfhj]iokwyfrrjtwulhwi +asundudwctdvninxpag[opdvadcnjnbxptahj]scynlgwnmzdtmudu[bupcfcyqmmcwsqfffb]rjargbcgxvonfgjco +zwzcwjnudozdektxh[wesqhjkthgohlufhrf]mwqrvudkqiysxokugz[lcjiemidwqbdnohpd]psvhnbkuptpjicdmb[vfoerfpkymcjmhzicwm]pwykcpzewskfmho +zbhxhhqfeurqurm[buuctguwokorlkfq]extdceaqdkokhdaxzqj +qcrnmtdrftlnyciul[qvtjesglscjradq]tcoobnfosubnnrps[qafsnrpijrnjkemz]urgzkcxptagwndzug[olhgasghsicjvswx]higdtidzwjfzlfkmxbf +ymvlttwormrtliwoy[wrcafamahrcipugxxgy]mjzzpdkuowbrbqtmr +swwktdvpgkbbntq[jujwbyzbmzktmpag]uinhisqwpyszittfqe +qrlfgtcrpyanzwfeuhl[sstllbrafqeobsocmsc]gmfmnisxdoqqctof +znfoqfwiwmxdiixycul[tsxegdjmxscgpfllqvi]fhwwrpconfwceqv[gqpboszvyuduzehsun]hmydskzdmmifotkn[jurqmnkixknhmwj]vcjomeocgzfhftqq +wukfxspnkhedqdbtfti[cjcrwokxqxfqbvfatie]eaohmttcidinhxqtcu +usgxfhglhuknqauzic[jlhntqhcyjuoywthv]hbskrwccmtzgyby[pijipgraqquvxhso]hehkqohxirecivlxnvo[lawgvpbmozisammvpcx]vuchsyinsehynzm +dgnciyptfimtrbmfbcd[tedeoxadobgoobffh]iucidwknmfofwia[bbtbzcwjwiphlcruw]ukwczycabezutqdcc +huxitbsdoqaffnlyxyn[vzcnvdddtezaeymzrr]bmovgbcqswsdmjacezx[jjdtfpukrwhiafcy]fwlhrymiaolokojdkx[ftqdrarkfhfbelc]yfonqpoegjmmxkwhz +ldedcblvfbdacsy[rksxibwzdatluua]agxedenvctglzyvpu[qkwulxegyokwljso]akjfktolnkzwsnn[lfhdwjomyhroqkkzk]mtkhpnffxrrwipsrqet +ajwscynjeiagnubeew[ftyzkgsmsevmdkpyv]ufeszcwnhqpwsep[rinrtwoninoxbqvlgy]mzacylokxrhxtbyut +rdlragvdebqlteu[kitphkhhnrssleu]chisqrsnofxmmbegi +sjzglwvefnntfgofuax[htbkuezcjsfgohzynlp]wquzxtqerwxlperau[kqnbhymijqtvtzxbra]tcwbvbockcilgvn +bdqyqodloytjtcylu[xgwgnadrhxshcyhd]qshqmfdqpzbruygmmzc +pnwkymgknqqdwzmymmh[vcnetknxxjvihfrlvq]cujdvtwltkpkzwkc[owjyboqcsymigajgish]bdklpwzslsjvadacm[mmimdikciuetfjeece]dxwoxjenzguercr +vxgoxslogbrjaxbjg[qyyckvarfyidktepi]odfkcgodqdusnjs +nmumnqunfnuhvtucy[voatnmasscuvwjth]grckxjhdzzoqtpgwm[qwmgudaltzavyrchqy]bmxedeqkwkgoqyrmlx[uqzdpkjekjgfvlnfwh]tpsfewpellmljsakhea +dvvwqujegsgarow[rkjpzfvtrtlpcdlc]kvpqbvyshmoemkhvq[hzbtnbzhmgaufkfvwh]ipdgirduhpdkhcwzfid[jmxetzvqbkrhkices]yzrxhfcakriippr +xyijrstjowvehnp[ylbnnbclmipxjtxtbb]dtynyczfzgqozpa[rmontkapaesmlvuasig]qmuqzwqsoipzutdwz +bdwyvvnsxojfzifhkr[mfdopzhxfakffhoudpz]vqnrhwzqbahbztlynpi +hymeoolncfmkblqrd[ifbyrijjwxsjvmhql]vgybqqlmoilegcrcp +arqsuxhcivbxfiuf[jfqqzwkamooqvyj]awbpyjrtunzulggzmh[iipnlkhwzzmzcdi]ktvdnpdmzmkrqavxsxy[dnoqbxknjvouymfz]brcemvbpovqjdvps +sxhcuagminkkyodlma[zkcpbofatowxfdddhv]iydjxsbzyvvptmrivf[thuzxghsyyrkqbjozw]zicredtdvmavltqgeg +qgvauvsmewyfypvgx[bkzpxdkwztxbpak]ghwmldmcmotjcmun +ivnbdeggumwedodrru[ejwxagdnszmvpyxtsfv]eaabhawecgtctegy +nylnblglukusyetuly[annmbyywmkzxoxcubb]fwslxffcquyfzezst[exsgjgeufpzlscazuw]rebffdvzignmrpriw[qwsiovjdtaimkun]utobenmeyrtxlorxjx +eivxnczlgqbmybivjx[zrbbxnnjprbaknh]gtfbkkxqoowynpt +botxfdjpvcayvpxmf[jysydtitavnzahbeg]zwkgkehpvxtocktco[iodpobnripiqifmexh]zpnrcxntqwwwucz[nwrxbbqtsqmkaiysi]pecfziyavdcfehr +bmfbcrmibywamwmic[npcluivjtbtwmwxmx]mxyepxnjdabcuiexhwi +kezzmzrmfsmhwxfhy[euevwjfsullybtlul]edrcskoqqmtwbhhafnl +yywsnxvznbcockrn[fnmwrszfamgerfhocoa]uxfgnvtphthtmeuyy[houdomoboxleqhrf]zznqyqwslypolnqef[ttbcfuirmlnwevhzw]dmohemntzpwivaab +xfrmjbgozdwamlqe[rdrfdfobgryckvow]gzbnazpqaqxcjdro +vdxepylmqqekuqe[hagzuweczkaioxyz]sndgjumcegndnuwwukz[ymkpvinydrrvfare]oplwhupwenqwloy +paikbyhegnbvcqa[kawvebmxrhzszrncq]noltxgnszsqxfbxbrk +hwifnlppmjawmyb[gulsfllyemlqkcws]wfopsunpcakhzkz[fcpmxchdgicqido]tlvnxgdsecuxsux +yogujlygnpdyhkxpdf[bawcwagtpbuwaorpa]noyoqlkcbsytnzywva[zvdbrjsxhozvyrugdnr]yyehxcwcnepivtjntex +ukkuxsacdvwqkgwu[qfhnxatswcchleqaeg]qynrnkuwuynramm +srvnvdghsmgtyvvli[gujzqjtjtrdfeandy]rypduscceqqfodndh[bssbtbzcdoiygtdse]klhkfnjidkombeom +hrxpcidpccertdnde[iubpwxhlmbnofumjnk]tzjinnaqvzhuqmjgzqs[tbpdksrgbhbhscpnns]kgaslrsilgklgukanif +xhrwvvblyiyyjithaqj[nxzhuqjrftquwsq]juvsrstyudnsyjxqpko +qjjtuuqdjaovcgs[klwmohvmeyujgvauez]faqyixqvshgpkrgvac[hzjbtsvreecwygo]vluysvnbqjuroaondag[qqaysmxakrfjdrpvj]lteebmjrrlysmwocpg +fkemhtixlciygti[babpytzqdpoovfy]ptjooannebsdcfrs[ismooacbkqjciwrfw]wsawvmoxxzwzloxunq[wrjhadcbmeslujxk]zckevlidqnpsdordy +ikapdixlczlrtpab[xyfywwygclrvxmc]tugwitpyopgfhucrrp[zjnmpndgvwlqnsfnemv]xeahjahtuyjwjwxfdv +wjbljlhlkfhhkhrz[kfhvlihkiqprhjno]mhceaicjbnvajugy[rvkrsptmdupaylqsbv]nptyjetdstrwmqjav +nqcmyiscwhuiafdyg[njnrwedfdsnzkyg]rsxrirfayriqxvyqthn[alkdpteuyfothxvyeow]smfyaybytdibkus +msvwpibrptekclckgdd[gdowictxfvmjmdtyimm]nlrlpatlusnrqcydh[zqiivotvmzapjjdzhx]eqxxguxozcbzlfkktk[amsfzydattcuqolcoaw]exjpttscqgketzhe +uqiaugsvrqenozqcnry[hcmsmwdqjcoohwlu]morsyizcifxpoyzes[tdnfcmzkcxkltvom]jbkvbwcolkcpkxdlhy[joounotcqahwjvx]teeotmpwnuvnrgdxscb +xsejzfhwsziaedxovv[accbrvbghrsomiv]glmkioydimjfcneh[xejzphhekszjpec]qfetmjhsfagbzjurrr +qwmyiuonuwttopaz[esdvdnqxftkihzblcc]xxfxmkdxigfxfwadl +gnvhardsrapmlpmlg[gmliinpyvjenkrnnh]kovjprgbyfdknmnbfme[nhzmroniytmwwfp]falokmiuiibxhheszok +zcczeqrlhunbfsxu[ifzbbveczjlfwppp]pvtsdxzdoxrrlukmqmh +rbgkskquxcvswaf[xihgvfvaxkptizohvn]tbntgfbhclvkdael[zuxdeparbafjpwqvg]cpfuexhjmkrdurlbnis[vfmoasavisksmltggm]hsnrpmdkogfxnprmvxu +abttallvhutezhtr[beucmccowruviwqjxlo]slskvryjaodaowc[vqtmaqykahuvoqc]valnulizvgiciruetx[rbhcdafdupnswhn]bppfeuexkximknecfq +hlnjhkjucpmxmguhb[gtoyutdhjwfudqnra]pipjkprnypqtglf[phovsbawbyxsuwsyopo]phkewndekgucmrrbw +bikqggafubkrtyskep[eugvetcxkbfuajpuz]drgqdldmenwxyldlwd[klwzyogvokknfwdqw]ffojmxeeurqxasxgf[qdjndihaiuwjqie]uaatdignzrdeyjddxzg +ddjhxhnkcrmnaztvps[crzhufiibsjerulkslh]snirbjgmmerlrucjlv +ckxphmsmljtplee[mbrperwqumwnitb]aikxmbbxmgsmsfgeni +zwmouppnlfbatcigqkh[kahnxdhbhongbfgmtxy]kfictxvtzrwlzvxees +gfrgqbgweickiocqas[urgmzzgkrwpkfhpf]aazsfnctfvvdrrf +sgndtkclbxdovlte[ylbolooanippjrmyi]lfydwbjkfsgdrecxzn +gfypysbhqsgyoxrtxxp[vdfjphnhrphzphdia]ekhgpckheqjkjinexuu +tagvhpldzimodoca[odnlmmdinuwyazwif]hsresddnysmuldvv[zpnjyvabzrktghfvtfx]jbzsfhvzaglqkstj[leniqywipplvkues]zumzesiphmejqufbn +qhkrsmlwyoxfawk[egspgdlxbrdcwvoeje]pxuytqzjiabwebbmu +wsxvnbuosiwcutjct[nzthycbqcazrnqppb]keasqheprjcqwac +jyiifehztqkdshfuj[cddnloevonuheydyle]tftddpechuzfagnww +zyicuknwqxtzzzy[mqgzslkciigsugirbcu]vadteaxyvnpyhwbec[waifsdqtrcbdnvrl]dygogwgquwnouhc +jltdbxzvwoxlherhs[vuuwuslxdkthbcs]ujzniwntplzaaldguqb[zdcnhufvintzrxm]cunexbzfbuzomrv +huikyoqqhcabtgosej[tqbxkfxeqyclgcqqsu]thtunfddczjfocqmr[vddedigjifexfqgp]otvsknxemvtrpbxw +sgukpjkupqmgtmj[qmvzpbebkypfmje]howlgwptfegdnqp +wnomkfqdtyobjkmd[goockdzswfoumhiavf]noshgjhgufjxgxiro +ivzlyzlnqpslrbldxqw[qmlmhingxmcporfx]bccugkqyzoqaqbv[msgojkckxyuihysrhp]hdmzempetgwwycoy +xzyacqjyialgkmmcj[aqenwwtnrupdsmitna]bhbicwoaervlixo[cggrwmpqsyxfoidjm]yawyxhdkscodboohvvo +aoywrlzjkqkzcmmicvi[lhwojrkhqdearhac]zwhrxrrrmfpkjvrnd[zwdpqkomjgjvkcndhi]cxpctyvgnthrsarfhx[clnierazieohvgsy]eydbsvaautujuqqsr +zfozpdjsfxmbwyb[ignvlhfnrdhybkwhxq]qfxolqnfiyokzcbdy[ohvvpuipajnqwml]rybjvumgzqgzfveqjvy +gkvxesvhovzoekxbmgh[hjnizppxqxtlkdj]mqvvrcdepnalllarg[urffyistzzqlhimfhi]yhndztrezwcapskbkz +qbuqvobipnbazji[qypkenwigkvsjhfdhd]pafhisczyaozydialh +dkocroswvahrephwueh[qtiawejyhzlhsnlaxz]yyelniorfgcpgfxtle +uyuylzyqivmpinpi[nxooflqcmtftzosn]vwxiscnnmmujalwegzl +ewyjffqwxipurwkejav[yxcfacgyuuqpjqxgn]bsxufukndbljizkbo +lglancnskvgdozzuuy[eossyfcrfjnpqtim]mvjbtylaisjdcgyn +lxrbvlmepaibubsqlc[pnndwclekhualwxbpg]cxaynaselbcbisw[evtpqzovucquqbgg]lsscjpanobjuqlpkhtu +wqcqpnmdhfupmmaa[qawfetitfsotgsibhg]vanugoxziwlnbda[apowiuucwbqxkcxry]kithnvgmjbuevopx[okzohlobuxbbjxeul]wrcnqenrhpvmxzp +qwmlncrpjifxmtyxjil[evgtbhnhavfwyih]ganxbqprffolbtg[pxidrhwgdqsycynecqe]sukgwvxkhbzolomvx +vmgykxaeppaasupwolg[pqkilujgqcoxpzys]vtmypzwtqecvidu[nolweceicrhwtvov]uevlxruhysbiedfibc[ytdalspbuzpagzjr]yrkwrgdaptnoxcqqr +fgwnpezirnabdiwcknh[qnwczufxpwtomgr]umwdzmivstlmecryoh[ogyfrrqklslzcqoo]yohswnizpisqpvpyu[bmwnspsfofxvrvqkc]itdkhtuqsybuiom +ynbnpjgaoammxaoagp[xkivkmwwiejjbbgk]ongbnbtqtcxqipe +gxuxnshdgyttcjzvk[lsxpwpvsoquxuazidye]mfihmxgxumzfhnm +ngwlkbdsfkoopeugbf[zkcrhoyehnzszjl]jwkxolilixmiake[kcoazkmvlmmlxhlip]urmeqvldopqdrvrdd +hnlkmhqgkitizzp[dgtnogdyumxjgnh]gazsmgjzighgwpided[vaxfshfsqkmebtkceye]ndxcvfbzddvksncrr[clhmftvehwzwljbp]tooichznleiqlksnv +jgnvwreomaddorfbnna[oedwzjkpxolayry]wdkdtjlmdviveeog[tkbjzabxaqxvbnasst]lqttnyqfnirsajb +yiuwebgrrtctqhvq[dmddhqpukxspoiaua]egktbjgjcfzhltkjtyu +sbfvjniiethddwbjx[guajrdwgcphepysv]qntvmggllbcquzfu[qtlrmikwlmlzfpqufgk]tjwivdcycoacfcwwfyl +mxbvlmxjhiorcnni[ubvkvylqtxbchszgp]kzxkzbjtogzujapfq +aezkzdgfurigqcdxt[kkjkjuyowyhylcxzs]maogxmmqteaectjv[aocufmtewquabwa]wlidntwbxueqzbql +gngwphszdvmcnjj[qvbontopydlzjywvaiq]jbrgkevvbwzvkcpz +qtdsnkqlmcwenkzxodb[wqmskmdllfarzicsce]dmubpplnmipygwqjim[yejatlbffcwmlyrek]gsvwxfaeblczgpdvhhm +ktshrikjzljpacyux[omqqrcsqtbtdqsupfvm]bggungenwwenmztg[kacviemyqpqmwmiivp]petgeydeoygoknl +lvvozapyfvdohboxrt[sqedcfculzdrbsafvg]ioohxzwwppkserbkim[bytwtckhnlhtxgmes]uzwrmuczkofyfgv +ocskfzkwwmnkize[wnjrhvmcynlydnbvn]qbykllzinrgwfvod +eqnrivojtcjljsfcj[rlxxybjowtdptsg]rnnvkyrsxzytscf[mbykscjmwlryaiictd]gmfcxwtjljrpihljll[gxrwqhtelbnpguyvw]lpbbvcxyokowlqfih +sujejaymvqavyvhwpe[vzobezygmsxvqwnnu]dmuyhdixfuqfbnehqve[gwdapthzmbpwtui]hxhsorcfmtmrdqqrzf[dqrxkbkttpsjkqpbnl]qsmueuwxsrnejednm +vmqbwehpqesssnps[jkyzwrfofkfqkse]glwxlfrqaamjejrievu[jhbggigitejevdzgqsm]sqxbxgyvfpqtxrlbca +mlbhjbelhzgprdshat[zcytqxmfhuyriabyr]yzhvmpjfzkhgxavltdz +ctdohoakygysybf[loxbfdhctlnhggxpoq]bimosyslpbihbwqp[fahhvvdfkiiucdf]bbgugrcsmoasoxyymgz[wjhbkirawxanrqf]palckvdfnlhficazmwm +qoetptacgfcrdrstl[gpcfptpchpeiicbmfd]vsjqqgbwiqlndgmop +dmlzhkeleeqkgqvriu[qxzssbjfthbzhdf]inuernrmyomwyre +pcezyuyfhpyebmvanp[jccebfvhvicqksgwyqy]nssvudrlhkckath +mrpkkivxuuozfbxejfm[bkwbwzhwwkfqqlupltj]ngrlyucvbmdilkke[qlzntmxfkeapmlbumu]ynjqdpmonwypyjpalvh +tkqhdmjsbnhbvkdgo[jufmjoypjidudkbcvy]olrsjedkqdbeijypjp +brnhsqltbrizrohj[dlzumegwwcbonaa]llqtbxfulkgjeqw +vxjgwcccalsesmngkbk[owvdclfjsyhgchpt]zgqonnjsnsqxxvqzmqs[wsmtnxjpvzcdpobat]rkgwlaecswhucndgv +wkjmaneymsjdyjd[uvgaxovnqgsvamsbz]naumvynxlnbgksk[mmjeguwrwppdwmdjlm]puiytitjsyskwomrfqj +fquaiztteofhvsbcba[hvstcffflwbvchn]ntvqaedorhoikidi[cpypurqddikmaynmxzx]qkrvwfsppcglqejkn +cpjplvpmbumvgsduald[sowmjselnjpjwhav]flufpydujtzuzusyrr +jfhplkijkstxymvwgz[kbsytlilpsegzanvlee]ywcxnydvgcxzuibxvu[ayieqmzukhoxmcli]rsyubeqkgvobehe +ocsbswhjtvywugym[twhemgyfgdfegogpj]xamojomgxvyedia[rukhjizwdryazdtdsb]fdiecwglfmtfjqxocw +vywxxiyjfwsjhvjmk[mwjsyhoifeimjqtmx]ribwktjvuvxakqqznf[izcdtybzxfbyubfbckt]aocntguubagirsgvz +ursnbtivqkjfkcbls[ckjjoszuogsdnficmhy]wwzjkspwdvilshnzg[gzuoexgingreqktak]ywmfxtqooxdgqaa[bmucdllxdktiifoqp]pvxrfcknwxdjivyym +ebtozyepluaazxsuoi[mocwxdgmeyxmoulo]grazonsbnsnczptl[rusiwrrcbqpybtjfxt]ewazwwjculbvwjgc[jmoyjpbznvzlvnzu]ghwsmgrsqjgragu +cmbehdhyvukkufctwpl[toklbggcxvjerfqozbj]wqbacnegquxmszdul[ggzaznwywpswuxmlmg]swowxuqlmlfvxmznm +qbebmodvutfozxt[macysosjlpjhykkb]qdewwbokbiqofejcsj[ddzpouyuxgogajwmuk]iukkhkmjmrrkefycw +adaobhuodvmkfzrbk[ucroxtaavsmpvfd]nvrnzhxozidrgvf +yytzgmmuqrfqegalpow[eyefbjmsyximixd]sgxjxpfncigzmft[zuwduxnhjiidywvsm]qmdvambkreelttqmv[mqhlvabyxnmnjfpkigl]vuxmnunvxclyhkxi +qdgaknszcwxvyhlrfsr[kbbxnitytjopwtruar]ucanrksrycnoqlcvrd +nqwjdcnwfxkdglllft[gbawkxvzhyiprfenf]ysybkzwywpqwerm[cwsthmeytiuialllzxx]plcctxffnigyhdfmndc[kyyvjcfkxfofxfsrw]cwynasabqneione +kqthcqbvfsncuenmqx[rpokleyrpkohzefrw]txvckiapuezhimt[rrfglfzarznwgchlej]vpnrufinbaqrbjtu[hypcxgeuiotonfxvuf]cfpjwonfyqddtogr +aaxuojwascuilsqjt[aqpfsummtaolqpdi]qoqnuhfpinypgxiex[peasbtrzdkneuriyt]dbhohenosanaxkqqxq[fwvbczhithdxtbdpd]bmncqvxnaijxuexu +mgiepbqfrprbaqd[swsyfijoncrtrigly]bzdkfgrsmwamezhp[minqrxxklutrtrfxps]dacjpwxdrbxhumh +shdjdexuhgauroqwtmd[jpvifgjpgzmjlrnuyj]svvjpufybafcjsoppia[albycpxsvxdykattdos]ewhcfugwuovgnepvovv +ldwjwyzaqxwfrelh[rzkhymugnnpmowx]xufycgvikehdxxggp[mykgpsmatnpimovscqe]cpdwiemofukofnauyh[iicxbleijoxlvml]dxzlvafklkbfhqke +cqdtbwoinxghfrwulij[wwuuffpfxzcckuf]zeayaofaskxfueiq +odegrvwiwncavmxd[smgtzidklnmlnltytx]psknhjsrxwqdqlw[kmejoinwatytdkz]dfziwicdcmfwawwf +jzioqoutlwitjdcb[furuyivyebozkvcny]gfhakdfpfouliybsvk[vfrykghujsittpcxjnj]vjekmvdvwkaffrhhr +rclnyybawbizurp[cptbsqptpvcuchcyncy]rlqjeblagqogxwy[mwexxfjhkiyoihog]slgmmhvjhpomcvgabu[xgipgcmbydzmayywci]tptdbfqkemdnuzvuz +junsrcleteqbngabdh[loajbjvuielphzeel]yquxjlecdumepsr[lktbtwjmyeqrurys]ralurzrcthwtkenjtet +zgykbezaearyhzuxhta[pqtjhajbyttwqzfozi]dzodljvnchwsytat[wrdvidyboznzzbgvxc]fnpmjaiocpucgucwh[kiqymnngzdrlcncpw]xkjzheobflinqcxu +kbaghyebhrmquslcfc[ukdaffinqagmwhvhl]ruyaqrvavvfrzwiyit[jdhkzojqtxymxoaval]qfxsbqwjtsudcet +obscoqxaeartfjmeue[dtceaealpasuxsdoo]zhtpbqqfonksrcpu +bphcztpaoqfofau[wlhtxjzhyooevsax]pvktnvejsbjwsizugxj[aijfjqhoxneawmq]dlfbjynbvobrkyur[swgyiujwbafngtiql]nepaaduwebbpsrew +fsjxwoamqjhjvyyr[johjhabbsofojaxccga]tqcnhtvkimixbyiqt +lrasfxkclqtptlt[bmwhuwhzvfmwxxwla]xghbszjpdbdykjmfvhx[cerzilbrtilvfptwid]nkzdvndlbgkwkgzwatw[njpjupthwiwffesnct]cipyoqwmxtiugbyfmk +txfqpycfderhwnqtrp[cvtdbizqhlxikkw]nuxymppbyfdpayjxt[sfsnmgqrjqrlfxh]dgwdxoveamltzalgyw +ntfdficysbefpup[fvdhtaqmjosqoxosu]pwrbdoceiweqrfyrx[ftlwubetphczbxhx]jolpetpuszxjkxuupke[mbcbzrxeoqpibuyjsgg]cpdzzdzkwbucybc +pwwzjoakzydrvkyn[xisfgbgguunevtbg]ntzbwgeohmdvitrtdpj[fzkkujhplarmvzckn]whvdpxzietgdyfhok[hlmsjxrxxrdjfrzncyi]xvvkjroullhawqdj +pgazkqglbbjzrofkpy[mkeiyuwlxlmgmeugcbb]oguzgbkaasscxhict[lckibbhqnkatvzlqcw]ulilgiydzfsdwngr[qcrozfdctltxaatyajh]ojyzengehkhylgh +zdatmhxwkinjiumoy[qwhfmokowsvzgcngeax]uqebryzrbawakjz[ltilidihghatuhi]lljxtazlhxbrnvwsrc[updgoblisisvpdqngzo]tjvlrlfopjdoyoisim +tfguxgdgurymskwxk[ngtycndepeqrcif]gttrbjkhsbrfczdwxo[xulqdcmgztpjgiajnkn]pgwsbrzakmvblfsvlsd +lclevdvivjogclcmn[kpxlegarknivgdvfymk]kygexxjbzqppiywvxtz +zadpyjsswjcfimejbc[htbpkbzsmbkfeqww]ydwbivnpofvmzvw[archeurcpsapgylrf]teidjxdxdailsbb[nmoqxuhzymlxxqykol]zbesrnrszqdpsbchg +ykwptdjfydxfdue[svxdapsdzsvmsifz]omdvdqwkswiktcwkma[tprmxhwqpdycftzlsz]dyfcmpaaokppkzvoa +adfqjdussbzlxfvlg[hxktcqjmyqctyjnl]ouyrbuvumwwygdc +rrryoldbjkwnauaz[uarnttzxeuurzokpa]clkjazjocprwqti[krkcdnwldqexavrpo]fdegufvailefzfi[izadiszyerlbhwd]myayzynvrymyobbfdc +krttvoiaszqvnme[hlywolnuxbxjhzmnt]lwcvxyuuugaqribebi +yrznsouskotcing[jnttzbfwdrpszrcqr]dhxidpojntnwrrsjjc[dlvjkiqqyrrougz]bjhjvlhvrefihomycx[veomjtdhecgcvsshcwo]iboybnggfhdhymyukl +qtvgzpyhogqojzi[vtbmgswqkcpdzhxwzo]jsmnjadclhgsofgrq[lltxvswaeqdbvbyqj]gvrdvrgygzhbetbkjq +oqmbdnnrpqmjasc[hzdfeapdznngjzjchow]fdoxpevjbqngxrhhlhj +ujszwtyancoxbcga[qzpevsjkmozdbeqf]bdzegnfxtazxdna[wyinvjijbvudlvkwvg]mrgzfijgyouxyio[qehebkkwomsmozoojy]sqhbhyonrnjocbjzfl +hinhkyqfttbnnou[luuiucbkkrnwiuqbwb]ujfitmunviqwhkiziy[wqbetolmyaceofd]wbwbxudxttgmtuxjeo +schrxkylmxpwphllds[iijplekwtutqrdkmsrt]hvejiqeylhoxdpkxz[gbhczsfvoidbktsgbqu]rtfwgjnvhjhemkkvbm[lxojvsbvcnlbuofvwg]ruakyrabueflgsnict +fvqtupyapfmstztmbe[zxtzrmjxlmgshjlfywb]tdihozcziyvstvdtvd[ifzqxsyyhgstjwlr]xihkbuvismdtqtfm[xtxunrrzvtuhjlzoji]zotmlgbjircyvzgcxkd +shkjoyjuiufvxbluji[saofjqdwpwodltmra]xldohzmyameybbnw[zwaispolnanumhtz]hpobrxhytzqmkrkf +jgaozdtecqmpueg[bnfjhfyhdndzlkxrcb]esbfjomhfrfvzgm[wqvhdvpvrbsazqzgnw]lkmrymdcupndnoktuv +mehlgjudopvrolla[ghqzncojnxbdtupn]vacvkbpzsztmzhz[tcvqbgfvrehiycr]unpokrfctcwqexbgo[hbigocuneutkffaka]dwwclmxsripmvcluve +rkdurapdxvohktm[idaisubzmlljyfbblho]kkkxhnkaiaxxyivjsna +ujdjbvlqoavnuoeeilr[tpiehldutfyewbqv]crvmofwdjdesxrl +ptyvtwbbmoujjbvsf[avhpwnutnjkysjdubd]ysgpwvxugjswjzhw[fvgohaphbuqpbwzr]sqvpubqxxhmfxvlw +sslbaaxswqcqfln[nmdfjxyyrexvtxv]wavnexwpbgnrbrwyrf[deouszhzjkbxxrhvkn]xtfqfjexnqgdiddxh[tphqtpimimjxxkkndng]ncngkkzdnhmbqohupgr +kcowklgmyivdmreahg[nhhhjuxwoafzwur]jokzmfbbnzsobiahlhi[qgzkumabuuxqhki]ubnjasaqscrxdjy +ccofivnvzaxcise[erfolydklxltrildvth]sjprbxbfldbsozha[lrbdfwialwqinprra]wqresduonlpwaamhj[nmlgvtrcuqvsirfhwi]qjtgpekylrqmxxbm +fugomjlqyofxoij[prndifttmowgenapio]jpvcsgonnqmvqrxwo[yuioijkmnwkyiba]gtosuvsrcszwsotg[zvtndiccjofwagevdcb]qpdjgtopkcimpfyqw +zbzstwtngoozwdgtkme[mrcfdmgpywwvikyrto]ktlmqekphuekemo[wenupyuqahrgisu]wjyyqsuatrkzlohmo[judqmuzbdrqamof]qiovruvlcreoircteb +yyclnzxvjfymqgrzup[koyfzianzwtvdjga]jtfmxjxehvwejfl[xbebzfwcbmjrhka]oqnpqgevsokznwo[briagugdtzfswfbq]dmnccxrswiebtkwao +muxweanabaymbamknkz[abtqprtejlmchtpy]nmrtnrjxewbqynvbe[rtxnzbwcjbtmvob]segkftbvlvczkgubgp +hkihivjdrqvywhwt[xpciwwigazxeddp]vkaysmwlighihfka[lcyiuojfjmmhltubrj]spandymlggnmqiact[xizoxzguscxtsut]cmjecsmmjasgpvx +kasrdhbhmrlwiczlyp[sfvdefhihrtmmgele]voszgwzdjlvkejvrkn[ahwvipvknuyzrzbrmkk]yuhtxgfpaipuupqep[hezjazdypaguhxkwud]bsfgurgwdetewwg +mkxpacxlrpbfqio[axwgpntpusujnovkpxp]afzkmjvcysdkbfeli +mspmqxwmjhzxqmbhbj[zniufuwcidklzfpuoxs]uvlrvuhbhjhudvx +nrgtmsqbjxlnpsc[hpbskrvswufaucjmjv]pkuulesksyygynxyku +kmopgjfjwvvrfgvo[qsigvjyusqjqziiuwxf]ewkbjkiqfgdwhkot[tbrynegplyfllxcqaar]cybelgkyrndjodpf +wjzkfwmrsnyjitglauy[jnncpybddtktmehxz]hluaspiawjwywug[ujwjjttoevainaxqmer]gewchllvjclaahplb[haewxwlxjjnfggtg]uxmnawcpzfwhfiefo +jogfshkvmshdacro[anluswkewepuhbemk]rwfxbxtmtfgxatwj[lwqompcrkgqzkajgrqg]ckjftivpzkflgbifzx[autylalyokqqlxgu]chewqmwkwewmwoby +vhqxmrwadjsfoprv[imclvgvrtvqfbcllpr]kmgvgofdlkarrusoo +kwkqhpdsrkdlhuq[njldfvflplvygnihg]hikxtejykexrghupbqz[tanglgtyodyncabh]ennzrvfvgcnlehci +hmibwhrmzhcxvzgt[vrdwkryugziqxxfv]tcgmqhirboxwvyy[mjgojhlpjolsjtcu]tphrqucjxjpsdsi[ahqidqxdgeucevqinms]edzoyewnqweqkla +deizsskvkzcsohdf[plhmdlimpiduxfdyzv]iaodhxioxasudzv +aepgcwcwlpdqric[xyxiplpunvajsjk]dkragqziaqxgbwr +keocoxwzsscocdxcf[lvdnlggndlqzvxjo]cajmnvjxphmfopy[bxfnemakuysdjvhzv]ymuttirruskkndjlpw +rrfoglacqhfucnjkhsf[ejgwoteprdneomyqphi]gtsffeskyegnxzfkssz +awgoetenjdtwnpw[hflbiyqshareqvcc]qxwgczjnzceffwk[eumisjskpmnqfmox]dtsifzhnbdvlfaqdkwe +jezzkwqvkbbcskih[cxqpssjfttcropqrk]eqkohazzfagyqpjt[qveehpentvwwdazsmdc]enufhtsnszihemkf +zqokauntjcoqolc[kfjplmodgrkaeuuvq]fqicoryxfrkubee[fcncbrofqpyxdnejn]yebngpgxcbjnivisgza[bpwzrwupgpmtbhg]ufxyezblslkscovzaqd +vdrhbvkjchpslgpwwdt[cfslokjhwrpogwmf]qkxlvkrswbbbhudgk[ryazzfichahhigijhc]xbxrwruzjhyjlwxf[xlulxjmhxnhmkflqw]xtkuftnstlwxwiirwko +qwbqncrimtxfjspgyyn[ysolszsumngdzijn]stfhvhqwymtjpauip[lnucccqwwzenxlytrb]aumcvdswfuucagbkel[skoaaxgeqadxehwvjt]jrjzozvfrrjrsvmov +akweexwajqyahlpq[pjxilukjsvzjerrcdcb]qsptnuxrshmerfccxhb +xbnsmtgyhitmtounl[msqlrxysydxdydbtyho]varxjhsmmqlilsprkq +udmbexywtscnesd[azofuoboewwundyif]mykxybobvefathvqkfx +gjedwdykwqbxqpsb[nykqvlfsckqcgfhvbd]xdactphykfhbpjollax +tinuplnorykjcuete[qqwstzqrupgcliapi]durprlvdyucmbkhceq +zrfmusbfbogbrsin[gaayijtuqfbfnxb]cgjsibujnswdmuhfez[rhatyymizrxrqud]wpvajerbhxbtrva +tpjpjlmhvuorwnd[vnwdgopuigazzwytzbe]uaplhgdvedfaiboz[rqkafxfjjzjwbzwung]cqwjlakbfpqvxspia[chyrracxefgkuznb]chigmcxzjqnzsdn +badqhtkxeokdbres[wmdthitngyoujdumxfb]lnafdeqakaggcdttnq[acuhhjaemkakovqq]vfvloofttmvvolbpgb +myaunxirrlgywdtyrlp[nxinrircujeyezto]tdzynxmmbhjybgz[sxbjlwhbkhpplbveqk]oplketzgeeoczpadvhj +wtqjkfmtshufwfiux[njjvqujaetzgcihtxvi]fapfzhffwqovrvfpatr[hwjfoqsbiothjtrbg]sfwifkjkimjnyzaui +milzoncxkgtbsgtxgb[zvskfgfsgefelbjckwy]lrdralfxvtlupde[kvvibrstieyneglniu]pfyopkpteyovtkahwby +sjwqwumquvxpwokonnd[wooozqoxtlhwsfhtcic]tgzecomscwuxgazattf[dmaxzgxonbkehxgymq]xbqkxgbziuumwex[csesnsjiexhypqrxjj]dbscxozezqgzexrwci +yqgpqvteubzxsmjb[bntiezjqbiywrsq]nrgpewzpshvjwdx[qifsblzcgkiqfmele]oypyewwjmytlaujp +bxlsaiblatkrxpcr[xxnilxrehixaglra]apwnnbwgatzwgmr +rqsogjhjijafydmr[krhzamyodyfpbdv]jkjdjxgdszznhiv[ywihxdwlgdadayqm]cjvrvelwbegtiqswzqr[toujknandbegjga]wvdikqjnnxpuxtijios +dqlbbhlsllmcdejnme[fchpcehhwkjwkythfc]shnipixrreczdblufyb +pljkshxmvbpvswl[gbuflmmaywvbjwibfud]mexysgjrvoxovxtvici[svuosbkwxjzhvmztiq]cvfjfnisqtyomho[jvrshoymwbzcpgxtxl]ysdystgkeioszdbora +ooyljflrcdoujmfajfu[qvnbylveipljcmgrvl]cjfvbounfvjfpsxmbnj[mohdhwcdrykexihcgvb]gfzxjkkqdnspzbqb[jkoiqbqtbjxgezxvsgn]juvveztzrtcxhyp +ebfbaesgsxjbwhkmpxp[dzkhyyykwhayaztjt]xkxdjdlfvlzpqbb[tjdqvwygsgoldpffs]uwccbahfnjkhbfzcocf +uayfnudukxaldfgdvh[tshkbhbydlzzndsc]wtjmhgayuizllbngcr[tfglywxclqmgpeatsva]riocgxwsethrhbh[xnerbhkafskywvgxbdl]yzubvjedgzbpqqng +iensavdsekzfncu[frepnzfzbolseio]thbtyqsviqjozgq[mqobufwdnxkzqvqtgj]woxdzihysaypdxamitb[llqsjadcqlogalbice]xwrmwjiednucqqfuy +lgmcluvxcilrgacyc[ozvsjikotkgiepo]ximiftuuulbsghmm[ykwtdziaokecacpd]bvhsjkjycywcuitep +eoefpqghlbkskrhdhv[wkzmafhoocaswuz]iyiulabsaueugqys +noklaptafpgtvzb[hocgskfdbisxdlcdbq]sgwqzdhmwapbbjox[yyjutkzwybpoeea]xtnvxgftzjdwqhgh[nqgarhtwigpfriuq]etonjczcgfhclbf +tyqqeyfkxjcnjih[edtgzfrlpapwoyrnccx]fmsegnaucwnvsyrsj[lptzjaxumqhbwhmljyv]rugwpouagbvimws +enpywofbxruqkma[lesuqdferlsfxqis]tqkchirhakakvbgf[ytrxxjwygqwaauwjsg]ncrkbikcmvtbtrabvqb +nticpuumzthsihk[asrmrtlzizgsvnvcxny]wjntjizixwyedcrh +yjkotqgkximxcbpa[ttuenysknomggwwvvhe]htzkgoilhlqrpmbcvh[zucaclqaevmjqfuy]pfkvmsbcslkjxyydhk[obfcguogfxfimowk]eczitrwtnkfqyvxco +nbrsaktghjdxrhul[kmtgawzkmntyypqmw]jggmopgbovomadux[pkwngsqopjftulu]ymmfdmimjpxufntd[hnovhrnfsloivbbueip]oreyglwcjkylphqtwl +ufynjbkocygleqwskw[yuykssufmvmdkdntk]opbcqjxsioqpkzbtuhh +nkxtoheqxycxqbp[nmjgqytppiuscyylrm]ezhiobiihpmhkqjc[bewnvjufjzxgfwhy]hslvggdrixjquaigzp[dkaylzejrwivzcl]mxzgkigdgfhmczixkrq +fgcsqpmignjsbxxzt[zoatnmdxtjwltkazbep]wiadjhqakemepgfh[csuxhgjcqjsztsrwb]wdekgrxgngaaqcequ[kjlsrjjtidezpuitng]lhibpbcwjndstunhfff +ozgymklbikxnhme[bbbbemtxaxyxnnazaxm]jszcoclvxluigfgdlq[bkkxgjapnrpvovq]tdsakecfolgpiynztiu +tytomipjwhuqwshlvho[ewcfspufoolvxmeyodk]wrrxjaexfktctmwrkvc[fwdrputsdfepfvglfq]fqhmqffdtqahfpyelce[elfiaqrgaqxwpjbxcig]jmlxcfxgjkteodsufs +zdfxveufnuenptljiet[bxzgimeczdpygyen]ptmmjlitdsoncpjlwh +yfyzedhbbtpqiwmri[uqxjtkmjcivoqatycbc]etqdfgffuplikkgrug[ezipcwmudtfakrrif]kumvfsiqqyfrbcbvgf[upsfgrzgndzpzxhmx]aewrwjwdquhsagmgwah +tkhbexdnhdkmlogvk[rvuvfkiqrvxwewnhihc]yytysizvrtytoqznokd[cyxenputwxkuesw]qukaxyqfxbjvgdcy[rfvlqyyapixtzghha]sjazfjtokjizlxiim +ynwzzgtnjmfjhbys[enxaumsepjmyaapa]tctribvarqtdaceq[omcmnkckmzjjdhjiwvj]qlkbuktkubixegud[bbvvgpocsbliknv]nivyswbiijvnvvkuw +dwncikgxhzvktwgwa[nwmhqzwlvntxvjv]dmbsieiwdzgwecq[uvutvspxpxwfafv]vauzasizdqputolg[ncsglnqbwjshyxa]dtgwditcpcuncdcxn +kupmpwwjcwmmrhum[aakppoytxqucqfncv]gpuyruwkndprpqjqwup[lrcoaodsmpmlhnhnyq]zathwgfvwmumcjwaa +ivdparkbqlazewoujo[tzfulakdrwfncibtnza]titrajiplrfpbsar[rnjnbtkpwadofahdfvv]uwobxeoluadvnxyxwl +kkoyqwkjdgcvqaufnj[qucvzomguivuynsg]cbhahcwrhchflfuc[czlxnbidfvtovgdl]jmyougddwlejoyrfsfm[kcuqcjogcjrhvjpxx]khnizsdkqwzdzehlpe +wzeknwbkawxgvgtq[wmypojfjlgomvmk]tfwjzxvhrbxpkuyk +ivalkzrbqzhiqmjo[olluyctvwisrwwt]ndrunxditvvundvd +zezjmfpqesoftjufk[tdueprzpghkckpq]fnwlbwrhqmmayee +jpmhszgjuxnpjdsbtk[cpzosccgpfbvzuretl]nfpjzsqdvzkcszid[csygzwucakziegi]laqibhadzxurnulc[otxsegwpopkabmwbxzd]ymmsoiqsjnlnsvlsq +srgtzegqicrsutbpfsh[wfdoodrpmioayoa]kfqtpkwcfgyvjeyhvsj[yzcyshhziwjudxmm]xnmgrqxumondortjbye[nyajdyykzhnmolyv]zbdkvkbjavamxrafhbl +ifwabdpxckluvreesop[dsyliwtgkelyyam]hqwleigpcnogipr +bpaukztdyuwjkjrqj[dnslgwpwsanuxvtyn]fxkjtpifmtqzrlok[vfcgvkrunowkiilyok]ypgxcltrqbuzwiqom[ikzgjcafxhxmtgril]btdnvecxukjskjkndz +nghqjtbvhviyatzaz[guzxivxizjukrxwaf]vtggynfcmuttsnrvm[eqvzxmtlkaigaur]dmfhpohcbyjikjl[kxaapmbxolonwgbw]uektjdecblphouwitdv +fxefzaiaeclqyvka[srznplyazbvctgfdr]xakjubrnnbfykcep +rwlthwstbsaxphlsrz[ihywtcvcfdeczmy]lpxfewmiwnskbnv[ripgyxpgczfvxkzp]iltpwldaivxkwwcb[yiejtwqmnnnzywks]krnbkndouhoakztwzh +mwaxggiakwqnbihaaj[pxslpnutqpgdfvhvwgp]nhhnvftzfwdfnrqisfi[hgroxibwekbugif]btrhjqipvkpfvcf +xmxlpyuuqssmtmzqyb[ybwrbnrgkansaodfap]cihlwrfxgbaxddtja +fahbkbakvcwwazgioub[ouuvcmqsmykbkhfhj]gntumiippgacbcl +hqkuhmrurcqtkzusgu[drwgthikmebvdcjapw]vdxfpjwqlcvwpgsflb[mmaxekmyvkxfxye]nlusofrecbdvhbruu +tjyqhrxlyrubiuwl[voyszxwudonuwiptjoy]xggibveyrclwxsq[aolwexwhfxpwcuavvwr]bwkkcnpvsiynoeikmlb +cxpvpcjhfbokvuh[sdkkaewwgkvniqymkrl]emeetymmtcbrivitvn[bvyzmgaorsfbsmqoka]vodjpeovgjpofkq +nupojuxxbgjvlafg[uhfrugmmacqdsap]nxuunqzbasceyiz[ircwdmgmysazaya]qwsmsdywyhklvniiq +mxujioozxlybxvyjcmj[afimhsdzsmtxszd]fsckiqksntizegvxgz +htyhhcuqdfhhniloe[iqslmejacjbynzkw]nenyirdlormvppyym +jbphnkbvlextsaqnid[xdebmjhugwvnodt]spdqamgmvsuftfx +mpdupjaxozerpkit[pcivcugsbsqynoz]zrxxjvwswbpuylnxi[tjoxsullllulompfxhy]zobcdnaypuabmzfn[inubfyjlhoysdjath]vufswsypjkekcrb +qsbiexorinxuevkoad[tjzedsasyapfnvwa]qbfrkhbfmaxcgmovnif[evrexsygnumrldt]serpxomgczhbzjix +ukqzagjymparwzqvw[lnkduutsjulfxuqug]lvupmgsyiquqeepmgsv[ekenewopqmddlcqc]rhnwektxgccickla +ezrytvzepmzxbjapim[knaxuvqciriixgji]epksyimofrrkgawirz[tewvfyplzorvkyeog]bwnejljtelcigsqfx +fngkrmmwapuutwtn[pjrinpthoymdxemoe]qoxhlklweoscgcagw[pyrevdqrznakburr]fnsowwitbsxsdsdv[hzbrhpemwokvyhpohjw]jppmuxhrsdsmmprl +wfpphsvqgdaostxg[abwxepvuvujjmdbhees]uxitcdrdkyaqgtyrdr[rqdczpmmmisomtmop]lnqpzuqcyrdgzrcc[cvzwdsaeorgdzzklrx]ekwjqzkeolvlkkqtj +qzhiltifnugunsngzg[fxfhjhvijjnhnxkbl]bbaftchmgjrfuanns +isducdmcjzbiacltx[jvkepdvzknnyqegqte]zbuvzcrrsbjsqkf[dowjjsipssfisalqwmk]uzrmibeeevzeuxtb[ajzixsnzrxwpekzpy]weogtsmtsuxvjyhy +dnxhdwkvawccsfvncy[odsmukbcbpfyjqeau]ugusdxmjuxjosasg[ouwrwzplzttepynf]avhgcbmjesyqkzjgms +pwyizorvifedguhjqrg[zsafqttsqlygzwmqv]hxilzjvsuyfnyck[dnovwvccguuzizrjw]qgbluurgbxnollv +meqzvrprpthaebpd[htamsljskphtldx]riagbpmpasjnjefv[cvpfevyvpivbals]tgxiqxmhvqhhmrr[cgeamacqfrlrhaoz]vficakheeoprpbows +okkhpeexympjqvlamxu[mvjvngmxhkbiaygi]pnwoitpqlyqaiwdpf[ryfcbkcyzbvxuyngw]xxgknvjauivacqxr[tqmanixcxxbolxf]orhkvkwpyrwbymux +ipwcjobowzgrgzmnf[uahjinxxnmyyibzp]badwoisgtafnkgnp +bcbwbvyvqpozfig[twwsbwyhvfaddwo]jogvkczzowocmkwwlla[yedsazzkeklftvohfqz]tghtcjemmehumuyxar +bevtohpxkrlrjjen[jxnohlogvkugugmk]nrxomawkgbwlnqwb[rtjoeivssknwelkhv]dihcnpigtbnwfdlxhm +upuufvskhseazwfttq[kkipejrjmxwmqjsh]xquyqplziwgvkkiyv[iirqohxpmcxsjryb]ajblnptlfnukvae +sijztjuwnyftelgytm[mgirqlkcbaigiyx]wgbeoandnwaudhgvd[drhbrumogcajpxnvqov]vwandmoxgzsokgfs[xwgtfizcmyjrfzgejhv]nhckviycimfezwefw +gfgrgtizxajkaicjcc[mftrzuftzrgrwilsv]uckwgxywnamzjglbnts +znbgncjrhyxaxgd[xyyzkorhakwqubjzk]wrsdvjsrsdorwkgr[krrqukxrdobhkzmr]mdebvnlirbtdbavpj[adbczigmaoreudvgns]yqxeoeccdlpuwyvf +ymjcaobrviuqtvxjqq[jwpvalizcmbpfdjk]wmxpzhqvcavedvmhtn[llsefbpkphhetqhbj]qryznzcexwgvxni +ginmrsljkrcminltayt[iarzxlzixokzfxiazwl]aircthhepljgylm[wlorimkebaxcvcwanlh]bihvjtofcsnvuem +zdegfhthlaitfojyj[bltnoljmwcfdvle]gnadpzusiepwthtv[ieuoyrprfkwonhwjt]wwfphscvjchvrab +kdnddjueyrofzhjdzcs[asdqcpbunitvxrwi]usylnhwfapvczeb[ozrrpkegwtbkftyeusg]pncbcdrovovzozcazn +lkksyjqoayppxtvns[csiuzvhklkfijem]xpsmnkdmivkitka[djmnmzweqxrkfomzqhr]wkzmhoiasanmhez[wojpalkldcaopeg]murhvjrgpwxpbveekq +jawznxjorxwvflmkk[gafmrermlounwjqod]nalazknfqhepgnelal +wlszezwacdeehnlnoj[njlzbwkfnvnbwim]fydgpvvovkuardng[gqxvckevjodockykp]qsbtvwpwaaeatbd +bwwttxctuzuezxfdz[apvuanhzemgcupc]qcfxkvevimwvwpu[zhhorxgplrpuyabae]gzabsprhuhwrtkd[sqhumhfqwdgxthu]fyebhdninkahfyy +hhttjuhgvcgkisaqof[obpleewrfrrsgpumz]umcmeaytqjlqkyrawp[rhkhciyzmxciiysv]kszzqcmcylslhlpqjag +fnevugmjjescvvmbmt[bjzdquqohnusozz]fwlevkwzllmptbcelsh +hzqfveaxrqycvuolynx[ztsmaipixbuhbmv]ebvofyoeponbpip +utmnuyowmxipzhde[yuvqwfsuyhonciiepq]ynjvqvvifywnecwzdk[httqooeiilokkjghwjq]znixikpswkpgxcchuyg +goojhvcnizyiukzgmwb[euyvjdmnjjrkjwpu]puidllwqpsddlrhx +ysglduipsofxegb[kzrbdzimejxkyftyuz]aekosjomszyegyy[vpkwocloupebnjeo]ocdaynpnnytwrgkn +anheyoxddpkmqla[isqzqeuwwitvtqy]jnchwevvrgyznqsomum[kribzkkrxawjnfsmiux]mlerrnvwcydnfckydfm[hwouaafteeabtgflb]acwwvgztxwcanzizha +kaqernqhzefzthuc[tiuifctajhxawtoi]kyqdkeudzkihvfsn +vwwekuavrftztxb[aywyoempmajrdkxpsc]eibnjbszsfsapujqn[rxpcsihuzszefcdzl]gsahdvozzgxjhontxk +ymjyffbcgimsalujegr[dnppglortkqlowskj]wxwtxtdaaopcyvp[xfsnsdrlopdotuqx]sprrvphwennltlddiw +lguyxqxdnirprljpkec[gevtjwbiofgesdwil]phnydixjjjcprpxlpj +mgjnnftohavesepu[slwhvezajhvdukghl]hdhtlheqzqqrsqmfqyz +iapqmjgrjnecxylopbo[pnbvgmbhbcmcnpsf]opurzpqoyxdxfkud +efuoofbuyjoaqjd[achnmlslfvovmgt]xcuyvikslsewgqlx[gjxolnhgqhhglojjqhy]iarxidejlgphqwaei +uxpcurtzqgpgtzkvp[mibqtgwackcedfri]otnnsgolldyzdpbew[tmgiijgjuvjykwahml]xxgjgzmnicxmywdubrb[hwhcgbzhuoankdubft]rxqzywfyuliatahn +uhmufcxuptehmuf[sygthxldinztzudvs]bdxukzqaxeavvrbqmuz[wovugtpgwisttusjlet]tpfbcndafwhdnolv +kwknefvhmzbtjezkh[zcvncbptzekirhqo]qvgnyfkmrnxlgxzjjxl[twxzjkybjlrpurfmufa]lclhwuylibekjjxc +mspxottklkidvlomd[rhiachlbqgpdhfnxyc]ekkxgijnueonlkpfkm[dnwcjiihmpjqtmb]dkknlqniolowydd[dyqofryhvgracxeuivp]pbsgttbtgksqqevytrb +pjvdfpsdlampeztecfq[lpqshzeegwiouas]nwxqaoryigyvbby[iiddsczjoxentwv]weexunkmtaaufurjz[meywmosucyrxzlgxi]huqfmfpxdmcmqfk +abbhujqyoaphnruaih[yidrkxgrxeoarph]fvryghhzqrobkbsck[dnokdwmkbktlfoihxl]ttptfiadsswiwsfbvf +djwqivpbexyvdquh[qmmdydhjbmunyjixviv]nradabzesdavhasjbjs[lsabjblhocebvyhfee]hwbyvnzltgezasg +maxofygcnygnwefsb[gdfccusdbseqsqfwva]cxdmwhnjitaazhjftn[kcratndpffdnbopd]wocybndplnotqgctr[ymceqbtulsezvftsi]eggtzhqojksdjapnv +lzihlroqvmeohnun[wskcytlimfagjyd]tnehibbupupuhepqz[hschjdjtzbvavum]zstmglsltkovvckpmqr +syzoikkgzplleoaz[ccpsffhupzpuhjcw]kaswkcoyhlrayhikme[qnjnztjupvbwyns]ggmkqikeziailzpuv[ugqgbpunztgvsxsp]mntxaumliefzkpnia +dxnkgspqhyejogxstsk[jfgckouqypxttst]axtisjbtaviwafh +baxazxlkzlyzvbdvtlc[yhegkwrrluxcnaahyl]nyegiipdjrnjobyjp[ulhbizabyukfvhmdg]hgmxctzxzewckasi[fuvwuolxkcfdkmtcngk]xvmvoydeiuaeawcz +bkomgyefwkmwwpsayb[rozknmkljogphrqywyo]vlpasefojmrzbpox[epogjnrjrntbcnzha]okfkagkfyagcszueu[gjpfnuvnazbnqylfm]busunenasatqeieestf +dwlbzijjdujfhotvj[swplsznswlgnaud]bgedlfxgjbwxekq +ffjhdorivdezjdb[tqkfrzxthlxadqstmqe]ttmrscyvbrresartqnh[rfztsxgbedcdecgv]qxcsxdqhshsqtjtl +zwosebsoogknldkh[mkcucbphbvnaqyxjope]aibznttouadentsy[xfucuvnlnchuawcapcq]jqherkgzqodpzydtgu +xondkuknycfwyenkceu[ugjlxueqtcyhyhni]bbofydvkhtjgxxnyrc[gpnwoarvjltzyhhe]qebolgjnwnstokco +cygilweroxmbmbmx[hopxissehjarmezawol]exywzaffjuhehvmbm +nbndomwcaauiluzbg[qjxqxhccqsvtkwm]oazwbouchccdhtrbnbv[vetwfilwgnxxxrhxar]mrbcnwlpciwpizkxj +xuabbxdwkutpsogcfea[tgetfqpgstsxrokcemk]cbftstsldgcqbxf[vwjejomptmifhdulc]ejeroshnazbwjjzofbe \ No newline at end of file diff --git a/2016/input/08 b/2016/input/08 new file mode 100644 index 0000000..66d55ad --- /dev/null +++ b/2016/input/08 @@ -0,0 +1,194 @@ +rect 1x1 +rotate row y=0 by 7 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 3 +rect 1x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 7 +rect 6x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x2 +rotate row y=1 by 10 +rotate row y=0 by 3 +rotate column x=0 by 1 +rect 2x1 +rotate column x=20 by 1 +rotate column x=15 by 1 +rotate column x=5 by 1 +rotate row y=1 by 5 +rotate row y=0 by 2 +rect 1x2 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 15 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 10 +rotate row y=0 by 10 +rotate column x=8 by 1 +rotate column x=5 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate column x=27 by 1 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate column x=42 by 1 +rotate column x=40 by 1 +rotate column x=22 by 1 +rotate column x=17 by 1 +rotate column x=12 by 1 +rotate column x=7 by 1 +rotate column x=2 by 1 +rotate row y=3 by 10 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 10 +rect 1x4 +rotate column x=37 by 2 +rotate row y=3 by 18 +rotate row y=2 by 30 +rotate row y=1 by 7 +rotate row y=0 by 2 +rotate column x=13 by 3 +rotate column x=12 by 1 +rotate column x=10 by 1 +rotate column x=7 by 1 +rotate column x=6 by 3 +rotate column x=5 by 1 +rotate column x=3 by 3 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 14x1 +rotate column x=38 by 3 +rotate row y=3 by 12 +rotate row y=2 by 10 +rotate row y=0 by 10 +rotate column x=7 by 1 +rotate column x=5 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate row y=4 by 20 +rotate row y=3 by 25 +rotate row y=2 by 10 +rotate row y=0 by 15 +rotate column x=12 by 1 +rotate column x=10 by 1 +rotate column x=8 by 3 +rotate column x=7 by 1 +rotate column x=5 by 1 +rotate column x=3 by 3 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 14x1 +rotate column x=34 by 1 +rotate row y=1 by 45 +rotate column x=47 by 1 +rotate column x=42 by 1 +rotate column x=19 by 1 +rotate column x=9 by 2 +rotate row y=4 by 7 +rotate row y=3 by 20 +rotate row y=0 by 7 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 6x1 +rotate row y=4 by 8 +rotate row y=3 by 5 +rotate row y=1 by 5 +rotate column x=5 by 1 +rotate column x=4 by 1 +rotate column x=3 by 2 +rotate column x=2 by 1 +rotate column x=1 by 3 +rotate column x=0 by 1 +rect 6x1 +rotate column x=36 by 3 +rotate column x=25 by 3 +rotate column x=18 by 3 +rotate column x=11 by 3 +rotate column x=3 by 4 +rotate row y=4 by 5 +rotate row y=3 by 5 +rotate row y=2 by 8 +rotate row y=1 by 8 +rotate row y=0 by 3 +rotate column x=3 by 4 +rotate column x=0 by 4 +rect 4x4 +rotate row y=4 by 10 +rotate row y=3 by 20 +rotate row y=1 by 10 +rotate row y=0 by 10 +rotate column x=8 by 1 +rotate column x=7 by 1 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate row y=0 by 40 +rotate column x=44 by 1 +rotate column x=35 by 5 +rotate column x=18 by 5 +rotate column x=15 by 3 +rotate column x=10 by 5 +rotate row y=5 by 15 +rotate row y=4 by 10 +rotate row y=3 by 40 +rotate row y=2 by 20 +rotate row y=1 by 45 +rotate row y=0 by 35 +rotate column x=48 by 1 +rotate column x=47 by 5 +rotate column x=46 by 5 +rotate column x=45 by 1 +rotate column x=43 by 1 +rotate column x=40 by 1 +rotate column x=38 by 2 +rotate column x=37 by 3 +rotate column x=36 by 2 +rotate column x=32 by 2 +rotate column x=31 by 2 +rotate column x=28 by 1 +rotate column x=23 by 3 +rotate column x=22 by 3 +rotate column x=21 by 5 +rotate column x=20 by 1 +rotate column x=18 by 1 +rotate column x=17 by 3 +rotate column x=13 by 1 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 5 +rotate column x=6 by 5 +rotate column x=5 by 1 +rotate column x=3 by 5 +rotate column x=2 by 5 +rotate column x=1 by 5 \ No newline at end of file diff --git a/2016/input/09 b/2016/input/09 new file mode 100644 index 0000000..a00a8a9 --- /dev/null +++ b/2016/input/09 @@ -0,0 +1 @@ +(190x9)(44x13)ZAVXETEBULPKEEYPUUMBWUPDHPXFDPIEWHXPNVMSKMMN(55x14)(6x12)VZQPAA(18x4)ITWIARZWEBBNFBLOGV(13x7)QYTKGAIZHUZAX(4x10)ITDZ(61x3)(1x7)Y(6x2)ZPMQZV(8x15)OIHTQPNI(23x12)CAXCRVLMLAKHPBUUODXQQNT(3x9)WJP(5x12)PJAMH(43x13)(30x13)RWAWRZCDEMSPYFDZVVUKZUWSEVFJWH(1x9)N(17x13)(11x4)YHEKAEQQQFW(3x13)SQF(195x4)(56x5)(4x8)PBWL(6x8)HWRMIA(2x5)QQ(8x9)JOISJLQL(10x3)JBKQBBPQGK(125x11)(24x13)ELKCLOFLJRFIJCIIRMCOZEPC(7x6)LWRTOXG(14x3)WPNDOOJCSZHKJA(23x10)VUBKGHFYHCEKZMNKIDYWIDY(25x15)FOFQQVCWHFRSRVRSYMYRCZRIF(141x14)(45x2)(12x1)UWTFPNJDKWSG(10x11)DHIUEFRJAQ(4x10)WSOX(53x15)(15x3)UHDWGLSDIHUYSMD(6x10)GALIPI(13x13)UBIUGFWYWMHCR(24x1)(18x3)SAGTVYELUTWSXQVWNI(10x7)GENZOXBYOG(4x2)RMGS(4177x12)(1752x3)(1513x4)(297x4)(10x5)(4x15)PBBT(160x14)(11x6)JCKLDJGYMGO(60x1)(5x4)SOMMG(5x1)MJENB(3x11)IIR(24x12)FQAMKJSXTZCAVAEDEQFQMWIR(70x12)(25x2)FWNHIGOHOUYCQSCUKSSCZXRJI(2x11)XF(17x3)VGTLRDJNDBERXWRAY(3x8)AJT(94x8)(68x10)(21x14)DUGIEEMZURLSHXEPSDMDH(5x11)LISKT(13x14)UMVAIVVRDTOSG(4x9)PGOV(13x4)(8x9)KWQGNJIV(8x2)RLEKKJWG(383x11)(75x1)(21x3)SBABSNIPBMLCXQECMVDGB(42x2)(11x2)ESWFOYEVFIJ(2x7)EL(5x13)OCVGF(1x14)J(189x1)(25x2)(8x13)SUFVDTKX(6x1)EOKRWU(28x4)(6x3)SRAGHT(1x15)H(5x8)VNPVG(24x6)(6x4)LOUBGC(8x9)EFISAKFG(9x13)XXKXSZNFD(73x1)(16x12)HOCOHBXNQRXTLLTJ(13x2)LGGHDLJZCIJOG(24x11)PHJDXXBUJTPSKMLGCALDLLGU(2x15)YU(91x11)(3x4)LMM(16x8)DYOHACMPKIHRDUVJ(44x9)(3x2)MDC(5x10)FNPGJ(11x1)OHPDVNRKRSI(2x10)YS(5x13)RURCD(134x15)(121x7)(7x13)XTFRZSM(70x9)(8x15)SNLOWPVP(12x9)MYKDYCTXIAZA(13x9)XMZEHDZTPTAES(13x9)TQLYGXTECVDBG(5x10)EXPSZ(15x7)GVFTLYYYBLGGUJO(1x7)N(14x15)WNZDWNHWJQOQNH(648x6)(83x14)(55x11)(2x13)RP(9x10)MJPOSAGCX(26x7)NXVQZQAQDWHABJFPRVMGSBACWU(14x15)ECVUEOUGLOEJUY(232x13)(30x6)(2x11)NZ(1x13)S(2x8)AR(3x9)DDI(45x3)(4x10)FFJD(7x7)ZRGGRXE(6x10)WJKSTC(5x13)NEQXI(85x9)(4x9)JCLI(14x4)HCVHVWLAFIUSIZ(4x1)BISN(26x2)HRPEKOHFGEJLJDGIWVLQOWJJKU(9x14)YXKJROSLO(17x12)(11x8)HFLFUQNVNMK(23x11)(1x1)N(10x13)TMNKWOOVPB(192x11)(26x1)(4x10)TCAP(3x5)LHN(2x15)DK(36x8)(13x13)UIDKJYPXBFPFO(10x8)BGWMNGEBRF(18x7)SIXYKHPJJONMMHQCRB(5x15)JGIRA(77x3)(5x4)MHAXO(3x8)WSI(15x14)AVHDFYABFZSAOJP(30x15)XNZULOJGEPQDRSHDYHHTBLEMRMPYSB(111x9)(75x13)(10x4)EBCINBYRMS(10x6)XNEZNHZJCE(7x13)HQOEZCA(14x4)OAIKFNURYAWDQK(5x5)VCRLS(22x14)ZROMOTQACGRYTSVCXIEEBP(16x13)(10x5)RKGNREWXGD(200x10)(77x1)(70x15)(25x5)(11x5)OEDHHSUIKNC(3x5)XKD(15x6)EIDHHIZMJRRAGSP(12x9)QNZKKKFEGAMM(110x1)(103x1)(74x12)(32x9)XABWGIVXFJVAMTILWOQXFNMJZSMAVHFY(30x8)TPBSRMCDOQNNAVZQPPZADGDWQAYWCV(16x2)WSDGMBKDJSOACIFW(2x9)XS(2401x11)(808x3)(1x5)F(99x6)(11x15)(5x12)BNHZF(75x9)(68x14)(12x13)UBFYCZHLDIRJ(2x2)EM(18x13)KNOLWZIARZVDYPKPPL(1x11)D(4x10)QFDT(136x10)(47x3)(28x12)(2x10)SO(8x8)TUBVOBJB(1x12)V(7x4)(1x12)R(2x3)TW(47x15)(40x10)(9x3)IPNMPMMCD(1x1)O(3x6)BKR(6x15)DOOFGK(5x15)KNCGF(6x3)(1x3)E(148x4)(9x13)(3x12)UZC(4x12)VKWP(38x8)(12x9)(7x8)IKLDJWW(1x8)I(9x5)FIBXVUYFN(72x13)(32x11)(19x7)SLSTSSNZPVSNIBPYQRS(2x8)UA(6x11)KXTTMX(4x10)MJMA(5x15)EKHFC(391x7)(3x1)DMD(64x4)(50x4)(8x9)IRDFCBWT(8x13)TKRVFJUL(5x4)DRSZI(8x5)YFTAAAZW(3x3)SYD(165x15)(72x7)(13x8)YXWPIFDIWTEBO(14x5)URQPORMHJUTGAY(3x9)HJB(18x14)VMTFPEBGKWWRLBODQH(81x4)(36x1)VPRXKSMKMDBXIPXGJMAGSEHEQLWAWRQWRIQT(7x13)RCFJLYM(13x7)FLKGGTMPZLEMG(2x3)JU(133x9)(15x1)YQJSGFRQQOLXAPM(15x2)NZUELUVNJDEECSB(56x9)(18x8)NMABOFTJAYZTEMSNTB(2x3)CO(6x1)ARWFWX(9x7)AWQFAIJNL(23x1)(1x7)U(11x2)HETPXKPHZAF(462x1)(171x9)(135x10)(74x14)(16x14)XNDDMDFQCZDHJZZZ(7x11)QBQIIIW(10x5)QNBFCGEEGG(16x3)QNDBYXJONNPSPHUE(25x8)(1x3)T(13x9)OJKYMWIWLTOKH(17x4)(11x3)FHYJYDFLLIP(22x1)(4x1)CLZN(7x10)RJFTIIO(2x12)MC(233x3)(3x7)AIT(40x5)(10x9)(5x1)LLWPV(17x11)WJGWFPRRSEIQAJYMM(36x2)(21x9)(15x2)OCWZSWWKTBYNHHS(3x14)KPF(105x3)(6x11)UCHAIT(25x8)(18x15)PAEPDOQFZFCOWXNKPM(43x1)(11x12)JFQAUNYHERQ(9x11)DRQITRCYP(5x3)WTJHQ(8x8)OHJBAFIB(19x2)DAFUAZEEDQNGIZRECDJ(1x1)P(24x8)MZPCRRIKUHWFOHDVOMNLOBMO(217x9)(209x10)(25x14)ZTSIKFJVMLJUQETBKJPPRTQTS(6x2)VAFWIN(89x5)(6x5)(1x7)X(71x14)(2x5)OS(16x1)VIBKGDVQXIBHAKNI(3x5)ZGR(19x14)MLKEFZKKQSYHAELTBGB(2x10)CD(65x4)(58x12)(3x1)ZIU(3x12)SZC(10x2)OQPHJZCGVW(9x2)BDWHFXWZX(6x2)PTHTDS(885x10)(613x1)(38x15)(11x10)DUOYNEGCCAP(14x6)(2x11)ZT(1x5)R(232x7)(25x2)(18x14)QVUIOCQAEZLOTZVXIX(77x7)(22x15)HVHLSATCKEFKLWYRPJXKSI(3x2)PNW(33x12)UTZCGONSVMLAPWTAZILLBRNDOABBZBLRQ(11x6)VCKFJVKSNFC(3x5)COU(86x11)(8x12)YLWMFUKC(16x12)HKQZWQXAQEZELTKJ(6x4)DKEVJB(16x14)WKKMITBLHTJDDIBV(9x11)XPSECVOAO(165x4)(62x1)(11x3)LBEETPNBLEO(5x14)RYYQP(5x5)UHLVY(18x2)OONYEICVPEDLQHIUSJ(36x4)(30x4)KQGSBKSAIDHYDRXEBMNLIHLYXVPEZH(8x13)SYVNWDUT(34x12)XLWWYVKPHEMTJBEQYGKHOQDSHVAGNVMFJK(139x13)(27x7)(1x5)C(4x15)JBBW(5x13)AJJKR(56x11)(18x7)MIPUIIWUHSWCQMEGYN(6x1)MEHVUR(14x11)LOIATKARYOHUJU(37x6)UVKYKHPRZUJFSTUUKFTQIIKKNZOLCQLLBJXVV(5x7)NTEYE(258x7)(33x2)(4x12)EAPG(5x6)SFYVB(8x8)BPGFSFVY(57x7)(1x9)S(44x11)(2x1)RO(1x11)S(24x1)GDRUIEUMOHITSMXDIDGJARJQ(15x6)(9x13)VJZKHBRCR(127x10)(23x12)(1x9)V(3x4)HEI(4x9)OFWY(10x2)BBSZRMWOHR(7x15)(1x15)M(31x5)CKEZCRPSEGEZDYRPWQUKNPMCBTNSPAI(25x5)(1x9)J(12x15)BSSMRDPRNPDY(3785x8)(8x3)GHOEWPFD(1806x14)(124x10)(105x8)(10x9)CDDMAEIXOO(37x3)(10x4)(5x5)VPMMI(3x5)GBP(7x14)VJHBABZ(18x14)XNTKDFTRBCZEACZALZ(14x12)TYBGBOIYRCVRZU(7x2)IORHKKB(590x10)(54x8)(17x6)UTOVYCYKDKKEIUCAI(25x9)(19x6)HIWIXDNGZZJGIACNPPQ(523x7)(41x4)(1x1)I(7x4)(2x6)GU(17x1)DZVZPWJUHXFIHHPFP(196x13)(5x7)OSDSW(15x3)SRTTJWWSYUJGBFF(27x2)(4x13)MSYH(4x1)SXNR(3x2)DPR(70x2)(16x13)QCNXMJXCKTMHZPBM(2x10)FO(25x6)AEVXNJGKTBCPMCUASWXOWHAQS(3x8)GOG(50x2)(14x9)AAGJSTOOBANCTR(14x5)MDCWUWOSELBMGX(4x10)YYLT(10x15)SQZZGFJLDT(133x13)(57x11)(7x11)DDNXMAC(2x12)DV(5x11)UBANO(19x6)NLORMPBFFBOYBQIBZWV(6x8)ASEPWF(21x12)(14x12)FHGWBAXHALMVQI(17x7)(10x13)CCDGPEISBV(2x2)OX(107x3)(7x1)QNMWYFE(18x3)LMFXMYUQKABGXVOUVV(7x9)(2x1)BF(37x15)(12x8)KTBAPXKZLKWT(1x9)W(8x1)GSDNJDSU(9x15)KYVQMDMQW(593x4)(255x7)(146x11)(40x9)(33x12)YLECKKJDQVAMUFFXPWGHUSOECCHZXBLWM(93x10)(3x10)BXC(1x9)U(2x10)BF(18x10)SGORQZUALUTFAVYLPW(39x9)WQGBTEVNTRHTIWQAWVJKIXJVCVMKRGQMPPMIFSF(94x13)(88x1)(5x11)EEUOH(31x13)FSLFXZCUXOXHREPXRPFAWSEABNPADCE(5x7)KEMTG(4x13)GDAZ(13x1)JCRZXVSFBDJZK(4x12)SITF(269x14)(24x3)(7x13)YXQHGKY(5x14)ROOVW(205x14)(10x12)ZZBVWTQWEV(56x11)(1x6)R(10x6)NFOTUTICTJ(8x12)JZWVIHBE(13x13)UBIZNBBEZOIID(28x2)(14x14)HLADLLCONGEPXC(2x2)NH(9x14)(3x15)YCB(69x11)(14x13)QXFXOJBHONIVVJ(5x15)YJMER(6x12)ITSZWH(18x12)IGLEYGQAABOWKMXFGE(20x3)(14x5)(9x7)MSOAXHAID(38x3)IZFZRYYEJVCORBDLTYOHLZHKVDKQVADYQISGTW(469x1)(18x3)TWUUVIXHGSCVVDOFDJ(437x12)(86x8)(40x6)(19x9)OSYGQMGNNLPBKXEPHQG(1x12)M(3x2)PQT(17x15)TQQBGULRUKIXBPYZW(10x7)(5x9)TZMKP(75x3)(68x14)(13x7)QTDRLDGGUIORW(9x10)JTAZPINDH(17x12)KEVECGSLNRMIRBAZO(5x5)DVTUL(199x6)(60x4)(13x11)NWEDTFZTDQWFY(3x3)JBP(4x4)PYBQ(16x11)XZRNQJPUOMZZMYYR(77x2)(2x15)ZK(1x11)V(3x5)BRV(30x13)NLHYJDBXRMCZOQRFXABZUZILEHZMZX(11x9)QONGFLBHCQU(26x3)(5x4)WWVVY(2x15)ZH(3x7)MDR(6x3)PCMRSD(2x1)AA(2x14)PG(44x3)(6x1)CVWMIH(7x13)HSQHXKD(13x14)(7x11)WGEPOEK(1507x5)(39x1)OMGCAFYYXDFVRVNEYPBATJCKBHTRSMGIWTDNIFP(21x9)BDIJRNXYMIRXXILMGIFQK(404x11)(23x15)(9x3)MWBTTYJCT(4x4)UEQO(15x10)GUYNAWLCLNHJPXD(5x5)CECRY(334x14)(67x10)(60x14)(4x13)ZBQU(3x7)SJI(3x14)GKR(2x2)YJ(20x5)DJQTDUIFRGDDOOAMZSFM(99x13)(47x10)(14x2)THIPTHUFVLLGXK(11x15)SQGQIYAKKOC(4x4)TNIC(38x10)(6x6)KCQRSL(3x8)JZT(1x11)B(7x1)XFDBCCU(147x3)(8x13)SWNXWSCS(18x5)VDRJWFBVUTWDFZDCLM(62x3)(19x13)NFZAMEONWPPNGFFODDP(14x13)XTOZXOYZJQBPQC(9x12)AOSMZPGZV(8x13)UZOKBJJQ(21x9)(3x11)PFH(7x4)JDSYTAF(1014x11)(386x14)(119x5)(31x6)ORPIVAGZSMEQRAAOQRSMOAFFWVVFBDT(53x1)(5x8)PRHTO(7x15)HXUNQUA(15x5)AJAJOJCLVYZBICO(4x4)DHZH(3x15)BWJ(9x6)TCXBOMXXL(190x13)(54x15)(3x7)OKI(8x11)TPHKZGWA(6x15)RMAXEB(2x11)QZ(7x7)BXCDHWF(14x11)KYUHEMBXSEADVP(49x4)NLMONTYNOIDPEALJJBKPLWHCKBVVBHHUZNGUSULFWUAEBQQCQ(47x8)(2x11)WJ(8x11)ZYDVAWLX(1x6)W(6x5)CJIWBA(2x15)LS(12x7)PEYJTBKWCUPT(38x2)(31x14)(2x2)CL(17x12)ABAKPQWMMGJTORRBB(4x12)GHGK(496x13)(231x7)(60x2)(11x10)PHJQCJOXFHA(6x7)BKEVJY(25x5)MIZCFGZJRGZDMKHUEGZMACELH(27x12)(3x9)SMI(12x15)CCJWNFNOUQGC(101x8)(27x15)PPDYHKWCWZYEEJJPUFXRRYIASUT(17x10)GGFQFHRYKJMXKBBAR(8x3)FTPTBVXE(23x10)CLAVUXEHWTEYZQNRYOGIQME(16x15)(10x8)LAZDAYDVLM(193x3)(9x15)OHPJACNZL(40x14)(1x9)O(17x7)UOFNZKLKAAMBPOHNS(6x6)SZIJWV(54x5)(2x7)FV(7x9)GEWYULA(1x13)U(22x2)ZVSVOAJXMDEMUPOQLTINZF(24x15)TWQIDBTWEPQBMHYKPLYZSVZI(33x15)(20x1)LZUNQTUVMDOOXEDUZFAR(1x13)K(52x3)(46x9)(7x8)WQWZCBB(27x14)HAZIUDWNIFUKQCAWYFJIGEWSLJO(85x12)(55x7)(48x14)(3x4)TBU(22x6)YFSPWGIYYVLXKMNBKZRFMH(7x1)LGZSHDG(2x10)HY(10x2)SLXHMEWSGF(9x8)(4x2)RWUE(434x11)(426x14)(52x8)(21x14)BCBITAXHZMXHHYRZDNOJA(18x1)FKEHYEEXRRMXDUPPLZ(361x9)(127x14)(29x4)(1x11)G(3x5)TXQ(9x2)KKWGNXDII(11x11)RVLXVHDTCUP(68x9)(11x8)YQKPSJFRDFP(16x10)UUEHIVBUTUFRUVDE(2x14)RX(14x8)GVHHPSBTEJUNKN(219x7)(105x11)(21x10)EFKAZUOPPUTTNFYUNJSZO(71x8)HDPQUFFZUXYPEKOWXNNZVQJFIZEYEODJSNYUOAZOIRQETXCRZBGJWWMMPPIIHJEGFYREGNR(38x11)NKGEVBBLDDLGOYUHLBWXSEAQHFNGABJENZQMVU(3x14)TTC(34x1)(6x10)NXQLWI(15x10)EQVLORVBUBZDUMB(7x8)(2x7)VA(5917x1)(2328x4)(814x14)(37x14)(1x10)J(24x6)(17x10)TRMNJJCWQUYENUBXU(445x15)(177x1)(37x14)PUCBAZGPSDOVSUSSZSCCWDCWYILTSEMJVIVZX(17x7)IMEOLAHQLTARXBTDR(65x8)(2x5)YN(14x12)QXEQUHYTHIHLPM(5x5)MTCMS(9x6)FGQLYLJNL(8x8)KHHJLUDZ(32x10)FXSLPGRBINYRWGIWKRRYSEWARGDQDPSW(10x10)WLADYFJIUQ(2x4)XX(209x8)(94x11)(36x15)UKGUJGLESXQIOASTZHMRHEWIEMXOYYIJUKAG(6x6)NCIDZV(7x10)JHACUVQ(21x1)KAGYAGPGGDOGOBXMSNJEQ(91x2)(30x15)UUMCWGDYGHNOBMJTPPZVSZEHNKZCAA(27x9)VXBDEFDWMTIRGHCQSYDYWCSBJPY(8x7)GKMVKFZJ(2x15)NS(5x14)BPRCM(15x3)OPXQHISSCCOQIEA(287x9)(280x8)(21x3)PKYXLJXGOKXSXBZTGDEGK(59x1)(12x13)VGTKVMCQIXTS(2x11)BF(1x14)W(18x14)JDKAOKYPNNXQMDKKGX(7x2)IHUZYBL(73x4)(9x5)FOVTPBVAV(13x9)EARZLZXSPEGWQ(3x3)QAR(11x12)TWJVZZSODUV(9x5)CGFVAEEEH(90x15)(11x9)YWKHVDSVGUO(12x10)GENMNJXISQVW(12x10)KBTDARSOPYAQ(14x3)NHGNNHWJAAESBB(9x10)CJIVXCNIZ(17x5)(2x10)VL(4x1)SSQH(430x7)(202x4)(1x10)O(187x11)(4x3)LYVC(94x5)(2x11)YL(37x5)PKLWZVRFRDJNMQUYXZZOGBUCFEGKARHPZRWLH(12x4)GJTFJWUZZGDJ(11x12)PQYMGSOEGFN(1x11)E(13x6)SMCPDDOIVMUJG(43x7)(19x1)ARSZUFFVAWVUVVAJYZG(11x10)DBEQVCPRXFZ(4x13)CILW(19x14)SOMYRGMAZBGXXSSVQQT(188x1)(2x7)OJ(19x1)(4x14)NIUS(4x5)MZXK(149x5)(5x15)XJJFF(9x3)WTNULIFAC(3x4)IEG(6x14)BUUOSC(97x15)(3x7)JDE(21x14)DRSIEZJSCSARMYNLHBXMA(6x6)KLXKVG(23x10)GWFKMOJCXJAZQRPYSIOJJMX(14x8)UVPDUFZQCLWMRY(1041x14)(487x4)(147x5)(18x5)(3x3)IEG(5x3)ORYNF(39x10)(2x9)ST(7x3)CNEFQLW(5x1)DWNFO(4x10)MENC(71x7)(10x4)WPXANNVOAW(9x14)HMVITPUDJ(2x12)ED(19x12)QFRXEDUDYNRCRGIQACU(1x4)G(153x2)(2x6)YX(35x7)(3x14)UFH(6x6)JKPPKO(2x14)NJ(2x7)UD(80x15)(1x12)W(5x13)TLUOY(12x13)OGETDQFVRFHB(30x10)VXWLNWQFZIBHSHJFUVXGMWQKRTPUNW(1x5)B(2x10)XJ(5x2)FLSQR(86x15)(64x9)(12x13)FWBFVBRJLSFO(9x10)ZPRGOCGIY(1x4)B(17x10)GLFZZASOWKMWKPDTX(10x8)CAFLEOCKCZ(54x2)(10x8)GGUJBSQXKH(1x13)K(11x2)XMEFKFUWGKB(9x4)AUZEFUEAN(13x14)VXYFVIJSRAVZZ(223x1)(104x2)(81x14)(29x6)IKMHIQWEIAZRBLNRYIQEOGFYMUCEE(3x12)NEU(20x15)RSUTWKPGWJJVIUDYXASE(5x1)YWRMT(10x3)VQUXAKOZAF(105x4)(2x3)AW(7x13)DJVQXBD(20x13)(9x4)DXROACCWK(1x4)O(26x13)(1x5)H(13x14)SBMKWBSXIQTUZ(19x5)GSHERQSGPSGZSAAODTO(309x10)(15x14)DNIEMCZLWCGEGSR(109x4)(1x14)G(45x5)(7x5)JTGEPNX(7x13)CNJHWWK(13x12)KJWMEKGRJRMQY(44x11)(9x15)OGVNXLNGE(16x11)NHPXBCXLHBHZSAQB(1x4)L(93x4)(7x12)(2x3)OB(7x4)SZLFMBQ(62x2)(2x4)OG(1x14)U(5x4)ZNTON(32x3)OEIHONIOMNLTJSVTNHGCSLRJXXPQURCA(66x1)(54x5)(15x9)LYQASFYTPBJCCTQ(5x13)GXJHJ(9x2)GPSBRVISD(2x14)RH(1x7)K(12x12)(6x13)(1x5)J(864x10)(216x7)(178x10)(1x11)G(154x11)(90x13)(12x12)UFQPSXIWWDUQ(13x6)FYWZJVJNQSKEQ(15x12)GSSWXSFQVZTXGOG(4x15)MOQA(14x3)YHCUXXWSJYCNQI(50x13)(16x7)UPECXWSSIGLSAZOP(2x12)RI(6x15)WWABBQ(3x8)BPI(3x11)NFV(12x9)ZYSZENNMCSPP(6x12)(1x1)P(315x3)(62x11)(55x13)SCWUEOTJUJEMXZCCKXLCTEJVIRXGIUJYKUXGWLAOPECYNRGQPDCOSQV(210x2)(7x15)(2x9)XX(153x6)(47x2)(4x2)UBGL(1x4)L(2x12)DX(6x14)MXHGZC(7x9)LWFVNCK(70x5)(7x5)UFXBNXP(7x5)PKQATYS(11x8)LHGQTJWLAZJ(13x14)OFBRVKMVTVBZZ(4x6)XWEG(9x7)GSTAYQFTU(5x6)TDRMT(5x3)HJYCR(12x5)IWDWYJNQWREP(4x9)YUJV(11x6)KMYUKTMGGXM(7x3)SURQLZX(311x14)(74x3)(8x15)WQZPCBEW(33x12)(27x3)(11x3)YUVMRYKBTVB(5x6)NGWOQ(13x10)(8x5)SBGOAMLC(223x14)(216x8)(132x3)(21x2)PDWWLLVUIJDBVMBAPPJZM(3x13)IYX(8x2)GIANHKIZ(69x11)BAKSUXGMPAGTWYBQTTGVDJUIRLJAFSLFOKSDYHKRDXLZUYFAYSRWLVQQVEZXXWLOVXQUM(1x11)X(6x2)ABRRNH(15x9)GMKKGQJJGUTMWNC(6x15)(1x4)I(27x3)(21x3)OOAVOEXIZFFOLRTUKQNPH(19x3)(13x1)YLFXGZKVYIPCZ(2656x13)(857x8)(30x10)(6x3)VEIEFD(13x7)(8x2)OFNGTNFE(214x14)(5x6)ICUDF(48x12)(31x7)(2x10)TP(7x10)WZVHLAL(5x7)KSICH(5x15)FVQMZ(7x6)AXHHPXQ(130x8)(11x14)PVOXSOISUKL(62x11)(10x14)HGAHGPYOTZ(9x14)XATSJXSGN(3x13)UHW(7x5)BDFILVO(3x15)GMG(37x8)(3x12)AMM(6x6)LOPLLX(10x10)YFQHLBVIMU(228x4)(196x6)(72x8)(2x8)UY(12x5)SBLKPHOBOVFN(11x15)WLTYGTOAQWA(11x15)RMCCQHSJLXA(6x9)YMIKNU(50x5)(3x1)UTD(15x1)ZQIGJQRVLIHWAXA(9x2)DEJZUYIAL(1x10)N(55x13)(2x5)JX(9x11)HIBOQBDTQ(3x15)DZW(18x4)EWTFFMXDRUKNAPRHRA(8x1)YWZNRIBZ(6x14)IYSFIN(355x14)(194x12)(69x8)(3x3)JWI(11x1)MWECPWERVLX(25x15)YETRDSRTQWJVQLUJMBAPEDYJS(7x3)ITRTVHQ(10x10)LCXBZSSHTD(2x15)YF(53x1)(7x5)NOKQXWK(9x14)KZWHIQACE(5x1)YYBBF(10x2)TIVHXKIADG(29x5)(2x11)WH(1x12)O(1x3)J(3x3)DMD(146x1)(103x14)(3x3)ERJ(38x9)GNCTOAYQMPVNQRIVMPVHFSSSGJJSSKSIDALFXX(4x1)NCQT(3x14)LET(26x14)TFTZFNESHNZTQJXXYBMSRWGAGO(28x15)(21x13)GRQXOPFOMEVVQLSLETKMP(868x8)(2x2)LQ(413x10)(16x4)BJDCAOAWPRKTUFRC(31x15)LHSNRKFAVXIRZAKFIYGXZPTCIRUNZHG(193x3)(121x4)(2x6)WL(18x5)MXOBIDOXCQZZZQZXYC(5x10)RNAJG(38x3)QVEWABIGEWSUMFJYHZQLBTEDHDFIYFVMXHCRRE(28x11)VQEPBWKREZPTIZFUUNGEMZMXHFZS(59x9)(4x12)NCCS(19x9)JYSMUMHFWZFPABRIEEA(9x8)UFKXIDPNI(5x6)SGDUG(146x4)(28x5)GQKNGDPHQEJTRWPEVQJYFFIQYYPF(28x4)(15x10)AWEFQWTZFCCLXKE(1x7)M(13x8)QBKRCQRRBJDAE(53x1)WANGCZVVKGDRBZQRAVCUZMMCGNJNSHNFXANYREMTHLBUQGGZHSHHA(17x13)(3x11)BXL(3x8)RNJ(359x12)(17x1)(10x14)VPPYMRFSRU(207x4)(90x2)(21x14)VUDTSKRNATYRMYKGYQYDL(36x9)LDLIDFVHNZNTJTSSEYXDGRVODTLKEEZNOLFF(1x7)X(9x4)MGCIKCCSN(10x6)FPZMNVWKXH(24x13)OUBLSXEEYBRLOLVGZDQWDLRS(58x1)(23x13)WINJZLMDVRARNTFALJISNQK(4x4)QSQK(12x10)UPGRXOKUXTDM(115x9)(2x2)HO(21x1)(8x6)PCXYREJW(3x1)UWY(57x15)(6x4)QYSTVV(12x13)VRHZQVQAUZZX(2x10)DE(3x8)VGE(6x9)NXXMWM(10x15)MIENAJJIIE(43x8)YVIJLFYFOEQGUPNDWTRHDCLNVFGHIAPANTFZAMFGJQC(327x7)(3x11)ALX(311x1)(231x11)(25x11)RGXIXRXCNBRIFYSSQBKJXMASC(47x6)(8x12)OIQIUAOX(4x12)IILJ(17x7)NXBRGOKPSBULLIBXL(70x2)(11x9)GARFKGTCOJL(10x2)DXLRJCFRLN(17x12)FLZSXBDSLPOPDFFEM(7x12)PHEQJMO(5x3)JDOEM(54x4)(2x1)TD(3x4)YSO(2x14)YK(17x3)SSRTVCFNRLIKNOFRP(2x12)HB(24x1)(18x4)AZJCRZPJNIDEXSAGWI(1x15)Y(15x12)SPBYIMRXHEWUTGI(8x1)TGFEVRJD(126x12)(119x4)(6x4)AQOOFZ(101x7)(59x10)(22x12)SJEEKAXVKZYKJCXXAWWNEG(8x12)WGKCHMBP(2x10)KQ(3x6)MYL(2x6)VA(7x9)(1x11)K(2x3)RV(4x2)GIJL(441x15)(408x13)(289x8)(43x2)(6x9)BQAZCP(7x13)IZBNZQI(5x13)ZGMYF(3x4)GMZ(78x1)(15x12)DNXKBBTWSCRPEML(23x10)WAYXCNEKHTIISDIQEWGDCNF(4x10)XQRB(10x3)OISRGHWVVU(65x7)(8x15)KIFIOIVA(10x12)WKMUSFSYTC(1x12)U(8x11)JSNCQHWS(8x4)HYCCNHFC(10x8)(4x13)BQCN(63x2)(3x2)QGR(9x12)TOXGGUVRN(3x7)COD(25x14)CMLKONRWTLWLVWYUUEPWSBTEZ(72x8)(19x12)ARIOAFCAISJRQDMDHOF(24x7)HGLXAYCAYXGUWPYTOXGQZWLY(10x1)(5x6)PRJUZ(8x9)(2x12)BH(9x5)(3x11)MXX(2x1)XJ(19x8)HNLSLARKZVSCFTEXCSI(13x2)JVOICRNXKBEJW(2422x8)(10x15)JYSIQCFZOH(2369x9)(17x3)BWRHXTCEWMIOWCBLZ(1509x13)(570x6)(246x14)(60x11)(1x10)P(3x11)HKJ(8x15)IWETKXOI(5x8)NEADO(14x1)IEAVMTLUXBXBDE(8x15)QBBQUNOR(51x4)(45x4)YCCREIRLYPDFFQVRVJLOXIKRTRMDMBKIRVKHITINOULDG(15x4)WIDWCKTMYZPSREB(80x10)(7x15)ZVNHHAM(3x7)BHZ(25x1)PFVLKTHEUATHNNGXYDZGIJIBK(16x3)LUTCOWZBFVHJTUBK(1x9)K(190x15)(14x4)YXOTSDWQOJIVDW(53x11)(3x13)CSD(5x12)SDBDT(27x7)YDOBGKBLGCECQIVSRGFGIIJBWGA(30x7)(3x2)JDT(16x9)SFFCTBDYOVMUKMPL(51x5)(1x8)E(4x3)BITK(15x7)FLWVPMCSZRMVWYV(9x15)EIJVRIWJA(11x8)CSGGGGATSAO(83x15)(68x11)(14x2)LLJVOPOHENDLAQ(3x7)DVN(2x3)YS(11x3)XSBUFRQPHOY(10x9)WVHAUYCVEB(2x13)OR(6x10)OSFCFB(10x6)OBBFPHGWAQ(30x4)EXARKTZXSTLIHCZZRQACWOPVJKZGSK(394x5)(86x10)(9x10)(4x4)YPKF(16x12)(10x5)AVCMULTYPH(28x5)(8x9)WRCBEQLZ(9x10)FDNRGFFOE(8x14)LANMMNWZ(47x10)(31x10)(1x6)V(2x3)RV(6x9)YUCWZK(1x11)B(4x6)EVKQ(30x6)(17x6)(6x5)QKMAXX(1x1)R(2x8)LC(204x2)(13x13)(7x11)BANBCOT(81x7)(2x10)BK(56x7)WBGFHSLVALLDLXHGVCQOAHKOFKAEVQOKSVRBIGNGGIYDVXVWOQUTUEMM(5x10)XGTUJ(58x13)(5x3)ZQYHT(14x4)ZZGNGNSJKPSGRQ(3x8)AKN(4x6)RXLZ(6x2)WEEFXH(25x11)TJFFJBAAGGOBSAZQMQUICAHYI(236x9)(194x15)(3x14)JVA(35x11)(11x2)GQGINADTCQS(11x12)RTIRLMBRRJH(61x10)(7x13)CBWDCZV(7x10)JVCBFYH(1x12)H(13x3)UGATYZUHDCEYZ(3x12)OVG(7x7)EIACOSC(56x12)(27x10)YNDHNMITCLTBYSXPTQUTOUCQIXT(15x13)MUOBITUAHZJSRFK(27x10)(14x12)LXCRVIHJNXRIBA(1x6)K(244x13)(25x5)(6x11)(1x4)T(7x10)SRNQHTE(86x10)(14x9)VWOSJAUKGACGWY(22x12)IOCFRYWTITQHRWWRGQVYDN(14x4)PFETLTSAJBRKLD(10x10)OJCWMEHWKB(50x13)(44x9)(26x1)JXVEVGQUOGOOUTKSOEJYVUBIQB(6x14)ZLEVWS(57x8)(23x4)LYXFADIWRECSPOFSVZNGBHV(21x13)CKUEOYZWLZRXIMLRNIUXP(820x13)(261x1)(144x11)(1x5)E(64x1)(18x13)FCVQICIADHEWSQXHWE(26x5)XXKJGNVZWFOVTEYUREEFCHICDM(2x5)HK(15x11)(3x10)ORP(1x8)C(39x11)(4x13)SUFP(22x10)KYQUIAWLMRKSIOWRBRDWWZ(27x6)(21x6)(5x14)GPQTG(5x2)OPMFU(1x14)X(63x3)(57x4)(6x1)IQFWVT(23x14)AVBLZTVEXGPWRROBTUNYYNI(10x4)DTKMOIKVHV(297x13)(134x14)(2x11)HZ(46x4)(16x4)VZZRZCXCXQRURHKS(11x11)VUEMWTKDREM(1x9)U(35x3)(6x11)YNEWZL(16x12)QMHAUQCYJZCYLMND(13x1)VREYZNFSUNKMO(8x13)RLWWXNXA(13x13)EGENXEUKVVSUI(31x5)(3x2)PGY(3x15)RWD(8x15)YRNZQEBO(16x6)(10x9)(4x10)VLXQ(70x3)(6x8)TNVWPK(1x2)A(46x12)(7x9)HGHIFJD(3x9)JAK(19x11)CCNIXNDAIXLLURONAJM(4x6)GFMK(231x9)(187x6)(16x12)KLYAJFBPAXQIVSLJ(4x13)KHJZ(61x5)(23x1)WMHPHZFOQDFEBWBLYWHUVYD(17x13)AGOTHNZXFDKTSOWER(3x9)OEK(37x9)(6x2)ZWBDUY(2x3)DK(12x15)JDHDZQWPZOJU(38x1)(4x6)NGKF(1x15)I(16x5)VYLULCVBLWHGFXWU(6x5)DBKVCG(11x11)JZESDFRQABC(3x9)KDK(10x1)(4x13)AABI(7x5)KLEGJFL(10x5)(4x15)ZWUS(8x2)QFDRMQGB(13x6)(8x5)(3x8)CGU(20x3)SRQEHKTTHHVEZBPBXYLJ(3x12)BUI(27x2)(21x8)(7x12)IVFOQOK(3x5)HAG(45x15)PZDPOLVYNVIARZUFYFYFSCRUBGUYFOIPJFWRQBFNPTTTU(26x13)(3x6)AGP(3x11)ROD(3x13)HAW(63x6)(2x10)TO(29x12)VCQIALMPBPWQRPGGDTYLIDVQJBVND(13x9)(8x8)UUNJYCJW \ No newline at end of file diff --git a/2016/input/10 b/2016/input/10 new file mode 100644 index 0000000..40bc918 --- /dev/null +++ b/2016/input/10 @@ -0,0 +1,231 @@ +bot 76 gives low to bot 191 and high to bot 21 +bot 193 gives low to bot 118 and high to bot 145 +bot 173 gives low to bot 91 and high to bot 36 +value 23 goes to bot 68 +bot 129 gives low to bot 124 and high to bot 155 +bot 58 gives low to output 2 and high to bot 51 +bot 97 gives low to bot 205 and high to bot 156 +bot 95 gives low to bot 21 and high to bot 204 +bot 56 gives low to bot 202 and high to bot 97 +bot 181 gives low to bot 144 and high to bot 101 +bot 20 gives low to bot 42 and high to bot 23 +bot 122 gives low to bot 190 and high to bot 50 +bot 202 gives low to bot 103 and high to bot 205 +bot 169 gives low to bot 125 and high to bot 208 +bot 91 gives low to bot 58 and high to bot 17 +bot 10 gives low to bot 127 and high to bot 1 +bot 119 gives low to bot 50 and high to bot 149 +bot 194 gives low to bot 38 and high to bot 77 +bot 82 gives low to bot 49 and high to bot 22 +bot 180 gives low to bot 199 and high to bot 71 +bot 191 gives low to bot 146 and high to bot 13 +bot 111 gives low to bot 186 and high to bot 89 +bot 75 gives low to bot 195 and high to bot 117 +bot 17 gives low to bot 51 and high to bot 184 +value 5 goes to bot 209 +bot 139 gives low to bot 81 and high to bot 57 +bot 36 gives low to bot 17 and high to bot 46 +bot 158 gives low to bot 30 and high to bot 6 +bot 40 gives low to bot 160 and high to bot 82 +value 11 goes to bot 175 +value 3 goes to bot 170 +bot 208 gives low to bot 14 and high to bot 104 +bot 113 gives low to output 15 and high to bot 27 +bot 96 gives low to bot 170 and high to bot 110 +bot 9 gives low to bot 102 and high to bot 132 +value 67 goes to bot 129 +bot 35 gives low to bot 24 and high to bot 187 +bot 172 gives low to bot 117 and high to bot 64 +bot 157 gives low to bot 65 and high to bot 136 +bot 179 gives low to bot 178 and high to bot 197 +bot 144 gives low to bot 172 and high to bot 2 +bot 51 gives low to output 8 and high to bot 31 +bot 177 gives low to bot 194 and high to bot 61 +bot 106 gives low to bot 134 and high to bot 52 +bot 148 gives low to bot 86 and high to bot 199 +bot 64 gives low to bot 48 and high to bot 146 +bot 121 gives low to bot 165 and high to bot 116 +bot 146 gives low to bot 9 and high to bot 69 +bot 199 gives low to bot 141 and high to bot 152 +bot 166 gives low to bot 62 and high to bot 201 +bot 102 gives low to bot 151 and high to bot 179 +bot 15 gives low to bot 80 and high to bot 3 +bot 105 gives low to bot 197 and high to bot 86 +bot 2 gives low to bot 64 and high to bot 191 +bot 3 gives low to bot 169 and high to bot 208 +bot 39 gives low to bot 43 and high to bot 98 +bot 196 gives low to bot 66 and high to bot 32 +value 47 goes to bot 142 +bot 110 gives low to bot 29 and high to bot 40 +bot 151 gives low to bot 74 and high to bot 178 +bot 164 gives low to bot 4 and high to bot 93 +bot 61 gives low to bot 77 and high to bot 144 +bot 29 gives low to bot 183 and high to bot 160 +bot 79 gives low to bot 204 and high to bot 37 +bot 188 gives low to output 0 and high to bot 72 +bot 131 gives low to bot 54 and high to bot 38 +bot 59 gives low to output 4 and high to bot 34 +bot 8 gives low to bot 101 and high to bot 7 +bot 189 gives low to bot 46 and high to bot 53 +bot 77 gives low to bot 75 and high to bot 172 +bot 206 gives low to bot 56 and high to bot 107 +bot 114 gives low to bot 188 and high to bot 125 +bot 207 gives low to bot 87 and high to bot 10 +bot 30 gives low to bot 106 and high to bot 11 +bot 167 gives low to bot 45 and high to bot 183 +bot 168 gives low to output 12 and high to bot 58 +bot 142 gives low to bot 68 and high to bot 111 +bot 138 gives low to bot 180 and high to bot 198 +bot 171 gives low to bot 150 and high to bot 35 +bot 5 gives low to bot 39 and high to bot 100 +bot 197 gives low to bot 120 and high to bot 173 +bot 46 gives low to bot 184 and high to bot 128 +bot 137 gives low to bot 0 and high to bot 114 +bot 7 gives low to bot 76 and high to bot 95 +bot 104 gives low to bot 159 and high to bot 203 +bot 103 gives low to bot 5 and high to bot 108 +bot 66 gives low to bot 158 and high to bot 161 +bot 156 gives low to bot 166 and high to bot 201 +bot 178 gives low to bot 130 and high to bot 120 +bot 1 gives low to bot 206 and high to bot 107 +bot 65 gives low to bot 111 and high to bot 143 +bot 150 gives low to bot 25 and high to bot 24 +value 7 goes to bot 135 +bot 48 gives low to bot 182 and high to bot 9 +bot 112 gives low to bot 22 and high to bot 202 +bot 32 gives low to bot 161 and high to bot 42 +bot 12 gives low to bot 61 and high to bot 181 +bot 155 gives low to bot 196 and high to bot 73 +value 73 goes to bot 140 +bot 99 gives low to bot 109 and high to bot 151 +bot 163 gives low to bot 131 and high to bot 194 +bot 98 gives low to bot 174 and high to bot 26 +value 53 goes to bot 4 +bot 204 gives low to bot 18 and high to bot 126 +bot 19 gives low to output 6 and high to bot 113 +bot 190 gives low to bot 7 and high to bot 154 +bot 88 gives low to bot 26 and high to bot 122 +bot 153 gives low to bot 113 and high to bot 33 +bot 49 gives low to bot 193 and high to bot 55 +value 37 goes to bot 150 +bot 53 gives low to bot 128 and high to bot 15 +bot 80 gives low to bot 114 and high to bot 169 +bot 192 gives low to bot 115 and high to bot 138 +bot 132 gives low to bot 179 and high to bot 105 +bot 57 gives low to bot 41 and high to bot 206 +bot 118 gives low to bot 20 and high to bot 162 +bot 37 gives low to bot 126 and high to bot 78 +bot 201 gives low to bot 16 and high to bot 119 +bot 145 gives low to bot 162 and high to bot 39 +bot 62 gives low to bot 88 and high to bot 16 +bot 133 gives low to bot 59 and high to bot 200 +bot 52 gives low to bot 19 and high to bot 153 +bot 28 gives low to bot 200 and high to bot 182 +bot 149 gives low to bot 79 and high to bot 37 +bot 117 gives low to bot 28 and high to bot 48 +bot 4 gives low to bot 171 and high to bot 93 +bot 182 gives low to bot 99 and high to bot 102 +value 2 goes to bot 92 +bot 170 gives low to bot 167 and high to bot 29 +bot 187 gives low to bot 47 and high to bot 63 +bot 72 gives low to output 20 and high to bot 176 +bot 209 gives low to bot 94 and high to bot 30 +bot 26 gives low to bot 8 and high to bot 190 +bot 162 gives low to bot 23 and high to bot 43 +bot 16 gives low to bot 122 and high to bot 119 +bot 200 gives low to bot 34 and high to bot 99 +bot 68 gives low to bot 175 and high to bot 186 +bot 85 gives low to bot 82 and high to bot 112 +value 61 goes to bot 45 +bot 38 gives low to bot 123 and high to bot 75 +bot 108 gives low to bot 100 and high to bot 62 +bot 34 gives low to output 17 and high to bot 109 +bot 90 gives low to bot 44 and high to bot 193 +bot 94 gives low to bot 135 and high to bot 106 +value 19 goes to bot 124 +bot 184 gives low to bot 31 and high to bot 137 +bot 134 gives low to output 3 and high to bot 19 +bot 63 gives low to bot 207 and high to bot 10 +bot 24 gives low to bot 157 and high to bot 47 +bot 185 gives low to bot 147 and high to bot 81 +bot 18 gives low to bot 84 and high to bot 192 +bot 130 gives low to output 14 and high to bot 168 +bot 78 gives low to bot 138 and high to bot 198 +bot 69 gives low to bot 132 and high to bot 60 +bot 161 gives low to bot 6 and high to bot 163 +bot 176 gives low to output 5 and high to bot 159 +bot 55 gives low to bot 145 and high to bot 5 +bot 160 gives low to bot 90 and high to bot 49 +value 71 goes to bot 167 +bot 165 gives low to bot 53 and high to bot 116 +bot 128 gives low to bot 137 and high to bot 80 +bot 67 gives low to bot 140 and high to bot 66 +bot 86 gives low to bot 173 and high to bot 141 +bot 93 gives low to bot 35 and high to bot 187 +bot 175 gives low to bot 96 and high to bot 70 +bot 174 gives low to bot 181 and high to bot 8 +bot 14 gives low to bot 176 and high to bot 104 +bot 13 gives low to bot 69 and high to bot 84 +bot 54 gives low to bot 153 and high to bot 123 +bot 135 gives low to output 10 and high to bot 134 +bot 101 gives low to bot 2 and high to bot 76 +bot 147 gives low to bot 40 and high to bot 85 +bot 205 gives low to bot 108 and high to bot 166 +bot 141 gives low to bot 36 and high to bot 189 +bot 84 gives low to bot 60 and high to bot 115 +bot 115 gives low to bot 148 and high to bot 180 +value 31 goes to bot 171 +value 13 goes to bot 67 +bot 195 gives low to bot 133 and high to bot 28 +bot 124 gives low to bot 67 and high to bot 196 +bot 109 gives low to output 7 and high to bot 74 +bot 25 gives low to bot 92 and high to bot 157 +bot 116 gives low to bot 15 and high to bot 3 +bot 140 gives low to bot 209 and high to bot 158 +bot 154 gives low to bot 95 and high to bot 79 +bot 92 gives low to bot 142 and high to bot 65 +bot 81 gives low to bot 85 and high to bot 41 +bot 33 gives low to bot 27 and high to bot 133 +bot 186 gives low to bot 70 and high to bot 185 +bot 73 gives low to bot 32 and high to bot 20 +bot 41 gives low to bot 112 and high to bot 56 +bot 89 gives low to bot 185 and high to bot 139 +bot 23 gives low to bot 177 and high to bot 12 +bot 125 gives low to bot 72 and high to bot 14 +bot 50 gives low to bot 154 and high to bot 149 +bot 21 gives low to bot 13 and high to bot 18 +bot 159 gives low to output 9 and high to bot 203 +bot 47 gives low to bot 136 and high to bot 63 +bot 143 gives low to bot 89 and high to bot 87 +bot 44 gives low to bot 73 and high to bot 118 +value 43 goes to bot 94 +bot 107 gives low to bot 97 and high to bot 156 +bot 70 gives low to bot 110 and high to bot 147 +bot 45 gives low to bot 129 and high to bot 83 +bot 43 gives low to bot 12 and high to bot 174 +value 41 goes to bot 164 +bot 74 gives low to output 18 and high to bot 130 +bot 136 gives low to bot 143 and high to bot 207 +bot 42 gives low to bot 163 and high to bot 177 +value 17 goes to bot 164 +bot 0 gives low to output 19 and high to bot 188 +bot 87 gives low to bot 139 and high to bot 127 +value 59 goes to bot 96 +bot 120 gives low to bot 168 and high to bot 91 +bot 198 gives low to bot 71 and high to bot 121 +bot 203 gives low to output 16 and high to output 1 +value 29 goes to bot 25 +bot 22 gives low to bot 55 and high to bot 103 +bot 11 gives low to bot 52 and high to bot 54 +bot 6 gives low to bot 11 and high to bot 131 +bot 31 gives low to output 13 and high to bot 0 +bot 126 gives low to bot 192 and high to bot 78 +bot 27 gives low to output 11 and high to bot 59 +bot 127 gives low to bot 57 and high to bot 1 +bot 60 gives low to bot 105 and high to bot 148 +bot 152 gives low to bot 189 and high to bot 165 +bot 100 gives low to bot 98 and high to bot 88 +bot 83 gives low to bot 155 and high to bot 44 +bot 123 gives low to bot 33 and high to bot 195 +bot 183 gives low to bot 83 and high to bot 90 +bot 71 gives low to bot 152 and high to bot 121 \ No newline at end of file diff --git a/2016/input/11 b/2016/input/11 new file mode 100644 index 0000000..1af853d --- /dev/null +++ b/2016/input/11 @@ -0,0 +1,4 @@ +The first floor contains a thulium generator, a thulium-compatible microchip, a plutonium generator, and a strontium generator. +The second floor contains a plutonium-compatible microchip and a strontium-compatible microchip. +The third floor contains a promethium generator, a promethium-compatible microchip, a ruthenium generator, and a ruthenium-compatible microchip. +The fourth floor contains nothing relevant. \ No newline at end of file diff --git a/2016/input/12 b/2016/input/12 new file mode 100644 index 0000000..4a30c0a --- /dev/null +++ b/2016/input/12 @@ -0,0 +1,23 @@ +cpy 1 a +cpy 1 b +cpy 26 d +jnz c 2 +jnz 1 5 +cpy 7 c +inc d +dec c +jnz c -2 +cpy a c +inc a +dec b +jnz b -2 +cpy c b +dec d +jnz d -6 +cpy 14 c +cpy 14 d +inc a +dec d +jnz d -2 +dec c +jnz c -5 \ No newline at end of file diff --git a/2016/input/13 b/2016/input/13 new file mode 100644 index 0000000..2796f96 --- /dev/null +++ b/2016/input/13 @@ -0,0 +1 @@ +1352 \ No newline at end of file diff --git a/2016/input/14 b/2016/input/14 new file mode 100644 index 0000000..b5fc5ff --- /dev/null +++ b/2016/input/14 @@ -0,0 +1 @@ +ngcjuoqr \ No newline at end of file diff --git a/2016/input/15 b/2016/input/15 new file mode 100644 index 0000000..3a43457 --- /dev/null +++ b/2016/input/15 @@ -0,0 +1,6 @@ +Disc #1 has 13 positions; at time=0, it is at position 1. +Disc #2 has 19 positions; at time=0, it is at position 10. +Disc #3 has 3 positions; at time=0, it is at position 2. +Disc #4 has 7 positions; at time=0, it is at position 1. +Disc #5 has 5 positions; at time=0, it is at position 3. +Disc #6 has 17 positions; at time=0, it is at position 5. \ No newline at end of file diff --git a/2016/input/16 b/2016/input/16 new file mode 100644 index 0000000..76bef3f --- /dev/null +++ b/2016/input/16 @@ -0,0 +1 @@ +10001110011110000 \ No newline at end of file diff --git a/2016/input/17 b/2016/input/17 new file mode 100644 index 0000000..0b581e0 --- /dev/null +++ b/2016/input/17 @@ -0,0 +1 @@ +gdjjyniy \ No newline at end of file diff --git a/2016/input/18 b/2016/input/18 new file mode 100644 index 0000000..ed283ca --- /dev/null +++ b/2016/input/18 @@ -0,0 +1 @@ +.^^^^^.^^.^^^.^...^..^^.^.^..^^^^^^^^^^..^...^^.^..^^^^..^^^^...^.^.^^^^^^^^....^..^^^^^^.^^^.^^^.^^ \ No newline at end of file diff --git a/2016/input/19 b/2016/input/19 new file mode 100644 index 0000000..704bbf8 --- /dev/null +++ b/2016/input/19 @@ -0,0 +1 @@ +3001330 \ No newline at end of file diff --git a/2016/input/20 b/2016/input/20 new file mode 100644 index 0000000..6e0ff85 --- /dev/null +++ b/2016/input/20 @@ -0,0 +1,1176 @@ +2365712272-2390766206 +2569947483-2579668543 +1348241901-1362475328 +2431265968-2450509895 +2146385-2259474 +2935960035-2940597034 +448888033-460770571 +1993433098-1995841061 +1479295247-1481053053 +2315798162-2331724795 +553124643-558300256 +2221609952-2221736791 +2528284970-2536413665 +1003828483-1008019254 +2460073010-2461391392 +1756403373-1774263374 +181708677-181820620 +4105906368-4108964079 +2803753677-2810396331 +3872622758-3876157728 +4222455331-4230019102 +2566685080-2569947482 +2546666999-2560222508 +2563776047-2567373420 +669206125-670672126 +3047016482-3068254467 +2412767568-2415681466 +3832227190-3836056110 +1752672085-1778896581 +3612964446-3613428692 +473462452-473507720 +558414399-558825886 +174888587-188726755 +3681687609-3688894180 +482298773-513769024 +1105376539-1109259196 +2626549708-2635018162 +2221569800-2221688559 +3217908441-3218365608 +1839378196-1839704131 +4006631148-4018637666 +1033070477-1039079720 +3614366173-3619803122 +1651631132-1657688516 +3148614241-3149307836 +2922404131-2925650734 +2967474818-2979959263 +3674334884-3677432948 +2194863661-2195245017 +1723397977-1746877683 +246394156-253325513 +577459246-594741177 +410425445-412372582 +1287281042-1288450150 +2546572083-2552459138 +3284505169-3292205355 +2572957308-2615378907 +2689345749-2699114021 +3296227141-3297518289 +3695819772-3697468770 +412372583-422306605 +2699114022-2714857638 +2059138236-2060952632 +117089981-120121935 +2848444484-2857342976 +352052590-358986830 +2656447256-2685668729 +454980721-460461657 +1027539209-1041751363 +1913417-3826887 +1062494257-1082863054 +2282966419-2286017938 +394757734-421655845 +2106693263-2115236723 +1124719891-1127653202 +3292205357-3293681013 +117011952-119543627 +2181915940-2184656064 +1045705528-1078679114 +290113491-291311039 +2278026399-2284902493 +841914150-848969885 +3952731875-3959197013 +1938643863-1940674602 +1036550327-1041084034 +63607243-63644812 +3769265734-3769975585 +51653989-55144083 +1799892196-1812471751 +1371739118-1372165373 +3561636732-3569279384 +1823678708-1830435069 +4012340693-4047186502 +3697468771-3719107288 +1963424400-1964720496 +254179574-261945026 +2639565460-2643861101 +2489776747-2498561347 +1528974499-1529888310 +2272121277-2279366265 +2063178650-2063502047 +2631423649-2635927617 +1360641171-1369732967 +352866001-362403909 +2982988833-2999220870 +2226316378-2236701767 +3581998091-3588302160 +3905167888-3909688736 +2410405177-2416922214 +2221793009-2222205811 +1682009735-1689579607 +2551217715-2555588513 +4111825736-4139764825 +1495499947-1496504480 +1126815599-1132033603 +262946528-267481743 +2190431207-2194125961 +3056852838-3057666713 +3852657771-3855744213 +814188270-815660610 +1370082674-1372874146 +2698266605-2707295552 +2623491116-2632182274 +556237979-558470744 +4221727965-4242434586 +1373248698-1389927798 +3269334240-3276265066 +2266535688-2268367969 +3098582122-3101205009 +1909408103-1909548530 +2822711293-2831177968 +848969887-859626993 +46887186-54157057 +2762897904-2771117185 +289933294-290354931 +1088830930-1093432672 +2443230763-2461276873 +3160139479-3173260442 +1527097290-1531435951 +1799540955-1800006056 +1369732968-1371815843 +2622838271-2625104782 +1173393865-1173503336 +1909254997-1910983838 +1299664180-1322001993 +1688665208-1691812251 +1887810466-1890884113 +2869886503-2875645396 +582392092-606025972 +4267022320-4275265906 +3859201994-3893484463 +3589262267-3596650599 +912537182-912907636 +2221654107-2222088287 +4057523345-4060042618 +3697080984-3697115223 +970916665-977773714 +1357371244-1357771399 +300561490-351155869 +1312775715-1335513565 +117013732-119708846 +425465828-460547231 +1934707608-1943900203 +1872455505-1883131224 +1265429510-1270058235 +1351349572-1360842989 +3949672363-3965375662 +757393179-769131755 +1140550254-1155907063 +2362581541-2384858143 +3767349312-3769448384 +1010152192-1021680403 +3719107290-3724947612 +793186065-798493071 +3543437818-3570393128 +2142580414-2155598642 +570014715-594180691 +2268145476-2268275380 +682993360-688547687 +882429283-885295513 +2061317899-2062340917 +3080454969-3087996304 +1509787381-1515229305 +1792788995-1805479181 +471893034-478588629 +2469289299-2469834064 +3435184443-3439758093 +1972314440-1984109813 +897623204-906019235 +3309685433-3316891985 +2022851-2168311 +3425944138-3434725507 +1573705848-1574774103 +1843461004-1851252409 +275830302-287491224 +1099676859-1106356804 +3201885249-3216240573 +890516875-914189870 +1045475561-1045705526 +858602633-861745342 +1722754472-1729362918 +1999030390-2001346788 +2295812200-2297395314 +545671618-547361797 +1925762580-1932504567 +2469834065-2488585001 +962891401-973508116 +3056544703-3057098061 +1964666710-1968283715 +4153249699-4156067673 +2269509587-2272121275 +113577026-129098597 +2544925116-2547575012 +3930954397-3932696547 +1940360721-1941087983 +989005807-1006335777 +1715546619-1723575645 +946249856-956419020 +2580089074-2609078369 +118138523-133562721 +1418940971-1433573243 +3116049988-3117047351 +2819201530-2820204193 +609029102-631859346 +1236996385-1243667312 +2071060282-2090563034 +3275297026-3287385948 +557242553-558842013 +2340595893-2346006065 +1763694009-1772957054 +3039028781-3066739550 +2678983882-2689345747 +1496448610-1497010926 +3783756301-3783968438 +4011127020-4023009734 +2455737032-2469289297 +911816966-912509075 +2275917994-2288190359 +1405416423-1419176714 +2642680237-2644300616 +3826507233-3826769507 +3791085814-3803870306 +3990925848-3994761120 +1574446563-1576228425 +1634308286-1635388054 +3770072854-3783827763 +859626994-872001663 +1678998549-1682009733 +3615640609-3625220434 +3756046034-3759831577 +4219956234-4225730655 +1944691819-1972314439 +3232924024-3243647347 +2819804415-2821623032 +1041187113-1041438684 +1234384868-1251566238 +1707319358-1710481231 +3338081719-3342039539 +3919045080-3932932694 +1618322267-1618915594 +1196499550-1204759606 +354238054-359105442 +2788225259-2807617695 +1817797800-1818404115 +3314463142-3319629375 +3220899130-3223901824 +463163318-471893033 +2108731258-2118466370 +2531905696-2534895562 +872001665-885348477 +3618924494-3633614536 +1286808229-1287787318 +1686812571-1709789731 +1667289113-1675800071 +1288046293-1288760085 +115133053-118531268 +3084925009-3087972171 +2107005650-2118671640 +2206689406-2208120987 +2965687206-2969477736 +2789286984-2795621824 +1510800557-1520242850 +1372577266-1373248696 +3908185397-3914112662 +3027341861-3028862050 +2551506862-2563776045 +3457830284-3476082138 +2330638928-2335068417 +3754091818-3760153804 +1700898897-1708456845 +2653919552-2678983881 +1718586248-1752672083 +1909974346-1911447514 +740859879-743318742 +632094677-641123609 +2717310519-2722969125 +2429156614-2450453303 +3573769011-3581998089 +804909837-807598669 +2645933387-2650206634 +3906744049-3908084382 +1088710392-1093793913 +2945948817-2961003764 +2154975171-2170652704 +705358087-723167844 +2623774017-2637924339 +1527448631-1531925852 +541284581-550148134 +822228123-845259076 +2725319909-2726283018 +90504693-97857953 +2151018859-2156845889 +3875175237-3880661438 +2174472127-2175522174 +1053913106-1073312877 +4151957167-4159217706 +408096359-410929997 +3494935822-3518493936 +4018415387-4034413199 +1318527150-1335393593 +4094276281-4100264566 +3296618992-3305730207 +3827540382-3834020598 +1792716600-1804353554 +486286244-509649426 +2820166268-2822489545 +943117353-944243402 +4250879477-4288162587 +1092150174-1096445797 +659715146-669206123 +424405829-425465827 +2903268723-2916344920 +2825756580-2827850093 +2197813619-2221567221 +2222205813-2242661939 +1909398015-1909639813 +2085646-2171133 +3237410359-3243293444 +2488585003-2500532520 +1719496111-1733109286 +3101107881-3101724703 +4292290133-4294130012 +2682533716-2682557737 +478588631-499658423 +2056703122-2057132500 +10759205-22974868 +288949273-290120633 +3295342764-3300711505 +4144392189-4146507469 +1377845154-1383061661 +1470042236-1484545053 +2929570686-2942193911 +663447966-667304777 +2250137488-2260767053 +2916852498-2920130617 +560916716-582392091 +3826421034-3826753059 +4205391625-4209582225 +3098065613-3099195513 +1523618109-1529220622 +1280876899-1287180580 +2896461712-2914779142 +3059619066-3072535463 +3594066104-3603694944 +206442883-222778068 +4057343389-4058593137 +3040726007-3067509699 +783978732-804864426 +3782497016-3783855888 +3771309186-3798156648 +1806086747-1808455979 +2509648237-2520128379 +2655519435-2688778011 +466454947-475885979 +764443451-778431348 +942699799-943817373 +2707406125-2710335531 +3532789271-3534889466 +161216255-168066537 +3959810178-3972378256 +1216245-1730562 +820810878-827132162 +3840466779-3849871670 +241662240-244306234 +1308539-1732730 +2644300617-2653919550 +1245139600-1257000695 +472344288-476821359 +360421650-365291918 +4157074002-4160043617 +3475229162-3494935820 +4021239535-4026837101 +1122221983-1122467302 +3524503684-3534615536 +294914250-297074740 +3315785542-3320016807 +3207399725-3218904107 +3399796042-3432628902 +2415031178-2417587472 +637037746-641909503 +4125051011-4125349366 +2792226042-2796333812 +1090609063-1093811054 +3826753967-3826928901 +2845981709-2846071766 +1884551628-1888679834 +1867383722-1901804607 +1138049177-1150698174 +2489168484-2503275369 +3844741449-3859201992 +2059227603-2061190162 +2725980853-2726316169 +3950461578-3982076979 +2964040486-2971816053 +3117022269-3125872507 +4205459617-4208901905 +3223901825-3259939574 +2043681871-2056703120 +2862497588-2874433217 +1545573025-1550810115 +558470745-560916714 +2204957059-2206941462 +687956243-693820818 +1006335778-1027539207 +1683104091-1691973027 +1281662230-1286185165 +2457027525-2467523425 +3910944384-3915139260 +1812471753-1823678707 +3439758094-3449375742 +4180271874-4183028052 +3145750655-3149232555 +1063127835-1081739469 +912453784-912787957 +757841367-763656320 +970465196-984461751 +2682535644-2682561899 +1103041548-1124501094 +711829065-712418631 +786434450-810431275 +526718776-547605908 +411642224-419649420 +442563986-451494166 +3916556398-3932893207 +4178915874-4181659654 +931371848-932759051 +226571744-227466085 +586436371-589611958 +2138685204-2148239206 +2786369133-2807032221 +3902400566-3910944383 +356708623-360421649 +1195358721-1201587206 +2986693403-2997511709 +1160749272-1164268031 +1138794253-1160582337 +1316625314-1322081912 +2546426233-2547478858 +631117298-638088180 +490462991-510876262 +1585596253-1598442115 +1691404689-1708777514 +21958182-34768708 +3033283449-3033532644 +850358573-850941928 +2532323467-2533835875 +2571607510-2576905211 +3838468698-3844741448 +3633614538-3658935402 +1267571462-1273337904 +820046167-821948762 +1818557964-1821003970 +1656682467-1658689820 +3572000906-3576107308 +3518493937-3521124207 +2316622941-2320028763 +3234261481-3244439202 +1762170451-1767000441 +403695570-413282241 +1446563227-1455229013 +994814766-1020194067 +1103304248-1123109762 +1358159388-1364262240 +2643072595-2647827063 +1761152300-1771038779 +814235534-818070036 +3658935403-3674334882 +1143690782-1167938223 +956027555-959929296 +78736212-103134510 +897919912-910244590 +991162491-1009670900 +3730115132-3731119302 +3693059535-3697085999 +310695719-311355138 +3792190887-3811128942 +3236342985-3241419480 +932285275-939464714 +1690112643-1694719438 +964486517-974083673 +2886004632-2887772395 +400201502-410632385 +4151877322-4155177505 +4146634947-4148274967 +4142431183-4151685720 +108233930-110782083 +11764001-28124816 +255280185-265644134 +1604894700-1610024510 +2746388028-2755644917 +257526100-265688716 +2979959265-2981174695 +3675625153-3678243537 +946960127-957058942 +158966202-168896939 +885386378-890516873 +3944559186-3950461577 +3436884337-3440035586 +1998995929-2004489839 +1029028825-1029925818 +860116537-869330710 +534657657-536577765 +2792605215-2809178574 +83479693-101592615 +206521107-208527729 +3681963513-3682865724 +2913358381-2916852496 +3172620089-3183275609 +649130727-656267839 +1264638271-1274096286 +1029718677-1030140380 +3643603238-3653831146 +3061231145-3063632127 +2585980608-2609955243 +1316394181-1319520040 +211076367-219280164 +3240385969-3251259062 +2120060-4441033 +3278363479-3278515140 +3831551420-3838468696 +1173779057-1176512368 +4071597616-4101375293 +2781084212-2783642342 +2743354447-2760958028 +4114529275-4137230617 +3752969032-3767349311 +424150040-425393208 +26532978-29480043 +1006115405-1009958851 +2845371314-2850260793 +1267920977-1271152591 +3709512503-3716036930 +3368253421-3392905399 +2452693801-2465509837 +3534255481-3543437816 +4160043619-4178915873 +3954591115-3974152768 +677298953-691027000 +1685806773-1690772816 +436652774-450179768 +3588302161-3612662806 +83367242-100910390 +1633907668-1651631131 +443592135-463163316 +369907897-388846763 +388962875-390004346 +2306861374-2315798161 +591078-868213 +1229951959-1242298204 +3014332113-3031527143 +1171615958-1176617364 +3062064123-3063637314 +2087862269-2089342604 +1672729270-1679677272 +3733541117-3748642488 +3075188797-3083692289 +2520128380-2544925114 +1997250353-1999097991 +2326010770-2328459525 +3335649815-3359666038 +1093811055-1099676857 +1939453065-1940109461 +2260767055-2269509586 +1694740480-1710532828 +48862588-54135685 +2194651149-2194876489 +3261664286-3284505168 +712077073-718032346 +2714857640-2733949192 +3084808742-3090381388 +2326056027-2328734209 +2966286735-2970371217 +3682357002-3688783396 +222778070-246394155 +255495869-263746137 +778431350-801595041 +554816671-557769418 +2287063002-2290447136 +1204759607-1221061934 +3191695158-3195022731 +1937411520-1939682964 +3683208458-3683317560 +3724947613-3752969030 +2655947194-2686070304 +3319632926-3320555728 +3874349431-3892283480 +3524323559-3534255480 +3392910453-3425944137 +2864015808-2880343338 +3603278173-3607977481 +2221685432-2221741276 +3821784373-3831551419 +2340560220-2355630152 +117804595-135520674 +970739667-977759407 +612826307-617050682 +2420630784-2422511751 +4041221294-4053276651 +1783176414-1792788994 +1661820734-1672783713 +2285020555-2288812517 +1145717399-1147147799 +1160582338-1171067340 +2969768222-2978509720 +2241558918-2248366876 +3842088825-3849544675 +3220876335-3220899128 +3612828177-3614366172 +1848099469-1860064576 +1453352598-1457451860 +4131921387-4136290418 +1186411872-1221604187 +4271276227-4274727942 +1972041789-1977505124 +3130652998-3145750654 +4206797669-4211676679 +3382975599-3392910451 +3075497812-3098065611 +2819298198-2826283738 +1358156767-1363896494 +1209838280-1225553470 +3101724704-3130652996 +2874696153-2876992505 +1279193633-1279368007 +2044384098-2052585053 +1778896582-1783176412 +365291920-384429458 +1410453073-1423638312 +3149307838-3160666386 +3115765500-3124715535 +2524674650-2540040296 +312386716-315692662 +3195022733-3220876334 +1528945394-1531524966 +1190783271-1221823104 +1374677110-1382957599 +496392908-504137572 +3152103031-3191695157 +1706509680-1714907014 +2642314466-2645833233 +3893484464-3898889230 +3331226932-3338281520 +3421612598-3423251948 +2376098338-2382856038 +30669693-46887184 +3701470920-3709586949 +974101275-985095687 +3754694204-3762024757 +3199920021-3213832756 +3937237796-3943044170 +519102356-526718775 +3595418820-3608680530 +3132319868-3142292446 +2415135665-2422698971 +2512723394-2531872720 +2831177970-2843852399 +4067331024-4083628214 +974512957-981076935 +1939102143-1939797065 +3362465663-3382975598 +1081727915-1086599484 +62892604-66661231 +3596147589-3597403547 +2427949019-2455737031 +734503945-751972019 +4274360201-4275638496 +546152564-553124641 +1672412404-1675035441 +1799317782-1799878394 +3899929168-3902400564 +2090563035-2093365570 +2502990872-2504573807 +196879713-202383888 +1041219675-1045475560 +288505150-290311818 +2335068419-2337479072 +3115770397-3116114052 +1759780530-1779756738 +3848355565-3857570445 +2887262512-2892926939 +3297920188-3304753747 +2837362258-2846430149 +2365620967-2397295181 +2130880010-2144109636 +850356647-852183547 +2547575013-2555977963 +3293681014-3298307912 +2838677121-2848444483 +1378317671-1378385207 +3932893208-3942847442 +2775955760-2802739818 +3000621764-3001860005 +3878325586-3889110731 +1634960329-1635718125 +3570393129-3575649486 +3359666039-3362465661 +2221578838-2221700311 +307265752-314765240 +823227617-824317407 +923124066-946249854 +4151685721-4154340765 +424138334-424809502 +2057132501-2071060280 +647961093-660004652 +3307622347-3312520961 +3259939576-3281494745 +1887577612-1888900146 +1189371904-1198571936 +1234031907-1247954865 +610600287-612214510 +1630355907-1632283896 +1634415839-1636037634 +3824506379-3826246351 +3847566968-3849532976 +1588959146-1616167991 +4142261326-4149638559 +1813668039-1819668003 +269833124-284269645 +1445572315-1448859107 +3312520962-3326324517 +4134904662-4142261324 +286352057-295053323 +2093365572-2104458852 +2964496323-2978996654 +1589041634-1610897669 +4017779362-4023249218 +710580357-719926955 +3695217573-3697711534 +3119922419-3128398873 +1973300202-1979672054 +2647661251-2652365333 +1618800796-1618963161 +914189871-916240439 +70592825-75578072 +1931515004-1937254405 +2472726189-2479284501 +2073603890-2087967511 +4288162588-4289142874 +1651148640-1652304033 +384429459-393421986 +208944718-214460830 +250825858-254179572 +2845961347-2846405094 +3683052176-3689023082 +2548531964-2548558043 +3326324519-3343805565 +351155871-359398929 +4232721631-4250879475 +3459529479-3474108150 +1909441969-1909689691 +1932119221-1939290766 +2762860344-2765962584 +942511347-943894644 +3682865725-3687083046 +742172772-743598853 +382176907-388584692 +4086908517-4100905688 +2961073615-2978624771 +3753936484-3758588765 +357622008-361838888 +393421988-409475636 +4210437626-4216399302 +3866457812-3901968872 +943727563-944059707 +2919715277-2920771136 +1627803704-1630982586 +1111194889-1126815598 +1637697658-1639829508 +518330921-521079203 +558771603-558831008 +1627521188-1629733196 +2531822532-2533342258 +1722060329-1725371759 +916240441-923124065 +2267284366-2270810897 +4289142876-4294967295 +496711691-511059121 +297074742-300561489 +74957232-86751750 +67820201-89362971 +879194017-883306027 +874758234-886383957 +518363334-546855682 +606025974-631117297 +27195455-41332971 +2870905604-2878387377 +3084839165-3086179322 +4152483704-4155490661 +3992240000-3998336821 +3612662808-3613179304 +2144109637-2171654935 +2912881674-2913811866 +3683215934-3683776929 +744692065-746814759 +648698022-654389148 +770363291-773532218 +1961187739-1981201058 +833212292-844968840 +2279366266-2306861372 +1525437167-1529355367 +783203836-797187462 +743069797-747604954 +2726435221-2743671505 +716822331-723267087 +236924668-243049788 +1819907565-1821265293 +2459006570-2462769060 +261945027-269833122 +2251634561-2252542708 +3077512678-3082900025 +4178034955-4178140732 +517575846-518330919 +1833921219-1854646670 +1863586802-1867383721 +1688123912-1691016809 +3613097833-3613214641 +182210169-189009626 +299267101-339546807 +829601778-834904352 +481358143-505095971 +2224935194-2228740812 +4083628215-4105906366 +3938942245-3941751692 +983920144-989005805 +113931896-118379003 +3330676862-3358266446 +3778252069-3806861354 +751972021-764443450 +4108964080-4140242300 +1576228427-1585596252 +2268397999-2270766178 +1924059333-1931515003 +3938054379-3940855319 +4216399304-4232721630 +203859682-211512236 +1506317175-1508820099 +2082159387-2091680640 +3509536520-3513399808 +152981470-173147952 +1984109815-1997250352 +2104458853-2130880008 +2998034397-2999606176 +2081152422-2086162418 +1628568484-1631818535 +1469298549-1472797586 +2706655046-2709540287 +2171654937-2192635909 +3997842771-4006631146 +3806238246-3814481469 +3687035617-3693059533 +1714907016-1715546618 +2268214620-2268517442 +4168814485-4173314719 +4290592397-4294496881 +3026587742-3028212258 +109629716-117011951 +2227635708-2258663804 +4153336546-4157695457 +4183028054-4210437625 +1359555284-1365047163 +385317924-388866137 +956914163-980424242 +971923920-984657935 +3372104235-3387022483 +2459697795-2461023615 +4054424978-4061962114 +2531190780-2540332177 +981076936-984403766 +1943900205-1955571856 +1092170655-1096453697 +4188253293-4210273531 +1476473552-1484327172 +422306607-424937626 +3616461090-3629002324 +280581464-294914249 +1814486124-1821348543 +538601282-545721176 +4165166009-4178721021 +1988368657-1999218926 +3683738155-3686068920 +2339202139-2341973045 +1618530377-1618985589 +1061405927-1067161088 +1586686087-1588534608 +4187607606-4189350663 +1129004649-1138049175 +3769446976-3770072852 +2023963853-2036589722 +2154869719-2158914742 +4239846195-4246356778 +4051209708-4054424976 +2896089935-2914808278 +1435815375-1450285026 +145909747-170128283 +1885652106-1891564474 +1282644829-1292952382 +2286826126-2293672278 +818070038-841914149 +3335638754-3341961960 +1618857702-1619359406 +3939705062-3944559184 +2203145858-2219094358 +3769401246-3769482197 +2922943756-2925135318 +3468068444-3477636928 +3778956860-3790280017 +4073540020-4096504022 +3814481471-3828523511 +1415617645-1423826462 +3031527144-3033419898 +4062168143-4068151354 +1286492281-1286940405 +2428194387-2465453645 +801595042-817285567 +63581388-63635672 +4117266117-4119442082 +11602511-25799879 +1092570588-1093985932 +3296956776-3307622345 +2221567222-2221613969 +558232945-558709807 +3639754422-3650743589 +3437931121-3440846855 +3675035968-3681981311 +1433573245-1442758111 +1471139709-1473858291 +629519040-641689686 +4117209430-4119122433 +52713726-57736371 +2706992741-2707821184 +3602086332-3604188767 +3915139262-3922929260 +1634469269-1636558185 +2200025248-2210330662 +3521124209-3529596728 +1086599486-1093798819 +1309801249-1314575942 +3656835500-3663825208 +1519294415-1521662532 +3848027323-3849548785 +1907694975-1914277280 +1318019570-1322413873 +3338464003-3356847371 +3982076981-3997842770 +1267783432-1278940858 +1658689822-1678998548 +2857342978-2887262511 +4061962115-4062168141 +1459666268-1492181176 +2615378909-2638121319 +4134040495-4139294664 +1278940860-1279210793 +670672127-703998141 +1279368008-1294345099 +1816032308-1825117169 +5682-591077 +3367275968-3384214515 +64315567-67820199 +2502622426-2509648235 +2384858144-2400945744 +2328968349-2329640362 +3697104193-3697121849 +2192635910-2197813617 +948400714-955452470 +1616167993-1628568483 +2344207001-2347832306 +4065174279-4066995234 +2501136056-2507987954 +238478069-238584796 +2983949242-3005737605 +2500532521-2503210360 +1393768957-1418940970 +4267061677-4267804887 +1878114-2022850 +1632283898-1647333210 +2400945746-2409724446 +2869179197-2876746583 +1106490177-1115256489 +4061093101-4061131252 +2810396333-2822711292 +885348478-889915910 +1830435071-1837694596 +1837694597-1863586800 +2658513248-2682334850 +2924284916-2928154608 +2880061840-2880744733 +2598258370-2614301028 +2919390200-2945948816 +724929680-734503944 +2662412166-2665780598 +1178177517-1198965930 +1557905942-1573183772 +3563817129-3577035331 +486771190-517575845 +3645420942-3645846054 +703998143-706055398 +2004489841-2043681870 +2409724447-2427949017 +3620235480-3626019843 +1551168080-1572791868 +3438270145-3440465241 +2043792287-2048576193 +4189961855-4207923535 +1572791869-1573838792 +1560630061-1568705988 +1945995416-1972395216 +3154257326-3170804412 +2638121320-2639565458 +641909505-659715145 +706055399-724929678 +1322001994-1348241899 +178460965-196879712 +4290596074-4292022319 +951225450-964656102 +1286720286-1299664178 +4267798816-4281427565 +2473150224-2483209210 +1466959722-1495499946 +202383890-206442882 +2980151171-2982988832 +3724920258-3748749341 +3449375744-3467888004 +4793565-27195454 +2763578266-2769445414 +3551501696-3577270805 +103134511-108233928 +3985777319-3995983153 +4056112707-4056303018 +1113372127-1127291361 +3450126345-3475229161 +4289501916-4292619355 +2447323006-2456025596 +3080941568-3084548509 +3455764745-3467066059 +2180674525-2191641368 +4011611611-4029364618 +2171134-4793563 +315731014-335056809 +3397886846-3414158394 +2762557710-2767579504 +1521662534-1545573024 +1442758112-1459666266 +1415183222-1422510841 +1396869120-1432423701 +173147954-191770601 +307244055-331462148 +303700109-329107070 +3367139562-3375242354 +1257000697-1267783431 +3441110255-3441542687 +868214-1216244 +2348268821-2362581539 +135520676-152981469 +3590167439-3598674695 +1497010928-1519294414 +2990327259-3014332111 +1174787708-1178177515 +3724679263-3737472563 +3530672381-3532472131 +2337479073-2362367605 +204565716-213455559 +2725271867-2749432076 +3527158276-3529338030 +1732731-1878113 +2234307311-2250137487 +3503793539-3507292135 +2764054784-2767560591 +0-97802 +3497142772-3509229752 +2252345137-2252983294 +2511786509-2525437254 +534322385-552469473 +2032077105-2039311638 +1930871028-1935831989 +1999927802-2002593859 +2034870570-2046166201 +2416773420-2418971941 +2326019770-2327054298 +3587252557-3596385967 +3004640283-3006650230 +2504389437-2504604683 +1389927799-1393768955 +458800944-461346308 +1225553472-1229951958 +1901804609-1911376516 +628245201-636898070 +1241514379-1244482846 +1911376517-1924059331 +2179314-4534265 +2590117386-2604230483 +1171067342-1174787707 +1526785599-1531893226 +3055633094-3057199924 +1568124522-1572160758 +2966347008-2978486706 +54831687-66550552 +1550497473-1551168078 +2892926941-2903268722 +2771117187-2775955759 +1234521852-1241992108 +1691973028-1696406355 +2837877932-2849517138 +2480932114-2481698709 +2845946431-2846057821 +1233941434-1246198098 +3002861655-3005365109 +3434725509-3435993674 +2173341542-2184849378 +3896230707-3900645720 +822740965-823550270 +4110021562-4121150778 +63603171-63635151 +3132070451-3134002144 +4152899097-4154706289 +3072535465-3075497811 +2963912450-2969754776 +3143800036-3144360416 +3033532646-3059619065 +2870120437-2886869710 +3274547143-3278505007 +2749432077-2762094882 +1081689983-1081835641 +850604533-852396063 +238560784-238982766 +3023322565-3025688956 +54157058-66147301 +820647222-823031869 +2961003766-2967474817 +1576566644-1606323350 +2582544240-2595513897 +4151772914-4155462854 +71629773-74290540 +2762094884-2762897903 +3179890008-3180299038 +4012179467-4051209707 +1967679449-1971418911 +2845141471-2846053808 +2816320795-2827745715 +3780956085-3792190886 +3098898720-3099568383 +3275561729-3284901540 +1402054763-1425346693 +1070235712-1081689982 +2897914307-2900470075 +2823031175-2825449030 +3751706906-3751753267 +970815395-976275417 +47997723-60304756 +3794263864-3796550694 +2743705045-2750732810 +76689052-80924970 +2919462546-2939875618 +376886072-388318966 +1787682465-1808426641 +856379509-864589444 +2378537309-2380543166 \ No newline at end of file diff --git a/2016/input/21 b/2016/input/21 new file mode 100644 index 0000000..b3490e2 --- /dev/null +++ b/2016/input/21 @@ -0,0 +1,100 @@ +rotate left 2 steps +rotate right 0 steps +rotate based on position of letter a +rotate based on position of letter f +swap letter g with letter b +rotate left 4 steps +swap letter e with letter f +reverse positions 1 through 6 +swap letter b with letter d +swap letter b with letter c +move position 7 to position 5 +rotate based on position of letter h +swap position 6 with position 5 +reverse positions 2 through 7 +move position 5 to position 0 +rotate based on position of letter e +rotate based on position of letter c +rotate right 4 steps +reverse positions 3 through 7 +rotate left 4 steps +rotate based on position of letter f +rotate left 3 steps +swap letter d with letter a +swap position 0 with position 1 +rotate based on position of letter a +move position 3 to position 6 +swap letter e with letter g +move position 6 to position 2 +reverse positions 1 through 2 +rotate right 1 step +reverse positions 0 through 6 +swap letter e with letter h +swap letter f with letter a +rotate based on position of letter a +swap position 7 with position 4 +reverse positions 2 through 5 +swap position 1 with position 2 +rotate right 0 steps +reverse positions 5 through 7 +rotate based on position of letter a +swap letter f with letter h +swap letter a with letter f +rotate right 4 steps +move position 7 to position 5 +rotate based on position of letter a +reverse positions 0 through 6 +swap letter g with letter c +reverse positions 5 through 6 +reverse positions 3 through 5 +reverse positions 4 through 6 +swap position 3 with position 4 +move position 4 to position 2 +reverse positions 3 through 4 +rotate left 0 steps +reverse positions 3 through 6 +swap position 6 with position 7 +reverse positions 2 through 5 +swap position 2 with position 0 +reverse positions 0 through 3 +reverse positions 3 through 5 +rotate based on position of letter d +move position 1 to position 2 +rotate based on position of letter c +swap letter e with letter a +move position 4 to position 1 +reverse positions 5 through 7 +rotate left 1 step +rotate based on position of letter h +reverse positions 1 through 7 +rotate based on position of letter f +move position 1 to position 5 +reverse positions 1 through 4 +rotate based on position of letter a +swap letter b with letter c +rotate based on position of letter g +swap letter a with letter g +swap position 1 with position 0 +rotate right 2 steps +rotate based on position of letter f +swap position 5 with position 4 +move position 1 to position 0 +swap letter f with letter b +swap letter f with letter h +move position 1 to position 7 +swap letter c with letter b +reverse positions 5 through 7 +rotate left 6 steps +swap letter d with letter b +rotate left 3 steps +swap position 1 with position 4 +rotate based on position of letter a +rotate based on position of letter a +swap letter b with letter c +swap letter e with letter f +reverse positions 4 through 7 +rotate right 0 steps +reverse positions 2 through 3 +rotate based on position of letter a +reverse positions 1 through 4 +rotate right 1 step \ No newline at end of file diff --git a/2016/input/22 b/2016/input/22 new file mode 100644 index 0000000..75c4e8d --- /dev/null +++ b/2016/input/22 @@ -0,0 +1,927 @@ +root@ebhq-gridcenter# df -h +Filesystem Size Used Avail Use% +/dev/grid/node-x0-y0 87T 71T 16T 81% +/dev/grid/node-x0-y1 93T 72T 21T 77% +/dev/grid/node-x0-y2 87T 67T 20T 77% +/dev/grid/node-x0-y3 89T 65T 24T 73% +/dev/grid/node-x0-y4 93T 67T 26T 72% +/dev/grid/node-x0-y5 94T 65T 29T 69% +/dev/grid/node-x0-y6 85T 64T 21T 75% +/dev/grid/node-x0-y7 85T 69T 16T 81% +/dev/grid/node-x0-y8 85T 71T 14T 83% +/dev/grid/node-x0-y9 91T 68T 23T 74% +/dev/grid/node-x0-y10 88T 65T 23T 73% +/dev/grid/node-x0-y11 89T 66T 23T 74% +/dev/grid/node-x0-y12 93T 68T 25T 73% +/dev/grid/node-x0-y13 90T 67T 23T 74% +/dev/grid/node-x0-y14 88T 69T 19T 78% +/dev/grid/node-x0-y15 94T 69T 25T 73% +/dev/grid/node-x0-y16 89T 67T 22T 75% +/dev/grid/node-x0-y17 85T 69T 16T 81% +/dev/grid/node-x0-y18 87T 64T 23T 73% +/dev/grid/node-x0-y19 92T 66T 26T 71% +/dev/grid/node-x0-y20 94T 69T 25T 73% +/dev/grid/node-x0-y21 88T 65T 23T 73% +/dev/grid/node-x0-y22 87T 72T 15T 82% +/dev/grid/node-x0-y23 92T 66T 26T 71% +/dev/grid/node-x0-y24 89T 72T 17T 80% +/dev/grid/node-x1-y0 86T 66T 20T 76% +/dev/grid/node-x1-y1 93T 64T 29T 68% +/dev/grid/node-x1-y2 92T 65T 27T 70% +/dev/grid/node-x1-y3 92T 70T 22T 76% +/dev/grid/node-x1-y4 87T 72T 15T 82% +/dev/grid/node-x1-y5 87T 69T 18T 79% +/dev/grid/node-x1-y6 88T 72T 16T 81% +/dev/grid/node-x1-y7 94T 68T 26T 72% +/dev/grid/node-x1-y8 93T 70T 23T 75% +/dev/grid/node-x1-y9 87T 69T 18T 79% +/dev/grid/node-x1-y10 90T 66T 24T 73% +/dev/grid/node-x1-y11 87T 67T 20T 77% +/dev/grid/node-x1-y12 86T 66T 20T 76% +/dev/grid/node-x1-y13 89T 67T 22T 75% +/dev/grid/node-x1-y14 88T 73T 15T 82% +/dev/grid/node-x1-y15 86T 71T 15T 82% +/dev/grid/node-x1-y16 94T 68T 26T 72% +/dev/grid/node-x1-y17 94T 66T 28T 70% +/dev/grid/node-x1-y18 91T 73T 18T 80% +/dev/grid/node-x1-y19 86T 64T 22T 74% +/dev/grid/node-x1-y20 86T 66T 20T 76% +/dev/grid/node-x1-y21 90T 70T 20T 77% +/dev/grid/node-x1-y22 89T 69T 20T 77% +/dev/grid/node-x1-y23 90T 67T 23T 74% +/dev/grid/node-x1-y24 90T 64T 26T 71% +/dev/grid/node-x2-y0 85T 69T 16T 81% +/dev/grid/node-x2-y1 89T 68T 21T 76% +/dev/grid/node-x2-y2 94T 65T 29T 69% +/dev/grid/node-x2-y3 92T 70T 22T 76% +/dev/grid/node-x2-y4 91T 71T 20T 78% +/dev/grid/node-x2-y5 86T 73T 13T 84% +/dev/grid/node-x2-y6 85T 73T 12T 85% +/dev/grid/node-x2-y7 91T 71T 20T 78% +/dev/grid/node-x2-y8 90T 71T 19T 78% +/dev/grid/node-x2-y9 89T 68T 21T 76% +/dev/grid/node-x2-y10 85T 65T 20T 76% +/dev/grid/node-x2-y11 90T 68T 22T 75% +/dev/grid/node-x2-y12 86T 66T 20T 76% +/dev/grid/node-x2-y13 91T 70T 21T 76% +/dev/grid/node-x2-y14 93T 68T 25T 73% +/dev/grid/node-x2-y15 94T 64T 30T 68% +/dev/grid/node-x2-y16 85T 65T 20T 76% +/dev/grid/node-x2-y17 92T 68T 24T 73% +/dev/grid/node-x2-y18 94T 67T 27T 71% +/dev/grid/node-x2-y19 94T 69T 25T 73% +/dev/grid/node-x2-y20 86T 65T 21T 75% +/dev/grid/node-x2-y21 86T 67T 19T 77% +/dev/grid/node-x2-y22 90T 68T 22T 75% +/dev/grid/node-x2-y23 94T 69T 25T 73% +/dev/grid/node-x2-y24 91T 72T 19T 79% +/dev/grid/node-x3-y0 93T 71T 22T 76% +/dev/grid/node-x3-y1 86T 67T 19T 77% +/dev/grid/node-x3-y2 87T 68T 19T 78% +/dev/grid/node-x3-y3 85T 73T 12T 85% +/dev/grid/node-x3-y4 91T 73T 18T 80% +/dev/grid/node-x3-y5 89T 65T 24T 73% +/dev/grid/node-x3-y6 91T 72T 19T 79% +/dev/grid/node-x3-y7 92T 67T 25T 72% +/dev/grid/node-x3-y8 90T 71T 19T 78% +/dev/grid/node-x3-y9 86T 67T 19T 77% +/dev/grid/node-x3-y10 90T 67T 23T 74% +/dev/grid/node-x3-y11 85T 71T 14T 83% +/dev/grid/node-x3-y12 93T 64T 29T 68% +/dev/grid/node-x3-y13 85T 71T 14T 83% +/dev/grid/node-x3-y14 93T 64T 29T 68% +/dev/grid/node-x3-y15 89T 64T 25T 71% +/dev/grid/node-x3-y16 89T 72T 17T 80% +/dev/grid/node-x3-y17 91T 65T 26T 71% +/dev/grid/node-x3-y18 93T 65T 28T 69% +/dev/grid/node-x3-y19 85T 65T 20T 76% +/dev/grid/node-x3-y20 94T 72T 22T 76% +/dev/grid/node-x3-y21 90T 66T 24T 73% +/dev/grid/node-x3-y22 88T 67T 21T 76% +/dev/grid/node-x3-y23 90T 72T 18T 80% +/dev/grid/node-x3-y24 94T 68T 26T 72% +/dev/grid/node-x4-y0 88T 67T 21T 76% +/dev/grid/node-x4-y1 94T 67T 27T 71% +/dev/grid/node-x4-y2 92T 66T 26T 71% +/dev/grid/node-x4-y3 93T 66T 27T 70% +/dev/grid/node-x4-y4 86T 66T 20T 76% +/dev/grid/node-x4-y5 87T 68T 19T 78% +/dev/grid/node-x4-y6 92T 68T 24T 73% +/dev/grid/node-x4-y7 92T 66T 26T 71% +/dev/grid/node-x4-y8 94T 66T 28T 70% +/dev/grid/node-x4-y9 87T 73T 14T 83% +/dev/grid/node-x4-y10 87T 69T 18T 79% +/dev/grid/node-x4-y11 88T 68T 20T 77% +/dev/grid/node-x4-y12 92T 73T 19T 79% +/dev/grid/node-x4-y13 89T 73T 16T 82% +/dev/grid/node-x4-y14 87T 66T 21T 75% +/dev/grid/node-x4-y15 86T 68T 18T 79% +/dev/grid/node-x4-y16 86T 70T 16T 81% +/dev/grid/node-x4-y17 94T 64T 30T 68% +/dev/grid/node-x4-y18 91T 69T 22T 75% +/dev/grid/node-x4-y19 86T 67T 19T 77% +/dev/grid/node-x4-y20 85T 64T 21T 75% +/dev/grid/node-x4-y21 89T 69T 20T 77% +/dev/grid/node-x4-y22 85T 68T 17T 80% +/dev/grid/node-x4-y23 87T 70T 17T 80% +/dev/grid/node-x4-y24 91T 65T 26T 71% +/dev/grid/node-x5-y0 85T 66T 19T 77% +/dev/grid/node-x5-y1 93T 65T 28T 69% +/dev/grid/node-x5-y2 93T 64T 29T 68% +/dev/grid/node-x5-y3 87T 65T 22T 74% +/dev/grid/node-x5-y4 85T 69T 16T 81% +/dev/grid/node-x5-y5 93T 73T 20T 78% +/dev/grid/node-x5-y6 89T 66T 23T 74% +/dev/grid/node-x5-y7 505T 493T 12T 97% +/dev/grid/node-x5-y8 85T 72T 13T 84% +/dev/grid/node-x5-y9 85T 66T 19T 77% +/dev/grid/node-x5-y10 88T 70T 18T 79% +/dev/grid/node-x5-y11 89T 69T 20T 77% +/dev/grid/node-x5-y12 90T 69T 21T 76% +/dev/grid/node-x5-y13 87T 64T 23T 73% +/dev/grid/node-x5-y14 93T 64T 29T 68% +/dev/grid/node-x5-y15 92T 64T 28T 69% +/dev/grid/node-x5-y16 90T 66T 24T 73% +/dev/grid/node-x5-y17 88T 64T 24T 72% +/dev/grid/node-x5-y18 87T 67T 20T 77% +/dev/grid/node-x5-y19 92T 71T 21T 77% +/dev/grid/node-x5-y20 90T 68T 22T 75% +/dev/grid/node-x5-y21 86T 69T 17T 80% +/dev/grid/node-x5-y22 86T 70T 16T 81% +/dev/grid/node-x5-y23 85T 73T 12T 85% +/dev/grid/node-x5-y24 93T 65T 28T 69% +/dev/grid/node-x6-y0 88T 69T 19T 78% +/dev/grid/node-x6-y1 92T 71T 21T 77% +/dev/grid/node-x6-y2 85T 70T 15T 82% +/dev/grid/node-x6-y3 94T 70T 24T 74% +/dev/grid/node-x6-y4 92T 70T 22T 76% +/dev/grid/node-x6-y5 85T 71T 14T 83% +/dev/grid/node-x6-y6 90T 66T 24T 73% +/dev/grid/node-x6-y7 507T 497T 10T 98% +/dev/grid/node-x6-y8 85T 64T 21T 75% +/dev/grid/node-x6-y9 90T 64T 26T 71% +/dev/grid/node-x6-y10 86T 69T 17T 80% +/dev/grid/node-x6-y11 91T 67T 24T 73% +/dev/grid/node-x6-y12 93T 66T 27T 70% +/dev/grid/node-x6-y13 87T 73T 14T 83% +/dev/grid/node-x6-y14 86T 64T 22T 74% +/dev/grid/node-x6-y15 92T 73T 19T 79% +/dev/grid/node-x6-y16 92T 66T 26T 71% +/dev/grid/node-x6-y17 94T 69T 25T 73% +/dev/grid/node-x6-y18 87T 69T 18T 79% +/dev/grid/node-x6-y19 89T 66T 23T 74% +/dev/grid/node-x6-y20 93T 70T 23T 75% +/dev/grid/node-x6-y21 86T 70T 16T 81% +/dev/grid/node-x6-y22 93T 65T 28T 69% +/dev/grid/node-x6-y23 85T 73T 12T 85% +/dev/grid/node-x6-y24 92T 71T 21T 77% +/dev/grid/node-x7-y0 85T 65T 20T 76% +/dev/grid/node-x7-y1 93T 64T 29T 68% +/dev/grid/node-x7-y2 94T 72T 22T 76% +/dev/grid/node-x7-y3 90T 70T 20T 77% +/dev/grid/node-x7-y4 85T 67T 18T 78% +/dev/grid/node-x7-y5 91T 70T 21T 76% +/dev/grid/node-x7-y6 85T 65T 20T 76% +/dev/grid/node-x7-y7 507T 492T 15T 97% +/dev/grid/node-x7-y8 88T 66T 22T 75% +/dev/grid/node-x7-y9 86T 72T 14T 83% +/dev/grid/node-x7-y10 91T 66T 25T 72% +/dev/grid/node-x7-y11 91T 65T 26T 71% +/dev/grid/node-x7-y12 91T 67T 24T 73% +/dev/grid/node-x7-y13 85T 64T 21T 75% +/dev/grid/node-x7-y14 91T 65T 26T 71% +/dev/grid/node-x7-y15 91T 66T 25T 72% +/dev/grid/node-x7-y16 89T 65T 24T 73% +/dev/grid/node-x7-y17 92T 0T 92T 0% +/dev/grid/node-x7-y18 92T 71T 21T 77% +/dev/grid/node-x7-y19 90T 67T 23T 74% +/dev/grid/node-x7-y20 88T 66T 22T 75% +/dev/grid/node-x7-y21 85T 64T 21T 75% +/dev/grid/node-x7-y22 94T 65T 29T 69% +/dev/grid/node-x7-y23 93T 70T 23T 75% +/dev/grid/node-x7-y24 88T 67T 21T 76% +/dev/grid/node-x8-y0 88T 73T 15T 82% +/dev/grid/node-x8-y1 94T 69T 25T 73% +/dev/grid/node-x8-y2 87T 72T 15T 82% +/dev/grid/node-x8-y3 93T 73T 20T 78% +/dev/grid/node-x8-y4 86T 66T 20T 76% +/dev/grid/node-x8-y5 85T 72T 13T 84% +/dev/grid/node-x8-y6 93T 67T 26T 72% +/dev/grid/node-x8-y7 501T 499T 2T 99% +/dev/grid/node-x8-y8 89T 65T 24T 73% +/dev/grid/node-x8-y9 93T 70T 23T 75% +/dev/grid/node-x8-y10 94T 72T 22T 76% +/dev/grid/node-x8-y11 85T 65T 20T 76% +/dev/grid/node-x8-y12 93T 68T 25T 73% +/dev/grid/node-x8-y13 85T 65T 20T 76% +/dev/grid/node-x8-y14 92T 73T 19T 79% +/dev/grid/node-x8-y15 86T 67T 19T 77% +/dev/grid/node-x8-y16 87T 65T 22T 74% +/dev/grid/node-x8-y17 93T 64T 29T 68% +/dev/grid/node-x8-y18 85T 69T 16T 81% +/dev/grid/node-x8-y19 87T 64T 23T 73% +/dev/grid/node-x8-y20 85T 65T 20T 76% +/dev/grid/node-x8-y21 89T 72T 17T 80% +/dev/grid/node-x8-y22 86T 66T 20T 76% +/dev/grid/node-x8-y23 88T 70T 18T 79% +/dev/grid/node-x8-y24 91T 66T 25T 72% +/dev/grid/node-x9-y0 89T 69T 20T 77% +/dev/grid/node-x9-y1 85T 68T 17T 80% +/dev/grid/node-x9-y2 91T 66T 25T 72% +/dev/grid/node-x9-y3 87T 68T 19T 78% +/dev/grid/node-x9-y4 91T 66T 25T 72% +/dev/grid/node-x9-y5 92T 64T 28T 69% +/dev/grid/node-x9-y6 89T 66T 23T 74% +/dev/grid/node-x9-y7 506T 490T 16T 96% +/dev/grid/node-x9-y8 89T 73T 16T 82% +/dev/grid/node-x9-y9 92T 68T 24T 73% +/dev/grid/node-x9-y10 85T 71T 14T 83% +/dev/grid/node-x9-y11 93T 64T 29T 68% +/dev/grid/node-x9-y12 88T 71T 17T 80% +/dev/grid/node-x9-y13 94T 65T 29T 69% +/dev/grid/node-x9-y14 90T 66T 24T 73% +/dev/grid/node-x9-y15 94T 70T 24T 74% +/dev/grid/node-x9-y16 92T 72T 20T 78% +/dev/grid/node-x9-y17 89T 69T 20T 77% +/dev/grid/node-x9-y18 87T 65T 22T 74% +/dev/grid/node-x9-y19 93T 70T 23T 75% +/dev/grid/node-x9-y20 89T 71T 18T 79% +/dev/grid/node-x9-y21 89T 73T 16T 82% +/dev/grid/node-x9-y22 91T 66T 25T 72% +/dev/grid/node-x9-y23 90T 67T 23T 74% +/dev/grid/node-x9-y24 92T 72T 20T 78% +/dev/grid/node-x10-y0 94T 70T 24T 74% +/dev/grid/node-x10-y1 92T 73T 19T 79% +/dev/grid/node-x10-y2 86T 68T 18T 79% +/dev/grid/node-x10-y3 94T 69T 25T 73% +/dev/grid/node-x10-y4 87T 72T 15T 82% +/dev/grid/node-x10-y5 90T 69T 21T 76% +/dev/grid/node-x10-y6 87T 65T 22T 74% +/dev/grid/node-x10-y7 510T 494T 16T 96% +/dev/grid/node-x10-y8 94T 72T 22T 76% +/dev/grid/node-x10-y9 93T 71T 22T 76% +/dev/grid/node-x10-y10 87T 70T 17T 80% +/dev/grid/node-x10-y11 94T 66T 28T 70% +/dev/grid/node-x10-y12 89T 68T 21T 76% +/dev/grid/node-x10-y13 92T 71T 21T 77% +/dev/grid/node-x10-y14 94T 70T 24T 74% +/dev/grid/node-x10-y15 94T 67T 27T 71% +/dev/grid/node-x10-y16 89T 73T 16T 82% +/dev/grid/node-x10-y17 92T 72T 20T 78% +/dev/grid/node-x10-y18 91T 71T 20T 78% +/dev/grid/node-x10-y19 93T 69T 24T 74% +/dev/grid/node-x10-y20 94T 67T 27T 71% +/dev/grid/node-x10-y21 85T 68T 17T 80% +/dev/grid/node-x10-y22 85T 70T 15T 82% +/dev/grid/node-x10-y23 93T 68T 25T 73% +/dev/grid/node-x10-y24 94T 64T 30T 68% +/dev/grid/node-x11-y0 85T 72T 13T 84% +/dev/grid/node-x11-y1 92T 72T 20T 78% +/dev/grid/node-x11-y2 88T 65T 23T 73% +/dev/grid/node-x11-y3 89T 70T 19T 78% +/dev/grid/node-x11-y4 90T 66T 24T 73% +/dev/grid/node-x11-y5 89T 65T 24T 73% +/dev/grid/node-x11-y6 87T 65T 22T 74% +/dev/grid/node-x11-y7 501T 490T 11T 97% +/dev/grid/node-x11-y8 87T 72T 15T 82% +/dev/grid/node-x11-y9 92T 65T 27T 70% +/dev/grid/node-x11-y10 89T 71T 18T 79% +/dev/grid/node-x11-y11 88T 64T 24T 72% +/dev/grid/node-x11-y12 94T 67T 27T 71% +/dev/grid/node-x11-y13 91T 66T 25T 72% +/dev/grid/node-x11-y14 86T 67T 19T 77% +/dev/grid/node-x11-y15 88T 65T 23T 73% +/dev/grid/node-x11-y16 88T 68T 20T 77% +/dev/grid/node-x11-y17 87T 72T 15T 82% +/dev/grid/node-x11-y18 93T 64T 29T 68% +/dev/grid/node-x11-y19 90T 65T 25T 72% +/dev/grid/node-x11-y20 92T 68T 24T 73% +/dev/grid/node-x11-y21 90T 73T 17T 81% +/dev/grid/node-x11-y22 87T 71T 16T 81% +/dev/grid/node-x11-y23 89T 67T 22T 75% +/dev/grid/node-x11-y24 92T 68T 24T 73% +/dev/grid/node-x12-y0 86T 69T 17T 80% +/dev/grid/node-x12-y1 87T 70T 17T 80% +/dev/grid/node-x12-y2 86T 70T 16T 81% +/dev/grid/node-x12-y3 87T 67T 20T 77% +/dev/grid/node-x12-y4 89T 71T 18T 79% +/dev/grid/node-x12-y5 94T 71T 23T 75% +/dev/grid/node-x12-y6 94T 72T 22T 76% +/dev/grid/node-x12-y7 505T 493T 12T 97% +/dev/grid/node-x12-y8 88T 72T 16T 81% +/dev/grid/node-x12-y9 87T 66T 21T 75% +/dev/grid/node-x12-y10 93T 65T 28T 69% +/dev/grid/node-x12-y11 87T 67T 20T 77% +/dev/grid/node-x12-y12 86T 69T 17T 80% +/dev/grid/node-x12-y13 90T 67T 23T 74% +/dev/grid/node-x12-y14 93T 68T 25T 73% +/dev/grid/node-x12-y15 92T 65T 27T 70% +/dev/grid/node-x12-y16 94T 70T 24T 74% +/dev/grid/node-x12-y17 86T 69T 17T 80% +/dev/grid/node-x12-y18 87T 70T 17T 80% +/dev/grid/node-x12-y19 93T 73T 20T 78% +/dev/grid/node-x12-y20 92T 72T 20T 78% +/dev/grid/node-x12-y21 91T 68T 23T 74% +/dev/grid/node-x12-y22 86T 65T 21T 75% +/dev/grid/node-x12-y23 87T 65T 22T 74% +/dev/grid/node-x12-y24 94T 64T 30T 68% +/dev/grid/node-x13-y0 85T 72T 13T 84% +/dev/grid/node-x13-y1 93T 72T 21T 77% +/dev/grid/node-x13-y2 89T 66T 23T 74% +/dev/grid/node-x13-y3 89T 67T 22T 75% +/dev/grid/node-x13-y4 85T 69T 16T 81% +/dev/grid/node-x13-y5 86T 70T 16T 81% +/dev/grid/node-x13-y6 90T 71T 19T 78% +/dev/grid/node-x13-y7 510T 496T 14T 97% +/dev/grid/node-x13-y8 89T 70T 19T 78% +/dev/grid/node-x13-y9 94T 67T 27T 71% +/dev/grid/node-x13-y10 90T 70T 20T 77% +/dev/grid/node-x13-y11 85T 67T 18T 78% +/dev/grid/node-x13-y12 94T 65T 29T 69% +/dev/grid/node-x13-y13 91T 72T 19T 79% +/dev/grid/node-x13-y14 94T 73T 21T 77% +/dev/grid/node-x13-y15 87T 72T 15T 82% +/dev/grid/node-x13-y16 94T 68T 26T 72% +/dev/grid/node-x13-y17 89T 72T 17T 80% +/dev/grid/node-x13-y18 94T 70T 24T 74% +/dev/grid/node-x13-y19 87T 68T 19T 78% +/dev/grid/node-x13-y20 94T 73T 21T 77% +/dev/grid/node-x13-y21 87T 64T 23T 73% +/dev/grid/node-x13-y22 89T 67T 22T 75% +/dev/grid/node-x13-y23 85T 70T 15T 82% +/dev/grid/node-x13-y24 90T 65T 25T 72% +/dev/grid/node-x14-y0 85T 69T 16T 81% +/dev/grid/node-x14-y1 92T 73T 19T 79% +/dev/grid/node-x14-y2 90T 70T 20T 77% +/dev/grid/node-x14-y3 91T 68T 23T 74% +/dev/grid/node-x14-y4 85T 73T 12T 85% +/dev/grid/node-x14-y5 90T 67T 23T 74% +/dev/grid/node-x14-y6 86T 70T 16T 81% +/dev/grid/node-x14-y7 507T 494T 13T 97% +/dev/grid/node-x14-y8 85T 69T 16T 81% +/dev/grid/node-x14-y9 88T 69T 19T 78% +/dev/grid/node-x14-y10 90T 70T 20T 77% +/dev/grid/node-x14-y11 87T 70T 17T 80% +/dev/grid/node-x14-y12 88T 66T 22T 75% +/dev/grid/node-x14-y13 92T 65T 27T 70% +/dev/grid/node-x14-y14 94T 64T 30T 68% +/dev/grid/node-x14-y15 92T 68T 24T 73% +/dev/grid/node-x14-y16 89T 68T 21T 76% +/dev/grid/node-x14-y17 91T 66T 25T 72% +/dev/grid/node-x14-y18 93T 64T 29T 68% +/dev/grid/node-x14-y19 93T 68T 25T 73% +/dev/grid/node-x14-y20 88T 64T 24T 72% +/dev/grid/node-x14-y21 88T 68T 20T 77% +/dev/grid/node-x14-y22 93T 72T 21T 77% +/dev/grid/node-x14-y23 86T 64T 22T 74% +/dev/grid/node-x14-y24 94T 66T 28T 70% +/dev/grid/node-x15-y0 88T 73T 15T 82% +/dev/grid/node-x15-y1 85T 65T 20T 76% +/dev/grid/node-x15-y2 93T 68T 25T 73% +/dev/grid/node-x15-y3 91T 69T 22T 75% +/dev/grid/node-x15-y4 94T 65T 29T 69% +/dev/grid/node-x15-y5 92T 65T 27T 70% +/dev/grid/node-x15-y6 87T 65T 22T 74% +/dev/grid/node-x15-y7 503T 492T 11T 97% +/dev/grid/node-x15-y8 94T 64T 30T 68% +/dev/grid/node-x15-y9 92T 64T 28T 69% +/dev/grid/node-x15-y10 94T 72T 22T 76% +/dev/grid/node-x15-y11 94T 66T 28T 70% +/dev/grid/node-x15-y12 90T 68T 22T 75% +/dev/grid/node-x15-y13 91T 69T 22T 75% +/dev/grid/node-x15-y14 89T 68T 21T 76% +/dev/grid/node-x15-y15 89T 68T 21T 76% +/dev/grid/node-x15-y16 91T 70T 21T 76% +/dev/grid/node-x15-y17 94T 68T 26T 72% +/dev/grid/node-x15-y18 92T 69T 23T 75% +/dev/grid/node-x15-y19 93T 72T 21T 77% +/dev/grid/node-x15-y20 88T 73T 15T 82% +/dev/grid/node-x15-y21 94T 64T 30T 68% +/dev/grid/node-x15-y22 85T 70T 15T 82% +/dev/grid/node-x15-y23 91T 73T 18T 80% +/dev/grid/node-x15-y24 85T 71T 14T 83% +/dev/grid/node-x16-y0 86T 65T 21T 75% +/dev/grid/node-x16-y1 87T 67T 20T 77% +/dev/grid/node-x16-y2 92T 73T 19T 79% +/dev/grid/node-x16-y3 88T 70T 18T 79% +/dev/grid/node-x16-y4 89T 67T 22T 75% +/dev/grid/node-x16-y5 86T 68T 18T 79% +/dev/grid/node-x16-y6 89T 67T 22T 75% +/dev/grid/node-x16-y7 510T 493T 17T 96% +/dev/grid/node-x16-y8 86T 67T 19T 77% +/dev/grid/node-x16-y9 90T 64T 26T 71% +/dev/grid/node-x16-y10 90T 72T 18T 80% +/dev/grid/node-x16-y11 94T 64T 30T 68% +/dev/grid/node-x16-y12 94T 65T 29T 69% +/dev/grid/node-x16-y13 87T 71T 16T 81% +/dev/grid/node-x16-y14 89T 68T 21T 76% +/dev/grid/node-x16-y15 93T 67T 26T 72% +/dev/grid/node-x16-y16 89T 71T 18T 79% +/dev/grid/node-x16-y17 91T 73T 18T 80% +/dev/grid/node-x16-y18 90T 68T 22T 75% +/dev/grid/node-x16-y19 85T 66T 19T 77% +/dev/grid/node-x16-y20 87T 68T 19T 78% +/dev/grid/node-x16-y21 89T 69T 20T 77% +/dev/grid/node-x16-y22 88T 71T 17T 80% +/dev/grid/node-x16-y23 94T 72T 22T 76% +/dev/grid/node-x16-y24 88T 64T 24T 72% +/dev/grid/node-x17-y0 85T 70T 15T 82% +/dev/grid/node-x17-y1 90T 73T 17T 81% +/dev/grid/node-x17-y2 93T 68T 25T 73% +/dev/grid/node-x17-y3 85T 72T 13T 84% +/dev/grid/node-x17-y4 88T 70T 18T 79% +/dev/grid/node-x17-y5 85T 64T 21T 75% +/dev/grid/node-x17-y6 89T 64T 25T 71% +/dev/grid/node-x17-y7 509T 492T 17T 96% +/dev/grid/node-x17-y8 86T 72T 14T 83% +/dev/grid/node-x17-y9 92T 67T 25T 72% +/dev/grid/node-x17-y10 91T 71T 20T 78% +/dev/grid/node-x17-y11 91T 67T 24T 73% +/dev/grid/node-x17-y12 91T 72T 19T 79% +/dev/grid/node-x17-y13 92T 73T 19T 79% +/dev/grid/node-x17-y14 93T 67T 26T 72% +/dev/grid/node-x17-y15 87T 71T 16T 81% +/dev/grid/node-x17-y16 90T 65T 25T 72% +/dev/grid/node-x17-y17 88T 71T 17T 80% +/dev/grid/node-x17-y18 87T 69T 18T 79% +/dev/grid/node-x17-y19 90T 65T 25T 72% +/dev/grid/node-x17-y20 93T 67T 26T 72% +/dev/grid/node-x17-y21 91T 69T 22T 75% +/dev/grid/node-x17-y22 89T 71T 18T 79% +/dev/grid/node-x17-y23 85T 73T 12T 85% +/dev/grid/node-x17-y24 90T 68T 22T 75% +/dev/grid/node-x18-y0 87T 72T 15T 82% +/dev/grid/node-x18-y1 93T 71T 22T 76% +/dev/grid/node-x18-y2 94T 67T 27T 71% +/dev/grid/node-x18-y3 87T 67T 20T 77% +/dev/grid/node-x18-y4 94T 71T 23T 75% +/dev/grid/node-x18-y5 87T 70T 17T 80% +/dev/grid/node-x18-y6 89T 64T 25T 71% +/dev/grid/node-x18-y7 504T 498T 6T 98% +/dev/grid/node-x18-y8 85T 72T 13T 84% +/dev/grid/node-x18-y9 91T 71T 20T 78% +/dev/grid/node-x18-y10 90T 69T 21T 76% +/dev/grid/node-x18-y11 87T 71T 16T 81% +/dev/grid/node-x18-y12 94T 69T 25T 73% +/dev/grid/node-x18-y13 90T 70T 20T 77% +/dev/grid/node-x18-y14 93T 65T 28T 69% +/dev/grid/node-x18-y15 87T 67T 20T 77% +/dev/grid/node-x18-y16 88T 64T 24T 72% +/dev/grid/node-x18-y17 88T 71T 17T 80% +/dev/grid/node-x18-y18 90T 66T 24T 73% +/dev/grid/node-x18-y19 90T 65T 25T 72% +/dev/grid/node-x18-y20 86T 71T 15T 82% +/dev/grid/node-x18-y21 87T 73T 14T 83% +/dev/grid/node-x18-y22 89T 69T 20T 77% +/dev/grid/node-x18-y23 90T 67T 23T 74% +/dev/grid/node-x18-y24 88T 72T 16T 81% +/dev/grid/node-x19-y0 87T 71T 16T 81% +/dev/grid/node-x19-y1 94T 71T 23T 75% +/dev/grid/node-x19-y2 85T 68T 17T 80% +/dev/grid/node-x19-y3 88T 65T 23T 73% +/dev/grid/node-x19-y4 93T 66T 27T 70% +/dev/grid/node-x19-y5 88T 67T 21T 76% +/dev/grid/node-x19-y6 89T 70T 19T 78% +/dev/grid/node-x19-y7 509T 496T 13T 97% +/dev/grid/node-x19-y8 89T 67T 22T 75% +/dev/grid/node-x19-y9 92T 71T 21T 77% +/dev/grid/node-x19-y10 85T 64T 21T 75% +/dev/grid/node-x19-y11 89T 67T 22T 75% +/dev/grid/node-x19-y12 91T 72T 19T 79% +/dev/grid/node-x19-y13 88T 72T 16T 81% +/dev/grid/node-x19-y14 88T 67T 21T 76% +/dev/grid/node-x19-y15 87T 65T 22T 74% +/dev/grid/node-x19-y16 90T 65T 25T 72% +/dev/grid/node-x19-y17 94T 71T 23T 75% +/dev/grid/node-x19-y18 86T 64T 22T 74% +/dev/grid/node-x19-y19 85T 65T 20T 76% +/dev/grid/node-x19-y20 93T 67T 26T 72% +/dev/grid/node-x19-y21 85T 65T 20T 76% +/dev/grid/node-x19-y22 88T 70T 18T 79% +/dev/grid/node-x19-y23 93T 73T 20T 78% +/dev/grid/node-x19-y24 93T 66T 27T 70% +/dev/grid/node-x20-y0 88T 71T 17T 80% +/dev/grid/node-x20-y1 94T 67T 27T 71% +/dev/grid/node-x20-y2 94T 71T 23T 75% +/dev/grid/node-x20-y3 91T 67T 24T 73% +/dev/grid/node-x20-y4 88T 73T 15T 82% +/dev/grid/node-x20-y5 90T 65T 25T 72% +/dev/grid/node-x20-y6 85T 64T 21T 75% +/dev/grid/node-x20-y7 502T 497T 5T 99% +/dev/grid/node-x20-y8 94T 72T 22T 76% +/dev/grid/node-x20-y9 85T 72T 13T 84% +/dev/grid/node-x20-y10 92T 65T 27T 70% +/dev/grid/node-x20-y11 89T 65T 24T 73% +/dev/grid/node-x20-y12 87T 71T 16T 81% +/dev/grid/node-x20-y13 92T 70T 22T 76% +/dev/grid/node-x20-y14 91T 67T 24T 73% +/dev/grid/node-x20-y15 91T 65T 26T 71% +/dev/grid/node-x20-y16 89T 72T 17T 80% +/dev/grid/node-x20-y17 92T 66T 26T 71% +/dev/grid/node-x20-y18 91T 71T 20T 78% +/dev/grid/node-x20-y19 91T 69T 22T 75% +/dev/grid/node-x20-y20 89T 73T 16T 82% +/dev/grid/node-x20-y21 87T 72T 15T 82% +/dev/grid/node-x20-y22 86T 64T 22T 74% +/dev/grid/node-x20-y23 86T 67T 19T 77% +/dev/grid/node-x20-y24 94T 71T 23T 75% +/dev/grid/node-x21-y0 87T 70T 17T 80% +/dev/grid/node-x21-y1 90T 67T 23T 74% +/dev/grid/node-x21-y2 86T 72T 14T 83% +/dev/grid/node-x21-y3 90T 68T 22T 75% +/dev/grid/node-x21-y4 92T 69T 23T 75% +/dev/grid/node-x21-y5 90T 68T 22T 75% +/dev/grid/node-x21-y6 93T 72T 21T 77% +/dev/grid/node-x21-y7 507T 490T 17T 96% +/dev/grid/node-x21-y8 85T 64T 21T 75% +/dev/grid/node-x21-y9 85T 67T 18T 78% +/dev/grid/node-x21-y10 94T 73T 21T 77% +/dev/grid/node-x21-y11 87T 64T 23T 73% +/dev/grid/node-x21-y12 89T 64T 25T 71% +/dev/grid/node-x21-y13 92T 69T 23T 75% +/dev/grid/node-x21-y14 87T 72T 15T 82% +/dev/grid/node-x21-y15 92T 67T 25T 72% +/dev/grid/node-x21-y16 86T 72T 14T 83% +/dev/grid/node-x21-y17 94T 67T 27T 71% +/dev/grid/node-x21-y18 85T 71T 14T 83% +/dev/grid/node-x21-y19 88T 70T 18T 79% +/dev/grid/node-x21-y20 94T 72T 22T 76% +/dev/grid/node-x21-y21 86T 68T 18T 79% +/dev/grid/node-x21-y22 94T 65T 29T 69% +/dev/grid/node-x21-y23 86T 72T 14T 83% +/dev/grid/node-x21-y24 92T 65T 27T 70% +/dev/grid/node-x22-y0 85T 71T 14T 83% +/dev/grid/node-x22-y1 89T 71T 18T 79% +/dev/grid/node-x22-y2 91T 72T 19T 79% +/dev/grid/node-x22-y3 90T 70T 20T 77% +/dev/grid/node-x22-y4 86T 67T 19T 77% +/dev/grid/node-x22-y5 90T 66T 24T 73% +/dev/grid/node-x22-y6 93T 67T 26T 72% +/dev/grid/node-x22-y7 501T 490T 11T 97% +/dev/grid/node-x22-y8 89T 67T 22T 75% +/dev/grid/node-x22-y9 89T 71T 18T 79% +/dev/grid/node-x22-y10 90T 70T 20T 77% +/dev/grid/node-x22-y11 89T 67T 22T 75% +/dev/grid/node-x22-y12 85T 64T 21T 75% +/dev/grid/node-x22-y13 87T 68T 19T 78% +/dev/grid/node-x22-y14 88T 67T 21T 76% +/dev/grid/node-x22-y15 89T 68T 21T 76% +/dev/grid/node-x22-y16 88T 73T 15T 82% +/dev/grid/node-x22-y17 86T 69T 17T 80% +/dev/grid/node-x22-y18 88T 73T 15T 82% +/dev/grid/node-x22-y19 85T 68T 17T 80% +/dev/grid/node-x22-y20 85T 68T 17T 80% +/dev/grid/node-x22-y21 88T 68T 20T 77% +/dev/grid/node-x22-y22 85T 71T 14T 83% +/dev/grid/node-x22-y23 94T 65T 29T 69% +/dev/grid/node-x22-y24 90T 65T 25T 72% +/dev/grid/node-x23-y0 91T 64T 27T 70% +/dev/grid/node-x23-y1 92T 72T 20T 78% +/dev/grid/node-x23-y2 94T 69T 25T 73% +/dev/grid/node-x23-y3 90T 66T 24T 73% +/dev/grid/node-x23-y4 92T 71T 21T 77% +/dev/grid/node-x23-y5 90T 70T 20T 77% +/dev/grid/node-x23-y6 91T 66T 25T 72% +/dev/grid/node-x23-y7 506T 497T 9T 98% +/dev/grid/node-x23-y8 92T 70T 22T 76% +/dev/grid/node-x23-y9 90T 71T 19T 78% +/dev/grid/node-x23-y10 94T 70T 24T 74% +/dev/grid/node-x23-y11 86T 65T 21T 75% +/dev/grid/node-x23-y12 87T 65T 22T 74% +/dev/grid/node-x23-y13 93T 67T 26T 72% +/dev/grid/node-x23-y14 87T 66T 21T 75% +/dev/grid/node-x23-y15 87T 72T 15T 82% +/dev/grid/node-x23-y16 89T 65T 24T 73% +/dev/grid/node-x23-y17 87T 65T 22T 74% +/dev/grid/node-x23-y18 86T 70T 16T 81% +/dev/grid/node-x23-y19 89T 66T 23T 74% +/dev/grid/node-x23-y20 88T 68T 20T 77% +/dev/grid/node-x23-y21 94T 64T 30T 68% +/dev/grid/node-x23-y22 85T 66T 19T 77% +/dev/grid/node-x23-y23 85T 70T 15T 82% +/dev/grid/node-x23-y24 87T 69T 18T 79% +/dev/grid/node-x24-y0 87T 70T 17T 80% +/dev/grid/node-x24-y1 92T 64T 28T 69% +/dev/grid/node-x24-y2 86T 68T 18T 79% +/dev/grid/node-x24-y3 87T 70T 17T 80% +/dev/grid/node-x24-y4 90T 73T 17T 81% +/dev/grid/node-x24-y5 88T 69T 19T 78% +/dev/grid/node-x24-y6 93T 71T 22T 76% +/dev/grid/node-x24-y7 504T 497T 7T 98% +/dev/grid/node-x24-y8 87T 67T 20T 77% +/dev/grid/node-x24-y9 86T 68T 18T 79% +/dev/grid/node-x24-y10 91T 73T 18T 80% +/dev/grid/node-x24-y11 94T 65T 29T 69% +/dev/grid/node-x24-y12 93T 65T 28T 69% +/dev/grid/node-x24-y13 87T 70T 17T 80% +/dev/grid/node-x24-y14 90T 68T 22T 75% +/dev/grid/node-x24-y15 89T 72T 17T 80% +/dev/grid/node-x24-y16 93T 64T 29T 68% +/dev/grid/node-x24-y17 93T 70T 23T 75% +/dev/grid/node-x24-y18 91T 71T 20T 78% +/dev/grid/node-x24-y19 86T 71T 15T 82% +/dev/grid/node-x24-y20 87T 64T 23T 73% +/dev/grid/node-x24-y21 88T 66T 22T 75% +/dev/grid/node-x24-y22 92T 69T 23T 75% +/dev/grid/node-x24-y23 94T 73T 21T 77% +/dev/grid/node-x24-y24 92T 70T 22T 76% +/dev/grid/node-x25-y0 93T 64T 29T 68% +/dev/grid/node-x25-y1 91T 66T 25T 72% +/dev/grid/node-x25-y2 93T 64T 29T 68% +/dev/grid/node-x25-y3 93T 66T 27T 70% +/dev/grid/node-x25-y4 92T 71T 21T 77% +/dev/grid/node-x25-y5 90T 66T 24T 73% +/dev/grid/node-x25-y6 94T 73T 21T 77% +/dev/grid/node-x25-y7 504T 499T 5T 99% +/dev/grid/node-x25-y8 87T 72T 15T 82% +/dev/grid/node-x25-y9 86T 69T 17T 80% +/dev/grid/node-x25-y10 88T 73T 15T 82% +/dev/grid/node-x25-y11 86T 65T 21T 75% +/dev/grid/node-x25-y12 88T 72T 16T 81% +/dev/grid/node-x25-y13 93T 68T 25T 73% +/dev/grid/node-x25-y14 87T 72T 15T 82% +/dev/grid/node-x25-y15 86T 67T 19T 77% +/dev/grid/node-x25-y16 88T 67T 21T 76% +/dev/grid/node-x25-y17 94T 68T 26T 72% +/dev/grid/node-x25-y18 85T 73T 12T 85% +/dev/grid/node-x25-y19 87T 66T 21T 75% +/dev/grid/node-x25-y20 93T 65T 28T 69% +/dev/grid/node-x25-y21 86T 73T 13T 84% +/dev/grid/node-x25-y22 85T 68T 17T 80% +/dev/grid/node-x25-y23 93T 69T 24T 74% +/dev/grid/node-x25-y24 94T 64T 30T 68% +/dev/grid/node-x26-y0 88T 68T 20T 77% +/dev/grid/node-x26-y1 90T 65T 25T 72% +/dev/grid/node-x26-y2 93T 65T 28T 69% +/dev/grid/node-x26-y3 87T 72T 15T 82% +/dev/grid/node-x26-y4 94T 73T 21T 77% +/dev/grid/node-x26-y5 86T 68T 18T 79% +/dev/grid/node-x26-y6 91T 65T 26T 71% +/dev/grid/node-x26-y7 510T 496T 14T 97% +/dev/grid/node-x26-y8 91T 64T 27T 70% +/dev/grid/node-x26-y9 90T 68T 22T 75% +/dev/grid/node-x26-y10 91T 73T 18T 80% +/dev/grid/node-x26-y11 86T 64T 22T 74% +/dev/grid/node-x26-y12 90T 67T 23T 74% +/dev/grid/node-x26-y13 85T 64T 21T 75% +/dev/grid/node-x26-y14 89T 72T 17T 80% +/dev/grid/node-x26-y15 91T 66T 25T 72% +/dev/grid/node-x26-y16 86T 68T 18T 79% +/dev/grid/node-x26-y17 85T 73T 12T 85% +/dev/grid/node-x26-y18 94T 69T 25T 73% +/dev/grid/node-x26-y19 85T 71T 14T 83% +/dev/grid/node-x26-y20 86T 67T 19T 77% +/dev/grid/node-x26-y21 94T 64T 30T 68% +/dev/grid/node-x26-y22 89T 64T 25T 71% +/dev/grid/node-x26-y23 90T 68T 22T 75% +/dev/grid/node-x26-y24 89T 64T 25T 71% +/dev/grid/node-x27-y0 85T 72T 13T 84% +/dev/grid/node-x27-y1 94T 65T 29T 69% +/dev/grid/node-x27-y2 86T 68T 18T 79% +/dev/grid/node-x27-y3 87T 64T 23T 73% +/dev/grid/node-x27-y4 93T 67T 26T 72% +/dev/grid/node-x27-y5 85T 67T 18T 78% +/dev/grid/node-x27-y6 86T 69T 17T 80% +/dev/grid/node-x27-y7 505T 490T 15T 97% +/dev/grid/node-x27-y8 85T 71T 14T 83% +/dev/grid/node-x27-y9 85T 65T 20T 76% +/dev/grid/node-x27-y10 89T 68T 21T 76% +/dev/grid/node-x27-y11 85T 72T 13T 84% +/dev/grid/node-x27-y12 89T 72T 17T 80% +/dev/grid/node-x27-y13 85T 71T 14T 83% +/dev/grid/node-x27-y14 94T 70T 24T 74% +/dev/grid/node-x27-y15 87T 67T 20T 77% +/dev/grid/node-x27-y16 92T 68T 24T 73% +/dev/grid/node-x27-y17 89T 72T 17T 80% +/dev/grid/node-x27-y18 91T 64T 27T 70% +/dev/grid/node-x27-y19 86T 66T 20T 76% +/dev/grid/node-x27-y20 86T 72T 14T 83% +/dev/grid/node-x27-y21 91T 64T 27T 70% +/dev/grid/node-x27-y22 92T 64T 28T 69% +/dev/grid/node-x27-y23 91T 70T 21T 76% +/dev/grid/node-x27-y24 91T 71T 20T 78% +/dev/grid/node-x28-y0 92T 68T 24T 73% +/dev/grid/node-x28-y1 86T 73T 13T 84% +/dev/grid/node-x28-y2 89T 70T 19T 78% +/dev/grid/node-x28-y3 85T 69T 16T 81% +/dev/grid/node-x28-y4 86T 69T 17T 80% +/dev/grid/node-x28-y5 89T 64T 25T 71% +/dev/grid/node-x28-y6 92T 71T 21T 77% +/dev/grid/node-x28-y7 501T 493T 8T 98% +/dev/grid/node-x28-y8 93T 68T 25T 73% +/dev/grid/node-x28-y9 88T 70T 18T 79% +/dev/grid/node-x28-y10 94T 65T 29T 69% +/dev/grid/node-x28-y11 93T 70T 23T 75% +/dev/grid/node-x28-y12 86T 68T 18T 79% +/dev/grid/node-x28-y13 85T 67T 18T 78% +/dev/grid/node-x28-y14 90T 64T 26T 71% +/dev/grid/node-x28-y15 87T 64T 23T 73% +/dev/grid/node-x28-y16 91T 66T 25T 72% +/dev/grid/node-x28-y17 91T 71T 20T 78% +/dev/grid/node-x28-y18 85T 70T 15T 82% +/dev/grid/node-x28-y19 92T 66T 26T 71% +/dev/grid/node-x28-y20 89T 71T 18T 79% +/dev/grid/node-x28-y21 86T 68T 18T 79% +/dev/grid/node-x28-y22 86T 72T 14T 83% +/dev/grid/node-x28-y23 92T 65T 27T 70% +/dev/grid/node-x28-y24 90T 70T 20T 77% +/dev/grid/node-x29-y0 91T 65T 26T 71% +/dev/grid/node-x29-y1 85T 66T 19T 77% +/dev/grid/node-x29-y2 88T 73T 15T 82% +/dev/grid/node-x29-y3 85T 66T 19T 77% +/dev/grid/node-x29-y4 91T 67T 24T 73% +/dev/grid/node-x29-y5 86T 72T 14T 83% +/dev/grid/node-x29-y6 92T 66T 26T 71% +/dev/grid/node-x29-y7 507T 493T 14T 97% +/dev/grid/node-x29-y8 85T 68T 17T 80% +/dev/grid/node-x29-y9 85T 70T 15T 82% +/dev/grid/node-x29-y10 86T 67T 19T 77% +/dev/grid/node-x29-y11 89T 73T 16T 82% +/dev/grid/node-x29-y12 89T 70T 19T 78% +/dev/grid/node-x29-y13 89T 73T 16T 82% +/dev/grid/node-x29-y14 89T 67T 22T 75% +/dev/grid/node-x29-y15 93T 71T 22T 76% +/dev/grid/node-x29-y16 94T 72T 22T 76% +/dev/grid/node-x29-y17 94T 71T 23T 75% +/dev/grid/node-x29-y18 86T 64T 22T 74% +/dev/grid/node-x29-y19 90T 70T 20T 77% +/dev/grid/node-x29-y20 89T 69T 20T 77% +/dev/grid/node-x29-y21 88T 73T 15T 82% +/dev/grid/node-x29-y22 88T 66T 22T 75% +/dev/grid/node-x29-y23 85T 66T 19T 77% +/dev/grid/node-x29-y24 85T 69T 16T 81% +/dev/grid/node-x30-y0 88T 64T 24T 72% +/dev/grid/node-x30-y1 91T 73T 18T 80% +/dev/grid/node-x30-y2 94T 71T 23T 75% +/dev/grid/node-x30-y3 91T 68T 23T 74% +/dev/grid/node-x30-y4 85T 72T 13T 84% +/dev/grid/node-x30-y5 91T 72T 19T 79% +/dev/grid/node-x30-y6 87T 70T 17T 80% +/dev/grid/node-x30-y7 510T 492T 18T 96% +/dev/grid/node-x30-y8 94T 64T 30T 68% +/dev/grid/node-x30-y9 86T 65T 21T 75% +/dev/grid/node-x30-y10 86T 64T 22T 74% +/dev/grid/node-x30-y11 87T 67T 20T 77% +/dev/grid/node-x30-y12 88T 69T 19T 78% +/dev/grid/node-x30-y13 92T 72T 20T 78% +/dev/grid/node-x30-y14 93T 65T 28T 69% +/dev/grid/node-x30-y15 92T 65T 27T 70% +/dev/grid/node-x30-y16 89T 72T 17T 80% +/dev/grid/node-x30-y17 91T 73T 18T 80% +/dev/grid/node-x30-y18 91T 72T 19T 79% +/dev/grid/node-x30-y19 92T 68T 24T 73% +/dev/grid/node-x30-y20 85T 72T 13T 84% +/dev/grid/node-x30-y21 89T 69T 20T 77% +/dev/grid/node-x30-y22 89T 64T 25T 71% +/dev/grid/node-x30-y23 93T 64T 29T 68% +/dev/grid/node-x30-y24 90T 64T 26T 71% +/dev/grid/node-x31-y0 93T 70T 23T 75% +/dev/grid/node-x31-y1 91T 64T 27T 70% +/dev/grid/node-x31-y2 92T 67T 25T 72% +/dev/grid/node-x31-y3 87T 72T 15T 82% +/dev/grid/node-x31-y4 85T 65T 20T 76% +/dev/grid/node-x31-y5 86T 68T 18T 79% +/dev/grid/node-x31-y6 87T 67T 20T 77% +/dev/grid/node-x31-y7 509T 499T 10T 98% +/dev/grid/node-x31-y8 91T 71T 20T 78% +/dev/grid/node-x31-y9 88T 72T 16T 81% +/dev/grid/node-x31-y10 86T 64T 22T 74% +/dev/grid/node-x31-y11 87T 68T 19T 78% +/dev/grid/node-x31-y12 87T 71T 16T 81% +/dev/grid/node-x31-y13 93T 65T 28T 69% +/dev/grid/node-x31-y14 94T 68T 26T 72% +/dev/grid/node-x31-y15 94T 72T 22T 76% +/dev/grid/node-x31-y16 93T 69T 24T 74% +/dev/grid/node-x31-y17 87T 66T 21T 75% +/dev/grid/node-x31-y18 94T 71T 23T 75% +/dev/grid/node-x31-y19 86T 71T 15T 82% +/dev/grid/node-x31-y20 86T 67T 19T 77% +/dev/grid/node-x31-y21 89T 65T 24T 73% +/dev/grid/node-x31-y22 86T 64T 22T 74% +/dev/grid/node-x31-y23 94T 71T 23T 75% +/dev/grid/node-x31-y24 89T 73T 16T 82% +/dev/grid/node-x32-y0 93T 69T 24T 74% +/dev/grid/node-x32-y1 86T 68T 18T 79% +/dev/grid/node-x32-y2 90T 68T 22T 75% +/dev/grid/node-x32-y3 90T 64T 26T 71% +/dev/grid/node-x32-y4 88T 66T 22T 75% +/dev/grid/node-x32-y5 90T 67T 23T 74% +/dev/grid/node-x32-y6 94T 73T 21T 77% +/dev/grid/node-x32-y7 509T 493T 16T 96% +/dev/grid/node-x32-y8 91T 73T 18T 80% +/dev/grid/node-x32-y9 89T 71T 18T 79% +/dev/grid/node-x32-y10 92T 73T 19T 79% +/dev/grid/node-x32-y11 92T 65T 27T 70% +/dev/grid/node-x32-y12 94T 68T 26T 72% +/dev/grid/node-x32-y13 85T 69T 16T 81% +/dev/grid/node-x32-y14 93T 69T 24T 74% +/dev/grid/node-x32-y15 90T 72T 18T 80% +/dev/grid/node-x32-y16 87T 71T 16T 81% +/dev/grid/node-x32-y17 92T 66T 26T 71% +/dev/grid/node-x32-y18 85T 64T 21T 75% +/dev/grid/node-x32-y19 88T 72T 16T 81% +/dev/grid/node-x32-y20 86T 69T 17T 80% +/dev/grid/node-x32-y21 94T 69T 25T 73% +/dev/grid/node-x32-y22 87T 70T 17T 80% +/dev/grid/node-x32-y23 94T 72T 22T 76% +/dev/grid/node-x32-y24 87T 72T 15T 82% +/dev/grid/node-x33-y0 94T 64T 30T 68% +/dev/grid/node-x33-y1 94T 64T 30T 68% +/dev/grid/node-x33-y2 86T 66T 20T 76% +/dev/grid/node-x33-y3 90T 69T 21T 76% +/dev/grid/node-x33-y4 92T 71T 21T 77% +/dev/grid/node-x33-y5 85T 71T 14T 83% +/dev/grid/node-x33-y6 87T 72T 15T 82% +/dev/grid/node-x33-y7 510T 491T 19T 96% +/dev/grid/node-x33-y8 94T 70T 24T 74% +/dev/grid/node-x33-y9 93T 65T 28T 69% +/dev/grid/node-x33-y10 89T 66T 23T 74% +/dev/grid/node-x33-y11 90T 73T 17T 81% +/dev/grid/node-x33-y12 85T 69T 16T 81% +/dev/grid/node-x33-y13 87T 70T 17T 80% +/dev/grid/node-x33-y14 91T 70T 21T 76% +/dev/grid/node-x33-y15 90T 69T 21T 76% +/dev/grid/node-x33-y16 87T 68T 19T 78% +/dev/grid/node-x33-y17 93T 72T 21T 77% +/dev/grid/node-x33-y18 86T 67T 19T 77% +/dev/grid/node-x33-y19 88T 72T 16T 81% +/dev/grid/node-x33-y20 91T 66T 25T 72% +/dev/grid/node-x33-y21 92T 65T 27T 70% +/dev/grid/node-x33-y22 87T 69T 18T 79% +/dev/grid/node-x33-y23 93T 67T 26T 72% +/dev/grid/node-x33-y24 86T 65T 21T 75% +/dev/grid/node-x34-y0 86T 64T 22T 74% +/dev/grid/node-x34-y1 86T 65T 21T 75% +/dev/grid/node-x34-y2 94T 68T 26T 72% +/dev/grid/node-x34-y3 87T 72T 15T 82% +/dev/grid/node-x34-y4 86T 66T 20T 76% +/dev/grid/node-x34-y5 88T 67T 21T 76% +/dev/grid/node-x34-y6 90T 72T 18T 80% +/dev/grid/node-x34-y7 502T 495T 7T 98% +/dev/grid/node-x34-y8 93T 65T 28T 69% +/dev/grid/node-x34-y9 91T 71T 20T 78% +/dev/grid/node-x34-y10 91T 64T 27T 70% +/dev/grid/node-x34-y11 89T 68T 21T 76% +/dev/grid/node-x34-y12 93T 70T 23T 75% +/dev/grid/node-x34-y13 91T 71T 20T 78% +/dev/grid/node-x34-y14 87T 69T 18T 79% +/dev/grid/node-x34-y15 93T 72T 21T 77% +/dev/grid/node-x34-y16 86T 72T 14T 83% +/dev/grid/node-x34-y17 88T 68T 20T 77% +/dev/grid/node-x34-y18 88T 72T 16T 81% +/dev/grid/node-x34-y19 91T 68T 23T 74% +/dev/grid/node-x34-y20 89T 64T 25T 71% +/dev/grid/node-x34-y21 91T 67T 24T 73% +/dev/grid/node-x34-y22 89T 65T 24T 73% +/dev/grid/node-x34-y23 85T 67T 18T 78% +/dev/grid/node-x34-y24 88T 70T 18T 79% +/dev/grid/node-x35-y0 91T 71T 20T 78% +/dev/grid/node-x35-y1 92T 73T 19T 79% +/dev/grid/node-x35-y2 94T 67T 27T 71% +/dev/grid/node-x35-y3 88T 69T 19T 78% +/dev/grid/node-x35-y4 91T 69T 22T 75% +/dev/grid/node-x35-y5 90T 73T 17T 81% +/dev/grid/node-x35-y6 88T 65T 23T 73% +/dev/grid/node-x35-y7 506T 497T 9T 98% +/dev/grid/node-x35-y8 88T 71T 17T 80% +/dev/grid/node-x35-y9 85T 65T 20T 76% +/dev/grid/node-x35-y10 94T 66T 28T 70% +/dev/grid/node-x35-y11 88T 66T 22T 75% +/dev/grid/node-x35-y12 91T 64T 27T 70% +/dev/grid/node-x35-y13 85T 64T 21T 75% +/dev/grid/node-x35-y14 87T 71T 16T 81% +/dev/grid/node-x35-y15 93T 66T 27T 70% +/dev/grid/node-x35-y16 89T 64T 25T 71% +/dev/grid/node-x35-y17 93T 64T 29T 68% +/dev/grid/node-x35-y18 90T 66T 24T 73% +/dev/grid/node-x35-y19 91T 73T 18T 80% +/dev/grid/node-x35-y20 93T 69T 24T 74% +/dev/grid/node-x35-y21 94T 70T 24T 74% +/dev/grid/node-x35-y22 90T 73T 17T 81% +/dev/grid/node-x35-y23 89T 70T 19T 78% +/dev/grid/node-x35-y24 92T 72T 20T 78% +/dev/grid/node-x36-y0 94T 64T 30T 68% +/dev/grid/node-x36-y1 87T 67T 20T 77% +/dev/grid/node-x36-y2 93T 65T 28T 69% +/dev/grid/node-x36-y3 90T 72T 18T 80% +/dev/grid/node-x36-y4 85T 73T 12T 85% +/dev/grid/node-x36-y5 91T 64T 27T 70% +/dev/grid/node-x36-y6 87T 73T 14T 83% +/dev/grid/node-x36-y7 504T 499T 5T 99% +/dev/grid/node-x36-y8 90T 73T 17T 81% +/dev/grid/node-x36-y9 92T 70T 22T 76% +/dev/grid/node-x36-y10 89T 72T 17T 80% +/dev/grid/node-x36-y11 93T 70T 23T 75% +/dev/grid/node-x36-y12 85T 67T 18T 78% +/dev/grid/node-x36-y13 89T 67T 22T 75% +/dev/grid/node-x36-y14 94T 68T 26T 72% +/dev/grid/node-x36-y15 91T 72T 19T 79% +/dev/grid/node-x36-y16 87T 66T 21T 75% +/dev/grid/node-x36-y17 85T 65T 20T 76% +/dev/grid/node-x36-y18 90T 66T 24T 73% +/dev/grid/node-x36-y19 89T 69T 20T 77% +/dev/grid/node-x36-y20 88T 64T 24T 72% +/dev/grid/node-x36-y21 90T 66T 24T 73% +/dev/grid/node-x36-y22 93T 70T 23T 75% +/dev/grid/node-x36-y23 85T 71T 14T 83% +/dev/grid/node-x36-y24 89T 64T 25T 71% \ No newline at end of file diff --git a/2016/input/23 b/2016/input/23 new file mode 100644 index 0000000..1d499dc --- /dev/null +++ b/2016/input/23 @@ -0,0 +1,26 @@ +cpy a b +dec b +cpy a d +cpy 0 a +cpy b c +inc a +dec c +jnz c -2 +dec d +jnz d -5 +dec b +cpy b c +cpy c d +dec d +inc c +jnz d -2 +tgl c +cpy -16 c +jnz 1 c +cpy 77 c +jnz 73 d +inc a +inc d +jnz d -2 +inc c +jnz c -5 \ No newline at end of file diff --git a/2016/input/24 b/2016/input/24 new file mode 100644 index 0000000..b007190 --- /dev/null +++ b/2016/input/24 @@ -0,0 +1,37 @@ +####################################################################################################################################################################################### +#.....................#.....#.#.......#.......#...#.....#.#...#.........#...........#...#.........#...#...#...#...#.........#.#.....#.........#.#.#.....#.....#.....#.#.#.............# +#.#.###.#.###.#.###.#.#.###.#.###.#########.#.#####.#####.#.###.#.#.#.#.###.#.###.#.#.#.#.###.#.#.#.#.###.#.#.#.#.###.#.#.#.#.#.#.#.#.###.#.#.#.#.#.#####.###.#.#.#.#.#.###.#.#.#.#.#.# +#.........#.......#...#.....#.#.#.#.......#.#.....#...#.....#.....#.....#...............#.#.#...#...#.#.....#.......#.#...#.....#.......#...#.#.#...#2#...#.................#...#.....# +#.###.#.###.#.#.#.#.#.#.#.#.#.#.#.#####.#.#.#.###.#.###.#.#.#.###.#.#.#.###.#.#.###.#.#####.#.#.#####.#.#.#.#######.#.#####.###.###.###.#.#.#.#.#.#.#.#.###.###.###.###.#.#.#.#.####### +#.#....1#.....#...#.......#...#.#.#.....#.....#.....................#.#...........#...#.....#.....#.....#.......#.....#.#.......#...........#...#.#...#...#...............#.#.#.#.....# +#.#.#######.#.#.#.#.#############.#.###.###.###.#.#.#########.#.###.#.#.#.#.#.#.#.#####.#.#.#.###.#.#.#.#.#.#.#.#.#.###.#########.#.#.#############.#######.#.#.#.###.###.###.#####.### +#.#.#...#.........#.....#.........#.....#.#.#...#...........#...#.........#...#.#.....#.#...............#...#.....#.#.#.............#.....#...#.....#...........#.#.#.....#...#.......# +#.###.#.#.#.#.#######.#.#.#.#.###.###.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.#######.#.###.#.#.#.###.#.###.#.#.###.#.#.#.#.#.#.#.#.#.#######.#.###.#.###.#.###.#.#.###.#.###.#.#.#.#.#.#.### +#...#.#.........#.#...#.....#...#.......#.#.#.......#.#.#...#.........#.....#.#...#.#.#...#...#...#.....#.........#.#.....#.......#.....#.......#.#...#...#.....#.....#.......#.#.#...# +#.#.#.#.#.#.###.#.#.#.#.###.#####.#####.#######.#.###.#.#.#.#####.#.#####.###.#.#.#.#.#.#.###.#.#.#.#####.#.#####.#.###.#####.#.#.#.###.###.###.#.#.#.#####.#.#.#####.#.#######.#.#.### +#.....#.#.....#.........#.#...#.......#...#.......#.........#...#.#.#.#.......#...#...............#.#...................#.#.#.......#.#.........#....0#...#.#.......#.#.#.#...#.....#.# +#######.#.#.#.#######.###.#.###.#.#.#.#.#.#.#.#.###.###.#####.#.#.###.#.#.###.#####.#.#.#.#.#####.#.###.###.#.#.#######.#.#.#.#######.#.#.#.#.#.#.#.#.#.###.#.###.#.###.#.#####.#.#.#.# +#.........#...#...#.....#.........#.......#...#...........#.#.#.#...#...#.#...#.#...#.#.#.......#.......#...#.....#.....#.#...#.#.#.#.........#...............#...#.#...........#.....# +#.#.#.#.#.#####.###.#####.#.#######.#.#.#.#.#.#.#.#####.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#.#.###.#.###.#.###.#.#.#.#.#.###.#.#.#.#.#.#.#.#.#.#####.###.###.#.#######.#.###.#.####### +#.#...#...#...#.....#.#.#.#...#.................#...#...#.#...#...#...#.#.#.#.....#.#.#.....#.#...#.#.......#.#.#...#...#.#...#.....#...#.#...#...#.....#.....#...#.....#.....#.#...#.# +#.###.###.###.###.#.#.#.#.#.#.#.#.#.###.#.###.#####.#.###.#.###.###.#.#.#.#.#.###.#.###.#####.###.###.#.#.#.#.#.#.#.#.#.#.#.###.#.#.#.###.#####.#.###########.#.#.#.###.#.#######.#.#.# +#..3#.#.......#...#.............#.....#.....#...#...#.#.....#.......#.....#...#.....#.#.#.........#...#.#.........#.....#...............#.........#...#...........#.#.#...#7#.#.....#.# +###.#.#.###.#.#.###.#############.###.#.#######.#.#####.#######.#####.#.###.#.#.#.#.#.#.#.#.#.#.#.###.#.#########.#.#.#.#.#.#.###.#.###.#####.#####.###.#.###.#.#.#.#.#.#.#.#.#.###.#.# +#.#...#.....#.#.#.#.#.#...........................#.......#...#.#.....#.#...#...#.#...#.........#...........#.#.....#.....#...#...#.#.......#.#.#...#...#.#.......#.......#...#.....#.# +#.#########.#.#.#.#.#.#.#.#####.###.#######.#.#####.#.#.#.#.###.#.#.#.#.#####.#######.#.#####.#.#.#.#####.#.#.#.###.#####.#.#######.#######.###.###.#.#.#.###.###.#.#########.#.#.###.# +#.#.......#...#.....#.#.......#.#...#.....#...........#.#...........#...#.....#.........#.......#...#.........#.#.....#.#...#.............#.............#...........#.....#...#.#.#.#.# +#.#.###.#.#.#.#.#.###.###.#####.#.#.#.#.#.###.#.#####.#.#.#.#.###.#####.#######.#.#.#.#.#.#.#.#.#.#.###.#.###.#.#.#.#.#.#.###.#.###.#.###.#######.###.#.#.#.#.###.###.#.#.#.#.#.#.#.### +#.#.......................#.......#.......#.#.#.......#...........#...#...#.....#.#.#...#...#...#.......#.......#.#.#...#.....#.....#...#...#.....#.#...#...#...........#.....#...#...# +#.#.###.#####.#.###.#.#.###.#.#.#.#######.#.#####.#.#.###.#.#######.#.#.#.#.#.#.###.#.#.#.#.#.#.#.###.#.###.#.###.###.#######.#.###.###.#.#.#.###.#.###.###.###.#.#.#.#.#.#.#.#.###.#.# +#...#.....#.........#...#.#.....#...#...#.#.#...#.....#.#.#...#.......#.....#.......#.....#.....#.#.....#...#.#.#.......#...#.#...#.........#...#...........#...#...#...#.....#.#.#.#.# +#########.###.#####.#.#.#.#.#.###.#.#.###.#.#.#.#.###.#.#.#.#.#.#.###.#.###.#.#####.#######.#.###.#.###.#.#.###.#.#.#####.#######.#.###.#.###.###.#.###.#.#.#.###.#.#######.#.###.#.#.# +#.#...#...#...#.....#...#.#6......#.#.....#.....#.....#.#...#...#...#.#.....#...#...#...#...#.............#.#...#.......#.#...#...........#.#..5#...#.#.....#...#.....#...#...#.......# +#.###.#.#.###.###.#.#.#.#.#####.#.#.#####.#.#.###.#.#.#.#.#.#.###.#.#.###.#.#########.###.###.#######.#.#.#.#.#.#.#####.#.#.#.#.#.###.#.###.#####.#.#.#.#.#.#.#.###.#.###.#.###.#.#.#.# +#.#...#...#...#.........#...#.................#.....#.....#...............#.....#.#...#.....#.......#...#.....#.#.#.......#.............#.#.#.#...#.#...#.#.#...#.....#.......#.......# +#.###.#.###.###.###.#.#.#.#.#.###.###.#.#.###.###.###############.#####.#.#######.#.#.#.###########.###.#.#.#.#.#.#.#.###.#.#####.#######.###.#.#.#.#.###.#.#.#.#.###.###.###.#.#.###.# +#...................#...........#.#.#.........#.....#...#...#...#.#.....#.........#...#.#.......#...#...............#.#.................#.....#.....#.#.....#...#...#.#.....#...#.....# +#.#.#.#.#.###.###.#.###.#.#####.#.#.#########.#.#.###.#.###.#####.#.#.#.#.#.#.#######.#####.#.#.#.###.#.#.###.#####.#.#.#.###.###.###.###.#######.#.#.#.###.#.#.#.#.#.#.#.###.#.#.###.# +#.#...#.#.#.#.......#.#...#.#.....#.......#.#.#.....#.#.#.......#...#.#.....#.#...#...#.........#.......#.....#.#...#...#.......#.#...#...#.#.........#...#.........#.........#.#.#...# +###.#####.#.#.###.#.#.#.###.#.#.#.#.#.#.#.#.#.#####.###.#.###.#.#.#.#.#.#.#.#######.#.###.#.#####.###.#####.###.#.#.###.#.#.#.###.#.###.#.#.#.#.#####.#.#####.###.#.#.#.###.#####.#.#.# +#...........#...................#.....#.....#...............#...#.#.....#.......#...#...#...#...#.......#...#...#.....#...#...#...#.....#4#...#...#...#.....#.............#.#...#.....# +####################################################################################################################################################################################### \ No newline at end of file diff --git a/2016/input/25 b/2016/input/25 new file mode 100644 index 0000000..47effc4 --- /dev/null +++ b/2016/input/25 @@ -0,0 +1,30 @@ +cpy a d +cpy 7 c +cpy 365 b +inc d +dec b +jnz b -2 +dec c +jnz c -5 +cpy d a +jnz 0 0 +cpy a b +cpy 0 a +cpy 2 c +jnz b 2 +jnz 1 6 +dec b +dec c +jnz c -4 +inc a +jnz 1 -7 +cpy 2 b +jnz c 2 +jnz 1 4 +dec b +dec c +jnz 1 -4 +jnz 0 0 +out b +jnz a -19 +jnz 1 -21 \ No newline at end of file diff --git a/2016/internal/solutions/day01.go b/2016/internal/solutions/day01.go new file mode 100644 index 0000000..8d17ae7 --- /dev/null +++ b/2016/internal/solutions/day01.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day01() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/01") + fmt.Println("01 is not implemented yet") +} diff --git a/2016/internal/solutions/day02.go b/2016/internal/solutions/day02.go new file mode 100644 index 0000000..71d0c54 --- /dev/null +++ b/2016/internal/solutions/day02.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day02() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/02") + fmt.Println("02 is not implemented yet") +} diff --git a/2016/internal/solutions/day03.go b/2016/internal/solutions/day03.go new file mode 100644 index 0000000..f0b5fd1 --- /dev/null +++ b/2016/internal/solutions/day03.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day03() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/03") + fmt.Println("03 is not implemented yet") +} diff --git a/2016/internal/solutions/day04.go b/2016/internal/solutions/day04.go new file mode 100644 index 0000000..5adaf87 --- /dev/null +++ b/2016/internal/solutions/day04.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day04() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/04") + fmt.Println("04 is not implemented yet") +} diff --git a/2016/internal/solutions/day05.go b/2016/internal/solutions/day05.go new file mode 100644 index 0000000..33922d4 --- /dev/null +++ b/2016/internal/solutions/day05.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day05() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/05") + fmt.Println("05 is not implemented yet") +} diff --git a/2016/internal/solutions/day06.go b/2016/internal/solutions/day06.go new file mode 100644 index 0000000..d6ab66f --- /dev/null +++ b/2016/internal/solutions/day06.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day06() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/06") + fmt.Println("06 is not implemented yet") +} diff --git a/2016/internal/solutions/day07.go b/2016/internal/solutions/day07.go new file mode 100644 index 0000000..14e999d --- /dev/null +++ b/2016/internal/solutions/day07.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day07() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/07") + fmt.Println("07 is not implemented yet") +} diff --git a/2016/internal/solutions/day08.go b/2016/internal/solutions/day08.go new file mode 100644 index 0000000..f23d931 --- /dev/null +++ b/2016/internal/solutions/day08.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day08() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/08") + fmt.Println("08 is not implemented yet") +} diff --git a/2016/internal/solutions/day09.go b/2016/internal/solutions/day09.go new file mode 100644 index 0000000..15d13f7 --- /dev/null +++ b/2016/internal/solutions/day09.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day09() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/09") + fmt.Println("09 is not implemented yet") +} diff --git a/2016/internal/solutions/day10.go b/2016/internal/solutions/day10.go new file mode 100644 index 0000000..91f9b4b --- /dev/null +++ b/2016/internal/solutions/day10.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day10() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/10") + fmt.Println("10 is not implemented yet") +} diff --git a/2016/internal/solutions/day11.go b/2016/internal/solutions/day11.go new file mode 100644 index 0000000..6583d81 --- /dev/null +++ b/2016/internal/solutions/day11.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day11() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/11") + fmt.Println("11 is not implemented yet") +} diff --git a/2016/internal/solutions/day12.go b/2016/internal/solutions/day12.go new file mode 100644 index 0000000..9722bce --- /dev/null +++ b/2016/internal/solutions/day12.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day12() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/12") + fmt.Println("12 is not implemented yet") +} diff --git a/2016/internal/solutions/day13.go b/2016/internal/solutions/day13.go new file mode 100644 index 0000000..c4f8912 --- /dev/null +++ b/2016/internal/solutions/day13.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day13() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/13") + fmt.Println("13 is not implemented yet") +} diff --git a/2016/internal/solutions/day14.go b/2016/internal/solutions/day14.go new file mode 100644 index 0000000..a9ad151 --- /dev/null +++ b/2016/internal/solutions/day14.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day14() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/14") + fmt.Println("14 is not implemented yet") +} diff --git a/2016/internal/solutions/day15.go b/2016/internal/solutions/day15.go new file mode 100644 index 0000000..52be10e --- /dev/null +++ b/2016/internal/solutions/day15.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day15() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/15") + fmt.Println("15 is not implemented yet") +} diff --git a/2016/internal/solutions/day16.go b/2016/internal/solutions/day16.go new file mode 100644 index 0000000..25e605d --- /dev/null +++ b/2016/internal/solutions/day16.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day16() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/16") + fmt.Println("16 is not implemented yet") +} diff --git a/2016/internal/solutions/day17.go b/2016/internal/solutions/day17.go new file mode 100644 index 0000000..7773b7e --- /dev/null +++ b/2016/internal/solutions/day17.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day17() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/17") + fmt.Println("17 is not implemented yet") +} diff --git a/2016/internal/solutions/day18.go b/2016/internal/solutions/day18.go new file mode 100644 index 0000000..597fcf7 --- /dev/null +++ b/2016/internal/solutions/day18.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day18() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/18") + fmt.Println("18 is not implemented yet") +} diff --git a/2016/internal/solutions/day19.go b/2016/internal/solutions/day19.go new file mode 100644 index 0000000..b4e6866 --- /dev/null +++ b/2016/internal/solutions/day19.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day19() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/19") + fmt.Println("19 is not implemented yet") +} diff --git a/2016/internal/solutions/day20.go b/2016/internal/solutions/day20.go new file mode 100644 index 0000000..0264e4d --- /dev/null +++ b/2016/internal/solutions/day20.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day20() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/20") + fmt.Println("20 is not implemented yet") +} diff --git a/2016/internal/solutions/day21.go b/2016/internal/solutions/day21.go new file mode 100644 index 0000000..bbf948f --- /dev/null +++ b/2016/internal/solutions/day21.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day21() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/21") + fmt.Println("21 is not implemented yet") +} diff --git a/2016/internal/solutions/day22.go b/2016/internal/solutions/day22.go new file mode 100644 index 0000000..a08f462 --- /dev/null +++ b/2016/internal/solutions/day22.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day22() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/22") + fmt.Println("22 is not implemented yet") +} diff --git a/2016/internal/solutions/day23.go b/2016/internal/solutions/day23.go new file mode 100644 index 0000000..3c5a664 --- /dev/null +++ b/2016/internal/solutions/day23.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day23() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/23") + fmt.Println("23 is not implemented yet") +} diff --git a/2016/internal/solutions/day24.go b/2016/internal/solutions/day24.go new file mode 100644 index 0000000..04e6880 --- /dev/null +++ b/2016/internal/solutions/day24.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day24() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/24") + fmt.Println("24 is not implemented yet") +} diff --git a/2016/internal/solutions/day25.go b/2016/internal/solutions/day25.go new file mode 100644 index 0000000..51c2412 --- /dev/null +++ b/2016/internal/solutions/day25.go @@ -0,0 +1,9 @@ +package solutions + +import "fmt" + +func day25() { + //in := utility.GetInput("input/test") + //in := utility.GetInput("input/25") + fmt.Println("25 is not implemented yet") +} diff --git a/2016/internal/solutions/runner.go b/2016/internal/solutions/runner.go new file mode 100644 index 0000000..9dc6be1 --- /dev/null +++ b/2016/internal/solutions/runner.go @@ -0,0 +1,60 @@ +package solutions + +import "fmt" + +func Run(day int) { + switch day { + case 1: + day01() + case 2: + day02() + case 3: + day03() + case 4: + day04() + case 5: + day05() + case 6: + day06() + case 7: + day07() + case 8: + day08() + case 9: + day09() + case 10: + day10() + case 11: + day11() + case 12: + day12() + case 13: + day13() + case 14: + day14() + case 15: + day15() + case 16: + day16() + case 17: + day17() + case 18: + day18() + case 19: + day19() + case 20: + day20() + case 21: + day21() + case 22: + day22() + case 23: + day23() + case 24: + day24() + case 25: + day25() + default: + fmt.Println("Unknown day in 2015: ", day) + } +} diff --git a/2016/internal/utility/input.go b/2016/internal/utility/input.go new file mode 100644 index 0000000..13094e2 --- /dev/null +++ b/2016/internal/utility/input.go @@ -0,0 +1,29 @@ +package utility + +import ( + "os" + "strconv" + "strings" +) + +func GetInput(path string) string { + data, err := os.ReadFile(path) + Error(err) + return string(data) +} + +func GetLines(path string) []string { + data := GetInput(path) + return strings.Split(data, "\n") +} + +func GetInts(path string) []int { + data := GetLines(path) + r := make([]int, len(data)) + for _, line := range data { + t, err := strconv.Atoi(line) + Error(err) + r = append(r, t) + } + return r +} diff --git a/2016/internal/utility/utility.go b/2016/internal/utility/utility.go new file mode 100644 index 0000000..6d97d67 --- /dev/null +++ b/2016/internal/utility/utility.go @@ -0,0 +1,35 @@ +package utility + +import ( + "crypto/md5" + "encoding/hex" + "log" +) + +func Error(err error) { + if err != nil { + log.Panic(err) + } +} + +type Point struct { + x int + y int +} + +func NewPoint(x, y int) Point { + return Point{x, y} +} + +func GetMD5Hash(in string) string { + hash := md5.Sum([]byte(in)) + return hex.EncodeToString(hash[:]) +} + +func RuneMap(in string) (m map[rune]int) { + m = make(map[rune]int) + for _, c := range in { + m[c]++ + } + return m +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8482344 --- /dev/null +++ b/LICENSE @@ -0,0 +1,5 @@ +Copyright 2020 Evan Burkey + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..07fc849 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# aoc + +Advent Of Code solutions for 2015 using C99. Builds and runs on macOS, Linux, and OpenBSD. + +## Building + +Be sure to clone the top project with its submodules: + + git clone --recurse-submodules https://git.burkey.co/eburk/aoc + +This project relies on several BSD extensions to the stdlib. OpenBSD and macOS users should be able to build the project out of the box. Linux users will need `libbsd` installed. The package is called `libbsd-dev` on Debian-based systems. + +Build the project using Cmake: + + mkdir build + cd build + cmake .. + make + +The supplied `build.sh` script does the above for you. + +## Inputs + +Inputs can be generated from `get_input.sh`. You will need to get your session cookie from the Advent of Code website. The easiest way to do this is to inspect any input page in your browser. + +The script can then be run with `bash get_input.sh SESSIONCOOKIE`, with `SESSIONCOOKIE` replaced by your unique session cookie's hash. + +## Usage + +```bash +./advent $DAY +``` + +For example, `./advent 1` will run Day 01 diff --git a/get_input.sh b/get_input.sh new file mode 100755 index 0000000..0e91f80 --- /dev/null +++ b/get_input.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env sh + +if [ "$#" -ne 2 ]; then + echo "Usage: $0 YEAR SESSION_TOKEN" >&2 + exit 1 +fi + +if [ "$1" -lt 2015 ] || [ "$1" -gt 2025 ]; then + echo "Error: YEAR must be between 2015 and 2025." >&2 + exit 1 +fi + +get(){ + curl -s --cookie "session=$1" "$2" | perl -pe 'chomp if eof' > "$3" +} + +mkdir -p "$1/input" +for day in {1..25}; do + if [[ day -lt 10 ]]; then + d="0$day" + else + d="$day" + fi + url="https://adventofcode.com/$1/day/$day/input" + get "$2" "$url" "$1/input/$d" +done +echo "test" > "$1/input/test"