From: Neil Smith Date: Fri, 23 Dec 2016 19:03:22 +0000 (+0000) Subject: Removed needless directory X-Git-Url: https://git.njae.me.uk/?a=commitdiff_plain;h=3a26b187d5dc23b05fb73daabe52a92976a7a3c7;hp=eb87b3a000ef3019d99828b71068c8cfcd9d3caa;p=advent-of-code-16.git Removed needless directory --- diff --git a/Setup.hs b/Setup.hs new file mode 100644 index 0000000..9a994af --- /dev/null +++ b/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/adventofcode16.cabal b/adventofcode16.cabal new file mode 100644 index 0000000..6216e51 --- /dev/null +++ b/adventofcode16.cabal @@ -0,0 +1,365 @@ +name: adventofcode16 +version: 0.1.0.0 +synopsis: Initial project template from stack +description: Please see README.md +homepage: https://github.com/neilnjae/adventofcode16#readme +license: BSD3 +license-file: LICENSE +author: Neil Smith +maintainer: noone@njae.me.uk +copyright: 2016 Neil Smith +category: None +build-type: Simple +extra-source-files: README.md +cabal-version: >=1.10 + +library + hs-source-dirs: src + exposed-modules: Lib + build-depends: base >= 4.7 && < 5 + default-language: Haskell2010 + +executable advent01 + hs-source-dirs: app + main-is: advent01.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , split + default-language: Haskell2010 + +executable advent02 + hs-source-dirs: app + main-is: advent02.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , array + default-language: Haskell2010 + +executable advent03 + hs-source-dirs: app + main-is: advent03.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , split + default-language: Haskell2010 + +executable advent04 + hs-source-dirs: app + main-is: advent04.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , split + , containers + default-language: Haskell2010 + +executable advent05 + hs-source-dirs: app + main-is: advent05.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , containers + , MissingH + default-language: Haskell2010 + +executable advent06 + hs-source-dirs: app + main-is: advent06.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent07 + hs-source-dirs: app + main-is: advent07.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + default-language: Haskell2010 + +executable advent08 + hs-source-dirs: app + main-is: advent08.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , array + , parsec + default-language: Haskell2010 + +executable advent09 + hs-source-dirs: app + main-is: advent09.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , split + default-language: Haskell2010 + +executable advent10 + hs-source-dirs: app + main-is: advent10.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , text + , mtl + default-language: Haskell2010 + +executable advent11 + hs-source-dirs: app + main-is: advent11.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent11a + hs-source-dirs: app + main-is: advent11a.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent11h + hs-source-dirs: app + main-is: advent11h.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent11p + hs-source-dirs: app + main-is: advent11p.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , pqueue + default-language: Haskell2010 + +executable advent12 + hs-source-dirs: app + main-is: advent12.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + , mtl + default-language: Haskell2010 + +executable advent13 + hs-source-dirs: app + main-is: advent13.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , MissingH + default-language: Haskell2010 + +executable advent14 + hs-source-dirs: app + main-is: advent14.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , MissingH + default-language: Haskell2010 + +executable advent14c + hs-source-dirs: app + main-is: advent14c.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , bytestring + , cryptonite + default-language: Haskell2010 + +executable advent14parallel + hs-source-dirs: app + main-is: advent14parallel.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parallel + , bytestring + , cryptonite + default-language: Haskell2010 + +executable advent15 + hs-source-dirs: app + main-is: advent15.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent15l + hs-source-dirs: app + main-is: advent15l.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent16 + hs-source-dirs: app + main-is: advent16.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent16i + hs-source-dirs: app + main-is: advent16i.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent17 + hs-source-dirs: app + main-is: advent17.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , bytestring + , cryptonite + default-language: Haskell2010 + +executable advent18 + hs-source-dirs: app + main-is: advent18.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent18f + hs-source-dirs: app + main-is: advent18f.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +executable advent19 + hs-source-dirs: app + main-is: advent19.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , containers + default-language: Haskell2010 + +executable advent20 + hs-source-dirs: app + main-is: advent20.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent21 + hs-source-dirs: app + main-is: advent21.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + , mtl + default-language: Haskell2010 + +executable advent22 + hs-source-dirs: app + main-is: advent22.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent22search + hs-source-dirs: app + main-is: advent22search.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent22showgrid + hs-source-dirs: app + main-is: advent22showgrid.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + default-language: Haskell2010 + +executable advent22library + hs-source-dirs: app + main-is: advent22library.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + , containers + , astar + , unordered-containers + , hashable + default-language: Haskell2010 + +executable advent23 + hs-source-dirs: app + main-is: advent23.hs + ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + , parsec + , parsec-numbers + , mtl + default-language: Haskell2010 + +executable adventofcode16-exe + hs-source-dirs: app + main-is: Main.hs + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: base + , adventofcode16 + default-language: Haskell2010 + +test-suite adventofcode16-test + type: exitcode-stdio-1.0 + hs-source-dirs: test + main-is: Spec.hs + build-depends: base + , adventofcode16 + ghc-options: -threaded -rtsopts -with-rtsopts=-N + default-language: Haskell2010 + +source-repository head + type: git + location: https://github.com/neilnjae/adventofcode16 diff --git a/adventofcode16/Setup.hs b/adventofcode16/Setup.hs deleted file mode 100644 index 9a994af..0000000 --- a/adventofcode16/Setup.hs +++ /dev/null @@ -1,2 +0,0 @@ -import Distribution.Simple -main = defaultMain diff --git a/adventofcode16/adventofcode16.cabal b/adventofcode16/adventofcode16.cabal deleted file mode 100644 index 6216e51..0000000 --- a/adventofcode16/adventofcode16.cabal +++ /dev/null @@ -1,365 +0,0 @@ -name: adventofcode16 -version: 0.1.0.0 -synopsis: Initial project template from stack -description: Please see README.md -homepage: https://github.com/neilnjae/adventofcode16#readme -license: BSD3 -license-file: LICENSE -author: Neil Smith -maintainer: noone@njae.me.uk -copyright: 2016 Neil Smith -category: None -build-type: Simple -extra-source-files: README.md -cabal-version: >=1.10 - -library - hs-source-dirs: src - exposed-modules: Lib - build-depends: base >= 4.7 && < 5 - default-language: Haskell2010 - -executable advent01 - hs-source-dirs: app - main-is: advent01.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , split - default-language: Haskell2010 - -executable advent02 - hs-source-dirs: app - main-is: advent02.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , array - default-language: Haskell2010 - -executable advent03 - hs-source-dirs: app - main-is: advent03.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , split - default-language: Haskell2010 - -executable advent04 - hs-source-dirs: app - main-is: advent04.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , split - , containers - default-language: Haskell2010 - -executable advent05 - hs-source-dirs: app - main-is: advent05.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , containers - , MissingH - default-language: Haskell2010 - -executable advent06 - hs-source-dirs: app - main-is: advent06.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent07 - hs-source-dirs: app - main-is: advent07.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - default-language: Haskell2010 - -executable advent08 - hs-source-dirs: app - main-is: advent08.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , array - , parsec - default-language: Haskell2010 - -executable advent09 - hs-source-dirs: app - main-is: advent09.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , split - default-language: Haskell2010 - -executable advent10 - hs-source-dirs: app - main-is: advent10.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , text - , mtl - default-language: Haskell2010 - -executable advent11 - hs-source-dirs: app - main-is: advent11.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent11a - hs-source-dirs: app - main-is: advent11a.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent11h - hs-source-dirs: app - main-is: advent11h.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent11p - hs-source-dirs: app - main-is: advent11p.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , pqueue - default-language: Haskell2010 - -executable advent12 - hs-source-dirs: app - main-is: advent12.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - , mtl - default-language: Haskell2010 - -executable advent13 - hs-source-dirs: app - main-is: advent13.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , MissingH - default-language: Haskell2010 - -executable advent14 - hs-source-dirs: app - main-is: advent14.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , MissingH - default-language: Haskell2010 - -executable advent14c - hs-source-dirs: app - main-is: advent14c.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , bytestring - , cryptonite - default-language: Haskell2010 - -executable advent14parallel - hs-source-dirs: app - main-is: advent14parallel.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parallel - , bytestring - , cryptonite - default-language: Haskell2010 - -executable advent15 - hs-source-dirs: app - main-is: advent15.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent15l - hs-source-dirs: app - main-is: advent15l.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent16 - hs-source-dirs: app - main-is: advent16.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent16i - hs-source-dirs: app - main-is: advent16i.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent17 - hs-source-dirs: app - main-is: advent17.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , bytestring - , cryptonite - default-language: Haskell2010 - -executable advent18 - hs-source-dirs: app - main-is: advent18.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent18f - hs-source-dirs: app - main-is: advent18f.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -executable advent19 - hs-source-dirs: app - main-is: advent19.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , containers - default-language: Haskell2010 - -executable advent20 - hs-source-dirs: app - main-is: advent20.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent21 - hs-source-dirs: app - main-is: advent21.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - , mtl - default-language: Haskell2010 - -executable advent22 - hs-source-dirs: app - main-is: advent22.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent22search - hs-source-dirs: app - main-is: advent22search.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent22showgrid - hs-source-dirs: app - main-is: advent22showgrid.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - default-language: Haskell2010 - -executable advent22library - hs-source-dirs: app - main-is: advent22library.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - , containers - , astar - , unordered-containers - , hashable - default-language: Haskell2010 - -executable advent23 - hs-source-dirs: app - main-is: advent23.hs - ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - , parsec - , parsec-numbers - , mtl - default-language: Haskell2010 - -executable adventofcode16-exe - hs-source-dirs: app - main-is: Main.hs - ghc-options: -threaded -rtsopts -with-rtsopts=-N - build-depends: base - , adventofcode16 - default-language: Haskell2010 - -test-suite adventofcode16-test - type: exitcode-stdio-1.0 - hs-source-dirs: test - main-is: Spec.hs - build-depends: base - , adventofcode16 - ghc-options: -threaded -rtsopts -with-rtsopts=-N - default-language: Haskell2010 - -source-repository head - type: git - location: https://github.com/neilnjae/adventofcode16 diff --git a/adventofcode16/app/Main.hs b/adventofcode16/app/Main.hs deleted file mode 100644 index de1c1ab..0000000 --- a/adventofcode16/app/Main.hs +++ /dev/null @@ -1,6 +0,0 @@ -module Main where - -import Lib - -main :: IO () -main = someFunc diff --git a/adventofcode16/app/advent01.hs b/adventofcode16/app/advent01.hs deleted file mode 100644 index b76195d..0000000 --- a/adventofcode16/app/advent01.hs +++ /dev/null @@ -1,99 +0,0 @@ -module Main(main) where - -import Data.List (sort) -import Data.List.Split (splitOn) - --- turn direction, number of steps -data Step = Step Char Int deriving (Show) - -data Direction = North | East | South | West - deriving (Enum, Show, Bounded, Eq) - --- direction, easting, northing -data Position = Position Direction Int Int deriving (Show) --- Two positions are the same if they're in the same place, --- regardless of facing -instance Eq Position where - Position _ e n == Position _ e' n' = e == e' && n == n' - -main :: IO () -main = do - instructions <- readFile "data/advent01.txt" - part1 instructions - part2 instructions - -part1 :: String -> IO () -part1 instructions = do - let answer = finalDistance $ last $ stepsFromStart $ steps instructions - print answer - -part2 :: String -> IO () -part2 instructions = do - let visited = finalDistance $ firstRepeat $ stepsFromStart $ expandSteps $ steps instructions - print visited - - --- Extract the steps from the input string. -steps :: String -> [Step] -steps s = map readStep $ splitOn ", " s - where readStep (d:l) = Step d (read l) - --- Take steps from the starting position -stepsFromStart :: [Step] -> [Position] -stepsFromStart = takeSteps (Position North 0 0) - --- Calculate manhattan distance from start to this state -finalDistance :: Position -> Int -finalDistance (Position _ e n) = (abs e) + (abs n) - --- For part 2: convert one step of many spaces to many steps of one space each -expandSteps :: [Step] -> [Step] -expandSteps = - concatMap expandStep - where expandStep (Step dir d) = (Step dir 1) : replicate (d - 1) (Step 'S' 1) - --- Execute a series of steps, keeping track of the positions after each step -takeSteps :: Position -> [Step] -> [Position] --- takeSteps pos steps = scanl move pos steps -takeSteps = scanl move - --- Make one move, by updating direction then position -move :: Position -> Step -> Position -move (Position facing easting northing) - (Step turnInstr distance) = - Position facing' easting' northing' - where facing' = turn turnInstr facing - (easting', northing') = takeStep facing' distance easting northing - --- Turn right, left, or straight -turn :: Char -> Direction -> Direction -turn 'R' direction = turnCW direction -turn 'L' direction = turnACW direction -turn 'S' direction = direction - --- Move in the current direction -takeStep :: Direction -> Int -> Int -> Int -> (Int, Int) -takeStep North d e n = (e, n+d) -takeStep South d e n = (e, n-d) -takeStep West d e n = (e-d, n) -takeStep East d e n = (e+d, n) - - --- | a `succ` that wraps -turnCW :: (Bounded a, Enum a, Eq a) => a -> a -turnCW dir | dir == maxBound = minBound - | otherwise = succ dir - --- | a `pred` that wraps -turnACW :: (Bounded a, Enum a, Eq a) => a -> a -turnACW dir | dir == minBound = maxBound - | otherwise = pred dir - --- All the prefixes of a list of items -prefixes = scanl addTerm [] - where addTerm ps t = ps ++ [t] - --- The first item that exists in a prefix of the list to that point -firstRepeat positions = - last $ head $ dropWhile (\p -> (last p) `notElem` (tail $ reverse p)) - (tail $ prefixes positions) diff --git a/adventofcode16/app/advent02.hs b/adventofcode16/app/advent02.hs deleted file mode 100644 index 747001d..0000000 --- a/adventofcode16/app/advent02.hs +++ /dev/null @@ -1,90 +0,0 @@ -module Main(main) where - -import Data.Array.IArray - --- Row 1 is top, column 1 is left -type Position = (Int, Int) -type Keyboard = Array Position Char - -kb1 = ["xxxxx", - "x123x", - "x456x", - "x789x", - "xxxxx"] - -kb2 = ["xxxxxxx", - "xxx1xxx", - "xx234xx", - "x56789x", - "xxABCxx", - "xxxDxxx", - "xxxxxxx"] - -enumerate = zip [0..] - -mkKeyboard :: [String] -> Keyboard -mkKeyboard kb = array ((0, 0), (length kb - 1, length (kb!!0) - 1)) - [((i, j), c) | (i, r) <- enumerate kb, (j, c) <- enumerate r] - -keyboard1 = mkKeyboard kb1 -keyboard2 = mkKeyboard kb2 - -findKey :: Keyboard -> Char-> Position -findKey kb c = fst $ head $ filter (\a -> (snd a) == c) $ assocs kb - --- data Coord = One | Two | Three --- deriving (Read, Show, Eq, Ord, Enum, Bounded) --- -- instance Bounded Coord where --- -- minBound = Coord 1 --- -- maxBound = Coord 3 - --- data Position = Position Coord Coord --- deriving (Show, Eq) - -main :: IO () -main = do - instrText <- readFile "data/advent02.txt" - let instructions = lines instrText - part1 instructions - part2 instructions - -part1 :: [String] -> IO () -part1 instructions = do - putStrLn $ followInstructions keyboard1 instructions - - -part2 :: [String] -> IO () -part2 instructions = do - putStrLn $ followInstructions keyboard2 instructions - - -followInstructions :: Keyboard -> [String] -> String -followInstructions kb instr = moveSeries kb (startPosition kb) instr - - -startPosition :: Keyboard -> Position -startPosition kb = findKey kb '5' - -moveSeries :: Keyboard -> Position -> [String] -> String -moveSeries _ _ [] = [] -moveSeries kb p (i:is) = (n:ns) - where p' = makeMoves kb p i - n = kb ! p' - ns = moveSeries kb p' is - -makeMoves :: Keyboard -> Position -> [Char] -> Position -makeMoves kb p ms = foldl (safeMove kb) p ms - -safeMove :: Keyboard -> Position -> Char -> Position -safeMove kb pos dir = maybeRevert kb pos (move pos dir) - -move :: Position -> Char -> Position -move (r, c) 'U' = (r-1, c) -move (r, c) 'D' = (r+1, c) -move (r, c) 'L' = (r, c-1) -move (r, c) 'R' = (r, c+1) - -maybeRevert :: Keyboard -> Position -> Position -> Position -maybeRevert kb oldPos newPos - | kb ! newPos == 'x' = oldPos - | otherwise = newPos diff --git a/adventofcode16/app/advent03.hs b/adventofcode16/app/advent03.hs deleted file mode 100644 index ef40bcc..0000000 --- a/adventofcode16/app/advent03.hs +++ /dev/null @@ -1,33 +0,0 @@ -module Main(main) where - -import Data.List (transpose, sort) -import Data.List.Split (splitOn, chunksOf) - -type Triple = [Integer] - -main :: IO () -main = do - instrText <- readFile "data/advent03.txt" - let triangles = map (parseLine) $ lines instrText - part1 triangles - part2 triangles - - -part1 :: [Triple] -> IO () -part1 triangles = do - print $ length $ filter (validTriangle) triangles - -part2 :: [Triple] -> IO () -part2 triangles = do - print $ length $ filter (validTriangle) $ byColumns triangles - - -parseLine :: String -> Triple -parseLine = map (read) . filter (not . null) . splitOn " " - -validTriangle :: Triple -> Bool -validTriangle triple = sortedTriple!!0 + sortedTriple!!1 > sortedTriple!!2 - where sortedTriple = sort triple - -byColumns :: [[Integer]] -> [Triple] -byColumns = chunksOf 3 . concat . transpose diff --git a/adventofcode16/app/advent04.hs b/adventofcode16/app/advent04.hs deleted file mode 100644 index 85b7555..0000000 --- a/adventofcode16/app/advent04.hs +++ /dev/null @@ -1,66 +0,0 @@ -module Main(main) where - -import Data.List (last, intersperse, sortBy, intercalate, isInfixOf, init) -import Data.List.Split (splitOn) -import Data.Char (isLetter, ord, chr) -import qualified Data.Map.Lazy as Map - -data Room = Room { name :: String - , sector :: Int - , checksum :: String - } deriving (Show) - -main :: IO () -main = do - instrText <- readFile "data/advent04.txt" - let rooms = map (parseLine) $ lines instrText - part1 rooms - part2 rooms - - -part1 :: [Room] -> IO () -part1 rooms = do - print $ sum $ map (sector) validRooms - where - validChecksum room = (checksum room) == makeChecksum (name room) - validRooms = filter (validChecksum) rooms - -part2 :: [Room] -> IO () -part2 rooms = do - print $ fst $ head $ filter (\sn -> isInfixOf "north" (snd sn)) sectorNames - where - validChecksum room = (checksum room) == makeChecksum (name room) - validRooms = filter (validChecksum) rooms - sectorNames = [((sector r), - shiftWord (sector r) (name r)) | r <- validRooms] - - -parseLine :: String -> Room -parseLine line = Room {name=name, sector=sector, checksum=checksum} - where components = splitOn "-" line - name = intercalate "-" $ init components - sector = read $ head $ splitOn "[" $ last components - checksum = filter (isLetter) $ last components - -countedLetters :: String -> [(Char, Int)] -countedLetters name = sortBy sortCLetter $ unsortedCountedLetters name - where unsortedCountedLetters name = - Map.toList $ Map.fromListWith (+) [(c, 1) | c <- filter (isLetter) name] - -sortCLetter :: (Char, Int) -> (Char, Int) -> Ordering -sortCLetter (l1, n1) (l2, n2) - | n1 < n2 = GT - | n1 > n2 = LT - | n1 == n2 = compare l1 l2 - -makeChecksum :: String -> String -makeChecksum name = [l | (l, _) <- take 5 $ countedLetters name] - - -shiftWord :: Int -> String -> String -shiftWord shift letters = map (shiftLetter shift) letters - -shiftLetter :: Int -> Char -> Char -shiftLetter shift letter - | isLetter letter = chr $ (ord letter - ord 'a' + shift) `mod` 26 + ord 'a' - | otherwise = ' ' diff --git a/adventofcode16/app/advent05.hs b/adventofcode16/app/advent05.hs deleted file mode 100644 index 82a035e..0000000 --- a/adventofcode16/app/advent05.hs +++ /dev/null @@ -1,44 +0,0 @@ -module Main(main) where - -import Data.Hash.MD5 (md5s, Str(..)) -import Data.List (isPrefixOf) -import qualified Data.Map.Lazy as Map - -type Password = Map.Map Integer Char - -input = "cxdnnyjw" - -main :: IO () -main = do - part1 - part2 - - -part1 :: IO () -part1 = do - putStrLn $ take 8 [h!!5 | h <- filter (interesting) $ md5sequence input 0] - -part2 :: IO () -part2 = do - putStrLn $ Map.foldr (:) [] password - where interestingHashes = - [(read [h!!5], h!!6) | - h <- filter (interesting) (md5sequence input 0), - h!!5 `elem` "01234567"] - password = findPassword Map.empty interestingHashes - - -md5sequence :: String -> Integer -> [String] -md5sequence key i = (md5s (Str (key ++ show i))) : (md5sequence key (i+1)) - -interesting :: String -> Bool -interesting hash = "00000" `isPrefixOf` hash - -dontReplace :: (Integer, Char) -> Password -> Password -dontReplace (k, v) = Map.insertWith (\_ v -> v) k v - -findPassword :: Password -> [(Integer, Char)] -> Password -findPassword p (c:cs) - | Map.size p == 8 = p - | otherwise = findPassword p' cs - where p' = dontReplace c p diff --git a/adventofcode16/app/advent06-old.hs b/adventofcode16/app/advent06-old.hs deleted file mode 100644 index 77d4093..0000000 --- a/adventofcode16/app/advent06-old.hs +++ /dev/null @@ -1,36 +0,0 @@ -module Main(main) where - -import Data.List (transpose) -import Data.Char (isLetter) -import qualified Data.Map.Lazy as Map - -main :: IO () -main = do - text <- readFile "advent06.txt" - let message = lines text - part1 message - part2 message - -part1 :: [String] -> IO () -part1 message = do - print $ map (fst) $ map (mostCommon) $ map (countedLetters) $ transpose message - -part2 :: [String] -> IO () -part2 message = do - print $ map (fst) $ map (leastCommon) $ map (countedLetters) $ transpose message - - -countedLetters :: String -> Map.Map Char Int -countedLetters name = Map.fromListWith (+) [(c, 1) | c <- filter (isLetter) name] - -mostCommon = Map.foldlWithKey (mostCommonP) ('a', 0) - -mostCommonP (letter0, count0) letter count - | count > count0 = (letter, count) - | otherwise = (letter0, count0) - -leastCommon = Map.foldlWithKey (leastCommonP) ('a', maxBound :: Int) - -leastCommonP (letter0, count0) letter count - | count < count0 = (letter, count) - | otherwise = (letter0, count0) \ No newline at end of file diff --git a/adventofcode16/app/advent06.hs b/adventofcode16/app/advent06.hs deleted file mode 100644 index 96c4aa2..0000000 --- a/adventofcode16/app/advent06.hs +++ /dev/null @@ -1,22 +0,0 @@ -module Main(main) where - -import Data.List (transpose, maximum, minimum, sort, group) -import Data.Tuple (swap) - -main :: IO () -main = do - text <- readFile "data/advent06.txt" - let message = lines text - part1 message - part2 message - -part1 :: [String] -> IO () -part1 message = do - putStrLn $ map (snd . maximum . counts) $ transpose message - -part2 :: [String] -> IO () -part2 message = do - putStrLn $ map (snd . minimum . counts) $ transpose message - -counts :: (Eq a, Ord a) => [a] -> [(Int, a)] -counts = map (\g -> (length g, head g)) . group . sort \ No newline at end of file diff --git a/adventofcode16/app/advent07.hs b/adventofcode16/app/advent07.hs deleted file mode 100644 index 8700958..0000000 --- a/adventofcode16/app/advent07.hs +++ /dev/null @@ -1,136 +0,0 @@ -module Main(main) where - -import Text.Parsec -import Data.List (partition, union, intersect, tails) -import Data.Char (isAlphaNum) - -data Chunk = Include String | Exclude String deriving (Show) -data ChunkV = Includev Bool | Excludev Bool deriving (Show) - -chunkValue :: Chunk -> String -chunkValue (Include v) = v -chunkValue (Exclude v) = v - -isInclude :: Chunk -> Bool -isInclude (Include _) = True -isInclude (Exclude _) = False - -chunkValueV :: ChunkV -> Bool -chunkValueV (Includev v) = v -chunkValueV (Excludev v) = v - -isIncludeV :: ChunkV -> Bool -isIncludeV (Includev _) = True -isIncludeV (Excludev _) = False - - -main :: IO () -main = do - text <- readFile "data/advent07.txt" - part1 text - part2 text - - -part1 :: String -> IO () -part1 text = do - print $ length $ filter (allowsAbba) $ successfulParse $ parseI7vf text - - -part2 :: String -> IO () -part2 text = do - print $ length $ filter (supportsSSL) $ successfulParse $ parseI7f text - -allowsAbba :: [ChunkV] -> Bool -allowsAbba chunks = (any (chunkValueV) includeChunks) && (not (any (chunkValueV) excludeChunks)) - where (includeChunks, excludeChunks) = partition (isIncludeV) chunks - -i7file = i7line `endBy` newline -i7line = many1 (includeChunk <|> excludeChunk) - -chunk = many1 alphaNum - -excludeChunk = Exclude <$> (between (char '[') (char ']') $ chunk) -includeChunk = Include <$> chunk - -hasABBA = preambleAbba <* (many alphaNum) -preambleAbba = (try abba) <|> (alphaNum >> preambleAbba) - --- abba = --- do a <- alphaNum --- b <- alphaNum --- if a == b then --- fail "Identical" --- else do char b --- char a --- return [a, b, b, a] - -abba = - do a <- alphaNum - b <- noneOf [a] - char b - char a - return [a, b, b, a] - --- where ---   firstChar = satisfy (\a -> isLetter a || a == '_') ---   nonFirstChar = satisfy (\a -> isDigit a || isLetter a || a == '_') - - -- b <- bChar --- where bChar = satisfy (\l -> lsLetter l && l /= a) - - - -i7filev = i7linev `endBy` newline -i7linev = many1 (includeChunkv <|> excludeChunkv) - -excludeChunkv = Excludev <$> (between (char '[') (char ']') $ hasABBAv) -includeChunkv = Includev <$> hasABBAv - -hasABBAv = - (try (id True <$ preambleAbba <* (many alphaNum))) - <|> - (id False <$ (many1 alphaNum)) - - -parseI7f :: String -> Either ParseError [[Chunk]] -parseI7f input = parse i7file "(unknown)" input - -parseI7 :: String -> Either ParseError [Chunk] -parseI7 input = parse i7line "(unknown)" input - -parseAbba :: String -> Either ParseError String -parseAbba input = parse hasABBA "(unknown)" input - -parseI7v :: String -> Either ParseError [ChunkV] -parseI7v input = parse i7linev "(unknown)" input - -parseI7vf :: String -> Either ParseError [[ChunkV]] -parseI7vf input = parse i7filev "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a - - -allSubstrings :: Int -> [a] -> [[a]] --- allSubstrings n es --- | length es < n = [] --- | otherwise = (take n es) : (allSubstrings n $ tail es) -allSubstrings n e = filter (\s -> length s == n) $ map (take n) $ tails e - - -ieCandidates :: [Chunk] -> ([String], [String]) -ieCandidates chunks = (includeCandidates, excludeCandidates) - where (includeChunks, excludeChunks) = partition (isInclude) chunks - isABA s = (s!!0 == s!!2) && (s!!0 /= s!!1) - candidates = (filter (isABA)) . (foldl (union) []) . (map ((allSubstrings 3) . chunkValue)) - includeCandidates = candidates includeChunks - excludeCandidates = candidates excludeChunks - -inverseABA :: String -> String -inverseABA s = [s!!1, s!!0, s!!1] - -supportsSSL :: [Chunk] -> Bool -supportsSSL chunks = not $ null $ intersect abas eabas - where (abas, babs) = ieCandidates chunks - eabas = map (inverseABA) babs diff --git a/adventofcode16/app/advent08.hs b/adventofcode16/app/advent08.hs deleted file mode 100644 index ccf2de0..0000000 --- a/adventofcode16/app/advent08.hs +++ /dev/null @@ -1,148 +0,0 @@ -module Main(main) where - -import Data.Array.IArray -import Text.Parsec -import Control.Monad (liftM, ap) - --- Row 1 is top, column 1 is left -type Position = (Int, Int) -type Screen = Array Position Bool - -data Direction = Row | Column deriving (Show) -data Command = Rect Int Int | Rotate Direction Int Int deriving (Show) - -data ScState a = ScState (Screen -> (Screen, a)) - -mkScreen :: Int -> Int -> Screen -mkScreen w h = array ((0, 0), (h - 1, w - 1)) - [((i, j), False) | i <- [0..(h-1)], j <- [0..(w-1)]] - -showScreen :: Screen -> String -showScreen screen = unlines [showRow r | r <- [minRow..maxRow]] - where ((minRow, minCol), (maxRow, maxCol)) = bounds screen - showCell True = '*' - showCell False = ' ' - showRow r = [showCell (screen!(r, c)) | c <- [minCol..maxCol]] - -countLights :: Screen -> Int -countLights screen = length $ filter (id) $ elems screen - -screen0 :: Screen -screen0 = mkScreen 50 6 - - -main :: IO () -main = do - text <- readFile "data/advent08.txt" - let instrs = successfulParse $ parseCommands text - part1 instrs - part2 instrs - -part1 :: [Command] -> IO () -part1 commands = - print $ countLights $ (extractScreen . doCommands) commands - -part2 :: [Command] -> IO () -part2 commands = - putStrLn $ showScreen $ (extractScreen . doCommands) commands - - -instance Functor ScState where - fmap = liftM - -instance Applicative ScState where - pure = return - (<*>) = ap - -instance Monad ScState where - return x = ScState (\screen -> (screen, x)) - - (ScState st) >>= f - = ScState (\screen -> let - (newScreen, y) = st screen - (ScState transformer) = f y - in - transformer newScreen) - -doCommands :: [Command] -> ScState (Int) -doCommands [] = return 0 -doCommands (i:is) = - do doCommand i - doCommands is - return 0 - -doCommand :: Command -> ScState Int -doCommand i = ScState (execute i) - -execute :: Command -> (Screen -> (Screen, Int)) -execute (Rect w h) screen = (rect screen w h, 0) -execute (Rotate Column c n) screen = (rotateColumn screen c n, 0) -execute (Rotate Row r n) screen = (rotateRow screen r n, 0) - -extractScreen :: ScState Int -> Screen -extractScreen (ScState st) = fst (st screen0) - - - -parseCommands :: String -> Either ParseError [Command] -parseCommands input = parse commandFile "(unknown)" input - -commandFile = commandLine `endBy` newline -commandLine = (try rectCommand) <|> rotateCommand - -rectCommand = - do string "rect" - spaces - w <- (many1 digit) - char 'x' - h <- (many1 digit) - return (Rect (read w) (read h)) - -rotateCommand = - do string "rotate" - spaces - direction <- (string "row" <|> string "column") - spaces - string "x=" <|> string "y=" - index <- (many1 digit) - spaces - string "by" - spaces - distance <- (many1 digit) - return (buildCommand direction index distance) - -buildCommand "row" i d = Rotate Row (read i) (read d) -buildCommand "column" i d = Rotate Column (read i) (read d) - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a - - - - -rect :: Screen -> Int -> Int -> Screen -rect screen w h = screen // newBits - where newBits = [((i, j), True) | i <- [0..(h-1)], j <- [0..(w-1)]] - -rotateColumn :: Screen -> Int -> Int -> Screen -rotateColumn screen column givenShift = screen // newCells - where - ((minRow, minCol), (maxRow, maxCol)) = bounds screen - colLength = 1 + maxRow - minRow - shift = givenShift `mod` colLength - offset = colLength - shift - column0 = [screen!(r, column) | r <- [minRow..maxRow]] - newColumn = (drop offset column0) ++ (take offset column0) - newCells = [((r, column), cell) | (r, cell) <- zip [minRow..maxRow] newColumn] - -rotateRow :: Screen -> Int -> Int -> Screen -rotateRow screen row givenShift = screen // newCells - where - ((minRow, minCol), (maxRow, maxCol)) = bounds screen - rowLength = 1 + maxCol - minCol - shift = givenShift `mod` rowLength - offset = rowLength - shift - row0 = [screen!(row, c) | c <- [minCol..maxCol]] - newRow = (drop offset row0) ++ (take offset row0) - newCells = [((row, c), cell) | (c, cell) <- zip [minCol..maxCol] newRow] diff --git a/adventofcode16/app/advent09.hs b/adventofcode16/app/advent09.hs deleted file mode 100644 index a3ce495..0000000 --- a/adventofcode16/app/advent09.hs +++ /dev/null @@ -1,57 +0,0 @@ -module Main(main) where - -import Data.List.Split (splitOn) -import Data.Char (isSpace) - -type Chunk = (Int, String) - -main :: IO () -main = do - textL <- readFile "data/advent09.txt" - let text = filter (not . isSpace) textL - part1 text - part2 text - -part1 :: String -> IO () -part1 text = do - print $ cLength $ decompress text - -part2 :: String -> IO () -part2 text = do - print $ cLength $ decompress2 text - - -decompress :: String -> [Chunk] -decompress text = - if not (null msuf) - then (1, pre):(num, chunk):drest - else [(1, pre)] - where - (pre, msuf) = span ('(' /= ) text - (marker, suf) = span (')' /= ) msuf - ln = splitOn "x" (tail marker) - len = read (ln!!0) :: Int - num = read (ln!!1) :: Int - (chunk, remainder) = splitAt len (tail suf) - drest = decompress remainder - -decompress2 :: String -> [Chunk] -decompress2 text = - if not (null msuf) - then [(1, pre)] ++ mulDchunks ++ drest - else [(1, pre)] - where - (pre, msuf) = span ('(' /= ) text - (marker, suf) = span (')' /= ) msuf - ln = splitOn "x" (tail marker) - len = read (ln!!0) :: Int - num = read (ln!!1) :: Int - (chunk, remainder) = splitAt len (tail suf) - dchunks = decompress2 chunk - mulDchunks = [(dl * num, ds) | (dl, ds) <- dchunks] - drest = decompress2 remainder - -cLength :: [Chunk] -> Int -cLength = sum . map (clen) - where clen (n, t) = n * (length t) - diff --git a/adventofcode16/app/advent10.hs b/adventofcode16/app/advent10.hs deleted file mode 100644 index 70e80e0..0000000 --- a/adventofcode16/app/advent10.hs +++ /dev/null @@ -1,217 +0,0 @@ -import Text.Parsec hiding (State) -import Data.Text (pack, unpack, toTitle) -import Control.Monad.State.Lazy -import Data.List (partition, findIndices, sort, find) -import Data.Maybe (fromJust) - -data Destination = Bot | Output deriving (Show, Read, Eq) --- Rule bot low-destination high-destination --- Gift bot value -data Instruction = Rule { ruleId :: Int - , lowDestType :: Destination - , lowDestId :: Int - , highDestType :: Destination - , highDestId :: Int - } | - Gift { giftId :: Int - , value :: Int - } - deriving (Show) - --- bod id [item1, item2] -data Place = Place { placeId :: Int - , placeType :: Destination - , items :: [Int]} - deriving (Show) - --- delivery by bot of low-value and high-value -data Event = Delivery { deliveryId :: Int - , lowDelivery :: Int - , highDelivery :: Int - } | - Update { updateId :: Int - , updateType :: Destination - , updateItem :: Int - } deriving (Show) - -type Factory = ([Place], [Instruction], [Event]) --- data FactorySt History = FactorySt (Factory -> (Factory, History)) - -emptyFactory :: Factory -emptyFactory = ([], [], []) - -main :: IO () -main = do - text <- readFile "data/advent10.txt" - let instructions = successfulParse $ parseIfile text - part1 instructions - part2 instructions - - -part1 :: [Instruction] -> IO () -part1 instructions = - do let (_, _, events) = snd $ runState (runFactory instructions) emptyFactory - -- let (places, instructions, events) = snd finalFactory - print $ deliveryId $ fromJust $ findDelivery events 17 61 - -part2 :: [Instruction] -> IO () -part2 instructions = - do let (places, _, _) = snd $ runState (runFactory instructions) emptyFactory - let outs = findOutputs places [0, 1, 2] - let product = foldl1 (*) $ concatMap (items) outs - print $ product - - -findDelivery :: [Event] -> Int -> Int -> Maybe Event -findDelivery events lowItem highItem = find (delivery) events - where delivery Update {} = False - delivery Delivery {deliveryId = bot, lowDelivery = l, highDelivery = h} - | l == lowItem && h == highItem = True - | otherwise = False - -findOutputs :: [Place] -> [Int] -> [Place] -findOutputs outputs ids = filter (interesting) outputs - where interesting Place {placeId = p, placeType = t, items = i} - | (p `elem` ids) && t == Output = True - | otherwise = False - - -runFactory :: [Instruction] -> State Factory () -runFactory instructions = do - addInstructions instructions - runInstructions instructions - - - -instructionFile = instructionLine `endBy` newline -instructionLine = ruleL <|> giftL - - -ruleL = - do (string "bot" >> spaces) - bot <- many1 digit - (spaces >> string "gives low to" >> spaces) - lowDestType <- (string "output" <|> string "bot") - spaces - lowDest <- many1 digit - (spaces >> string "and high to" >> spaces) - highDestType <- (string "output" <|> string "bot") - spaces - highDest <- many1 digit - let rule = Rule (read bot) - (read $ unpack $ toTitle $ pack lowDestType) - (read lowDest) - (read $ unpack $ toTitle $ pack highDestType) - (read highDest) - return rule - -giftL = - do (string "value" >> spaces) - value <- many1 digit - (spaces >> string "goes to bot" >> spaces) - bot <- many1 digit - let gift = Gift (read bot) (read value) - return gift - - -parseIfile :: String -> Either ParseError [Instruction] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError Instruction -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a - - - - -addInstructions :: [Instruction] -> State Factory () -addInstructions [] = return () -addInstructions (i:is) = do - addInstruction i - addInstructions is - - -addInstruction :: Instruction -> State Factory () -addInstruction r@(Rule {lowDestType = ld, lowDestId = li, - highDestType = hd, highDestId = hi}) = - do (places, rules, history) <- get - put (places, r:rules, history) - addPlace (Place {placeType = ld, placeId = li, items = []}) - addPlace (Place {placeType = hd, placeId = hi, items = []}) -addInstruction Gift {giftId = g} = - do addPlace (Place {placeType = Bot, placeId = g, items = []}) - - -addPlace :: Place -> State Factory () -addPlace place = - do (places, rules, history) <- get - if not $ placeElem place places - then put ((place:places), rules, history) - else return () - - -runInstructions :: [Instruction] -> State Factory () -runInstructions [] = return () -runInstructions (i:is) = - do runInstruction i - runInstructions is - - -runInstruction :: Instruction -> State Factory () -runInstruction Rule {} = return () -runInstruction g@(Gift {}) = - do updatePlace (giftId g) Bot (value g) - propogateUpdates - -updatePlace :: Int -> Destination -> Int -> State Factory () -updatePlace b d i = - do (places, instructions, events) <- get - let (place0s, otherPlaces) = partition (samePlace (Place {placeId = b, placeType = d, items = []})) places - let place = head place0s - let place' = place {items = i:(items place)} - let update = Update {updateId = b, updateType = d, updateItem = i} - put (place':otherPlaces, instructions, update:events) - - -propogateUpdates :: State Factory () -propogateUpdates = - do (places, instructions, events) <- get - let (fullBots, otherPlaces) = fullRobots places - if (not . null) fullBots - then do let fullBot = head fullBots - let maybeRule = findRule instructions (placeId fullBot) - case maybeRule of - Nothing -> propogateUpdates - Just rule -> do let small:large:_ = sort $ items fullBot - let emptyBot = fullBot {items = []} - let delivery = Delivery { deliveryId = placeId fullBot - , lowDelivery = small - , highDelivery = large - } - put (emptyBot:(tail fullBots) ++ otherPlaces, - instructions, - delivery:events) - updatePlace (lowDestId rule) (lowDestType rule) small - updatePlace (highDestId rule) (highDestType rule) large - propogateUpdates - else return () - - -placeElem :: Place -> [Place] -> Bool -placeElem place places = (not . null) $ findIndices (samePlace place) places - -samePlace :: Place -> Place -> Bool -samePlace p1 p2 = (placeId p1 == placeId p2) && (placeType p1 == placeType p2) - -fullRobots :: [Place] -> ([Place], [Place]) -fullRobots places = partition (\p -> placeType p == Bot && length (items p) >= 2) places - -findRule :: [Instruction] -> Int -> Maybe Instruction -findRule instructions bot = find ruleForBot instructions - where ruleForBot Gift {} = False - ruleForBot Rule {ruleId = b} - | b == bot = True - | otherwise = False diff --git a/adventofcode16/app/advent11.hs b/adventofcode16/app/advent11.hs deleted file mode 100644 index 0286d77..0000000 --- a/adventofcode16/app/advent11.hs +++ /dev/null @@ -1,137 +0,0 @@ -module Main(main) where - -import Data.List (subsequences, (\\), sort, sortBy) -import Data.Ord (comparing) - -data Item = Generator String | Microchip String deriving (Show, Eq) -type Floor = [Item] -data Building = Building Int [Floor] deriving (Show, Eq) - -instance Ord Item where - compare (Generator a) (Generator b) = compare a b - compare (Microchip a) (Microchip b) = compare a b - compare (Generator _) (Microchip _) = LT - compare (Microchip _) (Generator _) = GT - -instance Ord Building where - compare b1 b2 = comparing estimateCost b1 b2 - -building1 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building2 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", - Generator "elerium", Microchip "elerium", - Generator "dilithium", Microchip "dilithium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - - -buildingTest = Building 0 [ - sort([Microchip "hydrogen", Microchip "lithium"]), - [Generator "hydrogen"], - [Generator "lithium"], - []] - -main :: IO () -main = do - part1 - part2 - - -part1 :: IO () --- part1 = print $ length $ init $ extractJust $ hillClimb [[buildingTest]] [] -part1 = print $ length $ init $ extractJust $ hillClimb [[building1]] [] --- part1 = print $ length $ init $ extractJust $ aStar [[building1]] [] - -part2 :: IO () -part2 = print $ length $ init $ extractJust $ hillClimb [[building2]] [] - - -extractJust :: Maybe [a] -> [a] -extractJust Nothing = [] -extractJust (Just x) = x - -hillClimb :: [[Building]] -> [Building] -> Maybe [Building] -hillClimb [] _ = Nothing -hillClimb (currentTrail:trails) closed = - if isGoal (head currentTrail) then Just currentTrail - else hillClimb newAgenda ((head currentTrail): closed) - where newAgenda = - sortBy (\t1 t2 -> (head t1) `compare` (head t2)) $ - trails ++ (candidates currentTrail closed) - -aStar :: [[Building]] -> [Building] -> Maybe [Building] -aStar [] _ = Nothing -aStar (currentTrail:trails) closed = - if isGoal (head currentTrail) then Just currentTrail - else aStar newAgenda ((head currentTrail): closed) - where newAgenda = - sortBy (\t1 t2 -> (trailCost t1) `compare` (trailCost t2)) $ - trails ++ (candidates currentTrail closed) - trailCost t = estimateCost (head t) + length t - 1 - - -candidates :: [Building] -> [Building] -> [[Building]] -candidates currentTrail closed = newCandidates - where - (candidate:trail) = currentTrail - succs = legalSuccessors $ successors candidate - nonloops = (succs \\ trail) \\ closed - newCandidates = map (\n -> n:candidate:trail) nonloops - -isGoal :: Building -> Bool -isGoal (Building f floors) = - f+1 == height && (all (null) $ take f floors) - where height = length floors - -isLegal :: Building -> Bool -isLegal (Building f floors) = - null floor - || - not (any (isGenerator) floor) - || - any (safePair) pairs - where floor = floors!!f - pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] - safePair (Generator e, Microchip f) = e == f - safePair (Generator _, Generator _) = False - -isGenerator :: Item -> Bool -isGenerator (Generator _) = True -isGenerator (Microchip _) = False - -successors :: Building -> [Building] -successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] - where - floor = floors!!f - items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor - nextFloors = if f == 0 then [1] - else if f+1 == length floors then [f-1] - else [f+1, f-1] - -legalSuccessors :: [Building] -> [Building] -legalSuccessors = filter (isLegal) - -updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building -updateBuilding oldF oldFloors newF items = Building newF newFloors - where newFloors = map (updateFloor) $ zip [0..] oldFloors - updateFloor (f, fl) - | f == oldF = sort $ fl \\ items - | f == newF = sort $ items ++ fl - | otherwise = fl - -estimateCost :: Building -> Int -estimateCost (Building _ floors) = - sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors - diff --git a/adventofcode16/app/advent11a.hs b/adventofcode16/app/advent11a.hs deleted file mode 100644 index c5349c8..0000000 --- a/adventofcode16/app/advent11a.hs +++ /dev/null @@ -1,164 +0,0 @@ --- Using the idea of canonical representation of buildings from --- https://andars.github.io/aoc_day11.html by Andrew Foote, --- plus my extension of represening the pairs as an integer. - --- This version is A* search, using a list for the agenda. - -module Main(main) where - -import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) -import Data.Ord (comparing) -import Data.Char (isDigit) - -data Item = Generator String | Microchip String deriving (Show, Eq) -type Floor = [Item] -data Building = Building Int [Floor] deriving (Show, Eq) -data CBuilding = CBuilding Int Integer deriving (Show, Eq) -data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} - -instance Ord Item where - compare (Generator a) (Generator b) = compare a b - compare (Microchip a) (Microchip b) = compare a b - compare (Generator _) (Microchip _) = LT - compare (Microchip _) (Generator _) = GT - -instance Ord Building where - compare b1 b2 = comparing estimateCost b1 b2 - -building1 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building0 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building2 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", - Generator "elerium", Microchip "elerium", - Generator "dilithium", Microchip "dilithium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - - -buildingTest = Building 0 [ - sort([Microchip "hydrogen", Microchip "lithium"]), - [Generator "hydrogen"], - [Generator "lithium"], - []] - -canonical :: Building -> CBuilding -canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) - where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors - floorOf (Generator g) = head (findIndices - (\fl -> (Generator g) `elem` fl) - floors) - floorOf (Microchip g) = head (findIndices - (\fl -> (Microchip g) `elem` fl) - floors) - pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names - - - -main :: IO () -main = do - part1 - part2 - - -part1 :: IO () -part1 = print $ length $ trail $ aStar (initAgenda building1) [] - -part2 :: IO () -part2 = print $ length $ trail $aStar (initAgenda building2) [] - -initAgenda :: Building -> [Agendum] -initAgenda b = [Agendum {current = b, trail=[], cost = estimateCost b}] - - -aStar :: [Agendum] -> [CBuilding] -> Agendum -aStar [] _ = Agendum {current=buildingTest, trail=[], cost=0} -aStar (currentAgendum:agenda) closed = - if isGoal reached then currentAgendum - else if creached `elem` closed - then aStar agenda closed - else aStar newAgenda (creached:closed) - where - reached = current currentAgendum - creached = canonical reached - newAgenda = - sortOn (cost) $ - agenda ++ (candidates currentAgendum closed) - - -candidates :: Agendum -> [CBuilding] -> [Agendum] -candidates agendum closed = newCandidates - where - candidate = current agendum - previous = trail agendum - succs = legalSuccessors $ successors candidate - excludable = previous ++ closed - nonloops = filter (\s -> not $ (canonical s) `elem` excludable) succs - newCandidates = map (\n -> makeAgendum n) nonloops - makeAgendum new = Agendum {current = new, - trail = (canonical candidate):previous, - cost = estimateCost new + length previous + 1} - -isGoal :: Building -> Bool -isGoal (Building f floors) = - f+1 == height && (all (null) $ take f floors) - where height = length floors - -isLegal :: Building -> Bool -isLegal (Building f floors) = - null floor - || - not (any (isGenerator) floor) - || - any (safePair) pairs - where floor = floors!!f - pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] - safePair (Generator e, Microchip f) = e == f - safePair (Generator _, Generator _) = False - -isGenerator :: Item -> Bool -isGenerator (Generator _) = True -isGenerator (Microchip _) = False - -successors :: Building -> [Building] -successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] - where - floor = floors!!f - items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor - nextFloors = if f == 0 then [1] - else if f+1 == length floors then [f-1] - else [f+1, f-1] - -legalSuccessors :: [Building] -> [Building] -legalSuccessors = filter (isLegal) - -updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building -updateBuilding oldF oldFloors newF items = Building newF newFloors - where newFloors = map (updateFloor) $ zip [0..] oldFloors - updateFloor (f, fl) - | f == oldF = sort $ fl \\ items - | f == newF = sort $ items ++ fl - | otherwise = fl - -estimateCost :: Building -> Int -estimateCost (Building _ floors) = - sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors - diff --git a/adventofcode16/app/advent11h.hs b/adventofcode16/app/advent11h.hs deleted file mode 100644 index d362ee8..0000000 --- a/adventofcode16/app/advent11h.hs +++ /dev/null @@ -1,162 +0,0 @@ --- Using the idea of canonical representation of buildings from --- https://andars.github.io/aoc_day11.html by Andrew Foote, --- plus my extension of represening the pairs as an integer. - --- This version is hillclimbing search, using a list for the agenda. -module Main(main) where - -import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) -import Data.Ord (comparing) -import Data.Char (isDigit) - -data Item = Generator String | Microchip String deriving (Show, Eq) -type Floor = [Item] -data Building = Building Int [Floor] deriving (Show, Eq) -data CBuilding = CBuilding Int Integer deriving (Show, Eq) -data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} - -instance Ord Item where - compare (Generator a) (Generator b) = compare a b - compare (Microchip a) (Microchip b) = compare a b - compare (Generator _) (Microchip _) = LT - compare (Microchip _) (Generator _) = GT - -instance Ord Building where - compare b1 b2 = comparing estimateCost b1 b2 - -building1 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building0 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building2 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", - Generator "elerium", Microchip "elerium", - Generator "dilithium", Microchip "dilithium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - - -buildingTest = Building 0 [ - sort([Microchip "hydrogen", Microchip "lithium"]), - [Generator "hydrogen"], - [Generator "lithium"], - []] - -canonical :: Building -> CBuilding -canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) - where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors - floorOf (Generator g) = head (findIndices - (\fl -> (Generator g) `elem` fl) - floors) - floorOf (Microchip g) = head (findIndices - (\fl -> (Microchip g) `elem` fl) - floors) - pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names - - - -main :: IO () -main = do - part1 - part2 - - -part1 :: IO () -part1 = print $ length $ trail $ hillClimb (initAgenda building1) [] - -part2 :: IO () -part2 = print $ length $ trail $ hillClimb (initAgenda building2) [] - -initAgenda :: Building -> [Agendum] -initAgenda b = [Agendum {current = b, trail=[], cost = estimateCost b}] - -hillClimb :: [Agendum] -> [CBuilding] -> Agendum -hillClimb [] _ = Agendum {current=buildingTest, trail=[], cost=0} -hillClimb (currentAgendum:agenda) closed = - if isGoal reached then currentAgendum - else if creached `elem` closed - then hillClimb agenda closed - else hillClimb newAgenda (creached:closed) - where - reached = current currentAgendum - creached = canonical reached - newAgenda = - sortOn (cost) $ - agenda ++ (candidates currentAgendum closed) - - -candidates :: Agendum -> [CBuilding] -> [Agendum] -candidates agendum closed = newCandidates - where - candidate = current agendum - previous = trail agendum - succs = legalSuccessors $ successors candidate - excludable = previous ++ closed - nonloops = filter (\s -> not $ (canonical s) `elem` excludable) succs - newCandidates = map (\n -> makeAgendum n) nonloops - makeAgendum new = Agendum {current = new, - trail = (canonical candidate):previous, - cost = estimateCost new} - -isGoal :: Building -> Bool -isGoal (Building f floors) = - f+1 == height && (all (null) $ take f floors) - where height = length floors - -isLegal :: Building -> Bool -isLegal (Building f floors) = - null floor - || - not (any (isGenerator) floor) - || - any (safePair) pairs - where floor = floors!!f - pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] - safePair (Generator e, Microchip f) = e == f - safePair (Generator _, Generator _) = False - -isGenerator :: Item -> Bool -isGenerator (Generator _) = True -isGenerator (Microchip _) = False - -successors :: Building -> [Building] -successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] - where - floor = floors!!f - items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor - nextFloors = if f == 0 then [1] - else if f+1 == length floors then [f-1] - else [f+1, f-1] - -legalSuccessors :: [Building] -> [Building] -legalSuccessors = filter (isLegal) - -updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building -updateBuilding oldF oldFloors newF items = Building newF newFloors - where newFloors = map (updateFloor) $ zip [0..] oldFloors - updateFloor (f, fl) - | f == oldF = sort $ fl \\ items - | f == newF = sort $ items ++ fl - | otherwise = fl - -estimateCost :: Building -> Int -estimateCost (Building _ floors) = - sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors - diff --git a/adventofcode16/app/advent11p.hs b/adventofcode16/app/advent11p.hs deleted file mode 100644 index 4136e8f..0000000 --- a/adventofcode16/app/advent11p.hs +++ /dev/null @@ -1,166 +0,0 @@ --- Using the idea of canonical representation of buildings from --- https://andars.github.io/aoc_day11.html by Andrew Foote, --- plus my extension of represening the pairs as an integer. - --- This version is A* search, using a priority queue for the agenda. - -module Main(main) where - -import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) -import Data.Ord (comparing) -import Data.Char (isDigit) -import Data.Maybe (fromMaybe) -import qualified Data.PQueue.Prio.Min as P - -data Item = Generator String | Microchip String deriving (Show, Eq) -type Floor = [Item] -data Building = Building Int [Floor] deriving (Show, Eq) -data CBuilding = CBuilding Int Integer deriving (Show, Eq) -data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} -type Agenda = P.MinPQueue Int Agendum - -instance Ord Item where - compare (Generator a) (Generator b) = compare a b - compare (Microchip a) (Microchip b) = compare a b - compare (Generator _) (Microchip _) = LT - compare (Microchip _) (Generator _) = GT - -instance Ord Building where - compare b1 b2 = comparing estimateCost b1 b2 - -building1 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building0 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - -building2 = Building 0 [ - (sort [Generator "polonium", Generator "thulium", - Microchip "thulium", Generator "promethium", Generator "ruthenium", - Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", - Generator "elerium", Microchip "elerium", - Generator "dilithium", Microchip "dilithium"]), - (sort [Microchip "polonium", Microchip "promethium"]), - [], - [] - ] - - -buildingTest = Building 0 [ - sort([Microchip "hydrogen", Microchip "lithium"]), - [Generator "hydrogen"], - [Generator "lithium"], - []] - -canonical :: Building -> CBuilding -canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) - where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors - floorOf (Generator g) = head (findIndices - (\fl -> (Generator g) `elem` fl) - floors) - floorOf (Microchip g) = head (findIndices - (\fl -> (Microchip g) `elem` fl) - floors) - pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names - - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ length $ trail $ fromMaybe (snd $ P.findMin $ initAgenda buildingTest) $ aStar (initAgenda building1) [] - -part2 :: IO () -part2 = print $ length $ trail $ fromMaybe (snd $ P.findMin $ initAgenda buildingTest) $ aStar (initAgenda building2) [] - -initAgenda :: Building -> Agenda -initAgenda b = P.singleton (estimateCost b) Agendum {current = b, trail=[], cost = estimateCost b} - - -aStar :: Agenda -> [CBuilding] -> Maybe Agendum --- aStar [] _ = Agendum {current=buildingTest, trail=[], cost=0} -aStar agenda closed - | P.null agenda = Nothing - | otherwise = - if isGoal reached then Just currentAgendum - else if creached `elem` closed - then aStar (P.deleteMin agenda) closed - else aStar newAgenda (creached:closed) - where - (_, currentAgendum) = P.findMin agenda - reached = current currentAgendum - creached = canonical reached - newAgenda = P.union (P.deleteMin agenda) - (P.fromList $ candidates currentAgendum closed) - - -candidates :: Agendum -> [CBuilding] -> [(Int, Agendum)] -candidates agendum closed = newCandidates - where - candidate = current agendum - previous = trail agendum - succs = legalSuccessors $ successors candidate - nonloops = filter (\s -> not $ (canonical s) `elem` closed) succs - newCandidates = map (\a -> (cost a, a)) $ map (\n -> makeAgendum n) nonloops - makeAgendum new = Agendum {current = new, - trail = (canonical candidate):previous, - cost = estimateCost new + length previous + 1} - -isGoal :: Building -> Bool -isGoal (Building f floors) = - f+1 == height && (all (null) $ take f floors) - where height = length floors - -isLegal :: Building -> Bool -isLegal (Building f floors) = - null floor - || - not (any (isGenerator) floor) - || - any (safePair) pairs - where floor = floors!!f - pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] - safePair (Generator e, Microchip f) = e == f - safePair (Generator _, Generator _) = False - -isGenerator :: Item -> Bool -isGenerator (Generator _) = True -isGenerator (Microchip _) = False - -successors :: Building -> [Building] -successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] - where - floor = floors!!f - items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor - nextFloors = if f == 0 then [1] - else if f+1 == length floors then [f-1] - else [f+1, f-1] - -legalSuccessors :: [Building] -> [Building] -legalSuccessors = filter (isLegal) - -updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building -updateBuilding oldF oldFloors newF items = Building newF newFloors - where newFloors = map (updateFloor) $ zip [0..] oldFloors - updateFloor (f, fl) - | f == oldF = sort $ fl \\ items - | f == newF = sort $ items ++ fl - | otherwise = fl - -estimateCost :: Building -> Int -estimateCost (Building _ floors) = - sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors - diff --git a/adventofcode16/app/advent12.hs b/adventofcode16/app/advent12.hs deleted file mode 100644 index 906c185..0000000 --- a/adventofcode16/app/advent12.hs +++ /dev/null @@ -1,134 +0,0 @@ -module Main(main) where - -import Text.Parsec hiding (State) -import Text.ParserCombinators.Parsec.Number -import Data.List (partition, union, intersect, tails) -import Data.Char (isDigit) -import Control.Monad.State.Lazy - -data Location = Literal Int | Register Char deriving (Show) -data Instruction = Cpy Location Location | - Inc Location | - Dec Location | - Jnz Location Int - deriving (Show) - -data Machine = Machine { a :: Int - , b :: Int - , c :: Int - , d :: Int - , pc :: Int - , instructions :: [Instruction]} - deriving (Show) - -emptyMachine :: Machine -emptyMachine = Machine {a=0, b=0, c=0, d=0, pc=0, instructions=[]} - -main :: IO () -main = do - text <- readFile "data/advent12.txt" - let instructions = successfulParse $ parseIfile text - part1 instructions - part2 instructions - - -part1 :: [Instruction] -> IO () -part1 instrs = - do let m0 = emptyMachine {instructions=instrs} - let mf = snd $ runState runMachine m0 - print (a mf) - -part2 :: [Instruction] -> IO () -part2 instrs = - do let m0 = emptyMachine {instructions=instrs, c=1} - let mf = snd $ runState runMachine m0 - print (a mf) - - - -runMachine :: State Machine () -runMachine = - do m <- get - if (pc m) >= (length $ instructions m) - then return () - else do executeStep - runMachine - -executeStep :: State Machine () -executeStep = - do m <- get - let i = (instructions m)!!(pc m) - put (executeInstruction i m) - -executeInstruction :: Instruction -> Machine -> Machine -executeInstruction (Inc (Register r)) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m (Register r) - m' = writeValue m (Register r) (v+1) -executeInstruction (Dec (Register r)) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m (Register r) - m' = writeValue m (Register r) (v-1) -executeInstruction (Cpy s d) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m s - m' = writeValue m d v -executeInstruction (Jnz s d) m - | v == 0 = m {pc=pc1} - | otherwise = m {pc=pcj} - where pc1 = (pc m) + 1 - pcj = (pc m) + d - v = evaluate m s - - -evaluate :: Machine -> Location -> Int -evaluate _ (Literal i) = i -evaluate m (Register r) = - case r of - 'a' -> (a m) - 'b' -> (b m) - 'c' -> (c m) - 'd' -> (d m) - -writeValue :: Machine -> Location -> Int -> Machine -writeValue m (Literal i) _ = m -writeValue m (Register r) v = - case r of - 'a' -> m {a=v} - 'b' -> m {b=v} - 'c' -> m {c=v} - 'd' -> m {d=v} - - -instructionFile = instructionLine `endBy` newline --- instructionLine = choice [cpyL, incL, decL, jnzL] -instructionLine = incL <|> decL <|> cpyL <|> jnzL - -incL = incify <$> (string "inc" *> spaces *> (oneOf "abcd")) - where incify r = Inc (Register r) -decL = decify <$> (string "dec" *> spaces *> (oneOf "abcd")) - where decify r = Dec (Register r) -cpyL = cpyify <$> (string "cpy" *> spaces *> ((many1 letter) <|> (many1 digit))) - <*> (spaces *> (oneOf "abcd")) - where cpyify s r = Cpy (readLocation s) (Register r) -jnzL = jnzify <$> (string "jnz" *> spaces *> ((many1 letter) <|> (many1 digit))) - <*> (spaces *> int) - where jnzify r d = Jnz (readLocation r) d - - -readLocation :: String -> Location -readLocation l - | all (isDigit) l = Literal (read l) - | otherwise = Register (head l) - - - -parseIfile :: String -> Either ParseError [Instruction] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError Instruction -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a \ No newline at end of file diff --git a/adventofcode16/app/advent13.hs b/adventofcode16/app/advent13.hs deleted file mode 100644 index 86981df..0000000 --- a/adventofcode16/app/advent13.hs +++ /dev/null @@ -1,95 +0,0 @@ -module Main(main) where - -import Data.List ((\\), nub, sortOn) -import Data.Bits (popCount) -import Data.Maybe (fromMaybe) - -type Pos = (Int, Int) - -seed = 1362 - -goal1 = (31, 39) - -main :: IO () -main = do - part1 - part2 - - -part1 :: IO () -part1 = print $ length $ tail $ fromMaybe [] $ aStar [[(1, 1)]] [] - -part2 :: IO () -part2 = do print $ length $ tail $ edl 50 [[(1, 1)]] [] - putStrLn $ showRoomR 30 25 $ edl 50 [[(1, 1)]] [] - - --- extractJust :: Maybe [a] -> [a] --- extractJust Nothing = [] --- extractJust (Just x) = x - -isWall :: Int -> Int -> Bool -isWall x y = odd $ popCount n - where - n = x*x + 3*x + 2*x*y + y + y*y + seed - - -showRoom w h = showRoomR w h [] - -showRoomR w h reached = unlines rows - where - rows = [row x | x <- [0..h]] - row x = [showCell x y | y <- [0..w]] - showCell x y = if (isWall x y) - then '#' - else if (x, y) `elem` reached - then 'O' - else '.' - - -aStar :: [[Pos]] -> [Pos] -> Maybe [Pos] -aStar [] _ = Nothing -aStar (currentTrail:trails) closed = - if isGoal (head currentTrail) then Just currentTrail - else if (head currentTrail) `elem` closed then aStar trails closed - else aStar newAgenda ((head currentTrail): closed) - where newAgenda = - sortOn (\a -> trailCost a) $ - trails ++ (candidates currentTrail closed) - trailCost t = estimateCost (head t) + length t - 1 - - --- exhaustive depth-limited -edl :: Int -> [[Pos]] -> [Pos] -> [Pos] -edl _ [] closed = nub closed -edl limit (currentTrail:trails) closed = - if (length currentTrail) > (limit+1) then edl limit trails ((head currentTrail):closed) - else if (head currentTrail) `elem` closed then edl limit trails closed - else edl limit newAgenda ((head currentTrail):closed) - where newAgenda = trails ++ (candidates currentTrail closed) - -candidates :: [Pos] -> [Pos] -> [[Pos]] -candidates currentTrail closed = newCandidates - where - (candidate:trail) = currentTrail - succs = legalSuccessors $ successors candidate - nonloops = (succs \\ trail) \\ closed - newCandidates = map (\n -> n:candidate:trail) nonloops - -isGoal :: Pos -> Bool -isGoal p = p == goal1 - -isLegal :: Pos -> Bool -isLegal (x, y) = - x >= 0 && y >= 0 && (not $ isWall x y) - -successors :: Pos -> [Pos] -successors (x, y) = [(x-1, y), (x+1, y), (x, y-1), (x, y+1)] - -legalSuccessors :: [Pos] -> [Pos] -legalSuccessors = filter (isLegal) - -estimateCost :: Pos -> Int -estimateCost (x, y) = abs (x - gx) + abs (y - gy) - where (gx, gy) = goal1 - diff --git a/adventofcode16/app/advent14.hs b/adventofcode16/app/advent14.hs deleted file mode 100644 index c6c092e..0000000 --- a/adventofcode16/app/advent14.hs +++ /dev/null @@ -1,43 +0,0 @@ -module Main(main) where - -import Data.List (nub, tails, null) -import Data.Hash.MD5 (md5s, Str(..)) - -salt = "yjdafjpo" --- salt = "abc" - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequence - -part2 :: IO () -part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequenceS - -md5sequence :: [String] -md5sequence = [makeMd5 i | i <- [0..]] - where makeMd5 i = md5s (Str (salt ++ show i)) - -md5sequenceS :: [String] -md5sequenceS = [makeMd5 i | i <- [0..]] - where makeMd5 i = stretch $ md5s (Str (salt ++ show i)) - stretch h0 = foldr (\_ h -> md5s (Str h)) h0 [1..2016] - -possibleKey :: [String] -> Int-> Bool -possibleKey s = not . null . repeats 3 . ((!!) s) - -confirmKey :: [String] -> Int -> Bool -confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s - where c = head $ repeats 3 $ s!!i - confirmation m = c `elem` (repeats 5 m) - -repeats :: Int -> String -> [String] -repeats n = filter (null . tail) . map (nub) . substrings n - -substrings :: Int -> [a] -> [[a]] -substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/adventofcode16/app/advent14c.hs b/adventofcode16/app/advent14c.hs deleted file mode 100644 index ea699ed..0000000 --- a/adventofcode16/app/advent14c.hs +++ /dev/null @@ -1,47 +0,0 @@ -module Main(main) where - -import Data.List (nub, tails) -import Data.ByteString.Char8 (pack) -import Crypto.Hash (hash, Digest, MD5) - -salt = "yjdafjpo" --- salt = "abc" - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequence - -part2 :: IO () -part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequenceS - -getHash :: String -> String -getHash bs = show (hash $ pack bs :: Digest MD5) - -md5sequence :: [String] -md5sequence = [makeMd5 i | i <- [0..]] - where makeMd5 i = getHash (salt ++ show i) - -md5sequenceS :: [String] -md5sequenceS = [makeMd5 i | i <- [0..]] - where makeMd5 i = stretch $ getHash (salt ++ show i) - stretch h0 = foldr (\_ h -> getHash h) h0 [1..2016] - -possibleKey :: [String] -> Int-> Bool -possibleKey s = not . null . repeats 3 . ((!!) s) - -confirmKey :: [String] -> Int -> Bool -confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s - where c = head $ repeats 3 $ s!!i - confirmation m = c `elem` (repeats 5 m) - -repeats :: Int -> String -> [String] -repeats n = filter (null . tail) . map (nub) . substrings n - -substrings :: Int -> [a] -> [[a]] -substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/adventofcode16/app/advent14parallel.hs b/adventofcode16/app/advent14parallel.hs deleted file mode 100644 index b0ca781..0000000 --- a/adventofcode16/app/advent14parallel.hs +++ /dev/null @@ -1,53 +0,0 @@ -module Main(main) where - -import Data.List (nub, tails) -import Data.ByteString.Char8 (pack) -import Crypto.Hash (hash, Digest, MD5) -import Control.Parallel.Strategies (withStrategy, parBuffer, rdeepseq) - -salt = "yjdafjpo" --- salt = "abc" - -stretch_factor = [1..2016] --- stretch_factor = [1..100] - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequence - -part2 :: IO () -part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] - where sq = md5sequenceS - -getHash :: String -> String -getHash bs = show (hash $ pack bs :: Digest MD5) - -md5sequence :: [String] --- md5sequence = [makeMd5 i | i <- [0..]] -md5sequence = withStrategy (parBuffer 100 rdeepseq) $ map (makeMd5) [0..] - where makeMd5 i = getHash (salt ++ show i) - -md5sequenceS :: [String] --- md5sequenceS = [makeMd5 i | i <- [0..]] -md5sequenceS = withStrategy (parBuffer 100 rdeepseq) $ map (makeMd5) [0..] - where makeMd5 i = stretch $ getHash (salt ++ show i) - stretch h0 = foldr (\_ h -> getHash h) h0 stretch_factor - -possibleKey :: [String] -> Int-> Bool -possibleKey s = not . null . repeats 3 . ((!!) s) - -confirmKey :: [String] -> Int -> Bool -confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s - where c = head $ repeats 3 $ s!!i - confirmation m = c `elem` (repeats 5 m) - -repeats :: Int -> String -> [String] -repeats n = filter (null . tail) . map (nub) . substrings n - -substrings :: Int -> [a] -> [[a]] -substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/adventofcode16/app/advent15.hs b/adventofcode16/app/advent15.hs deleted file mode 100644 index 5970bd6..0000000 --- a/adventofcode16/app/advent15.hs +++ /dev/null @@ -1,43 +0,0 @@ -module Main(main) where - -import Text.Parsec -import Text.ParserCombinators.Parsec.Number - -type Disk = (Int -> Bool) - -main :: IO () -main = do - text <- readFile "data/advent15.txt" - let disks = successfulParse $ parseIfile text - part1 disks - part2 disks - -part1 :: [Disk] -> IO () -part1 disks = print $ head $ filter (canFall disks) [0..] - -part2 :: [Disk] -> IO () -part2 disks = print $ head $ filter (canFall disks2) [0..] - where disks2 = disks ++ [diskify 7 11 0] - -canFall :: [Disk] -> Int -> Bool -canFall ds i = all (\d -> (d i)) ds - - -instructionFile = instructionLine `endBy` newline -instructionLine = diskify <$> (string "Disc #" *> int) - <*> (string " has " *> int) - <*> (string " positions; at time=0, it is at position " *> int) - <* (string ".") - -diskify :: Int -> Int -> Int -> (Int -> Bool) -diskify n size pos0 = (\i -> (size + n + pos0 + i) `mod` size == 0) - -parseIfile :: String -> Either ParseError [Disk] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError Disk -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a diff --git a/adventofcode16/app/advent15l.hs b/adventofcode16/app/advent15l.hs deleted file mode 100644 index 67e2ac0..0000000 --- a/adventofcode16/app/advent15l.hs +++ /dev/null @@ -1,39 +0,0 @@ -module Main(main) where - -import Text.Parsec -import Text.ParserCombinators.Parsec.Number - -main :: IO () -main = do - text <- readFile "data/advent15.txt" - let disks = successfulParse $ parseIfile text - part1 disks - part2 disks - -part1 :: [[Int]] -> IO () -part1 disks = print $ head $ filter (canFall disks) [0..] - -part2 :: [[Int]] -> IO () -part2 disks = print $ head $ filter (canFall disks2) [0..] - where disks2 = disks ++ [drop 7 $ drop 0 $ cycle [0..(11-1)]] - -canFall :: [[Int]] -> Int -> Bool -canFall ds i = all (\d -> (d!!i) == 0) ds - - -instructionFile = instructionLine `endBy` newline -instructionLine = diskify <$> (string "Disc #" *> int) - <*> (string " has " *> int) - <*> (string " positions; at time=0, it is at position " *> int) - <* (string ".") - where diskify n size pos0 = drop n $ drop pos0 $ cycle [0..(size-1)] - -parseIfile :: String -> Either ParseError [[Int]] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError [Int] -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a diff --git a/adventofcode16/app/advent16.hs b/adventofcode16/app/advent16.hs deleted file mode 100644 index 88b8b59..0000000 --- a/adventofcode16/app/advent16.hs +++ /dev/null @@ -1,42 +0,0 @@ -module Main(main) where - -import Data.List (nub) - -input = "11100010111110100" -disk1length = 272 -disk2length = 35651584 - --- input = "10000" --- disk1length = 20 - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = putStrLn $ checksum $ take disk1length $ expand disk1length input - -part2 :: IO () -part2 = putStrLn $ checksum $ take disk2length $ expand disk2length input - - -expand :: Int -> String -> String -expand len a - | length a >= len = a - | otherwise = expand len $ a ++ "0" ++ b - where b = map (invert) $ reverse a - invert '0' = '1' - invert '1' = '0' - -checksum :: String -> String -checksum digits - | odd $ length digits = digits - | otherwise = checksum $ map (checksumPair) $ pairs digits - where checksumPair p = if (length $ nub p) == 1 then '1' else '0' - - -pairs :: [a] -> [[a]] -pairs [] = [] -pairs xs = [p] ++ (pairs ys) - where (p, ys) = splitAt 2 xs diff --git a/adventofcode16/app/advent16i.hs b/adventofcode16/app/advent16i.hs deleted file mode 100644 index 897559d..0000000 --- a/adventofcode16/app/advent16i.hs +++ /dev/null @@ -1,45 +0,0 @@ -module Main(main) where - -input = "11100010111110100" -disk1length = 272 -disk2length = 35651584 - --- input = "10000" --- disk1length = 20 - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ fill disk1length input - -part2 :: IO () -part2 = print $ fill disk2length input - -fill :: Int -> String -> String -fill len filler = deBool $ checksum $ take len $ expand len $ enBool filler - -enBool :: String -> [Bool] -enBool = map (== '1') - -deBool :: [Bool] -> String -deBool = map (\b -> if b then '1' else '0') - - -expand :: Int -> [Bool] -> [Bool] -expand len = head . dropWhile ((<= len) . length) . iterate expandStep - -expandStep :: [Bool] -> [Bool] -expandStep a = a ++ [False] ++ b - where b = map (not) $ reverse a - -checksum :: [Bool] -> [Bool] -checksum = head . dropWhile (even . length) . iterate checksumStep - -checksumStep :: [Bool] -> [Bool] -checksumStep [] = [] -checksumStep [x] = [x] -checksumStep (x:y:xs) = (x==y):(checksumStep xs) - diff --git a/adventofcode16/app/advent17.hs b/adventofcode16/app/advent17.hs deleted file mode 100644 index e757def..0000000 --- a/adventofcode16/app/advent17.hs +++ /dev/null @@ -1,77 +0,0 @@ -module Main(main) where - -import Data.ByteString.Char8 (pack) -import qualified Crypto.Hash as C - -type Position = (Int, Int) -data Agendum = Agendum {position :: Position, path :: String, hash :: String} deriving (Show, Eq) -type Agenda = [Agendum] - --- input = "hijkl" --- input = "ihgpwlah" - -input = "qljzarfv" -- my input - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = putStrLn $ path $ extractJust $ bfs initialAgenda - -part2 :: IO () -part2 = print $ bfs2 initialAgenda 0 - -initialAgenda :: Agenda -initialAgenda = [Agendum {position=(1, 1), path="", hash=(getHash "")}] - -getHash :: String -> String -getHash path = show (C.hash $ pack (input ++ path) :: C.Digest C.MD5) - -extractJust :: Maybe Agendum -> Agendum -extractJust Nothing = head initialAgenda -extractJust (Just x) = x - -bfs :: Agenda -> Maybe Agendum -bfs [] = Nothing -bfs (current:agenda) = - if isGoal current then Just current - else bfs (agenda ++ (successors current)) - -bfs2 :: Agenda -> Int -> Int -bfs2 [] l = l -bfs2 (current:agenda) l = - if isGoal current then bfs2 agenda (length $ path $ current) - else bfs2 (agenda ++ (successors current)) l - -isGoal :: Agendum -> Bool -isGoal agendum = (position agendum) == (4, 4) - -isLegalPos :: Position -> Bool -isLegalPos p = fst p >= 1 && fst p <= 4 && snd p >= 1 && snd p <= 4 - -successors :: Agendum -> Agenda -successors state = [Agendum {position = step p0 ld, - path = path0 ++ [ld], - hash = getHash (path0 ++ [ld])} | ld <- legalDoors ] - where - p0 = position state - path0 = path state - h0 = hash state - doors = openDoors h0 - legalDoors = filter (isLegalPos . (step p0)) doors - -openDoors :: String -> String -openDoors h = up ++ down ++ left ++ right - where - up = if h!!0 `elem` "bcdef" then "U" else "" - down = if h!!1 `elem` "bcdef" then "D" else "" - left = if h!!2 `elem` "bcdef" then "L" else "" - right = if h!!3 `elem` "bcdef" then "R" else "" - -step :: Position -> Char -> Position -step (r, c) 'U' = (r-1, c) -step (r, c) 'D' = (r+1, c) -step (r, c) 'L' = (r, c-1) -step (r, c) 'R' = (r, c+1) diff --git a/adventofcode16/app/advent18.hs b/adventofcode16/app/advent18.hs deleted file mode 100644 index 2b1462f..0000000 --- a/adventofcode16/app/advent18.hs +++ /dev/null @@ -1,42 +0,0 @@ -module Main(main) where - -import Data.List (tails) - --- input = "..^^." --- input = ".^^.^.^^^^" -input = "^.^^^.^..^....^^....^^^^.^^.^...^^.^.^^.^^.^^..^.^...^.^..^.^^.^..^.....^^^.^.^^^..^^...^^^...^...^." - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () --- part1 = putStrLn $ unlines $ map (showRow) $ take 10 $ iterate nextRow $ readRow input -part1 = print $ length $ filter (not) $ concat $ take 40 $ iterate nextRow $ readRow input - -part2 :: IO () -part2 = print $ length $ filter (not) $ concat $ take 400000 $ iterate nextRow $ readRow input - -readRow :: String -> [Bool] -readRow = map (=='^') - -showRow :: [Bool] -> String -showRow = map (\c -> if c then '^' else '.') - -extended :: [Bool] -> [Bool] -extended row = [False] ++ row ++ [False] - -nextRow :: [Bool] -> [Bool] -nextRow = map (isTrap) . segments . extended - -segments :: [a] -> [[a]] -segments = filter ((==3) . length) . map (take 3) . tails - -isTrap :: [Bool] -> Bool -isTrap segment - | segment == [True, True, False] = True - | segment == [False, True, True] = True - | segment == [True, False, False] = True - | segment == [False, False, True] = True - | otherwise = False diff --git a/adventofcode16/app/advent18f.hs b/adventofcode16/app/advent18f.hs deleted file mode 100644 index d1650e6..0000000 --- a/adventofcode16/app/advent18f.hs +++ /dev/null @@ -1,50 +0,0 @@ -module Main(main) where - -import Data.List (tails, foldl') - --- input = "..^^." --- input = ".^^.^.^^^^" -input = "^.^^^.^..^....^^....^^^^.^^.^...^^.^.^^.^^.^^..^.^...^.^..^.^^.^..^.....^^^.^.^^^..^^...^^^...^...^." - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ fst $ foldl' nextRowFold (countSafe row, row) [2..40] - where row = readRow input - -part2 :: IO () -part2 = print $ fst $ foldl' nextRowFold (countSafe row, row) [2..400000] - where row = readRow input - -readRow :: String -> [Bool] -readRow = map (=='^') - -showRow :: [Bool] -> String -showRow = map (\c -> if c then '^' else '.') - -extended :: [Bool] -> [Bool] -extended row = [False] ++ row ++ [False] - -nextRow :: [Bool] -> [Bool] -nextRow = map (isTrap) . segments . extended - -nextRowFold :: (Int, [Bool]) -> Int -> (Int, [Bool]) -nextRowFold (n, row) _ = (n + countSafe newRow, newRow) - where newRow = nextRow row - -countSafe :: [Bool] -> Int -countSafe = length . filter (not) - -segments :: [a] -> [[a]] -segments = filter ((==3) . length) . map (take 3) . tails - -isTrap :: [Bool] -> Bool -isTrap segment - | segment == [True, True, False] = True - | segment == [False, True, True] = True - | segment == [True, False, False] = True - | segment == [False, False, True] = True - | otherwise = False diff --git a/adventofcode16/app/advent19.hs b/adventofcode16/app/advent19.hs deleted file mode 100644 index 009a07c..0000000 --- a/adventofcode16/app/advent19.hs +++ /dev/null @@ -1,37 +0,0 @@ -module Main(main) where - -import Prelude hiding (length, take, drop) -import Data.Sequence - --- input = 5 -input = 3012210 - -main :: IO () -main = do - part1 - part2 - -part1 :: IO () -part1 = print $ 2 * (input - 2 ^ (toInteger (floor $ logBase 2 (fromIntegral input)))) + 1 - -part2 :: IO () -part2 = print $ flip index 0 $ presentSteps initial - -presentSteps :: Seq Int -> Seq Int -presentSteps elves - | isFinished elves = elves - | otherwise = presentSteps $ next elves - -initial :: Seq Int -initial = fromList [1..input] - -isFinished :: Seq Int -> Bool -isFinished elves = length elves == 1 - -next :: Seq Int -> Seq Int -next elves = prefix >< (midfix |> suffix) - where - target = length elves `quot` 2 - prefix = drop 1 $ take target elves - midfix = drop (target+1) elves - suffix = index elves 0 diff --git a/adventofcode16/app/advent20.hs b/adventofcode16/app/advent20.hs deleted file mode 100644 index 8830c45..0000000 --- a/adventofcode16/app/advent20.hs +++ /dev/null @@ -1,74 +0,0 @@ -module Main(main) where - -import Text.Parsec -import Text.ParserCombinators.Parsec.Number -import Data.List (foldl') - -data Interval = Interval Int Int deriving (Show, Eq) - -low :: Interval -> Int -low (Interval l _) = l - -high :: Interval -> Int -high (Interval _ h) = h - -main :: IO () -main = do - text <- readFile "data/advent20.txt" - let intervals = successfulParse $ parseIfile text - part1 intervals - part2 intervals - -part1 :: [Interval] -> IO () -part1 intervals = print $ (+1) $ high $ head $ foldl' (mergeAdjacent) [] $ foldl' (merge) [] intervals - -part2 :: [Interval] -> IO () -part2 intervals = do - let ints = foldl' (mergeAdjacent) [] $ foldl' (merge) [] intervals - let gapCount = gaps ints - let lowGap = low $ head ints - let highGap = 4294967295 - (high $ last ints) - print (lowGap + gapCount + highGap) - -disjoint :: Interval -> Interval -> Bool -disjoint (Interval a b) (Interval c d) - | b < c = True - | d < a = True - | a > d = True - | c > b = True - | otherwise = False - -intersect :: Interval -> Interval -> Bool -intersect a b = not $ disjoint a b - -merge :: [Interval] -> Interval -> [Interval] -merge [] i0 = [i0] -merge (i1:intervals) i0 - | (high i0) < (low i1) = i0:i1:intervals - | intersect i0 i1 = merge intervals (Interval a' b') - | otherwise = i1:(merge intervals i0) - where a' = minimum [low i0, low i1] - b' = maximum [high i0, high i1] - -mergeAdjacent :: [Interval] -> Interval -> [Interval] -mergeAdjacent [] i0 = [i0] -mergeAdjacent (i1:intervals) i0 - | high i0 + 1 == low i1 = (Interval (low i0) (high i1)):intervals - | low i0 == high i1 + 1 = (Interval (low i1) (high i0)):intervals - | otherwise = i1:(mergeAdjacent intervals i0) - -gaps :: [Interval] -> Int -gaps [] = 0 -gaps [_] = 0 -gaps ((Interval _ b):(Interval c d):intervals) = - (c - b - 1) + gaps ((Interval c d):intervals) - -intervalFile = intervalLine `endBy` newline -intervalLine = Interval <$> int <*> (string "-" *> int) - -parseIfile :: String -> Either ParseError [Interval] -parseIfile input = parse intervalFile "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a diff --git a/adventofcode16/app/advent21.hs b/adventofcode16/app/advent21.hs deleted file mode 100644 index 2415974..0000000 --- a/adventofcode16/app/advent21.hs +++ /dev/null @@ -1,198 +0,0 @@ -module Main(main) where - -import Text.Parsec hiding (State) -import Text.ParserCombinators.Parsec.Number -import Data.Maybe (fromJust) -import Data.List (elemIndex) - -import Control.Monad.Identity -import Control.Monad.State -import Control.Monad.Writer - -data Instruction = SwapPosition Int Int - | SwapLetter Char Char - | RotateSteps Int - | RotateLetter Char - | Reverse Int Int - | Move Int Int - deriving (Show, Eq) - -data Log = Log { - action :: String - } deriving (Show) - -data Password = Password { - password :: String - } deriving (Show) - - -type App = WriterT [Log] (StateT Password Identity) - -infixl 9 ?? - -(??) :: Eq a => [a] -> a -> Int -(??) items item = fromJust $ elemIndex item items - - -initial = "abcdefgh" -final = "fbgdceah" - -testInstructions = "\ -\swap position 4 with position 0\n\ -\swap letter d with letter b\n\ -\reverse positions 0 through 4\n\ -\rotate left 1 step\n\ -\move position 1 to position 4\n\ -\move position 3 to position 0\n\ -\rotate based on position of letter b\n\ -\rotate based on position of letter d\n" - -main :: IO () -main = do - -- let ti = successfulParse $ parseIfile testInstructions - -- part1 ti "abcde" - -- part2 (reverse ti) "decab" - text <- readFile "data/advent21.txt" - let instructions = successfulParse $ parseIfile text - part1 instructions initial - part2 (reverse instructions) final - -part1 :: [Instruction] -> String -> IO () -part1 instructions start = - let st = Password {password = start} - ((_, log), st') = runIdentity (runStateT (runWriterT (apply instructions)) st) - in do - -- putStrLn $ unlines $ map (action) log - putStrLn $ password st' - -part2 :: [Instruction] -> String -> IO () -part2 instructions end = - let st = Password {password = end} - ((_, log), st') = runIdentity (runStateT (runWriterT (unApply instructions)) st) - in do - -- putStrLn $ unlines $ map (action) log - putStrLn $ password st' - - -apply :: [Instruction] -> App () -apply [] = return () -apply (i:is) = - do st <- get - let p0 = password st - let p1 = applyInstruction i p0 - put st {password = p1} - tell [Log (p0 ++ " -> " ++ p1 ++ " : " ++ (show i))] - apply is - - -applyInstruction :: Instruction -> String -> String -applyInstruction (SwapPosition from to) p0 - | from == to = p0 - | otherwise = prefix ++ [p0!!end] ++ midfix ++ [p0!!start] ++ suffix - where start = minimum [from, to] - end = maximum [from, to] - prefix = take start p0 - midfix = take (end-start-1) $ drop (start+1) p0 - suffix = drop (end+1) p0 - -applyInstruction (SwapLetter l0 l1) p0 = applyInstruction (SwapPosition (p0??l0) (p0??l1)) p0 - -applyInstruction (RotateSteps n) p0 = (drop n' p0) ++ (take n' p0) - where n' = if n < 0 - then (-1 * n) - else (length p0) - n - -applyInstruction (RotateLetter l) p0 = applyInstruction (RotateSteps n) p0 - where n = (1 + (p0??l) + if (p0??l) >= 4 then 1 else 0) `mod` (length p0) - -applyInstruction (Reverse from to) p0 - | from == to = p0 - | otherwise = prefix ++ (reverse midfix) ++ suffix - where start = minimum [from, to] - end = maximum [from, to] - prefix = take start p0 - midfix = take (end-start+1) $ drop start p0 - suffix = drop (end+1) p0 - -applyInstruction (Move from to) p0 - | from == to = p0 - | otherwise = prefix ++ [p0!!from] ++ suffix - where without = take from p0 ++ drop (from+1) p0 - prefix = take to without - suffix = drop (to) without - - -unApply :: [Instruction] -> App () -unApply [] = return () -unApply (i:is) = - do st <- get - let p0 = password st - let p1 = unApplyInstruction i p0 - put st {password = p1} - tell [Log (p1 ++ " <- " ++ p0 ++ " : " ++ (show i))] - unApply is - -unApplyInstruction :: Instruction -> String -> String -unApplyInstruction (SwapPosition from to) p0 = applyInstruction (SwapPosition from to) p0 -unApplyInstruction (SwapLetter l0 l1) p0 = applyInstruction (SwapLetter l0 l1) p0 -unApplyInstruction (RotateSteps n) p0 = applyInstruction (RotateSteps (-1 * n)) p0 -unApplyInstruction (Reverse from to) p0 = applyInstruction (Reverse from to) p0 -unApplyInstruction (Move from to) p0 = applyInstruction (Move to from) p0 -unApplyInstruction (RotateLetter l) p0 = applyInstruction (RotateSteps n) p0 - where n = case (p0??l) of - 0 -> -1 - 1 -> -1 - 2 -> 2 - 3 -> -2 - 4 -> 1 - 5 -> -3 - 6 -> 0 - 7 -> -4 - -- where n = case (p0??l) of - -- 0 -> -1 - -- 1 -> -1 - -- 2 -> 1 - -- 3 -> -2 - -- 4 -> 1 - - -instructionFile = instructionLine `endBy` newline -instructionLine = choice [ swapL - , rotateL - , reverseL - , moveL - ] - -swapL = (try (string "swap ")) *> (swapPosL <|> swapLetterL) - -swapPosL = SwapPosition <$> (string "position" *> spaces *> int) - <*> (spaces *> string "with position" *> spaces *> int) - -swapLetterL = SwapLetter <$> (string "letter" *> spaces *> letter) - <*> (spaces *> string "with letter" *> spaces *> letter) - -rotateL = (try (string "rotate ")) *> (rotateDirL <|> rotateLetterL) - -rotateDirL = rotateStepify <$> ((string "left") <|> (string "right")) - <*> (spaces *> int <* spaces <* skipMany letter) - where rotateStepify dir n = case dir of - "left" -> (RotateSteps (-1 * n)) - "right" -> (RotateSteps n) -rotateLetterL = RotateLetter <$> (string "based on position of letter " *> letter) - -reverseL = Reverse <$> (string "reverse positions" *> spaces *> int) - <*> (spaces *> (string "through") *> spaces *> int) - -moveL = Move <$> (string "move position" *> spaces *> int) - <*> (spaces *> (string "to position") *> spaces *> int) - - -parseIfile :: String -> Either ParseError [Instruction] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError Instruction -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a diff --git a/adventofcode16/app/advent22.hs b/adventofcode16/app/advent22.hs deleted file mode 100644 index f2e084a..0000000 --- a/adventofcode16/app/advent22.hs +++ /dev/null @@ -1,156 +0,0 @@ -module Main(main) where - -import GHC.Generics (Generic) -import Text.Parsec -import Text.ParserCombinators.Parsec.Number -import Data.Maybe (catMaybes, fromJust) -import Data.List (find, delete, sort, sortOn, reverse) - -data Node = Node { x :: Int - , y :: Int - , size :: Int - , used :: Int - , available :: Int - , use_pc :: Int - } deriving (Show, Eq, Ord) - -data SearchState = SearchState { cx :: Int - , cy :: Int - , grid :: [Node] - } deriving (Show) -instance Ord SearchState where - s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) -instance Eq SearchState where - s1 == s2 = equivalentState s1 s2 - -equivalentState :: SearchState -> SearchState -> Bool -equivalentState s1 s2 = - let h1 = fromJust $ find (\n -> used n == 0) $ grid s1 - h2 = fromJust $ find (\n -> used n == 0) $ grid s2 - in - cx s1 == cx s2 && cy s1 == cy s2 && - x h1 == x h2 && y h1 == y h2 - - -testGrid = "\ -\Filesystem Size Used Avail Use%\n\ -\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ -\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ -\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ -\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ -\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ -\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ -\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ -\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ -\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ -\" - -main :: IO () -main = do - text <- readFile "data/advent22.txt" - let sizes = successfulParse $ parseFile text - part1 sizes - part2 sizes - -part1 :: [Node] -> IO () -part1 sizes = print $ length viable - where viable = [(a, b) | a <- sizes, - b <- sizes, - a /= b, - (used a) > 0, - (used a) <= (available b)] - - -part2 :: [Node] -> IO () -part2 sizes = - -- do let testSizes = successfulParse $ parseFile testGrid - -- putStrLn $ searchTraceH $ reverse $ aStar [[startSt testSizes]] [] - print (26 + 26 + 29 + 5 * 36) - - -aStar :: [[SearchState]] -> [SearchState] -> [SearchState] -aStar [] _ = [] -aStar (currentPath:agenda) closed = - if isGoal reached then currentPath - else if reached `elem` closed - then aStar agenda closed - else aStar newAgenda (reached:closed) - where - reached = head currentPath - successorPaths = map (:currentPath) $ successors reached - newAgenda = sortOn (cost) $ successorPaths ++ agenda - - -searchTrace :: [SearchState] -> String -searchTrace ss = unlines $ map (sst) ss - where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ")" - -searchTraceH :: [SearchState] -> String -searchTraceH ss = unlines $ map (sst) ss - where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s - hole sk = fromJust $ find (\n -> used n == 0) $ grid sk - holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" - -startSt :: [Node] -> SearchState -startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} - where xs = map (\n -> x n) nodes - -isGoal :: SearchState -> Bool -isGoal st = cx st == 0 && cy st == 0 - -adjacent :: Node -> Node -> Bool -adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 - --- A move of data from n1 to n2 is legal. -legal :: Node -> Node -> Bool -legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 - -heuristic :: SearchState -> Int -heuristic st = (cx st) + (cy st) - -successors :: SearchState -> [SearchState] -successors st = map (newState st current) possibleMoves - where nodes = grid st - current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes - possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] - - --- Moving data from n1 to n2 -newState :: SearchState -> Node -> (Node, Node) -> SearchState -newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} - where cx' = if current == n1 then x n2 else x current - cy' = if current == n1 then y n2 else y current - grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): - (n1 {used = 0, available = (size n1)}): - (delete n1 $ delete n2 (grid st)) - -cost :: [SearchState] -> Int -cost p = (heuristic $ head p) + (length p) - - - -duFile = duLine `sepEndBy` newline --- duLine = (optionMaybe nodeL) - -duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) - -headerL = (many (noneOf "\r\n")) - -nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) - <*> (string "-y" *> int) - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "%") - where nodeify x y size used available use_pc = - Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} - -parseFile :: String -> Either ParseError [Maybe Node] -parseFile input = parse duFile "(unknown)" input - -parseLine :: String -> Either ParseError (Maybe Node) -parseLine input = parse duLine "(unknown)" input - -successfulParse :: Either ParseError [Maybe a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = catMaybes a diff --git a/adventofcode16/app/advent22library.hs b/adventofcode16/app/advent22library.hs deleted file mode 100644 index bad3621..0000000 --- a/adventofcode16/app/advent22library.hs +++ /dev/null @@ -1,143 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} - -module Main(main) where - -import GHC.Generics (Generic) -import Text.Parsec -import Text.ParserCombinators.Parsec.Number -import Data.Maybe (catMaybes, fromJust) -import Data.List (find, delete, sort) -import Data.Graph.AStar -import Data.Hashable -import qualified Data.HashSet - -data Node = Node { x :: Int - , y :: Int - , size :: Int - , used :: Int - , available :: Int - , use_pc :: Int - } deriving (Show, Eq, Ord, Generic) -instance Hashable Node - -data SearchState = SearchState { cx :: Int - , cy :: Int - , grid :: [Node] - } deriving (Show, Eq, Generic) -instance Hashable SearchState -instance Ord SearchState where - s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) - - -testGrid = "\ -\Filesystem Size Used Avail Use%\n\ -\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ -\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ -\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ -\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ -\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ -\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ -\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ -\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ -\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ -\" - -main :: IO () -main = do - text <- readFile "data/advent22.txt" - let sizes = successfulParse $ parseFile text - part1 sizes - part2 sizes - -part1 :: [Node] -> IO () -part1 sizes = print $ length viable - where viable = [(a, b) | a <- sizes, - b <- sizes, - a /= b, - (used a) > 0, - (used a) <= (available b)] - - -part2 :: [Node] -> IO () -part2 sizes = - -- do let testSizes = successfulParse $ parseFile testGrid - -- putStrLn $ searchTrace $ fromJust $ - -- aStar successors - -- (\_ _ -> 1) - -- heuristic - -- isGoal - -- (startSt testSizes) - putStrLn $ searchTrace $ fromJust $ - aStar successors - (\_ _ -> 1) - heuristic - isGoal - (startSt sizes) - - - -searchTrace :: [SearchState] -> String -searchTrace ss = unlines $ map (sst) ss - where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s - hole sk = fromJust $ find (\n -> used n == 0) $ grid sk - holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" - -startSt :: [Node] -> SearchState -startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} - where xs = map (\n -> x n) nodes - -isGoal :: SearchState -> Bool -isGoal st = cx st == 0 && cy st == 0 - -adjacent :: Node -> Node -> Bool -adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 - --- A move of data from n1 to n2 is legal. -legal :: Node -> Node -> Bool -legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 - -heuristic :: SearchState -> Int -heuristic st = (cx st) + (cy st) - -successors :: SearchState -> Data.HashSet.HashSet SearchState -successors st = Data.HashSet.fromList $ map (newState st current) possibleMoves - where nodes = grid st - current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes - possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] - - --- Moving data from n1 to n2 -newState :: SearchState -> Node -> (Node, Node) -> SearchState -newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} - where cx' = if current == n1 then x n2 else x current - cy' = if current == n1 then y n2 else y current - grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): - (n1 {used = 0, available = (size n1)}): - (delete n1 $ delete n2 (grid st)) - - -duFile = duLine `sepEndBy` newline --- duLine = (optionMaybe nodeL) - -duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) - -headerL = (many (noneOf "\r\n")) - -nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) - <*> (string "-y" *> int) - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "%") - where nodeify x y size used available use_pc = - Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} - -parseFile :: String -> Either ParseError [Maybe Node] -parseFile input = parse duFile "(unknown)" input - -parseLine :: String -> Either ParseError (Maybe Node) -parseLine input = parse duLine "(unknown)" input - -successfulParse :: Either ParseError [Maybe a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = catMaybes a diff --git a/adventofcode16/app/advent22search.hs b/adventofcode16/app/advent22search.hs deleted file mode 100644 index 32ada24..0000000 --- a/adventofcode16/app/advent22search.hs +++ /dev/null @@ -1,156 +0,0 @@ -module Main(main) where - -import GHC.Generics (Generic) -import Text.Parsec -import Text.ParserCombinators.Parsec.Number -import Data.Maybe (catMaybes, fromJust) -import Data.List (find, delete, sort, sortOn, reverse) - -data Node = Node { x :: Int - , y :: Int - , size :: Int - , used :: Int - , available :: Int - , use_pc :: Int - } deriving (Show, Eq, Ord) - -data SearchState = SearchState { cx :: Int - , cy :: Int - , grid :: [Node] - } deriving (Show) -instance Ord SearchState where - s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) -instance Eq SearchState where - s1 == s2 = equivalentState s1 s2 - -equivalentState :: SearchState -> SearchState -> Bool -equivalentState s1 s2 = - let h1 = fromJust $ find (\n -> used n == 0) $ grid s1 - h2 = fromJust $ find (\n -> used n == 0) $ grid s2 - in - cx s1 == cx s2 && cy s1 == cy s2 && - x h1 == x h2 && y h1 == y h2 - - -testGrid = "\ -\Filesystem Size Used Avail Use%\n\ -\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ -\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ -\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ -\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ -\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ -\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ -\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ -\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ -\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ -\" - -main :: IO () -main = do - text <- readFile "data/advent22.txt" - let sizes = successfulParse $ parseFile text - part1 sizes - part2 sizes - -part1 :: [Node] -> IO () -part1 sizes = print $ length viable - where viable = [(a, b) | a <- sizes, - b <- sizes, - a /= b, - (used a) > 0, - (used a) <= (available b)] - - -part2 :: [Node] -> IO () -part2 sizes = - -- do let testSizes = successfulParse $ parseFile testGrid - -- putStrLn $ searchTraceH $ reverse $ aStar [[startSt testSizes]] [] - print $ length $ aStar [[startSt sizes]] [] - - -aStar :: [[SearchState]] -> [SearchState] -> [SearchState] -aStar [] _ = [] -aStar (currentPath:agenda) closed = - if isGoal reached then currentPath - else if reached `elem` closed - then aStar agenda closed - else aStar newAgenda (reached:closed) - where - reached = head currentPath - successorPaths = map (:currentPath) $ successors reached - newAgenda = sortOn (cost) $ successorPaths ++ agenda - - -searchTrace :: [SearchState] -> String -searchTrace ss = unlines $ map (sst) ss - where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ")" - -searchTraceH :: [SearchState] -> String -searchTraceH ss = unlines $ map (sst) ss - where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s - hole sk = fromJust $ find (\n -> used n == 0) $ grid sk - holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" - -startSt :: [Node] -> SearchState -startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} - where xs = map (\n -> x n) nodes - -isGoal :: SearchState -> Bool -isGoal st = cx st == 0 && cy st == 0 - -adjacent :: Node -> Node -> Bool -adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 - --- A move of data from n1 to n2 is legal. -legal :: Node -> Node -> Bool -legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 - -heuristic :: SearchState -> Int -heuristic st = (cx st) + (cy st) - -successors :: SearchState -> [SearchState] -successors st = map (newState st current) possibleMoves - where nodes = grid st - current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes - possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] - - --- Moving data from n1 to n2 -newState :: SearchState -> Node -> (Node, Node) -> SearchState -newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} - where cx' = if current == n1 then x n2 else x current - cy' = if current == n1 then y n2 else y current - grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): - (n1 {used = 0, available = (size n1)}): - (delete n1 $ delete n2 (grid st)) - -cost :: [SearchState] -> Int -cost p = (heuristic $ head p) + (length p) - - - -duFile = duLine `sepEndBy` newline --- duLine = (optionMaybe nodeL) - -duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) - -headerL = (many (noneOf "\r\n")) - -nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) - <*> (string "-y" *> int) - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "%") - where nodeify x y size used available use_pc = - Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} - -parseFile :: String -> Either ParseError [Maybe Node] -parseFile input = parse duFile "(unknown)" input - -parseLine :: String -> Either ParseError (Maybe Node) -parseLine input = parse duLine "(unknown)" input - -successfulParse :: Either ParseError [Maybe a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = catMaybes a diff --git a/adventofcode16/app/advent22showgrid.hs b/adventofcode16/app/advent22showgrid.hs deleted file mode 100644 index aec4309..0000000 --- a/adventofcode16/app/advent22showgrid.hs +++ /dev/null @@ -1,77 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} - -module Main(main) where - -import GHC.Generics (Generic) -import Text.Parsec -import Text.ParserCombinators.Parsec.Number -import Data.Maybe (catMaybes, fromJust) -import Data.List (find, delete, sort, sortOn, reverse) - -data Node = Node { x :: Int - , y :: Int - , size :: Int - , used :: Int - , available :: Int - , use_pc :: Int - } deriving (Show, Eq, Ord) - - -testGrid = "\ -\Filesystem Size Used Avail Use%\n\ -\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ -\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ -\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ -\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ -\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ -\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ -\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ -\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ -\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ -\" - -main :: IO () -main = do - text <- readFile "data/advent22.txt" - let sizes = successfulParse $ parseFile text - let maxX = maximum $ map (\n -> x n) sizes - let maxY = maximum $ map (\n -> y n) sizes - putStrLn $ unlines $ map (showRow maxX sizes) [0..(maxY-1)] - - -showRow maxX sizes r = map (charOf) row - where row = sortOn (\c -> x c) $ filter (\c -> y c == r) sizes - charOf c = if (used c) == 0 - then '+' - else if (used c) > 100 - then '#' - else '_' - - - - -duFile = duLine `sepEndBy` newline --- duLine = (optionMaybe nodeL) - -duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) - -headerL = (many (noneOf "\r\n")) - -nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) - <*> (string "-y" *> int) - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "T") - <*> (spaces *> int <* string "%") - where nodeify x y size used available use_pc = - Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} - -parseFile :: String -> Either ParseError [Maybe Node] -parseFile input = parse duFile "(unknown)" input - -parseLine :: String -> Either ParseError (Maybe Node) -parseLine input = parse duLine "(unknown)" input - -successfulParse :: Either ParseError [Maybe a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = catMaybes a diff --git a/adventofcode16/app/advent23.hs b/adventofcode16/app/advent23.hs deleted file mode 100644 index dfb98cd..0000000 --- a/adventofcode16/app/advent23.hs +++ /dev/null @@ -1,182 +0,0 @@ -module Main(main) where - -import Text.Parsec hiding (State) -import Text.ParserCombinators.Parsec.Number -import Control.Monad.State.Lazy --- import Debug.Trace - -data Location = Literal Int | Register Char deriving (Show, Eq) -data Instruction = Cpy Location Location - | Inc Location - | Dec Location - | Jnz Location Location - | Tgl Location - deriving (Show, Eq) - -data Machine = Machine { a :: Int - , b :: Int - , c :: Int - , d :: Int - , pc :: Int - , instructions :: [Instruction]} - deriving (Show, Eq) - - -testInstructions = "cpy 2 a\n\ -\tgl a\n\ -\tgl a\n\ -\tgl a\n\ -\cpy 1 a\n\ -\dec a\n\ -\dec a" - - -emptyMachine :: Machine -emptyMachine = Machine {a=0, b=0, c=0, d=0, pc=0, instructions=[]} - -main :: IO () -main = do - text <- readFile "data/advent23.txt" - let instructions = successfulParse $ parseIfile text - part1 instructions - part2 instructions - - -part1 :: [Instruction] -> IO () -part1 instrs = - do let m0 = emptyMachine {instructions=instrs, a = 7} - let mf = snd $ runState runMachine m0 - print (a mf) - -part2 :: [Instruction] -> IO () -part2 instrs = - do let m0 = emptyMachine {instructions=instrs, a = 12} - let mf = snd $ runState runMachine m0 - print (a mf) - - -runMachine :: State Machine () -runMachine = - do m <- get - if (pc m) >= (length $ instructions m) - then return () - else do executeStep - runMachine - -executeStep :: State Machine () -executeStep = - do m <- get - let i = (instructions m)!!(pc m) - put (executeInstructionPeep i m) - -- put (executeInstruction i m) - -executeInstructionPeep :: Instruction -> Machine -> Machine -executeInstructionPeep i m = - if sample1 == sample1Target - -- then trace ("Peeping 1 " ++ (show m) ++ " to " ++ (show m1)) m1 - then m1 - else if sample2 == sample2Target - -- then trace ("Peeping 2 " ++ (show m) ++ " to " ++ (show m2)) m2 - then m2 - else executeInstruction i m - where sample1 = take (length sample1Target) $ drop (pc m) $ instructions m - sample1Target = [ Cpy (Literal 0) (Register 'a') - , Cpy (Register 'b') (Register 'c') - , Inc (Register 'a') - , Dec (Register 'c') - , Jnz (Register 'c') (Literal (-2)) - , Dec (Register 'd') - , Jnz (Register 'd') (Literal (-5)) ] - m1 = m {a = b m * d m, c = 0, d = 0, pc = pc m + (length sample1)} - sample2 = take (length sample2Target) $ drop (pc m) $ instructions m - sample2Target = [ Dec (Register 'b') - , Cpy (Register 'b') (Register 'c') - , Cpy (Register 'c') (Register 'd') - , Dec (Register 'd') - , Inc (Register 'c') - , Jnz (Register 'd') (Literal (-2)) ] - m2 = m {b = b m - 1, c = (b m - 1) * 2, d = 0, pc = pc m + (length sample2)} - - -executeInstruction :: Instruction -> Machine -> Machine -executeInstruction (Inc r@(Register _)) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m r - m' = writeValue m r (v+1) -executeInstruction (Inc (Literal _)) m = m {pc=pc1} - where pc1 = (pc m) + 1 -executeInstruction (Dec r@(Register _)) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m r - m' = writeValue m r (v-1) -executeInstruction (Dec (Literal _)) m = m {pc=pc1} - where pc1 = (pc m) + 1 -executeInstruction (Cpy s d@(Register _)) m = m' {pc=pc1} - where pc1 = (pc m) + 1 - v = evaluate m s - m' = writeValue m d v -executeInstruction (Cpy s (Literal _)) m = m {pc=pc1} - where pc1 = (pc m) + 1 -executeInstruction (Jnz s d) m - | v == 0 = m {pc=pc1} - | otherwise = m {pc=pcj} - where pc1 = (pc m) + 1 - ed = evaluate m d - pcj = (pc m) + ed - v = evaluate m s -executeInstruction (Tgl a) m - | v < (length $ instructions m) = m {instructions = (replace (instructions m) i' v), - pc=pc1} - | otherwise = m {pc=pc1} - where pc1 = pc m + 1 - v = evaluate m a + pc m - i = (instructions m)!!v - i' = case i of - Inc x -> Dec x - Dec x -> Inc x - Tgl x -> Inc x - Cpy x y -> Jnz x y - Jnz x y -> Cpy x y - replace xs x i = take i xs ++ [x] ++ drop (i+1) xs - - -evaluate :: Machine -> Location -> Int -evaluate _ (Literal i) = i -evaluate m (Register r) = - case r of - 'a' -> (a m) - 'b' -> (b m) - 'c' -> (c m) - 'd' -> (d m) - -writeValue :: Machine -> Location -> Int -> Machine -writeValue m (Literal i) _ = m -writeValue m (Register r) v = - case r of - 'a' -> m {a=v} - 'b' -> m {b=v} - 'c' -> m {c=v} - 'd' -> m {d=v} - - -instructionFile = instructionLine `sepEndBy` newline -instructionLine = incL <|> decL <|> cpyL <|> jnzL <|> tglL - -incL = Inc <$> (string "inc" *> spaces *> register) -decL = Dec <$> (string "dec" *> spaces *> register) -cpyL = Cpy <$> (string "cpy" *> spaces *> location) <*> (spaces *> register) -jnzL = Jnz <$> (string "jnz" *> spaces *> location) <*> (spaces *> location) -tglL = Tgl <$> (string "tgl" *> spaces *> location) - -location = (Literal <$> int) <|> register -register = Register <$> (oneOf "abcd") - -parseIfile :: String -> Either ParseError [Instruction] -parseIfile input = parse instructionFile "(unknown)" input - -parseIline :: String -> Either ParseError Instruction -parseIline input = parse instructionLine "(unknown)" input - -successfulParse :: Either ParseError [a] -> [a] -successfulParse (Left _) = [] -successfulParse (Right a) = a \ No newline at end of file diff --git a/adventofcode16/data/advent01.txt b/adventofcode16/data/advent01.txt deleted file mode 100644 index 62fb6e8..0000000 --- a/adventofcode16/data/advent01.txt +++ /dev/null @@ -1 +0,0 @@ -R2, L3, R2, R4, L2, L1, R2, R4, R1, L4, L5, R5, R5, R2, R2, R1, L2, L3, L2, L1, R3, L5, R187, R1, R4, L1, R5, L3, L4, R50, L4, R2, R70, L3, L2, R4, R3, R194, L3, L4, L4, L3, L4, R4, R5, L1, L5, L4, R1, L2, R4, L5, L3, R4, L5, L5, R5, R3, R5, L2, L4, R4, L1, R3, R1, L1, L2, R2, R2, L3, R3, R2, R5, R2, R5, L3, R2, L5, R1, R2, R2, L4, L5, L1, L4, R4, R3, R1, R2, L1, L2, R4, R5, L2, R3, L4, L5, L5, L4, R4, L2, R1, R1, L2, L3, L2, R2, L4, R3, R2, L1, L3, L2, L4, L4, R2, L3, L3, R2, L4, L3, R4, R3, L2, L1, L4, R4, R2, L4, L4, L5, L1, R2, L5, L2, L3, R2, L2 \ No newline at end of file diff --git a/adventofcode16/data/advent02.txt b/adventofcode16/data/advent02.txt deleted file mode 100644 index 799cb46..0000000 --- a/adventofcode16/data/advent02.txt +++ /dev/null @@ -1,5 +0,0 @@ -RDRRDLRRUDRUUUULDDRDUULLDUULDURDDUDRULDLUDDRLRDUDDURRRRURDURLLRDRUUULDLLLURDRLLULLUULULLLDLLLRRURRLRDUULRURRUDRRDRLURLRURLLULRUURRUURDDLDRDLDLLUDUULLLUUUUDULLDRRUURLDURDDDDDRLLRRURDLUDRRUUDLRRLLRDURDUDDDLRDDRDLRULLUULRULRLLULDDRURUUDLDDULDRLLURDDUDDUDRDUDLDRRRDURRLDRDRLDLLDUDDDULULRRULRLLURDRRDDUUUUUULRUDLRRDURDLRDLUDLDURUDDUUURUDLUUULDLRDURDLDUUDLDDDURUUDUUDRLRDULLDUULUDRUDRLRRRDLLDRUDULRRUDDURLDRURRLLRRRDRLLDLULULRRUURRURLLUDRRLRULURLDDDDDURUDRRRRULLUUDLDDLUUL -ULURUDLULDULDLLDDLLLDRRLLUDRRDRDUDURUDLRRRRUDRDDURLRRULLDLURLDULLUDDLUDURDUURRRRLDLRLDDULLRURLULLDDRUDLRRRLDRRRDLDRLLDDRRDDLUUDRUDDLULRURLDURRLLDLRUDLLRRUULUDRLLLRLDULURRRRRDDUURDRRUUDULRUULDDULRLUDLUDDULLRLRDDLRLLURRRULDLRRRUURRLDDRDLRDLRRDRDLDRDUDRDURUUDRLRRULRDLLDLLRRRDRLDRLRLRLLLURURDULUUDDRLLDDDRURRURLRDDULLRURUDRRDRLRRRLDLRLRULDRLUURRUUULRLDLLURLLLDLLLDRRDULRURRRRLUDLLRRUDLRUDRURDRRDLUUURRDLRLRUUUDURDLUDURRUUDURLUDDDULLDRDLLDDDRLDDDRLDLDDDDUDUUDURUUDULRDDLULDRDRLURLUDRDLUULLULRLULRDDRULDUDDURUURULUDLUURLURU -URLURDDRLLURRRLDLDLUDUURDRUDLLLRRDLUUULRRLURRRLUDUDLRLDDRUDLRRRULUDUDLLLULULLLRUDULDDDLLLRRRLRURDULUDDDULDLULURRRDLURDLRLLDUDRUDURDRRURULDRDUDLLRDDDUDDURLUULLULRDRRLDDLDURLRRRLDRDLDULRULRRRLRLLDULRDLURLRUUDURRUUDLLUDRUDLRLDUUDLURRRDDUUDUDRLDLDDRURDDLLDDRDLRLRDLLLUDLUUDRLRLRDDRDLRDLLUULLLLUULLDLLDLRDLRLRRLUUDLLRLRUDRURULRLRLULUDRLLUDDUDDULRLDDRUUUURULDRRULLLDUURULUDRLLURLRRLDLRRLDDRRRDUDDUDLDDLULUDDUURDLLLRLDLRDRUUUUUDDDLDRDDRRRLRURRRRDURDRURUDLURRURDRLRUUDDLDRRULLDURDRLRRDURURUULRDUDLDRDDLULULRDRRUDDRLLRLULRLLUUDRDUUDDUDLRUUDLLUULLRUULUDDLURRRLLDRLRRLLRULLDUULURLLLLUUULDR -LDUURULLRLDRRUUDUUUURUUUDDDURRDDLRDLLRDDRULDDUURUDDURLLUDRDUDRDULDRRRLULUDRULLLLDRLLDRDLDLLRURULUDDDDURDDDRLLUDLDRULRDLDUDDDUUDLLRLLLDLRLRLRRUDDULDDDUDLDDLUDDULDLLLLULLLLDDURDDURRRDDRLRLLUDLLUDDDUDURUDRLRDRULULDDRULDLULULLRUULRLDULUURRDRDRRDLDDDRRLUULDLUDRDDUDLRURULLDDURLDDRULUDLDDDRDRLLRDLLUURRRURDRLRURLDDLURDRURDDURLLRLRUDUUDLDUDURRDDURDRDDUDDDUDUURURDDLLRUUDDRRDULDDLLDLRULUULRUUDLLDRLULDULDDUDLULRULDRLLDUULDDDLRLLRLULDDULDDRRRLDRRLURULRDDRDLRRDUDDRDRRRRUDUDLLRRDRRURRUURDRULDDUDURLUDDURDUDRDUULLDRURUURURDRRLDDLDLUURLULRUDURDRUUURRURRDRUDRUURDURLRULULLLULDLLDLRRLDRDLUULUDDDLRDRLRLDRUDUDRLLRL -LURLUURLURDUUDRUDLDLLURRRDLDRRRULDDRRDRDUUDRUDURDDDURLUDDLULUULRRLLRULUDRDDRRRLDURDUDDURDDDLRLDDLULLDRDDLUUDUURRRLULRUURRRRLLULDUDRDUURRRURRDRDUDUDLUDULLDLDDRLUDRURDULURLURRLLURLLLRLUURLRUDLUDDRLURRUULULRLURRURUDURDLDLDDUDDRDLLRLLRRULDDRUDURUDDDUDLLRDLRUDULLLRRRUURUDUUULLRDUDRURUDULLDLLUUUDRULRLLRRDDDDUDULDRDRLLDDLLDDDURRUDURLDLRDRUURDDURLRDRURLRRLLRLULDRRLRUDURDUURRLUUULUDDDLRLULRDRLLURRRDLURDUUDRRRLUURRLLUDLUDLUULLRRDLLRDDRURRUURLDDLRLRLRUDLDLRLRDRRDLLLRDLRDUDLLDDDRD \ No newline at end of file diff --git a/adventofcode16/data/advent03.txt b/adventofcode16/data/advent03.txt deleted file mode 100644 index 40c03ca..0000000 --- a/adventofcode16/data/advent03.txt +++ /dev/null @@ -1,1734 +0,0 @@ - 330 143 338 - 769 547 83 - 930 625 317 - 669 866 147 - 15 881 210 - 662 15 70 - 273 277 707 - 50 592 770 - 280 313 407 - 642 487 372 - 94 619 295 - 734 243 141 - 220 141 515 - 198 824 745 - 210 787 964 - 213 627 601 - 918 4 447 - 805 630 802 - 711 237 987 - 938 552 388 - 643 405 779 - 803 747 525 - 917 832 631 - 899 292 843 - 81 206 445 - 141 874 465 - 177 974 54 - 520 725 814 - 271 958 554 - 779 579 264 - 358 18 257 - 978 77 270 - 984 88 131 - 475 702 940 - 183 756 160 - 383 941 820 - 806 142 646 - 793 275 804 - 53 272 368 - 942 821 785 - 863 830 902 - 219 52 199 - 473 479 351 - 860 522 361 - 890 240 216 - 94 756 407 - 310 189 468 - 234 909 178 - 889 667 756 - 429 485 730 - 825 405 30 - 943 806 253 - 98 455 365 - 998 454 290 - 971 576 223 - 64 429 273 - 945 779 63 - 352 960 59 - 672 948 577 - 782 43 567 - 460 315 719 - 825 604 183 - 453 442 788 - 694 632 334 - 569 619 317 - 337 49 17 - 878 468 660 - 393 598 717 - 550 827 159 - 540 362 346 - 66 713 380 - 491 477 44 - 411 114 320 - 554 96 250 - 306 67 196 - 769 553 333 - 762 436 382 - 278 322 153 - 894 603 334 - 539 441 844 - 486 162 927 - 197 9 218 - 94 221 804 - 250 220 913 - 557 626 486 - 562 705 630 - 968 922 285 - 518 36 468 - 18 608 83 - 512 611 530 - 534 37 65 - 621 136 90 - 239 113 139 - 371 640 956 - 629 54 959 - 531 620 338 - 682 499 810 - 798 170 968 - 187 640 645 - 660 535 332 - 663 530 314 - 64 26 65 - 55 285 488 - 620 288 52 - 642 474 450 - 455 9 962 - 51 760 489 - 426 760 833 - 304 783 772 - 498 765 695 - 635 53 126 - 44 430 774 - 979 943 838 - 962 892 64 - 494 709 614 - 7 695 120 - 503 114 606 - 362 340 689 - 509 367 389 - 673 410 664 - 773 262 558 - 897 958 245 - 140 773 483 - 965 468 584 - 546 209 668 - 856 381 184 - 274 237 762 - 888 677 906 - 871 516 405 - 102 529 912 - 285 724 885 - 352 501 53 - 774 139 245 - 380 309 594 - 813 185 765 - 530 645 965 - 958 618 120 - 851 202 957 - 737 476 131 - 595 546 108 - 716 113 66 - 327 215 318 - 397 343 390 - 351 143 103 - 138 91 31 - 108 224 919 - 230 276 896 - 426 975 177 - 327 975 918 - 238 365 764 - 328 799 775 - 590 906 967 - 578 460 338 - 507 619 647 - 711 617 867 - 933 478 734 - 820 760 721 - 199 711 824 - 983 214 228 - 382 150 648 - 415 782 242 - 615 754 445 - 693 689 590 - 382 784 482 - 997 181 322 - 682 241 172 - 587 302 252 - 184 135 254 - 574 104 549 - 88 738 796 - 486 715 861 - 62 491 815 - 463 434 569 - 519 622 310 - 199 443 782 - 572 657 85 - 763 517 844 - 750 175 835 - 228 269 710 - 611 316 551 - 883 546 296 - 169 693 18 - 992 743 316 - 263 529 529 - 705 570 4 - 918 706 527 - 609 285 971 - 260 533 112 - 711 486 904 - 820 40 472 - 997 301 129 - 257 288 343 - 635 439 375 - 560 381 417 - 773 105 145 - 58 963 267 - 976 742 424 - 994 441 384 - 389 770 514 - 782 463 335 - 919 727 276 - 780 794 372 - 326 180 590 - 918 946 257 - 889 842 181 - 507 61 464 - 762 835 443 - 827 607 982 - 174 875 544 - 934 885 589 - 32 343 757 - 987 826 257 - 981 782 844 - 446 291 397 - 443 800 421 - 165 668 539 - 410 373 487 - 422 803 881 - 546 998 953 - 291 607 160 - 919 894 62 - 842 718 117 - 110 816 582 - 470 836 596 - 575 687 35 - 37 835 374 - 90 954 354 - 101 141 407 - 174 398 499 - 173 737 964 - 4 365 950 - 946 616 634 - 906 904 619 - 40 789 16 - 788 769 76 - 737 867 88 - 565 812 31 - 508 380 201 - 34 935 339 - 500 862 326 - 431 181 475 - 403 346 585 - 88 530 708 - 731 137 781 - 715 563 272 - 817 659 932 - 396 368 360 - 162 683 376 - 278 620 39 - 525 910 371 - 688 524 149 - 488 998 279 - 286 392 523 - 325 144 406 - 79 532 419 - 540 460 465 - 222 832 416 - 517 507 46 - 87 744 183 - 382 819 701 - 306 763 647 - 744 74 913 - 62 813 849 - 691 874 775 - 291 422 314 - 432 630 809 - 611 510 566 - 583 745 289 - 397 19 727 - 188 766 442 - 96 108 329 - 963 719 598 - 963 764 469 - 444 636 731 - 792 636 422 - 993 1 416 - 518 300 532 - 298 312 736 - 316 111 463 - 825 569 35 - 858 591 584 - 809 84 607 - 681 610 740 - 383 279 210 - 851 733 615 - 287 959 160 - 856 851 171 - 606 115 211 - 310 541 845 - 506 119 319 - 665 471 562 - 382 885 798 - 440 29 595 - 113 903 475 - 257 773 846 - 306 741 776 - 97 804 76 - 489 332 423 - 466 632 613 - 86 739 481 - 199 846 712 - 62 282 809 - 155 681 142 - 705 525 270 - 159 800 117 - 612 664 316 - 505 616 837 - 578 839 770 - 942 535 122 - 542 781 512 - 552 22 475 - 760 791 97 - 432 626 837 - 26 616 336 - 412 316 702 - 108 232 242 - 158 311 449 - 60 141 325 - 58 1 714 - 532 977 123 - 531 978 598 - 679 899 57 - 645 523 54 - 167 892 14 - 164 574 492 - 105 37 491 - 132 555 485 - 600 879 508 - 608 843 222 - 270 255 398 - 232 960 281 - 241 995 436 - 113 674 411 - 381 567 5 - 697 450 966 - 726 857 969 - 722 686 965 - 543 20 453 - 955 689 554 - 858 161 923 - 140 979 953 - 786 836 237 - 200 322 875 - 311 623 398 - 510 814 945 - 67 387 825 - 621 620 740 - 630 842 163 - 545 75 373 - 506 531 501 - 301 571 357 - 746 491 253 - 37 29 748 - 769 507 754 - 69 886 861 - 423 629 856 - 380 723 83 - 875 647 657 - 144 696 580 - 896 49 629 - 275 598 374 - 118 636 279 - 277 80 529 - 623 130 493 - 368 712 621 - 833 730 512 - 59 767 829 - 105 933 731 - 54 240 108 - 803 235 992 - 837 726 881 - 426 855 450 - 636 730 731 - 840 561 977 - 996 229 670 - 508 234 186 - 529 108 917 - 373 337 795 - 681 35 565 - 790 251 152 - 301 235 599 - 875 416 653 - 277 338 990 - 800 207 595 - 954 650 896 - 931 667 706 - 84 851 822 - 254 778 816 - 316 141 732 - 233 759 239 - 546 473 315 - 69 15 96 - 513 470 320 - 460 188 729 - 429 950 288 - 709 807 790 - 456 161 570 - 269 718 339 - 213 628 602 - 155 367 686 - 176 418 568 - 66 251 723 - 959 696 536 - 794 279 885 - 315 527 993 - 603 853 868 - 727 747 994 - 411 287 193 - 528 763 559 - 803 149 739 - 542 883 696 - 275 676 183 - 411 317 161 - 349 875 35 - 39 729 221 - 256 831 216 - 247 238 176 - 399 59 306 - 409 445 550 - 9 387 253 - 613 204 474 - 81 868 944 - 589 912 735 - 319 264 83 - 984 704 614 - 778 614 532 - 699 762 556 - 680 250 507 - 504 581 647 - 160 351 295 - 513 739 413 - 651 915 651 - 878 218 499 - 872 990 503 - 38 886 12 - 218 201 415 - 240 250 504 - 265 448 382 - 402 876 126 - 488 950 649 - 189 210 597 - 24 850 758 - 30 451 347 - 5 437 723 - 634 310 546 - 801 179 411 - 679 338 852 - 385 32 933 - 406 531 554 - 88 516 871 - 860 486 834 - 467 535 849 - 419 820 785 - 206 649 526 - 244 499 714 - 80 774 678 - 336 149 612 - 310 175 656 - 150 221 791 - 159 806 701 - 336 465 530 - 376 819 272 - 533 472 421 - 82 124 909 - 523 561 539 - 844 811 576 - 439 612 587 - 782 457 686 - 152 51 837 - 413 573 855 - 403 608 26 - 893 819 910 - 361 499 657 - 677 937 617 - 428 6 343 - 310 38 431 - 474 35 420 - 574 256 221 - 700 907 515 - 149 685 478 - 206 325 720 - 114 51 67 - 320 338 686 - 293 59 527 - 147 756 986 - 250 697 573 - 968 194 545 - 542 480 72 - 454 574 619 - 473 55 592 - 475 339 889 - 884 313 993 - 125 127 742 - 591 514 585 - 543 583 282 - 264 580 390 - 839 487 781 - 902 664 868 - 334 459 819 - 107 20 211 - 368 479 775 - 683 691 273 - 681 336 630 - 22 978 536 - 926 828 708 - 210 319 723 - 787 689 866 - 854 633 856 - 960 494 866 - 122 687 596 - 918 705 539 - 84 564 791 - 876 138 949 - 836 1 500 - 718 308 466 - 228 311 271 - 421 998 433 - 622 772 174 - 875 720 432 - 680 687 509 - 215 95 623 - 674 732 166 - 198 174 645 - 721 839 390 - 617 896 448 - 73 331 155 - 789 134 431 - 853 376 400 - 82 862 411 - 779 362 70 - 750 777 349 - 674 604 224 - 812 731 446 - 280 546 336 - 922 781 619 - 196 892 876 - 941 361 479 - 344 988 873 - 499 92 795 - 287 913 546 - 625 167 604 - 617 1 399 - 154 166 720 - 328 323 111 - 713 619 530 - 606 756 580 - 194 247 935 - 149 65 64 - 55 287 902 - 870 866 127 - 478 679 587 - 900 459 565 - 563 787 743 - 962 798 769 - 669 39 525 - 745 691 317 - 484 123 93 - 500 598 348 - 159 535 681 - 618 176 877 - 723 373 464 - 304 184 131 - 542 209 654 - 716 47 647 - 976 537 771 - 914 606 568 - 241 250 481 - 616 640 660 - 744 187 843 - 303 617 927 - 369 525 773 - 754 697 360 - 595 560 605 - 562 589 610 - 799 497 655 - 823 553 532 - 937 502 449 - 976 941 158 - 194 720 347 - 474 694 822 - 528 184 272 - 922 698 568 - 415 889 638 - 169 822 65 - 547 281 663 - 582 167 110 - 365 56 914 - 431 162 923 - 473 812 578 - 572 890 386 - 164 119 308 - 604 946 496 - 327 142 72 - 641 916 472 - 743 663 228 - 107 446 345 - 823 486 152 - 997 47 968 - 565 155 631 - 438 205 416 - 271 163 875 - 123 393 111 - 169 412 854 - 615 683 659 - 592 362 9 - 99 895 668 - 834 205 172 - 359 355 550 - 499 149 389 - 755 298 916 - 475 706 807 - 829 425 118 - 43 527 479 - 159 473 874 - 151 326 992 - 970 660 509 - 837 930 35 - 164 345 506 - 209 879 487 - 97 157 503 - 289 755 793 - 624 897 293 - 382 134 451 - 257 917 339 - 110 168 85 - 470 583 139 - 486 613 120 - 584 747 795 - 959 699 339 - 866 384 672 - 157 639 464 - 939 485 409 - 947 441 131 - 179 953 581 - 735 587 605 - 834 582 36 - 304 422 707 - 195 348 347 - 163 521 486 - 948 471 675 - 915 453 406 - 40 345 635 - 81 124 115 - 127 105 127 - 50 32 10 - 221 399 397 - 487 676 412 - 574 607 450 - 268 625 323 - 843 858 145 - 706 286 218 - 822 168 254 - 950 708 944 - 572 640 775 - 958 563 909 - 996 154 918 - 378 626 564 - 335 823 339 - 499 810 270 - 294 22 98 - 987 959 591 - 101 899 442 - 931 409 576 - 542 102 655 - 404 980 398 - 759 990 381 - 692 990 750 - 752 93 149 - 278 973 883 - 621 459 232 - 398 261 626 - 221 212 744 - 790 241 352 - 802 218 317 - 443 294 244 - 393 131 941 - 466 378 885 - 516 419 240 - 799 748 407 - 468 502 386 - 829 329 766 - 432 376 408 - 681 88 198 - 553 351 489 - 234 717 59 - 332 525 675 - 437 691 723 - 441 834 433 - 616 144 274 - 966 911 650 - 254 274 782 - 346 714 856 - 330 696 171 - 394 407 298 - 897 553 867 - 755 503 956 - 253 840 382 - 923 195 262 - 918 735 483 - 55 703 227 - 768 759 225 - 825 238 14 - 7 479 978 - 211 603 957 - 216 866 94 - 112 698 60 - 847 631 307 - 940 164 253 - 406 133 14 - 380 816 425 - 147 873 429 - 698 987 98 - 534 823 691 - 197 690 754 - 979 39 468 - 928 73 531 - 119 66 920 - 982 810 569 - 476 534 397 - 931 366 182 - 783 104 732 - 131 32 619 - 784 136 530 - 16 933 484 - 995 987 739 - 985 88 977 - 43 919 914 - 540 399 915 - 566 859 257 - 639 419 73 - 727 118 865 - 477 370 834 - 293 434 155 - 422 557 603 - 203 243 754 - 373 15 748 - 466 574 807 - 282 576 70 - 275 365 608 - 987 644 648 - 711 629 717 - 420 410 696 - 252 417 874 - 642 26 202 - 223 23 531 - 545 580 675 - 565 600 521 - 130 745 142 - 264 377 397 - 300 618 253 - 683 331 279 - 440 826 275 - 835 785 266 - 592 264 590 - 257 255 173 - 532 23 620 - 571 749 434 - 988 552 492 - 566 766 234 - 617 818 776 - 45 113 882 - 579 793 114 - 971 243 608 - 979 241 241 - 130 83 634 - 91 361 5 - 311 107 501 - 377 388 496 - 727 849 317 - 323 702 256 - 804 254 189 - 70 11 246 - 752 425 785 - 799 413 882 - 917 133 695 - 959 49 902 - 420 121 412 - 177 170 158 - 828 734 135 - 880 875 75 - 824 556 960 - 857 689 960 - 74 951 2 - 246 687 756 - 311 93 487 - 209 626 886 - 17 545 566 - 963 252 283 - 947 493 805 - 185 493 462 - 728 365 885 - 808 214 528 - 582 780 100 - 30 254 654 - 596 706 553 - 713 968 803 - 123 270 839 - 792 778 475 - 442 95 682 - 931 212 678 - 781 140 439 - 651 645 978 - 137 829 286 - 593 503 895 - 642 215 144 - 687 122 934 - 84 240 919 - 656 515 774 - 51 799 273 - 636 324 924 - 213 161 309 - 509 157 458 - 582 1 727 - 716 269 819 - 978 343 303 - 828 264 708 - 108 620 190 - 12 12 634 - 103 615 579 - 364 286 660 - 809 714 656 - 729 504 10 - 994 366 341 - 433 796 77 - 663 462 353 - 776 687 758 - 751 495 651 - 33 751 753 - 349 919 228 - 204 799 584 - 335 156 563 - 725 191 535 - 731 676 524 - 455 571 10 - 899 379 689 - 773 641 812 - 324 761 421 - 354 557 897 - 571 740 161 - 407 271 856 - 886 393 428 - 286 870 218 - 950 819 347 - 331 847 858 - 498 471 689 - 357 378 775 - 890 503 514 - 201 863 428 - 721 737 796 - 636 178 974 - 14 387 936 - 622 424 144 - 82 201 727 - 127 164 779 - 173 319 326 - 195 748 641 - 469 512 510 - 626 949 405 - 552 542 251 - 192 204 382 - 655 558 631 - 970 519 3 - 918 701 399 - 56 543 403 - 524 848 641 - 620 431 539 - 604 473 824 - 369 105 464 - 575 957 429 - 859 978 199 - 712 381 199 - 941 305 738 - 892 663 937 - 653 963 365 - 70 331 508 - 620 923 682 - 739 122 350 - 288 418 768 - 733 326 520 - 694 472 793 - 725 415 739 - 895 398 201 - 500 157 168 - 727 814 354 - 807 726 340 - 431 329 212 - 635 374 403 - 677 78 347 - 386 559 505 - 385 361 161 - 262 494 621 - 481 237 767 - 318 966 640 - 723 732 546 - 911 652 823 - 958 502 677 - 718 258 834 - 98 666 506 - 929 41 933 - 869 637 605 - 585 156 335 - 490 316 149 - 436 339 323 - 596 948 224 - 275 433 241 - 545 890 155 - 601 413 676 - 893 401 673 - 694 171 403 - 211 110 482 - 267 61 541 - 206 124 256 - 189 353 308 - 351 880 70 - 237 677 380 - 759 754 388 - 465 99 862 - 852 787 925 - 758 890 804 - 252 817 784 - 773 129 860 - 954 102 872 - 743 396 730 - 500 304 173 - 492 399 527 - 413 465 813 - 670 837 933 - 897 424 430 - 782 404 14 - 151 24 418 - 897 260 306 - 811 287 386 - 440 93 449 - 229 185 582 - 136 63 678 - 211 250 940 - 184 400 209 - 122 383 238 - 143 386 111 - 320 194 415 - 925 790 501 - 924 596 614 - 606 733 277 - 886 116 194 - 278 627 189 - 225 536 981 - 487 538 584 - 539 2 793 - 219 456 57 - 341 424 941 - 199 482 921 - 231 241 588 - 711 740 334 - 596 554 323 - 917 164 629 - 19 138 756 - 939 70 225 - 536 432 401 - 137 614 14 - 593 818 402 - 871 280 515 - 268 259 326 - 900 97 376 - 68 699 461 - 546 810 400 - 540 697 676 - 591 125 751 - 159 719 919 - 605 763 898 - 171 845 459 - 115 289 376 - 265 636 317 - 646 225 84 - 663 755 89 - 192 828 12 - 316 523 822 - 310 933 784 - 44 721 873 - 893 873 461 - 898 15 548 - 96 861 726 - 9 837 398 - 238 404 29 - 227 845 428 - 770 764 472 - 960 747 784 - 990 281 811 - 59 597 111 - 930 799 729 - 930 882 758 - 459 961 116 - 484 83 914 - 83 969 994 - 828 423 132 - 346 541 246 - 783 484 303 - 983 7 921 - 216 208 905 - 802 216 54 - 6 121 306 - 609 36 749 - 608 84 626 - 97 705 89 - 200 688 878 - 242 314 802 - 294 66 338 - 768 417 272 - 785 351 266 - 58 505 668 - 791 291 679 - 783 694 43 - 794 468 355 - 777 796 171 - 378 784 426 - 224 510 840 - 557 606 708 - 513 127 189 - 231 976 517 - 772 37 433 - 684 973 324 - 70 661 83 - 914 136 702 - 917 630 710 - 826 894 84 - 373 416 248 - 551 924 226 - 357 646 374 - 890 491 246 - 938 293 519 - 66 42 704 - 537 60 374 - 508 56 405 - 437 751 653 - 681 718 160 - 683 293 800 - 569 288 878 - 692 206 611 - 173 157 399 - 201 492 645 - 98 132 329 - 234 612 711 - 296 54 975 - 651 219 923 - 527 177 138 - 585 598 302 - 552 653 474 - 54 288 358 - 828 631 279 - 854 642 746 - 80 52 645 - 386 346 181 - 488 7 569 - 168 351 533 - 906 186 681 - 833 404 191 - 863 297 526 - 451 555 808 - 336 544 155 - 253 211 838 - 759 819 238 - 921 343 761 - 264 632 690 - 165 424 159 - 121 481 361 - 181 409 439 - 94 972 995 - 696 904 722 - 613 238 422 - 190 281 334 - 385 127 129 - 300 364 234 - 479 768 937 - 883 654 35 - 979 679 959 - 244 51 788 - 275 613 804 - 143 575 210 - 160 168 608 - 330 471 651 - 407 594 410 - 723 576 943 - 268 912 361 - 692 442 760 - 443 288 20 - 382 610 556 - 62 694 568 - 322 257 214 - 253 458 861 - 260 213 829 - 37 137 420 - 668 220 104 - 673 150 435 - 551 466 897 - 390 729 999 - 423 963 763 - 837 36 295 - 854 726 495 - 16 728 389 - 735 246 510 - 218 136 617 - 604 197 140 - 113 355 499 - 631 902 488 - 689 898 212 - 780 826 901 - 556 205 657 - 855 661 288 - 141 34 480 - 27 23 194 - 115 53 393 - 333 287 700 - 68 300 671 - 394 589 28 - 572 248 771 - 454 118 797 - 526 141 300 - 785 377 504 - 886 723 105 - 541 712 470 - 156 128 932 - 479 85 989 - 381 207 162 - 813 839 544 - 143 783 541 - 916 361 24 - 878 133 886 - 986 750 335 - 122 643 864 - 395 460 591 - 387 896 627 - 117 455 109 - 2 14 569 - 873 364 215 - 875 350 554 - 70 878 940 - 234 846 82 - 256 279 901 - 693 990 473 - 951 866 824 - 923 408 891 - 36 5 531 - 954 654 266 - 921 652 434 - 561 701 427 - 232 764 365 - 330 331 73 - 46 813 6 - 380 698 297 - 396 221 289 - 135 867 633 - 814 649 286 - 797 918 827 - 705 58 338 - 6 305 310 - 701 352 28 - 903 97 825 - 693 126 794 - 438 144 592 - 367 932 400 - 320 820 264 - 687 210 652 - 682 84 566 - 671 604 816 - 529 646 267 - 795 654 114 - 955 426 118 - 249 759 102 - 343 581 267 - 341 619 107 - 479 57 341 - 683 32 870 - 630 609 210 - 361 643 803 - 506 856 406 - 580 562 359 - 312 433 154 - 750 379 920 - 448 520 312 - 733 259 899 - 33 786 319 - 579 669 90 - 595 769 242 - 160 985 236 - 654 903 946 - 635 99 802 - 75 158 437 - 467 382 289 - 406 542 548 - 684 417 794 - 729 105 122 - 44 485 689 - 737 15 713 - 970 391 17 - 373 384 729 - 336 1 118 - 814 807 759 - 965 808 828 - 179 181 834 - 242 94 838 - 188 183 82 - 691 402 618 - 984 43 561 - 330 447 872 - 553 581 30 - 884 393 836 - 431 298 837 - 278 389 690 - 976 587 803 - 722 220 538 - 548 208 107 - 629 414 729 - 543 584 672 - 512 431 954 - 475 367 959 - 226 306 9 - 824 774 668 - 188 22 870 - 722 764 300 - 647 803 256 - 410 972 21 - 436 536 278 - 995 577 453 - 670 439 224 - 434 488 572 - 82 317 498 - 559 823 662 - 499 614 196 - 944 14 432 - 618 866 652 - 467 872 289 - 471 722 189 - 923 756 17 - 790 409 195 - 511 500 545 - 667 283 758 - 271 373 283 - 573 686 490 - 659 706 560 - 770 247 633 - 424 169 895 - 47 349 411 - 380 235 805 - 384 546 148 - 747 870 831 - 754 421 910 - 937 15 433 - 188 760 806 - 872 748 418 - 718 556 510 - 165 590 486 - 798 40 177 - 349 923 530 - 795 690 746 - 550 671 360 - 824 442 775 - 331 686 152 - 570 270 926 - 860 64 383 - 408 464 170 - 758 440 349 - 773 434 699 - 780 563 352 - 18 644 621 - 432 663 188 - 420 887 956 - 237 586 788 - 319 526 586 - 544 647 115 - 628 235 511 - 666 408 33 - 670 459 697 - 48 189 692 - 837 708 428 - 462 652 632 - 426 106 457 - 730 744 195 - 700 816 769 - 383 480 923 - 601 612 910 - 559 953 779 - 533 937 240 - 464 123 344 - 579 82 76 - 179 188 373 - 1 641 56 - 688 698 50 - 688 160 4 - 790 364 767 - 202 70 137 - 914 420 674 - 961 657 851 - 578 708 875 - 503 94 776 - 221 143 356 - 34 126 403 - 234 31 78 - 721 949 330 - 675 191 460 - 80 957 651 - 690 580 824 - 461 73 802 - 725 606 51 - 183 857 521 - 708 800 482 - 644 111 37 - 769 778 869 - 883 693 909 - 549 714 43 - 273 246 599 - 637 309 675 - 451 195 552 - 681 408 126 - 422 465 52 - 743 235 144 - 248 586 312 - 42 398 313 - 222 335 21 - 528 312 738 - 856 312 132 - 915 79 610 - 550 605 186 - 566 815 698 - 127 250 717 - 532 129 775 - 604 132 549 - 134 44 247 - 521 815 470 - 370 853 515 - 795 187 851 - 963 295 50 - 757 228 169 - 706 303 120 - 416 133 309 - 956 63 11 - 751 162 301 - 387 632 29 - 257 383 994 - 215 247 994 - 529 606 963 - 770 305 756 - 721 791 971 - 558 531 675 - 253 477 918 - 470 52 615 - 256 335 24 - 301 523 651 - 316 702 637 - 321 721 32 - 591 730 179 - 341 364 146 - 673 120 501 - 31 183 207 - 641 116 463 - 221 54 775 - 262 458 669 - 139 486 904 - 736 260 139 - 406 359 663 - 434 563 753 - 981 6 215 - 423 320 358 - 719 319 415 - 315 375 320 - 7 637 423 - 314 365 175 - 199 687 754 - 174 546 1 - 29 526 754 - 153 402 251 - 787 565 919 - 820 239 876 - 994 614 47 - 958 816 288 - 244 750 275 - 248 890 694 - 628 194 414 - 774 958 466 - 181 34 442 - 569 371 939 - 500 347 740 - 745 123 467 - 614 662 119 - 201 690 352 - 596 974 215 - 508 921 240 - 405 947 317 - 402 372 733 - 298 41 357 - 135 339 759 - 544 683 690 - 584 1 893 - 215 680 501 - 191 453 649 - 952 84 727 - 815 494 293 - 163 168 46 - 136 119 441 - 185 112 474 - 877 830 354 - 497 242 226 - 484 714 178 - 854 570 402 - 873 120 432 - 30 613 50 - 365 529 624 - 969 332 586 - 636 617 153 - 588 669 314 - 12 52 628 - 584 704 642 - 95 199 69 - 979 486 705 - 953 391 698 - 698 471 333 - 302 466 64 - 678 19 376 - 353 860 905 - 236 113 797 - 400 879 962 - 341 805 493 - 661 506 196 - 736 357 644 - 943 352 365 - 484 756 282 - 491 943 262 - 765 494 729 - 321 208 986 - 621 346 290 - 258 706 386 - 179 452 276 - 433 583 153 - 708 2 212 - 193 151 320 - 647 149 299 - 335 951 831 - 661 787 792 - 818 742 477 - 799 964 157 - 726 780 172 - 740 225 24 - 428 39 263 - 388 901 506 - 97 940 413 - 41 454 826 - 324 453 443 - 346 76 938 - 463 595 751 - 854 948 454 - 451 902 507 - 722 961 130 - 695 529 425 - 59 591 467 - 559 623 222 - 991 194 196 - 749 793 245 - 474 327 247 - 346 2 277 - 643 328 135 - 785 264 751 - 35 537 887 - 811 584 685 - 475 903 748 - 471 115 698 - 7 945 449 - 464 880 227 - 287 868 878 - 564 11 850 - 221 623 475 - 314 325 553 - 209 865 621 - 39 655 236 - 95 296 235 - 124 920 21 - 439 473 902 - 334 375 792 - 315 116 768 - 267 736 95 - 703 606 595 - 505 886 514 - 114 168 52 - 301 584 495 - 200 709 527 - 164 422 554 - 246 546 460 - 377 141 223 - 286 323 354 - 810 240 90 - 920 450 425 - 277 8 570 - 28 649 50 - 295 650 534 - 690 187 665 - 674 184 483 - 68 139 376 - 570 430 500 - 590 422 543 - 304 68 43 - 422 666 163 - 501 375 696 - 81 621 813 - 19 981 945 - 410 83 941 - 427 945 25 - 283 408 825 - 281 648 635 - 294 678 615 - 113 936 500 - 554 772 314 - 502 642 624 - 262 318 699 - 88 526 817 - 242 468 161 - 820 179 253 - 580 62 531 - 343 183 422 - 430 161 485 - 26 127 435 - 442 32 517 - 491 243 544 - 552 680 310 - 131 489 457 - 697 162 526 - 897 838 305 - 695 748 335 - 753 936 24 - 46 681 637 - 745 808 617 - 318 251 171 - 49 39 855 - 359 284 725 - 221 837 145 - 581 821 444 - 573 267 318 - 706 969 583 - 722 912 586 - 680 86 869 - 833 546 97 - 865 507 481 - 938 104 386 - 941 217 265 - 360 53 607 - 634 197 476 - 787 659 444 - 368 163 783 - 493 738 345 - 182 539 52 - 764 827 612 - 699 493 663 - 914 384 17 - 495 546 260 - 739 461 275 - 386 91 394 - 804 506 198 - 780 421 269 - 109 669 193 - 457 298 349 - 560 800 331 - 282 153 637 - 160 254 807 - 434 204 476 - 717 759 737 - 629 785 65 - 347 614 790 - 270 663 647 - 188 271 528 - 277 929 591 - 853 744 589 - 704 881 761 - 573 714 627 - 541 689 287 - 540 301 187 - 670 397 368 - 867 8 698 - 869 146 802 - 10 137 104 - 164 575 450 - 507 233 466 - 548 425 46 - 435 824 78 - 334 951 34 - 646 551 99 - 60 829 569 - 501 866 382 - 440 327 222 - 744 132 333 - 800 983 126 - 887 866 451 - 28 599 39 - 833 129 307 - 804 519 319 - 510 746 821 - 639 209 561 - 197 649 333 - 638 644 361 - 754 474 366 - 193 219 106 - 843 536 331 - 483 634 611 - 367 195 592 - 753 71 115 - 934 42 83 - 337 75 85 - 475 304 169 - 672 143 211 - 360 406 74 - 370 119 111 - 351 955 696 - 543 849 785 - 375 576 836 - 288 316 239 - 512 273 786 - 721 407 82 - 998 634 292 - 449 399 284 - 540 316 693 - 430 68 984 - 146 376 482 - 785 134 643 - 157 509 441 - 808 615 552 - 920 564 452 - 407 341 441 - 990 778 211 - 822 325 925 - 368 206 876 - 491 153 126 - 11 373 546 - 854 752 143 - 843 773 660 - 777 472 964 - 359 708 889 - 575 941 882 - 945 22 152 - 968 237 115 - 30 238 110 - 101 504 412 - 119 646 719 - 28 190 336 - 890 301 712 - 11 657 782 - 885 465 361 - 424 669 645 - 528 654 194 - 894 252 667 - 516 299 998 - 370 837 976 - 305 651 194 - 701 447 175 - 470 234 929 - 752 606 965 - 568 370 322 - 226 592 281 - 553 801 330 - 576 228 623 - 639 477 637 - 252 664 998 - 781 215 994 - 446 698 25 - 562 500 980 - 702 444 299 - 971 550 387 - 754 562 439 - 347 896 716 - 242 861 596 - 588 829 323 - 464 211 949 - 481 192 47 - 598 98 963 - 932 960 32 - 933 482 893 - 15 989 888 - 866 735 629 - 636 513 470 - 280 528 944 - 531 66 867 - 284 735 865 - 778 743 3 - 458 131 262 - 772 273 255 - 942 278 50 - 269 151 917 - 502 4 883 - 538 155 68 - 929 850 21 - 126 759 729 - 869 689 711 - 180 359 855 - 299 68 975 - 210 371 205 - 477 183 827 - 922 50 841 - 665 154 312 - 379 848 486 - 450 835 743 - 69 161 515 - 680 535 83 - 692 779 352 - 818 554 389 - 781 89 538 - 746 218 209 - 292 201 652 - 417 375 393 - 916 962 644 - 518 923 561 - 915 469 386 - 142 460 454 - 947 392 89 - 144 840 866 - 205 465 967 - 209 657 650 - 891 322 207 - 800 522 907 - 516 498 994 - 185 806 804 - 179 393 137 - 316 765 892 - 850 756 123 - 494 783 627 - 832 53 659 - 93 949 602 - 666 954 516 - 592 11 210 - 223 4 389 - 221 280 388 - 100 279 50 - 380 589 345 - 385 238 382 - 205 506 359 - 98 280 652 - 396 371 290 - 314 477 454 - 368 692 564 - 48 263 586 - 356 902 922 \ No newline at end of file diff --git a/adventofcode16/data/advent04.txt b/adventofcode16/data/advent04.txt deleted file mode 100644 index 8f99f7a..0000000 --- a/adventofcode16/data/advent04.txt +++ /dev/null @@ -1,991 +0,0 @@ -aczupnetwp-dnlgpyrpc-sfye-dstaatyr-561[patyc] -jsehsyafy-vqw-ljsafafy-866[nymla] -tyepcyletzylw-ncjzrpytn-prr-opawzjxpye-743[cnrdl] -foadouwbu-qvcqczohs-obozmgwg-662[lamjh] -ckgvutofkj-pkrrehkgt-zkinturume-436[krtue] -pelbtravp-pnaql-ernpdhvfvgvba-481[szram] -yflexwxoalrp-ciltbo-tlohpelm-887[bmwep] -ipvohghykvbz-ihzrla-jbzavtly-zlycpjl-253[lzhvy] -cybyjqho-whqtu-rqiauj-fkhsxqiydw-322[syzwi] -tipfxvezt-sleep-tljkfdvi-jvimztv-425[tveif] -ktiaaqnqml-xtiabqk-oziaa-xczkpiaqvo-616[aiqko] -ckgvutofkj-xghhoz-gtgreyoy-306[nyhpz] -molgbzqfib-zovldbkfz-zxkav-lmboxqflkp-341[xlomg] -ikhcxvmbex-vtgwr-vhtmbgz-mxvaghehzr-111[hvgmx] -dpssptjwf-fhh-tfswjdft-805[fstdh] -oaddaeuhq-otaoaxmfq-qzsuzqqduzs-534[qadou] -dzczkrip-xiruv-sleep-drerxvdvek-685[erdvi] -jvsvymbs-yhiipa-vwlyhapvuz-149[zfyqn] -nsyjwsfyntsfq-gfxpjy-jslnsjjwnsl-853[sjnfy] -mbiyqoxsm-lsyrkjkbnyec-nio-wkbuodsxq-614[bkosy] -jchipqat-uadltg-hidgpvt-375[kcnop] -jqwpihizlwca-lgm-nqvivkqvo-980[ldeay] -xfbqpojafe-dipdpmbuf-tfswjdft-493[fdpbj] -kwvacumz-ozilm-kpwkwtibm-lmxtwgumvb-798[mwkbi] -eqttqukxg-ejqeqncvg-ocpcigogpv-648[sdtzl] -dsxxw-bwc-bcnjmwkclr-678[cwbxd] -jvuzbtly-nyhkl-ibuuf-thuhnltlua-175[ulhtb] -rdadguja-uadltg-bpgztixcv-401[adgtu] -atyzghrk-kmm-ktmotkkxotm-930[xzfpe] -uwtojhynqj-ojqqdgjfs-xjwanhjx-151[waqmk] -hwdtljsnh-uqfxynh-lwfxx-rfsfljrjsy-567[fhjls] -xst-wigvix-gspsvjyp-gerhc-erepcwmw-724[uplfw] -kzgwomvqk-jcvvg-zmamizkp-122[kmvzg] -sbejpbdujwf-dboez-dpbujoh-dvtupnfs-tfswjdf-623[uxrpz] -bxaxipgn-vgpst-rwdrdapit-prfjxhxixdc-609[xpdir] -avw-zljyla-zjhclunly-obua-ayhpupun-981[aluyh] -nuatmlmdpage-qss-fdmuzuzs-404[btopv] -oaddaeuhq-otaoaxmfq-dqoquhuzs-716[aoqdu] -myvybpev-cmkfoxqob-rexd-bomosfsxq-432[khwfc] -oxaflxzqfsb-zelzlixqb-jxohbqfkd-471[hxkwc] -fnjyxwrinm-snuuhknjw-anbnjalq-875[ztvnr] -qfmcusbwq-pibbm-fsqswjwbu-922[bqswf] -wihmogyl-aluxy-jfumncw-alumm-nluchcha-916[lmuac] -oxaflxzqfsb-avb-bkdfkbbofkd-757[trzjy] -ksodcbwnsr-qzoggwtwsr-gqojsbusf-vibh-fsgsofqv-818[gsdca] -rzvkjiduzy-xcjxjgvoz-gvwjmvojmt-161[zufvq] -nwlddtqtpo-mldvpe-dezclrp-639[zlnki] -vkppo-rqiauj-huqsgkyiyjyed-530[yijkp] -dfcxsqhwzs-qobrm-qcohwbu-fsoqeiwgwhwcb-688[wqbch] -vxupkizork-xghhoz-aykx-zkyzotm-462[kzoxh] -zotts-jfumncw-alumm-omyl-nymncha-396[bstha] -yaxsnlcrun-npp-cajrwrwp-355[nprac] -bkwzkqsxq-pvygob-nozkbdwoxd-822[bkodq] -frqvxphu-judgh-fdqgb-frdwlqj-hqjlqhhulqj-595[ezyxq] -hqtyeqsjylu-sqdto-sedjqydcudj-764[dqjsy] -fab-eqodqf-omzpk-fdmuzuzs-430[yxkbc] -gpewwmjmih-glsgspexi-xvemrmrk-204[cynzd] -kwtwznct-jcvvg-wxmzibqwva-694[cdaps] -guahyncw-wuhxs-zchuhwcha-396[xwnmj] -pybgmyargtc-zsllw-dglylagle-912[mcrsp] -kyelcrga-zyqicr-jyzmpyrmpw-782[yrcmp] -wsvsdkbi-qbkno-zvkcdsm-qbkcc-myxdksxwoxd-432[kdsbc] -ltpedcxots-rwdrdapit-advxhixrh-271[drtxa] -elrkdcdugrxv-sodvwlf-judvv-vklsslqj-465[vdlsj] -htwwtxnaj-hfsid-htfynsl-ywfnsnsl-281[ghfea] -nij-mywlyn-xsy-xymcah-682[kiasm] -zovldbkfz-yrkkv-abmilvjbkq-939[chetn] -esyfwlau-kusnwfywj-zmfl-ghwjslagfk-398[fwlsa] -lahxpnwrl-yujbcrl-pajbb-mnyuxhvnwc-147[tzcxk] -rwcnawjcrxwju-lqxlxujcn-lxwcjrwvnwc-381[hxsdl] -pbybeshy-pynffvsvrq-wryylorna-jbexfubc-143[ybfre] -lxaaxbren-kdwwh-bqryyrwp-407[sktqh] -pybgmyargtc-zyqicr-rpyglgle-106[vsdft] -jfifqxov-doxab-yxphbq-obxznrfpfqflk-939[nyvhm] -pualyuhapvuhs-jovjvshal-thuhnltlua-383[lrfob] -gvcskirmg-tpewxmg-kveww-pskmwxmgw-438[ujily] -lgh-kwujwl-tmffq-esfsywewfl-242[fwles] -jyddc-fewoix-hitevxqirx-412[ixdec] -uzfqdzmfuazmx-otaoaxmfq-ogefayqd-eqdhuoq-222[lbfru] -ryexqpqhteki-sxesebqju-tufbeocudj-348[tjzhb] -kfg-jvtivk-sleep-wzeretzex-477[ektvz] -kzgwomvqk-jcvvg-bmkpvwtwog-174[vgkwm] -odiih-kdwwh-uxprbcrlb-251[bdhir] -htqtwkzq-xhfajsljw-mzsy-yjhmstqtld-229[thjqs] -qjopwxha-xwogap-owhao-914[astye] -wrs-vhfuhw-edvnhw-hqjlqhhulqj-439[vufmz] -rdggdhxkt-xcitgcpixdcpa-rpcsn-rdpixcv-stktadebtci-609[cdtip] -eqttqukxg-fag-eqpvckpogpv-544[jmtpx] -kdijqrbu-sqdto-seqjydw-iuhlysui-946[bioht] -fydelmwp-awldetn-rcldd-cplnbftdtetzy-951[kpxim] -ubhatstkwhnl-unggr-nlxk-mxlmbgz-761[geyqm] -ocipgvke-gii-fgxgnqrogpv-726[giopv] -fab-eqodqf-otaoaxmfq-iadwetab-430[azmnb] -fab-eqodqf-otaoaxmfq-pqhqxabyqzf-456[qafob] -xekdwvwnzkqo-zua-naoawnyd-784[anwdk] -sbejpbdujwf-fhh-tbmft-285[mbfsn] -hwbba-eqpuwogt-itcfg-rncuvke-itcuu-ugtxkegu-648[ugtce] -hqcfqwydw-fbqijys-whqii-cqdqwucudj-452[ztesw] -dmpuamofuhq-nmewqf-emxqe-742[meqfu] -iqmbazulqp-pkq-iadwetab-976[kcxmz] -lahxpnwrl-ljwmh-lxjcrwp-bnaerlnb-927[lnrwa] -laffe-lruckx-vaxingyotm-306[aflxc] -forwcoqhwjs-qcffcgwjs-tzcksf-rsdzcmasbh-220[csfwh] -yflexwxoalrp-gbiivybxk-abpfdk-731[sjtrd] -foadouwbu-ibghopzs-pogysh-kcfygvcd-506[ogbcd] -rtqlgevkng-hnqygt-ugtxkegu-232[zdgob] -yrwxefpi-fyrrc-asvowlst-880[jmzfi] -tyepcyletzylw-nlyoj-nzletyr-fdpc-epdetyr-795[jfvnq] -rkpqxyib-yxphbq-lmboxqflkp-627[vzmla] -xjinphzm-bmvyz-hvbizodx-ytz-gjbdnodxn-967[jmuws] -ktfitzbgz-vtgwr-inkvatlbgz-813[tgzbi] -hqtyeqsjylu-sbqiiyvyut-fbqijys-whqii-vydqdsydw-634[yqisd] -hcd-gsqfsh-dzoghwq-ufogg-qcbhowbasbh-506[hgboq] -ryexqpqhteki-uww-qdqboiyi-140[qiewy] -bkzrrhehdc-qzaahs-cdoknxldms-625[czsmn] -sawlkjevaz-lhwopey-cnwoo-yqopkian-oanreya-966[znhlt] -xjgjmapg-hdgdovmt-bmvyz-zbb-yzkgjthzio-577[gzbjm] -myxcewob-qbkno-lexxi-wkbuodsxq-250[xboek] -nsyjwsfyntsfq-hfsid-htfynsl-wjfhvznxnynts-255[umtns] -kpvgtpcvkqpcn-ecpfa-ewuvqogt-ugtxkeg-596[ehsca] -vkrhzxgbv-cxeeruxtg-ftgtzxfxgm-579[ymast] -pbeebfvir-fpniratre-uhag-genvavat-663[smznt] -vehmsegxmzi-glsgspexi-hitpscqirx-802[jszht] -tyepcyletzylw-nlyoj-nzletyr-cpdplcns-223[lycen] -jxdkbqfz-oxaflxzqfsb-avb-lmboxqflkp-523[mzvny] -tcfkqcevkxg-tcddkv-uvqtcig-336[cdsln] -ide-htrgti-hrpktcvtg-wjci-ldgzhwde-947[tdghi] -ojk-nzxmzo-kgvnodx-bmvnn-ozxcijgjbt-213[nojxz] -avw-zljyla-msvdly-yljlpcpun-539[lyajp] -rdchjbtg-vgpst-rpcsn-rdpixcv-htgkxrth-661[rtcgh] -xlrypetn-dnlgpyrpc-sfye-dezclrp-353[pelry] -enqvbnpgvir-enoovg-erfrnepu-455[ftlpj] -xjinphzm-bmvyz-xviyt-xjvodib-pnzm-oznodib-291[mlybz] -rwcnawjcrxwju-kjbtnc-bqryyrwp-511[tkyns] -gokzyxsjon-pvygob-nofovyzwoxd-458[ndtfs] -bjfutsneji-hfsid-htfynsl-rfwpjynsl-489[fsjnh] -ydjuhdqjyedqb-rqiauj-qdqboiyi-452[qdijy] -enzcntvat-rtt-genvavat-351[lznyt] -rdadguja-qjccn-advxhixrh-791[yncim] -fmsledevhsyw-ikk-irkmriivmrk-646[nlxzm] -jfifqxov-doxab-mixpqfz-doxpp-obpbxoze-471[oxpbf] -jqwpihizlwca-zijjqb-aitma-408[gzpmw] -pyknyegle-afmamjyrc-bcqgel-808[gynip] -zbytomdsvo-mkxni-bocokbmr-406[obmkc] -wfummczcyx-luvvcn-fuvilunils-526[bavmt] -hwdtljsnh-gfxpjy-rfsfljrjsy-541[gpszy] -lsyrkjkbnyec-oqq-gybucryz-848[ybckq] -oaddaeuhq-vqxxknqmz-xasuefuoe-378[rzmqe] -vhglnfxk-zktwx-fbebmtkr-zktwx-wrx-vhgmtbgfxgm-813[xepwt] -yrwxefpi-gerhc-hitevxqirx-594[eirxh] -mvydjvxodqz-xviyt-xjvodib-rjmfncjk-265[cqirj] -kdijqrbu-tou-kiuh-juijydw-140[uijdk] -ugjjgkanw-usfvq-vwkayf-970[rntsw] -froruixo-fdqgb-ilqdqflqj-569[cylni] -gpsxdprixkt-hrpktcvtg-wjci-gtprfjxhxixdc-999[xptcg] -kwvacumz-ozilm-akidmvomz-pcvb-nqvivkqvo-460[emnrk] -pejji-zvkcdsm-qbkcc-domrxyvyqi-484[cdijk] -rdadguja-xcitgcpixdcpa-qphzti-bpgztixcv-791[cipad] -rkpqxyib-zxkav-zlxqfkd-qoxfkfkd-965[qiftn] -bkzrrhehdc-bnmrtldq-fqzcd-atmmx-qdrdzqbg-937[dqrbm] -eqttqukxg-rtqlgevkng-dwppa-fgxgnqrogpv-570[gxetc] -zbytomdsvo-mkxni-myxdksxwoxd-510[xdmok] -ymszqfuo-rxaiqd-dqmocgueufuaz-274[umtwy] -pelbtravp-ovbunmneqbhf-qlr-znantrzrag-663[xlyio] -rdadguja-ytaanqtpc-gtprfjxhxixdc-141[krcaf] -etaqigpke-hnqygt-eqpvckpogpv-362[pegqk] -rtqlgevkng-etaqigpke-ecpfa-eqcvkpi-ewuvqogt-ugtxkeg-206[gxszf] -fubrjhqlf-fkrfrodwh-sxufkdvlqj-777[pozts] -wfintfhynaj-wfggny-xjwanhjx-957[nfjwa] -xcitgcpixdcpa-bpvctixr-qphzti-gthtpgrw-479[zjlmc] -gntmfefwitzx-hfsid-fsfqdxnx-697[oanif] -xgjougizobk-jek-jkvgxzsktz-384[kgjzo] -nzydfxpc-rclop-mldvpe-cpdplcns-925[pcdln] -ltpedcxots-qphzti-gtrtxkxcv-739[txcpd] -gvaaz-fhh-mphjtujdt-233[hajtd] -jchipqat-rpcsn-gtprfjxhxixdc-297[cpxhi] -gsvvswmzi-gerhc-tyvglewmrk-308[zbdcy] -dmybmsuzs-omzpk-oamfuzs-pqhqxabyqzf-508[mzqsa] -iruzfrtkzmv-treup-tfrkzex-jkfirxv-295[rfktz] -pdjqhwlf-mhoobehdq-vwrudjh-127[hdjoq] -rgndvtcxr-hrpktcvtg-wjci-apqdgpidgn-375[jdrhb] -sbqiiyvyut-isqludwuh-xkdj-efuhqjyedi-114[qjzpn] -lahxpnwrl-npp-nwprwnnarwp-459[ontmq] -zntargvp-onfxrg-fnyrf-871[fnrga] -molgbzqfib-avb-absbilmjbkq-601[bailm] -kpvgtpcvkqpcn-tcddkv-wugt-vguvkpi-492[vkpcg] -jfifqxov-doxab-zxkav-zlkqxfkjbkq-341[kxfqa] -qfmcusbwq-dzoghwq-ufogg-fsqswjwbu-220[zbjty] -xjinphzm-bmvyz-mvwwdo-yzkgjthzio-785[zmhij] -ejpanjwpekjwh-ydkykhwpa-owhao-186[hqlfd] -nzydfxpc-rclop-prr-cplnbftdtetzy-483[pcrtd] -kwtwznct-rmttgjmiv-amzdqkma-590[mtakw] -muqfedyput-fbqijys-whqii-iqbui-790[gjxky] -egdytrixat-rgndvtcxr-rpcsn-jhtg-ithixcv-115[trcgi] -fab-eqodqf-rxaiqd-mzmxkeue-404[eqadf] -zotts-xsy-guleyncha-708[ymnbi] -mbiyqoxsm-pvygob-gybucryz-536[zbyxv] -dmybmsuzs-bxmefuo-sdmee-pqhqxabyqzf-716[mbeqs] -qspkfdujmf-ezf-fohjoffsjoh-519[fjohs] -nwlddtqtpo-prr-xlcvpetyr-249[owkmz] -amlqskcp-epybc-aylbw-amyrgle-bctcjmnkclr-808[clabm] -qspkfdujmf-qmbtujd-hsbtt-eftjho-727[tigys] -pualyuhapvuhs-thnulapj-msvdly-ylzlhyjo-877[lhuya] -diozmivodjivg-zbb-nzmqdxzn-629[zdibm] -yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-qerekiqirx-126[erixk] -qlm-pbzobq-zxkav-zlxqfkd-zrpqljbo-pbosfzb-575[phqza] -irgyyolokj-lruckx-aykx-zkyzotm-904[ubkvy] -cebwrpgvyr-pnaql-pbngvat-bcrengvbaf-793[bagnp] -wlsiayhcw-wifilzof-wuhxs-mylpcwym-630[wilyc] -nglmtuex-ktuubm-nlxk-mxlmbgz-215[egtsz] -sbejpbdujwf-dboez-nbobhfnfou-883[jpkmo] -qzoggwtwsr-qobrm-gsfjwqsg-480[xkwvm] -nwzekwypera-oywrajcan-dqjp-wymqeoepekj-472[zeydw] -sawlkjevaz-ywjzu-yqopkian-oanreya-836[ayejk] -pybgmyargtc-afmamjyrc-rpyglgle-470[zgmsu] -nzwzcqfw-qwzhpc-cplnbftdtetzy-977[zctwf] -lhkhszqx-fqzcd-okzrshb-fqzrr-cdudknoldms-651[defrs] -ugfkmewj-yjsvw-owshgfarwv-tskcwl-wfyafwwjafy-294[wfajs] -gpbepvxcv-gpqqxi-stktadebtci-609[npyad] -pxtihgbsxw-vahvhetmx-hixktmbhgl-397[pvcfe] -guahyncw-vohhs-fiacmncwm-656[chamn] -wfruflnsl-uqfxynh-lwfxx-wjfhvznxnynts-463[fnxlw] -lzfmdshb-cxd-dmfhmddqhmf-703[dmfhb] -gzefmnxq-eomhqzsqd-tgzf-oazfmuzyqzf-118[zfqme] -udskkaxawv-usfvq-ugslafy-hmjuzskafy-658[asufk] -ugjjgkanw-vqw-ksdwk-112[kwgja] -enqvbnpgvir-cynfgvp-tenff-fuvccvat-975[vfnce] -fydelmwp-ojp-nfdezxpc-dpcgtnp-353[gziom] -fmsledevhsyw-gpewwmjmih-glsgspexi-tyvglewmrk-178[egmsw] -shmml-enoovg-freivprf-585[efmor] -bnqqnrhud-atmmx-qdrdzqbg-651[qdbmn] -pxtihgbsxw-vahvhetmx-nlxk-mxlmbgz-943[xhmbg] -xfbqpojafe-dipdpmbuf-tbmft-441[wuizc] -zsxyfgqj-uqfxynh-lwfxx-ijxnls-749[futrq] -oaddaeuhq-nmewqf-dqmocgueufuaz-508[mwlcv] -buzahisl-zjhclunly-obua-zavyhnl-201[kzylj] -yhwooebeaz-iwcjapey-oywrajcan-dqjp-zaoecj-524[aejoc] -bwx-amkzmb-qvbmzvibqwvit-lgm-zmikycqaqbqwv-772[dubva] -oxmeeuruqp-ngzzk-fqotzaxask-638[zaeko] -xfbqpojafe-qmbtujd-hsbtt-efwfmpqnfou-363[fbqte] -iehepwnu-cnwza-xqjju-nayaerejc-472[eajnc] -ytu-xjhwjy-jll-ijxnls-385[moyjn] -nvrgfezqvu-treup-tfrkzex-wzeretzex-997[fpvnt] -kwvacumz-ozilm-moo-camz-bmabqvo-434[sanvt] -lxaaxbren-ouxfna-bjunb-277[abnxu] -gpsxdprixkt-uadltg-tcvxcttgxcv-453[txcgd] -owshgfarwv-jsttal-hmjuzskafy-658[asfhj] -pbafhzre-tenqr-qlr-ynobengbel-403[ebnrl] -yaxsnlcrun-mhn-jlzdrbrcrxw-121[wngsc] -bgmxkgtmbhgte-vtgwr-vhtmbgz-tgterlbl-995[gtbme] -nvrgfezqvu-avccpsvre-tljkfdvi-jvimztv-269[vcefi] -apwmeclga-pyzzgr-dglylagle-158[auvsi] -qczcftiz-pogysh-rsgwub-350[kcdvs] -qlm-pbzobq-gbiivybxk-abpfdk-211[bikpq] -crwwv-rkpqxyib-yrkkv-cfkxkzfkd-419[krcfv] -sbnqbhjoh-cbtlfu-tupsbhf-285[bhfst] -qlm-pbzobq-avb-bkdfkbbofkd-159[golnc] -nchhg-jiasmb-lmaqov-902[dpmcw] -tagzsrsjvgmk-jsttal-umklgewj-kwjnauw-944[fsqml] -rkpqxyib-yxphbq-jxkxdbjbkq-601[npbtf] -ujqgywfau-tmffq-hmjuzskafy-736[zmnlk] -ujqgywfau-hdsklau-yjskk-umklgewj-kwjnauw-190[kujwa] -uqtqbizg-ozilm-jcvvg-lmxizbumvb-850[mhanw] -yhtwhnpun-ihzrla-klclsvwtlua-591[lkqzn] -sbqiiyvyut-sqdto-seqjydw-sedjqydcudj-738[warvn] -bwx-amkzmb-uqtqbizg-ozilm-moo-kwvbiqvumvb-746[wystg] -tipfxvezt-vxx-cfxzjkztj-555[xtzfj] -cjpibabsepvt-cvooz-sftfbsdi-571[myqsb] -ymszqfuo-fab-eqodqf-pkq-xmnadmfadk-274[tkbds] -wlqqp-treup-tfrkzex-jkfirxv-581[refkp] -lnkfaypeha-fahhuxawj-wjwhuoeo-550[ahwef] -lsyrkjkbnyec-oqq-ckvoc-874[azsyv] -gvcskirmg-fewoix-wlmttmrk-360[mgikr] -irdgrxzex-tipfxvezt-treup-tfrkzex-cfxzjkztj-607[txzer] -avw-zljyla-zjhclunly-obua-yljlpcpun-617[lajuy] -nwzekwypera-lhwopey-cnwoo-hkceopeyo-134[zulqp] -vkppo-sqdto-seqjydw-jhqydydw-114[dqyjo] -zixppfcfba-zxkav-zlkqxfkjbkq-679[txhzn] -sbnqbhjoh-dboez-sftfbsdi-623[bsdfh] -qjopwxha-bhksan-zalhkuiajp-316[ahjkp] -yhtwhnpun-thnulapj-ibuuf-klzpnu-773[unhpl] -uwtojhynqj-kqtbjw-wjfhvznxnynts-827[ntyqj] -jef-iushuj-rkddo-ijehqwu-504[biekf] -gspsvjyp-tpewxmg-kveww-gywxsqiv-wivzmgi-672[sryce] -rgllk-eomhqzsqd-tgzf-etubbuzs-118[zbegl] -shmml-pubpbyngr-ynobengbel-403[bnegl] -gsrwyqiv-kvehi-fewoix-wivzmgiw-256[rimyz] -iuxxuyobk-yigbktmkx-natz-xkykgxin-852[kxiyb] -excdklvo-oqq-vklybkdybi-744[utifh] -ojk-nzxmzo-agjrzm-xpnojhzm-nzmqdxz-915[zmjno] -qspkfdujmf-sbccju-eftjho-103[byjhc] -fodvvlilhg-mhoobehdq-whfkqrorjb-699[taskb] -aflwjfslagfsd-usfvq-ogjckzgh-814[emsnh] -sebehvkb-uww-tulubefcudj-712[ubewc] -egdytrixat-gpbepvxcv-hrpktcvtg-wjci-hidgpvt-531[vzdcg] -nsyjwsfyntsfq-zsxyfgqj-gzssd-wjxjfwhm-749[sgmhv] -ktfitzbgz-yehpxk-kxvxbobgz-761[ryzea] -tcrjjzwzvu-irsszk-rthlzjzkzfe-503[ocepg] -dfcxsqhwzs-pibbm-sbuwbssfwbu-558[tocys] -nwzekwypera-bhksan-odellejc-758[eakln] -qfmcusbwq-qobrm-qcohwbu-fsoqeiwgwhwcb-402[cpzsy] -cvabijtm-zijjqb-uizsmbqvo-434[btzma] -irdgrxzex-srjbvk-glityrjzex-867[rxegi] -rdadguja-tvv-gtrtxkxcv-609[tvadg] -wdjcvuvmyjpn-zbb-mznzvmxc-213[ndmaz] -vagreangvbany-sybjre-nanylfvf-507[bryme] -vjpwncrl-mhn-bqryyrwp-979[rnpwy] -jqwpihizlwca-ntwemz-abwziom-642[iyzsa] -jchipqat-rwdrdapit-detgpixdch-921[dipta] -vqr-ugetgv-tcddkv-eqpvckpogpv-440[vgpcd] -ajyqqgdgcb-aylbw-amyrgle-qyjcq-756[qyagb] -fbebmtkr-zktwx-utldxm-nlxk-mxlmbgz-553[onbvf] -hwdtljsnh-kqtbjw-ijajqturjsy-827[jthqs] -sedikcuh-whqtu-sxesebqju-udwyduuhydw-556[rvudf] -ipvohghykvbz-tpspahyf-nyhkl-yhiipa-huhsfzpz-123[hpyiz] -fubrjhqlf-mhoobehdq-oderudwrub-153[bdhor] -mbggf-zjhclunly-obua-dvyrzovw-695[bglou] -houngfgxjuay-igtje-aykx-zkyzotm-176[qcita] -lugjuacha-mwupyhayl-bohn-xyjulngyhn-318[gnftc] -rdggdhxkt-rpcsn-rdpixcv-itrwcdadvn-505[uancd] -yaxsnlcrun-ouxfna-jwjuhbrb-199[xnmwj] -yrwxefpi-tpewxmg-kveww-wlmttmrk-334[rfqkl] -ktwbhtvmbox-unggr-kxtvjnblbmbhg-215[bgthk] -amlqskcp-epybc-bwc-pcyaosgqgrgml-600[cgpab] -ujqgywfau-usfvq-ugslafy-jwuwanafy-606[uafwy] -nwzekwypera-lhwopey-cnwoo-lqnydwoejc-134[xithv] -nwzekwypera-acc-naoawnyd-160[itvch] -luxciuwncpy-ohmnuvfy-yaa-wihnuchgyhn-526[hnuyc] -ygcrqpkbgf-ejqeqncvg-tgegkxkpi-674[gekqc] -mtzslklcozfd-qwzhpc-nfdezxpc-dpcgtnp-223[ucwob] -tinnm-tzcksf-zcuwghwqg-948[nmktj] -rdchjbtg-vgpst-hrpktcvtg-wjci-itrwcdadvn-453[ngtzh] -yrwxefpi-nippcfier-hizipstqirx-932[ipref] -cvabijtm-xtiabqk-oziaa-kcabwumz-amzdqkm-590[mpqzo] -dpmpsgvm-dipdpmbuf-efqmpznfou-259[pmdfu] -ynukcajey-nwxxep-zarahkliajp-238[ytaej] -zbytomdsvo-mkxni-mykdsxq-nocsqx-770[mosxd] -tagzsrsjvgmk-xdgowj-jwuwanafy-814[efhpk] -xqvwdeoh-fdqgb-rshudwlrqv-127[jpkat] -kpvgtpcvkqpcn-fag-qrgtcvkqpu-596[pcgkq] -zlkprjbo-doxab-gbiivybxk-obpbxoze-393[boxik] -zbytomdsvo-mrymyvkdo-domrxyvyqi-744[ymodv] -jvuzbtly-nyhkl-qlssfilhu-klwhyatlua-695[lhuya] -nzydfxpc-rclop-nsznzwlep-xlylrpxpye-145[plnxy] -atyzghrk-xghhoz-rghuxgzuxe-748[ghxzr] -vhglnfxk-zktwx-ietlmbv-zktll-ftkdxmbgz-787[wbspa] -njmjubsz-hsbef-dipdpmbuf-vtfs-uftujoh-623[fubjs] -pyknyegle-aylbw-jmegqrgaq-756[egyal] -bgmxkgtmbhgte-lvtoxgzxk-angm-vhgmtbgfxgm-137[gmtxb] -ydjuhdqjyedqb-vbemuh-jusxdebewo-946[debju] -jxdkbqfz-zxkav-zlxqfkd-mrozexpfkd-263[kxzdf] -nbhofujd-dipdpmbuf-pqfsbujpot-597[pbdfu] -wrs-vhfuhw-fdqgb-vklsslqj-647[sfhlq] -vkrhzxgbv-vtgwr-ehzblmbvl-449[knuzb] -gsrwyqiv-kvehi-fyrrc-pefsvexsvc-750[versc] -hqcfqwydw-vbemuh-ixyffydw-270[fwydh] -vetllbybxw-vkrhzxgbv-lvtoxgzxk-angm-ybgtgvbgz-527[jxrwq] -bkzrrhehdc-eknvdq-cdrhfm-365[dhrce] -cybyjqho-whqtu-rkddo-qsgkyiyjyed-530[ydqhj] -ckgvutofkj-hatte-ynovvotm-332[tovka] -sawlkjevaz-zua-iwngapejc-758[jzwql] -mvhkvbdib-kgvnodx-bmvnn-gjbdnodxn-551[bmkyo] -enzcntvat-fpniratre-uhag-grpuabybtl-689[sqkoh] -bqvvu-acc-oanreyao-108[acovb] -tyepcyletzylw-nlyoj-nzletyr-nfdezxpc-dpcgtnp-275[yelnp] -fbebmtkr-zktwx-lvtoxgzxk-angm-kxlxtkva-839[kxtab] -ojk-nzxmzo-wvnfzo-vivgtndn-707[mlndw] -tpspahyf-nyhkl-qlssfilhu-klwsvftlua-487[iewds] -shoewudys-isqludwuh-xkdj-husuylydw-868[tlyhz] -qzoggwtwsr-qobrm-oqeiwgwhwcb-116[wgoqb] -zlkprjbo-doxab-yxphbq-pxibp-237[ocanz] -iruzfrtkzmv-avccpsvre-vexzevvizex-893[nyktl] -hqtyeqsjylu-hqrryj-tulubefcudj-894[ujqye] -zlkprjbo-doxab-fkqbokxqflkxi-mixpqfz-doxpp-xznrfpfqflk-523[fxkpo] -dpmpsgvm-sbccju-dvtupnfs-tfswjdf-129[neysa] -qcbgiasf-ufors-dzoghwq-ufogg-zopcfohcfm-246[yhmkz] -esyfwlau-ugjjgkanw-usfvq-kzahhafy-242[wnzhb] -mbiyqoxsm-lkcuod-nozkbdwoxd-432[odbkm] -usfvq-ugslafy-vwhdgqewfl-632[fglqs] -gokzyxsjon-zvkcdsm-qbkcc-oxqsxoobsxq-484[xrkfl] -hdgdovmt-bmvyz-wvnfzo-gjbdnodxn-395[bwicg] -sehheiylu-fhezusjybu-rkddo-udwyduuhydw-530[udhye] -glrcplyrgmlyj-aylbw-amyrgle-nspafyqgle-210[dmuny] -aflwjfslagfsd-jsttal-xafsfuafy-138[faslj] -yuxufmdk-sdmpq-iqmbazulqp-otaoaxmfq-pqbxakyqzf-586[qamfp] -jef-iushuj-sxesebqju-ixyffydw-270[iztnj] -zvyvgnel-tenqr-enzcntvat-ohaal-ratvarrevat-793[atven] -yuxufmdk-sdmpq-vqxxknqmz-ogefayqd-eqdhuoq-612[qdmux] -yhtwhnpun-kfl-ylhjxbpzpapvu-357[phlnu] -egdytrixat-qjccn-bpcpvtbtci-557[mtpgc] -wsvsdkbi-qbkno-mkxni-mykdsxq-ecob-docdsxq-120[dksbo] -xtwtelcj-rclop-ojp-dstaatyr-873[omnal] -wifilzof-jfumncw-alumm-xypyfijgyhn-318[evfso] -mvydjvxodqz-agjrzm-hvivbzhzio-655[vzdhi] -jsehsyafy-usfvq-ugslafy-jwuwanafy-840[afsyu] -myxcewob-qbkno-nio-bocokbmr-900[obckm] -ipvohghykvbz-wshzapj-nyhzz-vwlyhapvuz-539[hzvpy] -tbxmlkfwba-pzxsbkdbo-erkq-zrpqljbo-pbosfzb-185[bkopz] -rdadguja-eaphixr-vgphh-itrwcdadvn-869[nfpxs] -lugjuacha-jfumncw-alumm-zchuhwcha-734[uachm] -jsehsyafy-jsttal-jwsuimakalagf-762[mnvlh] -zixppfcfba-yrkkv-absbilmjbkq-393[ihgyz] -bxaxipgn-vgpst-rdchjbtg-vgpst-rpcsn-rdpixcv-hpath-817[pgtch] -rtqlgevkng-ejqeqncvg-hkpcpekpi-154[xpgty] -laffe-hgyqkz-xkikobotm-488[kfoab] -jfifqxov-doxab-zxkav-zlxqfkd-qoxfkfkd-419[ubaro] -myxcewob-qbkno-cmkfoxqob-rexd-zebmrkcsxq-952[boxce] -apuut-wvnfzo-rjmfncjk-447[fjnua] -lejkrscv-tfcfiwlc-avccpsvre-fgvirkzfej-113[cfver] -nglmtuex-cxeeruxtg-kxvxbobgz-215[xegbt] -sgmtkzoi-kmm-xkgiwaoyozout-748[qrkst] -amppmqgtc-djmucp-rcaflmjmew-912[bcvna] -xst-wigvix-fyrrc-wepiw-438[ygref] -dzczkrip-xiruv-jtrmvexvi-ylek-fgvirkzfej-295[irvek] -diozmivodjivg-xviyt-xjvodib-zibdizzmdib-265[zmrey] -rgndvtcxr-ytaanqtpc-stepgibtci-661[tcagi] -xgsvgmotm-hgyqkz-jkyomt-358[ajyhb] -zloolpfsb-yxphbq-ixyloxqlov-393[loxbp] -zilqwikbqdm-jiasmb-uizsmbqvo-668[ibmqs] -rtqlgevkng-rncuvke-itcuu-ucngu-206[ucgne] -dmybmsuzs-yuxufmdk-sdmpq-eomhqzsqd-tgzf-iadwetab-482[nkqyl] -vetllbybxw-ktuubm-hixktmbhgl-345[ikqop] -bwx-amkzmb-jcvvg-ikycqaqbqwv-954[symcn] -ubhatstkwhnl-ynssr-lvtoxgzxk-angm-kxlxtkva-163[ktxal] -zlilocri-yxphbq-pefmmfkd-471[filmp] -yflexwxoalrp-zlkprjbo-doxab-zxkav-zlxqfkd-qoxfkfkd-419[xkflo] -oxaflxzqfsb-zelzlixqb-xznrfpfqflk-393[flxzq] -ixccb-vfdyhqjhu-kxqw-ghyhorsphqw-101[pzgst] -pybgmyargtc-qaytclecp-fslr-sqcp-rcqrgle-860[crglp] -zbytomdsvo-mkxni-kmaescsdsyx-562[smdko] -hwbba-dwppa-ocpcigogpv-570[pabcg] -eza-dpncpe-nlyoj-nzletyr-wlmzclezcj-171[elzcn] -tbxmlkfwba-mixpqfz-doxpp-zlkqxfkjbkq-159[kxbfp] -vetllbybxw-yehpxk-ehzblmbvl-657[blehv] -zuv-ykixkz-jek-lotgtiotm-852[ktioz] -fnjyxwrinm-mhn-mnyjacvnwc-277[zgpnw] -odiih-ljwmh-lxjcrwp-mnenuxyvnwc-615[nwchi] -wfummczcyx-wuhxs-qilembij-838[mciuw] -sno-rdbqds-bgnbnkzsd-bnmszhmldms-859[sbdnm] -nvrgfezqvu-gcrjkzt-xirjj-ivjvrity-555[ylfxv] -encuukhkgf-uecxgpigt-jwpv-ujkrrkpi-622[kugpc] -lnkfaypeha-xqjju-qoan-paopejc-446[ajpen] -kmjezxodgz-ytz-gvwjmvojmt-109[jmzgo] -ygcrqpkbgf-hnqygt-octmgvkpi-128[gckpq] -jxdkbqfz-mixpqfz-doxpp-tlohpelm-107[pxdfl] -xjgjmapg-xviyt-xjvodib-adivixdib-759[ixdjv] -laffe-jek-sgtgmksktz-644[vuenb] -pbafhzre-tenqr-enoovg-ratvarrevat-975[ymshj] -lqwhuqdwlrqdo-vfdyhqjhu-kxqw-uhvhdufk-959[kzlvy] -rflsjynh-jll-zxjw-yjxynsl-697[jlyns] -wrs-vhfuhw-sodvwlf-judvv-ghvljq-361[vhwdf] -ynssr-unggr-tvjnblbmbhg-163[bgnrs] -jyfvnlupj-jvsvymbs-yhiipa-zopwwpun-903[nrdma] -kzeed-hfsid-uzwhmfxnsl-515[uoyvx] -ide-htrgti-uadltg-gtprfjxhxixdc-375[tdgix] -sorozgxe-mxgjk-hatte-vaxingyotm-358[fwxei] -ydjuhdqjyedqb-fbqijys-whqii-jusxdebewo-582[nuzsj] -yknnkoera-xwogap-paydjkhkcu-498[kanop] -nzydfxpc-rclop-upwwjmply-opdtry-691[pycdl] -dlhwvupglk-jhukf-jvhapun-zlycpjlz-409[lhjpu] -kwvacumz-ozilm-moo-bmkpvwtwog-694[mowkv] -kmjezxodgz-wpiit-mzxzdqdib-863[anvbu] -xlrypetn-nsznzwlep-xlylrpxpye-587[znfwt] -pybgmyargtc-qaytclecp-fslr-umpiqfmn-600[nzvej] -etyyx-qzaahs-lzqjdshmf-781[ahqsy] -ovbunmneqbhf-wryylorna-znantrzrag-221[pnazx] -gzefmnxq-bxmefuo-sdmee-ymzmsqyqzf-352[lgvpu] -ixeumktoi-jek-jkbkruvsktz-488[mzeun] -dzczkrip-xiruv-avccpsvre-glityrjzex-321[eflmp] -wfruflnsl-hfsid-fhvznxnynts-307[fnshl] -vkppo-rkddo-iqbui-218[dikop] -muqfedyput-zubboruqd-mehaixef-452[inbaj] -ftzgxmbv-cxeeruxtg-nlxk-mxlmbgz-683[xgmbe] -htsxzrjw-lwfij-uqfxynh-lwfxx-hzxytrjw-xjwanhj-827[xjwhf] -qekrixmg-wgezirkiv-lyrx-tyvglewmrk-282[regik] -ktiaaqnqml-jiasmb-apqxxqvo-226[asvyf] -lejkrscv-irdgrxzex-srjbvk-kvtyefcfxp-165[rekvx] -hvbizodx-nxvqzibzm-cpio-hvmfzodib-291[izbov] -ltpedcxots-tvv-rjhidbtg-htgkxrt-297[tdghr] -dlhwvupglk-mbggf-jovjvshal-zlycpjlz-565[lgjvh] -xfbqpojafe-tdbwfohfs-ivou-sfbdrvjtjujpo-779[fjobd] -kmjezxodgz-xviyt-gvwjmvojmt-577[flhas] -jshzzpmplk-jhukf-jvhapun-vwlyhapvuz-669[hpjuv] -tfejldvi-xiruv-gcrjkzt-xirjj-drerxvdvek-295[dpsef] -zotts-yaa-lymyulwb-968[skymd] -rmn-qcapcr-zyqicr-umpiqfmn-704[cmqri] -xfbqpojafe-cbtlfu-qvsdibtjoh-727[bfjoq] -ykhknbqh-nwxxep-oanreyao-732[naehk] -raphhxuxts-hrpktcvtg-wjci-hidgpvt-921[hmzng] -yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-hizipstqirx-932[mdsza] -xjgjmapg-xviyt-vivgtndn-603[utnks] -cxy-bnlanc-mhn-vjwjpnvnwc-745[mtsvn] -ujoon-gpbepvxcv-eaphixr-vgphh-uxcpcrxcv-687[pcvxh] -ykjoqian-cnwza-iwcjapey-lhwopey-cnwoo-opknwca-264[owacn] -lnkfaypeha-oywrajcan-dqjp-zalwnpiajp-108[apjnl] -ktwbhtvmbox-yehpxk-mktbgbgz-293[cndif] -hqcfqwydw-cqwdujys-rqiauj-qsgkyiyjyed-738[qydjw] -amlqskcp-epybc-zyqicr-kylyeckclr-600[sdrzj] -bnmrtldq-fqzcd-rbzudmfdq-gtms-zbpthrhshnm-443[dmbhq] -nwlddtqtpo-nlyoj-nzletyr-epnsyzwzrj-379[tyrzv] -cvabijtm-kpwkwtibm-lmxtwgumvb-980[mbtwi] -amlqskcp-epybc-afmamjyrc-jyzmpyrmpw-574[mpyac] -aflwjfslagfsd-vqw-dstgjslgjq-424[sfgjl] -willimcpy-zfiqyl-xymcah-110[ilycm] -kpvgtpcvkqpcn-lgnnadgcp-ujkrrkpi-128[knmqz] -wyvqljapsl-buzahisl-ibuuf-lunpullypun-409[wyhza] -amlqskcp-epybc-pyzzgr-pcacgtgle-210[cpgae] -xtwtelcj-rclop-mldvpe-dstaatyr-821[nkabu] -pdjqhwlf-gbh-sxufkdvlqj-751[cdmbz] -wkqxodsm-zvkcdsm-qbkcc-ecob-docdsxq-432[cdkoq] -xjmmjndqz-wpiit-gjbdnodxn-811[djnim] -zlkprjbo-doxab-zelzlixqb-absbilmjbkq-939[blzai] -htqtwkzq-xhfajsljw-mzsy-ywfnsnsl-619[lfsnu] -zhdsrqlchg-mhoobehdq-xvhu-whvwlqj-361[hqdlo] -tcfkqcevkxg-tcorcikpi-ejqeqncvg-uvqtcig-544[lsyzm] -kwtwznct-kivlg-zmamizkp-824[ixjen] -bkzrrhehdc-qzaahs-rghoohmf-287[hraoz] -lxuxaodu-mhn-cajrwrwp-303[aruwx] -tcorcikpi-dcumgv-octmgvkpi-700[vygzd] -crwwv-zlkprjbo-doxab-yxphbq-bkdfkbbofkd-809[bkdof] -xgvnndadzy-xcjxjgvoz-ncdkkdib-447[dnxcg] -elrkdcdugrxv-fkrfrodwh-xvhu-whvwlqj-179[eubfs] -odkasqzuo-rxaiqd-eqdhuoqe-430[nlyts] -vhglnfxk-zktwx-xzz-xgzbgxxkbgz-917[xzgkb] -jyfvnlupj-wyvqljapsl-jovjvshal-zlycpjlz-357[jlvpy] -gpbepvxcv-eaphixr-vgphh-gtrtxkxcv-687[pvxgh] -jrncbavmrq-zntargvp-qlr-qrirybczrag-741[dnzpg] -hqfxxnknji-hfsid-knsfshnsl-307[wtfhe] -aietsrmdih-nippcfier-stivexmsrw-750[iersm] -glrcplyrgmlyj-pyzzgr-pcqcypaf-912[nkoyv] -ugfkmewj-yjsvw-hdsklau-yjskk-sfsdqkak-216[ksjad] -mhi-lxvkxm-vtgwr-kxtvjnblbmbhg-917[bmvxg] -tipfxvezt-irsszk-kvtyefcfxp-451[fteik] -jxdkbqfz-mixpqfz-doxpp-qoxfkfkd-939[fxdkp] -dsxxw-pyzzgr-qrmpyec-288[prxyz] -ejpanjwpekjwh-fahhuxawj-ajcejaanejc-394[jaehw] -pinovwgz-xgvnndadzy-xviyt-vxlpdndodji-109[dnvix] -szfyrqriuflj-upv-rercpjzj-243[jprqg] -dmbttjgjfe-gmpxfs-efqbsunfou-701[fbegj] -sgmtkzoi-inuiurgzk-ykxboiky-436[qlcfs] -slqryzjc-djmucp-ylyjwqgq-158[jqycl] -aflwjfslagfsd-vqw-hmjuzskafy-398[fasjl] -slqryzjc-djmucp-pcacgtgle-886[cgjlp] -qjopwxha-ywjzu-ajcejaanejc-420[zoehr] -amjmpdsj-njyqrga-epyqq-kylyeckclr-756[yksln] -zlkprjbo-doxab-zxkav-zlxqfkd-abpfdk-445[kabdx] -lhkhszqx-fqzcd-bgnbnkzsd-nodqzshnmr-989[nzdhq] -dlhwvupglk-ibuuf-klwhyatlua-591[dzktb] -dpotvnfs-hsbef-cbtlfu-ufdiopmphz-623[homsd] -ajvyjprwp-npp-mnbrpw-875[pjnrw] -lxwbdvna-pajmn-snuuhknjw-mnyuxhvnwc-251[nuwah] -vetllbybxw-lvtoxgzxk-angm-xgzbgxxkbgz-865[mknli] -aflwjfslagfsd-jsehsyafy-usfvq-vwkayf-268[fsayj] -xjgjmapg-agjrzm-gvwjmvojmt-291[jgmav] -plolwdub-judgh-iorzhu-dqdobvlv-465[dloub] -htqtwkzq-wfggny-fsfqdxnx-645[wsznf] -fkqbokxqflkxi-zxkav-zlxqfkd-jxohbqfkd-341[kxfqb] -oxjmxdfkd-avb-tlohpelm-653[dlmox] -xtwtelcj-rclop-nsznzwlep-epnsyzwzrj-873[zelnp] -rtqlgevkng-gii-ceswkukvkqp-466[kgeiq] -molgbzqfib-yrkkv-ixyloxqlov-237[lobik] -zbytomdsvo-mrymyvkdo-nocsqx-848[pahef] -szfyrqriuflj-treup-tfrkzex-ivtvzmzex-867[xejut] -upq-tfdsfu-kfmmzcfbo-mphjtujdt-909[fmtud] -ykhknbqh-lhwopey-cnwoo-bejwjyejc-342[hwxgn] -qfkkj-nsznzwlep-nzyeltyxpye-327[vkmwy] -excdklvo-zvkcdsm-qbkcc-psxkxmsxq-900[cvoiz] -dszphfojd-dboez-dpbujoh-xpsltipq-623[zbxem] -udpsdjlqj-iorzhu-ghsorbphqw-517[hdjop] -xcitgcpixdcpa-ide-htrgti-gpqqxi-gthtpgrw-609[gitpc] -cybyjqho-whqtu-uww-tuiywd-348[styfx] -yuxufmdk-sdmpq-nmewqf-oazfmuzyqzf-924[hfsly] -tfejldvi-xiruv-avccpsvre-crsfirkfip-997[rxygp] -wsvsdkbi-qbkno-oqq-wkxkqowoxd-822[koqwb] -qcbgiasf-ufors-tzcksf-sbuwbssfwbu-610[ivjsc] -vkrhzxgbv-wrx-lmhktzx-839[xhkrv] -xmrrq-bwddqtwsf-vwnwdghewfl-242[fpmoq] -kmjezxodgz-nxvqzibzm-cpio-gjbdnodxn-577[isocd] -iutyaskx-mxgjk-kmm-jkyomt-436[kmjtx] -ide-htrgti-snt-rjhidbtg-htgkxrt-531[tghir] -vkppo-uww-bqrehqjeho-764[xmntl] -bdavqofuxq-pkq-ymzmsqyqzf-196[qfmyz] -diozmivodjivg-hvbizodx-zbb-ozxcijgjbt-915[zueag] -cybyjqho-whqtu-hqrryj-bqrehqjeho-374[hqjry] -vcibutulxiom-vohhs-lywycpcha-630[owyks] -chnylhuncihuf-wuhxs-fiacmncwm-786[chnuf] -xekdwvwnzkqo-ywjzu-ykwpejc-wymqeoepekj-264[dmbln] -etyyx-cxd-vnqjrgno-391[hntfq] -pwcvonofrcig-dfcxsqhwzs-qobrm-qighcasf-gsfjwqs-194[scfqg] -xgvnndadzy-ezggtwzvi-nojmvbz-837[vnsth] -dszphfojd-qmbtujd-hsbtt-usbjojoh-467[rskch] -npmhcargjc-aylbw-amyrgle-yaosgqgrgml-886[galmr] -qczcftiz-gqojsbusf-vibh-twbobqwbu-350[bnsiu] -kwvacumz-ozilm-kzgwomvqk-xtiabqk-oziaa-twoqabqka-980[akoqz] -dsxxw-zyqicr-cleglccpgle-418[clegx] -jrncbavmrq-cynfgvp-tenff-ynobengbel-611[nbefc] -hqtyeqsjylu-fbqijys-whqii-tuiywd-322[mitks] -rnqnyfwd-lwfij-wfggny-xmnuunsl-697[tseia] -fhezusjybu-rqiauj-udwyduuhydw-868[ngyzs] -pkl-oaynap-ywjzu-ykwpejc-opknwca-628[pakwy] -nuatmlmdpage-vqxxknqmz-geqd-fqefuzs-508[romxa] -awzwhofm-ufors-qobrm-qcohwbu-hsqvbczcum-948[obchm] -dfcxsqhwzs-rms-fsgsofqv-766[sfqcd] -wlqqp-tyftfcrkv-rercpjzj-711[rcfjp] -clotzlnetgp-awldetn-rcldd-nzyeltyxpye-743[letdn] -lgh-kwujwl-hdsklau-yjskk-vwhsjlewfl-788[lkwhj] -uqtqbizg-ozilm-kivlg-kwibqvo-uizsmbqvo-512[iqbov] -vetllbybxw-lvtoxgzxk-angm-kxlxtkva-683[xlktv] -qyujihctyx-mwupyhayl-bohn-uwkocmcncih-760[chyui] -crwwv-zxkav-obzbfsfkd-237[bfkvw] -qczcftiz-pogysh-igsf-hsghwbu-610[tnjwm] -udpsdjlqj-gbh-hqjlqhhulqj-725[hjqld] -yuxufmdk-sdmpq-nmewqf-emxqe-326[meqdf] -molgbzqfib-ciltbo-ildfpqfzp-653[bfilo] -uwtojhynqj-gfxpjy-ywfnsnsl-151[jnyfs] -qvbmzvibqwvit-jiasmb-camz-bmabqvo-330[bmvai] -xmtjbzidx-xviyt-xjvodib-xpnojhzm-nzmqdxz-603[torgb] -ykjoqian-cnwza-fahhuxawj-qoan-paopejc-628[ajnoc] -gvcskirmg-veffmx-irkmriivmrk-906[imrkv] -njmjubsz-hsbef-dboez-dpbujoh-bdrvjtjujpo-649[astyb] -ovbunmneqbhf-pnaql-pbngvat-jbexfubc-845[yzqwm] -joufsobujpobm-kfmmzcfbo-usbjojoh-571[mkpnw] -lzfmdshb-cxd-lzmzfdldms-287[dlmzf] -froruixo-mhoobehdq-pdunhwlqj-439[ohdqr] -xcitgcpixdcpa-rpcsn-rdpixcv-bpcpvtbtci-193[cpitx] -dfcxsqhwzs-ksodcbwnsr-xszzmpsob-rsgwub-168[sbwzc] -iuruxlar-lruckx-sgtgmksktz-436[krugl] -nbhofujd-dboez-fohjoffsjoh-467[ofhjb] -pejji-tovvilokx-nozvyiwoxd-276[bzkve] -bxaxipgn-vgpst-rpcsn-rdpixcv-rjhidbtg-htgkxrt-583[upjyv] -bkzrrhehdc-bzmcx-bnzshmf-lzqjdshmf-443[hzbmc] -dpssptjwf-gmpxfs-mphjtujdt-571[pjstd] -pdjqhwlf-sodvwlf-judvv-orjlvwlfv-829[tuszv] -mfklstdw-tmffq-wfyafwwjafy-918[wmvan] -joufsobujpobm-ezf-gjobodjoh-779[xwadm] -hafgnoyr-gbc-frperg-rtt-grpuabybtl-481[jcgnd] -joufsobujpobm-fhh-tijqqjoh-233[johbf] -zuv-ykixkz-vrgyzoi-mxgyy-yzuxgmk-150[yzgkx] -ibghopzs-qvcqczohs-qighcasf-gsfjwqs-948[ubrmn] -qfmcusbwq-pwcvonofrcig-foppwh-fsgsofqv-584[focpq] -aczupnetwp-awldetn-rcldd-qtylyntyr-119[tdlny] -dpssptjwf-ezf-sfdfjwjoh-909[znfwy] -qxdwpopgsdjh-ytaanqtpc-pcpanhxh-297[pahcd] -ucynmlgxcb-aylbw-rpyglgle-626[lgybc] -oqnidbshkd-okzrshb-fqzrr-rdquhbdr-573[rdbhq] -frqvxphu-judgh-fdqgb-vhuylfhv-647[hfuvd] -vhehkyne-cxeeruxtg-hixktmbhgl-319[ehxgk] -gsrwyqiv-kvehi-gerhc-gsexmrk-vigimzmrk-412[girek] -ajmrxjlcren-yujbcrl-pajbb-bnaerlnb-719[lvzpq] -zixppfcfba-bdd-bkdfkbbofkd-393[hnmcz] -aflwjfslagfsd-hdsklau-yjskk-ugflsafewfl-918[flsak] -xtwtelcj-rclop-upwwjmply-nzyeltyxpye-847[lpyet] -oaddaeuhq-qss-dqmocgueufuaz-924[qzwti] -tvsnigxmpi-wgezirkiv-lyrx-hitpscqirx-568[irxgp] -ksodcbwnsr-qczcftiz-gqojsbusf-vibh-igsf-hsghwbu-272[sbcfg] -sgmtkzoi-jek-gtgreyoy-410[tqkns] -rzvkjiduzy-kgvnodx-bmvnn-omvdidib-109[fpsxk] -diozmivodjivg-rzvkjiduzy-zbb-adivixdib-447[nayqm] -froruixo-vfdyhqjhu-kxqw-rshudwlrqv-517[rhqud] -dmpuamofuhq-dmnnuf-ymzmsqyqzf-222[mwnak] -mybbycsfo-zvkcdsm-qbkcc-wkbuodsxq-380[bcksd] -tcrjjzwzvu-wcfnvi-vexzevvizex-633[vzeci] -qzoggwtwsr-gqojsbusf-vibh-hsqvbczcum-870[sbgqc] -enzcntvat-cynfgvp-tenff-phfgbzre-freivpr-845[xnfot] -gsvvswmzi-gerhc-gsexmrk-stivexmsrw-984[segmr] -fhezusjybu-vbemuh-iqbui-244[iektm] -oqnidbshkd-idkkxadzm-qdzbpthrhshnm-469[gekyh] -pybgmyargtc-cee-nspafyqgle-574[egyac] -jyddc-gerhc-gsexmrk-vigimzmrk-672[gmrcd] -tipfxvezt-gcrjkzt-xirjj-rercpjzj-399[ldquc] -bdavqofuxq-bxmefuo-sdmee-dqeqmdot-768[hwmck] -fbebmtkr-zktwx-vtgwr-hixktmbhgl-475[tbkgh] -irgyyolokj-igtje-iugzotm-rumoyzoiy-202[mpijw] -fbebmtkr-zktwx-xzz-kxlxtkva-865[yicwo] -tyepcyletzylw-dnlgpyrpc-sfye-nfdezxpc-dpcgtnp-145[badwi] -vrurcjah-pajmn-ljwmh-anbnjalq-849[ajnhl] -rtqlgevkng-ecpfa-fgukip-700[gefkp] -pdjqhwlf-froruixo-udeelw-wudlqlqj-907[kymab] -tinnm-xszzmpsob-qcbhowbasbh-688[nhcdm] -nij-mywlyn-wuhxs-lywycpcha-318[ywchl] -fnjyxwrinm-ouxfna-ldbcxvna-bnaerln-979[naxbf] -ajvyjprwp-bljenwpna-qdwc-anjlzdrbrcrxw-823[jrwan] -diozmivodjivg-wpiit-mzxzdqdib-551[kmhon] -nij-mywlyn-dyffsvyuh-xyjfisgyhn-656[yfnhi] -fhezusjybu-zubboruqd-vydqdsydw-504[dubyq] -ubhatstkwhnl-lvtoxgzxk-angm-kxvxbobgz-579[xbgkt] -xcitgcpixdcpa-rwdrdapit-htgkxrth-557[zastp] -wfintfhynaj-jll-hzxytrjw-xjwanhj-281[jhnwa] -irgyyolokj-vrgyzoi-mxgyy-rumoyzoiy-800[sptbo] -jvyyvzpcl-yhkpvhjapcl-ibuuf-aljouvsvnf-227[vjlpu] -iruzfrtkzmv-treup-kirzezex-841[rzeik] -cxy-bnlanc-ljwmh-ujkxajcxah-979[waqkz] -qzoggwtwsr-foppwh-difqvogwbu-948[wgofp] -qyujihctyx-dyffsvyuh-zchuhwcha-552[hycuf] -yknnkoera-lhwopey-cnwoo-pnwejejc-992[enowc] -zovldbkfz-zxkav-zlxqfkd-xkxivpfp-289[vtcos] -mrxivrexmsrep-glsgspexi-erepcwmw-750[btrnl] -udskkaxawv-kusnwfywj-zmfl-dgyaklauk-866[xeozd] -esyfwlau-tmffq-vwnwdghewfl-632[czoml] -hjgbwuladw-kusnwfywj-zmfl-esfsywewfl-294[xwfie] -hwbba-rncuvke-itcuu-ocpcigogpv-232[cubgi] -vhkkhlbox-vtgwr-xgzbgxxkbgz-631[typnq] -nvrgfezqvu-szfyrqriuflj-vxx-jkfirxv-139[krijl] -iuruxlar-zuv-ykixkz-lruckx-xkykgxin-826[kxuir] -yhwooebeaz-ywjzu-yqopkian-oanreya-966[ynwkb] -iuxxuyobk-pkrrehkgt-xkgiwaoyozout-176[sjwtp] -glrcplyrgmlyj-djmucp-qrmpyec-236[clmpr] -pejji-tovvilokx-bocokbmr-588[obijk] -hplazytkpo-upwwjmply-dpcgtnpd-119[pdltw] -nij-mywlyn-xsy-jolwbumcha-136[yjlmn] -pynffvsvrq-ohaal-fgbentr-923[fanrv] -lgh-kwujwl-kusnwfywj-zmfl-kwjnauwk-736[wkjlu] -dszphfojd-sbccju-mbcpsbupsz-727[sbcpd] -ixeumktoi-lruckx-zkinturume-800[ktsyl] -fmsledevhsyw-tvsnigxmpi-veffmx-viwievgl-412[veifm] -mrxivrexmsrep-fyrrc-qevoixmrk-880[wtmdx] -qmpmxevc-kvehi-wgezirkiv-lyrx-wlmttmrk-620[zyxjd] -zixppfcfba-oxyyfq-qbzeklildv-289[fbilp] -nwlddtqtpo-dnlgpyrpc-sfye-wlmzclezcj-431[jefsy] -tinnm-foppwh-oqeiwgwhwcb-688[fzyjx] -plolwdub-judgh-fdqgb-ghyhorsphqw-413[hystk] -bwx-amkzmb-zijjqb-bmkpvwtwog-460[bmwjk] -qcbgiasf-ufors-pibbm-ghcfous-896[bfscg] -ktwbhtvmbox-vetllbybxw-cxeeruxtg-tgterlbl-215[tmybs] -lqwhuqdwlrqdo-mhoobehdq-vwrudjh-387[dhqow] -lgh-kwujwl-tskcwl-vwhdgqewfl-684[afnbs] -yuxufmdk-sdmpq-rxaiqd-efadmsq-976[mczye] -ftzgxmbv-unggr-kxlxtkva-917[ezfmx] -rmn-qcapcr-aylbw-amyrgle-ylyjwqgq-158[prcqj] -fhezusjybu-rqiauj-husuylydw-582[uyhjs] -apuut-xviyt-xjvodib-yzkvmohzio-525[yomvc] -mybbycsfo-dyz-combod-zvkcdsm-qbkcc-oxqsxoobsxq-848[obcsd] -yhwooebeaz-lhwopey-cnwoo-zalhkuiajp-706[oaehw] -bqxnfdmhb-bzmcx-trdq-sdrshmf-469[zdyht] -dmpuamofuhq-vqxxknqmz-pqbmdfyqzf-924[qmfdp] -kmjezxodgz-ytz-mzvxlpdndodji-889[gefcn] -apuut-xviyt-xjvodib-mznzvmxc-369[vximt] -fodvvlilhg-surmhfwloh-hjj-hqjlqhhulqj-647[hljqf] -tipfxvezt-srjbvk-tljkfdvi-jvimztv-269[vtijf] -ikhcxvmbex-xzz-labiibgz-423[qnzsg] -qzchnzbshud-azrjds-lzmzfdldms-885[xubgy] -eadalsjq-yjsvw-vqw-esjcwlafy-398[ajswe] -oxmeeuruqp-bxmefuo-sdmee-etubbuzs-898[stupo] -frqvxphu-judgh-xqvwdeoh-fdqgb-frdwlqj-zrunvkrs-257[dqrfh] -ltpedcxots-gpbepvxcv-qphzti-igpxcxcv-349[jzdyi] -vhkkhlbox-vtgwr-phkdlahi-969[tmszy] -cvabijtm-jcvvg-lmdmtwxumvb-226[nvfca] -sedikcuh-whqtu-sqdto-qsgkyiyjyed-790[dqsye] -gzefmnxq-bdavqofuxq-rxaiqd-ymzmsqyqzf-690[zklij] -zntargvp-cynfgvp-tenff-qrcyblzrag-351[sqzyh] -xfbqpojafe-dboez-xpsltipq-857[ehgum] -uqtqbizg-ozilm-jcvvg-lmaqov-980[xzwsi] -xjgjmapg-ezggtwzvi-xpnojhzm-nzmqdxz-161[zgjmx] -muqfedyput-vbemuh-fkhsxqiydw-920[udefh] -kzeed-gfxpjy-ywfnsnsl-489[xeoyn] -pynffvsvrq-onfxrg-ynobengbel-741[nfbeg] -froruixo-iorzhu-rshudwlrqv-647[rouhi] -amjmpdsj-qaytclecp-fslr-qyjcq-938[cjqal] -otzkxtgzoutgr-jek-iayzuskx-ykxboik-826[kotxz] -tpspahyf-nyhkl-jhukf-zavyhnl-279[hyafk] -pualyuhapvuhs-ihzrla-ylhjxbpzpapvu-929[lbncu] -odiih-ajkkrc-mnbrpw-355[ikrab] -votubcmf-gmpxfs-bdrvjtjujpo-363[jbfmo] -zgmfyxypbmsq-rmn-qcapcr-bwc-pcacgtgle-704[ztspm] -uqtqbizg-ozilm-nchhg-jiasmb-ivitgaqa-382[snpaf] -willimcpy-jfumncw-alumm-lyuwkocmcncih-734[cmliu] -ibghopzs-qvcqczohs-hsqvbczcum-506[chqsz] -ugjjgkanw-tmffq-vwkayf-216[lfrby] -pynffvsvrq-pnaql-erprvivat-507[vpraf] -aczupnetwp-nlyoj-nzletyr-pyrtyppctyr-197[pytnr] -vkppo-sqdto-seqjydw-bewyijysi-686[sydei] -dpotvnfs-hsbef-ezf-qvsdibtjoh-337[fsbde] -wlqqp-avccpsvre-ivtvzmzex-425[vcepq] -jfifqxov-doxab-gbiivybxk-jxohbqfkd-549[skgzo] -rgndvtcxr-jchipqat-rpcsn-igpxcxcv-713[cprxg] -ykhknbqh-xqjju-wymqeoepekj-576[ejkqh] -pejji-mrymyvkdo-domrxyvyqi-536[ymdij] -wihmogyl-aluxy-xsy-womnigyl-mylpcwy-786[ylmwg] -jlidywncfy-zfiqyl-mbcjjcha-162[cjyfi] -pynffvsvrq-sybjre-grpuabybtl-455[byavk] -uqtqbizg-ozilm-uiovmbqk-akidmvomz-pcvb-bziqvqvo-694[xywnk] -lxaaxbren-ouxfna-ydalqjbrwp-225[mibtg] -joufsobujpobm-kfmmzcfbo-dvtupnfs-tfswjdf-675[ijokq] -crwwv-gbiivybxk-pqloxdb-913[rtmzn] -pkl-oaynap-nwxxep-bejwjyejc-576[jfmel] -wfummczcyx-gcfcnuls-aluxy-wuhxs-wihnuchgyhn-786[giqsn] -htsxzrjw-lwfij-ojqqdgjfs-ijajqturjsy-229[tjxbs] -qczcftiz-foppwh-rsgwub-246[exnyt] -lnkfaypeha-xwogap-naoawnyd-342[zynls] -thnulapj-zjhclunly-obua-thuhnltlua-201[luhan] -vkppo-fbqijys-whqii-bqrehqjeho-504[lkosn] -eqpuwogt-itcfg-ecpfa-qrgtcvkqpu-622[cgpqt] -odkasqzuo-oazegyqd-sdmpq-otaoaxmfq-efadmsq-222[aoqdm] -ide-htrgti-bxaxipgn-vgpst-qjccn-pcpanhxh-453[pcghi] -luxciuwncpy-jfumncw-alumm-xyjulngyhn-552[unclm] -plolwdub-judgh-hjj-zrunvkrs-777[yfulq] -pejji-lexxi-oxqsxoobsxq-458[xoeij] -uzfqdzmfuazmx-pkq-fdmuzuzs-170[npsqv] -bknsykmdsfo-zvkcdsm-qbkcc-cdybkqo-614[fastx] -qfkkj-upwwjmply-qtylyntyr-873[yjklp] -hqcfqwydw-zubboruqd-ijehqwu-218[djvhz] -kmjezxodgz-pinovwgz-zbb-ncdkkdib-473[vimty] -bknsykmdsfo-myvybpev-mkxni-mykdsxq-bocokbmr-562[sdwfr] -eqttqukxg-gii-hkpcpekpi-960[yljdr] -drxevkzt-wcfnvi-cfxzjkztj-607[twoxz] -vkppo-rkddo-ijehqwu-504[dkope] -rgllk-rxaiqd-dqmocgueufuaz-456[mxkzr] -ktiaaqnqml-moo-xczkpiaqvo-122[aoqik] -amjmpdsj-njyqrga-epyqq-pcqcypaf-600[pqajy] -rwcnawjcrxwju-npp-ujkxajcxah-199[jacwx] -fmsledevhsyw-gspsvjyp-gerhc-gsexmrk-ywiv-xiwxmrk-412[segmr] -ajmrxjlcren-kdwwh-anbnjalq-745[myzet] -aoubshwq-tinnm-suu-fsoqeiwgwhwcb-480[wsubh] -rdggdhxkt-rpcsn-hpath-531[tsamh] -pbafhzre-tenqr-pnaql-pbngvat-nanylfvf-715[upmid] -zbytomdsvo-cmkfoxqob-rexd-gybucryz-562[obycd] -bkwzkqsxq-mkxni-ecob-docdsxq-978[ksmtq] -oknkvcta-itcfg-ecpfa-ncdqtcvqta-414[lcwjp] -fydelmwp-clmmte-cpnptgtyr-405[jlgak] -tcorcikpi-ecpfa-gpikpggtkpi-804[picgk] -xtwtelcj-rclop-upwwjmply-hzcvdsza-327[clpwj] -tcfkqcevkxg-ecpfa-eqcvkpi-ncdqtcvqta-752[cqekt] -etaqigpke-tcddkv-uvqtcig-440[tcdeg] -raphhxuxts-qxdwpopgsdjh-rpcsn-rdpixcv-sthxvc-843[tvexn] -atyzghrk-xghhoz-ktmotkkxotm-748[kthog] -fmsledevhsyw-nippcfier-asvowlst-412[zksal] -oaxadrgx-eomhqzsqd-tgzf-eqdhuoqe-846[zfylm] -qcbgiasf-ufors-dzoghwq-ufogg-qcbhowbasbh-194[bgofh] -qvbmzvibqwvit-bwx-amkzmb-jiasmb-xczkpiaqvo-122[bimva] -qfkkj-prr-hzcvdsza-639[dqmts] -jvyyvzpcl-ibuuf-bzly-alzapun-981[mnakf] -dsxxw-cee-pcacgtgle-626[odsgr] -buzahisl-zjhclunly-obua-zlycpjlz-617[rsglh] -gpewwmjmih-tpewxmg-kveww-jmrergmrk-594[mwegr] -aietsrmdih-hci-stivexmsrw-516[hsvof] -ujoon-ytaanqtpc-stepgibtci-219[tacin] -kpvgtpcvkqpcn-fag-ceswkukvkqp-830[cijob] -etaqigpke-uecxgpigt-jwpv-ocpcigogpv-154[gpcei] -eqnqthwn-tcddkv-rwtejcukpi-674[tcdek] -mhi-lxvkxm-ktuubm-nlxk-mxlmbgz-241[mxklb] -avw-zljyla-wshzapj-nyhzz-ylzlhyjo-149[plqkx] -xekdwvwnzkqo-nwxxep-odellejc-862[xyzwn] -pkl-oaynap-bhksan-qoan-paopejc-498[ojduv] -xjinphzm-bmvyz-xjgjmapg-ezggtwzvi-zibdizzmdib-499[zigmb] -bdavqofuxq-rxaiqd-bgdotmeuzs-508[clbmv] -xzwrmkbqtm-jcvvg-ewzsapwx-902[wmvxz] -dmybmsuzs-rxaiqd-xmnadmfadk-846[dmasx] -surmhfwloh-exqqb-vwrudjh-127[hqruw] -gntmfefwitzx-ojqqdgjfs-xytwflj-827[xgtuv] -tbxmlkfwba-zxkav-zlxqfkd-ildfpqfzp-965[jncig] -sbnqbhjoh-tdbwfohfs-ivou-qvsdibtjoh-597[rftxz] -hqcfqwydw-fbqijys-whqii-iqbui-322[iqwbf] -forwcoqhwjs-xszzmpsob-gvwddwbu-324[ftyzu] -zlilocri-oxjmxdfkd-ciltbo-pbosfzbp-991[gjars] -kwzzwaqdm-rmttgjmiv-uizsmbqvo-434[mziqt] -willimcpy-gcfcnuls-aluxy-mwupyhayl-bohn-yhachyylcha-162[kcimx] -uqtqbizg-ozilm-kivlg-uizsmbqvo-954[pifvj] -ugdgjxmd-tskcwl-wfyafwwjafy-762[wfadg] -ajyqqgdgcb-bwc-qyjcq-262[qcbgj] -yknnkoera-oywrajcan-dqjp-wjwhuoeo-602[oajnw] -bqxnfdmhb-qzaahs-rzkdr-963[abdhq] -dwbcjkun-mhn-jwjuhbrb-693[niusd] -wlqqp-wcfnvi-crsfirkfip-373[nrtqs] -guahyncw-wbiwifuny-xymcah-240[wyach] -qfkkj-prr-opgpwzaxpye-613[pkrae] -cqwdujys-tou-tufbeocudj-322[ucdjo] -wfruflnsl-wfggny-ijuqtdrjsy-931[wjznm] -bnqqnrhud-okzrshb-fqzrr-cdrhfm-105[rhqbd] -yhtwhnpun-tpspahyf-nyhkl-jovjvshal-zlycpjlz-487[hlpyj] -iutyaskx-mxgjk-hatte-lotgtiotm-176[shzku] -gntmfefwitzx-kqtbjw-xfqjx-645[nmfsa] -jvsvymbs-jhukf-jbzavtly-zlycpjl-695[frnkz] -dlhwvupglk-zjhclunly-obua-jvuahputlua-825[ulahj] -wyvqljapsl-jhukf-jvhapun-ylzlhyjo-487[jlhya] -ghkmaihex-hucxvm-lmhktzx-267[hmxka] -irgyyolokj-vrgyzoi-mxgyy-xkikobotm-670[ryfvl] -kwzzwaqdm-zijjqb-amzdqkma-564[qzdtv] -rflsjynh-idj-xytwflj-541[jflyd] -emixwvqhml-ntwemz-zmkmqdqvo-200[zmbdq] -kzgwomvqk-rmttgjmiv-abwziom-330[mtnsk] -xjgjmapg-wpiit-vivgtndn-499[weiza] -cebwrpgvyr-pnaql-grpuabybtl-117[xqmjc] -egdytrixat-uadltg-uxcpcrxcv-297[ctxad] -gvaaz-ezf-tfswjdft-623[fatzd] -excdklvo-mkxni-mykdsxq-mecdywob-cobfsmo-692[mocdk] -ovbunmneqbhf-pnaql-bcrengvbaf-351[mtgcw] -nwlddtqtpo-clmmte-nzyeltyxpye-509[ydnsh] -froruixo-udeelw-vwrudjh-309[sxgvu] -hqcfqwydw-sxesebqju-cqhaujydw-660[fghtp] -bpvctixr-rwdrdapit-ldgzhwde-895[sfioq] -ajmrxjlcren-yaxsnlcrun-bljenwpna-qdwc-fxatbqxy-797[fnjis] -lugjuacha-zfiqyl-uhufsmcm-370[uacfh] -houngfgxjuay-pkrrehkgt-iayzuskx-ykxboik-852[kguxy] -gcfcnuls-aluxy-luxciuwncpy-jfumncw-alumm-uhufsmcm-214[zftvs] -oxmeeuruqp-otaoaxmfq-emxqe-794[drzyv] -nvrgfezqvu-upv-tfekrzedvek-867[evfkr] -uwtojhynqj-xhfajsljw-mzsy-zxjw-yjxynsl-801[jyswx] -zixppfcfba-yxphbq-jxohbqfkd-887[zgoyn] -qczcftiz-qvcqczohs-aobousasbh-402[coqsz] -lejkrscv-upv-tfekrzedvek-919[ekvrc] -chnylhuncihuf-zfiqyl-zchuhwcha-604[magtu] -vetllbybxw-lvtoxgzxk-angm-ybgtgvbgz-605[gbltv] -dmpuamofuhq-omzpk-qzsuzqqduzs-820[quzmd] -rdggdhxkt-gpqqxi-rdcipxcbtci-219[yrlha] -tfejldvi-xiruv-wcfnvi-jvimztvj-243[fqclr] -foadouwbu-dzoghwq-ufogg-gvwddwbu-324[dgouw] -tbxmlkfwba-pzxsbkdbo-erkq-bkdfkbbofkd-913[hgans] -gpbepvxcv-rpcsn-itrwcdadvn-453[sbuap] -szfyrqriuflj-srjbvk-ivrthlzjzkzfe-633[sqwil] -jqwpihizlwca-jiasmb-ivitgaqa-122[amzud] -bqvvu-ywjzu-qoan-paopejc-264[ajopq] -mvydjvxodqz-wpiit-gvwjmvojmt-525[oabkn] -ktiaaqnqml-moo-zmikycqaqbqwv-252[qamik] -dpmpsgvm-cbtlfu-sfdfjwjoh-909[pntzm] -nzcczdtgp-nsznzwlep-qtylyntyr-171[nztyc] -htqtwkzq-idj-rfwpjynsl-723[ndmel] -gzefmnxq-nmewqf-eqdhuoqe-300[eqfmn] -qzlozfhmf-cxd-lzqjdshmf-469[fzdhl] -pinovwgz-mvydjvxodqz-xviyt-xjvodib-yzndbi-447[pztyh] -gspsvjyp-gerhc-gsexmrk-vieguymwmxmsr-256[gmser] -ygcrqpkbgf-tcfkqcevkxg-hnqygt-vtckpkpi-102[puovq] -jsehsyafy-tmffq-vwhdgqewfl-112[rnach] -qmpmxevc-kvehi-hci-eguymwmxmsr-204[mechi] -tcfkqcevkxg-tcorcikpi-gii-gpikpggtkpi-544[wytzs] -pbafhzre-tenqr-enzcntvat-onfxrg-ratvarrevat-845[raten] -shoewudys-rqiauj-bqrehqjeho-270[ehqjo] -xjinphzm-bmvyz-ojk-nzxmzo-ezggtwzvi-zibdizzmdib-577[zimbd] -rkpqxyib-bdd-pbosfzbp-939[bpdfi] -vcibutulxiom-vumeyn-omyl-nymncha-786[ziwys] -nvrgfezqvu-upv-ivrthlzjzkzfe-321[vzefr] -krxqjijamxdb-yujbcrl-pajbb-dbna-cnbcrwp-303[bjacr] -zixppfcfba-mixpqfz-doxpp-qbzeklildv-653[zdxgu] -lsyrkjkbnyec-mkxni-gybucryz-640[ykbcn] -qspkfdujmf-kfmmzcfbo-dpoubjonfou-155[fomub] -sno-rdbqds-rbzudmfdq-gtms-cdozqsldms-755[yaubo] -houngfgxjuay-vrgyzoi-mxgyy-ygrky-462[ygoru] -gcfcnuls-aluxy-wifilzof-yaa-omyl-nymncha-266[alycf] -hwdtljsnh-gzssd-xfqjx-463[fajso] -htwwtxnaj-idj-hzxytrjw-xjwanhj-281[hzrnq] -sorozgxe-mxgjk-lruckx-xkgiwaoyozout-176[oxgkr] -ynssr-vtgwr-vhtmbgz-ftgtzxfxgm-475[gtfmr] -rtqlgevkng-lgnnadgcp-yqtmujqr-648[nelzc] -kwtwznct-rmttgjmiv-camz-bmabqvo-460[nmbls] -surmhfwloh-fdqgb-wudlqlqj-959[lqdfh] -iutyaskx-mxgjk-hgyqkz-rumoyzoiy-644[ykgim] -jqwpihizlwca-kivlg-kwibqvo-wxmzibqwva-434[iwqva] -amppmqgtc-djmucp-asqrmkcp-qcptgac-496[cpmaq] -apuut-xjmmjndqz-wpiit-vivgtndn-187[intdj] -ftzgxmbv-vtgwr-wxlbzg-267[gbtvw] -eza-dpncpe-mldvpe-wlmzclezcj-171[eclpz] -rnqnyfwd-lwfij-wfggny-ijuqtdrjsy-827[fjnwy] -aflwjfslagfsd-xdgowj-ghwjslagfk-684[fgajl] -lzfmdshb-eknvdq-rsnqzfd-859[ybjfz] -hqtyeqsjylu-uww-tufbeocudj-582[uejqt] -qfkkj-nsznzwlep-dstaatyr-223[aknst] -ubhatstkwhnl-xzz-kxvxbobgz-267[umogq] -xekdwvwnzkqo-oywrajcan-dqjp-ykjpwejiajp-238[mtbvo] -cebwrpgvyr-sybjre-qrfvta-195[rbevy] -hjgbwuladw-usfvq-esfsywewfl-710[mpiho] -lujbbrornm-kjbtnc-fxatbqxy-823[ywamx] -ugjjgkanw-uzgugdslw-hmjuzskafy-476[stfoh] -fmsledevhsyw-fewoix-pefsvexsvc-724[scznt] -zlkprjbo-doxab-bdd-obzbfsfkd-419[bdofk] -vcibutulxiom-wuhxs-nluchcha-864[uchil] -yhkpvhjapcl-ihzrla-dvyrzovw-305[qyhmr] -hmsdqmzshnmzk-qzlozfhmf-qzaahs-zmzkxrhr-287[zhmqs] -gzefmnxq-dmnnuf-etubbuzs-482[nubef] -ejpanjwpekjwh-ywjzu-ykwpejc-nayaerejc-550[jewap] -cxy-bnlanc-npp-mnyuxhvnwc-433[nvmyt] -jfifqxov-doxab-gbiivybxk-obzbfsfkd-601[epyzn] -pkl-oaynap-xqjju-wjwhuoeo-680[joapu] -jef-iushuj-hqtyeqsjylu-rqiauj-bewyijysi-842[hyzgu] -dfcxsqhwzs-tzcksf-aobousasbh-896[wkqxh] -lahxpnwrl-ljwmh-bjunb-693[jtoyp] -rnqnyfwd-lwfij-gfxpjy-wjhjnansl-931[jnfwl] -buzahisl-jvyyvzpcl-jhukf-jvhapun-klwhyatlua-617[ahluj] -jchipqat-eaphixr-vgphh-bpgztixcv-271[hpiac] -zlkprjbo-doxab-avb-absbilmjbkq-107[wbymr] -eqpuwogt-itcfg-dcumgv-fgxgnqrogpv-362[gcfop] -rdadguja-qjccn-gtrtxkxcv-791[cadgj] -etaqigpke-oknkvcta-itcfg-hnqygt-hkpcpekpi-674[mcoya] -gspsvjyp-hci-wxsveki-386[myuqs] -jef-iushuj-vbemuh-mehaixef-920[ehufi] -encuukhkgf-fag-tgceswkukvkqp-752[kguce] -npmhcargjc-njyqrga-epyqq-kypicrgle-444[cgpqr] -xtwtelcj-rclop-mldvpe-dpcgtnpd-379[pcdlt] -nchhg-kpwkwtibm-mvoqvmmzqvo-252[mvhko] -uqtqbizg-ozilm-jiasmb-uizsmbqvo-122[ktxvs] -nwlddtqtpo-mldvpe-fdpc-epdetyr-509[dpetl] -wfintfhynaj-idj-qfgtwfytwd-229[efudw] -yhwooebeaz-nwilwcejc-ydkykhwpa-owhao-160[skuyi] \ No newline at end of file diff --git a/adventofcode16/data/advent06.txt b/adventofcode16/data/advent06.txt deleted file mode 100644 index 4a1a2a6..0000000 --- a/adventofcode16/data/advent06.txt +++ /dev/null @@ -1,624 +0,0 @@ -focdealm -ggsipflx -rvibwxbm -vqrfyyrh -hsjtzpgs -ozymxpoy -jiecwags -lztseufl -dfwibwsn -skiuhnwl -kamgzqog -axeqncwa -gobivxto -nwgoryhd -tzrlitrq -uzoldxbv -zsteobha -pfcgdqkg -prcqlunp -iwivemkh -vpkilupm -ewuznabz -veaptost -cyvirffe -ejhhqfng -ibsqztgg -xzczkboh -bckhbodf -vbycgonv -esmoyyku -unccgdgj -cqwnqlzs -edoqmykb -bkvzlhyq -yzrspisn -zlzibhca -povnweaf -muyfegxe -oaojqfrl -gwesjxws -rjknfyeh -dkquvctc -cfuzhxoj -tdzzzfqc -lzjzsyni -wjfxckkf -xmhyjhop -kmtllzxs -yohearbj -ilmvyxgn -erczytzw -kuetjsba -vwkpollq -tujwluzc -jlvedjcp -acmoaoji -gqoliyen -agckavhf -ottamfdm -jxwlyotw -tdpsrapj -carwwmqc -ykaipjdj -zdfrbduu -vwiiosud -uoixglbw -yegbwxjb -wbpqqqfv -wpynmyqi -aqdkscgd -oghnbnnf -duftexbb -ttvbofay -jferymwy -hqzimpiq -sifyogml -nymxqbws -dhdlhhqp -urtuhcrj -giwcunfq -fxgretsl -maihqkpk -pdxfkcru -xixtthag -vuzxqzzi -wxxeleug -xpopxkzo -hgcsyuad -xcbydxnx -kxocfakp -erxdajeq -tliakzhh -iygbbuxs -qlgqthpp -duzzptwk -gfnqdotc -kjayxeqf -fehitfar -yemshppn -igtczmmw -gfajhxch -bslzmgwo -xpmhmirx -yhlwlupt -nymajupw -tlhgdefw -bqkudizc -lucrhmnm -svkoaqzz -luggfivf -ckawtiwy -eeivawhj -qdmmmvdl -quezzzqa -oimsfsuo -jdvcknqu -aupohqbk -llwsasnz -zlpljtjl -xfylqxlv -zqppxkul -varoizrq -yxryqwso -gsscetca -gcbdgqyo -hsdnvteo -pxtoreoc -rwjdkwzs -zdgofynf -polyntkx -jhulgrnf -ycbzpdpw -bzvdbwsy -vydjbucs -rxadwwuo -ccnvzjak -nombazjc -lbxwdasr -cbdlkiha -sdomdvow -phjnkkkp -nmtmrnyz -nxsvmcwk -hqimjvir -vmjhhuuv -zilhgqlb -gfgbibgg -imxxugfe -wtaffkbj -lyguqvjs -pejslhls -qjnefwii -oanqnnnc -kcjyfwxm -zoxjwxmw -ihmokcrm -uebsbhfr -fxvjiorr -ebjiucyt -ofutlokv -mdfnsuyr -dzviwqdk -umwyaijz -hdqwfalt -qtyrouwh -lkzcrtwa -dtqvwzke -buplmmca -xxepjuvj -omyotlar -ytndbwhi -sbntigym -mphrnsme -xiymeoxr -kcujxcih -bydnchgk -snwdjlip -yljsymtv -tyhbpoab -zlqhvzxl -akbtnzop -xnpjmysj -znhednen -vbcsocrm -ywjajour -ejngbqev -rstykfhc -cbcnoexq -mzlxvxwj -vfdqaalp -nbszzozr -dqpyojid -hfuqilbl -uoackeup -shqkcsmr -jbdasroe -fmlkvsnt -cnomxkvk -unbsfncq -bnzxltxe -bbadfyin -skmhtmhn -xkypwglb -flbfiioo -fzywneyg -srngxbut -qtodeuxg -xvawfqli -nyfmrdsn -rdjysbxj -spmezvvj -ofoivcuc -touzgqzx -mfqyzagc -dmaurbdv -gqnrlyuw -wuppusoh -qgstihuy -uldnlrpi -xaskgwim -djjrphid -qjhmctyu -osfenjdn -zvoahhkk -xiuyatyn -fepobmjh -kmugpjpw -aikpozqs -kmgmazif -gbzlodzb -hrocqadn -noekklwb -vzwhnkvx -osrspxsc -iekmqgua -xeehndee -quttqjav -htoptweo -cyicmwba -jltlwlyy -qvccdkig -bibggekq -kwfwvrfg -eycwlcup -murgcddl -lyukeubx -twbpzoyg -dkcvzele -fozhtmcz -frugeivm -qjbhpdpr -tgkkeroo -ryuvgqgc -jhixykqn -wsebmcrn -wohtjpgu -isflpxxt -xggwmamk -tfwdsrfe -cpjvcghr -fekhexdb -zcwzqofh -awnfiqzu -ihekvqby -rqaqajij -cumouwzx -ccyrflxd -rredygrk -patcpktn -mjnwuefa -tuhgyfsw -mjpxrgkx -hupfjqxo -mgkclcrf -jkmkhkci -nkcrwgqd -apmfiqpg -pxiawshv -ledhpfaz -btikmkwj -jwosopir -mgxftcte -phkbcdex -uakftnbh -fnkmdecn -swrvbjwj -hphskevf -trnpfdmy -odvmmqss -akvqgemq -zyqlkwdm -nbnaqjsa -mbnogzyt -mchaxjxu -tcqqerqz -ayylasgq -zqbrjfli -ccjjnfat -lvlpdjqu -luiabalt -qsvkepvz -dtyobsiy -jkulvrnc -thwjbzkh -vvhrwbkx -fhxejrff -bacuriaz -grmtyude -feynnckb -hfdepyjn -lvsfflyc -xfrgfgeh -vqqybtba -ntlfjqjt -zadauvmg -itukkpqf -mrnnfgmf -hpjqvppo -dshgwmgb -pzxeoymv -nlokvrio -cgcaxffl -dvimsnxu -iczcvwho -lkxumswj -satmovog -ujwknitl -halkgpaa -pnttnodc -adsvsumi -jwerfpko -yhsjqytk -vpevemez -yvjmltwj -vdoeippw -siouxait -ftrspdpx -hptwqlmz -haewgrft -watbdvqz -eiptzrvr -msvbioso -dnjeoucg -qixvmlem -mqquklfq -sszagakl -khfbexqb -uysydrlc -inawynse -whuonlhq -eshukapj -vtrepdxm -pgjjcisd -puiunlts -replddlv -emjyyhmd -aahwhond -laneyzsj -jnlkdpyb -sqxrctuo -wmmyybvl -ldyvqldz -bzbrsdjr -ekxwhzte -gnpqywzz -afsfbtte -ggkbrgds -dlawfrbp -opypolpc -cqpxcfgh -ynmtlgvl -slfmicyv -ooguwxjc -tewmtlty -wcdwansw -ktercyvw -qrgxrzne -wvbhflls -dpfjwbmm -uigmcaow -ejzhkxic -fbewvcoh -jxbtcmwn -ywiktjqn -rftnjqpp -yalixnnw -srdsiwgy -pdpdrynx -ioroheqp -vpvvnmad -tqksxfsp -snzxciua -nrhtoskm -crfvapzk -wndbcxvf -syffkzmv -nneibkaf -unuvhnli -ujhdjkvs -gmyqgvdr -jedfxwje -bcshopnu -xgiprhyv -onibkkoq -riguljez -yodzrfeu -ogbwakaa -ymrltbxa -ourmuhrx -yxwixtuv -ptnxdvdm -oskvgexz -fbigwiaw -xctckzmy -khwiyvmw -qbqbtxpr -kavzlngz -bbklqvzt -rwlzppbq -upirhhca -ezlaqdgo -ieuynchi -qmjtojzq -qrricseq -hxkrsfmw -nssfpnws -tiaziudb -rvskpahe -pplmppvi -jxpyidio -teudseap -aclyhavi -yqafhkyd -drjhcqgu -zvfcfbjc -sqfuuezn -gwtsupqk -czakgbiy -wknfzbyj -ooxwycji -wxymanlx -ewbtpqtl -jmwnxydh -ceqdllqb -jhdbejmt -mazzsanu -uypyqlvh -itnrzbie -miuegdjz -tqxeipin -kbareizb -jgjxrycy -epshhech -oicruxsz -ptxgidha -bmgnvjtr -qvwzlmgq -cvwtdffi -ibzasmru -jfenrbjd -nrkgwvcz -hlmghdgd -emhdaicl -wdwrzocv -spwjcrud -dsgilvqn -phvmafqk -iiihsfff -uvcqgtyc -doxkrzzw -hktdpsbv -evqojani -kzapomdx -ewtbrdtb -rgshzyxq -ltinzxld -cazrrlcu -irfxunbt -rmqcsbvm -gddexbsb -qladhkpd -xlvzpmab -wirftlbu -fxfqjubx -sgogtrcb -zlqxxwfy -djgtbihr -gslssgsu -wytydgje -vmovsmdh -ogyiuirh -mtfxzrrx -kcpfbemc -blreqhel -zjsjqqyh -ciqwtpvk -yjcinpaa -wxbxagui -aqbjqmig -ybaeuhew -mjzpnttv -mevjcrqp -fpmgzgco -gklesvof -jzfssvvx -aynfmwhl -euosbnhf -lcebcalt -kvsuuyyt -ltranzur -nlledtpz -vqdrgckr -yodxnjpt -uyznwnni -ckczwqkp -uxtjgoee -otdoyaxg -lbccbfgi -mhzjujrp -cekkthvf -fbvpuhog -nzfannep -rnnqusey -aiocsiyy -uvcbtfwr -bzqirxrg -qnmfgshq -inyevvbn -wswvhglx -huxqxwwb -fdutjnfq -adajhsjk -ahllesij -tcfawzgu -zfdgmtry -byznvpfp -duunxdad -kgadxmdf -ptfaovzv -uhuvlivs -xcoqrmeu -nnnlvmga -zwrbykek -lvpumidd -hieivrnt -vrwqsvci -npbplsvm -ougzcgty -rzvgzooo -iehafkto -rzspzjne -dzvvhvld -fgkmmfda -xjsnnlmd -igvjrsuk -narcempo -xrhoiugu -ghxbpomr -waxtcbcg -tmqgsejx -dobaxhel -mpzgjyww -ehyfvnaz -zxrdlajd -hfquyvok -aqxxdcqv -vjbukram -rjvttibk -pryxgzrd -hcqpxgee -qjgqvoal -wmbuvcty -zpgxmdiu -foequjps -lmdjwyfj -mhqudwzv -lrzkttsw -owyatnru -gwppbbfb -fvlkdsjk -pwhlvjtb -zgldiibp -sokjzgvq -kfourwqm -nfqoyvsz -hdiwmrhk -nnapsbht -blqjjtwy -aknoauti -uhgowkyx -uypyjorh -blfeioot -kzbukpxk -kfmbxgle -zmegahum -upjouzrg -tkedvzfy -bxwxuutn -rrwxobjp -jdujkhox -jkycewdx -ivlbibns -qjshodxf -bektjeou -wotjfgfl -rjrcfiug -aklhubjf -kwpnaezt -lsqvzdom -pxzvorct -vcxazyzs -xsszjsjq -ydgfsukl -gqxpcrla -rvsoxkhy -rschupcm -ivlpikxi -etrnyvkh -byzymjms -qagdcqww -sxnausxs -giuitchj -qgolehtg -keeskeyb \ No newline at end of file diff --git a/adventofcode16/data/advent07.txt b/adventofcode16/data/advent07.txt deleted file mode 100644 index fb0a641..0000000 --- a/adventofcode16/data/advent07.txt +++ /dev/null @@ -1,2000 +0,0 @@ -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 diff --git a/adventofcode16/data/advent08.txt b/adventofcode16/data/advent08.txt deleted file mode 100644 index e6aa6a1..0000000 --- a/adventofcode16/data/advent08.txt +++ /dev/null @@ -1,193 +0,0 @@ -rect 1x1 -rotate row y=0 by 5 -rect 1x1 -rotate row y=0 by 5 -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 2 -rect 1x1 -rotate row y=0 by 3 -rect 1x1 -rotate row y=0 by 3 -rect 2x1 -rotate row y=0 by 2 -rect 1x1 -rotate row y=0 by 3 -rect 2x1 -rotate row y=0 by 2 -rect 1x1 -rotate row y=0 by 3 -rect 2x1 -rotate row y=0 by 5 -rect 4x1 -rotate row y=0 by 5 -rotate column x=0 by 1 -rect 4x1 -rotate row y=0 by 10 -rotate column x=5 by 2 -rotate column x=0 by 1 -rect 9x1 -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 5 -rotate row y=0 by 5 -rotate column x=0 by 1 -rect 4x1 -rotate column x=40 by 1 -rotate column x=27 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=2 by 5 -rotate row y=1 by 3 -rotate row y=0 by 5 -rect 1x3 -rotate row y=2 by 10 -rotate row y=1 by 7 -rotate row y=0 by 2 -rotate column x=3 by 2 -rotate column x=2 by 1 -rotate column x=0 by 1 -rect 4x1 -rotate row y=2 by 5 -rotate row y=1 by 3 -rotate row y=0 by 3 -rect 1x3 -rotate column x=45 by 1 -rotate row y=2 by 7 -rotate row y=1 by 10 -rotate row y=0 by 2 -rotate column x=3 by 1 -rotate column x=2 by 2 -rotate column x=0 by 1 -rect 4x1 -rotate row y=2 by 13 -rotate row y=0 by 5 -rotate column x=3 by 1 -rotate column x=0 by 1 -rect 4x1 -rotate row y=3 by 10 -rotate row y=2 by 10 -rotate row y=0 by 5 -rotate column x=3 by 1 -rotate column x=2 by 1 -rotate column x=0 by 1 -rect 4x1 -rotate row y=3 by 8 -rotate row y=0 by 5 -rotate column x=3 by 1 -rotate column x=2 by 1 -rotate column x=0 by 1 -rect 4x1 -rotate row y=3 by 17 -rotate row y=2 by 20 -rotate row y=0 by 15 -rotate column x=13 by 1 -rotate column x=12 by 3 -rotate column x=10 by 1 -rotate column x=8 by 1 -rotate column x=7 by 2 -rotate column x=6 by 1 -rotate column x=5 by 1 -rotate column x=3 by 1 -rotate column x=2 by 2 -rotate column x=0 by 1 -rect 14x1 -rotate row y=1 by 47 -rotate column x=9 by 1 -rotate column x=4 by 1 -rotate row y=3 by 3 -rotate row y=2 by 10 -rotate row y=1 by 8 -rotate row y=0 by 5 -rotate column x=2 by 2 -rotate column x=0 by 2 -rect 3x2 -rotate row y=3 by 12 -rotate row y=2 by 10 -rotate row y=0 by 10 -rotate column x=8 by 1 -rotate column x=7 by 3 -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 20 -rotate column x=46 by 1 -rotate row y=4 by 17 -rotate row y=3 by 10 -rotate row y=2 by 10 -rotate row y=1 by 5 -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 2 -rotate column x=1 by 1 -rotate column x=0 by 1 -rect 9x1 -rotate column x=32 by 4 -rotate row y=4 by 33 -rotate row y=3 by 5 -rotate row y=2 by 15 -rotate row y=0 by 15 -rotate column x=13 by 1 -rotate column x=12 by 3 -rotate column x=10 by 1 -rotate column x=8 by 1 -rotate column x=7 by 2 -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 14x1 -rotate column x=39 by 3 -rotate column x=35 by 4 -rotate column x=20 by 4 -rotate column x=19 by 3 -rotate column x=10 by 4 -rotate column x=9 by 3 -rotate column x=8 by 3 -rotate column x=5 by 4 -rotate column x=4 by 3 -rotate row y=5 by 5 -rotate row y=4 by 5 -rotate row y=3 by 33 -rotate row y=1 by 30 -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=38 by 3 -rotate column x=37 by 3 -rotate column x=36 by 5 -rotate column x=35 by 1 -rotate column x=33 by 1 -rotate column x=32 by 5 -rotate column x=31 by 5 -rotate column x=30 by 1 -rotate column x=23 by 4 -rotate column x=22 by 3 -rotate column x=21 by 3 -rotate column x=20 by 1 -rotate column x=12 by 2 -rotate column x=11 by 2 -rotate column x=3 by 5 -rotate column x=2 by 5 -rotate column x=1 by 3 -rotate column x=0 by 4 diff --git a/adventofcode16/data/advent09.txt b/adventofcode16/data/advent09.txt deleted file mode 100644 index 3ccde78..0000000 --- a/adventofcode16/data/advent09.txt +++ /dev/null @@ -1 +0,0 @@ -ORNXNQJQ(151x7)(5x9)OFIXU(27x3)(21x9)VDCYQELDJQUAFZUHFZVSU(34x15)(12x10)SEDIUUVFPEKY(3x9)NHR(1x11)I(15x6)(9x13)CMNDUYGYR(40x6)(4x7)RMNG(25x8)XPDSEYNCWFQFAKUMITWMBLMIK(7x11)(1x10)N(109x1)(101x15)(28x15)DYKYFCKDLFYAIHXSOAZKTPCPBUTX(18x13)SOZMWOSIQHVNMRZYYM(1x4)W(11x2)AJPKYMFRDJZ(11x11)SYIQBGHBNJL(26x9)(20x7)XLNTFHRYHLOYBBGMRPDH(269x4)(2x9)ZG(79x7)(24x3)UBTEBZLPYEDFINUQEQZUSXWY(3x5)IUH(15x10)LDDUEEJAWVGNRYA(3x5)FAO(6x3)ORDEIO(47x2)(1x10)J(2x13)DW(1x8)V(19x14)IJAAZPPGBZPFERJGOYI(103x9)(60x11)GKYOEUBZWAFDXEGWMPXZEOAQCUFCTJCXROPMNEFMJUWGBOUZRAXKRNHTBXHM(15x15)BTYXPHOQZXSBUVT(9x8)JQLNIDKMH(9x5)(4x4)BQRL(4207x15)(1464x12)(305x10)(159x14)(71x12)(24x14)(9x1)UJXIVHSUD(4x15)MAWK(26x15)(19x15)YFYDUJPUZQCKGVPOXKD(2x1)HN(2x6)GH(20x14)INJNODCLPWICQFIERROI(3x11)JUA(31x14)IUDVEHRATPGIEGELRDOZMBKZQFONCBD(130x14)(28x15)(22x7)(5x11)PHVKR(5x10)KVTDO(88x12)(8x12)POLKYDEX(27x8)(9x14)APMRPIHKQ(6x11)QTLLQU(1x4)R(29x3)(4x8)WBRL(2x15)JU(1x6)Y(1x2)U(1143x9)(364x14)(262x7)(6x9)EEJMXK(100x12)(5x1)RXXSO(5x2)VTESR(6x2)SXXSZL(49x1)OFIFQJKSCOXPXTHVWCUJVQMDBQELBLDYRKIGKHOEWRFNXNRLF(9x1)XRUFFMDVM(29x5)(3x8)VPW(6x3)WWFWRC(5x7)XMJEJ(46x9)ZBWGRECVBOPHVFQYBPOBHTPOMTYQGVZKQMKYEHCJYSNRQY(50x1)(10x5)SFPYPPQKDO(27x10)DNMTTNUGOQNAQLRBKDLNRVGRMLJ(23x12)(10x7)LCQWCIMTSV(1x12)X(15x9)JMJMKCIELUBETER(38x7)KWZVVWPBHKSBWMQWBJKCRHLIEHZSQBRAEOBRHE(130x13)(123x7)(75x10)(9x2)NUSXXITCS(11x2)JWHCFBJNEYD(10x1)QJNBNHNNDF(5x5)RWBYJ(11x10)GRRSDLTEZAW(35x9)EYHPPDLIWUITRPLKHXFBCUIQZZMYCDKWPNX(326x11)(130x1)(76x9)(9x10)TBCYBWJLT(4x8)HTQB(35x8)FUCOLJQAFSWAYTACMFRACVWDLZYRGSUMZAY(5x15)ZWHCN(17x14)CRUBDKGWUQCGGAIOS(10x7)(4x12)RWFL(3x9)TFR(27x13)(1x7)R(2x14)VY(8x2)DZMFRMGO(94x11)(61x15)(1x14)O(25x14)IKECWOPRWQBVRNEDQXWFMVBOI(15x10)QVTWMBNCISLOBJR(20x1)FIVILFBNIPNRXAWXGAMJ(32x8)LNPRYYKSLCXOEXFWZKAXERCQKDACFNYA(10x1)(4x14)WRAN(292x2)(168x7)(10x8)HQSTVLQCNK(89x4)(9x11)XCBGNGENA(22x5)BLUEARYFSAVBWTDGVHYWZP(21x12)KGRSTMCVPYJXIJWXVXREW(12x5)NKTUQMXCLFNL(17x10)UPUPBQDSHOXKHLGCR(10x12)ALIFHIZXQV(10x1)KEFBFHAOCG(100x2)(9x4)(4x9)MKGZ(80x5)(20x3)DQCKBWWUZDJICWUESBKY(14x9)EFXIDIWRKZTVUM(6x15)JRDKSE(2x14)AA(9x9)MJFTTZMTW(5x3)VLDNV(411x4)(397x1)(390x8)(46x4)(18x7)BLBFCJNGQWPSJGPOVU(16x7)(10x2)FFZWESCTXC(6x3)EUNIDH(56x14)(28x5)(2x8)CJ(2x1)EA(9x9)FLKGEMFED(10x9)OLOMVPKTRZ(1x5)R(202x5)(88x9)(6x3)VRZHGK(20x12)KKZGPZHKVMLDUKNRPDLL(7x2)CBDBTRO(3x15)XPR(23x3)EHEWCFLEUPCSTSISPKGXIMK(32x5)(16x12)KENYBOSVRILLLTVM(3x14)DYH(19x4)(7x8)FGHRXWB(1x15)E(39x8)(9x11)XRLWASPXI(17x10)RNFIHAQMBBELSLNCT(49x1)(36x4)(18x2)QKRMYMDFPSVDXUXXCH(7x3)SBFHWUF(2x6)BD(2x6)HN(1047x3)(450x2)(10x4)YQQDOELWCI(48x15)(25x7)(8x5)KUKZDUYU(7x6)(2x1)KQ(1x4)K(6x3)INDERJ(284x5)(92x7)(86x4)(13x1)PSVECPHBPYEPJ(3x15)JEY(35x8)RCTZOHPJAICRPRVAYZZLUKRZPOOPFCBCPAQ(4x9)TETC(2x11)ZV(179x5)(95x6)(8x9)HUGVMXOT(9x10)MFDYGPUWF(12x2)PSBNZPCWSANA(6x1)GICWEI(32x9)JCBCGJIMZTQUSVQDRHWMSYJYUHJIVYIV(71x13)(15x3)SXTGVVIWXDWZTZO(9x2)RASQPEQUN(7x10)TPHSDTV(7x15)EPAHSDZ(5x6)BIOZT(7x4)KYMJLYA(69x11)(63x5)(3x9)XSS(37x9)HTZKRPESNZRIWPGWAPHBOIOWAWFHWMIXWYQQC(7x6)(2x1)FA(273x3)(245x12)(39x9)(8x13)WCKBPVRZ(18x10)(11x10)VHBAIPPIWXD(2x3)XD(1x11)Q(6x15)WCPPQC(167x1)(23x15)DYHQGULKPISILTRIXNEJZAV(65x12)(2x9)FZ(14x9)WWCTYVLVAOZDAG(15x11)CZYGTNAELLIRKYW(10x6)IEXFBJJCLQ(42x4)(9x14)XRPJHVVME(6x8)XAVNCD(10x9)IBVGVWIFUD(11x7)(6x6)LSMIRR(14x4)LFACCTXVWLEDWE(287x5)(280x2)(273x1)(7x14)(1x15)U(109x12)(7x1)TPNMYVS(46x8)TWTINTRPDOQKPDPZNKXIVISRQTZODBXMSPPZKCQFAYCJCS(5x11)AKNKA(18x14)DKSKSQUAUTPZPNHIWP(4x7)DOMY(56x3)(6x6)JBJORX(7x11)IDJWUCZ(26x1)XMRHHVJEZBAIOCBKTLKEWRQHWR(46x3)(6x8)JDOJMU(5x6)ELYWH(1x1)M(1x13)Y(7x9)XRTOLWT(22x11)PXZRLOPHTRSXFEGYCCCKOZ(1x6)I(4x11)OPMW(2x11)ET(1244x13)(8x9)(3x8)ABP(1x13)B(188x1)(6x9)(1x5)H(161x8)(115x15)(15x6)(4x8)YQCB(1x1)L(73x9)(2x15)GX(25x4)NTANLQJGDHTCOIRAFZAKXQHVB(1x3)R(10x5)VDXVAGTAGQ(7x3)NKCTQVK(3x9)RRQ(1x15)C(31x15)(1x2)G(19x2)OAUAOISPSPTMKOGJEAV(4x1)DQTV(229x5)(2x4)EP(124x5)(117x6)(109x14)(16x14)UDUBGHIWRGGHYVJU(2x1)DG(7x14)XZCOKGR(4x15)XDVD(49x10)HIHUJRXURZHGHWJMFTGUQUBGCJVLZSGLDIANTUIKYZWXHMAZY(84x14)(6x15)IEUICQ(13x5)HXIRLHFWXDSIB(2x13)XU(39x4)(25x10)(11x14)MWHAQQMPPVR(1x13)R(2x9)UL(786x5)(38x10)(1x12)S(25x9)RRXFLAJRHOUZPDTBWKIZHUNGA(471x12)(54x8)(34x14)VJZSILTGZWMCZLOJSZHTQVVAZSPWHAKVFO(8x3)XCYTBHDX(221x9)(60x1)(1x2)M(17x13)PIRWGCEZQNSPPUBHK(23x10)YJEVBSPQYKPLPDOSCEHYSSA(78x12)(2x6)YY(21x5)TMWGVWVOZDOFGCFEZJRJR(32x5)ENWXNGFHIYQHCBWQEDTMBOWQKJIHAZHY(1x1)E(18x9)(2x1)OD(5x11)GGATR(32x11)(13x9)VZVAFSADAUIGI(8x2)JOUUXRCU(1x11)I(8x7)(3x8)PCV(75x3)(46x4)(28x9)PJXDTVYIRKASKJMXDIGAXSQPMPWK(6x11)SUYPHC(4x13)CBMV(8x7)QAUWLDLP(83x8)(19x7)DDNWFTSHJSTPWECIXWZ(6x5)EQWGSJ(1x5)O(20x6)(13x10)MNFVFUCESZDMF(9x15)(4x3)JZSU(7x12)(2x9)UZ(228x2)(220x15)(49x2)(1x10)C(5x9)TCPJZ(6x7)FJSPSS(4x14)FYQF(5x15)XBWKH(75x10)(5x15)KTHBO(12x5)LLZEFONZKCBI(28x5)RGMNFEEHBHZJKTMPVEPHIOJUXOMB(7x9)YWTZNCT(60x14)(3x10)DAN(15x6)BHOSLMFSEQKOGEX(1x4)D(17x11)SULIDVKKLXIWAJXRK(2x7)PX(4x1)TKPO(9x8)QFXUEZUGP(2331x2)(2323x8)(202x13)(10x13)(4x14)GFSR(178x4)(101x11)(21x9)(5x9)SWRRL(6x8)TYXYPJ(68x5)(4x10)QMJZ(19x15)APBTUGYPJQFQODZRNAC(5x13)YIVAO(14x14)QHWPZNQSRZJIEC(63x2)(32x10)(5x4)EVMQL(15x12)SAOYGPDXFSDOBTB(6x8)(1x5)C(7x13)MILUDKF(144x5)(3x8)PLQ(129x7)(27x3)(7x13)QLVZTAJ(9x4)JNLNRKPXA(4x13)EEXX(17x9)(11x9)SYQBWQASJPK(57x8)(29x8)(15x11)CFVXGJKXAAKNRRT(1x15)A(1x4)C(10x5)EFFLNXDEVJ(664x6)(357x6)(82x8)(7x12)LPCKKIX(55x10)(6x4)KXJNIR(2x4)IH(5x6)VIUMV(11x10)TCNXEQRMQJZ(4x7)DREZ(2x8)IV(119x7)(21x13)RHDEMDBNRPLOTSZRKZSHA(47x2)(22x2)ZADHZNUARPTFHKEXJKCWXY(7x6)OACRTYP(1x15)P(31x10)(5x4)VSWJT(7x1)IGAMFHI(4x3)GOCU(26x5)(19x13)(12x15)WGYBKVRPMWJT(15x7)IFUICWKGGCLHCOO(83x12)(62x8)(20x10)TJBGZCIWVKOROYITLBUA(7x11)UDSMGLK(6x3)FWPTWW(6x4)JECWEE(9x13)CUQMJOFWT(292x11)(68x14)(61x13)(28x10)ZRYXMSXXTLGDYHOVDRDVOCFJTCXJ(20x7)HZCFVXJATHXTNPHWFSIS(65x4)(11x6)BETMULBEIND(3x11)VLU(25x5)UYRFOHJXRRSJXEFEOPROCVNOA(3x4)GQJ(95x8)(81x11)(30x12)FXPGOAGXMVWAMAKJTQKJEUZNGCKDXU(10x5)YFDYGXCFTD(10x5)USWAFQFFSA(6x10)ZFVKMB(2x8)SF(16x8)MZPGUBATXFXXJOJS(17x4)AJTTIOULZONRGGMLK(448x2)(28x11)(22x2)(8x13)(3x1)TMQ(2x13)IP(5x6)AJJXN(290x1)(109x10)(5x12)CUMMS(7x7)UEWYDSN(59x12)(2x12)FP(26x3)LWFPYEPAANDDLIOJQBYCRRQYRT(1x2)O(7x10)RXDHAJH(14x6)(9x6)PQLSJTFAO(124x4)(56x12)(12x10)DOOJHOYDOTLM(10x7)VKUFQDGCPT(6x9)ONBPUY(5x5)CMPUW(5x13)WWWWM(16x9)TOPYYTZBFGFAXYBO(14x15)(8x10)FPVBQPNJ(1x15)O(18x1)UTQYAKMVOBJZDLTOVO(12x3)YHILDGGCGZXZ(20x7)(13x15)RVSYRCEYESCUC(73x10)(21x5)(15x4)EHQBVPUAJWTOZKA(22x12)FIWIHPWFDOJTMAXRCKCJZE(11x5)(5x15)PDHSQ(828x13)(1x8)P(161x8)(154x4)(11x3)DAFIIEMOBYZ(6x1)EGJWXU(107x7)(13x2)SRTDQRBOGITPI(6x2)VWSTKU(23x5)GJXMEBCGSIYQNMFLISIUFTB(1x2)D(36x8)GKPPJHVMOOTOCTUHRGVVQUKNHRCZNINYLJGB(6x11)EFSGDL(327x12)(6x2)QAAXCM(5x9)YVLGN(86x1)(10x1)SVFCLDTQEO(2x4)OA(17x15)OAEGSJHUTEFJXDOTD(7x7)HGXVBHJ(20x15)(2x6)XQ(8x5)KDXCQOFM(90x11)(14x15)(9x9)DTJSQPKYW(25x7)(12x11)SYLBSZEMQSQA(1x3)S(11x2)(5x13)KWHSE(4x7)MFSC(7x6)(1x12)F(110x2)(10x1)UIIOJNJJJI(88x8)(10x10)PQCUFWXHMC(15x12)OVVASAWDIIOZYIT(17x3)NLLLZIVNOIVEHGXDP(19x11)CDJEUHEPCUEYVLGYLTJ(311x11)(165x1)(16x7)MUMPDQFLGFEGIYLU(9x11)(3x11)FNP(1x14)U(60x4)(4x7)KDWX(4x1)LKMS(27x11)MIELWFKZJUSUYBARAGTJAZIBEDH(3x1)LDI(48x15)(10x15)DUUYAIZHKY(5x8)KEMNC(14x10)HZTAHRSCICOTIR(4x13)AUNU(45x2)FRDBNRZYFZLCAIEVZWSAIMLGBCDSBHXFPWRPYJRQHNWUZ(28x8)TCHELUEWWRHMIGBKEUCWBTIEVNCB(37x10)(30x11)(6x9)PLWKRH(2x3)PL(7x2)MAFSJHV(6697x8)(172x15)(164x10)(1x9)N(151x2)(7x2)MOYJQSA(24x4)BSZRAIBTDPFAAHQWOWDJJRCW(34x10)(2x15)QB(1x1)T(4x3)ALVX(6x7)SQFSKZ(2x11)JX(54x2)(47x14)(6x12)HOALAK(28x10)DGCVKLTWNKGAGRGSWPVEUGRDAGWA(2577x12)(88x14)(82x9)(48x2)(41x11)(4x5)KAVK(15x4)LCMPETDQZUWBRCL(6x9)CFZJGS(7x15)PGVNKAY(9x12)(4x4)NHID(827x3)(259x9)(153x12)(27x11)(21x4)PQNSUYEFBRAAVCJFJPPGZ(13x4)(7x10)NNSUBSG(70x11)LOGUFNQNLSWWQXBPQIWNJIEDRFUCRCUAVANHFGDEMQZRGSITBSBLZXVWJGXPPDZEXZQCEU(7x10)DTIEEXA(4x13)DDNZ(44x13)(37x14)(8x14)NIJOMVGP(17x1)MDXVVVWIZSXMSGJMC(4x4)ARFY(31x11)(10x14)RVZUREXEUI(1x7)M(3x5)LXC(170x5)(114x3)(83x3)(19x10)UUCHMGESOOTJCTEJVRM(3x5)ZCP(2x10)IU(25x6)TNLNLUTXNPNDWMXGVVGIPVWJL(4x12)JAAA(13x1)UFQFFPMZGZNNN(1x1)V(27x5)EDPBYCEAMMWAIPWUZODVDAWPWIJ(10x1)(4x10)VJHN(73x13)(66x12)(5x1)TAFQR(11x5)(6x8)ATBQTY(5x8)KZYJI(23x1)(17x3)VSDOKMWKSGRRIRXWF(297x5)(11x6)HTGQDOGJQSJ(49x13)(43x1)(8x5)ULVVUCJI(6x11)JAITVW(12x3)ISRQLAPACLXU(25x2)(19x7)(13x2)SRBHDIAPWUMER(51x9)(45x1)(8x9)ADOZRIJD(13x15)JXWDDHBYCJKMO(6x10)SKLMKL(129x8)(111x2)(5x10)ATJGD(22x6)OLATWNGTXFJMTWCJQAQDDA(19x1)WLYAFVAKQECTNXJRBVH(20x11)DDWDXGQEZBKJBDJBAKJB(14x5)TIZKGCXPPUBGSJ(5x14)SEHYY(1410x15)(148x5)(24x2)FHQUELWXQDUWLIBTXEPSQTJQ(111x3)(40x13)(6x7)ZAWWAD(2x15)GI(3x6)XJY(7x14)SCZWIKT(10x1)WMCTELCITD(15x12)(2x8)OD(3x3)IKM(12x2)(7x4)BEEDJSC(2x15)SZ(303x5)(89x2)(70x4)(3x7)ATQ(9x4)WSWYIUPAG(12x8)KDWAUNHURPWB(3x15)ESP(15x7)DANNZUDKDFXXSBO(7x12)VUNUHBI(1x8)M(180x9)(66x1)(20x12)MOUJOXCMCZUPVKVXPKUB(27x5)QHNMIHMVJVBBVCDGHPYOWRHTCLT(1x8)Q(22x13)ADGXYCQHWNAGCLWNPXBPIX(73x9)(1x11)J(27x14)ANTTYLYVSVWEAPXPGRRVWVINHFM(7x10)ZDBZWVE(3x12)ISL(5x4)YDXBZ(9x14)XBPBWAQTR(407x3)(186x1)(36x10)(1x2)W(23x13)DBNCARJKKIAWVQVKNOIPSJO(57x2)(6x9)VKZMPB(3x2)JIZ(22x2)AQWQZQOKXLPZSJTNBJKCXL(4x12)OAOJ(8x8)(2x10)PT(29x3)BKPFZBRCXVJUJJHVOIMJELFFHHBUR(26x5)WUACSRCIRADIQKCXKEESRJNWKU(10x9)RBSMRSUWMK(177x3)(1x10)Q(28x8)(5x5)PQQGD(6x13)LAGOEK(1x5)C(71x13)(16x12)IIAWONMLGHMCHWIH(19x11)KEYESARBBXHWWQWPQVC(1x11)A(9x12)LMADFIHXJ(6x5)MZVRQU(40x12)TOSAJVXJHKVWJKLTVBIUKKESOFCKFOPSXHYCMDXQ(8x15)XGHEISVJ(68x5)(62x3)(4x7)OOWZ(7x15)QNNVWUX(5x10)GSLOA(14x8)(1x8)B(3x3)HJL(3x11)EIK(450x6)(101x9)(30x8)(2x5)MM(17x8)GHTHOCTDDQAYBUVWP(59x8)(1x5)R(3x11)HYR(21x2)STLZXNENUFTGYWNQJHFUK(10x10)NGMEAWPFBI(28x3)LNDWFXKPRAOWKJHWZZIYLJLOOBKK(110x6)(14x2)SALGMMEIINEJOU(40x7)(4x13)AIMA(5x12)GSAFV(13x7)CSLJJRZIBBUMF(21x1)(15x9)THPSZDCPWASRUYR(2x5)EE(5x7)XDUPK(13x10)(7x13)SFWIYYQ(163x10)(26x15)(13x9)HQJQXZQCIHSAE(1x15)K(4x15)FMWB(9x12)SQVQTEWMD(41x3)(13x1)EEYHHJQCDSYRO(9x2)YCDDFHWTG(3x9)LGW(51x12)(7x14)OITBFQF(8x13)FZVMIWUM(9x8)XTZCNFOTE(4x15)KTHY(221x10)(213x14)(32x3)(26x3)GEUNPCYFYLTFFXOKWXFBDYLBMK(77x1)(41x14)(7x11)XBMCCZD(21x11)KFOJGBJCEHPTKBLUSTERX(10x4)IZWNLBDABA(8x3)IVDWYIMO(50x9)(6x5)(1x1)H(4x8)VDKE(2x5)QE(17x3)(11x7)KGYMJEMQVWS(9x4)EVWJYLBBQ(16x8)XZDDQZQPCOLVIYGD(3001x2)(724x14)(235x12)(227x11)(25x5)(1x10)N(3x4)QSO(5x3)XPKCV(24x8)(11x10)XXOIOGOKIOD(1x8)B(88x4)(1x12)I(10x6)CEIKKPKUJG(1x11)Y(6x8)QAYNKJ(41x7)BGKQCYZZGRQGCNXSGYHAXMWIJOPDKLMAQRKGFRBML(66x9)(14x12)YTKTEIISOWYZWB(3x13)UDK(12x2)PXDYSSCHAFSE(2x2)DA(6x1)UZSORT(309x1)(107x1)(81x11)(23x4)UHLCPASWMUWBQPYJSUHUFEO(5x1)NTMAV(26x7)JDNTOBRNEUELJIISZGKNRYSBRE(4x10)FVKZ(13x8)SBNXXTKLMDHII(138x4)(62x12)(55x12)OMRRSQWFPEAXAXHFHHQBWGCESBLWZBVYEQQKYRGILBNJJCAOXFHDIXU(19x13)(4x5)CVBF(5x9)EBLEV(15x1)(9x13)BATHCHMGP(16x1)BGSXRPQUKQJYDIPV(44x3)(8x1)(3x1)EWQ(7x12)JJIVUYJ(12x7)XJSYYYTSZBHD(7x14)EDHTGLH(144x13)(130x4)(12x7)(6x14)CYDLYL(43x2)(4x10)DOTG(4x8)ELJI(6x6)QGMRSQ(1x4)K(2x9)GS(40x2)(11x10)CDHAMRCSTVC(8x11)WMZDTRTD(2x14)XS(11x4)IXUNDJVBLSO(2x3)CH(7x7)(2x5)NF(1015x9)(204x1)(20x10)GPKSBZZRRZGMFICXNMIX(141x9)(24x9)NXNCFLIWVVVQNVKDRUTQYNJB(3x8)AXD(33x6)MDGPOLEPZEUNBDWGBSAFRPEMTKUXIJDRA(33x11)(2x15)PY(5x1)XYUAI(9x14)UPOUZTFRQ(17x10)YAMBZLTZMBSRFZOUK(5x10)NXKJE(11x15)GNJTBTSXLTN(299x9)(29x1)(22x10)(5x13)FSAYZ(5x14)MWJOX(178x9)(79x14)(21x12)WXTCOEECSKHDITBOAAVSF(6x15)INXWKB(8x11)NTSEQSMQ(19x1)UTQUQGUDXSFROLQWKVZ(76x6)(3x2)QOL(10x15)UIGYPYAWRR(7x7)JEELSVH(13x12)RUBSHAXAWQGYF(12x12)PGQUXPKEKXRN(4x15)BQEB(8x4)(3x1)AVE(59x15)(11x11)QGBFDCZTADF(22x8)(7x7)RJEZNHA(4x11)MMJN(8x7)(3x7)GNT(174x1)(166x12)(17x2)ZDOBQSATWXMNNJDCV(17x13)(10x14)CATNORVTYK(95x10)(9x5)LROSBZBVM(29x2)ZQBDHDVQJGZTGKDBOSHXOCVXYOSKC(22x11)FXLGIAQRSIJQCGUQPFJXFM(3x8)HSE(3x11)JVV(11x2)(6x7)YCATPH(206x5)(133x6)(31x8)(8x5)YTYSRRBZ(4x13)UYBY(3x6)SJW(32x4)ZCNRDWQGEMLBOCMJMCAJJVJPLIQXSTSG(52x3)(12x10)ENCLYDJSGEYW(13x15)EXRYDALLRZKCF(8x1)RIVKPAAB(8x14)GUSBQGHU(46x2)(1x5)P(34x8)(16x3)GDVLVDXNKOCDWQJI(6x15)YGGNZJ(98x6)(91x10)(11x5)RVKZVECGFPV(8x12)(3x7)URB(54x1)(11x12)JPMMFXPJPMQ(5x1)ZKRGP(19x13)ZJIYXFENCFNAFOEFUNL(1225x12)(534x15)(214x13)(64x15)(5x7)PZQBH(25x10)XSZONMJVANCJZOJPAAEJSRYGT(16x5)PQPCLAYGZUDSQKTZ(83x8)(40x6)ZKUMBQGMGPGEAKSJHFSIPNWEKXZEHBJUUSCVWYMY(10x5)CMXYJOWZZN(6x1)WPARZQ(4x14)FAYY(16x1)(1x11)E(3x12)MLF(25x11)(3x8)BRT(10x14)OGKXRSWWPD(4x1)VFBM(227x12)(150x2)(25x10)YFBSVADMLPNYAIXAPMBRZPTCO(8x14)PKGEMLYV(50x10)DKUPPNRQKKWAJIQCFKGQVRSXTUWPVNQZESPGLNQWMVMAOCORMP(9x6)HVKQYKZAH(26x10)RQQPTHCFQFHIBMEATIAVVKWDWG(57x9)(8x10)QVILTCPK(36x13)LUDTUSNBRJNJCTXOFFMWIMAMWBKXHMMENNSW(2x7)ZQ(62x5)(25x8)(5x15)GCZUZ(9x1)JPDRQMLTB(24x13)YTTGOHFCVHRRGLESEARVNFPQ(178x5)(42x2)(21x15)(8x5)RPZICSEL(3x4)YIL(8x13)(2x11)GF(84x11)(70x2)(7x5)MWWDPMK(7x11)TEYJOFJ(31x1)TWNBXEDRILLPRUGJDBIVBFYNVHGLUED(3x8)VDU(3x9)YYV(7x4)(1x12)L(21x1)(1x4)M(1x8)J(4x3)XJGN(491x9)(148x8)(36x3)(2x9)MG(13x11)EDWPZURXZWLML(4x1)VRBX(31x11)(14x8)KBLQBMRGRGKHCT(5x14)PRDLH(3x8)CQB(32x15)(10x15)RLWBNSAEHH(3x3)HPB(2x2)PA(15x2)TKPIZXDBJJMAZDR(133x8)(1x6)B(83x8)(13x10)WNSKNXUSTCDKE(4x8)NMAW(6x6)EJRNHD(4x14)MLJN(27x5)ZQBFSJWECOPVETZPGXQJPPDQZEL(22x1)(16x1)ZSEPLZISVDFRGRJB(4x13)YRXG(39x2)(33x7)(16x9)HMRXYWRBVITBVWTG(6x2)LCYRSW(123x13)(31x12)WVTWWQZUYGBJOSPKLUQTAGWXXURUDLI(34x10)(7x5)ZTTMEQS(2x8)YX(9x13)ROIYTCKSX(28x13)(3x9)WPV(13x14)PQHWCFNXKFFOH(3x15)EUZ(14x7)(8x15)UHHVOLEJ(914x15)(782x12)(448x5)(118x6)(26x12)(4x12)BLTT(10x2)REYZXYJJFQ(39x8)(8x6)XEWKRGZT(3x8)ECB(5x9)GOBWQ(3x2)KKM(34x7)(18x11)QSQRCJXLCKUYJBPSWG(4x9)XOSJ(34x5)CIABSNSBNQQKAARJOOETKSXJIPOFQOMAPK(24x13)(3x7)ADL(10x3)RVSLAIXAJJ(67x7)(52x9)(3x2)AJH(3x6)OGK(4x9)SQFL(1x1)T(14x14)BQZZXEWSTOKEUA(3x13)HBM(171x14)(25x9)YKLMFOEYQHSODISORNEKDIGVY(12x6)(6x13)OFJBKW(53x7)(21x11)GINJQDIXMAWRHIHJLXFIP(19x8)SVTFKYTLPWYEWWFIUPB(16x12)(2x1)PB(4x8)TMWZ(33x15)(5x3)QBMUH(10x5)UHNESLDFMY(2x4)WW(9x2)(4x7)QTKW(94x10)(47x10)UUVWDQXOXQUFEROVLOZRXIHEPHTWRPSGHLNSYGNIVHEDQGV(34x3)(21x4)(7x9)IMCZEIB(4x2)TNMA(2x9)DM(192x6)(2x7)ZF(2x3)VU(6x13)DODXJG(158x15)(1x4)K(42x12)(2x8)RM(4x6)YMIM(5x2)BXKIG(10x1)ZWQMIAOBEY(78x8)(7x1)XHAETJV(28x1)QPKULGVENLMJWWEHOROJEESLKYTA(3x5)XMZ(18x1)FZBLVDOKGEZKOBICEO(13x9)MWICPPUEWVWKH(7x10)KVNGSWM(116x10)(26x3)(20x8)(8x12)SSVBYWJX(1x9)H(77x14)(12x3)OWHWKICESREK(1x11)D(46x3)(11x5)(5x15)ORJRA(1x13)K(16x3)XRJXBYVIUITRPPYRRNHU diff --git a/adventofcode16/data/advent10-test.txt b/adventofcode16/data/advent10-test.txt deleted file mode 100644 index e9ad2b4..0000000 --- a/adventofcode16/data/advent10-test.txt +++ /dev/null @@ -1,6 +0,0 @@ -value 5 goes to bot 2 -bot 2 gives low to bot 1 and high to bot 0 -value 3 goes to bot 1 -bot 1 gives low to output 1 and high to bot 0 -bot 0 gives low to output 2 and high to output 0 -value 2 goes to bot 2 diff --git a/adventofcode16/data/advent10.txt b/adventofcode16/data/advent10.txt deleted file mode 100644 index bcede34..0000000 --- a/adventofcode16/data/advent10.txt +++ /dev/null @@ -1,231 +0,0 @@ -bot 123 gives low to bot 191 and high to bot 162 -bot 191 gives low to output 9 and high to bot 192 -bot 182 gives low to bot 175 and high to bot 196 -bot 113 gives low to bot 172 and high to bot 94 -bot 78 gives low to bot 37 and high to bot 25 -bot 187 gives low to bot 125 and high to bot 45 -bot 71 gives low to bot 108 and high to bot 61 -bot 154 gives low to bot 2 and high to bot 64 -bot 142 gives low to bot 110 and high to bot 163 -bot 109 gives low to output 0 and high to bot 43 -bot 198 gives low to bot 101 and high to bot 52 -bot 138 gives low to bot 9 and high to bot 47 -value 5 goes to bot 189 -bot 179 gives low to bot 176 and high to bot 14 -bot 115 gives low to bot 82 and high to bot 181 -bot 101 gives low to bot 90 and high to bot 5 -bot 9 gives low to output 5 and high to bot 149 -bot 181 gives low to bot 0 and high to bot 27 -bot 119 gives low to bot 207 and high to bot 65 -bot 202 gives low to bot 69 and high to bot 154 -bot 100 gives low to bot 206 and high to bot 169 -bot 72 gives low to bot 205 and high to bot 12 -bot 146 gives low to bot 8 and high to bot 106 -bot 58 gives low to bot 180 and high to bot 123 -value 37 goes to bot 1 -value 61 goes to bot 144 -bot 205 gives low to bot 169 and high to bot 3 -bot 91 gives low to bot 76 and high to bot 84 -bot 93 gives low to bot 122 and high to bot 100 -bot 76 gives low to bot 147 and high to bot 89 -bot 102 gives low to bot 11 and high to bot 23 -bot 43 gives low to output 11 and high to output 12 -bot 128 gives low to bot 15 and high to bot 85 -bot 137 gives low to bot 112 and high to bot 2 -bot 88 gives low to bot 103 and high to bot 55 -bot 162 gives low to bot 192 and high to bot 141 -bot 183 gives low to bot 49 and high to bot 81 -bot 127 gives low to bot 113 and high to bot 207 -value 11 goes to bot 165 -bot 28 gives low to bot 62 and high to bot 42 -bot 95 gives low to bot 42 and high to bot 32 -bot 50 gives low to bot 160 and high to bot 194 -bot 68 gives low to bot 133 and high to bot 142 -bot 20 gives low to bot 208 and high to bot 203 -bot 178 gives low to bot 182 and high to bot 54 -bot 120 gives low to bot 102 and high to bot 99 -bot 131 gives low to bot 67 and high to bot 83 -bot 21 gives low to bot 111 and high to bot 69 -bot 27 gives low to bot 46 and high to bot 193 -bot 98 gives low to bot 63 and high to bot 22 -value 13 goes to bot 7 -bot 121 gives low to bot 155 and high to bot 146 -bot 41 gives low to bot 153 and high to bot 53 -bot 75 gives low to bot 100 and high to bot 205 -value 43 goes to bot 4 -bot 206 gives low to bot 151 and high to bot 77 -bot 0 gives low to bot 95 and high to bot 46 -bot 208 gives low to output 14 and high to bot 126 -bot 40 gives low to bot 187 and high to bot 184 -bot 184 gives low to bot 45 and high to bot 124 -bot 60 gives low to bot 188 and high to bot 202 -value 67 goes to bot 198 -bot 145 gives low to bot 22 and high to bot 108 -bot 197 gives low to bot 195 and high to bot 190 -bot 203 gives low to bot 126 and high to bot 51 -bot 87 gives low to bot 51 and high to bot 179 -bot 64 gives low to bot 128 and high to bot 85 -bot 1 gives low to bot 198 and high to bot 173 -bot 29 gives low to bot 71 and high to bot 168 -bot 47 gives low to bot 149 and high to bot 113 -bot 165 gives low to bot 80 and high to bot 135 -bot 112 gives low to bot 162 and high to bot 174 -bot 149 gives low to output 1 and high to bot 172 -value 41 goes to bot 80 -bot 5 gives low to bot 136 and high to bot 62 -bot 143 gives low to bot 97 and high to bot 41 -bot 86 gives low to bot 145 and high to bot 71 -value 59 goes to bot 147 -bot 57 gives low to bot 30 and high to bot 188 -bot 36 gives low to bot 150 and high to bot 30 -bot 135 gives low to bot 44 and high to bot 117 -bot 134 gives low to bot 16 and high to bot 35 -bot 167 gives low to bot 28 and high to bot 95 -bot 22 gives low to bot 127 and high to bot 119 -bot 26 gives low to bot 81 and high to bot 16 -bot 33 gives low to bot 6 and high to bot 78 -bot 171 gives low to bot 186 and high to bot 17 -bot 16 gives low to bot 96 and high to bot 33 -bot 118 gives low to bot 117 and high to bot 56 -bot 199 gives low to bot 98 and high to bot 145 -bot 188 gives low to bot 21 and high to bot 202 -value 29 goes to bot 164 -bot 169 gives low to bot 77 and high to bot 140 -bot 96 gives low to bot 181 and high to bot 6 -value 71 goes to bot 201 -bot 194 gives low to bot 87 and high to bot 150 -bot 160 gives low to bot 203 and high to bot 87 -bot 15 gives low to bot 158 and high to bot 105 -bot 42 gives low to bot 166 and high to bot 39 -bot 133 gives low to bot 54 and high to bot 110 -value 47 goes to bot 13 -bot 31 gives low to output 8 and high to bot 9 -bot 159 gives low to bot 74 and high to bot 155 -bot 157 gives low to bot 12 and high to bot 187 -bot 176 gives low to bot 139 and high to bot 58 -bot 35 gives low to bot 33 and high to bot 78 -bot 90 gives low to bot 148 and high to bot 136 -bot 122 gives low to bot 70 and high to bot 206 -bot 114 gives low to bot 72 and high to bot 157 -bot 55 gives low to bot 40 and high to bot 184 -bot 37 gives low to bot 193 and high to bot 25 -value 31 goes to bot 13 -bot 107 gives low to bot 99 and high to bot 93 -bot 14 gives low to bot 58 and high to bot 38 -bot 77 gives low to bot 86 and high to bot 29 -bot 116 gives low to bot 79 and high to bot 170 -bot 23 gives low to bot 132 and high to bot 70 -bot 148 gives low to bot 144 and high to bot 120 -bot 195 gives low to bot 170 and high to bot 185 -bot 185 gives low to bot 138 and high to bot 63 -bot 62 gives low to bot 107 and high to bot 166 -bot 174 gives low to bot 141 and high to bot 128 -bot 7 gives low to bot 91 and high to bot 11 -bot 3 gives low to bot 140 and high to bot 34 -bot 12 gives low to bot 3 and high to bot 125 -value 7 goes to bot 148 -bot 70 gives low to bot 161 and high to bot 151 -bot 89 gives low to bot 116 and high to bot 195 -bot 108 gives low to bot 119 and high to bot 204 -bot 201 gives low to bot 1 and high to bot 104 -bot 18 gives low to output 15 and high to bot 208 -bot 66 gives low to bot 177 and high to bot 130 -bot 189 gives low to bot 165 and high to bot 177 -bot 48 gives low to output 13 and high to bot 18 -bot 186 gives low to bot 189 and high to bot 66 -bot 82 gives low to bot 167 and high to bot 0 -bot 92 gives low to bot 201 and high to bot 49 -bot 144 gives low to bot 7 and high to bot 102 -bot 97 gives low to bot 146 and high to bot 153 -bot 104 gives low to bot 173 and high to bot 82 -bot 74 gives low to bot 83 and high to bot 50 -bot 49 gives low to bot 104 and high to bot 115 -bot 172 gives low to output 20 and high to bot 48 -bot 163 gives low to bot 41 and high to bot 53 -bot 117 gives low to bot 26 and high to bot 134 -bot 168 gives low to bot 61 and high to bot 182 -bot 65 gives low to bot 131 and high to bot 74 -bot 180 gives low to output 6 and high to bot 191 -bot 126 gives low to output 19 and high to bot 19 -value 19 goes to bot 186 -bot 166 gives low to bot 93 and high to bot 75 -bot 193 gives low to bot 59 and high to bot 88 -bot 81 gives low to bot 115 and high to bot 96 -bot 207 gives low to bot 94 and high to bot 131 -bot 130 gives low to bot 118 and high to bot 56 -bot 153 gives low to bot 106 and high to bot 152 -value 17 goes to bot 92 -bot 110 gives low to bot 143 and high to bot 163 -bot 192 gives low to output 7 and high to bot 129 -bot 156 gives low to bot 10 and high to bot 68 -bot 83 gives low to bot 20 and high to bot 160 -bot 2 gives low to bot 174 and high to bot 64 -value 23 goes to bot 91 -bot 10 gives low to bot 178 and high to bot 133 -bot 103 gives low to bot 157 and high to bot 40 -bot 61 gives low to bot 204 and high to bot 175 -bot 63 gives low to bot 47 and high to bot 127 -bot 105 gives low to bot 200 and high to bot 24 -bot 79 gives low to output 10 and high to bot 31 -bot 73 gives low to bot 168 and high to bot 178 -bot 19 gives low to output 2 and high to bot 139 -bot 125 gives low to bot 34 and high to bot 156 -bot 56 gives low to bot 134 and high to bot 35 -bot 44 gives low to bot 183 and high to bot 26 -bot 4 gives low to output 3 and high to bot 79 -bot 155 gives low to bot 50 and high to bot 8 -value 73 goes to bot 101 -bot 38 gives low to bot 123 and high to bot 112 -bot 151 gives low to bot 199 and high to bot 86 -bot 17 gives low to bot 66 and high to bot 130 -bot 13 gives low to bot 171 and high to bot 17 -bot 190 gives low to bot 185 and high to bot 98 -bot 161 gives low to bot 190 and high to bot 199 -bot 139 gives low to output 16 and high to bot 180 -bot 99 gives low to bot 23 and high to bot 122 -bot 53 gives low to bot 152 and high to bot 60 -bot 94 gives low to bot 48 and high to bot 67 -bot 132 gives low to bot 197 and high to bot 161 -bot 150 gives low to bot 179 and high to bot 209 -bot 173 gives low to bot 52 and high to bot 167 -bot 45 gives low to bot 156 and high to bot 124 -bot 30 gives low to bot 209 and high to bot 21 -bot 67 gives low to bot 18 and high to bot 20 -bot 84 gives low to bot 89 and high to bot 197 -bot 8 gives low to bot 194 and high to bot 36 -bot 59 gives low to bot 114 and high to bot 103 -bot 209 gives low to bot 14 and high to bot 111 -value 53 goes to bot 76 -bot 69 gives low to bot 137 and high to bot 154 -bot 46 gives low to bot 32 and high to bot 59 -bot 111 gives low to bot 38 and high to bot 137 -bot 196 gives low to bot 121 and high to bot 97 -bot 52 gives low to bot 5 and high to bot 28 -bot 11 gives low to bot 84 and high to bot 132 -bot 204 gives low to bot 65 and high to bot 159 -bot 164 gives low to bot 92 and high to bot 183 -bot 24 gives low to bot 109 and high to bot 43 -value 2 goes to bot 171 -bot 51 gives low to bot 19 and high to bot 176 -bot 136 gives low to bot 120 and high to bot 107 -bot 147 gives low to bot 4 and high to bot 116 -bot 25 gives low to bot 88 and high to bot 55 -bot 129 gives low to output 18 and high to bot 158 -bot 152 gives low to bot 57 and high to bot 60 -bot 39 gives low to bot 75 and high to bot 72 -bot 124 gives low to bot 68 and high to bot 142 -bot 141 gives low to bot 129 and high to bot 15 -bot 85 gives low to bot 105 and high to bot 24 -value 3 goes to bot 90 -bot 80 gives low to bot 164 and high to bot 44 -bot 54 gives low to bot 196 and high to bot 143 -bot 34 gives low to bot 73 and high to bot 10 -bot 175 gives low to bot 159 and high to bot 121 -bot 32 gives low to bot 39 and high to bot 114 -bot 140 gives low to bot 29 and high to bot 73 -bot 200 gives low to output 17 and high to bot 109 -bot 106 gives low to bot 36 and high to bot 57 -bot 177 gives low to bot 135 and high to bot 118 -bot 170 gives low to bot 31 and high to bot 138 -bot 158 gives low to output 4 and high to bot 200 -bot 6 gives low to bot 27 and high to bot 37 diff --git a/adventofcode16/data/advent12.txt b/adventofcode16/data/advent12.txt deleted file mode 100644 index 538e9ea..0000000 --- a/adventofcode16/data/advent12.txt +++ /dev/null @@ -1,23 +0,0 @@ -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 18 c -cpy 11 d -inc a -dec d -jnz d -2 -dec c -jnz c -5 diff --git a/adventofcode16/data/advent15.test.txt b/adventofcode16/data/advent15.test.txt deleted file mode 100644 index 3683605..0000000 --- a/adventofcode16/data/advent15.test.txt +++ /dev/null @@ -1,3 +0,0 @@ -Disc #1 has 5 positions; at time=0, it is at position 4. -Disc #2 has 2 positions; at time=0, it is at position 1. - diff --git a/adventofcode16/data/advent15.txt b/adventofcode16/data/advent15.txt deleted file mode 100644 index d2463d1..0000000 --- a/adventofcode16/data/advent15.txt +++ /dev/null @@ -1,6 +0,0 @@ -Disc #1 has 5 positions; at time=0, it is at position 2. -Disc #2 has 13 positions; at time=0, it is at position 7. -Disc #3 has 17 positions; at time=0, it is at position 10. -Disc #4 has 3 positions; at time=0, it is at position 2. -Disc #5 has 19 positions; at time=0, it is at position 9. -Disc #6 has 7 positions; at time=0, it is at position 0. diff --git a/adventofcode16/data/advent20.txt b/adventofcode16/data/advent20.txt deleted file mode 100644 index 222a0d9..0000000 --- a/adventofcode16/data/advent20.txt +++ /dev/null @@ -1,1029 +0,0 @@ -1397985562-1399927095 -3833336583-3842601761 -155087348-169525214 -980790001-1002844256 -1977065361-1995466542 -36411396-50881439 -3640866817-3644930814 -2920060305-2932561292 -2865550534-2890593328 -3904139550-3908601694 -732092457-735186747 -1787486182-1806545011 -1491600386-1521258835 -2566773511-2568507598 -2201927929-2217336001 -948934267-952537088 -2146567862-2152339711 -3301828099-3306223909 -476027067-495966189 -2724939184-2726302873 -2270442513-2292973307 -1889038911-1895488302 -1578483230-1586330750 -2640456298-2651236024 -4254290660-4256486512 -1399927096-1421446962 -3253590561-3255525299 -4165315034-4173427102 -2875463797-2888803426 -3656533491-3659451752 -1995466544-2025204494 -3947779886-3987268039 -1521258837-1538635254 -735486056-744123494 -230221149-237996554 -3652971511-3653104884 -3019667516-3024190047 -969642901-977292032 -3645248112-3645595401 -3107902888-3148345903 -3202431537-3216963208 -1220746925-1223070151 -3267241325-3270573499 -903635659-931632639 -2847235008-2856948110 -4224654922-4236958325 -856464812-859836714 -1804748836-1825290046 -4082899236-4091369419 -953634177-954158487 -185823994-190243500 -1964052811-1976412955 -2420916052-2424566745 -953985134-954947310 -2584348542-2614406629 -2191157950-2198152569 -792721019-802271235 -3791161572-3800845341 -1864843815-1865425121 -1974124152-1989195256 -7825290-22939478 -440787397-441318113 -43830518-44800277 -3060173435-3065634268 -3165692093-3169381847 -1833191664-1858547431 -1931833201-1935239219 -57759373-67515020 -4113876528-4114024438 -1942285042-1951328312 -1604942683-1619936021 -853121890-865841853 -1837742103-1838104083 -3653104885-3680835942 -461163769-461467242 -3154277391-3159331043 -1689521647-1696389379 -4132416435-4154260806 -3575213588-3600527150 -962221692-989154668 -1935239220-1964052809 -853763614-856527667 -1529882226-1553729207 -2908870325-2931754108 -2317225465-2326207645 -550660010-557063544 -2362374340-2370047564 -3154439917-3169895876 -2971931902-2973888167 -3915276202-3919826635 -3443104535-3459421692 -2452320784-2463651682 -2645465344-2652262587 -623576471-624671363 -251678316-253256260 -3892899041-3898838343 -464002012-476960875 -3778510328-3794259788 -1032494594-1042075604 -1726869059-1729493515 -3050865580-3058403387 -4096451268-4105743850 -1794978532-1818366498 -1687963887-1693429657 -1919840326-1931792580 -3890085195-3896657673 -687727514-697989805 -2130251157-2132529361 -3709755147-3710261877 -2103854130-2136933959 -1240822471-1247567713 -2490928812-2517604025 -2792885084-2793563605 -4033319760-4037319553 -643767762-679821627 -2244191155-2263679816 -783204448-826857019 -874202754-876456673 -944792902-949779600 -1014490072-1020320091 -3709667893-3710060580 -3034067373-3060173434 -2380617387-2398492444 -3913418161-3925664598 -1327421559-1355573458 -2029296660-2060654925 -1015438314-1024776747 -758467105-766508249 -3196737715-3203535886 -4113219652-4113918216 -1900161068-1903498607 -737196603-742913680 -2762651281-2782581391 -1241724970-1273412553 -2234377553-2234408980 -3485475801-3485850742 -2823889184-2825719103 -546429220-552909166 -3889312069-3891497364 -1402469948-1411853934 -1612881279-1613899725 -609769932-611526589 -2821381184-2837715581 -2793443367-2793757783 -3865830130-3882113243 -2302840856-2330280758 -1587820493-1589487382 -1925168590-1930014298 -139238032-141721873 -3159767763-3165446614 -3124692923-3128639222 -2270740594-2281991663 -1338789977-1355677780 -1748641567-1751344173 -1416549076-1421417040 -4096185893-4097103352 -2627343873-2650750532 -3948622110-3962424399 -3734105837-3770337993 -557813236-573792261 -551603476-555886358 -1030836305-1032494592 -1839182718-1840151300 -833662859-842106273 -1375985004-1393778055 -1219332117-1221436570 -191846359-198587644 -984829875-987740125 -3262588159-3269982376 -4113255424-4114203177 -3754035901-3768277382 -182356017-189508231 -4235072872-4237128944 -2423845665-2424035634 -2247134633-2249391253 -1857070653-1864762228 -2960971255-2986516950 -3609807449-3629876533 -4232009521-4238664410 -2517604027-2532315540 -2284458125-2290950480 -1864762230-1865525184 -1534410012-1552842249 -1413197933-1418525745 -943004746-952141611 -3692615771-3699711756 -1641152229-1667111341 -3747007580-3765218619 -2379349853-2380702573 -2147254282-2171495074 -1839659452-1840812997 -3895746954-3895831312 -1969771475-1979046124 -3083853152-3107315352 -3503489045-3537546786 -2926162506-2931745365 -1533535067-1553811000 -4201206086-4201731554 -3151335418-3163702483 -3589540929-3593463200 -1469107231-1474901685 -1696389381-1748641566 -3910219915-3918863153 -3431523383-3432952214 -4219640842-4234037045 -2150930801-2173615229 -3364393582-3403187084 -3294593092-3301828098 -690072645-725395887 -1123029535-1135646014 -122125578-124303606 -4157086822-4157139009 -3561413702-3569934827 -3814389694-3815485217 -1931792582-1935186677 -3601713750-3623094300 -2322435284-2327697391 -1362099577-1366674586 -628898939-635522883 -3117359644-3135324932 -1119748429-1139457622 -3998554882-4014887284 -2837930003-2838092963 -2123885505-2126641084 -559576606-579617582 -2712491763-2723761235 -1391544337-1397769783 -3416595318-3422405875 -3403187085-3409221687 -1096346351-1099114997 -2703273295-2705328183 -4113785067-4113908859 -206706372-209083880 -3270160481-3271551430 -3285776930-3292794583 -461234099-461937747 -750957483-775003729 -4184090903-4204400455 -362276042-362676210 -4249953310-4250510076 -3477313433-3479866795 -3421127715-3428203812 -900263617-943004744 -835969757-836263940 -1368935057-1381717988 -149206242-166300349 -2154227228-2154605899 -1906507809-1919840325 -305745049-306370999 -1726861064-1728699678 -1357107426-1362288056 -799761595-801167452 -229374054-231369444 -1529834231-1535566821 -754999390-757160209 -1889190091-1897618002 -2138256423-2146567860 -2295710373-2336599718 -1019914990-1023404843 -969695821-980184547 -1443906340-1473362681 -833198360-836801840 -1598512205-1604942681 -3199387842-3210382637 -3895688557-3895758051 -1377900216-1382117658 -3504189983-3527083803 -3577792742-3598561740 -613575187-632091293 -2551456957-2551799726 -4058092124-4103653807 -3381308208-3381342063 -13984873-15227949 -1727002523-1727443872 -2357289728-2361812594 -3876054666-3879516291 -3278228783-3281894754 -1640252019-1649137061 -2372620720-2374166948 -4109383543-4110464683 -2069304258-2091857479 -4107063052-4115320079 -700724903-704038468 -2443015838-2445045788 -2487239190-2506741363 -2840932452-2854276703 -3023346911-3024737732 -855982891-864879970 -3794259789-3803801069 -500728802-502979928 -2043915271-2045977041 -2883286342-2889401600 -3645471325-3645615199 -2570503460-2572567939 -602978860-611682641 -3014237470-3019165777 -82763197-99917251 -3459591973-3480841023 -3726344670-3753436804 -778825357-781459133 -3501129290-3535003794 -2110603192-2124722020 -783458439-789801399 -3244733157-3257526606 -3107315354-3107902887 -3485245437-3487101327 -2981323037-2986657197 -4250870060-4262722661 -402547398-411983817 -1723037247-1732297154 -2168632715-2175630061 -35807058-48835050 -3967606126-3981776003 -1175337592-1177759663 -531093126-538642617 -3639437354-3641516465 -2313078075-2334991622 -2166324817-2172350995 -4271478996-4279496401 -4224492579-4228356386 -213570433-219586693 -3577738508-3578878626 -2004747361-2023251091 -638907979-651338734 -2042269899-2052960282 -3459421693-3470010193 -1255554697-1256876442 -547623253-554247422 -1091999863-1096115712 -3603876264-3620115458 -3743564125-3764787998 -1727097235-1727512693 -3360184134-3361837705 -2693328393-2699639043 -944625756-949285354 -2867948986-2885571238 -3815862045-3817192748 -85521215-90999860 -3492959364-3496450746 -2370047566-2373514273 -978064227-982934994 -3002922234-3034067371 -3702198906-3708772192 -1762248212-1777087215 -3200048313-3217284316 -310731268-314864040 -4256139187-4257030493 -4225267250-4242760473 -4236421277-4249953308 -456593320-464031864 -4173427103-4219640840 -3415471996-3417373524 -517786225-518353134 -2348225752-2349209975 -988767498-1002507583 -251787031-253294331 -2049843175-2053651832 -3272267359-3280700773 -1880334878-1897812119 -2180116083-2181662625 -1325501561-1332569991 -1977956589-1980243809 -1419475215-1429076341 -1571066989-1593324419 -1908591293-1926977363 -892862026-900263616 -2375708935-2420847226 -4252569311-4259706067 -611682642-636576980 -4069864506-4088316591 -3429899073-3443104533 -2881173909-2904242568 -838248538-839457347 -1040048945-1048427339 -2790325698-2817756908 -259065357-260284546 -4251177319-4254787503 -1727035024-1727220036 -1750189264-1751440819 -1182854783-1199103982 -1565110550-1598512204 -1870272544-1906507807 -2294404836-2313311754 -605934295-611508831 -3164119802-3167924307 -1833545461-1834287253 -2077509652-2090604632 -2880238444-2890262424 -1142031337-1148518669 -4005987455-4006591959 -1570054798-1576009746 -2071505543-2096650688 -3485106835-3485722365 -577813461-602978858 -2776866362-2786901141 -652895584-671838947 -3299449839-3300020065 -1623460193-1638054811 -3340666115-3353087971 -2160043893-2166478186 -1096507969-1101378526 -800088830-803013264 -13565145-17743483 -85024888-98806837 -3823224649-3827480049 -3931062541-3938277752 -1012892921-1030836304 -1565255853-1583189516 -1647708193-1660811906 -657010776-666847464 -1839278378-1840330117 -1008973854-1015912839 -1910283066-1913763928 -837557263-838411350 -1282815406-1288995029 -3980611-5584893 -3148345905-3165692092 -2742421263-2776592447 -229688447-231610502 -2743245719-2776866361 -3878098271-3883221309 -801316931-804135040 -1471664269-1473302685 -1667111343-1669791317 -1610947175-1617629889 -2003085048-2013051153 -3307457133-3360184133 -1195340209-1203343093 -2025204495-2028453665 -32923438-47156091 -3168696227-3170592073 -3235742576-3255614827 -2266729227-2280080556 -775349160-775813901 -1473362682-1482720843 -3572312385-3575213587 -528189743-538093910 -2448613175-2454994921 -2843283603-2855830818 -2890593329-2907911642 -153191907-164713586 -4043150608-4096451267 -605875663-610305444 -3021650-3111593 -2420847228-2420916051 -4105743852-4113419273 -2460397045-2462412256 -567585936-602788586 -1727082530-1727671255 -4033434900-4037286987 -4144511592-4162791978 -3075535768-3080851776 -1639907267-1641352662 -920282814-940069234 -3826936712-3829839713 -1916925688-1925357559 -1845213589-1860279111 -1854550234-1855331759 -3065495280-3066648567 -170353613-171186253 -3212824412-3220097963 -2853141261-2853700351 -3556640-3614471 -1976412956-1988224560 -3296627900-3297163117 -725395889-749479392 -2233996777-2234267091 -1757843247-1759325879 -4279435928-4280514617 -801130429-802441496 -3751681078-3760769957 -2347982977-2366662085 -4235682663-4235983270 -3496282296-3499776408 -3821333501-3824224274 -2723761236-2742421261 -2827790660-2835001032 -1935288812-1941728417 -1726855325-1728050569 -1726544710-1727430469 -3940016790-3941936080 -546101318-552097193 -4184013882-4199809831 -2425846522-2426458497 -3361306788-3362865310 -453108094-456181406 -860613212-892862024 -362299769-362572315 -17407637-23147236 -3504547466-3505717615 -985733821-987978530 -2735458050-2740276231 -270737999-279345075 -1787997707-1795677405 -3680835944-3709667892 -3818408771-3825605323 -16201770-24236234 -1158649495-1176112357 -952141612-961131855 -2690399120-2697050905 -2837757591-2838004534 -3487101328-3501129288 -3888980907-3889308041 -3139002312-3144216973 -1812389934-1832528171 -4062104130-4081249321 -4109985868-4116611691 -261499681-305729049 -414982559-415941657 -2837715582-2837939443 -1612314605-1613532579 -1847293843-1854555869 -2048771211-2052518908 -701565294-713634431 -208666820-210559343 -2827420738-2834300681 -4141218867-4154796647 -1970845509-1978651442 -1552842250-1565110548 -412226938-422230809 -596789633-599083332 -571536075-580257978 -4162791979-4165315032 -2578608882-2600367385 -2953753655-2967704893 -1620638998-1623460191 -3652181866-3653081107 -1226734954-1263413684 -208300600-209821102 -3019452277-3019912348 -1614701447-1620638997 -3941936081-3996282520 -3237157247-3249234449 -2348186235-2349807460 -3562813382-3565898388 -3710261879-3738818624 -2629772693-2635508362 -2443958025-2447376004 -399974274-423562472 -1778846705-1790086524 -2234646109-2266729225 -1668227842-1689521646 -3549361830-3564965209 -1286877599-1288249900 -2117171419-2125943104 -3620689032-3652181864 -3299261942-3299688775 -1490791491-1514099208 -3817192749-3833336581 -3410915712-3429899072 -541342032-546429219 -918411171-924314929 -2182745019-2185607312 -2212606518-2214621946 -1779983196-1804748835 -1936162035-1950945741 -3704618658-3705051939 -1764680564-1778846703 -2698697285-2709059938 -1326793529-1329535111 -3702328552-3704015912 -2008848662-2015608293 -1231732813-1247626190 -1750754899-1752420348 -1093229127-1099058712 -4234037046-4236997947 -3493552026-3497919102 -3235053958-3252106974 -4018470466-4036608102 -701727470-719544055 -574115703-596179511 -3202587506-3210265222 -698102469-706160479 -1832528173-1833853020 -441673267-452453492 -2911169435-2921998083 -2229856423-2234646108 -2196901664-2204841238 -1675352425-1691381949 -4250455374-4250513503 -3237515102-3260318492 -171161905-175877664 -2581539215-2596898898 -4004311193-4012385537 -1324083574-1324546090 -4096883078-4097164771 -780817620-784569858 -208242283-211110211 -1330525084-1336070077 -4008229513-4009226682 -834427868-838848257 -348999024-350410733 -467200453-500728800 -4121379695-4138903168 -2949401565-2976409803 -3917170902-3926057375 -3071781061-3074945017 -3299433864-3300019479 -3894069601-3909653487 -3741129648-3770933677 -1337537272-1347157874 -216818049-245842326 -1626689836-1641152228 -1112292760-1131928222 -1651219196-1654305795 -506374440-513152599 -430626871-453108093 -3297525469-3306042698 -3256944-3556639 -2937659849-2949401563 -3915476081-3917349752 -170273133-170386354 -3896834322-3906255111 -2911101673-2912870470 -2383625542-2388030504 -2202988069-2215864531 -3931566185-3938787313 -3893325063-3903409791 -1677593295-1694860962 -1726429432-1726959531 -550814749-553019695 -328183437-332828273 -2463651684-2490928811 -2532315541-2561777512 -902393943-906380753 -3255012511-3262588157 -464031865-471880579 -987894291-990856994 -2994108099-3016224261 -1464668452-1468573067 -3817599599-3819192240 -4281205900-4284988083 -1610485824-1614835930 -2922504894-2943149643 -1366674588-1391544336 -2716673569-2724196148 -2136933960-2141630673 -952929934-954132488 -102430362-103410808 -1097408788-1102041819 -1411884657-1413275434 -1569519099-1595018443 -3314630119-3351858696 -1159063633-1161383669 -1306210365-1310168207 -65606761-70210379 -969367195-1005028750 -305729050-305810398 -2964351925-2968998528 -2586831864-2598752947 -2717800067-2732550815 -1357733985-1357970980 -3142078167-3146050939 -836110255-836394578 -2855830819-2865550532 -1854118661-1854889002 -3275779087-3291457029 -481061771-497879373 -2572567941-2573814074 -3653825904-3656453968 -1752420350-1764680563 -3381301699-3381332932 -1499205864-1508841960 -2568948534-2571512127 -124303608-171161904 -834540652-842353886 -3296634137-3297348568 -756487393-757398433 -2920277931-2929967348 -775003730-775425950 -4006843235-4009222380 -4173461462-4180792939 -2573814075-2627343871 -3379943605-3385769428 -3613135813-3622915872 -456181408-463675190 -1679128363-1689145745 -1771462652-1775663407 -3896043704-3896601721 -3668521412-3670169542 -3189676166-3211906595 -4178058206-4197742264 -649282356-651528503 -4118830219-4151607552 -3403081369-3405163204 -1295416035-1327421558 -3535003795-3540392660 -2521028658-2521094946 -3378794770-3384471028 -3876141848-3885724936 -3415436447-3434089766 -3236961463-3242080308 -1289735149-1320942247 -20583890-31053879 -2039793197-2062178184 -3361173897-3362649522 -476445996-491796622 -2305715287-2337252117 -1407865145-1413213862 -100343325-122125577 -4259473250-4260027959 -1539624652-1558856769 -3388893007-3406562225 -3815438953-3819219050 -88644450-100343323 -2838092965-2853295826 -2298582785-2308283977 -1911552487-1924425897 -3486137486-3495337804 -3087487707-3105123828 -2449249575-2459990446 -1114195378-1147840884 -3084130783-3090098247 -280604127-291812349 -251655795-252002640 -2065738411-2068050329 -3540392662-3561413701 -4108709270-4110339849 -185357325-191846357 -2988550972-3002922233 -2008583503-2009174592 -367514957-375053863 -3738337-5109287 -2068050330-2103854128 -2185761689-2201113375 -502979929-541342030 -437711847-441825502 -763342493-770307022 -3891568242-3896055908 -2771403009-2783873057 -857296477-865365400 -2372996602-2415318753 -209779549-212434153 -3904992626-3910219913 -2976409804-2983591595 -3614472-4019606 -3429649651-3432451145 -2312224052-2330392688 -3889124925-3889312068 -3368044346-3369236254 -2485542419-2506962662 -3703774963-3704692844 -249324444-259065356 -3038718563-3063082755 -2348008128-2348750596 -4027659985-4040018381 -4020167637-4028011463 -631597603-638907977 -156806924-163856510 -465625162-475575707 -1653345924-1655794173 -644029368-673749955 -1342645425-1348056082 -754961620-757509941 -2185607313-2229856421 -2430693014-2452320783 -2423618253-2423991135 -2578007008-2593849390 -251455290-252167220 -2141431440-2145256393 -461551382-490688234 -1280627802-1282187341 -2447416346-2448485092 -801034819-803950109 -3803801071-3817168598 -2791159575-2797552524 -2444538618-2447695611 -3656900217-3658497760 -362424586-362913246 -2315692184-2318703938 -2658294991-2705851874 -758225777-762221309 -3220097965-3253590560 -3918863154-3937848140 -3842601762-3867989792 -1362989964-1365638761 -2669543622-2698580716 -204441701-216667513 -3337068522-3351226708 -2910214082-2911637865 -2887286425-2894235722 -2556506098-2564781736 -3660974732-3670236178 -3738818625-3765658510 -3926612436-3931754899 -849660339-860613211 -3878152839-3882588354 -1198564716-1203493708 -90563967-91509385 -4113419274-4118830217 -2421569872-2430693012 -1380512818-1382191639 -2171495075-2182745017 -2346496816-2347982976 -2773187116-2776527627 -3264380514-3275779086 -2795335811-2807483836 -1255625643-1259049524 -3039851327-3062062714 -3477125643-3485106833 -368161721-385647773 -557063546-567450813 -2662245837-2698867380 -409471723-415008368 -2692399192-2709671522 -3289361982-3294593090 -2444382077-2446243156 -995864334-1008973852 -1485359185-1511483438 -3170296689-3173219013 -651528504-684359142 -2799805080-2819283989 -2745894337-2761860632 -4021069786-4034189388 -2423235028-2423776100 -1161581883-1172788321 -575303235-584246627 -1323324671-1324380624 -423562473-430626869 -3173219015-3207487851 -256367467-256655264 -2729359684-2736808477 -2979779055-2988550970 -1482720845-1491600385 -1057830454-1067468142 -107593407-117739880 -251911362-252150667 -3569934829-3575123572 -2241251261-2263701349 -2726382705-2727247227 -4037319554-4043150606 -3718405500-3739070428 -2364203325-2366532950 -836023031-836878401 -961131857-995864333 -3961933297-3977917454 -3180447251-3212824411 -3124189059-3126106003 -793312386-802938899 -3873230388-3877536365 -2841402828-2852690950 -2931754109-2946377103 -4097161122-4098833023 -2953494240-2963922968 -1016080923-1023809512 -2305965588-2325470268 -1726429959-1728139098 -1725984972-1746517984 -2280080557-2294404834 -1453817212-1468119920 -3343366097-3354792825 -2726120736-2727168410 -1726047629-1726491275 -2425599810-2428632507 -1127809348-1136655248 -784569859-830872706 -3362865312-3399674855 -467374870-490345878 -2028166733-2029296658 -3793434985-3799550158 -4113324238-4114378130 -2768224805-2776292356 -3076910664-3083853151 -3795367294-3799559727 -983334314-985924731 -2566325429-2567644886 -2079828370-2095628301 -1355677782-1357107425 -3139807-3256943 -2297016509-2339606996 -3937987517-3940016788 -3111594-3180044 -3408799234-3410915710 -2736163676-2737085107 -2927299659-2930923781 -2828368238-2835482134 -2924361649-2933817173 -3278336262-3282205864 -209200196-211114889 -1089312986-1101840140 -2426098602-2426594407 -3761524602-3771101074 -4038400571-4039718550 -4278817904-4281979539 -1971790010-1982080495 -2482451447-2482859303 -696142504-708558552 -832751897-838668629 -522885199-537712867 -3854296653-3860724814 -4250257176-4250870059 -1098058891-1101871591 -2041494246-2044474847 -3379302636-3380200608 -2823631138-2825091086 -3114946479-3141035176 -2564781738-2570503459 -3066648569-3072839529 -2963998950-2966815574 -3996282522-4010140708 -2609189498-2612898027 -1398040334-1399196426 -2705851875-2712491761 -3303896197-3307457131 -3072710194-3078315569 -2650750533-2658294989 -125494120-152726161 -1799712687-1813651344 -4113647358-4114354821 -914689746-931400632 -2334991623-2346496814 -952020939-952231689 -3279484720-3279924084 -826369329-829381680 -306371001-356731744 -2545936899-2562194811 -755902693-769100113 -2423872436-2428440493 -1040252532-1043084518 -2531373947-2564360722 -3758158314-3765326552 -250882458-253102421 -2445299323-2451474922 -2845734926-2859990778 -2571586320-2571725933 -4010140709-4018470464 -1397769785-1398762710 -3812038748-3819957572 -2446738279-2447892957 -3600527152-3609409007 -260284548-271403358 -108405773-115248353 -1910315960-1918268562 -1323436354-1327278720 -2234068374-2234384404 -982370550-984890793 -362487749-363332785 -3703404287-3704710600 -511536791-531472470 -1204860806-1211356557 -1280824569-1283027536 -1864956505-1865664159 -1264539978-1280627800 -838668630-849660337 -1039302291-1048802154 -3820162182-3829891468 -252725400-258978812 -3811611218-3815532558 -5584894-20583889 -2571534738-2571657850 -383938370-391077230 -732225856-735643042 -2968582589-2972324720 -2379822184-2380941432 -775813903-782941501 -836283753-836553990 -2786901143-2790325697 -2907911644-2910586722 -3879031171-3883342655 -2446835992-2450584620 -3604970524-3620689031 -3656986634-3664253237 -108870276-116802953 -50881441-82763196 -830872708-834595234 -948787824-952327285 -3554278607-3558372901 -1411483095-1443906338 -1305613100-1306576996 -1171167570-1175215348 -145365808-166164576 -3344972328-3354937927 -178346121-180017093 -3487950867-3498067707 -3455826248-3468331688 -1357654405-1361499079 -2373804146-2375708934 -1682091088-1685006321 -2532666674-2554100432 -3872534964-3888980905 -684359144-690072644 -31053881-36411395 -749479393-750957481 -1233001829-1257233242 -1109953682-1114195377 -175877666-185357324 -1283027537-1289735147 -3374715947-3381800912 -1283434504-1286474690 -1402640030-1423128613 -1426046568-1440437597 -3021217411-3028438706 -3449839444-3455646128 -2192814747-2207353667 -1039244541-1044508076 -363332786-399974272 -620349463-624462815 -3118427268-3142548507 -1177759665-1219332116 -1223070153-1264539977 -2469319931-2491726485 -1101840141-1109953680 -1048427340-1089312984 -2577948853-2584544199 -43965520-47689181 -1833568506-1857070652 -356731745-362276040 -4262722663-4294967295 -2632338905-2641519671 -0-3021649 -1148518671-1158649494 -3562116150-3562242974 -567450814-585792807 -198587645-249324442 -3756871898-3778510326 -2815453754-2821381182 -3562113904-3562138636 -2567358294-2571273144 -2061605698-2065382934 -1865301101-1870272543 -2565458232-2569021972 -267026988-275785393 -2570888765-2571620263 -179248341-180073497 -267066134-277088479 -2060654926-2062597974 -2065382936-2066893485 -3298704119-3299564801 -2194534845-2218883408 diff --git a/adventofcode16/data/advent21.txt b/adventofcode16/data/advent21.txt deleted file mode 100644 index b445817..0000000 --- a/adventofcode16/data/advent21.txt +++ /dev/null @@ -1,100 +0,0 @@ -rotate based on position of letter a -swap letter g with letter d -move position 1 to position 5 -reverse positions 6 through 7 -move position 5 to position 4 -rotate based on position of letter b -reverse positions 6 through 7 -swap letter h with letter f -swap letter e with letter c -reverse positions 0 through 7 -swap position 6 with position 4 -rotate based on position of letter e -move position 2 to position 7 -swap position 6 with position 4 -rotate based on position of letter e -reverse positions 2 through 3 -rotate right 2 steps -swap position 7 with position 1 -move position 1 to position 2 -move position 4 to position 7 -move position 5 to position 0 -swap letter e with letter f -move position 4 to position 7 -reverse positions 1 through 7 -rotate based on position of letter g -move position 7 to position 4 -rotate right 6 steps -rotate based on position of letter g -reverse positions 0 through 5 -reverse positions 0 through 7 -swap letter c with letter f -swap letter h with letter f -rotate right 7 steps -rotate based on position of letter g -rotate based on position of letter c -swap position 1 with position 4 -move position 7 to position 3 -reverse positions 2 through 6 -move position 7 to position 0 -move position 7 to position 1 -move position 6 to position 7 -rotate right 5 steps -reverse positions 0 through 6 -move position 1 to position 4 -rotate left 3 steps -swap letter d with letter c -move position 4 to position 5 -rotate based on position of letter f -rotate right 1 step -move position 7 to position 6 -swap position 6 with position 0 -move position 6 to position 2 -rotate right 1 step -swap position 1 with position 6 -move position 2 to position 6 -swap position 2 with position 1 -reverse positions 1 through 7 -move position 4 to position 1 -move position 7 to position 0 -swap position 6 with position 7 -rotate left 1 step -reverse positions 0 through 4 -rotate based on position of letter c -rotate based on position of letter b -move position 2 to position 1 -rotate right 0 steps -swap letter b with letter d -swap letter f with letter c -swap letter d with letter a -swap position 7 with position 6 -rotate right 0 steps -swap position 0 with position 3 -swap position 2 with position 5 -swap letter h with letter f -reverse positions 2 through 3 -rotate based on position of letter c -rotate left 2 steps -move position 0 to position 5 -swap position 2 with position 3 -rotate right 1 step -rotate left 2 steps -move position 0 to position 4 -rotate based on position of letter c -rotate based on position of letter g -swap position 3 with position 0 -rotate right 3 steps -reverse positions 0 through 2 -move position 1 to position 2 -swap letter e with letter c -rotate right 7 steps -move position 0 to position 7 -rotate left 2 steps -reverse positions 0 through 4 -swap letter e with letter b -reverse positions 2 through 7 -rotate right 5 steps -swap position 2 with position 4 -swap letter d with letter g -reverse positions 3 through 4 -reverse positions 4 through 5 diff --git a/adventofcode16/data/advent22.txt b/adventofcode16/data/advent22.txt deleted file mode 100644 index 8821df9..0000000 --- a/adventofcode16/data/advent22.txt +++ /dev/null @@ -1,1066 +0,0 @@ -root@ebhq-gridcenter# df -h -Filesystem Size Used Avail Use% -/dev/grid/node-x0-y0 88T 66T 22T 75% -/dev/grid/node-x0-y1 85T 65T 20T 76% -/dev/grid/node-x0-y2 88T 67T 21T 76% -/dev/grid/node-x0-y3 92T 68T 24T 73% -/dev/grid/node-x0-y4 87T 64T 23T 73% -/dev/grid/node-x0-y5 90T 64T 26T 71% -/dev/grid/node-x0-y6 85T 64T 21T 75% -/dev/grid/node-x0-y7 93T 66T 27T 70% -/dev/grid/node-x0-y8 90T 69T 21T 76% -/dev/grid/node-x0-y9 88T 69T 19T 78% -/dev/grid/node-x0-y10 90T 69T 21T 76% -/dev/grid/node-x0-y11 90T 65T 25T 72% -/dev/grid/node-x0-y12 86T 73T 13T 84% -/dev/grid/node-x0-y13 92T 67T 25T 72% -/dev/grid/node-x0-y14 90T 70T 20T 77% -/dev/grid/node-x0-y15 90T 66T 24T 73% -/dev/grid/node-x0-y16 86T 66T 20T 76% -/dev/grid/node-x0-y17 87T 67T 20T 77% -/dev/grid/node-x0-y18 85T 64T 21T 75% -/dev/grid/node-x0-y19 91T 67T 24T 73% -/dev/grid/node-x0-y20 93T 73T 20T 78% -/dev/grid/node-x0-y21 91T 72T 19T 79% -/dev/grid/node-x0-y22 86T 64T 22T 74% -/dev/grid/node-x0-y23 85T 73T 12T 85% -/dev/grid/node-x0-y24 93T 65T 28T 69% -/dev/grid/node-x0-y25 89T 67T 22T 75% -/dev/grid/node-x0-y26 94T 64T 30T 68% -/dev/grid/node-x0-y27 85T 69T 16T 81% -/dev/grid/node-x1-y0 85T 68T 17T 80% -/dev/grid/node-x1-y1 93T 69T 24T 74% -/dev/grid/node-x1-y2 85T 68T 17T 80% -/dev/grid/node-x1-y3 89T 69T 20T 77% -/dev/grid/node-x1-y4 92T 70T 22T 76% -/dev/grid/node-x1-y5 92T 65T 27T 70% -/dev/grid/node-x1-y6 87T 69T 18T 79% -/dev/grid/node-x1-y7 93T 65T 28T 69% -/dev/grid/node-x1-y8 85T 69T 16T 81% -/dev/grid/node-x1-y9 88T 64T 24T 72% -/dev/grid/node-x1-y10 88T 65T 23T 73% -/dev/grid/node-x1-y11 85T 66T 19T 77% -/dev/grid/node-x1-y12 85T 69T 16T 81% -/dev/grid/node-x1-y13 90T 73T 17T 81% -/dev/grid/node-x1-y14 93T 68T 25T 73% -/dev/grid/node-x1-y15 94T 68T 26T 72% -/dev/grid/node-x1-y16 85T 67T 18T 78% -/dev/grid/node-x1-y17 87T 71T 16T 81% -/dev/grid/node-x1-y18 90T 73T 17T 81% -/dev/grid/node-x1-y19 86T 66T 20T 76% -/dev/grid/node-x1-y20 89T 71T 18T 79% -/dev/grid/node-x1-y21 94T 69T 25T 73% -/dev/grid/node-x1-y22 90T 70T 20T 77% -/dev/grid/node-x1-y23 92T 70T 22T 76% -/dev/grid/node-x1-y24 91T 70T 21T 76% -/dev/grid/node-x1-y25 94T 70T 24T 74% -/dev/grid/node-x1-y26 90T 64T 26T 71% -/dev/grid/node-x1-y27 92T 73T 19T 79% -/dev/grid/node-x2-y0 88T 72T 16T 81% -/dev/grid/node-x2-y1 88T 70T 18T 79% -/dev/grid/node-x2-y2 89T 68T 21T 76% -/dev/grid/node-x2-y3 89T 72T 17T 80% -/dev/grid/node-x2-y4 93T 66T 27T 70% -/dev/grid/node-x2-y5 92T 65T 27T 70% -/dev/grid/node-x2-y6 91T 66T 25T 72% -/dev/grid/node-x2-y7 86T 70T 16T 81% -/dev/grid/node-x2-y8 94T 66T 28T 70% -/dev/grid/node-x2-y9 88T 71T 17T 80% -/dev/grid/node-x2-y10 90T 64T 26T 71% -/dev/grid/node-x2-y11 88T 68T 20T 77% -/dev/grid/node-x2-y12 86T 70T 16T 81% -/dev/grid/node-x2-y13 90T 68T 22T 75% -/dev/grid/node-x2-y14 85T 70T 15T 82% -/dev/grid/node-x2-y15 93T 70T 23T 75% -/dev/grid/node-x2-y16 87T 73T 14T 83% -/dev/grid/node-x2-y17 92T 66T 26T 71% -/dev/grid/node-x2-y18 88T 70T 18T 79% -/dev/grid/node-x2-y19 89T 69T 20T 77% -/dev/grid/node-x2-y20 92T 64T 28T 69% -/dev/grid/node-x2-y21 85T 67T 18T 78% -/dev/grid/node-x2-y22 89T 70T 19T 78% -/dev/grid/node-x2-y23 94T 70T 24T 74% -/dev/grid/node-x2-y24 87T 72T 15T 82% -/dev/grid/node-x2-y25 91T 73T 18T 80% -/dev/grid/node-x2-y26 91T 65T 26T 71% -/dev/grid/node-x2-y27 90T 70T 20T 77% -/dev/grid/node-x3-y0 92T 72T 20T 78% -/dev/grid/node-x3-y1 91T 71T 20T 78% -/dev/grid/node-x3-y2 93T 71T 22T 76% -/dev/grid/node-x3-y3 89T 72T 17T 80% -/dev/grid/node-x3-y4 88T 68T 20T 77% -/dev/grid/node-x3-y5 92T 73T 19T 79% -/dev/grid/node-x3-y6 86T 64T 22T 74% -/dev/grid/node-x3-y7 86T 67T 19T 77% -/dev/grid/node-x3-y8 85T 73T 12T 85% -/dev/grid/node-x3-y9 86T 72T 14T 83% -/dev/grid/node-x3-y10 88T 67T 21T 76% -/dev/grid/node-x3-y11 94T 67T 27T 71% -/dev/grid/node-x3-y12 91T 66T 25T 72% -/dev/grid/node-x3-y13 85T 67T 18T 78% -/dev/grid/node-x3-y14 94T 68T 26T 72% -/dev/grid/node-x3-y15 94T 73T 21T 77% -/dev/grid/node-x3-y16 92T 71T 21T 77% -/dev/grid/node-x3-y17 92T 73T 19T 79% -/dev/grid/node-x3-y18 86T 66T 20T 76% -/dev/grid/node-x3-y19 88T 69T 19T 78% -/dev/grid/node-x3-y20 90T 73T 17T 81% -/dev/grid/node-x3-y21 87T 71T 16T 81% -/dev/grid/node-x3-y22 92T 72T 20T 78% -/dev/grid/node-x3-y23 87T 71T 16T 81% -/dev/grid/node-x3-y24 93T 66T 27T 70% -/dev/grid/node-x3-y25 94T 65T 29T 69% -/dev/grid/node-x3-y26 91T 67T 24T 73% -/dev/grid/node-x3-y27 88T 69T 19T 78% -/dev/grid/node-x4-y0 93T 68T 25T 73% -/dev/grid/node-x4-y1 93T 67T 26T 72% -/dev/grid/node-x4-y2 85T 67T 18T 78% -/dev/grid/node-x4-y3 89T 65T 24T 73% -/dev/grid/node-x4-y4 85T 73T 12T 85% -/dev/grid/node-x4-y5 86T 72T 14T 83% -/dev/grid/node-x4-y6 86T 66T 20T 76% -/dev/grid/node-x4-y7 89T 66T 23T 74% -/dev/grid/node-x4-y8 94T 73T 21T 77% -/dev/grid/node-x4-y9 89T 72T 17T 80% -/dev/grid/node-x4-y10 86T 66T 20T 76% -/dev/grid/node-x4-y11 92T 70T 22T 76% -/dev/grid/node-x4-y12 93T 69T 24T 74% -/dev/grid/node-x4-y13 85T 68T 17T 80% -/dev/grid/node-x4-y14 93T 73T 20T 78% -/dev/grid/node-x4-y15 87T 67T 20T 77% -/dev/grid/node-x4-y16 86T 66T 20T 76% -/dev/grid/node-x4-y17 90T 70T 20T 77% -/dev/grid/node-x4-y18 92T 69T 23T 75% -/dev/grid/node-x4-y19 93T 71T 22T 76% -/dev/grid/node-x4-y20 94T 66T 28T 70% -/dev/grid/node-x4-y21 88T 73T 15T 82% -/dev/grid/node-x4-y22 93T 71T 22T 76% -/dev/grid/node-x4-y23 87T 68T 19T 78% -/dev/grid/node-x4-y24 89T 70T 19T 78% -/dev/grid/node-x4-y25 87T 69T 18T 79% -/dev/grid/node-x4-y26 87T 69T 18T 79% -/dev/grid/node-x4-y27 89T 71T 18T 79% -/dev/grid/node-x5-y0 88T 66T 22T 75% -/dev/grid/node-x5-y1 91T 70T 21T 76% -/dev/grid/node-x5-y2 91T 71T 20T 78% -/dev/grid/node-x5-y3 90T 68T 22T 75% -/dev/grid/node-x5-y4 85T 72T 13T 84% -/dev/grid/node-x5-y5 89T 64T 25T 71% -/dev/grid/node-x5-y6 90T 71T 19T 78% -/dev/grid/node-x5-y7 91T 64T 27T 70% -/dev/grid/node-x5-y8 87T 71T 16T 81% -/dev/grid/node-x5-y9 89T 72T 17T 80% -/dev/grid/node-x5-y10 86T 68T 18T 79% -/dev/grid/node-x5-y11 91T 66T 25T 72% -/dev/grid/node-x5-y12 89T 69T 20T 77% -/dev/grid/node-x5-y13 85T 72T 13T 84% -/dev/grid/node-x5-y14 92T 69T 23T 75% -/dev/grid/node-x5-y15 88T 68T 20T 77% -/dev/grid/node-x5-y16 92T 72T 20T 78% -/dev/grid/node-x5-y17 93T 70T 23T 75% -/dev/grid/node-x5-y18 87T 65T 22T 74% -/dev/grid/node-x5-y19 86T 64T 22T 74% -/dev/grid/node-x5-y20 89T 68T 21T 76% -/dev/grid/node-x5-y21 89T 68T 21T 76% -/dev/grid/node-x5-y22 89T 71T 18T 79% -/dev/grid/node-x5-y23 91T 67T 24T 73% -/dev/grid/node-x5-y24 88T 64T 24T 72% -/dev/grid/node-x5-y25 92T 73T 19T 79% -/dev/grid/node-x5-y26 94T 64T 30T 68% -/dev/grid/node-x5-y27 88T 73T 15T 82% -/dev/grid/node-x6-y0 88T 64T 24T 72% -/dev/grid/node-x6-y1 87T 71T 16T 81% -/dev/grid/node-x6-y2 93T 65T 28T 69% -/dev/grid/node-x6-y3 90T 71T 19T 78% -/dev/grid/node-x6-y4 85T 68T 17T 80% -/dev/grid/node-x6-y5 93T 70T 23T 75% -/dev/grid/node-x6-y6 91T 70T 21T 76% -/dev/grid/node-x6-y7 89T 65T 24T 73% -/dev/grid/node-x6-y8 91T 65T 26T 71% -/dev/grid/node-x6-y9 92T 65T 27T 70% -/dev/grid/node-x6-y10 94T 73T 21T 77% -/dev/grid/node-x6-y11 86T 71T 15T 82% -/dev/grid/node-x6-y12 87T 68T 19T 78% -/dev/grid/node-x6-y13 93T 68T 25T 73% -/dev/grid/node-x6-y14 87T 68T 19T 78% -/dev/grid/node-x6-y15 85T 71T 14T 83% -/dev/grid/node-x6-y16 85T 70T 15T 82% -/dev/grid/node-x6-y17 85T 66T 19T 77% -/dev/grid/node-x6-y18 90T 66T 24T 73% -/dev/grid/node-x6-y19 85T 73T 12T 85% -/dev/grid/node-x6-y20 92T 73T 19T 79% -/dev/grid/node-x6-y21 90T 68T 22T 75% -/dev/grid/node-x6-y22 85T 68T 17T 80% -/dev/grid/node-x6-y23 85T 67T 18T 78% -/dev/grid/node-x6-y24 87T 65T 22T 74% -/dev/grid/node-x6-y25 85T 68T 17T 80% -/dev/grid/node-x6-y26 88T 70T 18T 79% -/dev/grid/node-x6-y27 86T 65T 21T 75% -/dev/grid/node-x7-y0 89T 66T 23T 74% -/dev/grid/node-x7-y1 92T 67T 25T 72% -/dev/grid/node-x7-y2 94T 69T 25T 73% -/dev/grid/node-x7-y3 86T 72T 14T 83% -/dev/grid/node-x7-y4 90T 68T 22T 75% -/dev/grid/node-x7-y5 87T 72T 15T 82% -/dev/grid/node-x7-y6 92T 71T 21T 77% -/dev/grid/node-x7-y7 90T 71T 19T 78% -/dev/grid/node-x7-y8 92T 70T 22T 76% -/dev/grid/node-x7-y9 85T 73T 12T 85% -/dev/grid/node-x7-y10 92T 68T 24T 73% -/dev/grid/node-x7-y11 94T 69T 25T 73% -/dev/grid/node-x7-y12 88T 71T 17T 80% -/dev/grid/node-x7-y13 87T 73T 14T 83% -/dev/grid/node-x7-y14 92T 70T 22T 76% -/dev/grid/node-x7-y15 87T 68T 19T 78% -/dev/grid/node-x7-y16 85T 65T 20T 76% -/dev/grid/node-x7-y17 93T 64T 29T 68% -/dev/grid/node-x7-y18 91T 67T 24T 73% -/dev/grid/node-x7-y19 87T 66T 21T 75% -/dev/grid/node-x7-y20 94T 72T 22T 76% -/dev/grid/node-x7-y21 85T 72T 13T 84% -/dev/grid/node-x7-y22 88T 73T 15T 82% -/dev/grid/node-x7-y23 91T 66T 25T 72% -/dev/grid/node-x7-y24 94T 70T 24T 74% -/dev/grid/node-x7-y25 85T 65T 20T 76% -/dev/grid/node-x7-y26 88T 64T 24T 72% -/dev/grid/node-x7-y27 93T 69T 24T 74% -/dev/grid/node-x8-y0 92T 65T 27T 70% -/dev/grid/node-x8-y1 89T 69T 20T 77% -/dev/grid/node-x8-y2 93T 64T 29T 68% -/dev/grid/node-x8-y3 85T 65T 20T 76% -/dev/grid/node-x8-y4 91T 69T 22T 75% -/dev/grid/node-x8-y5 85T 70T 15T 82% -/dev/grid/node-x8-y6 86T 64T 22T 74% -/dev/grid/node-x8-y7 94T 67T 27T 71% -/dev/grid/node-x8-y8 88T 68T 20T 77% -/dev/grid/node-x8-y9 94T 69T 25T 73% -/dev/grid/node-x8-y10 91T 73T 18T 80% -/dev/grid/node-x8-y11 89T 73T 16T 82% -/dev/grid/node-x8-y12 87T 68T 19T 78% -/dev/grid/node-x8-y13 89T 70T 19T 78% -/dev/grid/node-x8-y14 86T 67T 19T 77% -/dev/grid/node-x8-y15 90T 68T 22T 75% -/dev/grid/node-x8-y16 92T 72T 20T 78% -/dev/grid/node-x8-y17 89T 68T 21T 76% -/dev/grid/node-x8-y18 89T 67T 22T 75% -/dev/grid/node-x8-y19 85T 68T 17T 80% -/dev/grid/node-x8-y20 88T 64T 24T 72% -/dev/grid/node-x8-y21 90T 72T 18T 80% -/dev/grid/node-x8-y22 93T 73T 20T 78% -/dev/grid/node-x8-y23 92T 68T 24T 73% -/dev/grid/node-x8-y24 92T 66T 26T 71% -/dev/grid/node-x8-y25 93T 70T 23T 75% -/dev/grid/node-x8-y26 92T 64T 28T 69% -/dev/grid/node-x8-y27 85T 64T 21T 75% -/dev/grid/node-x9-y0 94T 71T 23T 75% -/dev/grid/node-x9-y1 91T 71T 20T 78% -/dev/grid/node-x9-y2 93T 66T 27T 70% -/dev/grid/node-x9-y3 86T 73T 13T 84% -/dev/grid/node-x9-y4 90T 69T 21T 76% -/dev/grid/node-x9-y5 85T 70T 15T 82% -/dev/grid/node-x9-y6 88T 67T 21T 76% -/dev/grid/node-x9-y7 90T 64T 26T 71% -/dev/grid/node-x9-y8 93T 66T 27T 70% -/dev/grid/node-x9-y9 90T 73T 17T 81% -/dev/grid/node-x9-y10 90T 73T 17T 81% -/dev/grid/node-x9-y11 89T 69T 20T 77% -/dev/grid/node-x9-y12 89T 69T 20T 77% -/dev/grid/node-x9-y13 93T 68T 25T 73% -/dev/grid/node-x9-y14 94T 64T 30T 68% -/dev/grid/node-x9-y15 94T 66T 28T 70% -/dev/grid/node-x9-y16 89T 71T 18T 79% -/dev/grid/node-x9-y17 89T 69T 20T 77% -/dev/grid/node-x9-y18 86T 65T 21T 75% -/dev/grid/node-x9-y19 88T 71T 17T 80% -/dev/grid/node-x9-y20 90T 72T 18T 80% -/dev/grid/node-x9-y21 91T 71T 20T 78% -/dev/grid/node-x9-y22 88T 66T 22T 75% -/dev/grid/node-x9-y23 93T 69T 24T 74% -/dev/grid/node-x9-y24 502T 496T 6T 98% -/dev/grid/node-x9-y25 89T 73T 16T 82% -/dev/grid/node-x9-y26 92T 71T 21T 77% -/dev/grid/node-x9-y27 94T 70T 24T 74% -/dev/grid/node-x10-y0 85T 73T 12T 85% -/dev/grid/node-x10-y1 92T 64T 28T 69% -/dev/grid/node-x10-y2 92T 64T 28T 69% -/dev/grid/node-x10-y3 92T 71T 21T 77% -/dev/grid/node-x10-y4 89T 71T 18T 79% -/dev/grid/node-x10-y5 87T 72T 15T 82% -/dev/grid/node-x10-y6 93T 68T 25T 73% -/dev/grid/node-x10-y7 93T 65T 28T 69% -/dev/grid/node-x10-y8 87T 67T 20T 77% -/dev/grid/node-x10-y9 90T 64T 26T 71% -/dev/grid/node-x10-y10 91T 70T 21T 76% -/dev/grid/node-x10-y11 86T 66T 20T 76% -/dev/grid/node-x10-y12 90T 71T 19T 78% -/dev/grid/node-x10-y13 86T 65T 21T 75% -/dev/grid/node-x10-y14 93T 69T 24T 74% -/dev/grid/node-x10-y15 87T 64T 23T 73% -/dev/grid/node-x10-y16 85T 68T 17T 80% -/dev/grid/node-x10-y17 89T 65T 24T 73% -/dev/grid/node-x10-y18 94T 73T 21T 77% -/dev/grid/node-x10-y19 94T 73T 21T 77% -/dev/grid/node-x10-y20 88T 68T 20T 77% -/dev/grid/node-x10-y21 93T 73T 20T 78% -/dev/grid/node-x10-y22 87T 67T 20T 77% -/dev/grid/node-x10-y23 90T 67T 23T 74% -/dev/grid/node-x10-y24 510T 491T 19T 96% -/dev/grid/node-x10-y25 90T 71T 19T 78% -/dev/grid/node-x10-y26 94T 67T 27T 71% -/dev/grid/node-x10-y27 93T 67T 26T 72% -/dev/grid/node-x11-y0 91T 64T 27T 70% -/dev/grid/node-x11-y1 91T 67T 24T 73% -/dev/grid/node-x11-y2 86T 70T 16T 81% -/dev/grid/node-x11-y3 87T 65T 22T 74% -/dev/grid/node-x11-y4 86T 66T 20T 76% -/dev/grid/node-x11-y5 85T 71T 14T 83% -/dev/grid/node-x11-y6 91T 65T 26T 71% -/dev/grid/node-x11-y7 86T 65T 21T 75% -/dev/grid/node-x11-y8 91T 71T 20T 78% -/dev/grid/node-x11-y9 94T 71T 23T 75% -/dev/grid/node-x11-y10 89T 65T 24T 73% -/dev/grid/node-x11-y11 94T 71T 23T 75% -/dev/grid/node-x11-y12 88T 64T 24T 72% -/dev/grid/node-x11-y13 85T 67T 18T 78% -/dev/grid/node-x11-y14 87T 71T 16T 81% -/dev/grid/node-x11-y15 90T 71T 19T 78% -/dev/grid/node-x11-y16 87T 73T 14T 83% -/dev/grid/node-x11-y17 89T 68T 21T 76% -/dev/grid/node-x11-y18 94T 64T 30T 68% -/dev/grid/node-x11-y19 92T 68T 24T 73% -/dev/grid/node-x11-y20 86T 67T 19T 77% -/dev/grid/node-x11-y21 91T 73T 18T 80% -/dev/grid/node-x11-y22 91T 69T 22T 75% -/dev/grid/node-x11-y23 88T 72T 16T 81% -/dev/grid/node-x11-y24 509T 493T 16T 96% -/dev/grid/node-x11-y25 93T 68T 25T 73% -/dev/grid/node-x11-y26 86T 72T 14T 83% -/dev/grid/node-x11-y27 86T 65T 21T 75% -/dev/grid/node-x12-y0 93T 65T 28T 69% -/dev/grid/node-x12-y1 93T 65T 28T 69% -/dev/grid/node-x12-y2 86T 68T 18T 79% -/dev/grid/node-x12-y3 92T 65T 27T 70% -/dev/grid/node-x12-y4 87T 65T 22T 74% -/dev/grid/node-x12-y5 93T 68T 25T 73% -/dev/grid/node-x12-y6 90T 67T 23T 74% -/dev/grid/node-x12-y7 93T 69T 24T 74% -/dev/grid/node-x12-y8 88T 72T 16T 81% -/dev/grid/node-x12-y9 90T 72T 18T 80% -/dev/grid/node-x12-y10 89T 64T 25T 71% -/dev/grid/node-x12-y11 85T 69T 16T 81% -/dev/grid/node-x12-y12 90T 69T 21T 76% -/dev/grid/node-x12-y13 94T 66T 28T 70% -/dev/grid/node-x12-y14 89T 69T 20T 77% -/dev/grid/node-x12-y15 92T 68T 24T 73% -/dev/grid/node-x12-y16 90T 73T 17T 81% -/dev/grid/node-x12-y17 85T 67T 18T 78% -/dev/grid/node-x12-y18 90T 67T 23T 74% -/dev/grid/node-x12-y19 94T 65T 29T 69% -/dev/grid/node-x12-y20 89T 68T 21T 76% -/dev/grid/node-x12-y21 88T 71T 17T 80% -/dev/grid/node-x12-y22 87T 73T 14T 83% -/dev/grid/node-x12-y23 94T 64T 30T 68% -/dev/grid/node-x12-y24 505T 499T 6T 98% -/dev/grid/node-x12-y25 86T 67T 19T 77% -/dev/grid/node-x12-y26 94T 64T 30T 68% -/dev/grid/node-x12-y27 92T 66T 26T 71% -/dev/grid/node-x13-y0 89T 65T 24T 73% -/dev/grid/node-x13-y1 92T 65T 27T 70% -/dev/grid/node-x13-y2 92T 67T 25T 72% -/dev/grid/node-x13-y3 91T 71T 20T 78% -/dev/grid/node-x13-y4 87T 66T 21T 75% -/dev/grid/node-x13-y5 92T 71T 21T 77% -/dev/grid/node-x13-y6 92T 67T 25T 72% -/dev/grid/node-x13-y7 90T 73T 17T 81% -/dev/grid/node-x13-y8 91T 67T 24T 73% -/dev/grid/node-x13-y9 90T 64T 26T 71% -/dev/grid/node-x13-y10 85T 73T 12T 85% -/dev/grid/node-x13-y11 91T 65T 26T 71% -/dev/grid/node-x13-y12 94T 65T 29T 69% -/dev/grid/node-x13-y13 94T 73T 21T 77% -/dev/grid/node-x13-y14 91T 71T 20T 78% -/dev/grid/node-x13-y15 85T 65T 20T 76% -/dev/grid/node-x13-y16 88T 68T 20T 77% -/dev/grid/node-x13-y17 94T 65T 29T 69% -/dev/grid/node-x13-y18 92T 70T 22T 76% -/dev/grid/node-x13-y19 86T 72T 14T 83% -/dev/grid/node-x13-y20 88T 71T 17T 80% -/dev/grid/node-x13-y21 94T 72T 22T 76% -/dev/grid/node-x13-y22 92T 66T 26T 71% -/dev/grid/node-x13-y23 90T 69T 21T 76% -/dev/grid/node-x13-y24 510T 492T 18T 96% -/dev/grid/node-x13-y25 94T 73T 21T 77% -/dev/grid/node-x13-y26 87T 68T 19T 78% -/dev/grid/node-x13-y27 93T 71T 22T 76% -/dev/grid/node-x14-y0 87T 73T 14T 83% -/dev/grid/node-x14-y1 86T 69T 17T 80% -/dev/grid/node-x14-y2 91T 71T 20T 78% -/dev/grid/node-x14-y3 88T 67T 21T 76% -/dev/grid/node-x14-y4 88T 70T 18T 79% -/dev/grid/node-x14-y5 92T 73T 19T 79% -/dev/grid/node-x14-y6 88T 66T 22T 75% -/dev/grid/node-x14-y7 85T 68T 17T 80% -/dev/grid/node-x14-y8 87T 70T 17T 80% -/dev/grid/node-x14-y9 88T 71T 17T 80% -/dev/grid/node-x14-y10 89T 66T 23T 74% -/dev/grid/node-x14-y11 90T 69T 21T 76% -/dev/grid/node-x14-y12 89T 71T 18T 79% -/dev/grid/node-x14-y13 89T 64T 25T 71% -/dev/grid/node-x14-y14 91T 72T 19T 79% -/dev/grid/node-x14-y15 94T 69T 25T 73% -/dev/grid/node-x14-y16 86T 73T 13T 84% -/dev/grid/node-x14-y17 88T 70T 18T 79% -/dev/grid/node-x14-y18 91T 68T 23T 74% -/dev/grid/node-x14-y19 91T 67T 24T 73% -/dev/grid/node-x14-y20 85T 65T 20T 76% -/dev/grid/node-x14-y21 85T 71T 14T 83% -/dev/grid/node-x14-y22 90T 70T 20T 77% -/dev/grid/node-x14-y23 85T 70T 15T 82% -/dev/grid/node-x14-y24 504T 494T 10T 98% -/dev/grid/node-x14-y25 94T 69T 25T 73% -/dev/grid/node-x14-y26 92T 64T 28T 69% -/dev/grid/node-x14-y27 86T 73T 13T 84% -/dev/grid/node-x15-y0 88T 72T 16T 81% -/dev/grid/node-x15-y1 91T 67T 24T 73% -/dev/grid/node-x15-y2 90T 67T 23T 74% -/dev/grid/node-x15-y3 90T 68T 22T 75% -/dev/grid/node-x15-y4 92T 70T 22T 76% -/dev/grid/node-x15-y5 89T 69T 20T 77% -/dev/grid/node-x15-y6 89T 70T 19T 78% -/dev/grid/node-x15-y7 93T 71T 22T 76% -/dev/grid/node-x15-y8 86T 64T 22T 74% -/dev/grid/node-x15-y9 91T 71T 20T 78% -/dev/grid/node-x15-y10 94T 72T 22T 76% -/dev/grid/node-x15-y11 91T 70T 21T 76% -/dev/grid/node-x15-y12 93T 71T 22T 76% -/dev/grid/node-x15-y13 94T 66T 28T 70% -/dev/grid/node-x15-y14 93T 68T 25T 73% -/dev/grid/node-x15-y15 85T 67T 18T 78% -/dev/grid/node-x15-y16 88T 64T 24T 72% -/dev/grid/node-x15-y17 94T 72T 22T 76% -/dev/grid/node-x15-y18 93T 67T 26T 72% -/dev/grid/node-x15-y19 89T 68T 21T 76% -/dev/grid/node-x15-y20 93T 71T 22T 76% -/dev/grid/node-x15-y21 90T 70T 20T 77% -/dev/grid/node-x15-y22 86T 65T 21T 75% -/dev/grid/node-x15-y23 90T 68T 22T 75% -/dev/grid/node-x15-y24 506T 494T 12T 97% -/dev/grid/node-x15-y25 91T 71T 20T 78% -/dev/grid/node-x15-y26 86T 70T 16T 81% -/dev/grid/node-x15-y27 87T 64T 23T 73% -/dev/grid/node-x16-y0 93T 64T 29T 68% -/dev/grid/node-x16-y1 91T 69T 22T 75% -/dev/grid/node-x16-y2 89T 66T 23T 74% -/dev/grid/node-x16-y3 89T 68T 21T 76% -/dev/grid/node-x16-y4 91T 65T 26T 71% -/dev/grid/node-x16-y5 85T 71T 14T 83% -/dev/grid/node-x16-y6 93T 69T 24T 74% -/dev/grid/node-x16-y7 87T 69T 18T 79% -/dev/grid/node-x16-y8 85T 72T 13T 84% -/dev/grid/node-x16-y9 92T 67T 25T 72% -/dev/grid/node-x16-y10 92T 69T 23T 75% -/dev/grid/node-x16-y11 93T 72T 21T 77% -/dev/grid/node-x16-y12 92T 73T 19T 79% -/dev/grid/node-x16-y13 88T 70T 18T 79% -/dev/grid/node-x16-y14 91T 71T 20T 78% -/dev/grid/node-x16-y15 88T 66T 22T 75% -/dev/grid/node-x16-y16 88T 70T 18T 79% -/dev/grid/node-x16-y17 88T 73T 15T 82% -/dev/grid/node-x16-y18 92T 72T 20T 78% -/dev/grid/node-x16-y19 90T 73T 17T 81% -/dev/grid/node-x16-y20 94T 73T 21T 77% -/dev/grid/node-x16-y21 86T 71T 15T 82% -/dev/grid/node-x16-y22 88T 68T 20T 77% -/dev/grid/node-x16-y23 88T 73T 15T 82% -/dev/grid/node-x16-y24 506T 496T 10T 98% -/dev/grid/node-x16-y25 85T 69T 16T 81% -/dev/grid/node-x16-y26 90T 64T 26T 71% -/dev/grid/node-x16-y27 92T 64T 28T 69% -/dev/grid/node-x17-y0 88T 73T 15T 82% -/dev/grid/node-x17-y1 87T 65T 22T 74% -/dev/grid/node-x17-y2 90T 64T 26T 71% -/dev/grid/node-x17-y3 93T 71T 22T 76% -/dev/grid/node-x17-y4 90T 64T 26T 71% -/dev/grid/node-x17-y5 87T 64T 23T 73% -/dev/grid/node-x17-y6 86T 72T 14T 83% -/dev/grid/node-x17-y7 90T 65T 25T 72% -/dev/grid/node-x17-y8 85T 71T 14T 83% -/dev/grid/node-x17-y9 93T 68T 25T 73% -/dev/grid/node-x17-y10 87T 65T 22T 74% -/dev/grid/node-x17-y11 87T 71T 16T 81% -/dev/grid/node-x17-y12 90T 73T 17T 81% -/dev/grid/node-x17-y13 92T 71T 21T 77% -/dev/grid/node-x17-y14 91T 69T 22T 75% -/dev/grid/node-x17-y15 88T 73T 15T 82% -/dev/grid/node-x17-y16 88T 73T 15T 82% -/dev/grid/node-x17-y17 88T 71T 17T 80% -/dev/grid/node-x17-y18 87T 66T 21T 75% -/dev/grid/node-x17-y19 89T 71T 18T 79% -/dev/grid/node-x17-y20 91T 72T 19T 79% -/dev/grid/node-x17-y21 93T 69T 24T 74% -/dev/grid/node-x17-y22 85T 68T 17T 80% -/dev/grid/node-x17-y23 93T 67T 26T 72% -/dev/grid/node-x17-y24 505T 494T 11T 97% -/dev/grid/node-x17-y25 88T 72T 16T 81% -/dev/grid/node-x17-y26 93T 72T 21T 77% -/dev/grid/node-x17-y27 85T 72T 13T 84% -/dev/grid/node-x18-y0 92T 70T 22T 76% -/dev/grid/node-x18-y1 89T 72T 17T 80% -/dev/grid/node-x18-y2 85T 66T 19T 77% -/dev/grid/node-x18-y3 90T 68T 22T 75% -/dev/grid/node-x18-y4 92T 69T 23T 75% -/dev/grid/node-x18-y5 91T 70T 21T 76% -/dev/grid/node-x18-y6 87T 68T 19T 78% -/dev/grid/node-x18-y7 93T 66T 27T 70% -/dev/grid/node-x18-y8 87T 64T 23T 73% -/dev/grid/node-x18-y9 89T 72T 17T 80% -/dev/grid/node-x18-y10 86T 69T 17T 80% -/dev/grid/node-x18-y11 90T 73T 17T 81% -/dev/grid/node-x18-y12 92T 72T 20T 78% -/dev/grid/node-x18-y13 90T 70T 20T 77% -/dev/grid/node-x18-y14 87T 72T 15T 82% -/dev/grid/node-x18-y15 89T 70T 19T 78% -/dev/grid/node-x18-y16 90T 73T 17T 81% -/dev/grid/node-x18-y17 92T 66T 26T 71% -/dev/grid/node-x18-y18 87T 73T 14T 83% -/dev/grid/node-x18-y19 90T 70T 20T 77% -/dev/grid/node-x18-y20 94T 66T 28T 70% -/dev/grid/node-x18-y21 88T 73T 15T 82% -/dev/grid/node-x18-y22 87T 72T 15T 82% -/dev/grid/node-x18-y23 85T 65T 20T 76% -/dev/grid/node-x18-y24 504T 498T 6T 98% -/dev/grid/node-x18-y25 89T 70T 19T 78% -/dev/grid/node-x18-y26 86T 69T 17T 80% -/dev/grid/node-x18-y27 94T 70T 24T 74% -/dev/grid/node-x19-y0 89T 69T 20T 77% -/dev/grid/node-x19-y1 90T 72T 18T 80% -/dev/grid/node-x19-y2 91T 68T 23T 74% -/dev/grid/node-x19-y3 85T 64T 21T 75% -/dev/grid/node-x19-y4 92T 66T 26T 71% -/dev/grid/node-x19-y5 89T 65T 24T 73% -/dev/grid/node-x19-y6 85T 64T 21T 75% -/dev/grid/node-x19-y7 87T 66T 21T 75% -/dev/grid/node-x19-y8 90T 65T 25T 72% -/dev/grid/node-x19-y9 86T 73T 13T 84% -/dev/grid/node-x19-y10 91T 73T 18T 80% -/dev/grid/node-x19-y11 91T 64T 27T 70% -/dev/grid/node-x19-y12 91T 69T 22T 75% -/dev/grid/node-x19-y13 93T 71T 22T 76% -/dev/grid/node-x19-y14 88T 67T 21T 76% -/dev/grid/node-x19-y15 85T 66T 19T 77% -/dev/grid/node-x19-y16 92T 65T 27T 70% -/dev/grid/node-x19-y17 85T 67T 18T 78% -/dev/grid/node-x19-y18 86T 72T 14T 83% -/dev/grid/node-x19-y19 90T 72T 18T 80% -/dev/grid/node-x19-y20 87T 65T 22T 74% -/dev/grid/node-x19-y21 93T 64T 29T 68% -/dev/grid/node-x19-y22 91T 73T 18T 80% -/dev/grid/node-x19-y23 93T 65T 28T 69% -/dev/grid/node-x19-y24 510T 495T 15T 97% -/dev/grid/node-x19-y25 86T 69T 17T 80% -/dev/grid/node-x19-y26 94T 68T 26T 72% -/dev/grid/node-x19-y27 86T 66T 20T 76% -/dev/grid/node-x20-y0 91T 67T 24T 73% -/dev/grid/node-x20-y1 92T 67T 25T 72% -/dev/grid/node-x20-y2 88T 64T 24T 72% -/dev/grid/node-x20-y3 93T 68T 25T 73% -/dev/grid/node-x20-y4 88T 71T 17T 80% -/dev/grid/node-x20-y5 94T 68T 26T 72% -/dev/grid/node-x20-y6 85T 68T 17T 80% -/dev/grid/node-x20-y7 89T 65T 24T 73% -/dev/grid/node-x20-y8 85T 64T 21T 75% -/dev/grid/node-x20-y9 91T 66T 25T 72% -/dev/grid/node-x20-y10 94T 64T 30T 68% -/dev/grid/node-x20-y11 87T 68T 19T 78% -/dev/grid/node-x20-y12 90T 71T 19T 78% -/dev/grid/node-x20-y13 90T 67T 23T 74% -/dev/grid/node-x20-y14 91T 64T 27T 70% -/dev/grid/node-x20-y15 85T 72T 13T 84% -/dev/grid/node-x20-y16 87T 65T 22T 74% -/dev/grid/node-x20-y17 89T 71T 18T 79% -/dev/grid/node-x20-y18 87T 66T 21T 75% -/dev/grid/node-x20-y19 88T 71T 17T 80% -/dev/grid/node-x20-y20 94T 71T 23T 75% -/dev/grid/node-x20-y21 91T 68T 23T 74% -/dev/grid/node-x20-y22 92T 71T 21T 77% -/dev/grid/node-x20-y23 88T 68T 20T 77% -/dev/grid/node-x20-y24 507T 498T 9T 98% -/dev/grid/node-x20-y25 87T 71T 16T 81% -/dev/grid/node-x20-y26 88T 69T 19T 78% -/dev/grid/node-x20-y27 87T 69T 18T 79% -/dev/grid/node-x21-y0 92T 70T 22T 76% -/dev/grid/node-x21-y1 89T 64T 25T 71% -/dev/grid/node-x21-y2 86T 67T 19T 77% -/dev/grid/node-x21-y3 88T 66T 22T 75% -/dev/grid/node-x21-y4 89T 68T 21T 76% -/dev/grid/node-x21-y5 86T 67T 19T 77% -/dev/grid/node-x21-y6 87T 68T 19T 78% -/dev/grid/node-x21-y7 89T 73T 16T 82% -/dev/grid/node-x21-y8 87T 71T 16T 81% -/dev/grid/node-x21-y9 90T 71T 19T 78% -/dev/grid/node-x21-y10 92T 69T 23T 75% -/dev/grid/node-x21-y11 92T 70T 22T 76% -/dev/grid/node-x21-y12 92T 64T 28T 69% -/dev/grid/node-x21-y13 91T 69T 22T 75% -/dev/grid/node-x21-y14 89T 64T 25T 71% -/dev/grid/node-x21-y15 92T 67T 25T 72% -/dev/grid/node-x21-y16 93T 65T 28T 69% -/dev/grid/node-x21-y17 89T 69T 20T 77% -/dev/grid/node-x21-y18 86T 73T 13T 84% -/dev/grid/node-x21-y19 93T 67T 26T 72% -/dev/grid/node-x21-y20 88T 70T 18T 79% -/dev/grid/node-x21-y21 93T 68T 25T 73% -/dev/grid/node-x21-y22 94T 64T 30T 68% -/dev/grid/node-x21-y23 90T 71T 19T 78% -/dev/grid/node-x21-y24 504T 496T 8T 98% -/dev/grid/node-x21-y25 94T 72T 22T 76% -/dev/grid/node-x21-y26 93T 70T 23T 75% -/dev/grid/node-x21-y27 88T 71T 17T 80% -/dev/grid/node-x22-y0 94T 66T 28T 70% -/dev/grid/node-x22-y1 92T 71T 21T 77% -/dev/grid/node-x22-y2 92T 66T 26T 71% -/dev/grid/node-x22-y3 93T 64T 29T 68% -/dev/grid/node-x22-y4 88T 65T 23T 73% -/dev/grid/node-x22-y5 91T 67T 24T 73% -/dev/grid/node-x22-y6 91T 67T 24T 73% -/dev/grid/node-x22-y7 85T 69T 16T 81% -/dev/grid/node-x22-y8 85T 69T 16T 81% -/dev/grid/node-x22-y9 85T 72T 13T 84% -/dev/grid/node-x22-y10 85T 69T 16T 81% -/dev/grid/node-x22-y11 87T 73T 14T 83% -/dev/grid/node-x22-y12 91T 67T 24T 73% -/dev/grid/node-x22-y13 94T 73T 21T 77% -/dev/grid/node-x22-y14 91T 73T 18T 80% -/dev/grid/node-x22-y15 86T 73T 13T 84% -/dev/grid/node-x22-y16 85T 73T 12T 85% -/dev/grid/node-x22-y17 92T 66T 26T 71% -/dev/grid/node-x22-y18 86T 67T 19T 77% -/dev/grid/node-x22-y19 88T 73T 15T 82% -/dev/grid/node-x22-y20 91T 72T 19T 79% -/dev/grid/node-x22-y21 92T 65T 27T 70% -/dev/grid/node-x22-y22 85T 65T 20T 76% -/dev/grid/node-x22-y23 93T 69T 24T 74% -/dev/grid/node-x22-y24 501T 494T 7T 98% -/dev/grid/node-x22-y25 93T 69T 24T 74% -/dev/grid/node-x22-y26 89T 72T 17T 80% -/dev/grid/node-x22-y27 94T 71T 23T 75% -/dev/grid/node-x23-y0 89T 70T 19T 78% -/dev/grid/node-x23-y1 93T 64T 29T 68% -/dev/grid/node-x23-y2 94T 65T 29T 69% -/dev/grid/node-x23-y3 86T 67T 19T 77% -/dev/grid/node-x23-y4 91T 72T 19T 79% -/dev/grid/node-x23-y5 86T 64T 22T 74% -/dev/grid/node-x23-y6 88T 69T 19T 78% -/dev/grid/node-x23-y7 88T 66T 22T 75% -/dev/grid/node-x23-y8 87T 64T 23T 73% -/dev/grid/node-x23-y9 85T 69T 16T 81% -/dev/grid/node-x23-y10 85T 68T 17T 80% -/dev/grid/node-x23-y11 92T 65T 27T 70% -/dev/grid/node-x23-y12 94T 70T 24T 74% -/dev/grid/node-x23-y13 88T 67T 21T 76% -/dev/grid/node-x23-y14 91T 67T 24T 73% -/dev/grid/node-x23-y15 91T 73T 18T 80% -/dev/grid/node-x23-y16 91T 73T 18T 80% -/dev/grid/node-x23-y17 89T 68T 21T 76% -/dev/grid/node-x23-y18 86T 73T 13T 84% -/dev/grid/node-x23-y19 87T 72T 15T 82% -/dev/grid/node-x23-y20 88T 66T 22T 75% -/dev/grid/node-x23-y21 89T 71T 18T 79% -/dev/grid/node-x23-y22 89T 66T 23T 74% -/dev/grid/node-x23-y23 92T 73T 19T 79% -/dev/grid/node-x23-y24 503T 493T 10T 98% -/dev/grid/node-x23-y25 86T 68T 18T 79% -/dev/grid/node-x23-y26 94T 68T 26T 72% -/dev/grid/node-x23-y27 92T 65T 27T 70% -/dev/grid/node-x24-y0 91T 70T 21T 76% -/dev/grid/node-x24-y1 87T 73T 14T 83% -/dev/grid/node-x24-y2 92T 66T 26T 71% -/dev/grid/node-x24-y3 86T 72T 14T 83% -/dev/grid/node-x24-y4 88T 70T 18T 79% -/dev/grid/node-x24-y5 90T 65T 25T 72% -/dev/grid/node-x24-y6 88T 67T 21T 76% -/dev/grid/node-x24-y7 86T 68T 18T 79% -/dev/grid/node-x24-y8 91T 73T 18T 80% -/dev/grid/node-x24-y9 93T 71T 22T 76% -/dev/grid/node-x24-y10 86T 69T 17T 80% -/dev/grid/node-x24-y11 93T 69T 24T 74% -/dev/grid/node-x24-y12 89T 72T 17T 80% -/dev/grid/node-x24-y13 91T 71T 20T 78% -/dev/grid/node-x24-y14 86T 71T 15T 82% -/dev/grid/node-x24-y15 87T 67T 20T 77% -/dev/grid/node-x24-y16 92T 72T 20T 78% -/dev/grid/node-x24-y17 88T 64T 24T 72% -/dev/grid/node-x24-y18 91T 67T 24T 73% -/dev/grid/node-x24-y19 93T 69T 24T 74% -/dev/grid/node-x24-y20 91T 72T 19T 79% -/dev/grid/node-x24-y21 87T 66T 21T 75% -/dev/grid/node-x24-y22 87T 72T 15T 82% -/dev/grid/node-x24-y23 94T 67T 27T 71% -/dev/grid/node-x24-y24 504T 497T 7T 98% -/dev/grid/node-x24-y25 91T 71T 20T 78% -/dev/grid/node-x24-y26 92T 65T 27T 70% -/dev/grid/node-x24-y27 85T 67T 18T 78% -/dev/grid/node-x25-y0 89T 66T 23T 74% -/dev/grid/node-x25-y1 88T 71T 17T 80% -/dev/grid/node-x25-y2 93T 72T 21T 77% -/dev/grid/node-x25-y3 92T 65T 27T 70% -/dev/grid/node-x25-y4 88T 65T 23T 73% -/dev/grid/node-x25-y5 89T 64T 25T 71% -/dev/grid/node-x25-y6 87T 73T 14T 83% -/dev/grid/node-x25-y7 88T 67T 21T 76% -/dev/grid/node-x25-y8 92T 68T 24T 73% -/dev/grid/node-x25-y9 86T 70T 16T 81% -/dev/grid/node-x25-y10 91T 68T 23T 74% -/dev/grid/node-x25-y11 90T 65T 25T 72% -/dev/grid/node-x25-y12 92T 67T 25T 72% -/dev/grid/node-x25-y13 90T 66T 24T 73% -/dev/grid/node-x25-y14 93T 66T 27T 70% -/dev/grid/node-x25-y15 86T 68T 18T 79% -/dev/grid/node-x25-y16 92T 69T 23T 75% -/dev/grid/node-x25-y17 88T 66T 22T 75% -/dev/grid/node-x25-y18 91T 73T 18T 80% -/dev/grid/node-x25-y19 86T 71T 15T 82% -/dev/grid/node-x25-y20 88T 70T 18T 79% -/dev/grid/node-x25-y21 85T 66T 19T 77% -/dev/grid/node-x25-y22 92T 64T 28T 69% -/dev/grid/node-x25-y23 87T 72T 15T 82% -/dev/grid/node-x25-y24 506T 493T 13T 97% -/dev/grid/node-x25-y25 85T 64T 21T 75% -/dev/grid/node-x25-y26 87T 64T 23T 73% -/dev/grid/node-x25-y27 88T 72T 16T 81% -/dev/grid/node-x26-y0 87T 73T 14T 83% -/dev/grid/node-x26-y1 91T 72T 19T 79% -/dev/grid/node-x26-y2 86T 66T 20T 76% -/dev/grid/node-x26-y3 86T 72T 14T 83% -/dev/grid/node-x26-y4 90T 67T 23T 74% -/dev/grid/node-x26-y5 87T 70T 17T 80% -/dev/grid/node-x26-y6 87T 64T 23T 73% -/dev/grid/node-x26-y7 90T 64T 26T 71% -/dev/grid/node-x26-y8 85T 64T 21T 75% -/dev/grid/node-x26-y9 92T 68T 24T 73% -/dev/grid/node-x26-y10 92T 65T 27T 70% -/dev/grid/node-x26-y11 88T 65T 23T 73% -/dev/grid/node-x26-y12 85T 70T 15T 82% -/dev/grid/node-x26-y13 86T 68T 18T 79% -/dev/grid/node-x26-y14 92T 70T 22T 76% -/dev/grid/node-x26-y15 89T 68T 21T 76% -/dev/grid/node-x26-y16 89T 66T 23T 74% -/dev/grid/node-x26-y17 86T 71T 15T 82% -/dev/grid/node-x26-y18 87T 68T 19T 78% -/dev/grid/node-x26-y19 88T 69T 19T 78% -/dev/grid/node-x26-y20 92T 67T 25T 72% -/dev/grid/node-x26-y21 94T 69T 25T 73% -/dev/grid/node-x26-y22 86T 68T 18T 79% -/dev/grid/node-x26-y23 85T 73T 12T 85% -/dev/grid/node-x26-y24 508T 498T 10T 98% -/dev/grid/node-x26-y25 85T 73T 12T 85% -/dev/grid/node-x26-y26 88T 69T 19T 78% -/dev/grid/node-x26-y27 89T 68T 21T 76% -/dev/grid/node-x27-y0 86T 64T 22T 74% -/dev/grid/node-x27-y1 93T 65T 28T 69% -/dev/grid/node-x27-y2 92T 71T 21T 77% -/dev/grid/node-x27-y3 87T 68T 19T 78% -/dev/grid/node-x27-y4 92T 64T 28T 69% -/dev/grid/node-x27-y5 91T 65T 26T 71% -/dev/grid/node-x27-y6 86T 64T 22T 74% -/dev/grid/node-x27-y7 90T 73T 17T 81% -/dev/grid/node-x27-y8 91T 67T 24T 73% -/dev/grid/node-x27-y9 85T 69T 16T 81% -/dev/grid/node-x27-y10 92T 64T 28T 69% -/dev/grid/node-x27-y11 93T 69T 24T 74% -/dev/grid/node-x27-y12 90T 69T 21T 76% -/dev/grid/node-x27-y13 87T 72T 15T 82% -/dev/grid/node-x27-y14 94T 70T 24T 74% -/dev/grid/node-x27-y15 91T 72T 19T 79% -/dev/grid/node-x27-y16 86T 70T 16T 81% -/dev/grid/node-x27-y17 90T 67T 23T 74% -/dev/grid/node-x27-y18 86T 73T 13T 84% -/dev/grid/node-x27-y19 92T 66T 26T 71% -/dev/grid/node-x27-y20 94T 64T 30T 68% -/dev/grid/node-x27-y21 89T 70T 19T 78% -/dev/grid/node-x27-y22 91T 73T 18T 80% -/dev/grid/node-x27-y23 89T 67T 22T 75% -/dev/grid/node-x27-y24 503T 490T 13T 97% -/dev/grid/node-x27-y25 94T 67T 27T 71% -/dev/grid/node-x27-y26 90T 68T 22T 75% -/dev/grid/node-x27-y27 87T 72T 15T 82% -/dev/grid/node-x28-y0 90T 68T 22T 75% -/dev/grid/node-x28-y1 86T 73T 13T 84% -/dev/grid/node-x28-y2 88T 73T 15T 82% -/dev/grid/node-x28-y3 93T 70T 23T 75% -/dev/grid/node-x28-y4 86T 64T 22T 74% -/dev/grid/node-x28-y5 86T 69T 17T 80% -/dev/grid/node-x28-y6 89T 71T 18T 79% -/dev/grid/node-x28-y7 94T 72T 22T 76% -/dev/grid/node-x28-y8 85T 68T 17T 80% -/dev/grid/node-x28-y9 90T 69T 21T 76% -/dev/grid/node-x28-y10 87T 73T 14T 83% -/dev/grid/node-x28-y11 86T 64T 22T 74% -/dev/grid/node-x28-y12 88T 71T 17T 80% -/dev/grid/node-x28-y13 87T 64T 23T 73% -/dev/grid/node-x28-y14 94T 71T 23T 75% -/dev/grid/node-x28-y15 85T 73T 12T 85% -/dev/grid/node-x28-y16 86T 69T 17T 80% -/dev/grid/node-x28-y17 92T 72T 20T 78% -/dev/grid/node-x28-y18 88T 71T 17T 80% -/dev/grid/node-x28-y19 85T 68T 17T 80% -/dev/grid/node-x28-y20 94T 65T 29T 69% -/dev/grid/node-x28-y21 85T 71T 14T 83% -/dev/grid/node-x28-y22 85T 67T 18T 78% -/dev/grid/node-x28-y23 94T 65T 29T 69% -/dev/grid/node-x28-y24 509T 496T 13T 97% -/dev/grid/node-x28-y25 93T 71T 22T 76% -/dev/grid/node-x28-y26 87T 72T 15T 82% -/dev/grid/node-x28-y27 90T 72T 18T 80% -/dev/grid/node-x29-y0 91T 67T 24T 73% -/dev/grid/node-x29-y1 90T 66T 24T 73% -/dev/grid/node-x29-y2 89T 71T 18T 79% -/dev/grid/node-x29-y3 87T 68T 19T 78% -/dev/grid/node-x29-y4 86T 64T 22T 74% -/dev/grid/node-x29-y5 93T 73T 20T 78% -/dev/grid/node-x29-y6 86T 65T 21T 75% -/dev/grid/node-x29-y7 94T 70T 24T 74% -/dev/grid/node-x29-y8 88T 72T 16T 81% -/dev/grid/node-x29-y9 93T 66T 27T 70% -/dev/grid/node-x29-y10 89T 65T 24T 73% -/dev/grid/node-x29-y11 89T 72T 17T 80% -/dev/grid/node-x29-y12 88T 72T 16T 81% -/dev/grid/node-x29-y13 94T 71T 23T 75% -/dev/grid/node-x29-y14 93T 65T 28T 69% -/dev/grid/node-x29-y15 89T 72T 17T 80% -/dev/grid/node-x29-y16 85T 71T 14T 83% -/dev/grid/node-x29-y17 93T 68T 25T 73% -/dev/grid/node-x29-y18 86T 66T 20T 76% -/dev/grid/node-x29-y19 90T 65T 25T 72% -/dev/grid/node-x29-y20 94T 66T 28T 70% -/dev/grid/node-x29-y21 87T 68T 19T 78% -/dev/grid/node-x29-y22 92T 70T 22T 76% -/dev/grid/node-x29-y23 92T 72T 20T 78% -/dev/grid/node-x29-y24 508T 497T 11T 97% -/dev/grid/node-x29-y25 87T 64T 23T 73% -/dev/grid/node-x29-y26 86T 68T 18T 79% -/dev/grid/node-x29-y27 87T 71T 16T 81% -/dev/grid/node-x30-y0 89T 71T 18T 79% -/dev/grid/node-x30-y1 93T 64T 29T 68% -/dev/grid/node-x30-y2 86T 73T 13T 84% -/dev/grid/node-x30-y3 89T 71T 18T 79% -/dev/grid/node-x30-y4 86T 70T 16T 81% -/dev/grid/node-x30-y5 85T 70T 15T 82% -/dev/grid/node-x30-y6 85T 72T 13T 84% -/dev/grid/node-x30-y7 94T 64T 30T 68% -/dev/grid/node-x30-y8 94T 64T 30T 68% -/dev/grid/node-x30-y9 89T 65T 24T 73% -/dev/grid/node-x30-y10 87T 71T 16T 81% -/dev/grid/node-x30-y11 93T 64T 29T 68% -/dev/grid/node-x30-y12 91T 67T 24T 73% -/dev/grid/node-x30-y13 89T 68T 21T 76% -/dev/grid/node-x30-y14 88T 67T 21T 76% -/dev/grid/node-x30-y15 85T 71T 14T 83% -/dev/grid/node-x30-y16 85T 64T 21T 75% -/dev/grid/node-x30-y17 86T 73T 13T 84% -/dev/grid/node-x30-y18 89T 65T 24T 73% -/dev/grid/node-x30-y19 92T 72T 20T 78% -/dev/grid/node-x30-y20 88T 70T 18T 79% -/dev/grid/node-x30-y21 94T 66T 28T 70% -/dev/grid/node-x30-y22 91T 68T 23T 74% -/dev/grid/node-x30-y23 90T 66T 24T 73% -/dev/grid/node-x30-y24 509T 494T 15T 97% -/dev/grid/node-x30-y25 86T 72T 14T 83% -/dev/grid/node-x30-y26 90T 65T 25T 72% -/dev/grid/node-x30-y27 85T 69T 16T 81% -/dev/grid/node-x31-y0 88T 64T 24T 72% -/dev/grid/node-x31-y1 92T 70T 22T 76% -/dev/grid/node-x31-y2 90T 69T 21T 76% -/dev/grid/node-x31-y3 87T 70T 17T 80% -/dev/grid/node-x31-y4 92T 72T 20T 78% -/dev/grid/node-x31-y5 94T 72T 22T 76% -/dev/grid/node-x31-y6 91T 68T 23T 74% -/dev/grid/node-x31-y7 90T 69T 21T 76% -/dev/grid/node-x31-y8 91T 64T 27T 70% -/dev/grid/node-x31-y9 87T 68T 19T 78% -/dev/grid/node-x31-y10 87T 69T 18T 79% -/dev/grid/node-x31-y11 90T 68T 22T 75% -/dev/grid/node-x31-y12 92T 70T 22T 76% -/dev/grid/node-x31-y13 93T 64T 29T 68% -/dev/grid/node-x31-y14 91T 66T 25T 72% -/dev/grid/node-x31-y15 87T 64T 23T 73% -/dev/grid/node-x31-y16 94T 69T 25T 73% -/dev/grid/node-x31-y17 89T 70T 19T 78% -/dev/grid/node-x31-y18 91T 69T 22T 75% -/dev/grid/node-x31-y19 85T 69T 16T 81% -/dev/grid/node-x31-y20 86T 67T 19T 77% -/dev/grid/node-x31-y21 93T 69T 24T 74% -/dev/grid/node-x31-y22 93T 64T 29T 68% -/dev/grid/node-x31-y23 87T 73T 14T 83% -/dev/grid/node-x31-y24 510T 494T 16T 96% -/dev/grid/node-x31-y25 90T 68T 22T 75% -/dev/grid/node-x31-y26 89T 73T 16T 82% -/dev/grid/node-x31-y27 91T 65T 26T 71% -/dev/grid/node-x32-y0 93T 70T 23T 75% -/dev/grid/node-x32-y1 90T 71T 19T 78% -/dev/grid/node-x32-y2 87T 71T 16T 81% -/dev/grid/node-x32-y3 94T 64T 30T 68% -/dev/grid/node-x32-y4 90T 64T 26T 71% -/dev/grid/node-x32-y5 90T 67T 23T 74% -/dev/grid/node-x32-y6 90T 70T 20T 77% -/dev/grid/node-x32-y7 94T 64T 30T 68% -/dev/grid/node-x32-y8 91T 67T 24T 73% -/dev/grid/node-x32-y9 89T 64T 25T 71% -/dev/grid/node-x32-y10 88T 70T 18T 79% -/dev/grid/node-x32-y11 85T 68T 17T 80% -/dev/grid/node-x32-y12 85T 68T 17T 80% -/dev/grid/node-x32-y13 86T 68T 18T 79% -/dev/grid/node-x32-y14 87T 71T 16T 81% -/dev/grid/node-x32-y15 85T 70T 15T 82% -/dev/grid/node-x32-y16 92T 71T 21T 77% -/dev/grid/node-x32-y17 88T 71T 17T 80% -/dev/grid/node-x32-y18 93T 71T 22T 76% -/dev/grid/node-x32-y19 89T 67T 22T 75% -/dev/grid/node-x32-y20 85T 68T 17T 80% -/dev/grid/node-x32-y21 86T 65T 21T 75% -/dev/grid/node-x32-y22 91T 70T 21T 76% -/dev/grid/node-x32-y23 87T 72T 15T 82% -/dev/grid/node-x32-y24 506T 490T 16T 96% -/dev/grid/node-x32-y25 94T 68T 26T 72% -/dev/grid/node-x32-y26 86T 65T 21T 75% -/dev/grid/node-x32-y27 91T 70T 21T 76% -/dev/grid/node-x33-y0 90T 72T 18T 80% -/dev/grid/node-x33-y1 90T 70T 20T 77% -/dev/grid/node-x33-y2 94T 69T 25T 73% -/dev/grid/node-x33-y3 86T 67T 19T 77% -/dev/grid/node-x33-y4 88T 66T 22T 75% -/dev/grid/node-x33-y5 91T 67T 24T 73% -/dev/grid/node-x33-y6 94T 65T 29T 69% -/dev/grid/node-x33-y7 89T 67T 22T 75% -/dev/grid/node-x33-y8 87T 72T 15T 82% -/dev/grid/node-x33-y9 93T 68T 25T 73% -/dev/grid/node-x33-y10 91T 71T 20T 78% -/dev/grid/node-x33-y11 87T 69T 18T 79% -/dev/grid/node-x33-y12 88T 65T 23T 73% -/dev/grid/node-x33-y13 86T 64T 22T 74% -/dev/grid/node-x33-y14 92T 67T 25T 72% -/dev/grid/node-x33-y15 94T 67T 27T 71% -/dev/grid/node-x33-y16 85T 73T 12T 85% -/dev/grid/node-x33-y17 92T 64T 28T 69% -/dev/grid/node-x33-y18 87T 65T 22T 74% -/dev/grid/node-x33-y19 87T 68T 19T 78% -/dev/grid/node-x33-y20 89T 73T 16T 82% -/dev/grid/node-x33-y21 87T 65T 22T 74% -/dev/grid/node-x33-y22 92T 71T 21T 77% -/dev/grid/node-x33-y23 89T 67T 22T 75% -/dev/grid/node-x33-y24 505T 497T 8T 98% -/dev/grid/node-x33-y25 91T 64T 27T 70% -/dev/grid/node-x33-y26 88T 67T 21T 76% -/dev/grid/node-x33-y27 93T 68T 25T 73% -/dev/grid/node-x34-y0 88T 66T 22T 75% -/dev/grid/node-x34-y1 94T 69T 25T 73% -/dev/grid/node-x34-y2 89T 66T 23T 74% -/dev/grid/node-x34-y3 90T 64T 26T 71% -/dev/grid/node-x34-y4 86T 73T 13T 84% -/dev/grid/node-x34-y5 93T 67T 26T 72% -/dev/grid/node-x34-y6 86T 73T 13T 84% -/dev/grid/node-x34-y7 85T 70T 15T 82% -/dev/grid/node-x34-y8 92T 70T 22T 76% -/dev/grid/node-x34-y9 89T 67T 22T 75% -/dev/grid/node-x34-y10 86T 68T 18T 79% -/dev/grid/node-x34-y11 91T 65T 26T 71% -/dev/grid/node-x34-y12 94T 72T 22T 76% -/dev/grid/node-x34-y13 91T 70T 21T 76% -/dev/grid/node-x34-y14 91T 72T 19T 79% -/dev/grid/node-x34-y15 91T 64T 27T 70% -/dev/grid/node-x34-y16 89T 67T 22T 75% -/dev/grid/node-x34-y17 92T 67T 25T 72% -/dev/grid/node-x34-y18 89T 69T 20T 77% -/dev/grid/node-x34-y19 87T 66T 21T 75% -/dev/grid/node-x34-y20 94T 71T 23T 75% -/dev/grid/node-x34-y21 86T 71T 15T 82% -/dev/grid/node-x34-y22 89T 72T 17T 80% -/dev/grid/node-x34-y23 87T 73T 14T 83% -/dev/grid/node-x34-y24 509T 494T 15T 97% -/dev/grid/node-x34-y25 88T 69T 19T 78% -/dev/grid/node-x34-y26 87T 0T 87T 0% -/dev/grid/node-x34-y27 90T 67T 23T 74% -/dev/grid/node-x35-y0 94T 69T 25T 73% -/dev/grid/node-x35-y1 90T 71T 19T 78% -/dev/grid/node-x35-y2 93T 72T 21T 77% -/dev/grid/node-x35-y3 85T 64T 21T 75% -/dev/grid/node-x35-y4 91T 69T 22T 75% -/dev/grid/node-x35-y5 94T 73T 21T 77% -/dev/grid/node-x35-y6 88T 65T 23T 73% -/dev/grid/node-x35-y7 91T 67T 24T 73% -/dev/grid/node-x35-y8 90T 66T 24T 73% -/dev/grid/node-x35-y9 94T 70T 24T 74% -/dev/grid/node-x35-y10 92T 68T 24T 73% -/dev/grid/node-x35-y11 90T 64T 26T 71% -/dev/grid/node-x35-y12 92T 68T 24T 73% -/dev/grid/node-x35-y13 94T 64T 30T 68% -/dev/grid/node-x35-y14 94T 68T 26T 72% -/dev/grid/node-x35-y15 94T 68T 26T 72% -/dev/grid/node-x35-y16 94T 70T 24T 74% -/dev/grid/node-x35-y17 93T 68T 25T 73% -/dev/grid/node-x35-y18 88T 70T 18T 79% -/dev/grid/node-x35-y19 89T 66T 23T 74% -/dev/grid/node-x35-y20 85T 73T 12T 85% -/dev/grid/node-x35-y21 89T 72T 17T 80% -/dev/grid/node-x35-y22 86T 72T 14T 83% -/dev/grid/node-x35-y23 89T 71T 18T 79% -/dev/grid/node-x35-y24 510T 498T 12T 97% -/dev/grid/node-x35-y25 93T 69T 24T 74% -/dev/grid/node-x35-y26 86T 71T 15T 82% -/dev/grid/node-x35-y27 89T 64T 25T 71% -/dev/grid/node-x36-y0 87T 64T 23T 73% -/dev/grid/node-x36-y1 91T 69T 22T 75% -/dev/grid/node-x36-y2 87T 68T 19T 78% -/dev/grid/node-x36-y3 90T 65T 25T 72% -/dev/grid/node-x36-y4 90T 65T 25T 72% -/dev/grid/node-x36-y5 87T 68T 19T 78% -/dev/grid/node-x36-y6 94T 70T 24T 74% -/dev/grid/node-x36-y7 94T 68T 26T 72% -/dev/grid/node-x36-y8 90T 69T 21T 76% -/dev/grid/node-x36-y9 88T 67T 21T 76% -/dev/grid/node-x36-y10 93T 64T 29T 68% -/dev/grid/node-x36-y11 89T 71T 18T 79% -/dev/grid/node-x36-y12 88T 65T 23T 73% -/dev/grid/node-x36-y13 89T 73T 16T 82% -/dev/grid/node-x36-y14 86T 70T 16T 81% -/dev/grid/node-x36-y15 87T 64T 23T 73% -/dev/grid/node-x36-y16 86T 71T 15T 82% -/dev/grid/node-x36-y17 85T 71T 14T 83% -/dev/grid/node-x36-y18 90T 72T 18T 80% -/dev/grid/node-x36-y19 92T 68T 24T 73% -/dev/grid/node-x36-y20 91T 66T 25T 72% -/dev/grid/node-x36-y21 87T 67T 20T 77% -/dev/grid/node-x36-y22 85T 66T 19T 77% -/dev/grid/node-x36-y23 86T 67T 19T 77% -/dev/grid/node-x36-y24 502T 499T 3T 99% -/dev/grid/node-x36-y25 94T 70T 24T 74% -/dev/grid/node-x36-y26 85T 72T 13T 84% -/dev/grid/node-x36-y27 87T 68T 19T 78% -/dev/grid/node-x37-y0 93T 70T 23T 75% -/dev/grid/node-x37-y1 92T 72T 20T 78% -/dev/grid/node-x37-y2 89T 73T 16T 82% -/dev/grid/node-x37-y3 94T 70T 24T 74% -/dev/grid/node-x37-y4 92T 66T 26T 71% -/dev/grid/node-x37-y5 91T 64T 27T 70% -/dev/grid/node-x37-y6 87T 64T 23T 73% -/dev/grid/node-x37-y7 90T 72T 18T 80% -/dev/grid/node-x37-y8 91T 66T 25T 72% -/dev/grid/node-x37-y9 94T 65T 29T 69% -/dev/grid/node-x37-y10 85T 70T 15T 82% -/dev/grid/node-x37-y11 89T 69T 20T 77% -/dev/grid/node-x37-y12 93T 71T 22T 76% -/dev/grid/node-x37-y13 88T 67T 21T 76% -/dev/grid/node-x37-y14 94T 67T 27T 71% -/dev/grid/node-x37-y15 86T 73T 13T 84% -/dev/grid/node-x37-y16 85T 68T 17T 80% -/dev/grid/node-x37-y17 89T 72T 17T 80% -/dev/grid/node-x37-y18 88T 67T 21T 76% -/dev/grid/node-x37-y19 87T 66T 21T 75% -/dev/grid/node-x37-y20 88T 69T 19T 78% -/dev/grid/node-x37-y21 86T 70T 16T 81% -/dev/grid/node-x37-y22 92T 68T 24T 73% -/dev/grid/node-x37-y23 87T 70T 17T 80% -/dev/grid/node-x37-y24 502T 498T 4T 99% -/dev/grid/node-x37-y25 87T 72T 15T 82% -/dev/grid/node-x37-y26 90T 64T 26T 71% -/dev/grid/node-x37-y27 90T 70T 20T 77% diff --git a/adventofcode16/data/advent23.txt b/adventofcode16/data/advent23.txt deleted file mode 100644 index 93f25d2..0000000 --- a/adventofcode16/data/advent23.txt +++ /dev/null @@ -1,26 +0,0 @@ -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 94 c -jnz 99 d -inc a -inc d -jnz d -2 -inc c -jnz c -5 \ No newline at end of file diff --git a/adventofcode16/src/Lib.hs b/adventofcode16/src/Lib.hs deleted file mode 100644 index d36ff27..0000000 --- a/adventofcode16/src/Lib.hs +++ /dev/null @@ -1,6 +0,0 @@ -module Lib - ( someFunc - ) where - -someFunc :: IO () -someFunc = putStrLn "someFunc" diff --git a/adventofcode16/stack.yaml b/adventofcode16/stack.yaml deleted file mode 100644 index b77fb38..0000000 --- a/adventofcode16/stack.yaml +++ /dev/null @@ -1,10 +0,0 @@ -flags: {} -extra-package-dbs: [] -packages: -- '.' -system-ghc: true -extra-deps: -- astar-0.3.0.0 -- parsec-numbers-0.1.0 -- pqueue-1.3.2 -resolver: lts-6.25 diff --git a/adventofcode16/test/Spec.hs b/adventofcode16/test/Spec.hs deleted file mode 100644 index cd4753f..0000000 --- a/adventofcode16/test/Spec.hs +++ /dev/null @@ -1,2 +0,0 @@ -main :: IO () -main = putStrLn "Test suite not yet implemented" diff --git a/app/Main.hs b/app/Main.hs new file mode 100644 index 0000000..de1c1ab --- /dev/null +++ b/app/Main.hs @@ -0,0 +1,6 @@ +module Main where + +import Lib + +main :: IO () +main = someFunc diff --git a/app/advent01.hs b/app/advent01.hs new file mode 100644 index 0000000..b76195d --- /dev/null +++ b/app/advent01.hs @@ -0,0 +1,99 @@ +module Main(main) where + +import Data.List (sort) +import Data.List.Split (splitOn) + +-- turn direction, number of steps +data Step = Step Char Int deriving (Show) + +data Direction = North | East | South | West + deriving (Enum, Show, Bounded, Eq) + +-- direction, easting, northing +data Position = Position Direction Int Int deriving (Show) +-- Two positions are the same if they're in the same place, +-- regardless of facing +instance Eq Position where + Position _ e n == Position _ e' n' = e == e' && n == n' + +main :: IO () +main = do + instructions <- readFile "data/advent01.txt" + part1 instructions + part2 instructions + +part1 :: String -> IO () +part1 instructions = do + let answer = finalDistance $ last $ stepsFromStart $ steps instructions + print answer + +part2 :: String -> IO () +part2 instructions = do + let visited = finalDistance $ firstRepeat $ stepsFromStart $ expandSteps $ steps instructions + print visited + + +-- Extract the steps from the input string. +steps :: String -> [Step] +steps s = map readStep $ splitOn ", " s + where readStep (d:l) = Step d (read l) + +-- Take steps from the starting position +stepsFromStart :: [Step] -> [Position] +stepsFromStart = takeSteps (Position North 0 0) + +-- Calculate manhattan distance from start to this state +finalDistance :: Position -> Int +finalDistance (Position _ e n) = (abs e) + (abs n) + +-- For part 2: convert one step of many spaces to many steps of one space each +expandSteps :: [Step] -> [Step] +expandSteps = + concatMap expandStep + where expandStep (Step dir d) = (Step dir 1) : replicate (d - 1) (Step 'S' 1) + +-- Execute a series of steps, keeping track of the positions after each step +takeSteps :: Position -> [Step] -> [Position] +-- takeSteps pos steps = scanl move pos steps +takeSteps = scanl move + +-- Make one move, by updating direction then position +move :: Position -> Step -> Position +move (Position facing easting northing) + (Step turnInstr distance) = + Position facing' easting' northing' + where facing' = turn turnInstr facing + (easting', northing') = takeStep facing' distance easting northing + +-- Turn right, left, or straight +turn :: Char -> Direction -> Direction +turn 'R' direction = turnCW direction +turn 'L' direction = turnACW direction +turn 'S' direction = direction + +-- Move in the current direction +takeStep :: Direction -> Int -> Int -> Int -> (Int, Int) +takeStep North d e n = (e, n+d) +takeStep South d e n = (e, n-d) +takeStep West d e n = (e-d, n) +takeStep East d e n = (e+d, n) + + +-- | a `succ` that wraps +turnCW :: (Bounded a, Enum a, Eq a) => a -> a +turnCW dir | dir == maxBound = minBound + | otherwise = succ dir + +-- | a `pred` that wraps +turnACW :: (Bounded a, Enum a, Eq a) => a -> a +turnACW dir | dir == minBound = maxBound + | otherwise = pred dir + +-- All the prefixes of a list of items +prefixes = scanl addTerm [] + where addTerm ps t = ps ++ [t] + +-- The first item that exists in a prefix of the list to that point +firstRepeat positions = + last $ head $ dropWhile (\p -> (last p) `notElem` (tail $ reverse p)) + (tail $ prefixes positions) diff --git a/app/advent02.hs b/app/advent02.hs new file mode 100644 index 0000000..747001d --- /dev/null +++ b/app/advent02.hs @@ -0,0 +1,90 @@ +module Main(main) where + +import Data.Array.IArray + +-- Row 1 is top, column 1 is left +type Position = (Int, Int) +type Keyboard = Array Position Char + +kb1 = ["xxxxx", + "x123x", + "x456x", + "x789x", + "xxxxx"] + +kb2 = ["xxxxxxx", + "xxx1xxx", + "xx234xx", + "x56789x", + "xxABCxx", + "xxxDxxx", + "xxxxxxx"] + +enumerate = zip [0..] + +mkKeyboard :: [String] -> Keyboard +mkKeyboard kb = array ((0, 0), (length kb - 1, length (kb!!0) - 1)) + [((i, j), c) | (i, r) <- enumerate kb, (j, c) <- enumerate r] + +keyboard1 = mkKeyboard kb1 +keyboard2 = mkKeyboard kb2 + +findKey :: Keyboard -> Char-> Position +findKey kb c = fst $ head $ filter (\a -> (snd a) == c) $ assocs kb + +-- data Coord = One | Two | Three +-- deriving (Read, Show, Eq, Ord, Enum, Bounded) +-- -- instance Bounded Coord where +-- -- minBound = Coord 1 +-- -- maxBound = Coord 3 + +-- data Position = Position Coord Coord +-- deriving (Show, Eq) + +main :: IO () +main = do + instrText <- readFile "data/advent02.txt" + let instructions = lines instrText + part1 instructions + part2 instructions + +part1 :: [String] -> IO () +part1 instructions = do + putStrLn $ followInstructions keyboard1 instructions + + +part2 :: [String] -> IO () +part2 instructions = do + putStrLn $ followInstructions keyboard2 instructions + + +followInstructions :: Keyboard -> [String] -> String +followInstructions kb instr = moveSeries kb (startPosition kb) instr + + +startPosition :: Keyboard -> Position +startPosition kb = findKey kb '5' + +moveSeries :: Keyboard -> Position -> [String] -> String +moveSeries _ _ [] = [] +moveSeries kb p (i:is) = (n:ns) + where p' = makeMoves kb p i + n = kb ! p' + ns = moveSeries kb p' is + +makeMoves :: Keyboard -> Position -> [Char] -> Position +makeMoves kb p ms = foldl (safeMove kb) p ms + +safeMove :: Keyboard -> Position -> Char -> Position +safeMove kb pos dir = maybeRevert kb pos (move pos dir) + +move :: Position -> Char -> Position +move (r, c) 'U' = (r-1, c) +move (r, c) 'D' = (r+1, c) +move (r, c) 'L' = (r, c-1) +move (r, c) 'R' = (r, c+1) + +maybeRevert :: Keyboard -> Position -> Position -> Position +maybeRevert kb oldPos newPos + | kb ! newPos == 'x' = oldPos + | otherwise = newPos diff --git a/app/advent03.hs b/app/advent03.hs new file mode 100644 index 0000000..ef40bcc --- /dev/null +++ b/app/advent03.hs @@ -0,0 +1,33 @@ +module Main(main) where + +import Data.List (transpose, sort) +import Data.List.Split (splitOn, chunksOf) + +type Triple = [Integer] + +main :: IO () +main = do + instrText <- readFile "data/advent03.txt" + let triangles = map (parseLine) $ lines instrText + part1 triangles + part2 triangles + + +part1 :: [Triple] -> IO () +part1 triangles = do + print $ length $ filter (validTriangle) triangles + +part2 :: [Triple] -> IO () +part2 triangles = do + print $ length $ filter (validTriangle) $ byColumns triangles + + +parseLine :: String -> Triple +parseLine = map (read) . filter (not . null) . splitOn " " + +validTriangle :: Triple -> Bool +validTriangle triple = sortedTriple!!0 + sortedTriple!!1 > sortedTriple!!2 + where sortedTriple = sort triple + +byColumns :: [[Integer]] -> [Triple] +byColumns = chunksOf 3 . concat . transpose diff --git a/app/advent04.hs b/app/advent04.hs new file mode 100644 index 0000000..85b7555 --- /dev/null +++ b/app/advent04.hs @@ -0,0 +1,66 @@ +module Main(main) where + +import Data.List (last, intersperse, sortBy, intercalate, isInfixOf, init) +import Data.List.Split (splitOn) +import Data.Char (isLetter, ord, chr) +import qualified Data.Map.Lazy as Map + +data Room = Room { name :: String + , sector :: Int + , checksum :: String + } deriving (Show) + +main :: IO () +main = do + instrText <- readFile "data/advent04.txt" + let rooms = map (parseLine) $ lines instrText + part1 rooms + part2 rooms + + +part1 :: [Room] -> IO () +part1 rooms = do + print $ sum $ map (sector) validRooms + where + validChecksum room = (checksum room) == makeChecksum (name room) + validRooms = filter (validChecksum) rooms + +part2 :: [Room] -> IO () +part2 rooms = do + print $ fst $ head $ filter (\sn -> isInfixOf "north" (snd sn)) sectorNames + where + validChecksum room = (checksum room) == makeChecksum (name room) + validRooms = filter (validChecksum) rooms + sectorNames = [((sector r), + shiftWord (sector r) (name r)) | r <- validRooms] + + +parseLine :: String -> Room +parseLine line = Room {name=name, sector=sector, checksum=checksum} + where components = splitOn "-" line + name = intercalate "-" $ init components + sector = read $ head $ splitOn "[" $ last components + checksum = filter (isLetter) $ last components + +countedLetters :: String -> [(Char, Int)] +countedLetters name = sortBy sortCLetter $ unsortedCountedLetters name + where unsortedCountedLetters name = + Map.toList $ Map.fromListWith (+) [(c, 1) | c <- filter (isLetter) name] + +sortCLetter :: (Char, Int) -> (Char, Int) -> Ordering +sortCLetter (l1, n1) (l2, n2) + | n1 < n2 = GT + | n1 > n2 = LT + | n1 == n2 = compare l1 l2 + +makeChecksum :: String -> String +makeChecksum name = [l | (l, _) <- take 5 $ countedLetters name] + + +shiftWord :: Int -> String -> String +shiftWord shift letters = map (shiftLetter shift) letters + +shiftLetter :: Int -> Char -> Char +shiftLetter shift letter + | isLetter letter = chr $ (ord letter - ord 'a' + shift) `mod` 26 + ord 'a' + | otherwise = ' ' diff --git a/app/advent05.hs b/app/advent05.hs new file mode 100644 index 0000000..82a035e --- /dev/null +++ b/app/advent05.hs @@ -0,0 +1,44 @@ +module Main(main) where + +import Data.Hash.MD5 (md5s, Str(..)) +import Data.List (isPrefixOf) +import qualified Data.Map.Lazy as Map + +type Password = Map.Map Integer Char + +input = "cxdnnyjw" + +main :: IO () +main = do + part1 + part2 + + +part1 :: IO () +part1 = do + putStrLn $ take 8 [h!!5 | h <- filter (interesting) $ md5sequence input 0] + +part2 :: IO () +part2 = do + putStrLn $ Map.foldr (:) [] password + where interestingHashes = + [(read [h!!5], h!!6) | + h <- filter (interesting) (md5sequence input 0), + h!!5 `elem` "01234567"] + password = findPassword Map.empty interestingHashes + + +md5sequence :: String -> Integer -> [String] +md5sequence key i = (md5s (Str (key ++ show i))) : (md5sequence key (i+1)) + +interesting :: String -> Bool +interesting hash = "00000" `isPrefixOf` hash + +dontReplace :: (Integer, Char) -> Password -> Password +dontReplace (k, v) = Map.insertWith (\_ v -> v) k v + +findPassword :: Password -> [(Integer, Char)] -> Password +findPassword p (c:cs) + | Map.size p == 8 = p + | otherwise = findPassword p' cs + where p' = dontReplace c p diff --git a/app/advent06-old.hs b/app/advent06-old.hs new file mode 100644 index 0000000..77d4093 --- /dev/null +++ b/app/advent06-old.hs @@ -0,0 +1,36 @@ +module Main(main) where + +import Data.List (transpose) +import Data.Char (isLetter) +import qualified Data.Map.Lazy as Map + +main :: IO () +main = do + text <- readFile "advent06.txt" + let message = lines text + part1 message + part2 message + +part1 :: [String] -> IO () +part1 message = do + print $ map (fst) $ map (mostCommon) $ map (countedLetters) $ transpose message + +part2 :: [String] -> IO () +part2 message = do + print $ map (fst) $ map (leastCommon) $ map (countedLetters) $ transpose message + + +countedLetters :: String -> Map.Map Char Int +countedLetters name = Map.fromListWith (+) [(c, 1) | c <- filter (isLetter) name] + +mostCommon = Map.foldlWithKey (mostCommonP) ('a', 0) + +mostCommonP (letter0, count0) letter count + | count > count0 = (letter, count) + | otherwise = (letter0, count0) + +leastCommon = Map.foldlWithKey (leastCommonP) ('a', maxBound :: Int) + +leastCommonP (letter0, count0) letter count + | count < count0 = (letter, count) + | otherwise = (letter0, count0) \ No newline at end of file diff --git a/app/advent06.hs b/app/advent06.hs new file mode 100644 index 0000000..96c4aa2 --- /dev/null +++ b/app/advent06.hs @@ -0,0 +1,22 @@ +module Main(main) where + +import Data.List (transpose, maximum, minimum, sort, group) +import Data.Tuple (swap) + +main :: IO () +main = do + text <- readFile "data/advent06.txt" + let message = lines text + part1 message + part2 message + +part1 :: [String] -> IO () +part1 message = do + putStrLn $ map (snd . maximum . counts) $ transpose message + +part2 :: [String] -> IO () +part2 message = do + putStrLn $ map (snd . minimum . counts) $ transpose message + +counts :: (Eq a, Ord a) => [a] -> [(Int, a)] +counts = map (\g -> (length g, head g)) . group . sort \ No newline at end of file diff --git a/app/advent07.hs b/app/advent07.hs new file mode 100644 index 0000000..8700958 --- /dev/null +++ b/app/advent07.hs @@ -0,0 +1,136 @@ +module Main(main) where + +import Text.Parsec +import Data.List (partition, union, intersect, tails) +import Data.Char (isAlphaNum) + +data Chunk = Include String | Exclude String deriving (Show) +data ChunkV = Includev Bool | Excludev Bool deriving (Show) + +chunkValue :: Chunk -> String +chunkValue (Include v) = v +chunkValue (Exclude v) = v + +isInclude :: Chunk -> Bool +isInclude (Include _) = True +isInclude (Exclude _) = False + +chunkValueV :: ChunkV -> Bool +chunkValueV (Includev v) = v +chunkValueV (Excludev v) = v + +isIncludeV :: ChunkV -> Bool +isIncludeV (Includev _) = True +isIncludeV (Excludev _) = False + + +main :: IO () +main = do + text <- readFile "data/advent07.txt" + part1 text + part2 text + + +part1 :: String -> IO () +part1 text = do + print $ length $ filter (allowsAbba) $ successfulParse $ parseI7vf text + + +part2 :: String -> IO () +part2 text = do + print $ length $ filter (supportsSSL) $ successfulParse $ parseI7f text + +allowsAbba :: [ChunkV] -> Bool +allowsAbba chunks = (any (chunkValueV) includeChunks) && (not (any (chunkValueV) excludeChunks)) + where (includeChunks, excludeChunks) = partition (isIncludeV) chunks + +i7file = i7line `endBy` newline +i7line = many1 (includeChunk <|> excludeChunk) + +chunk = many1 alphaNum + +excludeChunk = Exclude <$> (between (char '[') (char ']') $ chunk) +includeChunk = Include <$> chunk + +hasABBA = preambleAbba <* (many alphaNum) +preambleAbba = (try abba) <|> (alphaNum >> preambleAbba) + +-- abba = +-- do a <- alphaNum +-- b <- alphaNum +-- if a == b then +-- fail "Identical" +-- else do char b +-- char a +-- return [a, b, b, a] + +abba = + do a <- alphaNum + b <- noneOf [a] + char b + char a + return [a, b, b, a] + +-- where +--   firstChar = satisfy (\a -> isLetter a || a == '_') +--   nonFirstChar = satisfy (\a -> isDigit a || isLetter a || a == '_') + + -- b <- bChar +-- where bChar = satisfy (\l -> lsLetter l && l /= a) + + + +i7filev = i7linev `endBy` newline +i7linev = many1 (includeChunkv <|> excludeChunkv) + +excludeChunkv = Excludev <$> (between (char '[') (char ']') $ hasABBAv) +includeChunkv = Includev <$> hasABBAv + +hasABBAv = + (try (id True <$ preambleAbba <* (many alphaNum))) + <|> + (id False <$ (many1 alphaNum)) + + +parseI7f :: String -> Either ParseError [[Chunk]] +parseI7f input = parse i7file "(unknown)" input + +parseI7 :: String -> Either ParseError [Chunk] +parseI7 input = parse i7line "(unknown)" input + +parseAbba :: String -> Either ParseError String +parseAbba input = parse hasABBA "(unknown)" input + +parseI7v :: String -> Either ParseError [ChunkV] +parseI7v input = parse i7linev "(unknown)" input + +parseI7vf :: String -> Either ParseError [[ChunkV]] +parseI7vf input = parse i7filev "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a + + +allSubstrings :: Int -> [a] -> [[a]] +-- allSubstrings n es +-- | length es < n = [] +-- | otherwise = (take n es) : (allSubstrings n $ tail es) +allSubstrings n e = filter (\s -> length s == n) $ map (take n) $ tails e + + +ieCandidates :: [Chunk] -> ([String], [String]) +ieCandidates chunks = (includeCandidates, excludeCandidates) + where (includeChunks, excludeChunks) = partition (isInclude) chunks + isABA s = (s!!0 == s!!2) && (s!!0 /= s!!1) + candidates = (filter (isABA)) . (foldl (union) []) . (map ((allSubstrings 3) . chunkValue)) + includeCandidates = candidates includeChunks + excludeCandidates = candidates excludeChunks + +inverseABA :: String -> String +inverseABA s = [s!!1, s!!0, s!!1] + +supportsSSL :: [Chunk] -> Bool +supportsSSL chunks = not $ null $ intersect abas eabas + where (abas, babs) = ieCandidates chunks + eabas = map (inverseABA) babs diff --git a/app/advent08.hs b/app/advent08.hs new file mode 100644 index 0000000..ccf2de0 --- /dev/null +++ b/app/advent08.hs @@ -0,0 +1,148 @@ +module Main(main) where + +import Data.Array.IArray +import Text.Parsec +import Control.Monad (liftM, ap) + +-- Row 1 is top, column 1 is left +type Position = (Int, Int) +type Screen = Array Position Bool + +data Direction = Row | Column deriving (Show) +data Command = Rect Int Int | Rotate Direction Int Int deriving (Show) + +data ScState a = ScState (Screen -> (Screen, a)) + +mkScreen :: Int -> Int -> Screen +mkScreen w h = array ((0, 0), (h - 1, w - 1)) + [((i, j), False) | i <- [0..(h-1)], j <- [0..(w-1)]] + +showScreen :: Screen -> String +showScreen screen = unlines [showRow r | r <- [minRow..maxRow]] + where ((minRow, minCol), (maxRow, maxCol)) = bounds screen + showCell True = '*' + showCell False = ' ' + showRow r = [showCell (screen!(r, c)) | c <- [minCol..maxCol]] + +countLights :: Screen -> Int +countLights screen = length $ filter (id) $ elems screen + +screen0 :: Screen +screen0 = mkScreen 50 6 + + +main :: IO () +main = do + text <- readFile "data/advent08.txt" + let instrs = successfulParse $ parseCommands text + part1 instrs + part2 instrs + +part1 :: [Command] -> IO () +part1 commands = + print $ countLights $ (extractScreen . doCommands) commands + +part2 :: [Command] -> IO () +part2 commands = + putStrLn $ showScreen $ (extractScreen . doCommands) commands + + +instance Functor ScState where + fmap = liftM + +instance Applicative ScState where + pure = return + (<*>) = ap + +instance Monad ScState where + return x = ScState (\screen -> (screen, x)) + + (ScState st) >>= f + = ScState (\screen -> let + (newScreen, y) = st screen + (ScState transformer) = f y + in + transformer newScreen) + +doCommands :: [Command] -> ScState (Int) +doCommands [] = return 0 +doCommands (i:is) = + do doCommand i + doCommands is + return 0 + +doCommand :: Command -> ScState Int +doCommand i = ScState (execute i) + +execute :: Command -> (Screen -> (Screen, Int)) +execute (Rect w h) screen = (rect screen w h, 0) +execute (Rotate Column c n) screen = (rotateColumn screen c n, 0) +execute (Rotate Row r n) screen = (rotateRow screen r n, 0) + +extractScreen :: ScState Int -> Screen +extractScreen (ScState st) = fst (st screen0) + + + +parseCommands :: String -> Either ParseError [Command] +parseCommands input = parse commandFile "(unknown)" input + +commandFile = commandLine `endBy` newline +commandLine = (try rectCommand) <|> rotateCommand + +rectCommand = + do string "rect" + spaces + w <- (many1 digit) + char 'x' + h <- (many1 digit) + return (Rect (read w) (read h)) + +rotateCommand = + do string "rotate" + spaces + direction <- (string "row" <|> string "column") + spaces + string "x=" <|> string "y=" + index <- (many1 digit) + spaces + string "by" + spaces + distance <- (many1 digit) + return (buildCommand direction index distance) + +buildCommand "row" i d = Rotate Row (read i) (read d) +buildCommand "column" i d = Rotate Column (read i) (read d) + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a + + + + +rect :: Screen -> Int -> Int -> Screen +rect screen w h = screen // newBits + where newBits = [((i, j), True) | i <- [0..(h-1)], j <- [0..(w-1)]] + +rotateColumn :: Screen -> Int -> Int -> Screen +rotateColumn screen column givenShift = screen // newCells + where + ((minRow, minCol), (maxRow, maxCol)) = bounds screen + colLength = 1 + maxRow - minRow + shift = givenShift `mod` colLength + offset = colLength - shift + column0 = [screen!(r, column) | r <- [minRow..maxRow]] + newColumn = (drop offset column0) ++ (take offset column0) + newCells = [((r, column), cell) | (r, cell) <- zip [minRow..maxRow] newColumn] + +rotateRow :: Screen -> Int -> Int -> Screen +rotateRow screen row givenShift = screen // newCells + where + ((minRow, minCol), (maxRow, maxCol)) = bounds screen + rowLength = 1 + maxCol - minCol + shift = givenShift `mod` rowLength + offset = rowLength - shift + row0 = [screen!(row, c) | c <- [minCol..maxCol]] + newRow = (drop offset row0) ++ (take offset row0) + newCells = [((row, c), cell) | (c, cell) <- zip [minCol..maxCol] newRow] diff --git a/app/advent09.hs b/app/advent09.hs new file mode 100644 index 0000000..a3ce495 --- /dev/null +++ b/app/advent09.hs @@ -0,0 +1,57 @@ +module Main(main) where + +import Data.List.Split (splitOn) +import Data.Char (isSpace) + +type Chunk = (Int, String) + +main :: IO () +main = do + textL <- readFile "data/advent09.txt" + let text = filter (not . isSpace) textL + part1 text + part2 text + +part1 :: String -> IO () +part1 text = do + print $ cLength $ decompress text + +part2 :: String -> IO () +part2 text = do + print $ cLength $ decompress2 text + + +decompress :: String -> [Chunk] +decompress text = + if not (null msuf) + then (1, pre):(num, chunk):drest + else [(1, pre)] + where + (pre, msuf) = span ('(' /= ) text + (marker, suf) = span (')' /= ) msuf + ln = splitOn "x" (tail marker) + len = read (ln!!0) :: Int + num = read (ln!!1) :: Int + (chunk, remainder) = splitAt len (tail suf) + drest = decompress remainder + +decompress2 :: String -> [Chunk] +decompress2 text = + if not (null msuf) + then [(1, pre)] ++ mulDchunks ++ drest + else [(1, pre)] + where + (pre, msuf) = span ('(' /= ) text + (marker, suf) = span (')' /= ) msuf + ln = splitOn "x" (tail marker) + len = read (ln!!0) :: Int + num = read (ln!!1) :: Int + (chunk, remainder) = splitAt len (tail suf) + dchunks = decompress2 chunk + mulDchunks = [(dl * num, ds) | (dl, ds) <- dchunks] + drest = decompress2 remainder + +cLength :: [Chunk] -> Int +cLength = sum . map (clen) + where clen (n, t) = n * (length t) + diff --git a/app/advent10.hs b/app/advent10.hs new file mode 100644 index 0000000..70e80e0 --- /dev/null +++ b/app/advent10.hs @@ -0,0 +1,217 @@ +import Text.Parsec hiding (State) +import Data.Text (pack, unpack, toTitle) +import Control.Monad.State.Lazy +import Data.List (partition, findIndices, sort, find) +import Data.Maybe (fromJust) + +data Destination = Bot | Output deriving (Show, Read, Eq) +-- Rule bot low-destination high-destination +-- Gift bot value +data Instruction = Rule { ruleId :: Int + , lowDestType :: Destination + , lowDestId :: Int + , highDestType :: Destination + , highDestId :: Int + } | + Gift { giftId :: Int + , value :: Int + } + deriving (Show) + +-- bod id [item1, item2] +data Place = Place { placeId :: Int + , placeType :: Destination + , items :: [Int]} + deriving (Show) + +-- delivery by bot of low-value and high-value +data Event = Delivery { deliveryId :: Int + , lowDelivery :: Int + , highDelivery :: Int + } | + Update { updateId :: Int + , updateType :: Destination + , updateItem :: Int + } deriving (Show) + +type Factory = ([Place], [Instruction], [Event]) +-- data FactorySt History = FactorySt (Factory -> (Factory, History)) + +emptyFactory :: Factory +emptyFactory = ([], [], []) + +main :: IO () +main = do + text <- readFile "data/advent10.txt" + let instructions = successfulParse $ parseIfile text + part1 instructions + part2 instructions + + +part1 :: [Instruction] -> IO () +part1 instructions = + do let (_, _, events) = snd $ runState (runFactory instructions) emptyFactory + -- let (places, instructions, events) = snd finalFactory + print $ deliveryId $ fromJust $ findDelivery events 17 61 + +part2 :: [Instruction] -> IO () +part2 instructions = + do let (places, _, _) = snd $ runState (runFactory instructions) emptyFactory + let outs = findOutputs places [0, 1, 2] + let product = foldl1 (*) $ concatMap (items) outs + print $ product + + +findDelivery :: [Event] -> Int -> Int -> Maybe Event +findDelivery events lowItem highItem = find (delivery) events + where delivery Update {} = False + delivery Delivery {deliveryId = bot, lowDelivery = l, highDelivery = h} + | l == lowItem && h == highItem = True + | otherwise = False + +findOutputs :: [Place] -> [Int] -> [Place] +findOutputs outputs ids = filter (interesting) outputs + where interesting Place {placeId = p, placeType = t, items = i} + | (p `elem` ids) && t == Output = True + | otherwise = False + + +runFactory :: [Instruction] -> State Factory () +runFactory instructions = do + addInstructions instructions + runInstructions instructions + + + +instructionFile = instructionLine `endBy` newline +instructionLine = ruleL <|> giftL + + +ruleL = + do (string "bot" >> spaces) + bot <- many1 digit + (spaces >> string "gives low to" >> spaces) + lowDestType <- (string "output" <|> string "bot") + spaces + lowDest <- many1 digit + (spaces >> string "and high to" >> spaces) + highDestType <- (string "output" <|> string "bot") + spaces + highDest <- many1 digit + let rule = Rule (read bot) + (read $ unpack $ toTitle $ pack lowDestType) + (read lowDest) + (read $ unpack $ toTitle $ pack highDestType) + (read highDest) + return rule + +giftL = + do (string "value" >> spaces) + value <- many1 digit + (spaces >> string "goes to bot" >> spaces) + bot <- many1 digit + let gift = Gift (read bot) (read value) + return gift + + +parseIfile :: String -> Either ParseError [Instruction] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError Instruction +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a + + + + +addInstructions :: [Instruction] -> State Factory () +addInstructions [] = return () +addInstructions (i:is) = do + addInstruction i + addInstructions is + + +addInstruction :: Instruction -> State Factory () +addInstruction r@(Rule {lowDestType = ld, lowDestId = li, + highDestType = hd, highDestId = hi}) = + do (places, rules, history) <- get + put (places, r:rules, history) + addPlace (Place {placeType = ld, placeId = li, items = []}) + addPlace (Place {placeType = hd, placeId = hi, items = []}) +addInstruction Gift {giftId = g} = + do addPlace (Place {placeType = Bot, placeId = g, items = []}) + + +addPlace :: Place -> State Factory () +addPlace place = + do (places, rules, history) <- get + if not $ placeElem place places + then put ((place:places), rules, history) + else return () + + +runInstructions :: [Instruction] -> State Factory () +runInstructions [] = return () +runInstructions (i:is) = + do runInstruction i + runInstructions is + + +runInstruction :: Instruction -> State Factory () +runInstruction Rule {} = return () +runInstruction g@(Gift {}) = + do updatePlace (giftId g) Bot (value g) + propogateUpdates + +updatePlace :: Int -> Destination -> Int -> State Factory () +updatePlace b d i = + do (places, instructions, events) <- get + let (place0s, otherPlaces) = partition (samePlace (Place {placeId = b, placeType = d, items = []})) places + let place = head place0s + let place' = place {items = i:(items place)} + let update = Update {updateId = b, updateType = d, updateItem = i} + put (place':otherPlaces, instructions, update:events) + + +propogateUpdates :: State Factory () +propogateUpdates = + do (places, instructions, events) <- get + let (fullBots, otherPlaces) = fullRobots places + if (not . null) fullBots + then do let fullBot = head fullBots + let maybeRule = findRule instructions (placeId fullBot) + case maybeRule of + Nothing -> propogateUpdates + Just rule -> do let small:large:_ = sort $ items fullBot + let emptyBot = fullBot {items = []} + let delivery = Delivery { deliveryId = placeId fullBot + , lowDelivery = small + , highDelivery = large + } + put (emptyBot:(tail fullBots) ++ otherPlaces, + instructions, + delivery:events) + updatePlace (lowDestId rule) (lowDestType rule) small + updatePlace (highDestId rule) (highDestType rule) large + propogateUpdates + else return () + + +placeElem :: Place -> [Place] -> Bool +placeElem place places = (not . null) $ findIndices (samePlace place) places + +samePlace :: Place -> Place -> Bool +samePlace p1 p2 = (placeId p1 == placeId p2) && (placeType p1 == placeType p2) + +fullRobots :: [Place] -> ([Place], [Place]) +fullRobots places = partition (\p -> placeType p == Bot && length (items p) >= 2) places + +findRule :: [Instruction] -> Int -> Maybe Instruction +findRule instructions bot = find ruleForBot instructions + where ruleForBot Gift {} = False + ruleForBot Rule {ruleId = b} + | b == bot = True + | otherwise = False diff --git a/app/advent11.hs b/app/advent11.hs new file mode 100644 index 0000000..0286d77 --- /dev/null +++ b/app/advent11.hs @@ -0,0 +1,137 @@ +module Main(main) where + +import Data.List (subsequences, (\\), sort, sortBy) +import Data.Ord (comparing) + +data Item = Generator String | Microchip String deriving (Show, Eq) +type Floor = [Item] +data Building = Building Int [Floor] deriving (Show, Eq) + +instance Ord Item where + compare (Generator a) (Generator b) = compare a b + compare (Microchip a) (Microchip b) = compare a b + compare (Generator _) (Microchip _) = LT + compare (Microchip _) (Generator _) = GT + +instance Ord Building where + compare b1 b2 = comparing estimateCost b1 b2 + +building1 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building2 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", + Generator "elerium", Microchip "elerium", + Generator "dilithium", Microchip "dilithium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + + +buildingTest = Building 0 [ + sort([Microchip "hydrogen", Microchip "lithium"]), + [Generator "hydrogen"], + [Generator "lithium"], + []] + +main :: IO () +main = do + part1 + part2 + + +part1 :: IO () +-- part1 = print $ length $ init $ extractJust $ hillClimb [[buildingTest]] [] +part1 = print $ length $ init $ extractJust $ hillClimb [[building1]] [] +-- part1 = print $ length $ init $ extractJust $ aStar [[building1]] [] + +part2 :: IO () +part2 = print $ length $ init $ extractJust $ hillClimb [[building2]] [] + + +extractJust :: Maybe [a] -> [a] +extractJust Nothing = [] +extractJust (Just x) = x + +hillClimb :: [[Building]] -> [Building] -> Maybe [Building] +hillClimb [] _ = Nothing +hillClimb (currentTrail:trails) closed = + if isGoal (head currentTrail) then Just currentTrail + else hillClimb newAgenda ((head currentTrail): closed) + where newAgenda = + sortBy (\t1 t2 -> (head t1) `compare` (head t2)) $ + trails ++ (candidates currentTrail closed) + +aStar :: [[Building]] -> [Building] -> Maybe [Building] +aStar [] _ = Nothing +aStar (currentTrail:trails) closed = + if isGoal (head currentTrail) then Just currentTrail + else aStar newAgenda ((head currentTrail): closed) + where newAgenda = + sortBy (\t1 t2 -> (trailCost t1) `compare` (trailCost t2)) $ + trails ++ (candidates currentTrail closed) + trailCost t = estimateCost (head t) + length t - 1 + + +candidates :: [Building] -> [Building] -> [[Building]] +candidates currentTrail closed = newCandidates + where + (candidate:trail) = currentTrail + succs = legalSuccessors $ successors candidate + nonloops = (succs \\ trail) \\ closed + newCandidates = map (\n -> n:candidate:trail) nonloops + +isGoal :: Building -> Bool +isGoal (Building f floors) = + f+1 == height && (all (null) $ take f floors) + where height = length floors + +isLegal :: Building -> Bool +isLegal (Building f floors) = + null floor + || + not (any (isGenerator) floor) + || + any (safePair) pairs + where floor = floors!!f + pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] + safePair (Generator e, Microchip f) = e == f + safePair (Generator _, Generator _) = False + +isGenerator :: Item -> Bool +isGenerator (Generator _) = True +isGenerator (Microchip _) = False + +successors :: Building -> [Building] +successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] + where + floor = floors!!f + items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor + nextFloors = if f == 0 then [1] + else if f+1 == length floors then [f-1] + else [f+1, f-1] + +legalSuccessors :: [Building] -> [Building] +legalSuccessors = filter (isLegal) + +updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building +updateBuilding oldF oldFloors newF items = Building newF newFloors + where newFloors = map (updateFloor) $ zip [0..] oldFloors + updateFloor (f, fl) + | f == oldF = sort $ fl \\ items + | f == newF = sort $ items ++ fl + | otherwise = fl + +estimateCost :: Building -> Int +estimateCost (Building _ floors) = + sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors + diff --git a/app/advent11a.hs b/app/advent11a.hs new file mode 100644 index 0000000..c5349c8 --- /dev/null +++ b/app/advent11a.hs @@ -0,0 +1,164 @@ +-- Using the idea of canonical representation of buildings from +-- https://andars.github.io/aoc_day11.html by Andrew Foote, +-- plus my extension of represening the pairs as an integer. + +-- This version is A* search, using a list for the agenda. + +module Main(main) where + +import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) +import Data.Ord (comparing) +import Data.Char (isDigit) + +data Item = Generator String | Microchip String deriving (Show, Eq) +type Floor = [Item] +data Building = Building Int [Floor] deriving (Show, Eq) +data CBuilding = CBuilding Int Integer deriving (Show, Eq) +data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} + +instance Ord Item where + compare (Generator a) (Generator b) = compare a b + compare (Microchip a) (Microchip b) = compare a b + compare (Generator _) (Microchip _) = LT + compare (Microchip _) (Generator _) = GT + +instance Ord Building where + compare b1 b2 = comparing estimateCost b1 b2 + +building1 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building0 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building2 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", + Generator "elerium", Microchip "elerium", + Generator "dilithium", Microchip "dilithium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + + +buildingTest = Building 0 [ + sort([Microchip "hydrogen", Microchip "lithium"]), + [Generator "hydrogen"], + [Generator "lithium"], + []] + +canonical :: Building -> CBuilding +canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) + where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors + floorOf (Generator g) = head (findIndices + (\fl -> (Generator g) `elem` fl) + floors) + floorOf (Microchip g) = head (findIndices + (\fl -> (Microchip g) `elem` fl) + floors) + pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names + + + +main :: IO () +main = do + part1 + part2 + + +part1 :: IO () +part1 = print $ length $ trail $ aStar (initAgenda building1) [] + +part2 :: IO () +part2 = print $ length $ trail $aStar (initAgenda building2) [] + +initAgenda :: Building -> [Agendum] +initAgenda b = [Agendum {current = b, trail=[], cost = estimateCost b}] + + +aStar :: [Agendum] -> [CBuilding] -> Agendum +aStar [] _ = Agendum {current=buildingTest, trail=[], cost=0} +aStar (currentAgendum:agenda) closed = + if isGoal reached then currentAgendum + else if creached `elem` closed + then aStar agenda closed + else aStar newAgenda (creached:closed) + where + reached = current currentAgendum + creached = canonical reached + newAgenda = + sortOn (cost) $ + agenda ++ (candidates currentAgendum closed) + + +candidates :: Agendum -> [CBuilding] -> [Agendum] +candidates agendum closed = newCandidates + where + candidate = current agendum + previous = trail agendum + succs = legalSuccessors $ successors candidate + excludable = previous ++ closed + nonloops = filter (\s -> not $ (canonical s) `elem` excludable) succs + newCandidates = map (\n -> makeAgendum n) nonloops + makeAgendum new = Agendum {current = new, + trail = (canonical candidate):previous, + cost = estimateCost new + length previous + 1} + +isGoal :: Building -> Bool +isGoal (Building f floors) = + f+1 == height && (all (null) $ take f floors) + where height = length floors + +isLegal :: Building -> Bool +isLegal (Building f floors) = + null floor + || + not (any (isGenerator) floor) + || + any (safePair) pairs + where floor = floors!!f + pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] + safePair (Generator e, Microchip f) = e == f + safePair (Generator _, Generator _) = False + +isGenerator :: Item -> Bool +isGenerator (Generator _) = True +isGenerator (Microchip _) = False + +successors :: Building -> [Building] +successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] + where + floor = floors!!f + items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor + nextFloors = if f == 0 then [1] + else if f+1 == length floors then [f-1] + else [f+1, f-1] + +legalSuccessors :: [Building] -> [Building] +legalSuccessors = filter (isLegal) + +updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building +updateBuilding oldF oldFloors newF items = Building newF newFloors + where newFloors = map (updateFloor) $ zip [0..] oldFloors + updateFloor (f, fl) + | f == oldF = sort $ fl \\ items + | f == newF = sort $ items ++ fl + | otherwise = fl + +estimateCost :: Building -> Int +estimateCost (Building _ floors) = + sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors + diff --git a/app/advent11h.hs b/app/advent11h.hs new file mode 100644 index 0000000..d362ee8 --- /dev/null +++ b/app/advent11h.hs @@ -0,0 +1,162 @@ +-- Using the idea of canonical representation of buildings from +-- https://andars.github.io/aoc_day11.html by Andrew Foote, +-- plus my extension of represening the pairs as an integer. + +-- This version is hillclimbing search, using a list for the agenda. +module Main(main) where + +import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) +import Data.Ord (comparing) +import Data.Char (isDigit) + +data Item = Generator String | Microchip String deriving (Show, Eq) +type Floor = [Item] +data Building = Building Int [Floor] deriving (Show, Eq) +data CBuilding = CBuilding Int Integer deriving (Show, Eq) +data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} + +instance Ord Item where + compare (Generator a) (Generator b) = compare a b + compare (Microchip a) (Microchip b) = compare a b + compare (Generator _) (Microchip _) = LT + compare (Microchip _) (Generator _) = GT + +instance Ord Building where + compare b1 b2 = comparing estimateCost b1 b2 + +building1 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building0 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building2 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", + Generator "elerium", Microchip "elerium", + Generator "dilithium", Microchip "dilithium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + + +buildingTest = Building 0 [ + sort([Microchip "hydrogen", Microchip "lithium"]), + [Generator "hydrogen"], + [Generator "lithium"], + []] + +canonical :: Building -> CBuilding +canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) + where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors + floorOf (Generator g) = head (findIndices + (\fl -> (Generator g) `elem` fl) + floors) + floorOf (Microchip g) = head (findIndices + (\fl -> (Microchip g) `elem` fl) + floors) + pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names + + + +main :: IO () +main = do + part1 + part2 + + +part1 :: IO () +part1 = print $ length $ trail $ hillClimb (initAgenda building1) [] + +part2 :: IO () +part2 = print $ length $ trail $ hillClimb (initAgenda building2) [] + +initAgenda :: Building -> [Agendum] +initAgenda b = [Agendum {current = b, trail=[], cost = estimateCost b}] + +hillClimb :: [Agendum] -> [CBuilding] -> Agendum +hillClimb [] _ = Agendum {current=buildingTest, trail=[], cost=0} +hillClimb (currentAgendum:agenda) closed = + if isGoal reached then currentAgendum + else if creached `elem` closed + then hillClimb agenda closed + else hillClimb newAgenda (creached:closed) + where + reached = current currentAgendum + creached = canonical reached + newAgenda = + sortOn (cost) $ + agenda ++ (candidates currentAgendum closed) + + +candidates :: Agendum -> [CBuilding] -> [Agendum] +candidates agendum closed = newCandidates + where + candidate = current agendum + previous = trail agendum + succs = legalSuccessors $ successors candidate + excludable = previous ++ closed + nonloops = filter (\s -> not $ (canonical s) `elem` excludable) succs + newCandidates = map (\n -> makeAgendum n) nonloops + makeAgendum new = Agendum {current = new, + trail = (canonical candidate):previous, + cost = estimateCost new} + +isGoal :: Building -> Bool +isGoal (Building f floors) = + f+1 == height && (all (null) $ take f floors) + where height = length floors + +isLegal :: Building -> Bool +isLegal (Building f floors) = + null floor + || + not (any (isGenerator) floor) + || + any (safePair) pairs + where floor = floors!!f + pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] + safePair (Generator e, Microchip f) = e == f + safePair (Generator _, Generator _) = False + +isGenerator :: Item -> Bool +isGenerator (Generator _) = True +isGenerator (Microchip _) = False + +successors :: Building -> [Building] +successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] + where + floor = floors!!f + items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor + nextFloors = if f == 0 then [1] + else if f+1 == length floors then [f-1] + else [f+1, f-1] + +legalSuccessors :: [Building] -> [Building] +legalSuccessors = filter (isLegal) + +updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building +updateBuilding oldF oldFloors newF items = Building newF newFloors + where newFloors = map (updateFloor) $ zip [0..] oldFloors + updateFloor (f, fl) + | f == oldF = sort $ fl \\ items + | f == newF = sort $ items ++ fl + | otherwise = fl + +estimateCost :: Building -> Int +estimateCost (Building _ floors) = + sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors + diff --git a/app/advent11p.hs b/app/advent11p.hs new file mode 100644 index 0000000..4136e8f --- /dev/null +++ b/app/advent11p.hs @@ -0,0 +1,166 @@ +-- Using the idea of canonical representation of buildings from +-- https://andars.github.io/aoc_day11.html by Andrew Foote, +-- plus my extension of represening the pairs as an integer. + +-- This version is A* search, using a priority queue for the agenda. + +module Main(main) where + +import Data.List (subsequences, (\\), sort, sortOn, nub, findIndices) +import Data.Ord (comparing) +import Data.Char (isDigit) +import Data.Maybe (fromMaybe) +import qualified Data.PQueue.Prio.Min as P + +data Item = Generator String | Microchip String deriving (Show, Eq) +type Floor = [Item] +data Building = Building Int [Floor] deriving (Show, Eq) +data CBuilding = CBuilding Int Integer deriving (Show, Eq) +data Agendum = Agendum {current :: Building, trail :: [CBuilding], cost :: Int} +type Agenda = P.MinPQueue Int Agendum + +instance Ord Item where + compare (Generator a) (Generator b) = compare a b + compare (Microchip a) (Microchip b) = compare a b + compare (Generator _) (Microchip _) = LT + compare (Microchip _) (Generator _) = GT + +instance Ord Building where + compare b1 b2 = comparing estimateCost b1 b2 + +building1 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building0 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + +building2 = Building 0 [ + (sort [Generator "polonium", Generator "thulium", + Microchip "thulium", Generator "promethium", Generator "ruthenium", + Microchip "ruthenium", Generator "cobalt", Microchip "cobalt", + Generator "elerium", Microchip "elerium", + Generator "dilithium", Microchip "dilithium"]), + (sort [Microchip "polonium", Microchip "promethium"]), + [], + [] + ] + + +buildingTest = Building 0 [ + sort([Microchip "hydrogen", Microchip "lithium"]), + [Generator "hydrogen"], + [Generator "lithium"], + []] + +canonical :: Building -> CBuilding +canonical (Building f floors) = CBuilding f (read $ filter (isDigit) $ show $ sort pairs) + where names = nub $ map (\(Generator n) -> n) $ filter (isGenerator) $ concat floors + floorOf (Generator g) = head (findIndices + (\fl -> (Generator g) `elem` fl) + floors) + floorOf (Microchip g) = head (findIndices + (\fl -> (Microchip g) `elem` fl) + floors) + pairs = foldl (\ps n -> (floorOf (Generator n), floorOf (Microchip n)):ps) [] names + + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ length $ trail $ fromMaybe (snd $ P.findMin $ initAgenda buildingTest) $ aStar (initAgenda building1) [] + +part2 :: IO () +part2 = print $ length $ trail $ fromMaybe (snd $ P.findMin $ initAgenda buildingTest) $ aStar (initAgenda building2) [] + +initAgenda :: Building -> Agenda +initAgenda b = P.singleton (estimateCost b) Agendum {current = b, trail=[], cost = estimateCost b} + + +aStar :: Agenda -> [CBuilding] -> Maybe Agendum +-- aStar [] _ = Agendum {current=buildingTest, trail=[], cost=0} +aStar agenda closed + | P.null agenda = Nothing + | otherwise = + if isGoal reached then Just currentAgendum + else if creached `elem` closed + then aStar (P.deleteMin agenda) closed + else aStar newAgenda (creached:closed) + where + (_, currentAgendum) = P.findMin agenda + reached = current currentAgendum + creached = canonical reached + newAgenda = P.union (P.deleteMin agenda) + (P.fromList $ candidates currentAgendum closed) + + +candidates :: Agendum -> [CBuilding] -> [(Int, Agendum)] +candidates agendum closed = newCandidates + where + candidate = current agendum + previous = trail agendum + succs = legalSuccessors $ successors candidate + nonloops = filter (\s -> not $ (canonical s) `elem` closed) succs + newCandidates = map (\a -> (cost a, a)) $ map (\n -> makeAgendum n) nonloops + makeAgendum new = Agendum {current = new, + trail = (canonical candidate):previous, + cost = estimateCost new + length previous + 1} + +isGoal :: Building -> Bool +isGoal (Building f floors) = + f+1 == height && (all (null) $ take f floors) + where height = length floors + +isLegal :: Building -> Bool +isLegal (Building f floors) = + null floor + || + not (any (isGenerator) floor) + || + any (safePair) pairs + where floor = floors!!f + pairs = [(i, j) | i <- floor, j <- floor, isGenerator i] + safePair (Generator e, Microchip f) = e == f + safePair (Generator _, Generator _) = False + +isGenerator :: Item -> Bool +isGenerator (Generator _) = True +isGenerator (Microchip _) = False + +successors :: Building -> [Building] +successors (Building f floors) = [updateBuilding f floors nf is | nf <- nextFloors, is <- items] + where + floor = floors!!f + items = filter (\is -> length is == 1 || length is == 2) $ subsequences floor + nextFloors = if f == 0 then [1] + else if f+1 == length floors then [f-1] + else [f+1, f-1] + +legalSuccessors :: [Building] -> [Building] +legalSuccessors = filter (isLegal) + +updateBuilding :: Int -> [Floor] -> Int -> [Item] -> Building +updateBuilding oldF oldFloors newF items = Building newF newFloors + where newFloors = map (updateFloor) $ zip [0..] oldFloors + updateFloor (f, fl) + | f == oldF = sort $ fl \\ items + | f == newF = sort $ items ++ fl + | otherwise = fl + +estimateCost :: Building -> Int +estimateCost (Building _ floors) = + sum $ map (\(c, f) -> c * length f) $ zip [0..] $ reverse floors + diff --git a/app/advent12.hs b/app/advent12.hs new file mode 100644 index 0000000..906c185 --- /dev/null +++ b/app/advent12.hs @@ -0,0 +1,134 @@ +module Main(main) where + +import Text.Parsec hiding (State) +import Text.ParserCombinators.Parsec.Number +import Data.List (partition, union, intersect, tails) +import Data.Char (isDigit) +import Control.Monad.State.Lazy + +data Location = Literal Int | Register Char deriving (Show) +data Instruction = Cpy Location Location | + Inc Location | + Dec Location | + Jnz Location Int + deriving (Show) + +data Machine = Machine { a :: Int + , b :: Int + , c :: Int + , d :: Int + , pc :: Int + , instructions :: [Instruction]} + deriving (Show) + +emptyMachine :: Machine +emptyMachine = Machine {a=0, b=0, c=0, d=0, pc=0, instructions=[]} + +main :: IO () +main = do + text <- readFile "data/advent12.txt" + let instructions = successfulParse $ parseIfile text + part1 instructions + part2 instructions + + +part1 :: [Instruction] -> IO () +part1 instrs = + do let m0 = emptyMachine {instructions=instrs} + let mf = snd $ runState runMachine m0 + print (a mf) + +part2 :: [Instruction] -> IO () +part2 instrs = + do let m0 = emptyMachine {instructions=instrs, c=1} + let mf = snd $ runState runMachine m0 + print (a mf) + + + +runMachine :: State Machine () +runMachine = + do m <- get + if (pc m) >= (length $ instructions m) + then return () + else do executeStep + runMachine + +executeStep :: State Machine () +executeStep = + do m <- get + let i = (instructions m)!!(pc m) + put (executeInstruction i m) + +executeInstruction :: Instruction -> Machine -> Machine +executeInstruction (Inc (Register r)) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m (Register r) + m' = writeValue m (Register r) (v+1) +executeInstruction (Dec (Register r)) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m (Register r) + m' = writeValue m (Register r) (v-1) +executeInstruction (Cpy s d) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m s + m' = writeValue m d v +executeInstruction (Jnz s d) m + | v == 0 = m {pc=pc1} + | otherwise = m {pc=pcj} + where pc1 = (pc m) + 1 + pcj = (pc m) + d + v = evaluate m s + + +evaluate :: Machine -> Location -> Int +evaluate _ (Literal i) = i +evaluate m (Register r) = + case r of + 'a' -> (a m) + 'b' -> (b m) + 'c' -> (c m) + 'd' -> (d m) + +writeValue :: Machine -> Location -> Int -> Machine +writeValue m (Literal i) _ = m +writeValue m (Register r) v = + case r of + 'a' -> m {a=v} + 'b' -> m {b=v} + 'c' -> m {c=v} + 'd' -> m {d=v} + + +instructionFile = instructionLine `endBy` newline +-- instructionLine = choice [cpyL, incL, decL, jnzL] +instructionLine = incL <|> decL <|> cpyL <|> jnzL + +incL = incify <$> (string "inc" *> spaces *> (oneOf "abcd")) + where incify r = Inc (Register r) +decL = decify <$> (string "dec" *> spaces *> (oneOf "abcd")) + where decify r = Dec (Register r) +cpyL = cpyify <$> (string "cpy" *> spaces *> ((many1 letter) <|> (many1 digit))) + <*> (spaces *> (oneOf "abcd")) + where cpyify s r = Cpy (readLocation s) (Register r) +jnzL = jnzify <$> (string "jnz" *> spaces *> ((many1 letter) <|> (many1 digit))) + <*> (spaces *> int) + where jnzify r d = Jnz (readLocation r) d + + +readLocation :: String -> Location +readLocation l + | all (isDigit) l = Literal (read l) + | otherwise = Register (head l) + + + +parseIfile :: String -> Either ParseError [Instruction] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError Instruction +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a \ No newline at end of file diff --git a/app/advent13.hs b/app/advent13.hs new file mode 100644 index 0000000..86981df --- /dev/null +++ b/app/advent13.hs @@ -0,0 +1,95 @@ +module Main(main) where + +import Data.List ((\\), nub, sortOn) +import Data.Bits (popCount) +import Data.Maybe (fromMaybe) + +type Pos = (Int, Int) + +seed = 1362 + +goal1 = (31, 39) + +main :: IO () +main = do + part1 + part2 + + +part1 :: IO () +part1 = print $ length $ tail $ fromMaybe [] $ aStar [[(1, 1)]] [] + +part2 :: IO () +part2 = do print $ length $ tail $ edl 50 [[(1, 1)]] [] + putStrLn $ showRoomR 30 25 $ edl 50 [[(1, 1)]] [] + + +-- extractJust :: Maybe [a] -> [a] +-- extractJust Nothing = [] +-- extractJust (Just x) = x + +isWall :: Int -> Int -> Bool +isWall x y = odd $ popCount n + where + n = x*x + 3*x + 2*x*y + y + y*y + seed + + +showRoom w h = showRoomR w h [] + +showRoomR w h reached = unlines rows + where + rows = [row x | x <- [0..h]] + row x = [showCell x y | y <- [0..w]] + showCell x y = if (isWall x y) + then '#' + else if (x, y) `elem` reached + then 'O' + else '.' + + +aStar :: [[Pos]] -> [Pos] -> Maybe [Pos] +aStar [] _ = Nothing +aStar (currentTrail:trails) closed = + if isGoal (head currentTrail) then Just currentTrail + else if (head currentTrail) `elem` closed then aStar trails closed + else aStar newAgenda ((head currentTrail): closed) + where newAgenda = + sortOn (\a -> trailCost a) $ + trails ++ (candidates currentTrail closed) + trailCost t = estimateCost (head t) + length t - 1 + + +-- exhaustive depth-limited +edl :: Int -> [[Pos]] -> [Pos] -> [Pos] +edl _ [] closed = nub closed +edl limit (currentTrail:trails) closed = + if (length currentTrail) > (limit+1) then edl limit trails ((head currentTrail):closed) + else if (head currentTrail) `elem` closed then edl limit trails closed + else edl limit newAgenda ((head currentTrail):closed) + where newAgenda = trails ++ (candidates currentTrail closed) + +candidates :: [Pos] -> [Pos] -> [[Pos]] +candidates currentTrail closed = newCandidates + where + (candidate:trail) = currentTrail + succs = legalSuccessors $ successors candidate + nonloops = (succs \\ trail) \\ closed + newCandidates = map (\n -> n:candidate:trail) nonloops + +isGoal :: Pos -> Bool +isGoal p = p == goal1 + +isLegal :: Pos -> Bool +isLegal (x, y) = + x >= 0 && y >= 0 && (not $ isWall x y) + +successors :: Pos -> [Pos] +successors (x, y) = [(x-1, y), (x+1, y), (x, y-1), (x, y+1)] + +legalSuccessors :: [Pos] -> [Pos] +legalSuccessors = filter (isLegal) + +estimateCost :: Pos -> Int +estimateCost (x, y) = abs (x - gx) + abs (y - gy) + where (gx, gy) = goal1 + diff --git a/app/advent14.hs b/app/advent14.hs new file mode 100644 index 0000000..c6c092e --- /dev/null +++ b/app/advent14.hs @@ -0,0 +1,43 @@ +module Main(main) where + +import Data.List (nub, tails, null) +import Data.Hash.MD5 (md5s, Str(..)) + +salt = "yjdafjpo" +-- salt = "abc" + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequence + +part2 :: IO () +part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequenceS + +md5sequence :: [String] +md5sequence = [makeMd5 i | i <- [0..]] + where makeMd5 i = md5s (Str (salt ++ show i)) + +md5sequenceS :: [String] +md5sequenceS = [makeMd5 i | i <- [0..]] + where makeMd5 i = stretch $ md5s (Str (salt ++ show i)) + stretch h0 = foldr (\_ h -> md5s (Str h)) h0 [1..2016] + +possibleKey :: [String] -> Int-> Bool +possibleKey s = not . null . repeats 3 . ((!!) s) + +confirmKey :: [String] -> Int -> Bool +confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s + where c = head $ repeats 3 $ s!!i + confirmation m = c `elem` (repeats 5 m) + +repeats :: Int -> String -> [String] +repeats n = filter (null . tail) . map (nub) . substrings n + +substrings :: Int -> [a] -> [[a]] +substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/app/advent14c.hs b/app/advent14c.hs new file mode 100644 index 0000000..ea699ed --- /dev/null +++ b/app/advent14c.hs @@ -0,0 +1,47 @@ +module Main(main) where + +import Data.List (nub, tails) +import Data.ByteString.Char8 (pack) +import Crypto.Hash (hash, Digest, MD5) + +salt = "yjdafjpo" +-- salt = "abc" + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequence + +part2 :: IO () +part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequenceS + +getHash :: String -> String +getHash bs = show (hash $ pack bs :: Digest MD5) + +md5sequence :: [String] +md5sequence = [makeMd5 i | i <- [0..]] + where makeMd5 i = getHash (salt ++ show i) + +md5sequenceS :: [String] +md5sequenceS = [makeMd5 i | i <- [0..]] + where makeMd5 i = stretch $ getHash (salt ++ show i) + stretch h0 = foldr (\_ h -> getHash h) h0 [1..2016] + +possibleKey :: [String] -> Int-> Bool +possibleKey s = not . null . repeats 3 . ((!!) s) + +confirmKey :: [String] -> Int -> Bool +confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s + where c = head $ repeats 3 $ s!!i + confirmation m = c `elem` (repeats 5 m) + +repeats :: Int -> String -> [String] +repeats n = filter (null . tail) . map (nub) . substrings n + +substrings :: Int -> [a] -> [[a]] +substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/app/advent14parallel.hs b/app/advent14parallel.hs new file mode 100644 index 0000000..b0ca781 --- /dev/null +++ b/app/advent14parallel.hs @@ -0,0 +1,53 @@ +module Main(main) where + +import Data.List (nub, tails) +import Data.ByteString.Char8 (pack) +import Crypto.Hash (hash, Digest, MD5) +import Control.Parallel.Strategies (withStrategy, parBuffer, rdeepseq) + +salt = "yjdafjpo" +-- salt = "abc" + +stretch_factor = [1..2016] +-- stretch_factor = [1..100] + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequence + +part2 :: IO () +part2 = print $ head $ drop 63 $ filter (\i -> possibleKey sq i && confirmKey sq i) [0..] + where sq = md5sequenceS + +getHash :: String -> String +getHash bs = show (hash $ pack bs :: Digest MD5) + +md5sequence :: [String] +-- md5sequence = [makeMd5 i | i <- [0..]] +md5sequence = withStrategy (parBuffer 100 rdeepseq) $ map (makeMd5) [0..] + where makeMd5 i = getHash (salt ++ show i) + +md5sequenceS :: [String] +-- md5sequenceS = [makeMd5 i | i <- [0..]] +md5sequenceS = withStrategy (parBuffer 100 rdeepseq) $ map (makeMd5) [0..] + where makeMd5 i = stretch $ getHash (salt ++ show i) + stretch h0 = foldr (\_ h -> getHash h) h0 stretch_factor + +possibleKey :: [String] -> Int-> Bool +possibleKey s = not . null . repeats 3 . ((!!) s) + +confirmKey :: [String] -> Int -> Bool +confirmKey s i = any (confirmation) $ take 1000 $ drop (i+1) s + where c = head $ repeats 3 $ s!!i + confirmation m = c `elem` (repeats 5 m) + +repeats :: Int -> String -> [String] +repeats n = filter (null . tail) . map (nub) . substrings n + +substrings :: Int -> [a] -> [[a]] +substrings l = filter (\s -> (length s) == l) . map (take l) . tails diff --git a/app/advent15.hs b/app/advent15.hs new file mode 100644 index 0000000..5970bd6 --- /dev/null +++ b/app/advent15.hs @@ -0,0 +1,43 @@ +module Main(main) where + +import Text.Parsec +import Text.ParserCombinators.Parsec.Number + +type Disk = (Int -> Bool) + +main :: IO () +main = do + text <- readFile "data/advent15.txt" + let disks = successfulParse $ parseIfile text + part1 disks + part2 disks + +part1 :: [Disk] -> IO () +part1 disks = print $ head $ filter (canFall disks) [0..] + +part2 :: [Disk] -> IO () +part2 disks = print $ head $ filter (canFall disks2) [0..] + where disks2 = disks ++ [diskify 7 11 0] + +canFall :: [Disk] -> Int -> Bool +canFall ds i = all (\d -> (d i)) ds + + +instructionFile = instructionLine `endBy` newline +instructionLine = diskify <$> (string "Disc #" *> int) + <*> (string " has " *> int) + <*> (string " positions; at time=0, it is at position " *> int) + <* (string ".") + +diskify :: Int -> Int -> Int -> (Int -> Bool) +diskify n size pos0 = (\i -> (size + n + pos0 + i) `mod` size == 0) + +parseIfile :: String -> Either ParseError [Disk] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError Disk +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a diff --git a/app/advent15l.hs b/app/advent15l.hs new file mode 100644 index 0000000..67e2ac0 --- /dev/null +++ b/app/advent15l.hs @@ -0,0 +1,39 @@ +module Main(main) where + +import Text.Parsec +import Text.ParserCombinators.Parsec.Number + +main :: IO () +main = do + text <- readFile "data/advent15.txt" + let disks = successfulParse $ parseIfile text + part1 disks + part2 disks + +part1 :: [[Int]] -> IO () +part1 disks = print $ head $ filter (canFall disks) [0..] + +part2 :: [[Int]] -> IO () +part2 disks = print $ head $ filter (canFall disks2) [0..] + where disks2 = disks ++ [drop 7 $ drop 0 $ cycle [0..(11-1)]] + +canFall :: [[Int]] -> Int -> Bool +canFall ds i = all (\d -> (d!!i) == 0) ds + + +instructionFile = instructionLine `endBy` newline +instructionLine = diskify <$> (string "Disc #" *> int) + <*> (string " has " *> int) + <*> (string " positions; at time=0, it is at position " *> int) + <* (string ".") + where diskify n size pos0 = drop n $ drop pos0 $ cycle [0..(size-1)] + +parseIfile :: String -> Either ParseError [[Int]] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError [Int] +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a diff --git a/app/advent16.hs b/app/advent16.hs new file mode 100644 index 0000000..88b8b59 --- /dev/null +++ b/app/advent16.hs @@ -0,0 +1,42 @@ +module Main(main) where + +import Data.List (nub) + +input = "11100010111110100" +disk1length = 272 +disk2length = 35651584 + +-- input = "10000" +-- disk1length = 20 + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = putStrLn $ checksum $ take disk1length $ expand disk1length input + +part2 :: IO () +part2 = putStrLn $ checksum $ take disk2length $ expand disk2length input + + +expand :: Int -> String -> String +expand len a + | length a >= len = a + | otherwise = expand len $ a ++ "0" ++ b + where b = map (invert) $ reverse a + invert '0' = '1' + invert '1' = '0' + +checksum :: String -> String +checksum digits + | odd $ length digits = digits + | otherwise = checksum $ map (checksumPair) $ pairs digits + where checksumPair p = if (length $ nub p) == 1 then '1' else '0' + + +pairs :: [a] -> [[a]] +pairs [] = [] +pairs xs = [p] ++ (pairs ys) + where (p, ys) = splitAt 2 xs diff --git a/app/advent16i.hs b/app/advent16i.hs new file mode 100644 index 0000000..897559d --- /dev/null +++ b/app/advent16i.hs @@ -0,0 +1,45 @@ +module Main(main) where + +input = "11100010111110100" +disk1length = 272 +disk2length = 35651584 + +-- input = "10000" +-- disk1length = 20 + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ fill disk1length input + +part2 :: IO () +part2 = print $ fill disk2length input + +fill :: Int -> String -> String +fill len filler = deBool $ checksum $ take len $ expand len $ enBool filler + +enBool :: String -> [Bool] +enBool = map (== '1') + +deBool :: [Bool] -> String +deBool = map (\b -> if b then '1' else '0') + + +expand :: Int -> [Bool] -> [Bool] +expand len = head . dropWhile ((<= len) . length) . iterate expandStep + +expandStep :: [Bool] -> [Bool] +expandStep a = a ++ [False] ++ b + where b = map (not) $ reverse a + +checksum :: [Bool] -> [Bool] +checksum = head . dropWhile (even . length) . iterate checksumStep + +checksumStep :: [Bool] -> [Bool] +checksumStep [] = [] +checksumStep [x] = [x] +checksumStep (x:y:xs) = (x==y):(checksumStep xs) + diff --git a/app/advent17.hs b/app/advent17.hs new file mode 100644 index 0000000..e757def --- /dev/null +++ b/app/advent17.hs @@ -0,0 +1,77 @@ +module Main(main) where + +import Data.ByteString.Char8 (pack) +import qualified Crypto.Hash as C + +type Position = (Int, Int) +data Agendum = Agendum {position :: Position, path :: String, hash :: String} deriving (Show, Eq) +type Agenda = [Agendum] + +-- input = "hijkl" +-- input = "ihgpwlah" + +input = "qljzarfv" -- my input + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = putStrLn $ path $ extractJust $ bfs initialAgenda + +part2 :: IO () +part2 = print $ bfs2 initialAgenda 0 + +initialAgenda :: Agenda +initialAgenda = [Agendum {position=(1, 1), path="", hash=(getHash "")}] + +getHash :: String -> String +getHash path = show (C.hash $ pack (input ++ path) :: C.Digest C.MD5) + +extractJust :: Maybe Agendum -> Agendum +extractJust Nothing = head initialAgenda +extractJust (Just x) = x + +bfs :: Agenda -> Maybe Agendum +bfs [] = Nothing +bfs (current:agenda) = + if isGoal current then Just current + else bfs (agenda ++ (successors current)) + +bfs2 :: Agenda -> Int -> Int +bfs2 [] l = l +bfs2 (current:agenda) l = + if isGoal current then bfs2 agenda (length $ path $ current) + else bfs2 (agenda ++ (successors current)) l + +isGoal :: Agendum -> Bool +isGoal agendum = (position agendum) == (4, 4) + +isLegalPos :: Position -> Bool +isLegalPos p = fst p >= 1 && fst p <= 4 && snd p >= 1 && snd p <= 4 + +successors :: Agendum -> Agenda +successors state = [Agendum {position = step p0 ld, + path = path0 ++ [ld], + hash = getHash (path0 ++ [ld])} | ld <- legalDoors ] + where + p0 = position state + path0 = path state + h0 = hash state + doors = openDoors h0 + legalDoors = filter (isLegalPos . (step p0)) doors + +openDoors :: String -> String +openDoors h = up ++ down ++ left ++ right + where + up = if h!!0 `elem` "bcdef" then "U" else "" + down = if h!!1 `elem` "bcdef" then "D" else "" + left = if h!!2 `elem` "bcdef" then "L" else "" + right = if h!!3 `elem` "bcdef" then "R" else "" + +step :: Position -> Char -> Position +step (r, c) 'U' = (r-1, c) +step (r, c) 'D' = (r+1, c) +step (r, c) 'L' = (r, c-1) +step (r, c) 'R' = (r, c+1) diff --git a/app/advent18.hs b/app/advent18.hs new file mode 100644 index 0000000..2b1462f --- /dev/null +++ b/app/advent18.hs @@ -0,0 +1,42 @@ +module Main(main) where + +import Data.List (tails) + +-- input = "..^^." +-- input = ".^^.^.^^^^" +input = "^.^^^.^..^....^^....^^^^.^^.^...^^.^.^^.^^.^^..^.^...^.^..^.^^.^..^.....^^^.^.^^^..^^...^^^...^...^." + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +-- part1 = putStrLn $ unlines $ map (showRow) $ take 10 $ iterate nextRow $ readRow input +part1 = print $ length $ filter (not) $ concat $ take 40 $ iterate nextRow $ readRow input + +part2 :: IO () +part2 = print $ length $ filter (not) $ concat $ take 400000 $ iterate nextRow $ readRow input + +readRow :: String -> [Bool] +readRow = map (=='^') + +showRow :: [Bool] -> String +showRow = map (\c -> if c then '^' else '.') + +extended :: [Bool] -> [Bool] +extended row = [False] ++ row ++ [False] + +nextRow :: [Bool] -> [Bool] +nextRow = map (isTrap) . segments . extended + +segments :: [a] -> [[a]] +segments = filter ((==3) . length) . map (take 3) . tails + +isTrap :: [Bool] -> Bool +isTrap segment + | segment == [True, True, False] = True + | segment == [False, True, True] = True + | segment == [True, False, False] = True + | segment == [False, False, True] = True + | otherwise = False diff --git a/app/advent18f.hs b/app/advent18f.hs new file mode 100644 index 0000000..d1650e6 --- /dev/null +++ b/app/advent18f.hs @@ -0,0 +1,50 @@ +module Main(main) where + +import Data.List (tails, foldl') + +-- input = "..^^." +-- input = ".^^.^.^^^^" +input = "^.^^^.^..^....^^....^^^^.^^.^...^^.^.^^.^^.^^..^.^...^.^..^.^^.^..^.....^^^.^.^^^..^^...^^^...^...^." + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ fst $ foldl' nextRowFold (countSafe row, row) [2..40] + where row = readRow input + +part2 :: IO () +part2 = print $ fst $ foldl' nextRowFold (countSafe row, row) [2..400000] + where row = readRow input + +readRow :: String -> [Bool] +readRow = map (=='^') + +showRow :: [Bool] -> String +showRow = map (\c -> if c then '^' else '.') + +extended :: [Bool] -> [Bool] +extended row = [False] ++ row ++ [False] + +nextRow :: [Bool] -> [Bool] +nextRow = map (isTrap) . segments . extended + +nextRowFold :: (Int, [Bool]) -> Int -> (Int, [Bool]) +nextRowFold (n, row) _ = (n + countSafe newRow, newRow) + where newRow = nextRow row + +countSafe :: [Bool] -> Int +countSafe = length . filter (not) + +segments :: [a] -> [[a]] +segments = filter ((==3) . length) . map (take 3) . tails + +isTrap :: [Bool] -> Bool +isTrap segment + | segment == [True, True, False] = True + | segment == [False, True, True] = True + | segment == [True, False, False] = True + | segment == [False, False, True] = True + | otherwise = False diff --git a/app/advent19.hs b/app/advent19.hs new file mode 100644 index 0000000..009a07c --- /dev/null +++ b/app/advent19.hs @@ -0,0 +1,37 @@ +module Main(main) where + +import Prelude hiding (length, take, drop) +import Data.Sequence + +-- input = 5 +input = 3012210 + +main :: IO () +main = do + part1 + part2 + +part1 :: IO () +part1 = print $ 2 * (input - 2 ^ (toInteger (floor $ logBase 2 (fromIntegral input)))) + 1 + +part2 :: IO () +part2 = print $ flip index 0 $ presentSteps initial + +presentSteps :: Seq Int -> Seq Int +presentSteps elves + | isFinished elves = elves + | otherwise = presentSteps $ next elves + +initial :: Seq Int +initial = fromList [1..input] + +isFinished :: Seq Int -> Bool +isFinished elves = length elves == 1 + +next :: Seq Int -> Seq Int +next elves = prefix >< (midfix |> suffix) + where + target = length elves `quot` 2 + prefix = drop 1 $ take target elves + midfix = drop (target+1) elves + suffix = index elves 0 diff --git a/app/advent20.hs b/app/advent20.hs new file mode 100644 index 0000000..8830c45 --- /dev/null +++ b/app/advent20.hs @@ -0,0 +1,74 @@ +module Main(main) where + +import Text.Parsec +import Text.ParserCombinators.Parsec.Number +import Data.List (foldl') + +data Interval = Interval Int Int deriving (Show, Eq) + +low :: Interval -> Int +low (Interval l _) = l + +high :: Interval -> Int +high (Interval _ h) = h + +main :: IO () +main = do + text <- readFile "data/advent20.txt" + let intervals = successfulParse $ parseIfile text + part1 intervals + part2 intervals + +part1 :: [Interval] -> IO () +part1 intervals = print $ (+1) $ high $ head $ foldl' (mergeAdjacent) [] $ foldl' (merge) [] intervals + +part2 :: [Interval] -> IO () +part2 intervals = do + let ints = foldl' (mergeAdjacent) [] $ foldl' (merge) [] intervals + let gapCount = gaps ints + let lowGap = low $ head ints + let highGap = 4294967295 - (high $ last ints) + print (lowGap + gapCount + highGap) + +disjoint :: Interval -> Interval -> Bool +disjoint (Interval a b) (Interval c d) + | b < c = True + | d < a = True + | a > d = True + | c > b = True + | otherwise = False + +intersect :: Interval -> Interval -> Bool +intersect a b = not $ disjoint a b + +merge :: [Interval] -> Interval -> [Interval] +merge [] i0 = [i0] +merge (i1:intervals) i0 + | (high i0) < (low i1) = i0:i1:intervals + | intersect i0 i1 = merge intervals (Interval a' b') + | otherwise = i1:(merge intervals i0) + where a' = minimum [low i0, low i1] + b' = maximum [high i0, high i1] + +mergeAdjacent :: [Interval] -> Interval -> [Interval] +mergeAdjacent [] i0 = [i0] +mergeAdjacent (i1:intervals) i0 + | high i0 + 1 == low i1 = (Interval (low i0) (high i1)):intervals + | low i0 == high i1 + 1 = (Interval (low i1) (high i0)):intervals + | otherwise = i1:(mergeAdjacent intervals i0) + +gaps :: [Interval] -> Int +gaps [] = 0 +gaps [_] = 0 +gaps ((Interval _ b):(Interval c d):intervals) = + (c - b - 1) + gaps ((Interval c d):intervals) + +intervalFile = intervalLine `endBy` newline +intervalLine = Interval <$> int <*> (string "-" *> int) + +parseIfile :: String -> Either ParseError [Interval] +parseIfile input = parse intervalFile "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a diff --git a/app/advent21.hs b/app/advent21.hs new file mode 100644 index 0000000..2415974 --- /dev/null +++ b/app/advent21.hs @@ -0,0 +1,198 @@ +module Main(main) where + +import Text.Parsec hiding (State) +import Text.ParserCombinators.Parsec.Number +import Data.Maybe (fromJust) +import Data.List (elemIndex) + +import Control.Monad.Identity +import Control.Monad.State +import Control.Monad.Writer + +data Instruction = SwapPosition Int Int + | SwapLetter Char Char + | RotateSteps Int + | RotateLetter Char + | Reverse Int Int + | Move Int Int + deriving (Show, Eq) + +data Log = Log { + action :: String + } deriving (Show) + +data Password = Password { + password :: String + } deriving (Show) + + +type App = WriterT [Log] (StateT Password Identity) + +infixl 9 ?? + +(??) :: Eq a => [a] -> a -> Int +(??) items item = fromJust $ elemIndex item items + + +initial = "abcdefgh" +final = "fbgdceah" + +testInstructions = "\ +\swap position 4 with position 0\n\ +\swap letter d with letter b\n\ +\reverse positions 0 through 4\n\ +\rotate left 1 step\n\ +\move position 1 to position 4\n\ +\move position 3 to position 0\n\ +\rotate based on position of letter b\n\ +\rotate based on position of letter d\n" + +main :: IO () +main = do + -- let ti = successfulParse $ parseIfile testInstructions + -- part1 ti "abcde" + -- part2 (reverse ti) "decab" + text <- readFile "data/advent21.txt" + let instructions = successfulParse $ parseIfile text + part1 instructions initial + part2 (reverse instructions) final + +part1 :: [Instruction] -> String -> IO () +part1 instructions start = + let st = Password {password = start} + ((_, log), st') = runIdentity (runStateT (runWriterT (apply instructions)) st) + in do + -- putStrLn $ unlines $ map (action) log + putStrLn $ password st' + +part2 :: [Instruction] -> String -> IO () +part2 instructions end = + let st = Password {password = end} + ((_, log), st') = runIdentity (runStateT (runWriterT (unApply instructions)) st) + in do + -- putStrLn $ unlines $ map (action) log + putStrLn $ password st' + + +apply :: [Instruction] -> App () +apply [] = return () +apply (i:is) = + do st <- get + let p0 = password st + let p1 = applyInstruction i p0 + put st {password = p1} + tell [Log (p0 ++ " -> " ++ p1 ++ " : " ++ (show i))] + apply is + + +applyInstruction :: Instruction -> String -> String +applyInstruction (SwapPosition from to) p0 + | from == to = p0 + | otherwise = prefix ++ [p0!!end] ++ midfix ++ [p0!!start] ++ suffix + where start = minimum [from, to] + end = maximum [from, to] + prefix = take start p0 + midfix = take (end-start-1) $ drop (start+1) p0 + suffix = drop (end+1) p0 + +applyInstruction (SwapLetter l0 l1) p0 = applyInstruction (SwapPosition (p0??l0) (p0??l1)) p0 + +applyInstruction (RotateSteps n) p0 = (drop n' p0) ++ (take n' p0) + where n' = if n < 0 + then (-1 * n) + else (length p0) - n + +applyInstruction (RotateLetter l) p0 = applyInstruction (RotateSteps n) p0 + where n = (1 + (p0??l) + if (p0??l) >= 4 then 1 else 0) `mod` (length p0) + +applyInstruction (Reverse from to) p0 + | from == to = p0 + | otherwise = prefix ++ (reverse midfix) ++ suffix + where start = minimum [from, to] + end = maximum [from, to] + prefix = take start p0 + midfix = take (end-start+1) $ drop start p0 + suffix = drop (end+1) p0 + +applyInstruction (Move from to) p0 + | from == to = p0 + | otherwise = prefix ++ [p0!!from] ++ suffix + where without = take from p0 ++ drop (from+1) p0 + prefix = take to without + suffix = drop (to) without + + +unApply :: [Instruction] -> App () +unApply [] = return () +unApply (i:is) = + do st <- get + let p0 = password st + let p1 = unApplyInstruction i p0 + put st {password = p1} + tell [Log (p1 ++ " <- " ++ p0 ++ " : " ++ (show i))] + unApply is + +unApplyInstruction :: Instruction -> String -> String +unApplyInstruction (SwapPosition from to) p0 = applyInstruction (SwapPosition from to) p0 +unApplyInstruction (SwapLetter l0 l1) p0 = applyInstruction (SwapLetter l0 l1) p0 +unApplyInstruction (RotateSteps n) p0 = applyInstruction (RotateSteps (-1 * n)) p0 +unApplyInstruction (Reverse from to) p0 = applyInstruction (Reverse from to) p0 +unApplyInstruction (Move from to) p0 = applyInstruction (Move to from) p0 +unApplyInstruction (RotateLetter l) p0 = applyInstruction (RotateSteps n) p0 + where n = case (p0??l) of + 0 -> -1 + 1 -> -1 + 2 -> 2 + 3 -> -2 + 4 -> 1 + 5 -> -3 + 6 -> 0 + 7 -> -4 + -- where n = case (p0??l) of + -- 0 -> -1 + -- 1 -> -1 + -- 2 -> 1 + -- 3 -> -2 + -- 4 -> 1 + + +instructionFile = instructionLine `endBy` newline +instructionLine = choice [ swapL + , rotateL + , reverseL + , moveL + ] + +swapL = (try (string "swap ")) *> (swapPosL <|> swapLetterL) + +swapPosL = SwapPosition <$> (string "position" *> spaces *> int) + <*> (spaces *> string "with position" *> spaces *> int) + +swapLetterL = SwapLetter <$> (string "letter" *> spaces *> letter) + <*> (spaces *> string "with letter" *> spaces *> letter) + +rotateL = (try (string "rotate ")) *> (rotateDirL <|> rotateLetterL) + +rotateDirL = rotateStepify <$> ((string "left") <|> (string "right")) + <*> (spaces *> int <* spaces <* skipMany letter) + where rotateStepify dir n = case dir of + "left" -> (RotateSteps (-1 * n)) + "right" -> (RotateSteps n) +rotateLetterL = RotateLetter <$> (string "based on position of letter " *> letter) + +reverseL = Reverse <$> (string "reverse positions" *> spaces *> int) + <*> (spaces *> (string "through") *> spaces *> int) + +moveL = Move <$> (string "move position" *> spaces *> int) + <*> (spaces *> (string "to position") *> spaces *> int) + + +parseIfile :: String -> Either ParseError [Instruction] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError Instruction +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a diff --git a/app/advent22.hs b/app/advent22.hs new file mode 100644 index 0000000..f2e084a --- /dev/null +++ b/app/advent22.hs @@ -0,0 +1,156 @@ +module Main(main) where + +import GHC.Generics (Generic) +import Text.Parsec +import Text.ParserCombinators.Parsec.Number +import Data.Maybe (catMaybes, fromJust) +import Data.List (find, delete, sort, sortOn, reverse) + +data Node = Node { x :: Int + , y :: Int + , size :: Int + , used :: Int + , available :: Int + , use_pc :: Int + } deriving (Show, Eq, Ord) + +data SearchState = SearchState { cx :: Int + , cy :: Int + , grid :: [Node] + } deriving (Show) +instance Ord SearchState where + s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) +instance Eq SearchState where + s1 == s2 = equivalentState s1 s2 + +equivalentState :: SearchState -> SearchState -> Bool +equivalentState s1 s2 = + let h1 = fromJust $ find (\n -> used n == 0) $ grid s1 + h2 = fromJust $ find (\n -> used n == 0) $ grid s2 + in + cx s1 == cx s2 && cy s1 == cy s2 && + x h1 == x h2 && y h1 == y h2 + + +testGrid = "\ +\Filesystem Size Used Avail Use%\n\ +\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ +\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ +\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ +\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ +\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ +\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ +\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ +\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ +\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ +\" + +main :: IO () +main = do + text <- readFile "data/advent22.txt" + let sizes = successfulParse $ parseFile text + part1 sizes + part2 sizes + +part1 :: [Node] -> IO () +part1 sizes = print $ length viable + where viable = [(a, b) | a <- sizes, + b <- sizes, + a /= b, + (used a) > 0, + (used a) <= (available b)] + + +part2 :: [Node] -> IO () +part2 sizes = + -- do let testSizes = successfulParse $ parseFile testGrid + -- putStrLn $ searchTraceH $ reverse $ aStar [[startSt testSizes]] [] + print (26 + 26 + 29 + 5 * 36) + + +aStar :: [[SearchState]] -> [SearchState] -> [SearchState] +aStar [] _ = [] +aStar (currentPath:agenda) closed = + if isGoal reached then currentPath + else if reached `elem` closed + then aStar agenda closed + else aStar newAgenda (reached:closed) + where + reached = head currentPath + successorPaths = map (:currentPath) $ successors reached + newAgenda = sortOn (cost) $ successorPaths ++ agenda + + +searchTrace :: [SearchState] -> String +searchTrace ss = unlines $ map (sst) ss + where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ")" + +searchTraceH :: [SearchState] -> String +searchTraceH ss = unlines $ map (sst) ss + where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s + hole sk = fromJust $ find (\n -> used n == 0) $ grid sk + holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" + +startSt :: [Node] -> SearchState +startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} + where xs = map (\n -> x n) nodes + +isGoal :: SearchState -> Bool +isGoal st = cx st == 0 && cy st == 0 + +adjacent :: Node -> Node -> Bool +adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 + +-- A move of data from n1 to n2 is legal. +legal :: Node -> Node -> Bool +legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 + +heuristic :: SearchState -> Int +heuristic st = (cx st) + (cy st) + +successors :: SearchState -> [SearchState] +successors st = map (newState st current) possibleMoves + where nodes = grid st + current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes + possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] + + +-- Moving data from n1 to n2 +newState :: SearchState -> Node -> (Node, Node) -> SearchState +newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} + where cx' = if current == n1 then x n2 else x current + cy' = if current == n1 then y n2 else y current + grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): + (n1 {used = 0, available = (size n1)}): + (delete n1 $ delete n2 (grid st)) + +cost :: [SearchState] -> Int +cost p = (heuristic $ head p) + (length p) + + + +duFile = duLine `sepEndBy` newline +-- duLine = (optionMaybe nodeL) + +duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) + +headerL = (many (noneOf "\r\n")) + +nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) + <*> (string "-y" *> int) + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "%") + where nodeify x y size used available use_pc = + Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} + +parseFile :: String -> Either ParseError [Maybe Node] +parseFile input = parse duFile "(unknown)" input + +parseLine :: String -> Either ParseError (Maybe Node) +parseLine input = parse duLine "(unknown)" input + +successfulParse :: Either ParseError [Maybe a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = catMaybes a diff --git a/app/advent22library.hs b/app/advent22library.hs new file mode 100644 index 0000000..bad3621 --- /dev/null +++ b/app/advent22library.hs @@ -0,0 +1,143 @@ +{-# LANGUAGE DeriveGeneric #-} + +module Main(main) where + +import GHC.Generics (Generic) +import Text.Parsec +import Text.ParserCombinators.Parsec.Number +import Data.Maybe (catMaybes, fromJust) +import Data.List (find, delete, sort) +import Data.Graph.AStar +import Data.Hashable +import qualified Data.HashSet + +data Node = Node { x :: Int + , y :: Int + , size :: Int + , used :: Int + , available :: Int + , use_pc :: Int + } deriving (Show, Eq, Ord, Generic) +instance Hashable Node + +data SearchState = SearchState { cx :: Int + , cy :: Int + , grid :: [Node] + } deriving (Show, Eq, Generic) +instance Hashable SearchState +instance Ord SearchState where + s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) + + +testGrid = "\ +\Filesystem Size Used Avail Use%\n\ +\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ +\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ +\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ +\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ +\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ +\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ +\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ +\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ +\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ +\" + +main :: IO () +main = do + text <- readFile "data/advent22.txt" + let sizes = successfulParse $ parseFile text + part1 sizes + part2 sizes + +part1 :: [Node] -> IO () +part1 sizes = print $ length viable + where viable = [(a, b) | a <- sizes, + b <- sizes, + a /= b, + (used a) > 0, + (used a) <= (available b)] + + +part2 :: [Node] -> IO () +part2 sizes = + -- do let testSizes = successfulParse $ parseFile testGrid + -- putStrLn $ searchTrace $ fromJust $ + -- aStar successors + -- (\_ _ -> 1) + -- heuristic + -- isGoal + -- (startSt testSizes) + putStrLn $ searchTrace $ fromJust $ + aStar successors + (\_ _ -> 1) + heuristic + isGoal + (startSt sizes) + + + +searchTrace :: [SearchState] -> String +searchTrace ss = unlines $ map (sst) ss + where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s + hole sk = fromJust $ find (\n -> used n == 0) $ grid sk + holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" + +startSt :: [Node] -> SearchState +startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} + where xs = map (\n -> x n) nodes + +isGoal :: SearchState -> Bool +isGoal st = cx st == 0 && cy st == 0 + +adjacent :: Node -> Node -> Bool +adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 + +-- A move of data from n1 to n2 is legal. +legal :: Node -> Node -> Bool +legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 + +heuristic :: SearchState -> Int +heuristic st = (cx st) + (cy st) + +successors :: SearchState -> Data.HashSet.HashSet SearchState +successors st = Data.HashSet.fromList $ map (newState st current) possibleMoves + where nodes = grid st + current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes + possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] + + +-- Moving data from n1 to n2 +newState :: SearchState -> Node -> (Node, Node) -> SearchState +newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} + where cx' = if current == n1 then x n2 else x current + cy' = if current == n1 then y n2 else y current + grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): + (n1 {used = 0, available = (size n1)}): + (delete n1 $ delete n2 (grid st)) + + +duFile = duLine `sepEndBy` newline +-- duLine = (optionMaybe nodeL) + +duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) + +headerL = (many (noneOf "\r\n")) + +nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) + <*> (string "-y" *> int) + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "%") + where nodeify x y size used available use_pc = + Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} + +parseFile :: String -> Either ParseError [Maybe Node] +parseFile input = parse duFile "(unknown)" input + +parseLine :: String -> Either ParseError (Maybe Node) +parseLine input = parse duLine "(unknown)" input + +successfulParse :: Either ParseError [Maybe a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = catMaybes a diff --git a/app/advent22search.hs b/app/advent22search.hs new file mode 100644 index 0000000..32ada24 --- /dev/null +++ b/app/advent22search.hs @@ -0,0 +1,156 @@ +module Main(main) where + +import GHC.Generics (Generic) +import Text.Parsec +import Text.ParserCombinators.Parsec.Number +import Data.Maybe (catMaybes, fromJust) +import Data.List (find, delete, sort, sortOn, reverse) + +data Node = Node { x :: Int + , y :: Int + , size :: Int + , used :: Int + , available :: Int + , use_pc :: Int + } deriving (Show, Eq, Ord) + +data SearchState = SearchState { cx :: Int + , cy :: Int + , grid :: [Node] + } deriving (Show) +instance Ord SearchState where + s1 `compare` s2 = (heuristic s1) `compare` (heuristic s2) +instance Eq SearchState where + s1 == s2 = equivalentState s1 s2 + +equivalentState :: SearchState -> SearchState -> Bool +equivalentState s1 s2 = + let h1 = fromJust $ find (\n -> used n == 0) $ grid s1 + h2 = fromJust $ find (\n -> used n == 0) $ grid s2 + in + cx s1 == cx s2 && cy s1 == cy s2 && + x h1 == x h2 && y h1 == y h2 + + +testGrid = "\ +\Filesystem Size Used Avail Use%\n\ +\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ +\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ +\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ +\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ +\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ +\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ +\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ +\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ +\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ +\" + +main :: IO () +main = do + text <- readFile "data/advent22.txt" + let sizes = successfulParse $ parseFile text + part1 sizes + part2 sizes + +part1 :: [Node] -> IO () +part1 sizes = print $ length viable + where viable = [(a, b) | a <- sizes, + b <- sizes, + a /= b, + (used a) > 0, + (used a) <= (available b)] + + +part2 :: [Node] -> IO () +part2 sizes = + -- do let testSizes = successfulParse $ parseFile testGrid + -- putStrLn $ searchTraceH $ reverse $ aStar [[startSt testSizes]] [] + print $ length $ aStar [[startSt sizes]] [] + + +aStar :: [[SearchState]] -> [SearchState] -> [SearchState] +aStar [] _ = [] +aStar (currentPath:agenda) closed = + if isGoal reached then currentPath + else if reached `elem` closed + then aStar agenda closed + else aStar newAgenda (reached:closed) + where + reached = head currentPath + successorPaths = map (:currentPath) $ successors reached + newAgenda = sortOn (cost) $ successorPaths ++ agenda + + +searchTrace :: [SearchState] -> String +searchTrace ss = unlines $ map (sst) ss + where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ")" + +searchTraceH :: [SearchState] -> String +searchTraceH ss = unlines $ map (sst) ss + where sst s = "(" ++ show (cx s) ++ ", " ++ show (cy s) ++ ") :: " ++ holeS s + hole sk = fromJust $ find (\n -> used n == 0) $ grid sk + holeS sk = "(" ++ show (x $ hole sk) ++ ", " ++ show (y $ hole sk) ++ ")" + +startSt :: [Node] -> SearchState +startSt nodes = SearchState {cx = maximum xs, cy = 0, grid = nodes} + where xs = map (\n -> x n) nodes + +isGoal :: SearchState -> Bool +isGoal st = cx st == 0 && cy st == 0 + +adjacent :: Node -> Node -> Bool +adjacent n1 n2 = abs ((x n1) - (x n2)) + abs ((y n1) - (y n2)) == 1 + +-- A move of data from n1 to n2 is legal. +legal :: Node -> Node -> Bool +legal n1 n2 = adjacent n1 n2 && used n1 > 0 && used n1 <= available n2 + +heuristic :: SearchState -> Int +heuristic st = (cx st) + (cy st) + +successors :: SearchState -> [SearchState] +successors st = map (newState st current) possibleMoves + where nodes = grid st + current = fromJust $ find (\n -> (x n) == (cx st) && (y n) == (cy st)) nodes + possibleMoves = [(n1, n2) | n1 <- nodes, n2 <- nodes, legal n1 n2] + + +-- Moving data from n1 to n2 +newState :: SearchState -> Node -> (Node, Node) -> SearchState +newState st current (n1, n2) = st {cx = cx', cy = cy', grid = grid'} + where cx' = if current == n1 then x n2 else x current + cy' = if current == n1 then y n2 else y current + grid' = sort $ (n2 {used = (used n2 + used n1), available = (available n2 - used n1)}): + (n1 {used = 0, available = (size n1)}): + (delete n1 $ delete n2 (grid st)) + +cost :: [SearchState] -> Int +cost p = (heuristic $ head p) + (length p) + + + +duFile = duLine `sepEndBy` newline +-- duLine = (optionMaybe nodeL) + +duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) + +headerL = (many (noneOf "\r\n")) + +nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) + <*> (string "-y" *> int) + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "%") + where nodeify x y size used available use_pc = + Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} + +parseFile :: String -> Either ParseError [Maybe Node] +parseFile input = parse duFile "(unknown)" input + +parseLine :: String -> Either ParseError (Maybe Node) +parseLine input = parse duLine "(unknown)" input + +successfulParse :: Either ParseError [Maybe a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = catMaybes a diff --git a/app/advent22showgrid.hs b/app/advent22showgrid.hs new file mode 100644 index 0000000..aec4309 --- /dev/null +++ b/app/advent22showgrid.hs @@ -0,0 +1,77 @@ +{-# LANGUAGE DeriveGeneric #-} + +module Main(main) where + +import GHC.Generics (Generic) +import Text.Parsec +import Text.ParserCombinators.Parsec.Number +import Data.Maybe (catMaybes, fromJust) +import Data.List (find, delete, sort, sortOn, reverse) + +data Node = Node { x :: Int + , y :: Int + , size :: Int + , used :: Int + , available :: Int + , use_pc :: Int + } deriving (Show, Eq, Ord) + + +testGrid = "\ +\Filesystem Size Used Avail Use%\n\ +\/dev/grid/node-x0-y0 10T 8T 2T 80%\n\ +\/dev/grid/node-x0-y1 11T 6T 5T 54%\n\ +\/dev/grid/node-x0-y2 32T 28T 4T 87%\n\ +\/dev/grid/node-x1-y0 9T 7T 2T 77%\n\ +\/dev/grid/node-x1-y1 8T 0T 8T 0%\n\ +\/dev/grid/node-x1-y2 11T 7T 4T 63%\n\ +\/dev/grid/node-x2-y0 10T 6T 4T 60%\n\ +\/dev/grid/node-x2-y1 9T 8T 1T 88%\n\ +\/dev/grid/node-x2-y2 9T 6T 3T 66%\n\ +\" + +main :: IO () +main = do + text <- readFile "data/advent22.txt" + let sizes = successfulParse $ parseFile text + let maxX = maximum $ map (\n -> x n) sizes + let maxY = maximum $ map (\n -> y n) sizes + putStrLn $ unlines $ map (showRow maxX sizes) [0..(maxY-1)] + + +showRow maxX sizes r = map (charOf) row + where row = sortOn (\c -> x c) $ filter (\c -> y c == r) sizes + charOf c = if (used c) == 0 + then '+' + else if (used c) > 100 + then '#' + else '_' + + + + +duFile = duLine `sepEndBy` newline +-- duLine = (optionMaybe nodeL) + +duLine = (nodeL >>= return . Just) <|> (headerL >> return Nothing) + +headerL = (many (noneOf "\r\n")) + +nodeL = nodeify <$> (string "/dev/grid/node-x" *> int) + <*> (string "-y" *> int) + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "T") + <*> (spaces *> int <* string "%") + where nodeify x y size used available use_pc = + Node {x=x, y=y, size=size, used=used, available=available, use_pc=use_pc} + +parseFile :: String -> Either ParseError [Maybe Node] +parseFile input = parse duFile "(unknown)" input + +parseLine :: String -> Either ParseError (Maybe Node) +parseLine input = parse duLine "(unknown)" input + +successfulParse :: Either ParseError [Maybe a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = catMaybes a diff --git a/app/advent23.hs b/app/advent23.hs new file mode 100644 index 0000000..2903967 --- /dev/null +++ b/app/advent23.hs @@ -0,0 +1,180 @@ +module Main(main) where + +import Text.Parsec hiding (State) +import Text.ParserCombinators.Parsec.Number +import Control.Monad.State.Lazy +-- import Debug.Trace + +data Location = Literal Int | Register Char deriving (Show, Eq) +data Instruction = Cpy Location Location + | Inc Location + | Dec Location + | Jnz Location Location + | Tgl Location + deriving (Show, Eq) + +data Machine = Machine { a :: Int + , b :: Int + , c :: Int + , d :: Int + , pc :: Int + , instructions :: [Instruction]} + deriving (Show, Eq) + +testInstructions = "cpy 2 a\n\ +\tgl a\n\ +\tgl a\n\ +\tgl a\n\ +\cpy 1 a\n\ +\dec a\n\ +\dec a" + +emptyMachine :: Machine +emptyMachine = Machine {a=0, b=0, c=0, d=0, pc=0, instructions=[]} + +main :: IO () +main = do + text <- readFile "data/advent23.txt" + let instructions = successfulParse $ parseIfile text + part1 instructions + part2 instructions + + +part1 :: [Instruction] -> IO () +part1 instrs = + do let m0 = emptyMachine {instructions=instrs, a = 7} + let mf = snd $ runState runMachine m0 + print (a mf) + +part2 :: [Instruction] -> IO () +part2 instrs = + do let m0 = emptyMachine {instructions=instrs, a = 12} + let mf = snd $ runState runMachine m0 + print (a mf) + + +runMachine :: State Machine () +runMachine = + do m <- get + if (pc m) >= (length $ instructions m) + then return () + else do executeStep + runMachine + +executeStep :: State Machine () +executeStep = + do m <- get + let i = (instructions m)!!(pc m) + put (executeInstructionPeep i m) + -- put (executeInstruction i m) + +executeInstructionPeep :: Instruction -> Machine -> Machine +executeInstructionPeep i m = + if sample1 == sample1Target + -- then trace ("Peeping 1 " ++ (show m) ++ " to " ++ (show m1)) m1 + then m1 + else if sample2 == sample2Target + -- then trace ("Peeping 2 " ++ (show m) ++ " to " ++ (show m2)) m2 + then m2 + else executeInstruction i m + where sample1 = take (length sample1Target) $ drop (pc m) $ instructions m + sample1Target = [ Cpy (Literal 0) (Register 'a') + , Cpy (Register 'b') (Register 'c') + , Inc (Register 'a') + , Dec (Register 'c') + , Jnz (Register 'c') (Literal (-2)) + , Dec (Register 'd') + , Jnz (Register 'd') (Literal (-5)) ] + m1 = m {a = b m * d m, c = 0, d = 0, pc = pc m + (length sample1)} + sample2 = take (length sample2Target) $ drop (pc m) $ instructions m + sample2Target = [ Dec (Register 'b') + , Cpy (Register 'b') (Register 'c') + , Cpy (Register 'c') (Register 'd') + , Dec (Register 'd') + , Inc (Register 'c') + , Jnz (Register 'd') (Literal (-2)) ] + m2 = m {b = b m - 1, c = (b m - 1) * 2, d = 0, pc = pc m + (length sample2)} + + +executeInstruction :: Instruction -> Machine -> Machine +executeInstruction (Inc r@(Register _)) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m r + m' = writeValue m r (v+1) +executeInstruction (Inc (Literal _)) m = m {pc=pc1} + where pc1 = (pc m) + 1 +executeInstruction (Dec r@(Register _)) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m r + m' = writeValue m r (v-1) +executeInstruction (Dec (Literal _)) m = m {pc=pc1} + where pc1 = (pc m) + 1 +executeInstruction (Cpy s d@(Register _)) m = m' {pc=pc1} + where pc1 = (pc m) + 1 + v = evaluate m s + m' = writeValue m d v +executeInstruction (Cpy s (Literal _)) m = m {pc=pc1} + where pc1 = (pc m) + 1 +executeInstruction (Jnz s d) m + | v == 0 = m {pc=pc1} + | otherwise = m {pc=pcj} + where pc1 = (pc m) + 1 + ed = evaluate m d + pcj = (pc m) + ed + v = evaluate m s +executeInstruction (Tgl a) m + | v < (length $ instructions m) = m {instructions = (replace (instructions m) i' v), + pc=pc1} + | otherwise = m {pc=pc1} + where pc1 = pc m + 1 + v = evaluate m a + pc m + i = (instructions m)!!v + i' = case i of + Inc x -> Dec x + Dec x -> Inc x + Tgl x -> Inc x + Cpy x y -> Jnz x y + Jnz x y -> Cpy x y + replace xs x i = take i xs ++ [x] ++ drop (i+1) xs + + +evaluate :: Machine -> Location -> Int +evaluate _ (Literal i) = i +evaluate m (Register r) = + case r of + 'a' -> (a m) + 'b' -> (b m) + 'c' -> (c m) + 'd' -> (d m) + +writeValue :: Machine -> Location -> Int -> Machine +writeValue m (Literal i) _ = m +writeValue m (Register r) v = + case r of + 'a' -> m {a=v} + 'b' -> m {b=v} + 'c' -> m {c=v} + 'd' -> m {d=v} + + +instructionFile = instructionLine `sepEndBy` newline +instructionLine = incL <|> decL <|> cpyL <|> jnzL <|> tglL + +incL = Inc <$> (string "inc" *> spaces *> register) +decL = Dec <$> (string "dec" *> spaces *> register) +cpyL = Cpy <$> (string "cpy" *> spaces *> location) <*> (spaces *> register) +jnzL = Jnz <$> (string "jnz" *> spaces *> location) <*> (spaces *> location) +tglL = Tgl <$> (string "tgl" *> spaces *> location) + +location = (Literal <$> int) <|> register +register = Register <$> (oneOf "abcd") + +parseIfile :: String -> Either ParseError [Instruction] +parseIfile input = parse instructionFile "(unknown)" input + +parseIline :: String -> Either ParseError Instruction +parseIline input = parse instructionLine "(unknown)" input + +successfulParse :: Either ParseError [a] -> [a] +successfulParse (Left _) = [] +successfulParse (Right a) = a diff --git a/data/advent01.txt b/data/advent01.txt new file mode 100644 index 0000000..62fb6e8 --- /dev/null +++ b/data/advent01.txt @@ -0,0 +1 @@ +R2, L3, R2, R4, L2, L1, R2, R4, R1, L4, L5, R5, R5, R2, R2, R1, L2, L3, L2, L1, R3, L5, R187, R1, R4, L1, R5, L3, L4, R50, L4, R2, R70, L3, L2, R4, R3, R194, L3, L4, L4, L3, L4, R4, R5, L1, L5, L4, R1, L2, R4, L5, L3, R4, L5, L5, R5, R3, R5, L2, L4, R4, L1, R3, R1, L1, L2, R2, R2, L3, R3, R2, R5, R2, R5, L3, R2, L5, R1, R2, R2, L4, L5, L1, L4, R4, R3, R1, R2, L1, L2, R4, R5, L2, R3, L4, L5, L5, L4, R4, L2, R1, R1, L2, L3, L2, R2, L4, R3, R2, L1, L3, L2, L4, L4, R2, L3, L3, R2, L4, L3, R4, R3, L2, L1, L4, R4, R2, L4, L4, L5, L1, R2, L5, L2, L3, R2, L2 \ No newline at end of file diff --git a/data/advent02.txt b/data/advent02.txt new file mode 100644 index 0000000..799cb46 --- /dev/null +++ b/data/advent02.txt @@ -0,0 +1,5 @@ +RDRRDLRRUDRUUUULDDRDUULLDUULDURDDUDRULDLUDDRLRDUDDURRRRURDURLLRDRUUULDLLLURDRLLULLUULULLLDLLLRRURRLRDUULRURRUDRRDRLURLRURLLULRUURRUURDDLDRDLDLLUDUULLLUUUUDULLDRRUURLDURDDDDDRLLRRURDLUDRRUUDLRRLLRDURDUDDDLRDDRDLRULLUULRULRLLULDDRURUUDLDDULDRLLURDDUDDUDRDUDLDRRRDURRLDRDRLDLLDUDDDULULRRULRLLURDRRDDUUUUUULRUDLRRDURDLRDLUDLDURUDDUUURUDLUUULDLRDURDLDUUDLDDDURUUDUUDRLRDULLDUULUDRUDRLRRRDLLDRUDULRRUDDURLDRURRLLRRRDRLLDLULULRRUURRURLLUDRRLRULURLDDDDDURUDRRRRULLUUDLDDLUUL +ULURUDLULDULDLLDDLLLDRRLLUDRRDRDUDURUDLRRRRUDRDDURLRRULLDLURLDULLUDDLUDURDUURRRRLDLRLDDULLRURLULLDDRUDLRRRLDRRRDLDRLLDDRRDDLUUDRUDDLULRURLDURRLLDLRUDLLRRUULUDRLLLRLDULURRRRRDDUURDRRUUDULRUULDDULRLUDLUDDULLRLRDDLRLLURRRULDLRRRUURRLDDRDLRDLRRDRDLDRDUDRDURUUDRLRRULRDLLDLLRRRDRLDRLRLRLLLURURDULUUDDRLLDDDRURRURLRDDULLRURUDRRDRLRRRLDLRLRULDRLUURRUUULRLDLLURLLLDLLLDRRDULRURRRRLUDLLRRUDLRUDRURDRRDLUUURRDLRLRUUUDURDLUDURRUUDURLUDDDULLDRDLLDDDRLDDDRLDLDDDDUDUUDURUUDULRDDLULDRDRLURLUDRDLUULLULRLULRDDRULDUDDURUURULUDLUURLURU +URLURDDRLLURRRLDLDLUDUURDRUDLLLRRDLUUULRRLURRRLUDUDLRLDDRUDLRRRULUDUDLLLULULLLRUDULDDDLLLRRRLRURDULUDDDULDLULURRRDLURDLRLLDUDRUDURDRRURULDRDUDLLRDDDUDDURLUULLULRDRRLDDLDURLRRRLDRDLDULRULRRRLRLLDULRDLURLRUUDURRUUDLLUDRUDLRLDUUDLURRRDDUUDUDRLDLDDRURDDLLDDRDLRLRDLLLUDLUUDRLRLRDDRDLRDLLUULLLLUULLDLLDLRDLRLRRLUUDLLRLRUDRURULRLRLULUDRLLUDDUDDULRLDDRUUUURULDRRULLLDUURULUDRLLURLRRLDLRRLDDRRRDUDDUDLDDLULUDDUURDLLLRLDLRDRUUUUUDDDLDRDDRRRLRURRRRDURDRURUDLURRURDRLRUUDDLDRRULLDURDRLRRDURURUULRDUDLDRDDLULULRDRRUDDRLLRLULRLLUUDRDUUDDUDLRUUDLLUULLRUULUDDLURRRLLDRLRRLLRULLDUULURLLLLUUULDR +LDUURULLRLDRRUUDUUUURUUUDDDURRDDLRDLLRDDRULDDUURUDDURLLUDRDUDRDULDRRRLULUDRULLLLDRLLDRDLDLLRURULUDDDDURDDDRLLUDLDRULRDLDUDDDUUDLLRLLLDLRLRLRRUDDULDDDUDLDDLUDDULDLLLLULLLLDDURDDURRRDDRLRLLUDLLUDDDUDURUDRLRDRULULDDRULDLULULLRUULRLDULUURRDRDRRDLDDDRRLUULDLUDRDDUDLRURULLDDURLDDRULUDLDDDRDRLLRDLLUURRRURDRLRURLDDLURDRURDDURLLRLRUDUUDLDUDURRDDURDRDDUDDDUDUURURDDLLRUUDDRRDULDDLLDLRULUULRUUDLLDRLULDULDDUDLULRULDRLLDUULDDDLRLLRLULDDULDDRRRLDRRLURULRDDRDLRRDUDDRDRRRRUDUDLLRRDRRURRUURDRULDDUDURLUDDURDUDRDUULLDRURUURURDRRLDDLDLUURLULRUDURDRUUURRURRDRUDRUURDURLRULULLLULDLLDLRRLDRDLUULUDDDLRDRLRLDRUDUDRLLRL +LURLUURLURDUUDRUDLDLLURRRDLDRRRULDDRRDRDUUDRUDURDDDURLUDDLULUULRRLLRULUDRDDRRRLDURDUDDURDDDLRLDDLULLDRDDLUUDUURRRLULRUURRRRLLULDUDRDUURRRURRDRDUDUDLUDULLDLDDRLUDRURDULURLURRLLURLLLRLUURLRUDLUDDRLURRUULULRLURRURUDURDLDLDDUDDRDLLRLLRRULDDRUDURUDDDUDLLRDLRUDULLLRRRUURUDUUULLRDUDRURUDULLDLLUUUDRULRLLRRDDDDUDULDRDRLLDDLLDDDURRUDURLDLRDRUURDDURLRDRURLRRLLRLULDRRLRUDURDUURRLUUULUDDDLRLULRDRLLURRRDLURDUUDRRRLUURRLLUDLUDLUULLRRDLLRDDRURRUURLDDLRLRLRUDLDLRLRDRRDLLLRDLRDUDLLDDDRD \ No newline at end of file diff --git a/data/advent03.txt b/data/advent03.txt new file mode 100644 index 0000000..40c03ca --- /dev/null +++ b/data/advent03.txt @@ -0,0 +1,1734 @@ + 330 143 338 + 769 547 83 + 930 625 317 + 669 866 147 + 15 881 210 + 662 15 70 + 273 277 707 + 50 592 770 + 280 313 407 + 642 487 372 + 94 619 295 + 734 243 141 + 220 141 515 + 198 824 745 + 210 787 964 + 213 627 601 + 918 4 447 + 805 630 802 + 711 237 987 + 938 552 388 + 643 405 779 + 803 747 525 + 917 832 631 + 899 292 843 + 81 206 445 + 141 874 465 + 177 974 54 + 520 725 814 + 271 958 554 + 779 579 264 + 358 18 257 + 978 77 270 + 984 88 131 + 475 702 940 + 183 756 160 + 383 941 820 + 806 142 646 + 793 275 804 + 53 272 368 + 942 821 785 + 863 830 902 + 219 52 199 + 473 479 351 + 860 522 361 + 890 240 216 + 94 756 407 + 310 189 468 + 234 909 178 + 889 667 756 + 429 485 730 + 825 405 30 + 943 806 253 + 98 455 365 + 998 454 290 + 971 576 223 + 64 429 273 + 945 779 63 + 352 960 59 + 672 948 577 + 782 43 567 + 460 315 719 + 825 604 183 + 453 442 788 + 694 632 334 + 569 619 317 + 337 49 17 + 878 468 660 + 393 598 717 + 550 827 159 + 540 362 346 + 66 713 380 + 491 477 44 + 411 114 320 + 554 96 250 + 306 67 196 + 769 553 333 + 762 436 382 + 278 322 153 + 894 603 334 + 539 441 844 + 486 162 927 + 197 9 218 + 94 221 804 + 250 220 913 + 557 626 486 + 562 705 630 + 968 922 285 + 518 36 468 + 18 608 83 + 512 611 530 + 534 37 65 + 621 136 90 + 239 113 139 + 371 640 956 + 629 54 959 + 531 620 338 + 682 499 810 + 798 170 968 + 187 640 645 + 660 535 332 + 663 530 314 + 64 26 65 + 55 285 488 + 620 288 52 + 642 474 450 + 455 9 962 + 51 760 489 + 426 760 833 + 304 783 772 + 498 765 695 + 635 53 126 + 44 430 774 + 979 943 838 + 962 892 64 + 494 709 614 + 7 695 120 + 503 114 606 + 362 340 689 + 509 367 389 + 673 410 664 + 773 262 558 + 897 958 245 + 140 773 483 + 965 468 584 + 546 209 668 + 856 381 184 + 274 237 762 + 888 677 906 + 871 516 405 + 102 529 912 + 285 724 885 + 352 501 53 + 774 139 245 + 380 309 594 + 813 185 765 + 530 645 965 + 958 618 120 + 851 202 957 + 737 476 131 + 595 546 108 + 716 113 66 + 327 215 318 + 397 343 390 + 351 143 103 + 138 91 31 + 108 224 919 + 230 276 896 + 426 975 177 + 327 975 918 + 238 365 764 + 328 799 775 + 590 906 967 + 578 460 338 + 507 619 647 + 711 617 867 + 933 478 734 + 820 760 721 + 199 711 824 + 983 214 228 + 382 150 648 + 415 782 242 + 615 754 445 + 693 689 590 + 382 784 482 + 997 181 322 + 682 241 172 + 587 302 252 + 184 135 254 + 574 104 549 + 88 738 796 + 486 715 861 + 62 491 815 + 463 434 569 + 519 622 310 + 199 443 782 + 572 657 85 + 763 517 844 + 750 175 835 + 228 269 710 + 611 316 551 + 883 546 296 + 169 693 18 + 992 743 316 + 263 529 529 + 705 570 4 + 918 706 527 + 609 285 971 + 260 533 112 + 711 486 904 + 820 40 472 + 997 301 129 + 257 288 343 + 635 439 375 + 560 381 417 + 773 105 145 + 58 963 267 + 976 742 424 + 994 441 384 + 389 770 514 + 782 463 335 + 919 727 276 + 780 794 372 + 326 180 590 + 918 946 257 + 889 842 181 + 507 61 464 + 762 835 443 + 827 607 982 + 174 875 544 + 934 885 589 + 32 343 757 + 987 826 257 + 981 782 844 + 446 291 397 + 443 800 421 + 165 668 539 + 410 373 487 + 422 803 881 + 546 998 953 + 291 607 160 + 919 894 62 + 842 718 117 + 110 816 582 + 470 836 596 + 575 687 35 + 37 835 374 + 90 954 354 + 101 141 407 + 174 398 499 + 173 737 964 + 4 365 950 + 946 616 634 + 906 904 619 + 40 789 16 + 788 769 76 + 737 867 88 + 565 812 31 + 508 380 201 + 34 935 339 + 500 862 326 + 431 181 475 + 403 346 585 + 88 530 708 + 731 137 781 + 715 563 272 + 817 659 932 + 396 368 360 + 162 683 376 + 278 620 39 + 525 910 371 + 688 524 149 + 488 998 279 + 286 392 523 + 325 144 406 + 79 532 419 + 540 460 465 + 222 832 416 + 517 507 46 + 87 744 183 + 382 819 701 + 306 763 647 + 744 74 913 + 62 813 849 + 691 874 775 + 291 422 314 + 432 630 809 + 611 510 566 + 583 745 289 + 397 19 727 + 188 766 442 + 96 108 329 + 963 719 598 + 963 764 469 + 444 636 731 + 792 636 422 + 993 1 416 + 518 300 532 + 298 312 736 + 316 111 463 + 825 569 35 + 858 591 584 + 809 84 607 + 681 610 740 + 383 279 210 + 851 733 615 + 287 959 160 + 856 851 171 + 606 115 211 + 310 541 845 + 506 119 319 + 665 471 562 + 382 885 798 + 440 29 595 + 113 903 475 + 257 773 846 + 306 741 776 + 97 804 76 + 489 332 423 + 466 632 613 + 86 739 481 + 199 846 712 + 62 282 809 + 155 681 142 + 705 525 270 + 159 800 117 + 612 664 316 + 505 616 837 + 578 839 770 + 942 535 122 + 542 781 512 + 552 22 475 + 760 791 97 + 432 626 837 + 26 616 336 + 412 316 702 + 108 232 242 + 158 311 449 + 60 141 325 + 58 1 714 + 532 977 123 + 531 978 598 + 679 899 57 + 645 523 54 + 167 892 14 + 164 574 492 + 105 37 491 + 132 555 485 + 600 879 508 + 608 843 222 + 270 255 398 + 232 960 281 + 241 995 436 + 113 674 411 + 381 567 5 + 697 450 966 + 726 857 969 + 722 686 965 + 543 20 453 + 955 689 554 + 858 161 923 + 140 979 953 + 786 836 237 + 200 322 875 + 311 623 398 + 510 814 945 + 67 387 825 + 621 620 740 + 630 842 163 + 545 75 373 + 506 531 501 + 301 571 357 + 746 491 253 + 37 29 748 + 769 507 754 + 69 886 861 + 423 629 856 + 380 723 83 + 875 647 657 + 144 696 580 + 896 49 629 + 275 598 374 + 118 636 279 + 277 80 529 + 623 130 493 + 368 712 621 + 833 730 512 + 59 767 829 + 105 933 731 + 54 240 108 + 803 235 992 + 837 726 881 + 426 855 450 + 636 730 731 + 840 561 977 + 996 229 670 + 508 234 186 + 529 108 917 + 373 337 795 + 681 35 565 + 790 251 152 + 301 235 599 + 875 416 653 + 277 338 990 + 800 207 595 + 954 650 896 + 931 667 706 + 84 851 822 + 254 778 816 + 316 141 732 + 233 759 239 + 546 473 315 + 69 15 96 + 513 470 320 + 460 188 729 + 429 950 288 + 709 807 790 + 456 161 570 + 269 718 339 + 213 628 602 + 155 367 686 + 176 418 568 + 66 251 723 + 959 696 536 + 794 279 885 + 315 527 993 + 603 853 868 + 727 747 994 + 411 287 193 + 528 763 559 + 803 149 739 + 542 883 696 + 275 676 183 + 411 317 161 + 349 875 35 + 39 729 221 + 256 831 216 + 247 238 176 + 399 59 306 + 409 445 550 + 9 387 253 + 613 204 474 + 81 868 944 + 589 912 735 + 319 264 83 + 984 704 614 + 778 614 532 + 699 762 556 + 680 250 507 + 504 581 647 + 160 351 295 + 513 739 413 + 651 915 651 + 878 218 499 + 872 990 503 + 38 886 12 + 218 201 415 + 240 250 504 + 265 448 382 + 402 876 126 + 488 950 649 + 189 210 597 + 24 850 758 + 30 451 347 + 5 437 723 + 634 310 546 + 801 179 411 + 679 338 852 + 385 32 933 + 406 531 554 + 88 516 871 + 860 486 834 + 467 535 849 + 419 820 785 + 206 649 526 + 244 499 714 + 80 774 678 + 336 149 612 + 310 175 656 + 150 221 791 + 159 806 701 + 336 465 530 + 376 819 272 + 533 472 421 + 82 124 909 + 523 561 539 + 844 811 576 + 439 612 587 + 782 457 686 + 152 51 837 + 413 573 855 + 403 608 26 + 893 819 910 + 361 499 657 + 677 937 617 + 428 6 343 + 310 38 431 + 474 35 420 + 574 256 221 + 700 907 515 + 149 685 478 + 206 325 720 + 114 51 67 + 320 338 686 + 293 59 527 + 147 756 986 + 250 697 573 + 968 194 545 + 542 480 72 + 454 574 619 + 473 55 592 + 475 339 889 + 884 313 993 + 125 127 742 + 591 514 585 + 543 583 282 + 264 580 390 + 839 487 781 + 902 664 868 + 334 459 819 + 107 20 211 + 368 479 775 + 683 691 273 + 681 336 630 + 22 978 536 + 926 828 708 + 210 319 723 + 787 689 866 + 854 633 856 + 960 494 866 + 122 687 596 + 918 705 539 + 84 564 791 + 876 138 949 + 836 1 500 + 718 308 466 + 228 311 271 + 421 998 433 + 622 772 174 + 875 720 432 + 680 687 509 + 215 95 623 + 674 732 166 + 198 174 645 + 721 839 390 + 617 896 448 + 73 331 155 + 789 134 431 + 853 376 400 + 82 862 411 + 779 362 70 + 750 777 349 + 674 604 224 + 812 731 446 + 280 546 336 + 922 781 619 + 196 892 876 + 941 361 479 + 344 988 873 + 499 92 795 + 287 913 546 + 625 167 604 + 617 1 399 + 154 166 720 + 328 323 111 + 713 619 530 + 606 756 580 + 194 247 935 + 149 65 64 + 55 287 902 + 870 866 127 + 478 679 587 + 900 459 565 + 563 787 743 + 962 798 769 + 669 39 525 + 745 691 317 + 484 123 93 + 500 598 348 + 159 535 681 + 618 176 877 + 723 373 464 + 304 184 131 + 542 209 654 + 716 47 647 + 976 537 771 + 914 606 568 + 241 250 481 + 616 640 660 + 744 187 843 + 303 617 927 + 369 525 773 + 754 697 360 + 595 560 605 + 562 589 610 + 799 497 655 + 823 553 532 + 937 502 449 + 976 941 158 + 194 720 347 + 474 694 822 + 528 184 272 + 922 698 568 + 415 889 638 + 169 822 65 + 547 281 663 + 582 167 110 + 365 56 914 + 431 162 923 + 473 812 578 + 572 890 386 + 164 119 308 + 604 946 496 + 327 142 72 + 641 916 472 + 743 663 228 + 107 446 345 + 823 486 152 + 997 47 968 + 565 155 631 + 438 205 416 + 271 163 875 + 123 393 111 + 169 412 854 + 615 683 659 + 592 362 9 + 99 895 668 + 834 205 172 + 359 355 550 + 499 149 389 + 755 298 916 + 475 706 807 + 829 425 118 + 43 527 479 + 159 473 874 + 151 326 992 + 970 660 509 + 837 930 35 + 164 345 506 + 209 879 487 + 97 157 503 + 289 755 793 + 624 897 293 + 382 134 451 + 257 917 339 + 110 168 85 + 470 583 139 + 486 613 120 + 584 747 795 + 959 699 339 + 866 384 672 + 157 639 464 + 939 485 409 + 947 441 131 + 179 953 581 + 735 587 605 + 834 582 36 + 304 422 707 + 195 348 347 + 163 521 486 + 948 471 675 + 915 453 406 + 40 345 635 + 81 124 115 + 127 105 127 + 50 32 10 + 221 399 397 + 487 676 412 + 574 607 450 + 268 625 323 + 843 858 145 + 706 286 218 + 822 168 254 + 950 708 944 + 572 640 775 + 958 563 909 + 996 154 918 + 378 626 564 + 335 823 339 + 499 810 270 + 294 22 98 + 987 959 591 + 101 899 442 + 931 409 576 + 542 102 655 + 404 980 398 + 759 990 381 + 692 990 750 + 752 93 149 + 278 973 883 + 621 459 232 + 398 261 626 + 221 212 744 + 790 241 352 + 802 218 317 + 443 294 244 + 393 131 941 + 466 378 885 + 516 419 240 + 799 748 407 + 468 502 386 + 829 329 766 + 432 376 408 + 681 88 198 + 553 351 489 + 234 717 59 + 332 525 675 + 437 691 723 + 441 834 433 + 616 144 274 + 966 911 650 + 254 274 782 + 346 714 856 + 330 696 171 + 394 407 298 + 897 553 867 + 755 503 956 + 253 840 382 + 923 195 262 + 918 735 483 + 55 703 227 + 768 759 225 + 825 238 14 + 7 479 978 + 211 603 957 + 216 866 94 + 112 698 60 + 847 631 307 + 940 164 253 + 406 133 14 + 380 816 425 + 147 873 429 + 698 987 98 + 534 823 691 + 197 690 754 + 979 39 468 + 928 73 531 + 119 66 920 + 982 810 569 + 476 534 397 + 931 366 182 + 783 104 732 + 131 32 619 + 784 136 530 + 16 933 484 + 995 987 739 + 985 88 977 + 43 919 914 + 540 399 915 + 566 859 257 + 639 419 73 + 727 118 865 + 477 370 834 + 293 434 155 + 422 557 603 + 203 243 754 + 373 15 748 + 466 574 807 + 282 576 70 + 275 365 608 + 987 644 648 + 711 629 717 + 420 410 696 + 252 417 874 + 642 26 202 + 223 23 531 + 545 580 675 + 565 600 521 + 130 745 142 + 264 377 397 + 300 618 253 + 683 331 279 + 440 826 275 + 835 785 266 + 592 264 590 + 257 255 173 + 532 23 620 + 571 749 434 + 988 552 492 + 566 766 234 + 617 818 776 + 45 113 882 + 579 793 114 + 971 243 608 + 979 241 241 + 130 83 634 + 91 361 5 + 311 107 501 + 377 388 496 + 727 849 317 + 323 702 256 + 804 254 189 + 70 11 246 + 752 425 785 + 799 413 882 + 917 133 695 + 959 49 902 + 420 121 412 + 177 170 158 + 828 734 135 + 880 875 75 + 824 556 960 + 857 689 960 + 74 951 2 + 246 687 756 + 311 93 487 + 209 626 886 + 17 545 566 + 963 252 283 + 947 493 805 + 185 493 462 + 728 365 885 + 808 214 528 + 582 780 100 + 30 254 654 + 596 706 553 + 713 968 803 + 123 270 839 + 792 778 475 + 442 95 682 + 931 212 678 + 781 140 439 + 651 645 978 + 137 829 286 + 593 503 895 + 642 215 144 + 687 122 934 + 84 240 919 + 656 515 774 + 51 799 273 + 636 324 924 + 213 161 309 + 509 157 458 + 582 1 727 + 716 269 819 + 978 343 303 + 828 264 708 + 108 620 190 + 12 12 634 + 103 615 579 + 364 286 660 + 809 714 656 + 729 504 10 + 994 366 341 + 433 796 77 + 663 462 353 + 776 687 758 + 751 495 651 + 33 751 753 + 349 919 228 + 204 799 584 + 335 156 563 + 725 191 535 + 731 676 524 + 455 571 10 + 899 379 689 + 773 641 812 + 324 761 421 + 354 557 897 + 571 740 161 + 407 271 856 + 886 393 428 + 286 870 218 + 950 819 347 + 331 847 858 + 498 471 689 + 357 378 775 + 890 503 514 + 201 863 428 + 721 737 796 + 636 178 974 + 14 387 936 + 622 424 144 + 82 201 727 + 127 164 779 + 173 319 326 + 195 748 641 + 469 512 510 + 626 949 405 + 552 542 251 + 192 204 382 + 655 558 631 + 970 519 3 + 918 701 399 + 56 543 403 + 524 848 641 + 620 431 539 + 604 473 824 + 369 105 464 + 575 957 429 + 859 978 199 + 712 381 199 + 941 305 738 + 892 663 937 + 653 963 365 + 70 331 508 + 620 923 682 + 739 122 350 + 288 418 768 + 733 326 520 + 694 472 793 + 725 415 739 + 895 398 201 + 500 157 168 + 727 814 354 + 807 726 340 + 431 329 212 + 635 374 403 + 677 78 347 + 386 559 505 + 385 361 161 + 262 494 621 + 481 237 767 + 318 966 640 + 723 732 546 + 911 652 823 + 958 502 677 + 718 258 834 + 98 666 506 + 929 41 933 + 869 637 605 + 585 156 335 + 490 316 149 + 436 339 323 + 596 948 224 + 275 433 241 + 545 890 155 + 601 413 676 + 893 401 673 + 694 171 403 + 211 110 482 + 267 61 541 + 206 124 256 + 189 353 308 + 351 880 70 + 237 677 380 + 759 754 388 + 465 99 862 + 852 787 925 + 758 890 804 + 252 817 784 + 773 129 860 + 954 102 872 + 743 396 730 + 500 304 173 + 492 399 527 + 413 465 813 + 670 837 933 + 897 424 430 + 782 404 14 + 151 24 418 + 897 260 306 + 811 287 386 + 440 93 449 + 229 185 582 + 136 63 678 + 211 250 940 + 184 400 209 + 122 383 238 + 143 386 111 + 320 194 415 + 925 790 501 + 924 596 614 + 606 733 277 + 886 116 194 + 278 627 189 + 225 536 981 + 487 538 584 + 539 2 793 + 219 456 57 + 341 424 941 + 199 482 921 + 231 241 588 + 711 740 334 + 596 554 323 + 917 164 629 + 19 138 756 + 939 70 225 + 536 432 401 + 137 614 14 + 593 818 402 + 871 280 515 + 268 259 326 + 900 97 376 + 68 699 461 + 546 810 400 + 540 697 676 + 591 125 751 + 159 719 919 + 605 763 898 + 171 845 459 + 115 289 376 + 265 636 317 + 646 225 84 + 663 755 89 + 192 828 12 + 316 523 822 + 310 933 784 + 44 721 873 + 893 873 461 + 898 15 548 + 96 861 726 + 9 837 398 + 238 404 29 + 227 845 428 + 770 764 472 + 960 747 784 + 990 281 811 + 59 597 111 + 930 799 729 + 930 882 758 + 459 961 116 + 484 83 914 + 83 969 994 + 828 423 132 + 346 541 246 + 783 484 303 + 983 7 921 + 216 208 905 + 802 216 54 + 6 121 306 + 609 36 749 + 608 84 626 + 97 705 89 + 200 688 878 + 242 314 802 + 294 66 338 + 768 417 272 + 785 351 266 + 58 505 668 + 791 291 679 + 783 694 43 + 794 468 355 + 777 796 171 + 378 784 426 + 224 510 840 + 557 606 708 + 513 127 189 + 231 976 517 + 772 37 433 + 684 973 324 + 70 661 83 + 914 136 702 + 917 630 710 + 826 894 84 + 373 416 248 + 551 924 226 + 357 646 374 + 890 491 246 + 938 293 519 + 66 42 704 + 537 60 374 + 508 56 405 + 437 751 653 + 681 718 160 + 683 293 800 + 569 288 878 + 692 206 611 + 173 157 399 + 201 492 645 + 98 132 329 + 234 612 711 + 296 54 975 + 651 219 923 + 527 177 138 + 585 598 302 + 552 653 474 + 54 288 358 + 828 631 279 + 854 642 746 + 80 52 645 + 386 346 181 + 488 7 569 + 168 351 533 + 906 186 681 + 833 404 191 + 863 297 526 + 451 555 808 + 336 544 155 + 253 211 838 + 759 819 238 + 921 343 761 + 264 632 690 + 165 424 159 + 121 481 361 + 181 409 439 + 94 972 995 + 696 904 722 + 613 238 422 + 190 281 334 + 385 127 129 + 300 364 234 + 479 768 937 + 883 654 35 + 979 679 959 + 244 51 788 + 275 613 804 + 143 575 210 + 160 168 608 + 330 471 651 + 407 594 410 + 723 576 943 + 268 912 361 + 692 442 760 + 443 288 20 + 382 610 556 + 62 694 568 + 322 257 214 + 253 458 861 + 260 213 829 + 37 137 420 + 668 220 104 + 673 150 435 + 551 466 897 + 390 729 999 + 423 963 763 + 837 36 295 + 854 726 495 + 16 728 389 + 735 246 510 + 218 136 617 + 604 197 140 + 113 355 499 + 631 902 488 + 689 898 212 + 780 826 901 + 556 205 657 + 855 661 288 + 141 34 480 + 27 23 194 + 115 53 393 + 333 287 700 + 68 300 671 + 394 589 28 + 572 248 771 + 454 118 797 + 526 141 300 + 785 377 504 + 886 723 105 + 541 712 470 + 156 128 932 + 479 85 989 + 381 207 162 + 813 839 544 + 143 783 541 + 916 361 24 + 878 133 886 + 986 750 335 + 122 643 864 + 395 460 591 + 387 896 627 + 117 455 109 + 2 14 569 + 873 364 215 + 875 350 554 + 70 878 940 + 234 846 82 + 256 279 901 + 693 990 473 + 951 866 824 + 923 408 891 + 36 5 531 + 954 654 266 + 921 652 434 + 561 701 427 + 232 764 365 + 330 331 73 + 46 813 6 + 380 698 297 + 396 221 289 + 135 867 633 + 814 649 286 + 797 918 827 + 705 58 338 + 6 305 310 + 701 352 28 + 903 97 825 + 693 126 794 + 438 144 592 + 367 932 400 + 320 820 264 + 687 210 652 + 682 84 566 + 671 604 816 + 529 646 267 + 795 654 114 + 955 426 118 + 249 759 102 + 343 581 267 + 341 619 107 + 479 57 341 + 683 32 870 + 630 609 210 + 361 643 803 + 506 856 406 + 580 562 359 + 312 433 154 + 750 379 920 + 448 520 312 + 733 259 899 + 33 786 319 + 579 669 90 + 595 769 242 + 160 985 236 + 654 903 946 + 635 99 802 + 75 158 437 + 467 382 289 + 406 542 548 + 684 417 794 + 729 105 122 + 44 485 689 + 737 15 713 + 970 391 17 + 373 384 729 + 336 1 118 + 814 807 759 + 965 808 828 + 179 181 834 + 242 94 838 + 188 183 82 + 691 402 618 + 984 43 561 + 330 447 872 + 553 581 30 + 884 393 836 + 431 298 837 + 278 389 690 + 976 587 803 + 722 220 538 + 548 208 107 + 629 414 729 + 543 584 672 + 512 431 954 + 475 367 959 + 226 306 9 + 824 774 668 + 188 22 870 + 722 764 300 + 647 803 256 + 410 972 21 + 436 536 278 + 995 577 453 + 670 439 224 + 434 488 572 + 82 317 498 + 559 823 662 + 499 614 196 + 944 14 432 + 618 866 652 + 467 872 289 + 471 722 189 + 923 756 17 + 790 409 195 + 511 500 545 + 667 283 758 + 271 373 283 + 573 686 490 + 659 706 560 + 770 247 633 + 424 169 895 + 47 349 411 + 380 235 805 + 384 546 148 + 747 870 831 + 754 421 910 + 937 15 433 + 188 760 806 + 872 748 418 + 718 556 510 + 165 590 486 + 798 40 177 + 349 923 530 + 795 690 746 + 550 671 360 + 824 442 775 + 331 686 152 + 570 270 926 + 860 64 383 + 408 464 170 + 758 440 349 + 773 434 699 + 780 563 352 + 18 644 621 + 432 663 188 + 420 887 956 + 237 586 788 + 319 526 586 + 544 647 115 + 628 235 511 + 666 408 33 + 670 459 697 + 48 189 692 + 837 708 428 + 462 652 632 + 426 106 457 + 730 744 195 + 700 816 769 + 383 480 923 + 601 612 910 + 559 953 779 + 533 937 240 + 464 123 344 + 579 82 76 + 179 188 373 + 1 641 56 + 688 698 50 + 688 160 4 + 790 364 767 + 202 70 137 + 914 420 674 + 961 657 851 + 578 708 875 + 503 94 776 + 221 143 356 + 34 126 403 + 234 31 78 + 721 949 330 + 675 191 460 + 80 957 651 + 690 580 824 + 461 73 802 + 725 606 51 + 183 857 521 + 708 800 482 + 644 111 37 + 769 778 869 + 883 693 909 + 549 714 43 + 273 246 599 + 637 309 675 + 451 195 552 + 681 408 126 + 422 465 52 + 743 235 144 + 248 586 312 + 42 398 313 + 222 335 21 + 528 312 738 + 856 312 132 + 915 79 610 + 550 605 186 + 566 815 698 + 127 250 717 + 532 129 775 + 604 132 549 + 134 44 247 + 521 815 470 + 370 853 515 + 795 187 851 + 963 295 50 + 757 228 169 + 706 303 120 + 416 133 309 + 956 63 11 + 751 162 301 + 387 632 29 + 257 383 994 + 215 247 994 + 529 606 963 + 770 305 756 + 721 791 971 + 558 531 675 + 253 477 918 + 470 52 615 + 256 335 24 + 301 523 651 + 316 702 637 + 321 721 32 + 591 730 179 + 341 364 146 + 673 120 501 + 31 183 207 + 641 116 463 + 221 54 775 + 262 458 669 + 139 486 904 + 736 260 139 + 406 359 663 + 434 563 753 + 981 6 215 + 423 320 358 + 719 319 415 + 315 375 320 + 7 637 423 + 314 365 175 + 199 687 754 + 174 546 1 + 29 526 754 + 153 402 251 + 787 565 919 + 820 239 876 + 994 614 47 + 958 816 288 + 244 750 275 + 248 890 694 + 628 194 414 + 774 958 466 + 181 34 442 + 569 371 939 + 500 347 740 + 745 123 467 + 614 662 119 + 201 690 352 + 596 974 215 + 508 921 240 + 405 947 317 + 402 372 733 + 298 41 357 + 135 339 759 + 544 683 690 + 584 1 893 + 215 680 501 + 191 453 649 + 952 84 727 + 815 494 293 + 163 168 46 + 136 119 441 + 185 112 474 + 877 830 354 + 497 242 226 + 484 714 178 + 854 570 402 + 873 120 432 + 30 613 50 + 365 529 624 + 969 332 586 + 636 617 153 + 588 669 314 + 12 52 628 + 584 704 642 + 95 199 69 + 979 486 705 + 953 391 698 + 698 471 333 + 302 466 64 + 678 19 376 + 353 860 905 + 236 113 797 + 400 879 962 + 341 805 493 + 661 506 196 + 736 357 644 + 943 352 365 + 484 756 282 + 491 943 262 + 765 494 729 + 321 208 986 + 621 346 290 + 258 706 386 + 179 452 276 + 433 583 153 + 708 2 212 + 193 151 320 + 647 149 299 + 335 951 831 + 661 787 792 + 818 742 477 + 799 964 157 + 726 780 172 + 740 225 24 + 428 39 263 + 388 901 506 + 97 940 413 + 41 454 826 + 324 453 443 + 346 76 938 + 463 595 751 + 854 948 454 + 451 902 507 + 722 961 130 + 695 529 425 + 59 591 467 + 559 623 222 + 991 194 196 + 749 793 245 + 474 327 247 + 346 2 277 + 643 328 135 + 785 264 751 + 35 537 887 + 811 584 685 + 475 903 748 + 471 115 698 + 7 945 449 + 464 880 227 + 287 868 878 + 564 11 850 + 221 623 475 + 314 325 553 + 209 865 621 + 39 655 236 + 95 296 235 + 124 920 21 + 439 473 902 + 334 375 792 + 315 116 768 + 267 736 95 + 703 606 595 + 505 886 514 + 114 168 52 + 301 584 495 + 200 709 527 + 164 422 554 + 246 546 460 + 377 141 223 + 286 323 354 + 810 240 90 + 920 450 425 + 277 8 570 + 28 649 50 + 295 650 534 + 690 187 665 + 674 184 483 + 68 139 376 + 570 430 500 + 590 422 543 + 304 68 43 + 422 666 163 + 501 375 696 + 81 621 813 + 19 981 945 + 410 83 941 + 427 945 25 + 283 408 825 + 281 648 635 + 294 678 615 + 113 936 500 + 554 772 314 + 502 642 624 + 262 318 699 + 88 526 817 + 242 468 161 + 820 179 253 + 580 62 531 + 343 183 422 + 430 161 485 + 26 127 435 + 442 32 517 + 491 243 544 + 552 680 310 + 131 489 457 + 697 162 526 + 897 838 305 + 695 748 335 + 753 936 24 + 46 681 637 + 745 808 617 + 318 251 171 + 49 39 855 + 359 284 725 + 221 837 145 + 581 821 444 + 573 267 318 + 706 969 583 + 722 912 586 + 680 86 869 + 833 546 97 + 865 507 481 + 938 104 386 + 941 217 265 + 360 53 607 + 634 197 476 + 787 659 444 + 368 163 783 + 493 738 345 + 182 539 52 + 764 827 612 + 699 493 663 + 914 384 17 + 495 546 260 + 739 461 275 + 386 91 394 + 804 506 198 + 780 421 269 + 109 669 193 + 457 298 349 + 560 800 331 + 282 153 637 + 160 254 807 + 434 204 476 + 717 759 737 + 629 785 65 + 347 614 790 + 270 663 647 + 188 271 528 + 277 929 591 + 853 744 589 + 704 881 761 + 573 714 627 + 541 689 287 + 540 301 187 + 670 397 368 + 867 8 698 + 869 146 802 + 10 137 104 + 164 575 450 + 507 233 466 + 548 425 46 + 435 824 78 + 334 951 34 + 646 551 99 + 60 829 569 + 501 866 382 + 440 327 222 + 744 132 333 + 800 983 126 + 887 866 451 + 28 599 39 + 833 129 307 + 804 519 319 + 510 746 821 + 639 209 561 + 197 649 333 + 638 644 361 + 754 474 366 + 193 219 106 + 843 536 331 + 483 634 611 + 367 195 592 + 753 71 115 + 934 42 83 + 337 75 85 + 475 304 169 + 672 143 211 + 360 406 74 + 370 119 111 + 351 955 696 + 543 849 785 + 375 576 836 + 288 316 239 + 512 273 786 + 721 407 82 + 998 634 292 + 449 399 284 + 540 316 693 + 430 68 984 + 146 376 482 + 785 134 643 + 157 509 441 + 808 615 552 + 920 564 452 + 407 341 441 + 990 778 211 + 822 325 925 + 368 206 876 + 491 153 126 + 11 373 546 + 854 752 143 + 843 773 660 + 777 472 964 + 359 708 889 + 575 941 882 + 945 22 152 + 968 237 115 + 30 238 110 + 101 504 412 + 119 646 719 + 28 190 336 + 890 301 712 + 11 657 782 + 885 465 361 + 424 669 645 + 528 654 194 + 894 252 667 + 516 299 998 + 370 837 976 + 305 651 194 + 701 447 175 + 470 234 929 + 752 606 965 + 568 370 322 + 226 592 281 + 553 801 330 + 576 228 623 + 639 477 637 + 252 664 998 + 781 215 994 + 446 698 25 + 562 500 980 + 702 444 299 + 971 550 387 + 754 562 439 + 347 896 716 + 242 861 596 + 588 829 323 + 464 211 949 + 481 192 47 + 598 98 963 + 932 960 32 + 933 482 893 + 15 989 888 + 866 735 629 + 636 513 470 + 280 528 944 + 531 66 867 + 284 735 865 + 778 743 3 + 458 131 262 + 772 273 255 + 942 278 50 + 269 151 917 + 502 4 883 + 538 155 68 + 929 850 21 + 126 759 729 + 869 689 711 + 180 359 855 + 299 68 975 + 210 371 205 + 477 183 827 + 922 50 841 + 665 154 312 + 379 848 486 + 450 835 743 + 69 161 515 + 680 535 83 + 692 779 352 + 818 554 389 + 781 89 538 + 746 218 209 + 292 201 652 + 417 375 393 + 916 962 644 + 518 923 561 + 915 469 386 + 142 460 454 + 947 392 89 + 144 840 866 + 205 465 967 + 209 657 650 + 891 322 207 + 800 522 907 + 516 498 994 + 185 806 804 + 179 393 137 + 316 765 892 + 850 756 123 + 494 783 627 + 832 53 659 + 93 949 602 + 666 954 516 + 592 11 210 + 223 4 389 + 221 280 388 + 100 279 50 + 380 589 345 + 385 238 382 + 205 506 359 + 98 280 652 + 396 371 290 + 314 477 454 + 368 692 564 + 48 263 586 + 356 902 922 \ No newline at end of file diff --git a/data/advent04.txt b/data/advent04.txt new file mode 100644 index 0000000..8f99f7a --- /dev/null +++ b/data/advent04.txt @@ -0,0 +1,991 @@ +aczupnetwp-dnlgpyrpc-sfye-dstaatyr-561[patyc] +jsehsyafy-vqw-ljsafafy-866[nymla] +tyepcyletzylw-ncjzrpytn-prr-opawzjxpye-743[cnrdl] +foadouwbu-qvcqczohs-obozmgwg-662[lamjh] +ckgvutofkj-pkrrehkgt-zkinturume-436[krtue] +pelbtravp-pnaql-ernpdhvfvgvba-481[szram] +yflexwxoalrp-ciltbo-tlohpelm-887[bmwep] +ipvohghykvbz-ihzrla-jbzavtly-zlycpjl-253[lzhvy] +cybyjqho-whqtu-rqiauj-fkhsxqiydw-322[syzwi] +tipfxvezt-sleep-tljkfdvi-jvimztv-425[tveif] +ktiaaqnqml-xtiabqk-oziaa-xczkpiaqvo-616[aiqko] +ckgvutofkj-xghhoz-gtgreyoy-306[nyhpz] +molgbzqfib-zovldbkfz-zxkav-lmboxqflkp-341[xlomg] +ikhcxvmbex-vtgwr-vhtmbgz-mxvaghehzr-111[hvgmx] +dpssptjwf-fhh-tfswjdft-805[fstdh] +oaddaeuhq-otaoaxmfq-qzsuzqqduzs-534[qadou] +dzczkrip-xiruv-sleep-drerxvdvek-685[erdvi] +jvsvymbs-yhiipa-vwlyhapvuz-149[zfyqn] +nsyjwsfyntsfq-gfxpjy-jslnsjjwnsl-853[sjnfy] +mbiyqoxsm-lsyrkjkbnyec-nio-wkbuodsxq-614[bkosy] +jchipqat-uadltg-hidgpvt-375[kcnop] +jqwpihizlwca-lgm-nqvivkqvo-980[ldeay] +xfbqpojafe-dipdpmbuf-tfswjdft-493[fdpbj] +kwvacumz-ozilm-kpwkwtibm-lmxtwgumvb-798[mwkbi] +eqttqukxg-ejqeqncvg-ocpcigogpv-648[sdtzl] +dsxxw-bwc-bcnjmwkclr-678[cwbxd] +jvuzbtly-nyhkl-ibuuf-thuhnltlua-175[ulhtb] +rdadguja-uadltg-bpgztixcv-401[adgtu] +atyzghrk-kmm-ktmotkkxotm-930[xzfpe] +uwtojhynqj-ojqqdgjfs-xjwanhjx-151[waqmk] +hwdtljsnh-uqfxynh-lwfxx-rfsfljrjsy-567[fhjls] +xst-wigvix-gspsvjyp-gerhc-erepcwmw-724[uplfw] +kzgwomvqk-jcvvg-zmamizkp-122[kmvzg] +sbejpbdujwf-dboez-dpbujoh-dvtupnfs-tfswjdf-623[uxrpz] +bxaxipgn-vgpst-rwdrdapit-prfjxhxixdc-609[xpdir] +avw-zljyla-zjhclunly-obua-ayhpupun-981[aluyh] +nuatmlmdpage-qss-fdmuzuzs-404[btopv] +oaddaeuhq-otaoaxmfq-dqoquhuzs-716[aoqdu] +myvybpev-cmkfoxqob-rexd-bomosfsxq-432[khwfc] +oxaflxzqfsb-zelzlixqb-jxohbqfkd-471[hxkwc] +fnjyxwrinm-snuuhknjw-anbnjalq-875[ztvnr] +qfmcusbwq-pibbm-fsqswjwbu-922[bqswf] +wihmogyl-aluxy-jfumncw-alumm-nluchcha-916[lmuac] +oxaflxzqfsb-avb-bkdfkbbofkd-757[trzjy] +ksodcbwnsr-qzoggwtwsr-gqojsbusf-vibh-fsgsofqv-818[gsdca] +rzvkjiduzy-xcjxjgvoz-gvwjmvojmt-161[zufvq] +nwlddtqtpo-mldvpe-dezclrp-639[zlnki] +vkppo-rqiauj-huqsgkyiyjyed-530[yijkp] +dfcxsqhwzs-qobrm-qcohwbu-fsoqeiwgwhwcb-688[wqbch] +vxupkizork-xghhoz-aykx-zkyzotm-462[kzoxh] +zotts-jfumncw-alumm-omyl-nymncha-396[bstha] +yaxsnlcrun-npp-cajrwrwp-355[nprac] +bkwzkqsxq-pvygob-nozkbdwoxd-822[bkodq] +frqvxphu-judgh-fdqgb-frdwlqj-hqjlqhhulqj-595[ezyxq] +hqtyeqsjylu-sqdto-sedjqydcudj-764[dqjsy] +fab-eqodqf-omzpk-fdmuzuzs-430[yxkbc] +gpewwmjmih-glsgspexi-xvemrmrk-204[cynzd] +kwtwznct-jcvvg-wxmzibqwva-694[cdaps] +guahyncw-wuhxs-zchuhwcha-396[xwnmj] +pybgmyargtc-zsllw-dglylagle-912[mcrsp] +kyelcrga-zyqicr-jyzmpyrmpw-782[yrcmp] +wsvsdkbi-qbkno-zvkcdsm-qbkcc-myxdksxwoxd-432[kdsbc] +ltpedcxots-rwdrdapit-advxhixrh-271[drtxa] +elrkdcdugrxv-sodvwlf-judvv-vklsslqj-465[vdlsj] +htwwtxnaj-hfsid-htfynsl-ywfnsnsl-281[ghfea] +nij-mywlyn-xsy-xymcah-682[kiasm] +zovldbkfz-yrkkv-abmilvjbkq-939[chetn] +esyfwlau-kusnwfywj-zmfl-ghwjslagfk-398[fwlsa] +lahxpnwrl-yujbcrl-pajbb-mnyuxhvnwc-147[tzcxk] +rwcnawjcrxwju-lqxlxujcn-lxwcjrwvnwc-381[hxsdl] +pbybeshy-pynffvsvrq-wryylorna-jbexfubc-143[ybfre] +lxaaxbren-kdwwh-bqryyrwp-407[sktqh] +pybgmyargtc-zyqicr-rpyglgle-106[vsdft] +jfifqxov-doxab-yxphbq-obxznrfpfqflk-939[nyvhm] +pualyuhapvuhs-jovjvshal-thuhnltlua-383[lrfob] +gvcskirmg-tpewxmg-kveww-pskmwxmgw-438[ujily] +lgh-kwujwl-tmffq-esfsywewfl-242[fwles] +jyddc-fewoix-hitevxqirx-412[ixdec] +uzfqdzmfuazmx-otaoaxmfq-ogefayqd-eqdhuoq-222[lbfru] +ryexqpqhteki-sxesebqju-tufbeocudj-348[tjzhb] +kfg-jvtivk-sleep-wzeretzex-477[ektvz] +kzgwomvqk-jcvvg-bmkpvwtwog-174[vgkwm] +odiih-kdwwh-uxprbcrlb-251[bdhir] +htqtwkzq-xhfajsljw-mzsy-yjhmstqtld-229[thjqs] +qjopwxha-xwogap-owhao-914[astye] +wrs-vhfuhw-edvnhw-hqjlqhhulqj-439[vufmz] +rdggdhxkt-xcitgcpixdcpa-rpcsn-rdpixcv-stktadebtci-609[cdtip] +eqttqukxg-fag-eqpvckpogpv-544[jmtpx] +kdijqrbu-sqdto-seqjydw-iuhlysui-946[bioht] +fydelmwp-awldetn-rcldd-cplnbftdtetzy-951[kpxim] +ubhatstkwhnl-unggr-nlxk-mxlmbgz-761[geyqm] +ocipgvke-gii-fgxgnqrogpv-726[giopv] +fab-eqodqf-otaoaxmfq-iadwetab-430[azmnb] +fab-eqodqf-otaoaxmfq-pqhqxabyqzf-456[qafob] +xekdwvwnzkqo-zua-naoawnyd-784[anwdk] +sbejpbdujwf-fhh-tbmft-285[mbfsn] +hwbba-eqpuwogt-itcfg-rncuvke-itcuu-ugtxkegu-648[ugtce] +hqcfqwydw-fbqijys-whqii-cqdqwucudj-452[ztesw] +dmpuamofuhq-nmewqf-emxqe-742[meqfu] +iqmbazulqp-pkq-iadwetab-976[kcxmz] +lahxpnwrl-ljwmh-lxjcrwp-bnaerlnb-927[lnrwa] +laffe-lruckx-vaxingyotm-306[aflxc] +forwcoqhwjs-qcffcgwjs-tzcksf-rsdzcmasbh-220[csfwh] +yflexwxoalrp-gbiivybxk-abpfdk-731[sjtrd] +foadouwbu-ibghopzs-pogysh-kcfygvcd-506[ogbcd] +rtqlgevkng-hnqygt-ugtxkegu-232[zdgob] +yrwxefpi-fyrrc-asvowlst-880[jmzfi] +tyepcyletzylw-nlyoj-nzletyr-fdpc-epdetyr-795[jfvnq] +rkpqxyib-yxphbq-lmboxqflkp-627[vzmla] +xjinphzm-bmvyz-hvbizodx-ytz-gjbdnodxn-967[jmuws] +ktfitzbgz-vtgwr-inkvatlbgz-813[tgzbi] +hqtyeqsjylu-sbqiiyvyut-fbqijys-whqii-vydqdsydw-634[yqisd] +hcd-gsqfsh-dzoghwq-ufogg-qcbhowbasbh-506[hgboq] +ryexqpqhteki-uww-qdqboiyi-140[qiewy] +bkzrrhehdc-qzaahs-cdoknxldms-625[czsmn] +sawlkjevaz-lhwopey-cnwoo-yqopkian-oanreya-966[znhlt] +xjgjmapg-hdgdovmt-bmvyz-zbb-yzkgjthzio-577[gzbjm] +myxcewob-qbkno-lexxi-wkbuodsxq-250[xboek] +nsyjwsfyntsfq-hfsid-htfynsl-wjfhvznxnynts-255[umtns] +kpvgtpcvkqpcn-ecpfa-ewuvqogt-ugtxkeg-596[ehsca] +vkrhzxgbv-cxeeruxtg-ftgtzxfxgm-579[ymast] +pbeebfvir-fpniratre-uhag-genvavat-663[smznt] +vehmsegxmzi-glsgspexi-hitpscqirx-802[jszht] +tyepcyletzylw-nlyoj-nzletyr-cpdplcns-223[lycen] +jxdkbqfz-oxaflxzqfsb-avb-lmboxqflkp-523[mzvny] +tcfkqcevkxg-tcddkv-uvqtcig-336[cdsln] +ide-htrgti-hrpktcvtg-wjci-ldgzhwde-947[tdghi] +ojk-nzxmzo-kgvnodx-bmvnn-ozxcijgjbt-213[nojxz] +avw-zljyla-msvdly-yljlpcpun-539[lyajp] +rdchjbtg-vgpst-rpcsn-rdpixcv-htgkxrth-661[rtcgh] +xlrypetn-dnlgpyrpc-sfye-dezclrp-353[pelry] +enqvbnpgvir-enoovg-erfrnepu-455[ftlpj] +xjinphzm-bmvyz-xviyt-xjvodib-pnzm-oznodib-291[mlybz] +rwcnawjcrxwju-kjbtnc-bqryyrwp-511[tkyns] +gokzyxsjon-pvygob-nofovyzwoxd-458[ndtfs] +bjfutsneji-hfsid-htfynsl-rfwpjynsl-489[fsjnh] +ydjuhdqjyedqb-rqiauj-qdqboiyi-452[qdijy] +enzcntvat-rtt-genvavat-351[lznyt] +rdadguja-qjccn-advxhixrh-791[yncim] +fmsledevhsyw-ikk-irkmriivmrk-646[nlxzm] +jfifqxov-doxab-mixpqfz-doxpp-obpbxoze-471[oxpbf] +jqwpihizlwca-zijjqb-aitma-408[gzpmw] +pyknyegle-afmamjyrc-bcqgel-808[gynip] +zbytomdsvo-mkxni-bocokbmr-406[obmkc] +wfummczcyx-luvvcn-fuvilunils-526[bavmt] +hwdtljsnh-gfxpjy-rfsfljrjsy-541[gpszy] +lsyrkjkbnyec-oqq-gybucryz-848[ybckq] +oaddaeuhq-vqxxknqmz-xasuefuoe-378[rzmqe] +vhglnfxk-zktwx-fbebmtkr-zktwx-wrx-vhgmtbgfxgm-813[xepwt] +yrwxefpi-gerhc-hitevxqirx-594[eirxh] +mvydjvxodqz-xviyt-xjvodib-rjmfncjk-265[cqirj] +kdijqrbu-tou-kiuh-juijydw-140[uijdk] +ugjjgkanw-usfvq-vwkayf-970[rntsw] +froruixo-fdqgb-ilqdqflqj-569[cylni] +gpsxdprixkt-hrpktcvtg-wjci-gtprfjxhxixdc-999[xptcg] +kwvacumz-ozilm-akidmvomz-pcvb-nqvivkqvo-460[emnrk] +pejji-zvkcdsm-qbkcc-domrxyvyqi-484[cdijk] +rdadguja-xcitgcpixdcpa-qphzti-bpgztixcv-791[cipad] +rkpqxyib-zxkav-zlxqfkd-qoxfkfkd-965[qiftn] +bkzrrhehdc-bnmrtldq-fqzcd-atmmx-qdrdzqbg-937[dqrbm] +eqttqukxg-rtqlgevkng-dwppa-fgxgnqrogpv-570[gxetc] +zbytomdsvo-mkxni-myxdksxwoxd-510[xdmok] +ymszqfuo-rxaiqd-dqmocgueufuaz-274[umtwy] +pelbtravp-ovbunmneqbhf-qlr-znantrzrag-663[xlyio] +rdadguja-ytaanqtpc-gtprfjxhxixdc-141[krcaf] +etaqigpke-hnqygt-eqpvckpogpv-362[pegqk] +rtqlgevkng-etaqigpke-ecpfa-eqcvkpi-ewuvqogt-ugtxkeg-206[gxszf] +fubrjhqlf-fkrfrodwh-sxufkdvlqj-777[pozts] +wfintfhynaj-wfggny-xjwanhjx-957[nfjwa] +xcitgcpixdcpa-bpvctixr-qphzti-gthtpgrw-479[zjlmc] +gntmfefwitzx-hfsid-fsfqdxnx-697[oanif] +xgjougizobk-jek-jkvgxzsktz-384[kgjzo] +nzydfxpc-rclop-mldvpe-cpdplcns-925[pcdln] +ltpedcxots-qphzti-gtrtxkxcv-739[txcpd] +gvaaz-fhh-mphjtujdt-233[hajtd] +jchipqat-rpcsn-gtprfjxhxixdc-297[cpxhi] +gsvvswmzi-gerhc-tyvglewmrk-308[zbdcy] +dmybmsuzs-omzpk-oamfuzs-pqhqxabyqzf-508[mzqsa] +iruzfrtkzmv-treup-tfrkzex-jkfirxv-295[rfktz] +pdjqhwlf-mhoobehdq-vwrudjh-127[hdjoq] +rgndvtcxr-hrpktcvtg-wjci-apqdgpidgn-375[jdrhb] +sbqiiyvyut-isqludwuh-xkdj-efuhqjyedi-114[qjzpn] +lahxpnwrl-npp-nwprwnnarwp-459[ontmq] +zntargvp-onfxrg-fnyrf-871[fnrga] +molgbzqfib-avb-absbilmjbkq-601[bailm] +kpvgtpcvkqpcn-tcddkv-wugt-vguvkpi-492[vkpcg] +jfifqxov-doxab-zxkav-zlkqxfkjbkq-341[kxfqa] +qfmcusbwq-dzoghwq-ufogg-fsqswjwbu-220[zbjty] +xjinphzm-bmvyz-mvwwdo-yzkgjthzio-785[zmhij] +ejpanjwpekjwh-ydkykhwpa-owhao-186[hqlfd] +nzydfxpc-rclop-prr-cplnbftdtetzy-483[pcrtd] +kwtwznct-rmttgjmiv-amzdqkma-590[mtakw] +muqfedyput-fbqijys-whqii-iqbui-790[gjxky] +egdytrixat-rgndvtcxr-rpcsn-jhtg-ithixcv-115[trcgi] +fab-eqodqf-rxaiqd-mzmxkeue-404[eqadf] +zotts-xsy-guleyncha-708[ymnbi] +mbiyqoxsm-pvygob-gybucryz-536[zbyxv] +dmybmsuzs-bxmefuo-sdmee-pqhqxabyqzf-716[mbeqs] +qspkfdujmf-ezf-fohjoffsjoh-519[fjohs] +nwlddtqtpo-prr-xlcvpetyr-249[owkmz] +amlqskcp-epybc-aylbw-amyrgle-bctcjmnkclr-808[clabm] +qspkfdujmf-qmbtujd-hsbtt-eftjho-727[tigys] +pualyuhapvuhs-thnulapj-msvdly-ylzlhyjo-877[lhuya] +diozmivodjivg-zbb-nzmqdxzn-629[zdibm] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-qerekiqirx-126[erixk] +qlm-pbzobq-zxkav-zlxqfkd-zrpqljbo-pbosfzb-575[phqza] +irgyyolokj-lruckx-aykx-zkyzotm-904[ubkvy] +cebwrpgvyr-pnaql-pbngvat-bcrengvbaf-793[bagnp] +wlsiayhcw-wifilzof-wuhxs-mylpcwym-630[wilyc] +nglmtuex-ktuubm-nlxk-mxlmbgz-215[egtsz] +sbejpbdujwf-dboez-nbobhfnfou-883[jpkmo] +qzoggwtwsr-qobrm-gsfjwqsg-480[xkwvm] +nwzekwypera-oywrajcan-dqjp-wymqeoepekj-472[zeydw] +sawlkjevaz-ywjzu-yqopkian-oanreya-836[ayejk] +pybgmyargtc-afmamjyrc-rpyglgle-470[zgmsu] +nzwzcqfw-qwzhpc-cplnbftdtetzy-977[zctwf] +lhkhszqx-fqzcd-okzrshb-fqzrr-cdudknoldms-651[defrs] +ugfkmewj-yjsvw-owshgfarwv-tskcwl-wfyafwwjafy-294[wfajs] +gpbepvxcv-gpqqxi-stktadebtci-609[npyad] +pxtihgbsxw-vahvhetmx-hixktmbhgl-397[pvcfe] +guahyncw-vohhs-fiacmncwm-656[chamn] +wfruflnsl-uqfxynh-lwfxx-wjfhvznxnynts-463[fnxlw] +lzfmdshb-cxd-dmfhmddqhmf-703[dmfhb] +gzefmnxq-eomhqzsqd-tgzf-oazfmuzyqzf-118[zfqme] +udskkaxawv-usfvq-ugslafy-hmjuzskafy-658[asufk] +ugjjgkanw-vqw-ksdwk-112[kwgja] +enqvbnpgvir-cynfgvp-tenff-fuvccvat-975[vfnce] +fydelmwp-ojp-nfdezxpc-dpcgtnp-353[gziom] +fmsledevhsyw-gpewwmjmih-glsgspexi-tyvglewmrk-178[egmsw] +shmml-enoovg-freivprf-585[efmor] +bnqqnrhud-atmmx-qdrdzqbg-651[qdbmn] +pxtihgbsxw-vahvhetmx-nlxk-mxlmbgz-943[xhmbg] +xfbqpojafe-dipdpmbuf-tbmft-441[wuizc] +zsxyfgqj-uqfxynh-lwfxx-ijxnls-749[futrq] +oaddaeuhq-nmewqf-dqmocgueufuaz-508[mwlcv] +buzahisl-zjhclunly-obua-zavyhnl-201[kzylj] +yhwooebeaz-iwcjapey-oywrajcan-dqjp-zaoecj-524[aejoc] +bwx-amkzmb-qvbmzvibqwvit-lgm-zmikycqaqbqwv-772[dubva] +oxmeeuruqp-ngzzk-fqotzaxask-638[zaeko] +xfbqpojafe-qmbtujd-hsbtt-efwfmpqnfou-363[fbqte] +iehepwnu-cnwza-xqjju-nayaerejc-472[eajnc] +ytu-xjhwjy-jll-ijxnls-385[moyjn] +nvrgfezqvu-treup-tfrkzex-wzeretzex-997[fpvnt] +kwvacumz-ozilm-moo-camz-bmabqvo-434[sanvt] +lxaaxbren-ouxfna-bjunb-277[abnxu] +gpsxdprixkt-uadltg-tcvxcttgxcv-453[txcgd] +owshgfarwv-jsttal-hmjuzskafy-658[asfhj] +pbafhzre-tenqr-qlr-ynobengbel-403[ebnrl] +yaxsnlcrun-mhn-jlzdrbrcrxw-121[wngsc] +bgmxkgtmbhgte-vtgwr-vhtmbgz-tgterlbl-995[gtbme] +nvrgfezqvu-avccpsvre-tljkfdvi-jvimztv-269[vcefi] +apwmeclga-pyzzgr-dglylagle-158[auvsi] +qczcftiz-pogysh-rsgwub-350[kcdvs] +qlm-pbzobq-gbiivybxk-abpfdk-211[bikpq] +crwwv-rkpqxyib-yrkkv-cfkxkzfkd-419[krcfv] +sbnqbhjoh-cbtlfu-tupsbhf-285[bhfst] +qlm-pbzobq-avb-bkdfkbbofkd-159[golnc] +nchhg-jiasmb-lmaqov-902[dpmcw] +tagzsrsjvgmk-jsttal-umklgewj-kwjnauw-944[fsqml] +rkpqxyib-yxphbq-jxkxdbjbkq-601[npbtf] +ujqgywfau-tmffq-hmjuzskafy-736[zmnlk] +ujqgywfau-hdsklau-yjskk-umklgewj-kwjnauw-190[kujwa] +uqtqbizg-ozilm-jcvvg-lmxizbumvb-850[mhanw] +yhtwhnpun-ihzrla-klclsvwtlua-591[lkqzn] +sbqiiyvyut-sqdto-seqjydw-sedjqydcudj-738[warvn] +bwx-amkzmb-uqtqbizg-ozilm-moo-kwvbiqvumvb-746[wystg] +tipfxvezt-vxx-cfxzjkztj-555[xtzfj] +cjpibabsepvt-cvooz-sftfbsdi-571[myqsb] +ymszqfuo-fab-eqodqf-pkq-xmnadmfadk-274[tkbds] +wlqqp-treup-tfrkzex-jkfirxv-581[refkp] +lnkfaypeha-fahhuxawj-wjwhuoeo-550[ahwef] +lsyrkjkbnyec-oqq-ckvoc-874[azsyv] +gvcskirmg-fewoix-wlmttmrk-360[mgikr] +irdgrxzex-tipfxvezt-treup-tfrkzex-cfxzjkztj-607[txzer] +avw-zljyla-zjhclunly-obua-yljlpcpun-617[lajuy] +nwzekwypera-lhwopey-cnwoo-hkceopeyo-134[zulqp] +vkppo-sqdto-seqjydw-jhqydydw-114[dqyjo] +zixppfcfba-zxkav-zlkqxfkjbkq-679[txhzn] +sbnqbhjoh-dboez-sftfbsdi-623[bsdfh] +qjopwxha-bhksan-zalhkuiajp-316[ahjkp] +yhtwhnpun-thnulapj-ibuuf-klzpnu-773[unhpl] +uwtojhynqj-kqtbjw-wjfhvznxnynts-827[ntyqj] +jef-iushuj-rkddo-ijehqwu-504[biekf] +gspsvjyp-tpewxmg-kveww-gywxsqiv-wivzmgi-672[sryce] +rgllk-eomhqzsqd-tgzf-etubbuzs-118[zbegl] +shmml-pubpbyngr-ynobengbel-403[bnegl] +gsrwyqiv-kvehi-fewoix-wivzmgiw-256[rimyz] +iuxxuyobk-yigbktmkx-natz-xkykgxin-852[kxiyb] +excdklvo-oqq-vklybkdybi-744[utifh] +ojk-nzxmzo-agjrzm-xpnojhzm-nzmqdxz-915[zmjno] +qspkfdujmf-sbccju-eftjho-103[byjhc] +fodvvlilhg-mhoobehdq-whfkqrorjb-699[taskb] +aflwjfslagfsd-usfvq-ogjckzgh-814[emsnh] +sebehvkb-uww-tulubefcudj-712[ubewc] +egdytrixat-gpbepvxcv-hrpktcvtg-wjci-hidgpvt-531[vzdcg] +nsyjwsfyntsfq-zsxyfgqj-gzssd-wjxjfwhm-749[sgmhv] +ktfitzbgz-yehpxk-kxvxbobgz-761[ryzea] +tcrjjzwzvu-irsszk-rthlzjzkzfe-503[ocepg] +dfcxsqhwzs-pibbm-sbuwbssfwbu-558[tocys] +nwzekwypera-bhksan-odellejc-758[eakln] +qfmcusbwq-qobrm-qcohwbu-fsoqeiwgwhwcb-402[cpzsy] +cvabijtm-zijjqb-uizsmbqvo-434[btzma] +irdgrxzex-srjbvk-glityrjzex-867[rxegi] +rdadguja-tvv-gtrtxkxcv-609[tvadg] +wdjcvuvmyjpn-zbb-mznzvmxc-213[ndmaz] +vagreangvbany-sybjre-nanylfvf-507[bryme] +vjpwncrl-mhn-bqryyrwp-979[rnpwy] +jqwpihizlwca-ntwemz-abwziom-642[iyzsa] +jchipqat-rwdrdapit-detgpixdch-921[dipta] +vqr-ugetgv-tcddkv-eqpvckpogpv-440[vgpcd] +ajyqqgdgcb-aylbw-amyrgle-qyjcq-756[qyagb] +fbebmtkr-zktwx-utldxm-nlxk-mxlmbgz-553[onbvf] +hwdtljsnh-kqtbjw-ijajqturjsy-827[jthqs] +sedikcuh-whqtu-sxesebqju-udwyduuhydw-556[rvudf] +ipvohghykvbz-tpspahyf-nyhkl-yhiipa-huhsfzpz-123[hpyiz] +fubrjhqlf-mhoobehdq-oderudwrub-153[bdhor] +mbggf-zjhclunly-obua-dvyrzovw-695[bglou] +houngfgxjuay-igtje-aykx-zkyzotm-176[qcita] +lugjuacha-mwupyhayl-bohn-xyjulngyhn-318[gnftc] +rdggdhxkt-rpcsn-rdpixcv-itrwcdadvn-505[uancd] +yaxsnlcrun-ouxfna-jwjuhbrb-199[xnmwj] +yrwxefpi-tpewxmg-kveww-wlmttmrk-334[rfqkl] +ktwbhtvmbox-unggr-kxtvjnblbmbhg-215[bgthk] +amlqskcp-epybc-bwc-pcyaosgqgrgml-600[cgpab] +ujqgywfau-usfvq-ugslafy-jwuwanafy-606[uafwy] +nwzekwypera-lhwopey-cnwoo-lqnydwoejc-134[xithv] +nwzekwypera-acc-naoawnyd-160[itvch] +luxciuwncpy-ohmnuvfy-yaa-wihnuchgyhn-526[hnuyc] +ygcrqpkbgf-ejqeqncvg-tgegkxkpi-674[gekqc] +mtzslklcozfd-qwzhpc-nfdezxpc-dpcgtnp-223[ucwob] +tinnm-tzcksf-zcuwghwqg-948[nmktj] +rdchjbtg-vgpst-hrpktcvtg-wjci-itrwcdadvn-453[ngtzh] +yrwxefpi-nippcfier-hizipstqirx-932[ipref] +cvabijtm-xtiabqk-oziaa-kcabwumz-amzdqkm-590[mpqzo] +dpmpsgvm-dipdpmbuf-efqmpznfou-259[pmdfu] +ynukcajey-nwxxep-zarahkliajp-238[ytaej] +zbytomdsvo-mkxni-mykdsxq-nocsqx-770[mosxd] +tagzsrsjvgmk-xdgowj-jwuwanafy-814[efhpk] +xqvwdeoh-fdqgb-rshudwlrqv-127[jpkat] +kpvgtpcvkqpcn-fag-qrgtcvkqpu-596[pcgkq] +zlkprjbo-doxab-gbiivybxk-obpbxoze-393[boxik] +zbytomdsvo-mrymyvkdo-domrxyvyqi-744[ymodv] +jvuzbtly-nyhkl-qlssfilhu-klwhyatlua-695[lhuya] +nzydfxpc-rclop-nsznzwlep-xlylrpxpye-145[plnxy] +atyzghrk-xghhoz-rghuxgzuxe-748[ghxzr] +vhglnfxk-zktwx-ietlmbv-zktll-ftkdxmbgz-787[wbspa] +njmjubsz-hsbef-dipdpmbuf-vtfs-uftujoh-623[fubjs] +pyknyegle-aylbw-jmegqrgaq-756[egyal] +bgmxkgtmbhgte-lvtoxgzxk-angm-vhgmtbgfxgm-137[gmtxb] +ydjuhdqjyedqb-vbemuh-jusxdebewo-946[debju] +jxdkbqfz-zxkav-zlxqfkd-mrozexpfkd-263[kxzdf] +nbhofujd-dipdpmbuf-pqfsbujpot-597[pbdfu] +wrs-vhfuhw-fdqgb-vklsslqj-647[sfhlq] +vkrhzxgbv-vtgwr-ehzblmbvl-449[knuzb] +gsrwyqiv-kvehi-fyrrc-pefsvexsvc-750[versc] +hqcfqwydw-vbemuh-ixyffydw-270[fwydh] +vetllbybxw-vkrhzxgbv-lvtoxgzxk-angm-ybgtgvbgz-527[jxrwq] +bkzrrhehdc-eknvdq-cdrhfm-365[dhrce] +cybyjqho-whqtu-rkddo-qsgkyiyjyed-530[ydqhj] +ckgvutofkj-hatte-ynovvotm-332[tovka] +sawlkjevaz-zua-iwngapejc-758[jzwql] +mvhkvbdib-kgvnodx-bmvnn-gjbdnodxn-551[bmkyo] +enzcntvat-fpniratre-uhag-grpuabybtl-689[sqkoh] +bqvvu-acc-oanreyao-108[acovb] +tyepcyletzylw-nlyoj-nzletyr-nfdezxpc-dpcgtnp-275[yelnp] +fbebmtkr-zktwx-lvtoxgzxk-angm-kxlxtkva-839[kxtab] +ojk-nzxmzo-wvnfzo-vivgtndn-707[mlndw] +tpspahyf-nyhkl-qlssfilhu-klwsvftlua-487[iewds] +shoewudys-isqludwuh-xkdj-husuylydw-868[tlyhz] +qzoggwtwsr-qobrm-oqeiwgwhwcb-116[wgoqb] +zlkprjbo-doxab-yxphbq-pxibp-237[ocanz] +iruzfrtkzmv-avccpsvre-vexzevvizex-893[nyktl] +hqtyeqsjylu-hqrryj-tulubefcudj-894[ujqye] +zlkprjbo-doxab-fkqbokxqflkxi-mixpqfz-doxpp-xznrfpfqflk-523[fxkpo] +dpmpsgvm-sbccju-dvtupnfs-tfswjdf-129[neysa] +qcbgiasf-ufors-dzoghwq-ufogg-zopcfohcfm-246[yhmkz] +esyfwlau-ugjjgkanw-usfvq-kzahhafy-242[wnzhb] +mbiyqoxsm-lkcuod-nozkbdwoxd-432[odbkm] +usfvq-ugslafy-vwhdgqewfl-632[fglqs] +gokzyxsjon-zvkcdsm-qbkcc-oxqsxoobsxq-484[xrkfl] +hdgdovmt-bmvyz-wvnfzo-gjbdnodxn-395[bwicg] +sehheiylu-fhezusjybu-rkddo-udwyduuhydw-530[udhye] +glrcplyrgmlyj-aylbw-amyrgle-nspafyqgle-210[dmuny] +aflwjfslagfsd-jsttal-xafsfuafy-138[faslj] +yuxufmdk-sdmpq-iqmbazulqp-otaoaxmfq-pqbxakyqzf-586[qamfp] +jef-iushuj-sxesebqju-ixyffydw-270[iztnj] +zvyvgnel-tenqr-enzcntvat-ohaal-ratvarrevat-793[atven] +yuxufmdk-sdmpq-vqxxknqmz-ogefayqd-eqdhuoq-612[qdmux] +yhtwhnpun-kfl-ylhjxbpzpapvu-357[phlnu] +egdytrixat-qjccn-bpcpvtbtci-557[mtpgc] +wsvsdkbi-qbkno-mkxni-mykdsxq-ecob-docdsxq-120[dksbo] +xtwtelcj-rclop-ojp-dstaatyr-873[omnal] +wifilzof-jfumncw-alumm-xypyfijgyhn-318[evfso] +mvydjvxodqz-agjrzm-hvivbzhzio-655[vzdhi] +jsehsyafy-usfvq-ugslafy-jwuwanafy-840[afsyu] +myxcewob-qbkno-nio-bocokbmr-900[obckm] +ipvohghykvbz-wshzapj-nyhzz-vwlyhapvuz-539[hzvpy] +tbxmlkfwba-pzxsbkdbo-erkq-zrpqljbo-pbosfzb-185[bkopz] +rdadguja-eaphixr-vgphh-itrwcdadvn-869[nfpxs] +lugjuacha-jfumncw-alumm-zchuhwcha-734[uachm] +jsehsyafy-jsttal-jwsuimakalagf-762[mnvlh] +zixppfcfba-yrkkv-absbilmjbkq-393[ihgyz] +bxaxipgn-vgpst-rdchjbtg-vgpst-rpcsn-rdpixcv-hpath-817[pgtch] +rtqlgevkng-ejqeqncvg-hkpcpekpi-154[xpgty] +laffe-hgyqkz-xkikobotm-488[kfoab] +jfifqxov-doxab-zxkav-zlxqfkd-qoxfkfkd-419[ubaro] +myxcewob-qbkno-cmkfoxqob-rexd-zebmrkcsxq-952[boxce] +apuut-wvnfzo-rjmfncjk-447[fjnua] +lejkrscv-tfcfiwlc-avccpsvre-fgvirkzfej-113[cfver] +nglmtuex-cxeeruxtg-kxvxbobgz-215[xegbt] +sgmtkzoi-kmm-xkgiwaoyozout-748[qrkst] +amppmqgtc-djmucp-rcaflmjmew-912[bcvna] +xst-wigvix-fyrrc-wepiw-438[ygref] +dzczkrip-xiruv-jtrmvexvi-ylek-fgvirkzfej-295[irvek] +diozmivodjivg-xviyt-xjvodib-zibdizzmdib-265[zmrey] +rgndvtcxr-ytaanqtpc-stepgibtci-661[tcagi] +xgsvgmotm-hgyqkz-jkyomt-358[ajyhb] +zloolpfsb-yxphbq-ixyloxqlov-393[loxbp] +zilqwikbqdm-jiasmb-uizsmbqvo-668[ibmqs] +rtqlgevkng-rncuvke-itcuu-ucngu-206[ucgne] +dmybmsuzs-yuxufmdk-sdmpq-eomhqzsqd-tgzf-iadwetab-482[nkqyl] +vetllbybxw-ktuubm-hixktmbhgl-345[ikqop] +bwx-amkzmb-jcvvg-ikycqaqbqwv-954[symcn] +ubhatstkwhnl-ynssr-lvtoxgzxk-angm-kxlxtkva-163[ktxal] +zlilocri-yxphbq-pefmmfkd-471[filmp] +yflexwxoalrp-zlkprjbo-doxab-zxkav-zlxqfkd-qoxfkfkd-419[xkflo] +oxaflxzqfsb-zelzlixqb-xznrfpfqflk-393[flxzq] +ixccb-vfdyhqjhu-kxqw-ghyhorsphqw-101[pzgst] +pybgmyargtc-qaytclecp-fslr-sqcp-rcqrgle-860[crglp] +zbytomdsvo-mkxni-kmaescsdsyx-562[smdko] +hwbba-dwppa-ocpcigogpv-570[pabcg] +eza-dpncpe-nlyoj-nzletyr-wlmzclezcj-171[elzcn] +tbxmlkfwba-mixpqfz-doxpp-zlkqxfkjbkq-159[kxbfp] +vetllbybxw-yehpxk-ehzblmbvl-657[blehv] +zuv-ykixkz-jek-lotgtiotm-852[ktioz] +fnjyxwrinm-mhn-mnyjacvnwc-277[zgpnw] +odiih-ljwmh-lxjcrwp-mnenuxyvnwc-615[nwchi] +wfummczcyx-wuhxs-qilembij-838[mciuw] +sno-rdbqds-bgnbnkzsd-bnmszhmldms-859[sbdnm] +nvrgfezqvu-gcrjkzt-xirjj-ivjvrity-555[ylfxv] +encuukhkgf-uecxgpigt-jwpv-ujkrrkpi-622[kugpc] +lnkfaypeha-xqjju-qoan-paopejc-446[ajpen] +kmjezxodgz-ytz-gvwjmvojmt-109[jmzgo] +ygcrqpkbgf-hnqygt-octmgvkpi-128[gckpq] +jxdkbqfz-mixpqfz-doxpp-tlohpelm-107[pxdfl] +xjgjmapg-xviyt-xjvodib-adivixdib-759[ixdjv] +laffe-jek-sgtgmksktz-644[vuenb] +pbafhzre-tenqr-enoovg-ratvarrevat-975[ymshj] +lqwhuqdwlrqdo-vfdyhqjhu-kxqw-uhvhdufk-959[kzlvy] +rflsjynh-jll-zxjw-yjxynsl-697[jlyns] +wrs-vhfuhw-sodvwlf-judvv-ghvljq-361[vhwdf] +ynssr-unggr-tvjnblbmbhg-163[bgnrs] +jyfvnlupj-jvsvymbs-yhiipa-zopwwpun-903[nrdma] +kzeed-hfsid-uzwhmfxnsl-515[uoyvx] +ide-htrgti-uadltg-gtprfjxhxixdc-375[tdgix] +sorozgxe-mxgjk-hatte-vaxingyotm-358[fwxei] +ydjuhdqjyedqb-fbqijys-whqii-jusxdebewo-582[nuzsj] +yknnkoera-xwogap-paydjkhkcu-498[kanop] +nzydfxpc-rclop-upwwjmply-opdtry-691[pycdl] +dlhwvupglk-jhukf-jvhapun-zlycpjlz-409[lhjpu] +kwvacumz-ozilm-moo-bmkpvwtwog-694[mowkv] +kmjezxodgz-wpiit-mzxzdqdib-863[anvbu] +xlrypetn-nsznzwlep-xlylrpxpye-587[znfwt] +pybgmyargtc-qaytclecp-fslr-umpiqfmn-600[nzvej] +etyyx-qzaahs-lzqjdshmf-781[ahqsy] +ovbunmneqbhf-wryylorna-znantrzrag-221[pnazx] +gzefmnxq-bxmefuo-sdmee-ymzmsqyqzf-352[lgvpu] +ixeumktoi-jek-jkbkruvsktz-488[mzeun] +dzczkrip-xiruv-avccpsvre-glityrjzex-321[eflmp] +wfruflnsl-hfsid-fhvznxnynts-307[fnshl] +vkppo-rkddo-iqbui-218[dikop] +muqfedyput-zubboruqd-mehaixef-452[inbaj] +ftzgxmbv-cxeeruxtg-nlxk-mxlmbgz-683[xgmbe] +htsxzrjw-lwfij-uqfxynh-lwfxx-hzxytrjw-xjwanhj-827[xjwhf] +qekrixmg-wgezirkiv-lyrx-tyvglewmrk-282[regik] +ktiaaqnqml-jiasmb-apqxxqvo-226[asvyf] +lejkrscv-irdgrxzex-srjbvk-kvtyefcfxp-165[rekvx] +hvbizodx-nxvqzibzm-cpio-hvmfzodib-291[izbov] +ltpedcxots-tvv-rjhidbtg-htgkxrt-297[tdghr] +dlhwvupglk-mbggf-jovjvshal-zlycpjlz-565[lgjvh] +xfbqpojafe-tdbwfohfs-ivou-sfbdrvjtjujpo-779[fjobd] +kmjezxodgz-xviyt-gvwjmvojmt-577[flhas] +jshzzpmplk-jhukf-jvhapun-vwlyhapvuz-669[hpjuv] +tfejldvi-xiruv-gcrjkzt-xirjj-drerxvdvek-295[dpsef] +zotts-yaa-lymyulwb-968[skymd] +rmn-qcapcr-zyqicr-umpiqfmn-704[cmqri] +xfbqpojafe-cbtlfu-qvsdibtjoh-727[bfjoq] +ykhknbqh-nwxxep-oanreyao-732[naehk] +raphhxuxts-hrpktcvtg-wjci-hidgpvt-921[hmzng] +yrwxefpi-qmpmxevc-kvehi-gerhc-gsexmrk-hizipstqirx-932[mdsza] +xjgjmapg-xviyt-vivgtndn-603[utnks] +cxy-bnlanc-mhn-vjwjpnvnwc-745[mtsvn] +ujoon-gpbepvxcv-eaphixr-vgphh-uxcpcrxcv-687[pcvxh] +ykjoqian-cnwza-iwcjapey-lhwopey-cnwoo-opknwca-264[owacn] +lnkfaypeha-oywrajcan-dqjp-zalwnpiajp-108[apjnl] +ktwbhtvmbox-yehpxk-mktbgbgz-293[cndif] +hqcfqwydw-cqwdujys-rqiauj-qsgkyiyjyed-738[qydjw] +amlqskcp-epybc-zyqicr-kylyeckclr-600[sdrzj] +bnmrtldq-fqzcd-rbzudmfdq-gtms-zbpthrhshnm-443[dmbhq] +nwlddtqtpo-nlyoj-nzletyr-epnsyzwzrj-379[tyrzv] +cvabijtm-kpwkwtibm-lmxtwgumvb-980[mbtwi] +amlqskcp-epybc-afmamjyrc-jyzmpyrmpw-574[mpyac] +aflwjfslagfsd-vqw-dstgjslgjq-424[sfgjl] +willimcpy-zfiqyl-xymcah-110[ilycm] +kpvgtpcvkqpcn-lgnnadgcp-ujkrrkpi-128[knmqz] +wyvqljapsl-buzahisl-ibuuf-lunpullypun-409[wyhza] +amlqskcp-epybc-pyzzgr-pcacgtgle-210[cpgae] +xtwtelcj-rclop-mldvpe-dstaatyr-821[nkabu] +pdjqhwlf-gbh-sxufkdvlqj-751[cdmbz] +wkqxodsm-zvkcdsm-qbkcc-ecob-docdsxq-432[cdkoq] +xjmmjndqz-wpiit-gjbdnodxn-811[djnim] +zlkprjbo-doxab-zelzlixqb-absbilmjbkq-939[blzai] +htqtwkzq-xhfajsljw-mzsy-ywfnsnsl-619[lfsnu] +zhdsrqlchg-mhoobehdq-xvhu-whvwlqj-361[hqdlo] +tcfkqcevkxg-tcorcikpi-ejqeqncvg-uvqtcig-544[lsyzm] +kwtwznct-kivlg-zmamizkp-824[ixjen] +bkzrrhehdc-qzaahs-rghoohmf-287[hraoz] +lxuxaodu-mhn-cajrwrwp-303[aruwx] +tcorcikpi-dcumgv-octmgvkpi-700[vygzd] +crwwv-zlkprjbo-doxab-yxphbq-bkdfkbbofkd-809[bkdof] +xgvnndadzy-xcjxjgvoz-ncdkkdib-447[dnxcg] +elrkdcdugrxv-fkrfrodwh-xvhu-whvwlqj-179[eubfs] +odkasqzuo-rxaiqd-eqdhuoqe-430[nlyts] +vhglnfxk-zktwx-xzz-xgzbgxxkbgz-917[xzgkb] +jyfvnlupj-wyvqljapsl-jovjvshal-zlycpjlz-357[jlvpy] +gpbepvxcv-eaphixr-vgphh-gtrtxkxcv-687[pvxgh] +jrncbavmrq-zntargvp-qlr-qrirybczrag-741[dnzpg] +hqfxxnknji-hfsid-knsfshnsl-307[wtfhe] +aietsrmdih-nippcfier-stivexmsrw-750[iersm] +glrcplyrgmlyj-pyzzgr-pcqcypaf-912[nkoyv] +ugfkmewj-yjsvw-hdsklau-yjskk-sfsdqkak-216[ksjad] +mhi-lxvkxm-vtgwr-kxtvjnblbmbhg-917[bmvxg] +tipfxvezt-irsszk-kvtyefcfxp-451[fteik] +jxdkbqfz-mixpqfz-doxpp-qoxfkfkd-939[fxdkp] +dsxxw-pyzzgr-qrmpyec-288[prxyz] +ejpanjwpekjwh-fahhuxawj-ajcejaanejc-394[jaehw] +pinovwgz-xgvnndadzy-xviyt-vxlpdndodji-109[dnvix] +szfyrqriuflj-upv-rercpjzj-243[jprqg] +dmbttjgjfe-gmpxfs-efqbsunfou-701[fbegj] +sgmtkzoi-inuiurgzk-ykxboiky-436[qlcfs] +slqryzjc-djmucp-ylyjwqgq-158[jqycl] +aflwjfslagfsd-vqw-hmjuzskafy-398[fasjl] +slqryzjc-djmucp-pcacgtgle-886[cgjlp] +qjopwxha-ywjzu-ajcejaanejc-420[zoehr] +amjmpdsj-njyqrga-epyqq-kylyeckclr-756[yksln] +zlkprjbo-doxab-zxkav-zlxqfkd-abpfdk-445[kabdx] +lhkhszqx-fqzcd-bgnbnkzsd-nodqzshnmr-989[nzdhq] +dlhwvupglk-ibuuf-klwhyatlua-591[dzktb] +dpotvnfs-hsbef-cbtlfu-ufdiopmphz-623[homsd] +ajvyjprwp-npp-mnbrpw-875[pjnrw] +lxwbdvna-pajmn-snuuhknjw-mnyuxhvnwc-251[nuwah] +vetllbybxw-lvtoxgzxk-angm-xgzbgxxkbgz-865[mknli] +aflwjfslagfsd-jsehsyafy-usfvq-vwkayf-268[fsayj] +xjgjmapg-agjrzm-gvwjmvojmt-291[jgmav] +plolwdub-judgh-iorzhu-dqdobvlv-465[dloub] +htqtwkzq-wfggny-fsfqdxnx-645[wsznf] +fkqbokxqflkxi-zxkav-zlxqfkd-jxohbqfkd-341[kxfqb] +oxjmxdfkd-avb-tlohpelm-653[dlmox] +xtwtelcj-rclop-nsznzwlep-epnsyzwzrj-873[zelnp] +rtqlgevkng-gii-ceswkukvkqp-466[kgeiq] +molgbzqfib-yrkkv-ixyloxqlov-237[lobik] +zbytomdsvo-mrymyvkdo-nocsqx-848[pahef] +szfyrqriuflj-treup-tfrkzex-ivtvzmzex-867[xejut] +upq-tfdsfu-kfmmzcfbo-mphjtujdt-909[fmtud] +ykhknbqh-lhwopey-cnwoo-bejwjyejc-342[hwxgn] +qfkkj-nsznzwlep-nzyeltyxpye-327[vkmwy] +excdklvo-zvkcdsm-qbkcc-psxkxmsxq-900[cvoiz] +dszphfojd-dboez-dpbujoh-xpsltipq-623[zbxem] +udpsdjlqj-iorzhu-ghsorbphqw-517[hdjop] +xcitgcpixdcpa-ide-htrgti-gpqqxi-gthtpgrw-609[gitpc] +cybyjqho-whqtu-uww-tuiywd-348[styfx] +yuxufmdk-sdmpq-nmewqf-oazfmuzyqzf-924[hfsly] +tfejldvi-xiruv-avccpsvre-crsfirkfip-997[rxygp] +wsvsdkbi-qbkno-oqq-wkxkqowoxd-822[koqwb] +qcbgiasf-ufors-tzcksf-sbuwbssfwbu-610[ivjsc] +vkrhzxgbv-wrx-lmhktzx-839[xhkrv] +xmrrq-bwddqtwsf-vwnwdghewfl-242[fpmoq] +kmjezxodgz-nxvqzibzm-cpio-gjbdnodxn-577[isocd] +iutyaskx-mxgjk-kmm-jkyomt-436[kmjtx] +ide-htrgti-snt-rjhidbtg-htgkxrt-531[tghir] +vkppo-uww-bqrehqjeho-764[xmntl] +bdavqofuxq-pkq-ymzmsqyqzf-196[qfmyz] +diozmivodjivg-hvbizodx-zbb-ozxcijgjbt-915[zueag] +cybyjqho-whqtu-hqrryj-bqrehqjeho-374[hqjry] +vcibutulxiom-vohhs-lywycpcha-630[owyks] +chnylhuncihuf-wuhxs-fiacmncwm-786[chnuf] +xekdwvwnzkqo-ywjzu-ykwpejc-wymqeoepekj-264[dmbln] +etyyx-cxd-vnqjrgno-391[hntfq] +pwcvonofrcig-dfcxsqhwzs-qobrm-qighcasf-gsfjwqs-194[scfqg] +xgvnndadzy-ezggtwzvi-nojmvbz-837[vnsth] +dszphfojd-qmbtujd-hsbtt-usbjojoh-467[rskch] +npmhcargjc-aylbw-amyrgle-yaosgqgrgml-886[galmr] +qczcftiz-gqojsbusf-vibh-twbobqwbu-350[bnsiu] +kwvacumz-ozilm-kzgwomvqk-xtiabqk-oziaa-twoqabqka-980[akoqz] +dsxxw-zyqicr-cleglccpgle-418[clegx] +jrncbavmrq-cynfgvp-tenff-ynobengbel-611[nbefc] +hqtyeqsjylu-fbqijys-whqii-tuiywd-322[mitks] +rnqnyfwd-lwfij-wfggny-xmnuunsl-697[tseia] +fhezusjybu-rqiauj-udwyduuhydw-868[ngyzs] +pkl-oaynap-ywjzu-ykwpejc-opknwca-628[pakwy] +nuatmlmdpage-vqxxknqmz-geqd-fqefuzs-508[romxa] +awzwhofm-ufors-qobrm-qcohwbu-hsqvbczcum-948[obchm] +dfcxsqhwzs-rms-fsgsofqv-766[sfqcd] +wlqqp-tyftfcrkv-rercpjzj-711[rcfjp] +clotzlnetgp-awldetn-rcldd-nzyeltyxpye-743[letdn] +lgh-kwujwl-hdsklau-yjskk-vwhsjlewfl-788[lkwhj] +uqtqbizg-ozilm-kivlg-kwibqvo-uizsmbqvo-512[iqbov] +vetllbybxw-lvtoxgzxk-angm-kxlxtkva-683[xlktv] +qyujihctyx-mwupyhayl-bohn-uwkocmcncih-760[chyui] +crwwv-zxkav-obzbfsfkd-237[bfkvw] +qczcftiz-pogysh-igsf-hsghwbu-610[tnjwm] +udpsdjlqj-gbh-hqjlqhhulqj-725[hjqld] +yuxufmdk-sdmpq-nmewqf-emxqe-326[meqdf] +molgbzqfib-ciltbo-ildfpqfzp-653[bfilo] +uwtojhynqj-gfxpjy-ywfnsnsl-151[jnyfs] +qvbmzvibqwvit-jiasmb-camz-bmabqvo-330[bmvai] +xmtjbzidx-xviyt-xjvodib-xpnojhzm-nzmqdxz-603[torgb] +ykjoqian-cnwza-fahhuxawj-qoan-paopejc-628[ajnoc] +gvcskirmg-veffmx-irkmriivmrk-906[imrkv] +njmjubsz-hsbef-dboez-dpbujoh-bdrvjtjujpo-649[astyb] +ovbunmneqbhf-pnaql-pbngvat-jbexfubc-845[yzqwm] +joufsobujpobm-kfmmzcfbo-usbjojoh-571[mkpnw] +lzfmdshb-cxd-lzmzfdldms-287[dlmzf] +froruixo-mhoobehdq-pdunhwlqj-439[ohdqr] +xcitgcpixdcpa-rpcsn-rdpixcv-bpcpvtbtci-193[cpitx] +dfcxsqhwzs-ksodcbwnsr-xszzmpsob-rsgwub-168[sbwzc] +iuruxlar-lruckx-sgtgmksktz-436[krugl] +nbhofujd-dboez-fohjoffsjoh-467[ofhjb] +pejji-tovvilokx-nozvyiwoxd-276[bzkve] +bxaxipgn-vgpst-rpcsn-rdpixcv-rjhidbtg-htgkxrt-583[upjyv] +bkzrrhehdc-bzmcx-bnzshmf-lzqjdshmf-443[hzbmc] +dpssptjwf-gmpxfs-mphjtujdt-571[pjstd] +pdjqhwlf-sodvwlf-judvv-orjlvwlfv-829[tuszv] +mfklstdw-tmffq-wfyafwwjafy-918[wmvan] +joufsobujpobm-ezf-gjobodjoh-779[xwadm] +hafgnoyr-gbc-frperg-rtt-grpuabybtl-481[jcgnd] +joufsobujpobm-fhh-tijqqjoh-233[johbf] +zuv-ykixkz-vrgyzoi-mxgyy-yzuxgmk-150[yzgkx] +ibghopzs-qvcqczohs-qighcasf-gsfjwqs-948[ubrmn] +qfmcusbwq-pwcvonofrcig-foppwh-fsgsofqv-584[focpq] +aczupnetwp-awldetn-rcldd-qtylyntyr-119[tdlny] +dpssptjwf-ezf-sfdfjwjoh-909[znfwy] +qxdwpopgsdjh-ytaanqtpc-pcpanhxh-297[pahcd] +ucynmlgxcb-aylbw-rpyglgle-626[lgybc] +oqnidbshkd-okzrshb-fqzrr-rdquhbdr-573[rdbhq] +frqvxphu-judgh-fdqgb-vhuylfhv-647[hfuvd] +vhehkyne-cxeeruxtg-hixktmbhgl-319[ehxgk] +gsrwyqiv-kvehi-gerhc-gsexmrk-vigimzmrk-412[girek] +ajmrxjlcren-yujbcrl-pajbb-bnaerlnb-719[lvzpq] +zixppfcfba-bdd-bkdfkbbofkd-393[hnmcz] +aflwjfslagfsd-hdsklau-yjskk-ugflsafewfl-918[flsak] +xtwtelcj-rclop-upwwjmply-nzyeltyxpye-847[lpyet] +oaddaeuhq-qss-dqmocgueufuaz-924[qzwti] +tvsnigxmpi-wgezirkiv-lyrx-hitpscqirx-568[irxgp] +ksodcbwnsr-qczcftiz-gqojsbusf-vibh-igsf-hsghwbu-272[sbcfg] +sgmtkzoi-jek-gtgreyoy-410[tqkns] +rzvkjiduzy-kgvnodx-bmvnn-omvdidib-109[fpsxk] +diozmivodjivg-rzvkjiduzy-zbb-adivixdib-447[nayqm] +froruixo-vfdyhqjhu-kxqw-rshudwlrqv-517[rhqud] +dmpuamofuhq-dmnnuf-ymzmsqyqzf-222[mwnak] +mybbycsfo-zvkcdsm-qbkcc-wkbuodsxq-380[bcksd] +tcrjjzwzvu-wcfnvi-vexzevvizex-633[vzeci] +qzoggwtwsr-gqojsbusf-vibh-hsqvbczcum-870[sbgqc] +enzcntvat-cynfgvp-tenff-phfgbzre-freivpr-845[xnfot] +gsvvswmzi-gerhc-gsexmrk-stivexmsrw-984[segmr] +fhezusjybu-vbemuh-iqbui-244[iektm] +oqnidbshkd-idkkxadzm-qdzbpthrhshnm-469[gekyh] +pybgmyargtc-cee-nspafyqgle-574[egyac] +jyddc-gerhc-gsexmrk-vigimzmrk-672[gmrcd] +tipfxvezt-gcrjkzt-xirjj-rercpjzj-399[ldquc] +bdavqofuxq-bxmefuo-sdmee-dqeqmdot-768[hwmck] +fbebmtkr-zktwx-vtgwr-hixktmbhgl-475[tbkgh] +irgyyolokj-igtje-iugzotm-rumoyzoiy-202[mpijw] +fbebmtkr-zktwx-xzz-kxlxtkva-865[yicwo] +tyepcyletzylw-dnlgpyrpc-sfye-nfdezxpc-dpcgtnp-145[badwi] +vrurcjah-pajmn-ljwmh-anbnjalq-849[ajnhl] +rtqlgevkng-ecpfa-fgukip-700[gefkp] +pdjqhwlf-froruixo-udeelw-wudlqlqj-907[kymab] +tinnm-xszzmpsob-qcbhowbasbh-688[nhcdm] +nij-mywlyn-wuhxs-lywycpcha-318[ywchl] +fnjyxwrinm-ouxfna-ldbcxvna-bnaerln-979[naxbf] +ajvyjprwp-bljenwpna-qdwc-anjlzdrbrcrxw-823[jrwan] +diozmivodjivg-wpiit-mzxzdqdib-551[kmhon] +nij-mywlyn-dyffsvyuh-xyjfisgyhn-656[yfnhi] +fhezusjybu-zubboruqd-vydqdsydw-504[dubyq] +ubhatstkwhnl-lvtoxgzxk-angm-kxvxbobgz-579[xbgkt] +xcitgcpixdcpa-rwdrdapit-htgkxrth-557[zastp] +wfintfhynaj-jll-hzxytrjw-xjwanhj-281[jhnwa] +irgyyolokj-vrgyzoi-mxgyy-rumoyzoiy-800[sptbo] +jvyyvzpcl-yhkpvhjapcl-ibuuf-aljouvsvnf-227[vjlpu] +iruzfrtkzmv-treup-kirzezex-841[rzeik] +cxy-bnlanc-ljwmh-ujkxajcxah-979[waqkz] +qzoggwtwsr-foppwh-difqvogwbu-948[wgofp] +qyujihctyx-dyffsvyuh-zchuhwcha-552[hycuf] +yknnkoera-lhwopey-cnwoo-pnwejejc-992[enowc] +zovldbkfz-zxkav-zlxqfkd-xkxivpfp-289[vtcos] +mrxivrexmsrep-glsgspexi-erepcwmw-750[btrnl] +udskkaxawv-kusnwfywj-zmfl-dgyaklauk-866[xeozd] +esyfwlau-tmffq-vwnwdghewfl-632[czoml] +hjgbwuladw-kusnwfywj-zmfl-esfsywewfl-294[xwfie] +hwbba-rncuvke-itcuu-ocpcigogpv-232[cubgi] +vhkkhlbox-vtgwr-xgzbgxxkbgz-631[typnq] +nvrgfezqvu-szfyrqriuflj-vxx-jkfirxv-139[krijl] +iuruxlar-zuv-ykixkz-lruckx-xkykgxin-826[kxuir] +yhwooebeaz-ywjzu-yqopkian-oanreya-966[ynwkb] +iuxxuyobk-pkrrehkgt-xkgiwaoyozout-176[sjwtp] +glrcplyrgmlyj-djmucp-qrmpyec-236[clmpr] +pejji-tovvilokx-bocokbmr-588[obijk] +hplazytkpo-upwwjmply-dpcgtnpd-119[pdltw] +nij-mywlyn-xsy-jolwbumcha-136[yjlmn] +pynffvsvrq-ohaal-fgbentr-923[fanrv] +lgh-kwujwl-kusnwfywj-zmfl-kwjnauwk-736[wkjlu] +dszphfojd-sbccju-mbcpsbupsz-727[sbcpd] +ixeumktoi-lruckx-zkinturume-800[ktsyl] +fmsledevhsyw-tvsnigxmpi-veffmx-viwievgl-412[veifm] +mrxivrexmsrep-fyrrc-qevoixmrk-880[wtmdx] +qmpmxevc-kvehi-wgezirkiv-lyrx-wlmttmrk-620[zyxjd] +zixppfcfba-oxyyfq-qbzeklildv-289[fbilp] +nwlddtqtpo-dnlgpyrpc-sfye-wlmzclezcj-431[jefsy] +tinnm-foppwh-oqeiwgwhwcb-688[fzyjx] +plolwdub-judgh-fdqgb-ghyhorsphqw-413[hystk] +bwx-amkzmb-zijjqb-bmkpvwtwog-460[bmwjk] +qcbgiasf-ufors-pibbm-ghcfous-896[bfscg] +ktwbhtvmbox-vetllbybxw-cxeeruxtg-tgterlbl-215[tmybs] +lqwhuqdwlrqdo-mhoobehdq-vwrudjh-387[dhqow] +lgh-kwujwl-tskcwl-vwhdgqewfl-684[afnbs] +yuxufmdk-sdmpq-rxaiqd-efadmsq-976[mczye] +ftzgxmbv-unggr-kxlxtkva-917[ezfmx] +rmn-qcapcr-aylbw-amyrgle-ylyjwqgq-158[prcqj] +fhezusjybu-rqiauj-husuylydw-582[uyhjs] +apuut-xviyt-xjvodib-yzkvmohzio-525[yomvc] +mybbycsfo-dyz-combod-zvkcdsm-qbkcc-oxqsxoobsxq-848[obcsd] +yhwooebeaz-lhwopey-cnwoo-zalhkuiajp-706[oaehw] +bqxnfdmhb-bzmcx-trdq-sdrshmf-469[zdyht] +dmpuamofuhq-vqxxknqmz-pqbmdfyqzf-924[qmfdp] +kmjezxodgz-ytz-mzvxlpdndodji-889[gefcn] +apuut-xviyt-xjvodib-mznzvmxc-369[vximt] +fodvvlilhg-surmhfwloh-hjj-hqjlqhhulqj-647[hljqf] +tipfxvezt-srjbvk-tljkfdvi-jvimztv-269[vtijf] +ikhcxvmbex-xzz-labiibgz-423[qnzsg] +qzchnzbshud-azrjds-lzmzfdldms-885[xubgy] +eadalsjq-yjsvw-vqw-esjcwlafy-398[ajswe] +oxmeeuruqp-bxmefuo-sdmee-etubbuzs-898[stupo] +frqvxphu-judgh-xqvwdeoh-fdqgb-frdwlqj-zrunvkrs-257[dqrfh] +ltpedcxots-gpbepvxcv-qphzti-igpxcxcv-349[jzdyi] +vhkkhlbox-vtgwr-phkdlahi-969[tmszy] +cvabijtm-jcvvg-lmdmtwxumvb-226[nvfca] +sedikcuh-whqtu-sqdto-qsgkyiyjyed-790[dqsye] +gzefmnxq-bdavqofuxq-rxaiqd-ymzmsqyqzf-690[zklij] +zntargvp-cynfgvp-tenff-qrcyblzrag-351[sqzyh] +xfbqpojafe-dboez-xpsltipq-857[ehgum] +uqtqbizg-ozilm-jcvvg-lmaqov-980[xzwsi] +xjgjmapg-ezggtwzvi-xpnojhzm-nzmqdxz-161[zgjmx] +muqfedyput-vbemuh-fkhsxqiydw-920[udefh] +kzeed-gfxpjy-ywfnsnsl-489[xeoyn] +pynffvsvrq-onfxrg-ynobengbel-741[nfbeg] +froruixo-iorzhu-rshudwlrqv-647[rouhi] +amjmpdsj-qaytclecp-fslr-qyjcq-938[cjqal] +otzkxtgzoutgr-jek-iayzuskx-ykxboik-826[kotxz] +tpspahyf-nyhkl-jhukf-zavyhnl-279[hyafk] +pualyuhapvuhs-ihzrla-ylhjxbpzpapvu-929[lbncu] +odiih-ajkkrc-mnbrpw-355[ikrab] +votubcmf-gmpxfs-bdrvjtjujpo-363[jbfmo] +zgmfyxypbmsq-rmn-qcapcr-bwc-pcacgtgle-704[ztspm] +uqtqbizg-ozilm-nchhg-jiasmb-ivitgaqa-382[snpaf] +willimcpy-jfumncw-alumm-lyuwkocmcncih-734[cmliu] +ibghopzs-qvcqczohs-hsqvbczcum-506[chqsz] +ugjjgkanw-tmffq-vwkayf-216[lfrby] +pynffvsvrq-pnaql-erprvivat-507[vpraf] +aczupnetwp-nlyoj-nzletyr-pyrtyppctyr-197[pytnr] +vkppo-sqdto-seqjydw-bewyijysi-686[sydei] +dpotvnfs-hsbef-ezf-qvsdibtjoh-337[fsbde] +wlqqp-avccpsvre-ivtvzmzex-425[vcepq] +jfifqxov-doxab-gbiivybxk-jxohbqfkd-549[skgzo] +rgndvtcxr-jchipqat-rpcsn-igpxcxcv-713[cprxg] +ykhknbqh-xqjju-wymqeoepekj-576[ejkqh] +pejji-mrymyvkdo-domrxyvyqi-536[ymdij] +wihmogyl-aluxy-xsy-womnigyl-mylpcwy-786[ylmwg] +jlidywncfy-zfiqyl-mbcjjcha-162[cjyfi] +pynffvsvrq-sybjre-grpuabybtl-455[byavk] +uqtqbizg-ozilm-uiovmbqk-akidmvomz-pcvb-bziqvqvo-694[xywnk] +lxaaxbren-ouxfna-ydalqjbrwp-225[mibtg] +joufsobujpobm-kfmmzcfbo-dvtupnfs-tfswjdf-675[ijokq] +crwwv-gbiivybxk-pqloxdb-913[rtmzn] +pkl-oaynap-nwxxep-bejwjyejc-576[jfmel] +wfummczcyx-gcfcnuls-aluxy-wuhxs-wihnuchgyhn-786[giqsn] +htsxzrjw-lwfij-ojqqdgjfs-ijajqturjsy-229[tjxbs] +qczcftiz-foppwh-rsgwub-246[exnyt] +lnkfaypeha-xwogap-naoawnyd-342[zynls] +thnulapj-zjhclunly-obua-thuhnltlua-201[luhan] +vkppo-fbqijys-whqii-bqrehqjeho-504[lkosn] +eqpuwogt-itcfg-ecpfa-qrgtcvkqpu-622[cgpqt] +odkasqzuo-oazegyqd-sdmpq-otaoaxmfq-efadmsq-222[aoqdm] +ide-htrgti-bxaxipgn-vgpst-qjccn-pcpanhxh-453[pcghi] +luxciuwncpy-jfumncw-alumm-xyjulngyhn-552[unclm] +plolwdub-judgh-hjj-zrunvkrs-777[yfulq] +pejji-lexxi-oxqsxoobsxq-458[xoeij] +uzfqdzmfuazmx-pkq-fdmuzuzs-170[npsqv] +bknsykmdsfo-zvkcdsm-qbkcc-cdybkqo-614[fastx] +qfkkj-upwwjmply-qtylyntyr-873[yjklp] +hqcfqwydw-zubboruqd-ijehqwu-218[djvhz] +kmjezxodgz-pinovwgz-zbb-ncdkkdib-473[vimty] +bknsykmdsfo-myvybpev-mkxni-mykdsxq-bocokbmr-562[sdwfr] +eqttqukxg-gii-hkpcpekpi-960[yljdr] +drxevkzt-wcfnvi-cfxzjkztj-607[twoxz] +vkppo-rkddo-ijehqwu-504[dkope] +rgllk-rxaiqd-dqmocgueufuaz-456[mxkzr] +ktiaaqnqml-moo-xczkpiaqvo-122[aoqik] +amjmpdsj-njyqrga-epyqq-pcqcypaf-600[pqajy] +rwcnawjcrxwju-npp-ujkxajcxah-199[jacwx] +fmsledevhsyw-gspsvjyp-gerhc-gsexmrk-ywiv-xiwxmrk-412[segmr] +ajmrxjlcren-kdwwh-anbnjalq-745[myzet] +aoubshwq-tinnm-suu-fsoqeiwgwhwcb-480[wsubh] +rdggdhxkt-rpcsn-hpath-531[tsamh] +pbafhzre-tenqr-pnaql-pbngvat-nanylfvf-715[upmid] +zbytomdsvo-cmkfoxqob-rexd-gybucryz-562[obycd] +bkwzkqsxq-mkxni-ecob-docdsxq-978[ksmtq] +oknkvcta-itcfg-ecpfa-ncdqtcvqta-414[lcwjp] +fydelmwp-clmmte-cpnptgtyr-405[jlgak] +tcorcikpi-ecpfa-gpikpggtkpi-804[picgk] +xtwtelcj-rclop-upwwjmply-hzcvdsza-327[clpwj] +tcfkqcevkxg-ecpfa-eqcvkpi-ncdqtcvqta-752[cqekt] +etaqigpke-tcddkv-uvqtcig-440[tcdeg] +raphhxuxts-qxdwpopgsdjh-rpcsn-rdpixcv-sthxvc-843[tvexn] +atyzghrk-xghhoz-ktmotkkxotm-748[kthog] +fmsledevhsyw-nippcfier-asvowlst-412[zksal] +oaxadrgx-eomhqzsqd-tgzf-eqdhuoqe-846[zfylm] +qcbgiasf-ufors-dzoghwq-ufogg-qcbhowbasbh-194[bgofh] +qvbmzvibqwvit-bwx-amkzmb-jiasmb-xczkpiaqvo-122[bimva] +qfkkj-prr-hzcvdsza-639[dqmts] +jvyyvzpcl-ibuuf-bzly-alzapun-981[mnakf] +dsxxw-cee-pcacgtgle-626[odsgr] +buzahisl-zjhclunly-obua-zlycpjlz-617[rsglh] +gpewwmjmih-tpewxmg-kveww-jmrergmrk-594[mwegr] +aietsrmdih-hci-stivexmsrw-516[hsvof] +ujoon-ytaanqtpc-stepgibtci-219[tacin] +kpvgtpcvkqpcn-fag-ceswkukvkqp-830[cijob] +etaqigpke-uecxgpigt-jwpv-ocpcigogpv-154[gpcei] +eqnqthwn-tcddkv-rwtejcukpi-674[tcdek] +mhi-lxvkxm-ktuubm-nlxk-mxlmbgz-241[mxklb] +avw-zljyla-wshzapj-nyhzz-ylzlhyjo-149[plqkx] +xekdwvwnzkqo-nwxxep-odellejc-862[xyzwn] +pkl-oaynap-bhksan-qoan-paopejc-498[ojduv] +xjinphzm-bmvyz-xjgjmapg-ezggtwzvi-zibdizzmdib-499[zigmb] +bdavqofuxq-rxaiqd-bgdotmeuzs-508[clbmv] +xzwrmkbqtm-jcvvg-ewzsapwx-902[wmvxz] +dmybmsuzs-rxaiqd-xmnadmfadk-846[dmasx] +surmhfwloh-exqqb-vwrudjh-127[hqruw] +gntmfefwitzx-ojqqdgjfs-xytwflj-827[xgtuv] +tbxmlkfwba-zxkav-zlxqfkd-ildfpqfzp-965[jncig] +sbnqbhjoh-tdbwfohfs-ivou-qvsdibtjoh-597[rftxz] +hqcfqwydw-fbqijys-whqii-iqbui-322[iqwbf] +forwcoqhwjs-xszzmpsob-gvwddwbu-324[ftyzu] +zlilocri-oxjmxdfkd-ciltbo-pbosfzbp-991[gjars] +kwzzwaqdm-rmttgjmiv-uizsmbqvo-434[mziqt] +willimcpy-gcfcnuls-aluxy-mwupyhayl-bohn-yhachyylcha-162[kcimx] +uqtqbizg-ozilm-kivlg-uizsmbqvo-954[pifvj] +ugdgjxmd-tskcwl-wfyafwwjafy-762[wfadg] +ajyqqgdgcb-bwc-qyjcq-262[qcbgj] +yknnkoera-oywrajcan-dqjp-wjwhuoeo-602[oajnw] +bqxnfdmhb-qzaahs-rzkdr-963[abdhq] +dwbcjkun-mhn-jwjuhbrb-693[niusd] +wlqqp-wcfnvi-crsfirkfip-373[nrtqs] +guahyncw-wbiwifuny-xymcah-240[wyach] +qfkkj-prr-opgpwzaxpye-613[pkrae] +cqwdujys-tou-tufbeocudj-322[ucdjo] +wfruflnsl-wfggny-ijuqtdrjsy-931[wjznm] +bnqqnrhud-okzrshb-fqzrr-cdrhfm-105[rhqbd] +yhtwhnpun-tpspahyf-nyhkl-jovjvshal-zlycpjlz-487[hlpyj] +iutyaskx-mxgjk-hatte-lotgtiotm-176[shzku] +gntmfefwitzx-kqtbjw-xfqjx-645[nmfsa] +jvsvymbs-jhukf-jbzavtly-zlycpjl-695[frnkz] +dlhwvupglk-zjhclunly-obua-jvuahputlua-825[ulahj] +wyvqljapsl-jhukf-jvhapun-ylzlhyjo-487[jlhya] +ghkmaihex-hucxvm-lmhktzx-267[hmxka] +irgyyolokj-vrgyzoi-mxgyy-xkikobotm-670[ryfvl] +kwzzwaqdm-zijjqb-amzdqkma-564[qzdtv] +rflsjynh-idj-xytwflj-541[jflyd] +emixwvqhml-ntwemz-zmkmqdqvo-200[zmbdq] +kzgwomvqk-rmttgjmiv-abwziom-330[mtnsk] +xjgjmapg-wpiit-vivgtndn-499[weiza] +cebwrpgvyr-pnaql-grpuabybtl-117[xqmjc] +egdytrixat-uadltg-uxcpcrxcv-297[ctxad] +gvaaz-ezf-tfswjdft-623[fatzd] +excdklvo-mkxni-mykdsxq-mecdywob-cobfsmo-692[mocdk] +ovbunmneqbhf-pnaql-bcrengvbaf-351[mtgcw] +nwlddtqtpo-clmmte-nzyeltyxpye-509[ydnsh] +froruixo-udeelw-vwrudjh-309[sxgvu] +hqcfqwydw-sxesebqju-cqhaujydw-660[fghtp] +bpvctixr-rwdrdapit-ldgzhwde-895[sfioq] +ajmrxjlcren-yaxsnlcrun-bljenwpna-qdwc-fxatbqxy-797[fnjis] +lugjuacha-zfiqyl-uhufsmcm-370[uacfh] +houngfgxjuay-pkrrehkgt-iayzuskx-ykxboik-852[kguxy] +gcfcnuls-aluxy-luxciuwncpy-jfumncw-alumm-uhufsmcm-214[zftvs] +oxmeeuruqp-otaoaxmfq-emxqe-794[drzyv] +nvrgfezqvu-upv-tfekrzedvek-867[evfkr] +uwtojhynqj-xhfajsljw-mzsy-zxjw-yjxynsl-801[jyswx] +zixppfcfba-yxphbq-jxohbqfkd-887[zgoyn] +qczcftiz-qvcqczohs-aobousasbh-402[coqsz] +lejkrscv-upv-tfekrzedvek-919[ekvrc] +chnylhuncihuf-zfiqyl-zchuhwcha-604[magtu] +vetllbybxw-lvtoxgzxk-angm-ybgtgvbgz-605[gbltv] +dmpuamofuhq-omzpk-qzsuzqqduzs-820[quzmd] +rdggdhxkt-gpqqxi-rdcipxcbtci-219[yrlha] +tfejldvi-xiruv-wcfnvi-jvimztvj-243[fqclr] +foadouwbu-dzoghwq-ufogg-gvwddwbu-324[dgouw] +tbxmlkfwba-pzxsbkdbo-erkq-bkdfkbbofkd-913[hgans] +gpbepvxcv-rpcsn-itrwcdadvn-453[sbuap] +szfyrqriuflj-srjbvk-ivrthlzjzkzfe-633[sqwil] +jqwpihizlwca-jiasmb-ivitgaqa-122[amzud] +bqvvu-ywjzu-qoan-paopejc-264[ajopq] +mvydjvxodqz-wpiit-gvwjmvojmt-525[oabkn] +ktiaaqnqml-moo-zmikycqaqbqwv-252[qamik] +dpmpsgvm-cbtlfu-sfdfjwjoh-909[pntzm] +nzcczdtgp-nsznzwlep-qtylyntyr-171[nztyc] +htqtwkzq-idj-rfwpjynsl-723[ndmel] +gzefmnxq-nmewqf-eqdhuoqe-300[eqfmn] +qzlozfhmf-cxd-lzqjdshmf-469[fzdhl] +pinovwgz-mvydjvxodqz-xviyt-xjvodib-yzndbi-447[pztyh] +gspsvjyp-gerhc-gsexmrk-vieguymwmxmsr-256[gmser] +ygcrqpkbgf-tcfkqcevkxg-hnqygt-vtckpkpi-102[puovq] +jsehsyafy-tmffq-vwhdgqewfl-112[rnach] +qmpmxevc-kvehi-hci-eguymwmxmsr-204[mechi] +tcfkqcevkxg-tcorcikpi-gii-gpikpggtkpi-544[wytzs] +pbafhzre-tenqr-enzcntvat-onfxrg-ratvarrevat-845[raten] +shoewudys-rqiauj-bqrehqjeho-270[ehqjo] +xjinphzm-bmvyz-ojk-nzxmzo-ezggtwzvi-zibdizzmdib-577[zimbd] +rkpqxyib-bdd-pbosfzbp-939[bpdfi] +vcibutulxiom-vumeyn-omyl-nymncha-786[ziwys] +nvrgfezqvu-upv-ivrthlzjzkzfe-321[vzefr] +krxqjijamxdb-yujbcrl-pajbb-dbna-cnbcrwp-303[bjacr] +zixppfcfba-mixpqfz-doxpp-qbzeklildv-653[zdxgu] +lsyrkjkbnyec-mkxni-gybucryz-640[ykbcn] +qspkfdujmf-kfmmzcfbo-dpoubjonfou-155[fomub] +sno-rdbqds-rbzudmfdq-gtms-cdozqsldms-755[yaubo] +houngfgxjuay-vrgyzoi-mxgyy-ygrky-462[ygoru] +gcfcnuls-aluxy-wifilzof-yaa-omyl-nymncha-266[alycf] +hwdtljsnh-gzssd-xfqjx-463[fajso] +htwwtxnaj-idj-hzxytrjw-xjwanhj-281[hzrnq] +sorozgxe-mxgjk-lruckx-xkgiwaoyozout-176[oxgkr] +ynssr-vtgwr-vhtmbgz-ftgtzxfxgm-475[gtfmr] +rtqlgevkng-lgnnadgcp-yqtmujqr-648[nelzc] +kwtwznct-rmttgjmiv-camz-bmabqvo-460[nmbls] +surmhfwloh-fdqgb-wudlqlqj-959[lqdfh] +iutyaskx-mxgjk-hgyqkz-rumoyzoiy-644[ykgim] +jqwpihizlwca-kivlg-kwibqvo-wxmzibqwva-434[iwqva] +amppmqgtc-djmucp-asqrmkcp-qcptgac-496[cpmaq] +apuut-xjmmjndqz-wpiit-vivgtndn-187[intdj] +ftzgxmbv-vtgwr-wxlbzg-267[gbtvw] +eza-dpncpe-mldvpe-wlmzclezcj-171[eclpz] +rnqnyfwd-lwfij-wfggny-ijuqtdrjsy-827[fjnwy] +aflwjfslagfsd-xdgowj-ghwjslagfk-684[fgajl] +lzfmdshb-eknvdq-rsnqzfd-859[ybjfz] +hqtyeqsjylu-uww-tufbeocudj-582[uejqt] +qfkkj-nsznzwlep-dstaatyr-223[aknst] +ubhatstkwhnl-xzz-kxvxbobgz-267[umogq] +xekdwvwnzkqo-oywrajcan-dqjp-ykjpwejiajp-238[mtbvo] +cebwrpgvyr-sybjre-qrfvta-195[rbevy] +hjgbwuladw-usfvq-esfsywewfl-710[mpiho] +lujbbrornm-kjbtnc-fxatbqxy-823[ywamx] +ugjjgkanw-uzgugdslw-hmjuzskafy-476[stfoh] +fmsledevhsyw-fewoix-pefsvexsvc-724[scznt] +zlkprjbo-doxab-bdd-obzbfsfkd-419[bdofk] +vcibutulxiom-wuhxs-nluchcha-864[uchil] +yhkpvhjapcl-ihzrla-dvyrzovw-305[qyhmr] +hmsdqmzshnmzk-qzlozfhmf-qzaahs-zmzkxrhr-287[zhmqs] +gzefmnxq-dmnnuf-etubbuzs-482[nubef] +ejpanjwpekjwh-ywjzu-ykwpejc-nayaerejc-550[jewap] +cxy-bnlanc-npp-mnyuxhvnwc-433[nvmyt] +jfifqxov-doxab-gbiivybxk-obzbfsfkd-601[epyzn] +pkl-oaynap-xqjju-wjwhuoeo-680[joapu] +jef-iushuj-hqtyeqsjylu-rqiauj-bewyijysi-842[hyzgu] +dfcxsqhwzs-tzcksf-aobousasbh-896[wkqxh] +lahxpnwrl-ljwmh-bjunb-693[jtoyp] +rnqnyfwd-lwfij-gfxpjy-wjhjnansl-931[jnfwl] +buzahisl-jvyyvzpcl-jhukf-jvhapun-klwhyatlua-617[ahluj] +jchipqat-eaphixr-vgphh-bpgztixcv-271[hpiac] +zlkprjbo-doxab-avb-absbilmjbkq-107[wbymr] +eqpuwogt-itcfg-dcumgv-fgxgnqrogpv-362[gcfop] +rdadguja-qjccn-gtrtxkxcv-791[cadgj] +etaqigpke-oknkvcta-itcfg-hnqygt-hkpcpekpi-674[mcoya] +gspsvjyp-hci-wxsveki-386[myuqs] +jef-iushuj-vbemuh-mehaixef-920[ehufi] +encuukhkgf-fag-tgceswkukvkqp-752[kguce] +npmhcargjc-njyqrga-epyqq-kypicrgle-444[cgpqr] +xtwtelcj-rclop-mldvpe-dpcgtnpd-379[pcdlt] +nchhg-kpwkwtibm-mvoqvmmzqvo-252[mvhko] +uqtqbizg-ozilm-jiasmb-uizsmbqvo-122[ktxvs] +nwlddtqtpo-mldvpe-fdpc-epdetyr-509[dpetl] +wfintfhynaj-idj-qfgtwfytwd-229[efudw] +yhwooebeaz-nwilwcejc-ydkykhwpa-owhao-160[skuyi] \ No newline at end of file diff --git a/data/advent06.txt b/data/advent06.txt new file mode 100644 index 0000000..4a1a2a6 --- /dev/null +++ b/data/advent06.txt @@ -0,0 +1,624 @@ +focdealm +ggsipflx +rvibwxbm +vqrfyyrh +hsjtzpgs +ozymxpoy +jiecwags +lztseufl +dfwibwsn +skiuhnwl +kamgzqog +axeqncwa +gobivxto +nwgoryhd +tzrlitrq +uzoldxbv +zsteobha +pfcgdqkg +prcqlunp +iwivemkh +vpkilupm +ewuznabz +veaptost +cyvirffe +ejhhqfng +ibsqztgg +xzczkboh +bckhbodf +vbycgonv +esmoyyku +unccgdgj +cqwnqlzs +edoqmykb +bkvzlhyq +yzrspisn +zlzibhca +povnweaf +muyfegxe +oaojqfrl +gwesjxws +rjknfyeh +dkquvctc +cfuzhxoj +tdzzzfqc +lzjzsyni +wjfxckkf +xmhyjhop +kmtllzxs +yohearbj +ilmvyxgn +erczytzw +kuetjsba +vwkpollq +tujwluzc +jlvedjcp +acmoaoji +gqoliyen +agckavhf +ottamfdm +jxwlyotw +tdpsrapj +carwwmqc +ykaipjdj +zdfrbduu +vwiiosud +uoixglbw +yegbwxjb +wbpqqqfv +wpynmyqi +aqdkscgd +oghnbnnf +duftexbb +ttvbofay +jferymwy +hqzimpiq +sifyogml +nymxqbws +dhdlhhqp +urtuhcrj +giwcunfq +fxgretsl +maihqkpk +pdxfkcru +xixtthag +vuzxqzzi +wxxeleug +xpopxkzo +hgcsyuad +xcbydxnx +kxocfakp +erxdajeq +tliakzhh +iygbbuxs +qlgqthpp +duzzptwk +gfnqdotc +kjayxeqf +fehitfar +yemshppn +igtczmmw +gfajhxch +bslzmgwo +xpmhmirx +yhlwlupt +nymajupw +tlhgdefw +bqkudizc +lucrhmnm +svkoaqzz +luggfivf +ckawtiwy +eeivawhj +qdmmmvdl +quezzzqa +oimsfsuo +jdvcknqu +aupohqbk +llwsasnz +zlpljtjl +xfylqxlv +zqppxkul +varoizrq +yxryqwso +gsscetca +gcbdgqyo +hsdnvteo +pxtoreoc +rwjdkwzs +zdgofynf +polyntkx +jhulgrnf +ycbzpdpw +bzvdbwsy +vydjbucs +rxadwwuo +ccnvzjak +nombazjc +lbxwdasr +cbdlkiha +sdomdvow +phjnkkkp +nmtmrnyz +nxsvmcwk +hqimjvir +vmjhhuuv +zilhgqlb +gfgbibgg +imxxugfe +wtaffkbj +lyguqvjs +pejslhls +qjnefwii +oanqnnnc +kcjyfwxm +zoxjwxmw +ihmokcrm +uebsbhfr +fxvjiorr +ebjiucyt +ofutlokv +mdfnsuyr +dzviwqdk +umwyaijz +hdqwfalt +qtyrouwh +lkzcrtwa +dtqvwzke +buplmmca +xxepjuvj +omyotlar +ytndbwhi +sbntigym +mphrnsme +xiymeoxr +kcujxcih +bydnchgk +snwdjlip +yljsymtv +tyhbpoab +zlqhvzxl +akbtnzop +xnpjmysj +znhednen +vbcsocrm +ywjajour +ejngbqev +rstykfhc +cbcnoexq +mzlxvxwj +vfdqaalp +nbszzozr +dqpyojid +hfuqilbl +uoackeup +shqkcsmr +jbdasroe +fmlkvsnt +cnomxkvk +unbsfncq +bnzxltxe +bbadfyin +skmhtmhn +xkypwglb +flbfiioo +fzywneyg +srngxbut +qtodeuxg +xvawfqli +nyfmrdsn +rdjysbxj +spmezvvj +ofoivcuc +touzgqzx +mfqyzagc +dmaurbdv +gqnrlyuw +wuppusoh +qgstihuy +uldnlrpi +xaskgwim +djjrphid +qjhmctyu +osfenjdn +zvoahhkk +xiuyatyn +fepobmjh +kmugpjpw +aikpozqs +kmgmazif +gbzlodzb +hrocqadn +noekklwb +vzwhnkvx +osrspxsc +iekmqgua +xeehndee +quttqjav +htoptweo +cyicmwba +jltlwlyy +qvccdkig +bibggekq +kwfwvrfg +eycwlcup +murgcddl +lyukeubx +twbpzoyg +dkcvzele +fozhtmcz +frugeivm +qjbhpdpr +tgkkeroo +ryuvgqgc +jhixykqn +wsebmcrn +wohtjpgu +isflpxxt +xggwmamk +tfwdsrfe +cpjvcghr +fekhexdb +zcwzqofh +awnfiqzu +ihekvqby +rqaqajij +cumouwzx +ccyrflxd +rredygrk +patcpktn +mjnwuefa +tuhgyfsw +mjpxrgkx +hupfjqxo +mgkclcrf +jkmkhkci +nkcrwgqd +apmfiqpg +pxiawshv +ledhpfaz +btikmkwj +jwosopir +mgxftcte +phkbcdex +uakftnbh +fnkmdecn +swrvbjwj +hphskevf +trnpfdmy +odvmmqss +akvqgemq +zyqlkwdm +nbnaqjsa +mbnogzyt +mchaxjxu +tcqqerqz +ayylasgq +zqbrjfli +ccjjnfat +lvlpdjqu +luiabalt +qsvkepvz +dtyobsiy +jkulvrnc +thwjbzkh +vvhrwbkx +fhxejrff +bacuriaz +grmtyude +feynnckb +hfdepyjn +lvsfflyc +xfrgfgeh +vqqybtba +ntlfjqjt +zadauvmg +itukkpqf +mrnnfgmf +hpjqvppo +dshgwmgb +pzxeoymv +nlokvrio +cgcaxffl +dvimsnxu +iczcvwho +lkxumswj +satmovog +ujwknitl +halkgpaa +pnttnodc +adsvsumi +jwerfpko +yhsjqytk +vpevemez +yvjmltwj +vdoeippw +siouxait +ftrspdpx +hptwqlmz +haewgrft +watbdvqz +eiptzrvr +msvbioso +dnjeoucg +qixvmlem +mqquklfq +sszagakl +khfbexqb +uysydrlc +inawynse +whuonlhq +eshukapj +vtrepdxm +pgjjcisd +puiunlts +replddlv +emjyyhmd +aahwhond +laneyzsj +jnlkdpyb +sqxrctuo +wmmyybvl +ldyvqldz +bzbrsdjr +ekxwhzte +gnpqywzz +afsfbtte +ggkbrgds +dlawfrbp +opypolpc +cqpxcfgh +ynmtlgvl +slfmicyv +ooguwxjc +tewmtlty +wcdwansw +ktercyvw +qrgxrzne +wvbhflls +dpfjwbmm +uigmcaow +ejzhkxic +fbewvcoh +jxbtcmwn +ywiktjqn +rftnjqpp +yalixnnw +srdsiwgy +pdpdrynx +ioroheqp +vpvvnmad +tqksxfsp +snzxciua +nrhtoskm +crfvapzk +wndbcxvf +syffkzmv +nneibkaf +unuvhnli +ujhdjkvs +gmyqgvdr +jedfxwje +bcshopnu +xgiprhyv +onibkkoq +riguljez +yodzrfeu +ogbwakaa +ymrltbxa +ourmuhrx +yxwixtuv +ptnxdvdm +oskvgexz +fbigwiaw +xctckzmy +khwiyvmw +qbqbtxpr +kavzlngz +bbklqvzt +rwlzppbq +upirhhca +ezlaqdgo +ieuynchi +qmjtojzq +qrricseq +hxkrsfmw +nssfpnws +tiaziudb +rvskpahe +pplmppvi +jxpyidio +teudseap +aclyhavi +yqafhkyd +drjhcqgu +zvfcfbjc +sqfuuezn +gwtsupqk +czakgbiy +wknfzbyj +ooxwycji +wxymanlx +ewbtpqtl +jmwnxydh +ceqdllqb +jhdbejmt +mazzsanu +uypyqlvh +itnrzbie +miuegdjz +tqxeipin +kbareizb +jgjxrycy +epshhech +oicruxsz +ptxgidha +bmgnvjtr +qvwzlmgq +cvwtdffi +ibzasmru +jfenrbjd +nrkgwvcz +hlmghdgd +emhdaicl +wdwrzocv +spwjcrud +dsgilvqn +phvmafqk +iiihsfff +uvcqgtyc +doxkrzzw +hktdpsbv +evqojani +kzapomdx +ewtbrdtb +rgshzyxq +ltinzxld +cazrrlcu +irfxunbt +rmqcsbvm +gddexbsb +qladhkpd +xlvzpmab +wirftlbu +fxfqjubx +sgogtrcb +zlqxxwfy +djgtbihr +gslssgsu +wytydgje +vmovsmdh +ogyiuirh +mtfxzrrx +kcpfbemc +blreqhel +zjsjqqyh +ciqwtpvk +yjcinpaa +wxbxagui +aqbjqmig +ybaeuhew +mjzpnttv +mevjcrqp +fpmgzgco +gklesvof +jzfssvvx +aynfmwhl +euosbnhf +lcebcalt +kvsuuyyt +ltranzur +nlledtpz +vqdrgckr +yodxnjpt +uyznwnni +ckczwqkp +uxtjgoee +otdoyaxg +lbccbfgi +mhzjujrp +cekkthvf +fbvpuhog +nzfannep +rnnqusey +aiocsiyy +uvcbtfwr +bzqirxrg +qnmfgshq +inyevvbn +wswvhglx +huxqxwwb +fdutjnfq +adajhsjk +ahllesij +tcfawzgu +zfdgmtry +byznvpfp +duunxdad +kgadxmdf +ptfaovzv +uhuvlivs +xcoqrmeu +nnnlvmga +zwrbykek +lvpumidd +hieivrnt +vrwqsvci +npbplsvm +ougzcgty +rzvgzooo +iehafkto +rzspzjne +dzvvhvld +fgkmmfda +xjsnnlmd +igvjrsuk +narcempo +xrhoiugu +ghxbpomr +waxtcbcg +tmqgsejx +dobaxhel +mpzgjyww +ehyfvnaz +zxrdlajd +hfquyvok +aqxxdcqv +vjbukram +rjvttibk +pryxgzrd +hcqpxgee +qjgqvoal +wmbuvcty +zpgxmdiu +foequjps +lmdjwyfj +mhqudwzv +lrzkttsw +owyatnru +gwppbbfb +fvlkdsjk +pwhlvjtb +zgldiibp +sokjzgvq +kfourwqm +nfqoyvsz +hdiwmrhk +nnapsbht +blqjjtwy +aknoauti +uhgowkyx +uypyjorh +blfeioot +kzbukpxk +kfmbxgle +zmegahum +upjouzrg +tkedvzfy +bxwxuutn +rrwxobjp +jdujkhox +jkycewdx +ivlbibns +qjshodxf +bektjeou +wotjfgfl +rjrcfiug +aklhubjf +kwpnaezt +lsqvzdom +pxzvorct +vcxazyzs +xsszjsjq +ydgfsukl +gqxpcrla +rvsoxkhy +rschupcm +ivlpikxi +etrnyvkh +byzymjms +qagdcqww +sxnausxs +giuitchj +qgolehtg +keeskeyb \ No newline at end of file diff --git a/data/advent07.txt b/data/advent07.txt new file mode 100644 index 0000000..fb0a641 --- /dev/null +++ b/data/advent07.txt @@ -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 diff --git a/data/advent08.txt b/data/advent08.txt new file mode 100644 index 0000000..e6aa6a1 --- /dev/null +++ b/data/advent08.txt @@ -0,0 +1,193 @@ +rect 1x1 +rotate row y=0 by 5 +rect 1x1 +rotate row y=0 by 5 +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 2 +rect 1x1 +rotate row y=0 by 3 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 2 +rect 1x1 +rotate row y=0 by 3 +rect 2x1 +rotate row y=0 by 5 +rect 4x1 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate row y=0 by 10 +rotate column x=5 by 2 +rotate column x=0 by 1 +rect 9x1 +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 5 +rotate row y=0 by 5 +rotate column x=0 by 1 +rect 4x1 +rotate column x=40 by 1 +rotate column x=27 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=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 5 +rect 1x3 +rotate row y=2 by 10 +rotate row y=1 by 7 +rotate row y=0 by 2 +rotate column x=3 by 2 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 5 +rotate row y=1 by 3 +rotate row y=0 by 3 +rect 1x3 +rotate column x=45 by 1 +rotate row y=2 by 7 +rotate row y=1 by 10 +rotate row y=0 by 2 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 4x1 +rotate row y=2 by 13 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 8 +rotate row y=0 by 5 +rotate column x=3 by 1 +rotate column x=2 by 1 +rotate column x=0 by 1 +rect 4x1 +rotate row y=3 by 17 +rotate row y=2 by 20 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +rotate column x=6 by 1 +rotate column x=5 by 1 +rotate column x=3 by 1 +rotate column x=2 by 2 +rotate column x=0 by 1 +rect 14x1 +rotate row y=1 by 47 +rotate column x=9 by 1 +rotate column x=4 by 1 +rotate row y=3 by 3 +rotate row y=2 by 10 +rotate row y=1 by 8 +rotate row y=0 by 5 +rotate column x=2 by 2 +rotate column x=0 by 2 +rect 3x2 +rotate row y=3 by 12 +rotate row y=2 by 10 +rotate row y=0 by 10 +rotate column x=8 by 1 +rotate column x=7 by 3 +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 20 +rotate column x=46 by 1 +rotate row y=4 by 17 +rotate row y=3 by 10 +rotate row y=2 by 10 +rotate row y=1 by 5 +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 2 +rotate column x=1 by 1 +rotate column x=0 by 1 +rect 9x1 +rotate column x=32 by 4 +rotate row y=4 by 33 +rotate row y=3 by 5 +rotate row y=2 by 15 +rotate row y=0 by 15 +rotate column x=13 by 1 +rotate column x=12 by 3 +rotate column x=10 by 1 +rotate column x=8 by 1 +rotate column x=7 by 2 +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 14x1 +rotate column x=39 by 3 +rotate column x=35 by 4 +rotate column x=20 by 4 +rotate column x=19 by 3 +rotate column x=10 by 4 +rotate column x=9 by 3 +rotate column x=8 by 3 +rotate column x=5 by 4 +rotate column x=4 by 3 +rotate row y=5 by 5 +rotate row y=4 by 5 +rotate row y=3 by 33 +rotate row y=1 by 30 +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=38 by 3 +rotate column x=37 by 3 +rotate column x=36 by 5 +rotate column x=35 by 1 +rotate column x=33 by 1 +rotate column x=32 by 5 +rotate column x=31 by 5 +rotate column x=30 by 1 +rotate column x=23 by 4 +rotate column x=22 by 3 +rotate column x=21 by 3 +rotate column x=20 by 1 +rotate column x=12 by 2 +rotate column x=11 by 2 +rotate column x=3 by 5 +rotate column x=2 by 5 +rotate column x=1 by 3 +rotate column x=0 by 4 diff --git a/data/advent09.txt b/data/advent09.txt new file mode 100644 index 0000000..3ccde78 --- /dev/null +++ b/data/advent09.txt @@ -0,0 +1 @@ +ORNXNQJQ(151x7)(5x9)OFIXU(27x3)(21x9)VDCYQELDJQUAFZUHFZVSU(34x15)(12x10)SEDIUUVFPEKY(3x9)NHR(1x11)I(15x6)(9x13)CMNDUYGYR(40x6)(4x7)RMNG(25x8)XPDSEYNCWFQFAKUMITWMBLMIK(7x11)(1x10)N(109x1)(101x15)(28x15)DYKYFCKDLFYAIHXSOAZKTPCPBUTX(18x13)SOZMWOSIQHVNMRZYYM(1x4)W(11x2)AJPKYMFRDJZ(11x11)SYIQBGHBNJL(26x9)(20x7)XLNTFHRYHLOYBBGMRPDH(269x4)(2x9)ZG(79x7)(24x3)UBTEBZLPYEDFINUQEQZUSXWY(3x5)IUH(15x10)LDDUEEJAWVGNRYA(3x5)FAO(6x3)ORDEIO(47x2)(1x10)J(2x13)DW(1x8)V(19x14)IJAAZPPGBZPFERJGOYI(103x9)(60x11)GKYOEUBZWAFDXEGWMPXZEOAQCUFCTJCXROPMNEFMJUWGBOUZRAXKRNHTBXHM(15x15)BTYXPHOQZXSBUVT(9x8)JQLNIDKMH(9x5)(4x4)BQRL(4207x15)(1464x12)(305x10)(159x14)(71x12)(24x14)(9x1)UJXIVHSUD(4x15)MAWK(26x15)(19x15)YFYDUJPUZQCKGVPOXKD(2x1)HN(2x6)GH(20x14)INJNODCLPWICQFIERROI(3x11)JUA(31x14)IUDVEHRATPGIEGELRDOZMBKZQFONCBD(130x14)(28x15)(22x7)(5x11)PHVKR(5x10)KVTDO(88x12)(8x12)POLKYDEX(27x8)(9x14)APMRPIHKQ(6x11)QTLLQU(1x4)R(29x3)(4x8)WBRL(2x15)JU(1x6)Y(1x2)U(1143x9)(364x14)(262x7)(6x9)EEJMXK(100x12)(5x1)RXXSO(5x2)VTESR(6x2)SXXSZL(49x1)OFIFQJKSCOXPXTHVWCUJVQMDBQELBLDYRKIGKHOEWRFNXNRLF(9x1)XRUFFMDVM(29x5)(3x8)VPW(6x3)WWFWRC(5x7)XMJEJ(46x9)ZBWGRECVBOPHVFQYBPOBHTPOMTYQGVZKQMKYEHCJYSNRQY(50x1)(10x5)SFPYPPQKDO(27x10)DNMTTNUGOQNAQLRBKDLNRVGRMLJ(23x12)(10x7)LCQWCIMTSV(1x12)X(15x9)JMJMKCIELUBETER(38x7)KWZVVWPBHKSBWMQWBJKCRHLIEHZSQBRAEOBRHE(130x13)(123x7)(75x10)(9x2)NUSXXITCS(11x2)JWHCFBJNEYD(10x1)QJNBNHNNDF(5x5)RWBYJ(11x10)GRRSDLTEZAW(35x9)EYHPPDLIWUITRPLKHXFBCUIQZZMYCDKWPNX(326x11)(130x1)(76x9)(9x10)TBCYBWJLT(4x8)HTQB(35x8)FUCOLJQAFSWAYTACMFRACVWDLZYRGSUMZAY(5x15)ZWHCN(17x14)CRUBDKGWUQCGGAIOS(10x7)(4x12)RWFL(3x9)TFR(27x13)(1x7)R(2x14)VY(8x2)DZMFRMGO(94x11)(61x15)(1x14)O(25x14)IKECWOPRWQBVRNEDQXWFMVBOI(15x10)QVTWMBNCISLOBJR(20x1)FIVILFBNIPNRXAWXGAMJ(32x8)LNPRYYKSLCXOEXFWZKAXERCQKDACFNYA(10x1)(4x14)WRAN(292x2)(168x7)(10x8)HQSTVLQCNK(89x4)(9x11)XCBGNGENA(22x5)BLUEARYFSAVBWTDGVHYWZP(21x12)KGRSTMCVPYJXIJWXVXREW(12x5)NKTUQMXCLFNL(17x10)UPUPBQDSHOXKHLGCR(10x12)ALIFHIZXQV(10x1)KEFBFHAOCG(100x2)(9x4)(4x9)MKGZ(80x5)(20x3)DQCKBWWUZDJICWUESBKY(14x9)EFXIDIWRKZTVUM(6x15)JRDKSE(2x14)AA(9x9)MJFTTZMTW(5x3)VLDNV(411x4)(397x1)(390x8)(46x4)(18x7)BLBFCJNGQWPSJGPOVU(16x7)(10x2)FFZWESCTXC(6x3)EUNIDH(56x14)(28x5)(2x8)CJ(2x1)EA(9x9)FLKGEMFED(10x9)OLOMVPKTRZ(1x5)R(202x5)(88x9)(6x3)VRZHGK(20x12)KKZGPZHKVMLDUKNRPDLL(7x2)CBDBTRO(3x15)XPR(23x3)EHEWCFLEUPCSTSISPKGXIMK(32x5)(16x12)KENYBOSVRILLLTVM(3x14)DYH(19x4)(7x8)FGHRXWB(1x15)E(39x8)(9x11)XRLWASPXI(17x10)RNFIHAQMBBELSLNCT(49x1)(36x4)(18x2)QKRMYMDFPSVDXUXXCH(7x3)SBFHWUF(2x6)BD(2x6)HN(1047x3)(450x2)(10x4)YQQDOELWCI(48x15)(25x7)(8x5)KUKZDUYU(7x6)(2x1)KQ(1x4)K(6x3)INDERJ(284x5)(92x7)(86x4)(13x1)PSVECPHBPYEPJ(3x15)JEY(35x8)RCTZOHPJAICRPRVAYZZLUKRZPOOPFCBCPAQ(4x9)TETC(2x11)ZV(179x5)(95x6)(8x9)HUGVMXOT(9x10)MFDYGPUWF(12x2)PSBNZPCWSANA(6x1)GICWEI(32x9)JCBCGJIMZTQUSVQDRHWMSYJYUHJIVYIV(71x13)(15x3)SXTGVVIWXDWZTZO(9x2)RASQPEQUN(7x10)TPHSDTV(7x15)EPAHSDZ(5x6)BIOZT(7x4)KYMJLYA(69x11)(63x5)(3x9)XSS(37x9)HTZKRPESNZRIWPGWAPHBOIOWAWFHWMIXWYQQC(7x6)(2x1)FA(273x3)(245x12)(39x9)(8x13)WCKBPVRZ(18x10)(11x10)VHBAIPPIWXD(2x3)XD(1x11)Q(6x15)WCPPQC(167x1)(23x15)DYHQGULKPISILTRIXNEJZAV(65x12)(2x9)FZ(14x9)WWCTYVLVAOZDAG(15x11)CZYGTNAELLIRKYW(10x6)IEXFBJJCLQ(42x4)(9x14)XRPJHVVME(6x8)XAVNCD(10x9)IBVGVWIFUD(11x7)(6x6)LSMIRR(14x4)LFACCTXVWLEDWE(287x5)(280x2)(273x1)(7x14)(1x15)U(109x12)(7x1)TPNMYVS(46x8)TWTINTRPDOQKPDPZNKXIVISRQTZODBXMSPPZKCQFAYCJCS(5x11)AKNKA(18x14)DKSKSQUAUTPZPNHIWP(4x7)DOMY(56x3)(6x6)JBJORX(7x11)IDJWUCZ(26x1)XMRHHVJEZBAIOCBKTLKEWRQHWR(46x3)(6x8)JDOJMU(5x6)ELYWH(1x1)M(1x13)Y(7x9)XRTOLWT(22x11)PXZRLOPHTRSXFEGYCCCKOZ(1x6)I(4x11)OPMW(2x11)ET(1244x13)(8x9)(3x8)ABP(1x13)B(188x1)(6x9)(1x5)H(161x8)(115x15)(15x6)(4x8)YQCB(1x1)L(73x9)(2x15)GX(25x4)NTANLQJGDHTCOIRAFZAKXQHVB(1x3)R(10x5)VDXVAGTAGQ(7x3)NKCTQVK(3x9)RRQ(1x15)C(31x15)(1x2)G(19x2)OAUAOISPSPTMKOGJEAV(4x1)DQTV(229x5)(2x4)EP(124x5)(117x6)(109x14)(16x14)UDUBGHIWRGGHYVJU(2x1)DG(7x14)XZCOKGR(4x15)XDVD(49x10)HIHUJRXURZHGHWJMFTGUQUBGCJVLZSGLDIANTUIKYZWXHMAZY(84x14)(6x15)IEUICQ(13x5)HXIRLHFWXDSIB(2x13)XU(39x4)(25x10)(11x14)MWHAQQMPPVR(1x13)R(2x9)UL(786x5)(38x10)(1x12)S(25x9)RRXFLAJRHOUZPDTBWKIZHUNGA(471x12)(54x8)(34x14)VJZSILTGZWMCZLOJSZHTQVVAZSPWHAKVFO(8x3)XCYTBHDX(221x9)(60x1)(1x2)M(17x13)PIRWGCEZQNSPPUBHK(23x10)YJEVBSPQYKPLPDOSCEHYSSA(78x12)(2x6)YY(21x5)TMWGVWVOZDOFGCFEZJRJR(32x5)ENWXNGFHIYQHCBWQEDTMBOWQKJIHAZHY(1x1)E(18x9)(2x1)OD(5x11)GGATR(32x11)(13x9)VZVAFSADAUIGI(8x2)JOUUXRCU(1x11)I(8x7)(3x8)PCV(75x3)(46x4)(28x9)PJXDTVYIRKASKJMXDIGAXSQPMPWK(6x11)SUYPHC(4x13)CBMV(8x7)QAUWLDLP(83x8)(19x7)DDNWFTSHJSTPWECIXWZ(6x5)EQWGSJ(1x5)O(20x6)(13x10)MNFVFUCESZDMF(9x15)(4x3)JZSU(7x12)(2x9)UZ(228x2)(220x15)(49x2)(1x10)C(5x9)TCPJZ(6x7)FJSPSS(4x14)FYQF(5x15)XBWKH(75x10)(5x15)KTHBO(12x5)LLZEFONZKCBI(28x5)RGMNFEEHBHZJKTMPVEPHIOJUXOMB(7x9)YWTZNCT(60x14)(3x10)DAN(15x6)BHOSLMFSEQKOGEX(1x4)D(17x11)SULIDVKKLXIWAJXRK(2x7)PX(4x1)TKPO(9x8)QFXUEZUGP(2331x2)(2323x8)(202x13)(10x13)(4x14)GFSR(178x4)(101x11)(21x9)(5x9)SWRRL(6x8)TYXYPJ(68x5)(4x10)QMJZ(19x15)APBTUGYPJQFQODZRNAC(5x13)YIVAO(14x14)QHWPZNQSRZJIEC(63x2)(32x10)(5x4)EVMQL(15x12)SAOYGPDXFSDOBTB(6x8)(1x5)C(7x13)MILUDKF(144x5)(3x8)PLQ(129x7)(27x3)(7x13)QLVZTAJ(9x4)JNLNRKPXA(4x13)EEXX(17x9)(11x9)SYQBWQASJPK(57x8)(29x8)(15x11)CFVXGJKXAAKNRRT(1x15)A(1x4)C(10x5)EFFLNXDEVJ(664x6)(357x6)(82x8)(7x12)LPCKKIX(55x10)(6x4)KXJNIR(2x4)IH(5x6)VIUMV(11x10)TCNXEQRMQJZ(4x7)DREZ(2x8)IV(119x7)(21x13)RHDEMDBNRPLOTSZRKZSHA(47x2)(22x2)ZADHZNUARPTFHKEXJKCWXY(7x6)OACRTYP(1x15)P(31x10)(5x4)VSWJT(7x1)IGAMFHI(4x3)GOCU(26x5)(19x13)(12x15)WGYBKVRPMWJT(15x7)IFUICWKGGCLHCOO(83x12)(62x8)(20x10)TJBGZCIWVKOROYITLBUA(7x11)UDSMGLK(6x3)FWPTWW(6x4)JECWEE(9x13)CUQMJOFWT(292x11)(68x14)(61x13)(28x10)ZRYXMSXXTLGDYHOVDRDVOCFJTCXJ(20x7)HZCFVXJATHXTNPHWFSIS(65x4)(11x6)BETMULBEIND(3x11)VLU(25x5)UYRFOHJXRRSJXEFEOPROCVNOA(3x4)GQJ(95x8)(81x11)(30x12)FXPGOAGXMVWAMAKJTQKJEUZNGCKDXU(10x5)YFDYGXCFTD(10x5)USWAFQFFSA(6x10)ZFVKMB(2x8)SF(16x8)MZPGUBATXFXXJOJS(17x4)AJTTIOULZONRGGMLK(448x2)(28x11)(22x2)(8x13)(3x1)TMQ(2x13)IP(5x6)AJJXN(290x1)(109x10)(5x12)CUMMS(7x7)UEWYDSN(59x12)(2x12)FP(26x3)LWFPYEPAANDDLIOJQBYCRRQYRT(1x2)O(7x10)RXDHAJH(14x6)(9x6)PQLSJTFAO(124x4)(56x12)(12x10)DOOJHOYDOTLM(10x7)VKUFQDGCPT(6x9)ONBPUY(5x5)CMPUW(5x13)WWWWM(16x9)TOPYYTZBFGFAXYBO(14x15)(8x10)FPVBQPNJ(1x15)O(18x1)UTQYAKMVOBJZDLTOVO(12x3)YHILDGGCGZXZ(20x7)(13x15)RVSYRCEYESCUC(73x10)(21x5)(15x4)EHQBVPUAJWTOZKA(22x12)FIWIHPWFDOJTMAXRCKCJZE(11x5)(5x15)PDHSQ(828x13)(1x8)P(161x8)(154x4)(11x3)DAFIIEMOBYZ(6x1)EGJWXU(107x7)(13x2)SRTDQRBOGITPI(6x2)VWSTKU(23x5)GJXMEBCGSIYQNMFLISIUFTB(1x2)D(36x8)GKPPJHVMOOTOCTUHRGVVQUKNHRCZNINYLJGB(6x11)EFSGDL(327x12)(6x2)QAAXCM(5x9)YVLGN(86x1)(10x1)SVFCLDTQEO(2x4)OA(17x15)OAEGSJHUTEFJXDOTD(7x7)HGXVBHJ(20x15)(2x6)XQ(8x5)KDXCQOFM(90x11)(14x15)(9x9)DTJSQPKYW(25x7)(12x11)SYLBSZEMQSQA(1x3)S(11x2)(5x13)KWHSE(4x7)MFSC(7x6)(1x12)F(110x2)(10x1)UIIOJNJJJI(88x8)(10x10)PQCUFWXHMC(15x12)OVVASAWDIIOZYIT(17x3)NLLLZIVNOIVEHGXDP(19x11)CDJEUHEPCUEYVLGYLTJ(311x11)(165x1)(16x7)MUMPDQFLGFEGIYLU(9x11)(3x11)FNP(1x14)U(60x4)(4x7)KDWX(4x1)LKMS(27x11)MIELWFKZJUSUYBARAGTJAZIBEDH(3x1)LDI(48x15)(10x15)DUUYAIZHKY(5x8)KEMNC(14x10)HZTAHRSCICOTIR(4x13)AUNU(45x2)FRDBNRZYFZLCAIEVZWSAIMLGBCDSBHXFPWRPYJRQHNWUZ(28x8)TCHELUEWWRHMIGBKEUCWBTIEVNCB(37x10)(30x11)(6x9)PLWKRH(2x3)PL(7x2)MAFSJHV(6697x8)(172x15)(164x10)(1x9)N(151x2)(7x2)MOYJQSA(24x4)BSZRAIBTDPFAAHQWOWDJJRCW(34x10)(2x15)QB(1x1)T(4x3)ALVX(6x7)SQFSKZ(2x11)JX(54x2)(47x14)(6x12)HOALAK(28x10)DGCVKLTWNKGAGRGSWPVEUGRDAGWA(2577x12)(88x14)(82x9)(48x2)(41x11)(4x5)KAVK(15x4)LCMPETDQZUWBRCL(6x9)CFZJGS(7x15)PGVNKAY(9x12)(4x4)NHID(827x3)(259x9)(153x12)(27x11)(21x4)PQNSUYEFBRAAVCJFJPPGZ(13x4)(7x10)NNSUBSG(70x11)LOGUFNQNLSWWQXBPQIWNJIEDRFUCRCUAVANHFGDEMQZRGSITBSBLZXVWJGXPPDZEXZQCEU(7x10)DTIEEXA(4x13)DDNZ(44x13)(37x14)(8x14)NIJOMVGP(17x1)MDXVVVWIZSXMSGJMC(4x4)ARFY(31x11)(10x14)RVZUREXEUI(1x7)M(3x5)LXC(170x5)(114x3)(83x3)(19x10)UUCHMGESOOTJCTEJVRM(3x5)ZCP(2x10)IU(25x6)TNLNLUTXNPNDWMXGVVGIPVWJL(4x12)JAAA(13x1)UFQFFPMZGZNNN(1x1)V(27x5)EDPBYCEAMMWAIPWUZODVDAWPWIJ(10x1)(4x10)VJHN(73x13)(66x12)(5x1)TAFQR(11x5)(6x8)ATBQTY(5x8)KZYJI(23x1)(17x3)VSDOKMWKSGRRIRXWF(297x5)(11x6)HTGQDOGJQSJ(49x13)(43x1)(8x5)ULVVUCJI(6x11)JAITVW(12x3)ISRQLAPACLXU(25x2)(19x7)(13x2)SRBHDIAPWUMER(51x9)(45x1)(8x9)ADOZRIJD(13x15)JXWDDHBYCJKMO(6x10)SKLMKL(129x8)(111x2)(5x10)ATJGD(22x6)OLATWNGTXFJMTWCJQAQDDA(19x1)WLYAFVAKQECTNXJRBVH(20x11)DDWDXGQEZBKJBDJBAKJB(14x5)TIZKGCXPPUBGSJ(5x14)SEHYY(1410x15)(148x5)(24x2)FHQUELWXQDUWLIBTXEPSQTJQ(111x3)(40x13)(6x7)ZAWWAD(2x15)GI(3x6)XJY(7x14)SCZWIKT(10x1)WMCTELCITD(15x12)(2x8)OD(3x3)IKM(12x2)(7x4)BEEDJSC(2x15)SZ(303x5)(89x2)(70x4)(3x7)ATQ(9x4)WSWYIUPAG(12x8)KDWAUNHURPWB(3x15)ESP(15x7)DANNZUDKDFXXSBO(7x12)VUNUHBI(1x8)M(180x9)(66x1)(20x12)MOUJOXCMCZUPVKVXPKUB(27x5)QHNMIHMVJVBBVCDGHPYOWRHTCLT(1x8)Q(22x13)ADGXYCQHWNAGCLWNPXBPIX(73x9)(1x11)J(27x14)ANTTYLYVSVWEAPXPGRRVWVINHFM(7x10)ZDBZWVE(3x12)ISL(5x4)YDXBZ(9x14)XBPBWAQTR(407x3)(186x1)(36x10)(1x2)W(23x13)DBNCARJKKIAWVQVKNOIPSJO(57x2)(6x9)VKZMPB(3x2)JIZ(22x2)AQWQZQOKXLPZSJTNBJKCXL(4x12)OAOJ(8x8)(2x10)PT(29x3)BKPFZBRCXVJUJJHVOIMJELFFHHBUR(26x5)WUACSRCIRADIQKCXKEESRJNWKU(10x9)RBSMRSUWMK(177x3)(1x10)Q(28x8)(5x5)PQQGD(6x13)LAGOEK(1x5)C(71x13)(16x12)IIAWONMLGHMCHWIH(19x11)KEYESARBBXHWWQWPQVC(1x11)A(9x12)LMADFIHXJ(6x5)MZVRQU(40x12)TOSAJVXJHKVWJKLTVBIUKKESOFCKFOPSXHYCMDXQ(8x15)XGHEISVJ(68x5)(62x3)(4x7)OOWZ(7x15)QNNVWUX(5x10)GSLOA(14x8)(1x8)B(3x3)HJL(3x11)EIK(450x6)(101x9)(30x8)(2x5)MM(17x8)GHTHOCTDDQAYBUVWP(59x8)(1x5)R(3x11)HYR(21x2)STLZXNENUFTGYWNQJHFUK(10x10)NGMEAWPFBI(28x3)LNDWFXKPRAOWKJHWZZIYLJLOOBKK(110x6)(14x2)SALGMMEIINEJOU(40x7)(4x13)AIMA(5x12)GSAFV(13x7)CSLJJRZIBBUMF(21x1)(15x9)THPSZDCPWASRUYR(2x5)EE(5x7)XDUPK(13x10)(7x13)SFWIYYQ(163x10)(26x15)(13x9)HQJQXZQCIHSAE(1x15)K(4x15)FMWB(9x12)SQVQTEWMD(41x3)(13x1)EEYHHJQCDSYRO(9x2)YCDDFHWTG(3x9)LGW(51x12)(7x14)OITBFQF(8x13)FZVMIWUM(9x8)XTZCNFOTE(4x15)KTHY(221x10)(213x14)(32x3)(26x3)GEUNPCYFYLTFFXOKWXFBDYLBMK(77x1)(41x14)(7x11)XBMCCZD(21x11)KFOJGBJCEHPTKBLUSTERX(10x4)IZWNLBDABA(8x3)IVDWYIMO(50x9)(6x5)(1x1)H(4x8)VDKE(2x5)QE(17x3)(11x7)KGYMJEMQVWS(9x4)EVWJYLBBQ(16x8)XZDDQZQPCOLVIYGD(3001x2)(724x14)(235x12)(227x11)(25x5)(1x10)N(3x4)QSO(5x3)XPKCV(24x8)(11x10)XXOIOGOKIOD(1x8)B(88x4)(1x12)I(10x6)CEIKKPKUJG(1x11)Y(6x8)QAYNKJ(41x7)BGKQCYZZGRQGCNXSGYHAXMWIJOPDKLMAQRKGFRBML(66x9)(14x12)YTKTEIISOWYZWB(3x13)UDK(12x2)PXDYSSCHAFSE(2x2)DA(6x1)UZSORT(309x1)(107x1)(81x11)(23x4)UHLCPASWMUWBQPYJSUHUFEO(5x1)NTMAV(26x7)JDNTOBRNEUELJIISZGKNRYSBRE(4x10)FVKZ(13x8)SBNXXTKLMDHII(138x4)(62x12)(55x12)OMRRSQWFPEAXAXHFHHQBWGCESBLWZBVYEQQKYRGILBNJJCAOXFHDIXU(19x13)(4x5)CVBF(5x9)EBLEV(15x1)(9x13)BATHCHMGP(16x1)BGSXRPQUKQJYDIPV(44x3)(8x1)(3x1)EWQ(7x12)JJIVUYJ(12x7)XJSYYYTSZBHD(7x14)EDHTGLH(144x13)(130x4)(12x7)(6x14)CYDLYL(43x2)(4x10)DOTG(4x8)ELJI(6x6)QGMRSQ(1x4)K(2x9)GS(40x2)(11x10)CDHAMRCSTVC(8x11)WMZDTRTD(2x14)XS(11x4)IXUNDJVBLSO(2x3)CH(7x7)(2x5)NF(1015x9)(204x1)(20x10)GPKSBZZRRZGMFICXNMIX(141x9)(24x9)NXNCFLIWVVVQNVKDRUTQYNJB(3x8)AXD(33x6)MDGPOLEPZEUNBDWGBSAFRPEMTKUXIJDRA(33x11)(2x15)PY(5x1)XYUAI(9x14)UPOUZTFRQ(17x10)YAMBZLTZMBSRFZOUK(5x10)NXKJE(11x15)GNJTBTSXLTN(299x9)(29x1)(22x10)(5x13)FSAYZ(5x14)MWJOX(178x9)(79x14)(21x12)WXTCOEECSKHDITBOAAVSF(6x15)INXWKB(8x11)NTSEQSMQ(19x1)UTQUQGUDXSFROLQWKVZ(76x6)(3x2)QOL(10x15)UIGYPYAWRR(7x7)JEELSVH(13x12)RUBSHAXAWQGYF(12x12)PGQUXPKEKXRN(4x15)BQEB(8x4)(3x1)AVE(59x15)(11x11)QGBFDCZTADF(22x8)(7x7)RJEZNHA(4x11)MMJN(8x7)(3x7)GNT(174x1)(166x12)(17x2)ZDOBQSATWXMNNJDCV(17x13)(10x14)CATNORVTYK(95x10)(9x5)LROSBZBVM(29x2)ZQBDHDVQJGZTGKDBOSHXOCVXYOSKC(22x11)FXLGIAQRSIJQCGUQPFJXFM(3x8)HSE(3x11)JVV(11x2)(6x7)YCATPH(206x5)(133x6)(31x8)(8x5)YTYSRRBZ(4x13)UYBY(3x6)SJW(32x4)ZCNRDWQGEMLBOCMJMCAJJVJPLIQXSTSG(52x3)(12x10)ENCLYDJSGEYW(13x15)EXRYDALLRZKCF(8x1)RIVKPAAB(8x14)GUSBQGHU(46x2)(1x5)P(34x8)(16x3)GDVLVDXNKOCDWQJI(6x15)YGGNZJ(98x6)(91x10)(11x5)RVKZVECGFPV(8x12)(3x7)URB(54x1)(11x12)JPMMFXPJPMQ(5x1)ZKRGP(19x13)ZJIYXFENCFNAFOEFUNL(1225x12)(534x15)(214x13)(64x15)(5x7)PZQBH(25x10)XSZONMJVANCJZOJPAAEJSRYGT(16x5)PQPCLAYGZUDSQKTZ(83x8)(40x6)ZKUMBQGMGPGEAKSJHFSIPNWEKXZEHBJUUSCVWYMY(10x5)CMXYJOWZZN(6x1)WPARZQ(4x14)FAYY(16x1)(1x11)E(3x12)MLF(25x11)(3x8)BRT(10x14)OGKXRSWWPD(4x1)VFBM(227x12)(150x2)(25x10)YFBSVADMLPNYAIXAPMBRZPTCO(8x14)PKGEMLYV(50x10)DKUPPNRQKKWAJIQCFKGQVRSXTUWPVNQZESPGLNQWMVMAOCORMP(9x6)HVKQYKZAH(26x10)RQQPTHCFQFHIBMEATIAVVKWDWG(57x9)(8x10)QVILTCPK(36x13)LUDTUSNBRJNJCTXOFFMWIMAMWBKXHMMENNSW(2x7)ZQ(62x5)(25x8)(5x15)GCZUZ(9x1)JPDRQMLTB(24x13)YTTGOHFCVHRRGLESEARVNFPQ(178x5)(42x2)(21x15)(8x5)RPZICSEL(3x4)YIL(8x13)(2x11)GF(84x11)(70x2)(7x5)MWWDPMK(7x11)TEYJOFJ(31x1)TWNBXEDRILLPRUGJDBIVBFYNVHGLUED(3x8)VDU(3x9)YYV(7x4)(1x12)L(21x1)(1x4)M(1x8)J(4x3)XJGN(491x9)(148x8)(36x3)(2x9)MG(13x11)EDWPZURXZWLML(4x1)VRBX(31x11)(14x8)KBLQBMRGRGKHCT(5x14)PRDLH(3x8)CQB(32x15)(10x15)RLWBNSAEHH(3x3)HPB(2x2)PA(15x2)TKPIZXDBJJMAZDR(133x8)(1x6)B(83x8)(13x10)WNSKNXUSTCDKE(4x8)NMAW(6x6)EJRNHD(4x14)MLJN(27x5)ZQBFSJWECOPVETZPGXQJPPDQZEL(22x1)(16x1)ZSEPLZISVDFRGRJB(4x13)YRXG(39x2)(33x7)(16x9)HMRXYWRBVITBVWTG(6x2)LCYRSW(123x13)(31x12)WVTWWQZUYGBJOSPKLUQTAGWXXURUDLI(34x10)(7x5)ZTTMEQS(2x8)YX(9x13)ROIYTCKSX(28x13)(3x9)WPV(13x14)PQHWCFNXKFFOH(3x15)EUZ(14x7)(8x15)UHHVOLEJ(914x15)(782x12)(448x5)(118x6)(26x12)(4x12)BLTT(10x2)REYZXYJJFQ(39x8)(8x6)XEWKRGZT(3x8)ECB(5x9)GOBWQ(3x2)KKM(34x7)(18x11)QSQRCJXLCKUYJBPSWG(4x9)XOSJ(34x5)CIABSNSBNQQKAARJOOETKSXJIPOFQOMAPK(24x13)(3x7)ADL(10x3)RVSLAIXAJJ(67x7)(52x9)(3x2)AJH(3x6)OGK(4x9)SQFL(1x1)T(14x14)BQZZXEWSTOKEUA(3x13)HBM(171x14)(25x9)YKLMFOEYQHSODISORNEKDIGVY(12x6)(6x13)OFJBKW(53x7)(21x11)GINJQDIXMAWRHIHJLXFIP(19x8)SVTFKYTLPWYEWWFIUPB(16x12)(2x1)PB(4x8)TMWZ(33x15)(5x3)QBMUH(10x5)UHNESLDFMY(2x4)WW(9x2)(4x7)QTKW(94x10)(47x10)UUVWDQXOXQUFEROVLOZRXIHEPHTWRPSGHLNSYGNIVHEDQGV(34x3)(21x4)(7x9)IMCZEIB(4x2)TNMA(2x9)DM(192x6)(2x7)ZF(2x3)VU(6x13)DODXJG(158x15)(1x4)K(42x12)(2x8)RM(4x6)YMIM(5x2)BXKIG(10x1)ZWQMIAOBEY(78x8)(7x1)XHAETJV(28x1)QPKULGVENLMJWWEHOROJEESLKYTA(3x5)XMZ(18x1)FZBLVDOKGEZKOBICEO(13x9)MWICPPUEWVWKH(7x10)KVNGSWM(116x10)(26x3)(20x8)(8x12)SSVBYWJX(1x9)H(77x14)(12x3)OWHWKICESREK(1x11)D(46x3)(11x5)(5x15)ORJRA(1x13)K(16x3)XRJXBYVIUITRPPYRRNHU diff --git a/data/advent10-test.txt b/data/advent10-test.txt new file mode 100644 index 0000000..e9ad2b4 --- /dev/null +++ b/data/advent10-test.txt @@ -0,0 +1,6 @@ +value 5 goes to bot 2 +bot 2 gives low to bot 1 and high to bot 0 +value 3 goes to bot 1 +bot 1 gives low to output 1 and high to bot 0 +bot 0 gives low to output 2 and high to output 0 +value 2 goes to bot 2 diff --git a/data/advent10.txt b/data/advent10.txt new file mode 100644 index 0000000..bcede34 --- /dev/null +++ b/data/advent10.txt @@ -0,0 +1,231 @@ +bot 123 gives low to bot 191 and high to bot 162 +bot 191 gives low to output 9 and high to bot 192 +bot 182 gives low to bot 175 and high to bot 196 +bot 113 gives low to bot 172 and high to bot 94 +bot 78 gives low to bot 37 and high to bot 25 +bot 187 gives low to bot 125 and high to bot 45 +bot 71 gives low to bot 108 and high to bot 61 +bot 154 gives low to bot 2 and high to bot 64 +bot 142 gives low to bot 110 and high to bot 163 +bot 109 gives low to output 0 and high to bot 43 +bot 198 gives low to bot 101 and high to bot 52 +bot 138 gives low to bot 9 and high to bot 47 +value 5 goes to bot 189 +bot 179 gives low to bot 176 and high to bot 14 +bot 115 gives low to bot 82 and high to bot 181 +bot 101 gives low to bot 90 and high to bot 5 +bot 9 gives low to output 5 and high to bot 149 +bot 181 gives low to bot 0 and high to bot 27 +bot 119 gives low to bot 207 and high to bot 65 +bot 202 gives low to bot 69 and high to bot 154 +bot 100 gives low to bot 206 and high to bot 169 +bot 72 gives low to bot 205 and high to bot 12 +bot 146 gives low to bot 8 and high to bot 106 +bot 58 gives low to bot 180 and high to bot 123 +value 37 goes to bot 1 +value 61 goes to bot 144 +bot 205 gives low to bot 169 and high to bot 3 +bot 91 gives low to bot 76 and high to bot 84 +bot 93 gives low to bot 122 and high to bot 100 +bot 76 gives low to bot 147 and high to bot 89 +bot 102 gives low to bot 11 and high to bot 23 +bot 43 gives low to output 11 and high to output 12 +bot 128 gives low to bot 15 and high to bot 85 +bot 137 gives low to bot 112 and high to bot 2 +bot 88 gives low to bot 103 and high to bot 55 +bot 162 gives low to bot 192 and high to bot 141 +bot 183 gives low to bot 49 and high to bot 81 +bot 127 gives low to bot 113 and high to bot 207 +value 11 goes to bot 165 +bot 28 gives low to bot 62 and high to bot 42 +bot 95 gives low to bot 42 and high to bot 32 +bot 50 gives low to bot 160 and high to bot 194 +bot 68 gives low to bot 133 and high to bot 142 +bot 20 gives low to bot 208 and high to bot 203 +bot 178 gives low to bot 182 and high to bot 54 +bot 120 gives low to bot 102 and high to bot 99 +bot 131 gives low to bot 67 and high to bot 83 +bot 21 gives low to bot 111 and high to bot 69 +bot 27 gives low to bot 46 and high to bot 193 +bot 98 gives low to bot 63 and high to bot 22 +value 13 goes to bot 7 +bot 121 gives low to bot 155 and high to bot 146 +bot 41 gives low to bot 153 and high to bot 53 +bot 75 gives low to bot 100 and high to bot 205 +value 43 goes to bot 4 +bot 206 gives low to bot 151 and high to bot 77 +bot 0 gives low to bot 95 and high to bot 46 +bot 208 gives low to output 14 and high to bot 126 +bot 40 gives low to bot 187 and high to bot 184 +bot 184 gives low to bot 45 and high to bot 124 +bot 60 gives low to bot 188 and high to bot 202 +value 67 goes to bot 198 +bot 145 gives low to bot 22 and high to bot 108 +bot 197 gives low to bot 195 and high to bot 190 +bot 203 gives low to bot 126 and high to bot 51 +bot 87 gives low to bot 51 and high to bot 179 +bot 64 gives low to bot 128 and high to bot 85 +bot 1 gives low to bot 198 and high to bot 173 +bot 29 gives low to bot 71 and high to bot 168 +bot 47 gives low to bot 149 and high to bot 113 +bot 165 gives low to bot 80 and high to bot 135 +bot 112 gives low to bot 162 and high to bot 174 +bot 149 gives low to output 1 and high to bot 172 +value 41 goes to bot 80 +bot 5 gives low to bot 136 and high to bot 62 +bot 143 gives low to bot 97 and high to bot 41 +bot 86 gives low to bot 145 and high to bot 71 +value 59 goes to bot 147 +bot 57 gives low to bot 30 and high to bot 188 +bot 36 gives low to bot 150 and high to bot 30 +bot 135 gives low to bot 44 and high to bot 117 +bot 134 gives low to bot 16 and high to bot 35 +bot 167 gives low to bot 28 and high to bot 95 +bot 22 gives low to bot 127 and high to bot 119 +bot 26 gives low to bot 81 and high to bot 16 +bot 33 gives low to bot 6 and high to bot 78 +bot 171 gives low to bot 186 and high to bot 17 +bot 16 gives low to bot 96 and high to bot 33 +bot 118 gives low to bot 117 and high to bot 56 +bot 199 gives low to bot 98 and high to bot 145 +bot 188 gives low to bot 21 and high to bot 202 +value 29 goes to bot 164 +bot 169 gives low to bot 77 and high to bot 140 +bot 96 gives low to bot 181 and high to bot 6 +value 71 goes to bot 201 +bot 194 gives low to bot 87 and high to bot 150 +bot 160 gives low to bot 203 and high to bot 87 +bot 15 gives low to bot 158 and high to bot 105 +bot 42 gives low to bot 166 and high to bot 39 +bot 133 gives low to bot 54 and high to bot 110 +value 47 goes to bot 13 +bot 31 gives low to output 8 and high to bot 9 +bot 159 gives low to bot 74 and high to bot 155 +bot 157 gives low to bot 12 and high to bot 187 +bot 176 gives low to bot 139 and high to bot 58 +bot 35 gives low to bot 33 and high to bot 78 +bot 90 gives low to bot 148 and high to bot 136 +bot 122 gives low to bot 70 and high to bot 206 +bot 114 gives low to bot 72 and high to bot 157 +bot 55 gives low to bot 40 and high to bot 184 +bot 37 gives low to bot 193 and high to bot 25 +value 31 goes to bot 13 +bot 107 gives low to bot 99 and high to bot 93 +bot 14 gives low to bot 58 and high to bot 38 +bot 77 gives low to bot 86 and high to bot 29 +bot 116 gives low to bot 79 and high to bot 170 +bot 23 gives low to bot 132 and high to bot 70 +bot 148 gives low to bot 144 and high to bot 120 +bot 195 gives low to bot 170 and high to bot 185 +bot 185 gives low to bot 138 and high to bot 63 +bot 62 gives low to bot 107 and high to bot 166 +bot 174 gives low to bot 141 and high to bot 128 +bot 7 gives low to bot 91 and high to bot 11 +bot 3 gives low to bot 140 and high to bot 34 +bot 12 gives low to bot 3 and high to bot 125 +value 7 goes to bot 148 +bot 70 gives low to bot 161 and high to bot 151 +bot 89 gives low to bot 116 and high to bot 195 +bot 108 gives low to bot 119 and high to bot 204 +bot 201 gives low to bot 1 and high to bot 104 +bot 18 gives low to output 15 and high to bot 208 +bot 66 gives low to bot 177 and high to bot 130 +bot 189 gives low to bot 165 and high to bot 177 +bot 48 gives low to output 13 and high to bot 18 +bot 186 gives low to bot 189 and high to bot 66 +bot 82 gives low to bot 167 and high to bot 0 +bot 92 gives low to bot 201 and high to bot 49 +bot 144 gives low to bot 7 and high to bot 102 +bot 97 gives low to bot 146 and high to bot 153 +bot 104 gives low to bot 173 and high to bot 82 +bot 74 gives low to bot 83 and high to bot 50 +bot 49 gives low to bot 104 and high to bot 115 +bot 172 gives low to output 20 and high to bot 48 +bot 163 gives low to bot 41 and high to bot 53 +bot 117 gives low to bot 26 and high to bot 134 +bot 168 gives low to bot 61 and high to bot 182 +bot 65 gives low to bot 131 and high to bot 74 +bot 180 gives low to output 6 and high to bot 191 +bot 126 gives low to output 19 and high to bot 19 +value 19 goes to bot 186 +bot 166 gives low to bot 93 and high to bot 75 +bot 193 gives low to bot 59 and high to bot 88 +bot 81 gives low to bot 115 and high to bot 96 +bot 207 gives low to bot 94 and high to bot 131 +bot 130 gives low to bot 118 and high to bot 56 +bot 153 gives low to bot 106 and high to bot 152 +value 17 goes to bot 92 +bot 110 gives low to bot 143 and high to bot 163 +bot 192 gives low to output 7 and high to bot 129 +bot 156 gives low to bot 10 and high to bot 68 +bot 83 gives low to bot 20 and high to bot 160 +bot 2 gives low to bot 174 and high to bot 64 +value 23 goes to bot 91 +bot 10 gives low to bot 178 and high to bot 133 +bot 103 gives low to bot 157 and high to bot 40 +bot 61 gives low to bot 204 and high to bot 175 +bot 63 gives low to bot 47 and high to bot 127 +bot 105 gives low to bot 200 and high to bot 24 +bot 79 gives low to output 10 and high to bot 31 +bot 73 gives low to bot 168 and high to bot 178 +bot 19 gives low to output 2 and high to bot 139 +bot 125 gives low to bot 34 and high to bot 156 +bot 56 gives low to bot 134 and high to bot 35 +bot 44 gives low to bot 183 and high to bot 26 +bot 4 gives low to output 3 and high to bot 79 +bot 155 gives low to bot 50 and high to bot 8 +value 73 goes to bot 101 +bot 38 gives low to bot 123 and high to bot 112 +bot 151 gives low to bot 199 and high to bot 86 +bot 17 gives low to bot 66 and high to bot 130 +bot 13 gives low to bot 171 and high to bot 17 +bot 190 gives low to bot 185 and high to bot 98 +bot 161 gives low to bot 190 and high to bot 199 +bot 139 gives low to output 16 and high to bot 180 +bot 99 gives low to bot 23 and high to bot 122 +bot 53 gives low to bot 152 and high to bot 60 +bot 94 gives low to bot 48 and high to bot 67 +bot 132 gives low to bot 197 and high to bot 161 +bot 150 gives low to bot 179 and high to bot 209 +bot 173 gives low to bot 52 and high to bot 167 +bot 45 gives low to bot 156 and high to bot 124 +bot 30 gives low to bot 209 and high to bot 21 +bot 67 gives low to bot 18 and high to bot 20 +bot 84 gives low to bot 89 and high to bot 197 +bot 8 gives low to bot 194 and high to bot 36 +bot 59 gives low to bot 114 and high to bot 103 +bot 209 gives low to bot 14 and high to bot 111 +value 53 goes to bot 76 +bot 69 gives low to bot 137 and high to bot 154 +bot 46 gives low to bot 32 and high to bot 59 +bot 111 gives low to bot 38 and high to bot 137 +bot 196 gives low to bot 121 and high to bot 97 +bot 52 gives low to bot 5 and high to bot 28 +bot 11 gives low to bot 84 and high to bot 132 +bot 204 gives low to bot 65 and high to bot 159 +bot 164 gives low to bot 92 and high to bot 183 +bot 24 gives low to bot 109 and high to bot 43 +value 2 goes to bot 171 +bot 51 gives low to bot 19 and high to bot 176 +bot 136 gives low to bot 120 and high to bot 107 +bot 147 gives low to bot 4 and high to bot 116 +bot 25 gives low to bot 88 and high to bot 55 +bot 129 gives low to output 18 and high to bot 158 +bot 152 gives low to bot 57 and high to bot 60 +bot 39 gives low to bot 75 and high to bot 72 +bot 124 gives low to bot 68 and high to bot 142 +bot 141 gives low to bot 129 and high to bot 15 +bot 85 gives low to bot 105 and high to bot 24 +value 3 goes to bot 90 +bot 80 gives low to bot 164 and high to bot 44 +bot 54 gives low to bot 196 and high to bot 143 +bot 34 gives low to bot 73 and high to bot 10 +bot 175 gives low to bot 159 and high to bot 121 +bot 32 gives low to bot 39 and high to bot 114 +bot 140 gives low to bot 29 and high to bot 73 +bot 200 gives low to output 17 and high to bot 109 +bot 106 gives low to bot 36 and high to bot 57 +bot 177 gives low to bot 135 and high to bot 118 +bot 170 gives low to bot 31 and high to bot 138 +bot 158 gives low to output 4 and high to bot 200 +bot 6 gives low to bot 27 and high to bot 37 diff --git a/data/advent12.txt b/data/advent12.txt new file mode 100644 index 0000000..538e9ea --- /dev/null +++ b/data/advent12.txt @@ -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 18 c +cpy 11 d +inc a +dec d +jnz d -2 +dec c +jnz c -5 diff --git a/data/advent15.test.txt b/data/advent15.test.txt new file mode 100644 index 0000000..3683605 --- /dev/null +++ b/data/advent15.test.txt @@ -0,0 +1,3 @@ +Disc #1 has 5 positions; at time=0, it is at position 4. +Disc #2 has 2 positions; at time=0, it is at position 1. + diff --git a/data/advent15.txt b/data/advent15.txt new file mode 100644 index 0000000..d2463d1 --- /dev/null +++ b/data/advent15.txt @@ -0,0 +1,6 @@ +Disc #1 has 5 positions; at time=0, it is at position 2. +Disc #2 has 13 positions; at time=0, it is at position 7. +Disc #3 has 17 positions; at time=0, it is at position 10. +Disc #4 has 3 positions; at time=0, it is at position 2. +Disc #5 has 19 positions; at time=0, it is at position 9. +Disc #6 has 7 positions; at time=0, it is at position 0. diff --git a/data/advent20.txt b/data/advent20.txt new file mode 100644 index 0000000..222a0d9 --- /dev/null +++ b/data/advent20.txt @@ -0,0 +1,1029 @@ +1397985562-1399927095 +3833336583-3842601761 +155087348-169525214 +980790001-1002844256 +1977065361-1995466542 +36411396-50881439 +3640866817-3644930814 +2920060305-2932561292 +2865550534-2890593328 +3904139550-3908601694 +732092457-735186747 +1787486182-1806545011 +1491600386-1521258835 +2566773511-2568507598 +2201927929-2217336001 +948934267-952537088 +2146567862-2152339711 +3301828099-3306223909 +476027067-495966189 +2724939184-2726302873 +2270442513-2292973307 +1889038911-1895488302 +1578483230-1586330750 +2640456298-2651236024 +4254290660-4256486512 +1399927096-1421446962 +3253590561-3255525299 +4165315034-4173427102 +2875463797-2888803426 +3656533491-3659451752 +1995466544-2025204494 +3947779886-3987268039 +1521258837-1538635254 +735486056-744123494 +230221149-237996554 +3652971511-3653104884 +3019667516-3024190047 +969642901-977292032 +3645248112-3645595401 +3107902888-3148345903 +3202431537-3216963208 +1220746925-1223070151 +3267241325-3270573499 +903635659-931632639 +2847235008-2856948110 +4224654922-4236958325 +856464812-859836714 +1804748836-1825290046 +4082899236-4091369419 +953634177-954158487 +185823994-190243500 +1964052811-1976412955 +2420916052-2424566745 +953985134-954947310 +2584348542-2614406629 +2191157950-2198152569 +792721019-802271235 +3791161572-3800845341 +1864843815-1865425121 +1974124152-1989195256 +7825290-22939478 +440787397-441318113 +43830518-44800277 +3060173435-3065634268 +3165692093-3169381847 +1833191664-1858547431 +1931833201-1935239219 +57759373-67515020 +4113876528-4114024438 +1942285042-1951328312 +1604942683-1619936021 +853121890-865841853 +1837742103-1838104083 +3653104885-3680835942 +461163769-461467242 +3154277391-3159331043 +1689521647-1696389379 +4132416435-4154260806 +3575213588-3600527150 +962221692-989154668 +1935239220-1964052809 +853763614-856527667 +1529882226-1553729207 +2908870325-2931754108 +2317225465-2326207645 +550660010-557063544 +2362374340-2370047564 +3154439917-3169895876 +2971931902-2973888167 +3915276202-3919826635 +3443104535-3459421692 +2452320784-2463651682 +2645465344-2652262587 +623576471-624671363 +251678316-253256260 +3892899041-3898838343 +464002012-476960875 +3778510328-3794259788 +1032494594-1042075604 +1726869059-1729493515 +3050865580-3058403387 +4096451268-4105743850 +1794978532-1818366498 +1687963887-1693429657 +1919840326-1931792580 +3890085195-3896657673 +687727514-697989805 +2130251157-2132529361 +3709755147-3710261877 +2103854130-2136933959 +1240822471-1247567713 +2490928812-2517604025 +2792885084-2793563605 +4033319760-4037319553 +643767762-679821627 +2244191155-2263679816 +783204448-826857019 +874202754-876456673 +944792902-949779600 +1014490072-1020320091 +3709667893-3710060580 +3034067373-3060173434 +2380617387-2398492444 +3913418161-3925664598 +1327421559-1355573458 +2029296660-2060654925 +1015438314-1024776747 +758467105-766508249 +3196737715-3203535886 +4113219652-4113918216 +1900161068-1903498607 +737196603-742913680 +2762651281-2782581391 +1241724970-1273412553 +2234377553-2234408980 +3485475801-3485850742 +2823889184-2825719103 +546429220-552909166 +3889312069-3891497364 +1402469948-1411853934 +1612881279-1613899725 +609769932-611526589 +2821381184-2837715581 +2793443367-2793757783 +3865830130-3882113243 +2302840856-2330280758 +1587820493-1589487382 +1925168590-1930014298 +139238032-141721873 +3159767763-3165446614 +3124692923-3128639222 +2270740594-2281991663 +1338789977-1355677780 +1748641567-1751344173 +1416549076-1421417040 +4096185893-4097103352 +2627343873-2650750532 +3948622110-3962424399 +3734105837-3770337993 +557813236-573792261 +551603476-555886358 +1030836305-1032494592 +1839182718-1840151300 +833662859-842106273 +1375985004-1393778055 +1219332117-1221436570 +191846359-198587644 +984829875-987740125 +3262588159-3269982376 +4113255424-4114203177 +3754035901-3768277382 +182356017-189508231 +4235072872-4237128944 +2423845665-2424035634 +2247134633-2249391253 +1857070653-1864762228 +2960971255-2986516950 +3609807449-3629876533 +4232009521-4238664410 +2517604027-2532315540 +2284458125-2290950480 +1864762230-1865525184 +1534410012-1552842249 +1413197933-1418525745 +943004746-952141611 +3692615771-3699711756 +1641152229-1667111341 +3747007580-3765218619 +2379349853-2380702573 +2147254282-2171495074 +1839659452-1840812997 +3895746954-3895831312 +1969771475-1979046124 +3083853152-3107315352 +3503489045-3537546786 +2926162506-2931745365 +1533535067-1553811000 +4201206086-4201731554 +3151335418-3163702483 +3589540929-3593463200 +1469107231-1474901685 +1696389381-1748641566 +3910219915-3918863153 +3431523383-3432952214 +4219640842-4234037045 +2150930801-2173615229 +3364393582-3403187084 +3294593092-3301828098 +690072645-725395887 +1123029535-1135646014 +122125578-124303606 +4157086822-4157139009 +3561413702-3569934827 +3814389694-3815485217 +1931792582-1935186677 +3601713750-3623094300 +2322435284-2327697391 +1362099577-1366674586 +628898939-635522883 +3117359644-3135324932 +1119748429-1139457622 +3998554882-4014887284 +2837930003-2838092963 +2123885505-2126641084 +559576606-579617582 +2712491763-2723761235 +1391544337-1397769783 +3416595318-3422405875 +3403187085-3409221687 +1096346351-1099114997 +2703273295-2705328183 +4113785067-4113908859 +206706372-209083880 +3270160481-3271551430 +3285776930-3292794583 +461234099-461937747 +750957483-775003729 +4184090903-4204400455 +362276042-362676210 +4249953310-4250510076 +3477313433-3479866795 +3421127715-3428203812 +900263617-943004744 +835969757-836263940 +1368935057-1381717988 +149206242-166300349 +2154227228-2154605899 +1906507809-1919840325 +305745049-306370999 +1726861064-1728699678 +1357107426-1362288056 +799761595-801167452 +229374054-231369444 +1529834231-1535566821 +754999390-757160209 +1889190091-1897618002 +2138256423-2146567860 +2295710373-2336599718 +1019914990-1023404843 +969695821-980184547 +1443906340-1473362681 +833198360-836801840 +1598512205-1604942681 +3199387842-3210382637 +3895688557-3895758051 +1377900216-1382117658 +3504189983-3527083803 +3577792742-3598561740 +613575187-632091293 +2551456957-2551799726 +4058092124-4103653807 +3381308208-3381342063 +13984873-15227949 +1727002523-1727443872 +2357289728-2361812594 +3876054666-3879516291 +3278228783-3281894754 +1640252019-1649137061 +2372620720-2374166948 +4109383543-4110464683 +2069304258-2091857479 +4107063052-4115320079 +700724903-704038468 +2443015838-2445045788 +2487239190-2506741363 +2840932452-2854276703 +3023346911-3024737732 +855982891-864879970 +3794259789-3803801069 +500728802-502979928 +2043915271-2045977041 +2883286342-2889401600 +3645471325-3645615199 +2570503460-2572567939 +602978860-611682641 +3014237470-3019165777 +82763197-99917251 +3459591973-3480841023 +3726344670-3753436804 +778825357-781459133 +3501129290-3535003794 +2110603192-2124722020 +783458439-789801399 +3244733157-3257526606 +3107315354-3107902887 +3485245437-3487101327 +2981323037-2986657197 +4250870060-4262722661 +402547398-411983817 +1723037247-1732297154 +2168632715-2175630061 +35807058-48835050 +3967606126-3981776003 +1175337592-1177759663 +531093126-538642617 +3639437354-3641516465 +2313078075-2334991622 +2166324817-2172350995 +4271478996-4279496401 +4224492579-4228356386 +213570433-219586693 +3577738508-3578878626 +2004747361-2023251091 +638907979-651338734 +2042269899-2052960282 +3459421693-3470010193 +1255554697-1256876442 +547623253-554247422 +1091999863-1096115712 +3603876264-3620115458 +3743564125-3764787998 +1727097235-1727512693 +3360184134-3361837705 +2693328393-2699639043 +944625756-949285354 +2867948986-2885571238 +3815862045-3817192748 +85521215-90999860 +3492959364-3496450746 +2370047566-2373514273 +978064227-982934994 +3002922234-3034067371 +3702198906-3708772192 +1762248212-1777087215 +3200048313-3217284316 +310731268-314864040 +4256139187-4257030493 +4225267250-4242760473 +4236421277-4249953308 +456593320-464031864 +4173427103-4219640840 +3415471996-3417373524 +517786225-518353134 +2348225752-2349209975 +988767498-1002507583 +251787031-253294331 +2049843175-2053651832 +3272267359-3280700773 +1880334878-1897812119 +2180116083-2181662625 +1325501561-1332569991 +1977956589-1980243809 +1419475215-1429076341 +1571066989-1593324419 +1908591293-1926977363 +892862026-900263616 +2375708935-2420847226 +4252569311-4259706067 +611682642-636576980 +4069864506-4088316591 +3429899073-3443104533 +2881173909-2904242568 +838248538-839457347 +1040048945-1048427339 +2790325698-2817756908 +259065357-260284546 +4251177319-4254787503 +1727035024-1727220036 +1750189264-1751440819 +1182854783-1199103982 +1565110550-1598512204 +1870272544-1906507807 +2294404836-2313311754 +605934295-611508831 +3164119802-3167924307 +1833545461-1834287253 +2077509652-2090604632 +2880238444-2890262424 +1142031337-1148518669 +4005987455-4006591959 +1570054798-1576009746 +2071505543-2096650688 +3485106835-3485722365 +577813461-602978858 +2776866362-2786901141 +652895584-671838947 +3299449839-3300020065 +1623460193-1638054811 +3340666115-3353087971 +2160043893-2166478186 +1096507969-1101378526 +800088830-803013264 +13565145-17743483 +85024888-98806837 +3823224649-3827480049 +3931062541-3938277752 +1012892921-1030836304 +1565255853-1583189516 +1647708193-1660811906 +657010776-666847464 +1839278378-1840330117 +1008973854-1015912839 +1910283066-1913763928 +837557263-838411350 +1282815406-1288995029 +3980611-5584893 +3148345905-3165692092 +2742421263-2776592447 +229688447-231610502 +2743245719-2776866361 +3878098271-3883221309 +801316931-804135040 +1471664269-1473302685 +1667111343-1669791317 +1610947175-1617629889 +2003085048-2013051153 +3307457133-3360184133 +1195340209-1203343093 +2025204495-2028453665 +32923438-47156091 +3168696227-3170592073 +3235742576-3255614827 +2266729227-2280080556 +775349160-775813901 +1473362682-1482720843 +3572312385-3575213587 +528189743-538093910 +2448613175-2454994921 +2843283603-2855830818 +2890593329-2907911642 +153191907-164713586 +4043150608-4096451267 +605875663-610305444 +3021650-3111593 +2420847228-2420916051 +4105743852-4113419273 +2460397045-2462412256 +567585936-602788586 +1727082530-1727671255 +4033434900-4037286987 +4144511592-4162791978 +3075535768-3080851776 +1639907267-1641352662 +920282814-940069234 +3826936712-3829839713 +1916925688-1925357559 +1845213589-1860279111 +1854550234-1855331759 +3065495280-3066648567 +170353613-171186253 +3212824412-3220097963 +2853141261-2853700351 +3556640-3614471 +1976412956-1988224560 +3296627900-3297163117 +725395889-749479392 +2233996777-2234267091 +1757843247-1759325879 +4279435928-4280514617 +801130429-802441496 +3751681078-3760769957 +2347982977-2366662085 +4235682663-4235983270 +3496282296-3499776408 +3821333501-3824224274 +2723761236-2742421261 +2827790660-2835001032 +1935288812-1941728417 +1726855325-1728050569 +1726544710-1727430469 +3940016790-3941936080 +546101318-552097193 +4184013882-4199809831 +2425846522-2426458497 +3361306788-3362865310 +453108094-456181406 +860613212-892862024 +362299769-362572315 +17407637-23147236 +3504547466-3505717615 +985733821-987978530 +2735458050-2740276231 +270737999-279345075 +1787997707-1795677405 +3680835944-3709667892 +3818408771-3825605323 +16201770-24236234 +1158649495-1176112357 +952141612-961131855 +2690399120-2697050905 +2837757591-2838004534 +3487101328-3501129288 +3888980907-3889308041 +3139002312-3144216973 +1812389934-1832528171 +4062104130-4081249321 +4109985868-4116611691 +261499681-305729049 +414982559-415941657 +2837715582-2837939443 +1612314605-1613532579 +1847293843-1854555869 +2048771211-2052518908 +701565294-713634431 +208666820-210559343 +2827420738-2834300681 +4141218867-4154796647 +1970845509-1978651442 +1552842250-1565110548 +412226938-422230809 +596789633-599083332 +571536075-580257978 +4162791979-4165315032 +2578608882-2600367385 +2953753655-2967704893 +1620638998-1623460191 +3652181866-3653081107 +1226734954-1263413684 +208300600-209821102 +3019452277-3019912348 +1614701447-1620638997 +3941936081-3996282520 +3237157247-3249234449 +2348186235-2349807460 +3562813382-3565898388 +3710261879-3738818624 +2629772693-2635508362 +2443958025-2447376004 +399974274-423562472 +1778846705-1790086524 +2234646109-2266729225 +1668227842-1689521646 +3549361830-3564965209 +1286877599-1288249900 +2117171419-2125943104 +3620689032-3652181864 +3299261942-3299688775 +1490791491-1514099208 +3817192749-3833336581 +3410915712-3429899072 +541342032-546429219 +918411171-924314929 +2182745019-2185607312 +2212606518-2214621946 +1779983196-1804748835 +1936162035-1950945741 +3704618658-3705051939 +1764680564-1778846703 +2698697285-2709059938 +1326793529-1329535111 +3702328552-3704015912 +2008848662-2015608293 +1231732813-1247626190 +1750754899-1752420348 +1093229127-1099058712 +4234037046-4236997947 +3493552026-3497919102 +3235053958-3252106974 +4018470466-4036608102 +701727470-719544055 +574115703-596179511 +3202587506-3210265222 +698102469-706160479 +1832528173-1833853020 +441673267-452453492 +2911169435-2921998083 +2229856423-2234646108 +2196901664-2204841238 +1675352425-1691381949 +4250455374-4250513503 +3237515102-3260318492 +171161905-175877664 +2581539215-2596898898 +4004311193-4012385537 +1324083574-1324546090 +4096883078-4097164771 +780817620-784569858 +208242283-211110211 +1330525084-1336070077 +4008229513-4009226682 +834427868-838848257 +348999024-350410733 +467200453-500728800 +4121379695-4138903168 +2949401565-2976409803 +3917170902-3926057375 +3071781061-3074945017 +3299433864-3300019479 +3894069601-3909653487 +3741129648-3770933677 +1337537272-1347157874 +216818049-245842326 +1626689836-1641152228 +1112292760-1131928222 +1651219196-1654305795 +506374440-513152599 +430626871-453108093 +3297525469-3306042698 +3256944-3556639 +2937659849-2949401563 +3915476081-3917349752 +170273133-170386354 +3896834322-3906255111 +2911101673-2912870470 +2383625542-2388030504 +2202988069-2215864531 +3931566185-3938787313 +3893325063-3903409791 +1677593295-1694860962 +1726429432-1726959531 +550814749-553019695 +328183437-332828273 +2463651684-2490928811 +2532315541-2561777512 +902393943-906380753 +3255012511-3262588157 +464031865-471880579 +987894291-990856994 +2994108099-3016224261 +1464668452-1468573067 +3817599599-3819192240 +4281205900-4284988083 +1610485824-1614835930 +2922504894-2943149643 +1366674588-1391544336 +2716673569-2724196148 +2136933960-2141630673 +952929934-954132488 +102430362-103410808 +1097408788-1102041819 +1411884657-1413275434 +1569519099-1595018443 +3314630119-3351858696 +1159063633-1161383669 +1306210365-1310168207 +65606761-70210379 +969367195-1005028750 +305729050-305810398 +2964351925-2968998528 +2586831864-2598752947 +2717800067-2732550815 +1357733985-1357970980 +3142078167-3146050939 +836110255-836394578 +2855830819-2865550532 +1854118661-1854889002 +3275779087-3291457029 +481061771-497879373 +2572567941-2573814074 +3653825904-3656453968 +1752420350-1764680563 +3381301699-3381332932 +1499205864-1508841960 +2568948534-2571512127 +124303608-171161904 +834540652-842353886 +3296634137-3297348568 +756487393-757398433 +2920277931-2929967348 +775003730-775425950 +4006843235-4009222380 +4173461462-4180792939 +2573814075-2627343871 +3379943605-3385769428 +3613135813-3622915872 +456181408-463675190 +1679128363-1689145745 +1771462652-1775663407 +3896043704-3896601721 +3668521412-3670169542 +3189676166-3211906595 +4178058206-4197742264 +649282356-651528503 +4118830219-4151607552 +3403081369-3405163204 +1295416035-1327421558 +3535003795-3540392660 +2521028658-2521094946 +3378794770-3384471028 +3876141848-3885724936 +3415436447-3434089766 +3236961463-3242080308 +1289735149-1320942247 +20583890-31053879 +2039793197-2062178184 +3361173897-3362649522 +476445996-491796622 +2305715287-2337252117 +1407865145-1413213862 +100343325-122125577 +4259473250-4260027959 +1539624652-1558856769 +3388893007-3406562225 +3815438953-3819219050 +88644450-100343323 +2838092965-2853295826 +2298582785-2308283977 +1911552487-1924425897 +3486137486-3495337804 +3087487707-3105123828 +2449249575-2459990446 +1114195378-1147840884 +3084130783-3090098247 +280604127-291812349 +251655795-252002640 +2065738411-2068050329 +3540392662-3561413701 +4108709270-4110339849 +185357325-191846357 +2988550972-3002922233 +2008583503-2009174592 +367514957-375053863 +3738337-5109287 +2068050330-2103854128 +2185761689-2201113375 +502979929-541342030 +437711847-441825502 +763342493-770307022 +3891568242-3896055908 +2771403009-2783873057 +857296477-865365400 +2372996602-2415318753 +209779549-212434153 +3904992626-3910219913 +2976409804-2983591595 +3614472-4019606 +3429649651-3432451145 +2312224052-2330392688 +3889124925-3889312068 +3368044346-3369236254 +2485542419-2506962662 +3703774963-3704692844 +249324444-259065356 +3038718563-3063082755 +2348008128-2348750596 +4027659985-4040018381 +4020167637-4028011463 +631597603-638907977 +156806924-163856510 +465625162-475575707 +1653345924-1655794173 +644029368-673749955 +1342645425-1348056082 +754961620-757509941 +2185607313-2229856421 +2430693014-2452320783 +2423618253-2423991135 +2578007008-2593849390 +251455290-252167220 +2141431440-2145256393 +461551382-490688234 +1280627802-1282187341 +2447416346-2448485092 +801034819-803950109 +3803801071-3817168598 +2791159575-2797552524 +2444538618-2447695611 +3656900217-3658497760 +362424586-362913246 +2315692184-2318703938 +2658294991-2705851874 +758225777-762221309 +3220097965-3253590560 +3918863154-3937848140 +3842601762-3867989792 +1362989964-1365638761 +2669543622-2698580716 +204441701-216667513 +3337068522-3351226708 +2910214082-2911637865 +2887286425-2894235722 +2556506098-2564781736 +3660974732-3670236178 +3738818625-3765658510 +3926612436-3931754899 +849660339-860613211 +3878152839-3882588354 +1198564716-1203493708 +90563967-91509385 +4113419274-4118830217 +2421569872-2430693012 +1380512818-1382191639 +2171495075-2182745017 +2346496816-2347982976 +2773187116-2776527627 +3264380514-3275779086 +2795335811-2807483836 +1255625643-1259049524 +3039851327-3062062714 +3477125643-3485106833 +368161721-385647773 +557063546-567450813 +2662245837-2698867380 +409471723-415008368 +2692399192-2709671522 +3289361982-3294593090 +2444382077-2446243156 +995864334-1008973852 +1485359185-1511483438 +3170296689-3173219013 +651528504-684359142 +2799805080-2819283989 +2745894337-2761860632 +4021069786-4034189388 +2423235028-2423776100 +1161581883-1172788321 +575303235-584246627 +1323324671-1324380624 +423562473-430626869 +3173219015-3207487851 +256367467-256655264 +2729359684-2736808477 +2979779055-2988550970 +1482720845-1491600385 +1057830454-1067468142 +107593407-117739880 +251911362-252150667 +3569934829-3575123572 +2241251261-2263701349 +2726382705-2727247227 +4037319554-4043150606 +3718405500-3739070428 +2364203325-2366532950 +836023031-836878401 +961131857-995864333 +3961933297-3977917454 +3180447251-3212824411 +3124189059-3126106003 +793312386-802938899 +3873230388-3877536365 +2841402828-2852690950 +2931754109-2946377103 +4097161122-4098833023 +2953494240-2963922968 +1016080923-1023809512 +2305965588-2325470268 +1726429959-1728139098 +1725984972-1746517984 +2280080557-2294404834 +1453817212-1468119920 +3343366097-3354792825 +2726120736-2727168410 +1726047629-1726491275 +2425599810-2428632507 +1127809348-1136655248 +784569859-830872706 +3362865312-3399674855 +467374870-490345878 +2028166733-2029296658 +3793434985-3799550158 +4113324238-4114378130 +2768224805-2776292356 +3076910664-3083853151 +3795367294-3799559727 +983334314-985924731 +2566325429-2567644886 +2079828370-2095628301 +1355677782-1357107425 +3139807-3256943 +2297016509-2339606996 +3937987517-3940016788 +3111594-3180044 +3408799234-3410915710 +2736163676-2737085107 +2927299659-2930923781 +2828368238-2835482134 +2924361649-2933817173 +3278336262-3282205864 +209200196-211114889 +1089312986-1101840140 +2426098602-2426594407 +3761524602-3771101074 +4038400571-4039718550 +4278817904-4281979539 +1971790010-1982080495 +2482451447-2482859303 +696142504-708558552 +832751897-838668629 +522885199-537712867 +3854296653-3860724814 +4250257176-4250870059 +1098058891-1101871591 +2041494246-2044474847 +3379302636-3380200608 +2823631138-2825091086 +3114946479-3141035176 +2564781738-2570503459 +3066648569-3072839529 +2963998950-2966815574 +3996282522-4010140708 +2609189498-2612898027 +1398040334-1399196426 +2705851875-2712491761 +3303896197-3307457131 +3072710194-3078315569 +2650750533-2658294989 +125494120-152726161 +1799712687-1813651344 +4113647358-4114354821 +914689746-931400632 +2334991623-2346496814 +952020939-952231689 +3279484720-3279924084 +826369329-829381680 +306371001-356731744 +2545936899-2562194811 +755902693-769100113 +2423872436-2428440493 +1040252532-1043084518 +2531373947-2564360722 +3758158314-3765326552 +250882458-253102421 +2445299323-2451474922 +2845734926-2859990778 +2571586320-2571725933 +4010140709-4018470464 +1397769785-1398762710 +3812038748-3819957572 +2446738279-2447892957 +3600527152-3609409007 +260284548-271403358 +108405773-115248353 +1910315960-1918268562 +1323436354-1327278720 +2234068374-2234384404 +982370550-984890793 +362487749-363332785 +3703404287-3704710600 +511536791-531472470 +1204860806-1211356557 +1280824569-1283027536 +1864956505-1865664159 +1264539978-1280627800 +838668630-849660337 +1039302291-1048802154 +3820162182-3829891468 +252725400-258978812 +3811611218-3815532558 +5584894-20583889 +2571534738-2571657850 +383938370-391077230 +732225856-735643042 +2968582589-2972324720 +2379822184-2380941432 +775813903-782941501 +836283753-836553990 +2786901143-2790325697 +2907911644-2910586722 +3879031171-3883342655 +2446835992-2450584620 +3604970524-3620689031 +3656986634-3664253237 +108870276-116802953 +50881441-82763196 +830872708-834595234 +948787824-952327285 +3554278607-3558372901 +1411483095-1443906338 +1305613100-1306576996 +1171167570-1175215348 +145365808-166164576 +3344972328-3354937927 +178346121-180017093 +3487950867-3498067707 +3455826248-3468331688 +1357654405-1361499079 +2373804146-2375708934 +1682091088-1685006321 +2532666674-2554100432 +3872534964-3888980905 +684359144-690072644 +31053881-36411395 +749479393-750957481 +1233001829-1257233242 +1109953682-1114195377 +175877666-185357324 +1283027537-1289735147 +3374715947-3381800912 +1283434504-1286474690 +1402640030-1423128613 +1426046568-1440437597 +3021217411-3028438706 +3449839444-3455646128 +2192814747-2207353667 +1039244541-1044508076 +363332786-399974272 +620349463-624462815 +3118427268-3142548507 +1177759665-1219332116 +1223070153-1264539977 +2469319931-2491726485 +1101840141-1109953680 +1048427340-1089312984 +2577948853-2584544199 +43965520-47689181 +1833568506-1857070652 +356731745-362276040 +4262722663-4294967295 +2632338905-2641519671 +0-3021649 +1148518671-1158649494 +3562116150-3562242974 +567450814-585792807 +198587645-249324442 +3756871898-3778510326 +2815453754-2821381182 +3562113904-3562138636 +2567358294-2571273144 +2061605698-2065382934 +1865301101-1870272543 +2565458232-2569021972 +267026988-275785393 +2570888765-2571620263 +179248341-180073497 +267066134-277088479 +2060654926-2062597974 +2065382936-2066893485 +3298704119-3299564801 +2194534845-2218883408 diff --git a/data/advent21.txt b/data/advent21.txt new file mode 100644 index 0000000..b445817 --- /dev/null +++ b/data/advent21.txt @@ -0,0 +1,100 @@ +rotate based on position of letter a +swap letter g with letter d +move position 1 to position 5 +reverse positions 6 through 7 +move position 5 to position 4 +rotate based on position of letter b +reverse positions 6 through 7 +swap letter h with letter f +swap letter e with letter c +reverse positions 0 through 7 +swap position 6 with position 4 +rotate based on position of letter e +move position 2 to position 7 +swap position 6 with position 4 +rotate based on position of letter e +reverse positions 2 through 3 +rotate right 2 steps +swap position 7 with position 1 +move position 1 to position 2 +move position 4 to position 7 +move position 5 to position 0 +swap letter e with letter f +move position 4 to position 7 +reverse positions 1 through 7 +rotate based on position of letter g +move position 7 to position 4 +rotate right 6 steps +rotate based on position of letter g +reverse positions 0 through 5 +reverse positions 0 through 7 +swap letter c with letter f +swap letter h with letter f +rotate right 7 steps +rotate based on position of letter g +rotate based on position of letter c +swap position 1 with position 4 +move position 7 to position 3 +reverse positions 2 through 6 +move position 7 to position 0 +move position 7 to position 1 +move position 6 to position 7 +rotate right 5 steps +reverse positions 0 through 6 +move position 1 to position 4 +rotate left 3 steps +swap letter d with letter c +move position 4 to position 5 +rotate based on position of letter f +rotate right 1 step +move position 7 to position 6 +swap position 6 with position 0 +move position 6 to position 2 +rotate right 1 step +swap position 1 with position 6 +move position 2 to position 6 +swap position 2 with position 1 +reverse positions 1 through 7 +move position 4 to position 1 +move position 7 to position 0 +swap position 6 with position 7 +rotate left 1 step +reverse positions 0 through 4 +rotate based on position of letter c +rotate based on position of letter b +move position 2 to position 1 +rotate right 0 steps +swap letter b with letter d +swap letter f with letter c +swap letter d with letter a +swap position 7 with position 6 +rotate right 0 steps +swap position 0 with position 3 +swap position 2 with position 5 +swap letter h with letter f +reverse positions 2 through 3 +rotate based on position of letter c +rotate left 2 steps +move position 0 to position 5 +swap position 2 with position 3 +rotate right 1 step +rotate left 2 steps +move position 0 to position 4 +rotate based on position of letter c +rotate based on position of letter g +swap position 3 with position 0 +rotate right 3 steps +reverse positions 0 through 2 +move position 1 to position 2 +swap letter e with letter c +rotate right 7 steps +move position 0 to position 7 +rotate left 2 steps +reverse positions 0 through 4 +swap letter e with letter b +reverse positions 2 through 7 +rotate right 5 steps +swap position 2 with position 4 +swap letter d with letter g +reverse positions 3 through 4 +reverse positions 4 through 5 diff --git a/data/advent22.txt b/data/advent22.txt new file mode 100644 index 0000000..8821df9 --- /dev/null +++ b/data/advent22.txt @@ -0,0 +1,1066 @@ +root@ebhq-gridcenter# df -h +Filesystem Size Used Avail Use% +/dev/grid/node-x0-y0 88T 66T 22T 75% +/dev/grid/node-x0-y1 85T 65T 20T 76% +/dev/grid/node-x0-y2 88T 67T 21T 76% +/dev/grid/node-x0-y3 92T 68T 24T 73% +/dev/grid/node-x0-y4 87T 64T 23T 73% +/dev/grid/node-x0-y5 90T 64T 26T 71% +/dev/grid/node-x0-y6 85T 64T 21T 75% +/dev/grid/node-x0-y7 93T 66T 27T 70% +/dev/grid/node-x0-y8 90T 69T 21T 76% +/dev/grid/node-x0-y9 88T 69T 19T 78% +/dev/grid/node-x0-y10 90T 69T 21T 76% +/dev/grid/node-x0-y11 90T 65T 25T 72% +/dev/grid/node-x0-y12 86T 73T 13T 84% +/dev/grid/node-x0-y13 92T 67T 25T 72% +/dev/grid/node-x0-y14 90T 70T 20T 77% +/dev/grid/node-x0-y15 90T 66T 24T 73% +/dev/grid/node-x0-y16 86T 66T 20T 76% +/dev/grid/node-x0-y17 87T 67T 20T 77% +/dev/grid/node-x0-y18 85T 64T 21T 75% +/dev/grid/node-x0-y19 91T 67T 24T 73% +/dev/grid/node-x0-y20 93T 73T 20T 78% +/dev/grid/node-x0-y21 91T 72T 19T 79% +/dev/grid/node-x0-y22 86T 64T 22T 74% +/dev/grid/node-x0-y23 85T 73T 12T 85% +/dev/grid/node-x0-y24 93T 65T 28T 69% +/dev/grid/node-x0-y25 89T 67T 22T 75% +/dev/grid/node-x0-y26 94T 64T 30T 68% +/dev/grid/node-x0-y27 85T 69T 16T 81% +/dev/grid/node-x1-y0 85T 68T 17T 80% +/dev/grid/node-x1-y1 93T 69T 24T 74% +/dev/grid/node-x1-y2 85T 68T 17T 80% +/dev/grid/node-x1-y3 89T 69T 20T 77% +/dev/grid/node-x1-y4 92T 70T 22T 76% +/dev/grid/node-x1-y5 92T 65T 27T 70% +/dev/grid/node-x1-y6 87T 69T 18T 79% +/dev/grid/node-x1-y7 93T 65T 28T 69% +/dev/grid/node-x1-y8 85T 69T 16T 81% +/dev/grid/node-x1-y9 88T 64T 24T 72% +/dev/grid/node-x1-y10 88T 65T 23T 73% +/dev/grid/node-x1-y11 85T 66T 19T 77% +/dev/grid/node-x1-y12 85T 69T 16T 81% +/dev/grid/node-x1-y13 90T 73T 17T 81% +/dev/grid/node-x1-y14 93T 68T 25T 73% +/dev/grid/node-x1-y15 94T 68T 26T 72% +/dev/grid/node-x1-y16 85T 67T 18T 78% +/dev/grid/node-x1-y17 87T 71T 16T 81% +/dev/grid/node-x1-y18 90T 73T 17T 81% +/dev/grid/node-x1-y19 86T 66T 20T 76% +/dev/grid/node-x1-y20 89T 71T 18T 79% +/dev/grid/node-x1-y21 94T 69T 25T 73% +/dev/grid/node-x1-y22 90T 70T 20T 77% +/dev/grid/node-x1-y23 92T 70T 22T 76% +/dev/grid/node-x1-y24 91T 70T 21T 76% +/dev/grid/node-x1-y25 94T 70T 24T 74% +/dev/grid/node-x1-y26 90T 64T 26T 71% +/dev/grid/node-x1-y27 92T 73T 19T 79% +/dev/grid/node-x2-y0 88T 72T 16T 81% +/dev/grid/node-x2-y1 88T 70T 18T 79% +/dev/grid/node-x2-y2 89T 68T 21T 76% +/dev/grid/node-x2-y3 89T 72T 17T 80% +/dev/grid/node-x2-y4 93T 66T 27T 70% +/dev/grid/node-x2-y5 92T 65T 27T 70% +/dev/grid/node-x2-y6 91T 66T 25T 72% +/dev/grid/node-x2-y7 86T 70T 16T 81% +/dev/grid/node-x2-y8 94T 66T 28T 70% +/dev/grid/node-x2-y9 88T 71T 17T 80% +/dev/grid/node-x2-y10 90T 64T 26T 71% +/dev/grid/node-x2-y11 88T 68T 20T 77% +/dev/grid/node-x2-y12 86T 70T 16T 81% +/dev/grid/node-x2-y13 90T 68T 22T 75% +/dev/grid/node-x2-y14 85T 70T 15T 82% +/dev/grid/node-x2-y15 93T 70T 23T 75% +/dev/grid/node-x2-y16 87T 73T 14T 83% +/dev/grid/node-x2-y17 92T 66T 26T 71% +/dev/grid/node-x2-y18 88T 70T 18T 79% +/dev/grid/node-x2-y19 89T 69T 20T 77% +/dev/grid/node-x2-y20 92T 64T 28T 69% +/dev/grid/node-x2-y21 85T 67T 18T 78% +/dev/grid/node-x2-y22 89T 70T 19T 78% +/dev/grid/node-x2-y23 94T 70T 24T 74% +/dev/grid/node-x2-y24 87T 72T 15T 82% +/dev/grid/node-x2-y25 91T 73T 18T 80% +/dev/grid/node-x2-y26 91T 65T 26T 71% +/dev/grid/node-x2-y27 90T 70T 20T 77% +/dev/grid/node-x3-y0 92T 72T 20T 78% +/dev/grid/node-x3-y1 91T 71T 20T 78% +/dev/grid/node-x3-y2 93T 71T 22T 76% +/dev/grid/node-x3-y3 89T 72T 17T 80% +/dev/grid/node-x3-y4 88T 68T 20T 77% +/dev/grid/node-x3-y5 92T 73T 19T 79% +/dev/grid/node-x3-y6 86T 64T 22T 74% +/dev/grid/node-x3-y7 86T 67T 19T 77% +/dev/grid/node-x3-y8 85T 73T 12T 85% +/dev/grid/node-x3-y9 86T 72T 14T 83% +/dev/grid/node-x3-y10 88T 67T 21T 76% +/dev/grid/node-x3-y11 94T 67T 27T 71% +/dev/grid/node-x3-y12 91T 66T 25T 72% +/dev/grid/node-x3-y13 85T 67T 18T 78% +/dev/grid/node-x3-y14 94T 68T 26T 72% +/dev/grid/node-x3-y15 94T 73T 21T 77% +/dev/grid/node-x3-y16 92T 71T 21T 77% +/dev/grid/node-x3-y17 92T 73T 19T 79% +/dev/grid/node-x3-y18 86T 66T 20T 76% +/dev/grid/node-x3-y19 88T 69T 19T 78% +/dev/grid/node-x3-y20 90T 73T 17T 81% +/dev/grid/node-x3-y21 87T 71T 16T 81% +/dev/grid/node-x3-y22 92T 72T 20T 78% +/dev/grid/node-x3-y23 87T 71T 16T 81% +/dev/grid/node-x3-y24 93T 66T 27T 70% +/dev/grid/node-x3-y25 94T 65T 29T 69% +/dev/grid/node-x3-y26 91T 67T 24T 73% +/dev/grid/node-x3-y27 88T 69T 19T 78% +/dev/grid/node-x4-y0 93T 68T 25T 73% +/dev/grid/node-x4-y1 93T 67T 26T 72% +/dev/grid/node-x4-y2 85T 67T 18T 78% +/dev/grid/node-x4-y3 89T 65T 24T 73% +/dev/grid/node-x4-y4 85T 73T 12T 85% +/dev/grid/node-x4-y5 86T 72T 14T 83% +/dev/grid/node-x4-y6 86T 66T 20T 76% +/dev/grid/node-x4-y7 89T 66T 23T 74% +/dev/grid/node-x4-y8 94T 73T 21T 77% +/dev/grid/node-x4-y9 89T 72T 17T 80% +/dev/grid/node-x4-y10 86T 66T 20T 76% +/dev/grid/node-x4-y11 92T 70T 22T 76% +/dev/grid/node-x4-y12 93T 69T 24T 74% +/dev/grid/node-x4-y13 85T 68T 17T 80% +/dev/grid/node-x4-y14 93T 73T 20T 78% +/dev/grid/node-x4-y15 87T 67T 20T 77% +/dev/grid/node-x4-y16 86T 66T 20T 76% +/dev/grid/node-x4-y17 90T 70T 20T 77% +/dev/grid/node-x4-y18 92T 69T 23T 75% +/dev/grid/node-x4-y19 93T 71T 22T 76% +/dev/grid/node-x4-y20 94T 66T 28T 70% +/dev/grid/node-x4-y21 88T 73T 15T 82% +/dev/grid/node-x4-y22 93T 71T 22T 76% +/dev/grid/node-x4-y23 87T 68T 19T 78% +/dev/grid/node-x4-y24 89T 70T 19T 78% +/dev/grid/node-x4-y25 87T 69T 18T 79% +/dev/grid/node-x4-y26 87T 69T 18T 79% +/dev/grid/node-x4-y27 89T 71T 18T 79% +/dev/grid/node-x5-y0 88T 66T 22T 75% +/dev/grid/node-x5-y1 91T 70T 21T 76% +/dev/grid/node-x5-y2 91T 71T 20T 78% +/dev/grid/node-x5-y3 90T 68T 22T 75% +/dev/grid/node-x5-y4 85T 72T 13T 84% +/dev/grid/node-x5-y5 89T 64T 25T 71% +/dev/grid/node-x5-y6 90T 71T 19T 78% +/dev/grid/node-x5-y7 91T 64T 27T 70% +/dev/grid/node-x5-y8 87T 71T 16T 81% +/dev/grid/node-x5-y9 89T 72T 17T 80% +/dev/grid/node-x5-y10 86T 68T 18T 79% +/dev/grid/node-x5-y11 91T 66T 25T 72% +/dev/grid/node-x5-y12 89T 69T 20T 77% +/dev/grid/node-x5-y13 85T 72T 13T 84% +/dev/grid/node-x5-y14 92T 69T 23T 75% +/dev/grid/node-x5-y15 88T 68T 20T 77% +/dev/grid/node-x5-y16 92T 72T 20T 78% +/dev/grid/node-x5-y17 93T 70T 23T 75% +/dev/grid/node-x5-y18 87T 65T 22T 74% +/dev/grid/node-x5-y19 86T 64T 22T 74% +/dev/grid/node-x5-y20 89T 68T 21T 76% +/dev/grid/node-x5-y21 89T 68T 21T 76% +/dev/grid/node-x5-y22 89T 71T 18T 79% +/dev/grid/node-x5-y23 91T 67T 24T 73% +/dev/grid/node-x5-y24 88T 64T 24T 72% +/dev/grid/node-x5-y25 92T 73T 19T 79% +/dev/grid/node-x5-y26 94T 64T 30T 68% +/dev/grid/node-x5-y27 88T 73T 15T 82% +/dev/grid/node-x6-y0 88T 64T 24T 72% +/dev/grid/node-x6-y1 87T 71T 16T 81% +/dev/grid/node-x6-y2 93T 65T 28T 69% +/dev/grid/node-x6-y3 90T 71T 19T 78% +/dev/grid/node-x6-y4 85T 68T 17T 80% +/dev/grid/node-x6-y5 93T 70T 23T 75% +/dev/grid/node-x6-y6 91T 70T 21T 76% +/dev/grid/node-x6-y7 89T 65T 24T 73% +/dev/grid/node-x6-y8 91T 65T 26T 71% +/dev/grid/node-x6-y9 92T 65T 27T 70% +/dev/grid/node-x6-y10 94T 73T 21T 77% +/dev/grid/node-x6-y11 86T 71T 15T 82% +/dev/grid/node-x6-y12 87T 68T 19T 78% +/dev/grid/node-x6-y13 93T 68T 25T 73% +/dev/grid/node-x6-y14 87T 68T 19T 78% +/dev/grid/node-x6-y15 85T 71T 14T 83% +/dev/grid/node-x6-y16 85T 70T 15T 82% +/dev/grid/node-x6-y17 85T 66T 19T 77% +/dev/grid/node-x6-y18 90T 66T 24T 73% +/dev/grid/node-x6-y19 85T 73T 12T 85% +/dev/grid/node-x6-y20 92T 73T 19T 79% +/dev/grid/node-x6-y21 90T 68T 22T 75% +/dev/grid/node-x6-y22 85T 68T 17T 80% +/dev/grid/node-x6-y23 85T 67T 18T 78% +/dev/grid/node-x6-y24 87T 65T 22T 74% +/dev/grid/node-x6-y25 85T 68T 17T 80% +/dev/grid/node-x6-y26 88T 70T 18T 79% +/dev/grid/node-x6-y27 86T 65T 21T 75% +/dev/grid/node-x7-y0 89T 66T 23T 74% +/dev/grid/node-x7-y1 92T 67T 25T 72% +/dev/grid/node-x7-y2 94T 69T 25T 73% +/dev/grid/node-x7-y3 86T 72T 14T 83% +/dev/grid/node-x7-y4 90T 68T 22T 75% +/dev/grid/node-x7-y5 87T 72T 15T 82% +/dev/grid/node-x7-y6 92T 71T 21T 77% +/dev/grid/node-x7-y7 90T 71T 19T 78% +/dev/grid/node-x7-y8 92T 70T 22T 76% +/dev/grid/node-x7-y9 85T 73T 12T 85% +/dev/grid/node-x7-y10 92T 68T 24T 73% +/dev/grid/node-x7-y11 94T 69T 25T 73% +/dev/grid/node-x7-y12 88T 71T 17T 80% +/dev/grid/node-x7-y13 87T 73T 14T 83% +/dev/grid/node-x7-y14 92T 70T 22T 76% +/dev/grid/node-x7-y15 87T 68T 19T 78% +/dev/grid/node-x7-y16 85T 65T 20T 76% +/dev/grid/node-x7-y17 93T 64T 29T 68% +/dev/grid/node-x7-y18 91T 67T 24T 73% +/dev/grid/node-x7-y19 87T 66T 21T 75% +/dev/grid/node-x7-y20 94T 72T 22T 76% +/dev/grid/node-x7-y21 85T 72T 13T 84% +/dev/grid/node-x7-y22 88T 73T 15T 82% +/dev/grid/node-x7-y23 91T 66T 25T 72% +/dev/grid/node-x7-y24 94T 70T 24T 74% +/dev/grid/node-x7-y25 85T 65T 20T 76% +/dev/grid/node-x7-y26 88T 64T 24T 72% +/dev/grid/node-x7-y27 93T 69T 24T 74% +/dev/grid/node-x8-y0 92T 65T 27T 70% +/dev/grid/node-x8-y1 89T 69T 20T 77% +/dev/grid/node-x8-y2 93T 64T 29T 68% +/dev/grid/node-x8-y3 85T 65T 20T 76% +/dev/grid/node-x8-y4 91T 69T 22T 75% +/dev/grid/node-x8-y5 85T 70T 15T 82% +/dev/grid/node-x8-y6 86T 64T 22T 74% +/dev/grid/node-x8-y7 94T 67T 27T 71% +/dev/grid/node-x8-y8 88T 68T 20T 77% +/dev/grid/node-x8-y9 94T 69T 25T 73% +/dev/grid/node-x8-y10 91T 73T 18T 80% +/dev/grid/node-x8-y11 89T 73T 16T 82% +/dev/grid/node-x8-y12 87T 68T 19T 78% +/dev/grid/node-x8-y13 89T 70T 19T 78% +/dev/grid/node-x8-y14 86T 67T 19T 77% +/dev/grid/node-x8-y15 90T 68T 22T 75% +/dev/grid/node-x8-y16 92T 72T 20T 78% +/dev/grid/node-x8-y17 89T 68T 21T 76% +/dev/grid/node-x8-y18 89T 67T 22T 75% +/dev/grid/node-x8-y19 85T 68T 17T 80% +/dev/grid/node-x8-y20 88T 64T 24T 72% +/dev/grid/node-x8-y21 90T 72T 18T 80% +/dev/grid/node-x8-y22 93T 73T 20T 78% +/dev/grid/node-x8-y23 92T 68T 24T 73% +/dev/grid/node-x8-y24 92T 66T 26T 71% +/dev/grid/node-x8-y25 93T 70T 23T 75% +/dev/grid/node-x8-y26 92T 64T 28T 69% +/dev/grid/node-x8-y27 85T 64T 21T 75% +/dev/grid/node-x9-y0 94T 71T 23T 75% +/dev/grid/node-x9-y1 91T 71T 20T 78% +/dev/grid/node-x9-y2 93T 66T 27T 70% +/dev/grid/node-x9-y3 86T 73T 13T 84% +/dev/grid/node-x9-y4 90T 69T 21T 76% +/dev/grid/node-x9-y5 85T 70T 15T 82% +/dev/grid/node-x9-y6 88T 67T 21T 76% +/dev/grid/node-x9-y7 90T 64T 26T 71% +/dev/grid/node-x9-y8 93T 66T 27T 70% +/dev/grid/node-x9-y9 90T 73T 17T 81% +/dev/grid/node-x9-y10 90T 73T 17T 81% +/dev/grid/node-x9-y11 89T 69T 20T 77% +/dev/grid/node-x9-y12 89T 69T 20T 77% +/dev/grid/node-x9-y13 93T 68T 25T 73% +/dev/grid/node-x9-y14 94T 64T 30T 68% +/dev/grid/node-x9-y15 94T 66T 28T 70% +/dev/grid/node-x9-y16 89T 71T 18T 79% +/dev/grid/node-x9-y17 89T 69T 20T 77% +/dev/grid/node-x9-y18 86T 65T 21T 75% +/dev/grid/node-x9-y19 88T 71T 17T 80% +/dev/grid/node-x9-y20 90T 72T 18T 80% +/dev/grid/node-x9-y21 91T 71T 20T 78% +/dev/grid/node-x9-y22 88T 66T 22T 75% +/dev/grid/node-x9-y23 93T 69T 24T 74% +/dev/grid/node-x9-y24 502T 496T 6T 98% +/dev/grid/node-x9-y25 89T 73T 16T 82% +/dev/grid/node-x9-y26 92T 71T 21T 77% +/dev/grid/node-x9-y27 94T 70T 24T 74% +/dev/grid/node-x10-y0 85T 73T 12T 85% +/dev/grid/node-x10-y1 92T 64T 28T 69% +/dev/grid/node-x10-y2 92T 64T 28T 69% +/dev/grid/node-x10-y3 92T 71T 21T 77% +/dev/grid/node-x10-y4 89T 71T 18T 79% +/dev/grid/node-x10-y5 87T 72T 15T 82% +/dev/grid/node-x10-y6 93T 68T 25T 73% +/dev/grid/node-x10-y7 93T 65T 28T 69% +/dev/grid/node-x10-y8 87T 67T 20T 77% +/dev/grid/node-x10-y9 90T 64T 26T 71% +/dev/grid/node-x10-y10 91T 70T 21T 76% +/dev/grid/node-x10-y11 86T 66T 20T 76% +/dev/grid/node-x10-y12 90T 71T 19T 78% +/dev/grid/node-x10-y13 86T 65T 21T 75% +/dev/grid/node-x10-y14 93T 69T 24T 74% +/dev/grid/node-x10-y15 87T 64T 23T 73% +/dev/grid/node-x10-y16 85T 68T 17T 80% +/dev/grid/node-x10-y17 89T 65T 24T 73% +/dev/grid/node-x10-y18 94T 73T 21T 77% +/dev/grid/node-x10-y19 94T 73T 21T 77% +/dev/grid/node-x10-y20 88T 68T 20T 77% +/dev/grid/node-x10-y21 93T 73T 20T 78% +/dev/grid/node-x10-y22 87T 67T 20T 77% +/dev/grid/node-x10-y23 90T 67T 23T 74% +/dev/grid/node-x10-y24 510T 491T 19T 96% +/dev/grid/node-x10-y25 90T 71T 19T 78% +/dev/grid/node-x10-y26 94T 67T 27T 71% +/dev/grid/node-x10-y27 93T 67T 26T 72% +/dev/grid/node-x11-y0 91T 64T 27T 70% +/dev/grid/node-x11-y1 91T 67T 24T 73% +/dev/grid/node-x11-y2 86T 70T 16T 81% +/dev/grid/node-x11-y3 87T 65T 22T 74% +/dev/grid/node-x11-y4 86T 66T 20T 76% +/dev/grid/node-x11-y5 85T 71T 14T 83% +/dev/grid/node-x11-y6 91T 65T 26T 71% +/dev/grid/node-x11-y7 86T 65T 21T 75% +/dev/grid/node-x11-y8 91T 71T 20T 78% +/dev/grid/node-x11-y9 94T 71T 23T 75% +/dev/grid/node-x11-y10 89T 65T 24T 73% +/dev/grid/node-x11-y11 94T 71T 23T 75% +/dev/grid/node-x11-y12 88T 64T 24T 72% +/dev/grid/node-x11-y13 85T 67T 18T 78% +/dev/grid/node-x11-y14 87T 71T 16T 81% +/dev/grid/node-x11-y15 90T 71T 19T 78% +/dev/grid/node-x11-y16 87T 73T 14T 83% +/dev/grid/node-x11-y17 89T 68T 21T 76% +/dev/grid/node-x11-y18 94T 64T 30T 68% +/dev/grid/node-x11-y19 92T 68T 24T 73% +/dev/grid/node-x11-y20 86T 67T 19T 77% +/dev/grid/node-x11-y21 91T 73T 18T 80% +/dev/grid/node-x11-y22 91T 69T 22T 75% +/dev/grid/node-x11-y23 88T 72T 16T 81% +/dev/grid/node-x11-y24 509T 493T 16T 96% +/dev/grid/node-x11-y25 93T 68T 25T 73% +/dev/grid/node-x11-y26 86T 72T 14T 83% +/dev/grid/node-x11-y27 86T 65T 21T 75% +/dev/grid/node-x12-y0 93T 65T 28T 69% +/dev/grid/node-x12-y1 93T 65T 28T 69% +/dev/grid/node-x12-y2 86T 68T 18T 79% +/dev/grid/node-x12-y3 92T 65T 27T 70% +/dev/grid/node-x12-y4 87T 65T 22T 74% +/dev/grid/node-x12-y5 93T 68T 25T 73% +/dev/grid/node-x12-y6 90T 67T 23T 74% +/dev/grid/node-x12-y7 93T 69T 24T 74% +/dev/grid/node-x12-y8 88T 72T 16T 81% +/dev/grid/node-x12-y9 90T 72T 18T 80% +/dev/grid/node-x12-y10 89T 64T 25T 71% +/dev/grid/node-x12-y11 85T 69T 16T 81% +/dev/grid/node-x12-y12 90T 69T 21T 76% +/dev/grid/node-x12-y13 94T 66T 28T 70% +/dev/grid/node-x12-y14 89T 69T 20T 77% +/dev/grid/node-x12-y15 92T 68T 24T 73% +/dev/grid/node-x12-y16 90T 73T 17T 81% +/dev/grid/node-x12-y17 85T 67T 18T 78% +/dev/grid/node-x12-y18 90T 67T 23T 74% +/dev/grid/node-x12-y19 94T 65T 29T 69% +/dev/grid/node-x12-y20 89T 68T 21T 76% +/dev/grid/node-x12-y21 88T 71T 17T 80% +/dev/grid/node-x12-y22 87T 73T 14T 83% +/dev/grid/node-x12-y23 94T 64T 30T 68% +/dev/grid/node-x12-y24 505T 499T 6T 98% +/dev/grid/node-x12-y25 86T 67T 19T 77% +/dev/grid/node-x12-y26 94T 64T 30T 68% +/dev/grid/node-x12-y27 92T 66T 26T 71% +/dev/grid/node-x13-y0 89T 65T 24T 73% +/dev/grid/node-x13-y1 92T 65T 27T 70% +/dev/grid/node-x13-y2 92T 67T 25T 72% +/dev/grid/node-x13-y3 91T 71T 20T 78% +/dev/grid/node-x13-y4 87T 66T 21T 75% +/dev/grid/node-x13-y5 92T 71T 21T 77% +/dev/grid/node-x13-y6 92T 67T 25T 72% +/dev/grid/node-x13-y7 90T 73T 17T 81% +/dev/grid/node-x13-y8 91T 67T 24T 73% +/dev/grid/node-x13-y9 90T 64T 26T 71% +/dev/grid/node-x13-y10 85T 73T 12T 85% +/dev/grid/node-x13-y11 91T 65T 26T 71% +/dev/grid/node-x13-y12 94T 65T 29T 69% +/dev/grid/node-x13-y13 94T 73T 21T 77% +/dev/grid/node-x13-y14 91T 71T 20T 78% +/dev/grid/node-x13-y15 85T 65T 20T 76% +/dev/grid/node-x13-y16 88T 68T 20T 77% +/dev/grid/node-x13-y17 94T 65T 29T 69% +/dev/grid/node-x13-y18 92T 70T 22T 76% +/dev/grid/node-x13-y19 86T 72T 14T 83% +/dev/grid/node-x13-y20 88T 71T 17T 80% +/dev/grid/node-x13-y21 94T 72T 22T 76% +/dev/grid/node-x13-y22 92T 66T 26T 71% +/dev/grid/node-x13-y23 90T 69T 21T 76% +/dev/grid/node-x13-y24 510T 492T 18T 96% +/dev/grid/node-x13-y25 94T 73T 21T 77% +/dev/grid/node-x13-y26 87T 68T 19T 78% +/dev/grid/node-x13-y27 93T 71T 22T 76% +/dev/grid/node-x14-y0 87T 73T 14T 83% +/dev/grid/node-x14-y1 86T 69T 17T 80% +/dev/grid/node-x14-y2 91T 71T 20T 78% +/dev/grid/node-x14-y3 88T 67T 21T 76% +/dev/grid/node-x14-y4 88T 70T 18T 79% +/dev/grid/node-x14-y5 92T 73T 19T 79% +/dev/grid/node-x14-y6 88T 66T 22T 75% +/dev/grid/node-x14-y7 85T 68T 17T 80% +/dev/grid/node-x14-y8 87T 70T 17T 80% +/dev/grid/node-x14-y9 88T 71T 17T 80% +/dev/grid/node-x14-y10 89T 66T 23T 74% +/dev/grid/node-x14-y11 90T 69T 21T 76% +/dev/grid/node-x14-y12 89T 71T 18T 79% +/dev/grid/node-x14-y13 89T 64T 25T 71% +/dev/grid/node-x14-y14 91T 72T 19T 79% +/dev/grid/node-x14-y15 94T 69T 25T 73% +/dev/grid/node-x14-y16 86T 73T 13T 84% +/dev/grid/node-x14-y17 88T 70T 18T 79% +/dev/grid/node-x14-y18 91T 68T 23T 74% +/dev/grid/node-x14-y19 91T 67T 24T 73% +/dev/grid/node-x14-y20 85T 65T 20T 76% +/dev/grid/node-x14-y21 85T 71T 14T 83% +/dev/grid/node-x14-y22 90T 70T 20T 77% +/dev/grid/node-x14-y23 85T 70T 15T 82% +/dev/grid/node-x14-y24 504T 494T 10T 98% +/dev/grid/node-x14-y25 94T 69T 25T 73% +/dev/grid/node-x14-y26 92T 64T 28T 69% +/dev/grid/node-x14-y27 86T 73T 13T 84% +/dev/grid/node-x15-y0 88T 72T 16T 81% +/dev/grid/node-x15-y1 91T 67T 24T 73% +/dev/grid/node-x15-y2 90T 67T 23T 74% +/dev/grid/node-x15-y3 90T 68T 22T 75% +/dev/grid/node-x15-y4 92T 70T 22T 76% +/dev/grid/node-x15-y5 89T 69T 20T 77% +/dev/grid/node-x15-y6 89T 70T 19T 78% +/dev/grid/node-x15-y7 93T 71T 22T 76% +/dev/grid/node-x15-y8 86T 64T 22T 74% +/dev/grid/node-x15-y9 91T 71T 20T 78% +/dev/grid/node-x15-y10 94T 72T 22T 76% +/dev/grid/node-x15-y11 91T 70T 21T 76% +/dev/grid/node-x15-y12 93T 71T 22T 76% +/dev/grid/node-x15-y13 94T 66T 28T 70% +/dev/grid/node-x15-y14 93T 68T 25T 73% +/dev/grid/node-x15-y15 85T 67T 18T 78% +/dev/grid/node-x15-y16 88T 64T 24T 72% +/dev/grid/node-x15-y17 94T 72T 22T 76% +/dev/grid/node-x15-y18 93T 67T 26T 72% +/dev/grid/node-x15-y19 89T 68T 21T 76% +/dev/grid/node-x15-y20 93T 71T 22T 76% +/dev/grid/node-x15-y21 90T 70T 20T 77% +/dev/grid/node-x15-y22 86T 65T 21T 75% +/dev/grid/node-x15-y23 90T 68T 22T 75% +/dev/grid/node-x15-y24 506T 494T 12T 97% +/dev/grid/node-x15-y25 91T 71T 20T 78% +/dev/grid/node-x15-y26 86T 70T 16T 81% +/dev/grid/node-x15-y27 87T 64T 23T 73% +/dev/grid/node-x16-y0 93T 64T 29T 68% +/dev/grid/node-x16-y1 91T 69T 22T 75% +/dev/grid/node-x16-y2 89T 66T 23T 74% +/dev/grid/node-x16-y3 89T 68T 21T 76% +/dev/grid/node-x16-y4 91T 65T 26T 71% +/dev/grid/node-x16-y5 85T 71T 14T 83% +/dev/grid/node-x16-y6 93T 69T 24T 74% +/dev/grid/node-x16-y7 87T 69T 18T 79% +/dev/grid/node-x16-y8 85T 72T 13T 84% +/dev/grid/node-x16-y9 92T 67T 25T 72% +/dev/grid/node-x16-y10 92T 69T 23T 75% +/dev/grid/node-x16-y11 93T 72T 21T 77% +/dev/grid/node-x16-y12 92T 73T 19T 79% +/dev/grid/node-x16-y13 88T 70T 18T 79% +/dev/grid/node-x16-y14 91T 71T 20T 78% +/dev/grid/node-x16-y15 88T 66T 22T 75% +/dev/grid/node-x16-y16 88T 70T 18T 79% +/dev/grid/node-x16-y17 88T 73T 15T 82% +/dev/grid/node-x16-y18 92T 72T 20T 78% +/dev/grid/node-x16-y19 90T 73T 17T 81% +/dev/grid/node-x16-y20 94T 73T 21T 77% +/dev/grid/node-x16-y21 86T 71T 15T 82% +/dev/grid/node-x16-y22 88T 68T 20T 77% +/dev/grid/node-x16-y23 88T 73T 15T 82% +/dev/grid/node-x16-y24 506T 496T 10T 98% +/dev/grid/node-x16-y25 85T 69T 16T 81% +/dev/grid/node-x16-y26 90T 64T 26T 71% +/dev/grid/node-x16-y27 92T 64T 28T 69% +/dev/grid/node-x17-y0 88T 73T 15T 82% +/dev/grid/node-x17-y1 87T 65T 22T 74% +/dev/grid/node-x17-y2 90T 64T 26T 71% +/dev/grid/node-x17-y3 93T 71T 22T 76% +/dev/grid/node-x17-y4 90T 64T 26T 71% +/dev/grid/node-x17-y5 87T 64T 23T 73% +/dev/grid/node-x17-y6 86T 72T 14T 83% +/dev/grid/node-x17-y7 90T 65T 25T 72% +/dev/grid/node-x17-y8 85T 71T 14T 83% +/dev/grid/node-x17-y9 93T 68T 25T 73% +/dev/grid/node-x17-y10 87T 65T 22T 74% +/dev/grid/node-x17-y11 87T 71T 16T 81% +/dev/grid/node-x17-y12 90T 73T 17T 81% +/dev/grid/node-x17-y13 92T 71T 21T 77% +/dev/grid/node-x17-y14 91T 69T 22T 75% +/dev/grid/node-x17-y15 88T 73T 15T 82% +/dev/grid/node-x17-y16 88T 73T 15T 82% +/dev/grid/node-x17-y17 88T 71T 17T 80% +/dev/grid/node-x17-y18 87T 66T 21T 75% +/dev/grid/node-x17-y19 89T 71T 18T 79% +/dev/grid/node-x17-y20 91T 72T 19T 79% +/dev/grid/node-x17-y21 93T 69T 24T 74% +/dev/grid/node-x17-y22 85T 68T 17T 80% +/dev/grid/node-x17-y23 93T 67T 26T 72% +/dev/grid/node-x17-y24 505T 494T 11T 97% +/dev/grid/node-x17-y25 88T 72T 16T 81% +/dev/grid/node-x17-y26 93T 72T 21T 77% +/dev/grid/node-x17-y27 85T 72T 13T 84% +/dev/grid/node-x18-y0 92T 70T 22T 76% +/dev/grid/node-x18-y1 89T 72T 17T 80% +/dev/grid/node-x18-y2 85T 66T 19T 77% +/dev/grid/node-x18-y3 90T 68T 22T 75% +/dev/grid/node-x18-y4 92T 69T 23T 75% +/dev/grid/node-x18-y5 91T 70T 21T 76% +/dev/grid/node-x18-y6 87T 68T 19T 78% +/dev/grid/node-x18-y7 93T 66T 27T 70% +/dev/grid/node-x18-y8 87T 64T 23T 73% +/dev/grid/node-x18-y9 89T 72T 17T 80% +/dev/grid/node-x18-y10 86T 69T 17T 80% +/dev/grid/node-x18-y11 90T 73T 17T 81% +/dev/grid/node-x18-y12 92T 72T 20T 78% +/dev/grid/node-x18-y13 90T 70T 20T 77% +/dev/grid/node-x18-y14 87T 72T 15T 82% +/dev/grid/node-x18-y15 89T 70T 19T 78% +/dev/grid/node-x18-y16 90T 73T 17T 81% +/dev/grid/node-x18-y17 92T 66T 26T 71% +/dev/grid/node-x18-y18 87T 73T 14T 83% +/dev/grid/node-x18-y19 90T 70T 20T 77% +/dev/grid/node-x18-y20 94T 66T 28T 70% +/dev/grid/node-x18-y21 88T 73T 15T 82% +/dev/grid/node-x18-y22 87T 72T 15T 82% +/dev/grid/node-x18-y23 85T 65T 20T 76% +/dev/grid/node-x18-y24 504T 498T 6T 98% +/dev/grid/node-x18-y25 89T 70T 19T 78% +/dev/grid/node-x18-y26 86T 69T 17T 80% +/dev/grid/node-x18-y27 94T 70T 24T 74% +/dev/grid/node-x19-y0 89T 69T 20T 77% +/dev/grid/node-x19-y1 90T 72T 18T 80% +/dev/grid/node-x19-y2 91T 68T 23T 74% +/dev/grid/node-x19-y3 85T 64T 21T 75% +/dev/grid/node-x19-y4 92T 66T 26T 71% +/dev/grid/node-x19-y5 89T 65T 24T 73% +/dev/grid/node-x19-y6 85T 64T 21T 75% +/dev/grid/node-x19-y7 87T 66T 21T 75% +/dev/grid/node-x19-y8 90T 65T 25T 72% +/dev/grid/node-x19-y9 86T 73T 13T 84% +/dev/grid/node-x19-y10 91T 73T 18T 80% +/dev/grid/node-x19-y11 91T 64T 27T 70% +/dev/grid/node-x19-y12 91T 69T 22T 75% +/dev/grid/node-x19-y13 93T 71T 22T 76% +/dev/grid/node-x19-y14 88T 67T 21T 76% +/dev/grid/node-x19-y15 85T 66T 19T 77% +/dev/grid/node-x19-y16 92T 65T 27T 70% +/dev/grid/node-x19-y17 85T 67T 18T 78% +/dev/grid/node-x19-y18 86T 72T 14T 83% +/dev/grid/node-x19-y19 90T 72T 18T 80% +/dev/grid/node-x19-y20 87T 65T 22T 74% +/dev/grid/node-x19-y21 93T 64T 29T 68% +/dev/grid/node-x19-y22 91T 73T 18T 80% +/dev/grid/node-x19-y23 93T 65T 28T 69% +/dev/grid/node-x19-y24 510T 495T 15T 97% +/dev/grid/node-x19-y25 86T 69T 17T 80% +/dev/grid/node-x19-y26 94T 68T 26T 72% +/dev/grid/node-x19-y27 86T 66T 20T 76% +/dev/grid/node-x20-y0 91T 67T 24T 73% +/dev/grid/node-x20-y1 92T 67T 25T 72% +/dev/grid/node-x20-y2 88T 64T 24T 72% +/dev/grid/node-x20-y3 93T 68T 25T 73% +/dev/grid/node-x20-y4 88T 71T 17T 80% +/dev/grid/node-x20-y5 94T 68T 26T 72% +/dev/grid/node-x20-y6 85T 68T 17T 80% +/dev/grid/node-x20-y7 89T 65T 24T 73% +/dev/grid/node-x20-y8 85T 64T 21T 75% +/dev/grid/node-x20-y9 91T 66T 25T 72% +/dev/grid/node-x20-y10 94T 64T 30T 68% +/dev/grid/node-x20-y11 87T 68T 19T 78% +/dev/grid/node-x20-y12 90T 71T 19T 78% +/dev/grid/node-x20-y13 90T 67T 23T 74% +/dev/grid/node-x20-y14 91T 64T 27T 70% +/dev/grid/node-x20-y15 85T 72T 13T 84% +/dev/grid/node-x20-y16 87T 65T 22T 74% +/dev/grid/node-x20-y17 89T 71T 18T 79% +/dev/grid/node-x20-y18 87T 66T 21T 75% +/dev/grid/node-x20-y19 88T 71T 17T 80% +/dev/grid/node-x20-y20 94T 71T 23T 75% +/dev/grid/node-x20-y21 91T 68T 23T 74% +/dev/grid/node-x20-y22 92T 71T 21T 77% +/dev/grid/node-x20-y23 88T 68T 20T 77% +/dev/grid/node-x20-y24 507T 498T 9T 98% +/dev/grid/node-x20-y25 87T 71T 16T 81% +/dev/grid/node-x20-y26 88T 69T 19T 78% +/dev/grid/node-x20-y27 87T 69T 18T 79% +/dev/grid/node-x21-y0 92T 70T 22T 76% +/dev/grid/node-x21-y1 89T 64T 25T 71% +/dev/grid/node-x21-y2 86T 67T 19T 77% +/dev/grid/node-x21-y3 88T 66T 22T 75% +/dev/grid/node-x21-y4 89T 68T 21T 76% +/dev/grid/node-x21-y5 86T 67T 19T 77% +/dev/grid/node-x21-y6 87T 68T 19T 78% +/dev/grid/node-x21-y7 89T 73T 16T 82% +/dev/grid/node-x21-y8 87T 71T 16T 81% +/dev/grid/node-x21-y9 90T 71T 19T 78% +/dev/grid/node-x21-y10 92T 69T 23T 75% +/dev/grid/node-x21-y11 92T 70T 22T 76% +/dev/grid/node-x21-y12 92T 64T 28T 69% +/dev/grid/node-x21-y13 91T 69T 22T 75% +/dev/grid/node-x21-y14 89T 64T 25T 71% +/dev/grid/node-x21-y15 92T 67T 25T 72% +/dev/grid/node-x21-y16 93T 65T 28T 69% +/dev/grid/node-x21-y17 89T 69T 20T 77% +/dev/grid/node-x21-y18 86T 73T 13T 84% +/dev/grid/node-x21-y19 93T 67T 26T 72% +/dev/grid/node-x21-y20 88T 70T 18T 79% +/dev/grid/node-x21-y21 93T 68T 25T 73% +/dev/grid/node-x21-y22 94T 64T 30T 68% +/dev/grid/node-x21-y23 90T 71T 19T 78% +/dev/grid/node-x21-y24 504T 496T 8T 98% +/dev/grid/node-x21-y25 94T 72T 22T 76% +/dev/grid/node-x21-y26 93T 70T 23T 75% +/dev/grid/node-x21-y27 88T 71T 17T 80% +/dev/grid/node-x22-y0 94T 66T 28T 70% +/dev/grid/node-x22-y1 92T 71T 21T 77% +/dev/grid/node-x22-y2 92T 66T 26T 71% +/dev/grid/node-x22-y3 93T 64T 29T 68% +/dev/grid/node-x22-y4 88T 65T 23T 73% +/dev/grid/node-x22-y5 91T 67T 24T 73% +/dev/grid/node-x22-y6 91T 67T 24T 73% +/dev/grid/node-x22-y7 85T 69T 16T 81% +/dev/grid/node-x22-y8 85T 69T 16T 81% +/dev/grid/node-x22-y9 85T 72T 13T 84% +/dev/grid/node-x22-y10 85T 69T 16T 81% +/dev/grid/node-x22-y11 87T 73T 14T 83% +/dev/grid/node-x22-y12 91T 67T 24T 73% +/dev/grid/node-x22-y13 94T 73T 21T 77% +/dev/grid/node-x22-y14 91T 73T 18T 80% +/dev/grid/node-x22-y15 86T 73T 13T 84% +/dev/grid/node-x22-y16 85T 73T 12T 85% +/dev/grid/node-x22-y17 92T 66T 26T 71% +/dev/grid/node-x22-y18 86T 67T 19T 77% +/dev/grid/node-x22-y19 88T 73T 15T 82% +/dev/grid/node-x22-y20 91T 72T 19T 79% +/dev/grid/node-x22-y21 92T 65T 27T 70% +/dev/grid/node-x22-y22 85T 65T 20T 76% +/dev/grid/node-x22-y23 93T 69T 24T 74% +/dev/grid/node-x22-y24 501T 494T 7T 98% +/dev/grid/node-x22-y25 93T 69T 24T 74% +/dev/grid/node-x22-y26 89T 72T 17T 80% +/dev/grid/node-x22-y27 94T 71T 23T 75% +/dev/grid/node-x23-y0 89T 70T 19T 78% +/dev/grid/node-x23-y1 93T 64T 29T 68% +/dev/grid/node-x23-y2 94T 65T 29T 69% +/dev/grid/node-x23-y3 86T 67T 19T 77% +/dev/grid/node-x23-y4 91T 72T 19T 79% +/dev/grid/node-x23-y5 86T 64T 22T 74% +/dev/grid/node-x23-y6 88T 69T 19T 78% +/dev/grid/node-x23-y7 88T 66T 22T 75% +/dev/grid/node-x23-y8 87T 64T 23T 73% +/dev/grid/node-x23-y9 85T 69T 16T 81% +/dev/grid/node-x23-y10 85T 68T 17T 80% +/dev/grid/node-x23-y11 92T 65T 27T 70% +/dev/grid/node-x23-y12 94T 70T 24T 74% +/dev/grid/node-x23-y13 88T 67T 21T 76% +/dev/grid/node-x23-y14 91T 67T 24T 73% +/dev/grid/node-x23-y15 91T 73T 18T 80% +/dev/grid/node-x23-y16 91T 73T 18T 80% +/dev/grid/node-x23-y17 89T 68T 21T 76% +/dev/grid/node-x23-y18 86T 73T 13T 84% +/dev/grid/node-x23-y19 87T 72T 15T 82% +/dev/grid/node-x23-y20 88T 66T 22T 75% +/dev/grid/node-x23-y21 89T 71T 18T 79% +/dev/grid/node-x23-y22 89T 66T 23T 74% +/dev/grid/node-x23-y23 92T 73T 19T 79% +/dev/grid/node-x23-y24 503T 493T 10T 98% +/dev/grid/node-x23-y25 86T 68T 18T 79% +/dev/grid/node-x23-y26 94T 68T 26T 72% +/dev/grid/node-x23-y27 92T 65T 27T 70% +/dev/grid/node-x24-y0 91T 70T 21T 76% +/dev/grid/node-x24-y1 87T 73T 14T 83% +/dev/grid/node-x24-y2 92T 66T 26T 71% +/dev/grid/node-x24-y3 86T 72T 14T 83% +/dev/grid/node-x24-y4 88T 70T 18T 79% +/dev/grid/node-x24-y5 90T 65T 25T 72% +/dev/grid/node-x24-y6 88T 67T 21T 76% +/dev/grid/node-x24-y7 86T 68T 18T 79% +/dev/grid/node-x24-y8 91T 73T 18T 80% +/dev/grid/node-x24-y9 93T 71T 22T 76% +/dev/grid/node-x24-y10 86T 69T 17T 80% +/dev/grid/node-x24-y11 93T 69T 24T 74% +/dev/grid/node-x24-y12 89T 72T 17T 80% +/dev/grid/node-x24-y13 91T 71T 20T 78% +/dev/grid/node-x24-y14 86T 71T 15T 82% +/dev/grid/node-x24-y15 87T 67T 20T 77% +/dev/grid/node-x24-y16 92T 72T 20T 78% +/dev/grid/node-x24-y17 88T 64T 24T 72% +/dev/grid/node-x24-y18 91T 67T 24T 73% +/dev/grid/node-x24-y19 93T 69T 24T 74% +/dev/grid/node-x24-y20 91T 72T 19T 79% +/dev/grid/node-x24-y21 87T 66T 21T 75% +/dev/grid/node-x24-y22 87T 72T 15T 82% +/dev/grid/node-x24-y23 94T 67T 27T 71% +/dev/grid/node-x24-y24 504T 497T 7T 98% +/dev/grid/node-x24-y25 91T 71T 20T 78% +/dev/grid/node-x24-y26 92T 65T 27T 70% +/dev/grid/node-x24-y27 85T 67T 18T 78% +/dev/grid/node-x25-y0 89T 66T 23T 74% +/dev/grid/node-x25-y1 88T 71T 17T 80% +/dev/grid/node-x25-y2 93T 72T 21T 77% +/dev/grid/node-x25-y3 92T 65T 27T 70% +/dev/grid/node-x25-y4 88T 65T 23T 73% +/dev/grid/node-x25-y5 89T 64T 25T 71% +/dev/grid/node-x25-y6 87T 73T 14T 83% +/dev/grid/node-x25-y7 88T 67T 21T 76% +/dev/grid/node-x25-y8 92T 68T 24T 73% +/dev/grid/node-x25-y9 86T 70T 16T 81% +/dev/grid/node-x25-y10 91T 68T 23T 74% +/dev/grid/node-x25-y11 90T 65T 25T 72% +/dev/grid/node-x25-y12 92T 67T 25T 72% +/dev/grid/node-x25-y13 90T 66T 24T 73% +/dev/grid/node-x25-y14 93T 66T 27T 70% +/dev/grid/node-x25-y15 86T 68T 18T 79% +/dev/grid/node-x25-y16 92T 69T 23T 75% +/dev/grid/node-x25-y17 88T 66T 22T 75% +/dev/grid/node-x25-y18 91T 73T 18T 80% +/dev/grid/node-x25-y19 86T 71T 15T 82% +/dev/grid/node-x25-y20 88T 70T 18T 79% +/dev/grid/node-x25-y21 85T 66T 19T 77% +/dev/grid/node-x25-y22 92T 64T 28T 69% +/dev/grid/node-x25-y23 87T 72T 15T 82% +/dev/grid/node-x25-y24 506T 493T 13T 97% +/dev/grid/node-x25-y25 85T 64T 21T 75% +/dev/grid/node-x25-y26 87T 64T 23T 73% +/dev/grid/node-x25-y27 88T 72T 16T 81% +/dev/grid/node-x26-y0 87T 73T 14T 83% +/dev/grid/node-x26-y1 91T 72T 19T 79% +/dev/grid/node-x26-y2 86T 66T 20T 76% +/dev/grid/node-x26-y3 86T 72T 14T 83% +/dev/grid/node-x26-y4 90T 67T 23T 74% +/dev/grid/node-x26-y5 87T 70T 17T 80% +/dev/grid/node-x26-y6 87T 64T 23T 73% +/dev/grid/node-x26-y7 90T 64T 26T 71% +/dev/grid/node-x26-y8 85T 64T 21T 75% +/dev/grid/node-x26-y9 92T 68T 24T 73% +/dev/grid/node-x26-y10 92T 65T 27T 70% +/dev/grid/node-x26-y11 88T 65T 23T 73% +/dev/grid/node-x26-y12 85T 70T 15T 82% +/dev/grid/node-x26-y13 86T 68T 18T 79% +/dev/grid/node-x26-y14 92T 70T 22T 76% +/dev/grid/node-x26-y15 89T 68T 21T 76% +/dev/grid/node-x26-y16 89T 66T 23T 74% +/dev/grid/node-x26-y17 86T 71T 15T 82% +/dev/grid/node-x26-y18 87T 68T 19T 78% +/dev/grid/node-x26-y19 88T 69T 19T 78% +/dev/grid/node-x26-y20 92T 67T 25T 72% +/dev/grid/node-x26-y21 94T 69T 25T 73% +/dev/grid/node-x26-y22 86T 68T 18T 79% +/dev/grid/node-x26-y23 85T 73T 12T 85% +/dev/grid/node-x26-y24 508T 498T 10T 98% +/dev/grid/node-x26-y25 85T 73T 12T 85% +/dev/grid/node-x26-y26 88T 69T 19T 78% +/dev/grid/node-x26-y27 89T 68T 21T 76% +/dev/grid/node-x27-y0 86T 64T 22T 74% +/dev/grid/node-x27-y1 93T 65T 28T 69% +/dev/grid/node-x27-y2 92T 71T 21T 77% +/dev/grid/node-x27-y3 87T 68T 19T 78% +/dev/grid/node-x27-y4 92T 64T 28T 69% +/dev/grid/node-x27-y5 91T 65T 26T 71% +/dev/grid/node-x27-y6 86T 64T 22T 74% +/dev/grid/node-x27-y7 90T 73T 17T 81% +/dev/grid/node-x27-y8 91T 67T 24T 73% +/dev/grid/node-x27-y9 85T 69T 16T 81% +/dev/grid/node-x27-y10 92T 64T 28T 69% +/dev/grid/node-x27-y11 93T 69T 24T 74% +/dev/grid/node-x27-y12 90T 69T 21T 76% +/dev/grid/node-x27-y13 87T 72T 15T 82% +/dev/grid/node-x27-y14 94T 70T 24T 74% +/dev/grid/node-x27-y15 91T 72T 19T 79% +/dev/grid/node-x27-y16 86T 70T 16T 81% +/dev/grid/node-x27-y17 90T 67T 23T 74% +/dev/grid/node-x27-y18 86T 73T 13T 84% +/dev/grid/node-x27-y19 92T 66T 26T 71% +/dev/grid/node-x27-y20 94T 64T 30T 68% +/dev/grid/node-x27-y21 89T 70T 19T 78% +/dev/grid/node-x27-y22 91T 73T 18T 80% +/dev/grid/node-x27-y23 89T 67T 22T 75% +/dev/grid/node-x27-y24 503T 490T 13T 97% +/dev/grid/node-x27-y25 94T 67T 27T 71% +/dev/grid/node-x27-y26 90T 68T 22T 75% +/dev/grid/node-x27-y27 87T 72T 15T 82% +/dev/grid/node-x28-y0 90T 68T 22T 75% +/dev/grid/node-x28-y1 86T 73T 13T 84% +/dev/grid/node-x28-y2 88T 73T 15T 82% +/dev/grid/node-x28-y3 93T 70T 23T 75% +/dev/grid/node-x28-y4 86T 64T 22T 74% +/dev/grid/node-x28-y5 86T 69T 17T 80% +/dev/grid/node-x28-y6 89T 71T 18T 79% +/dev/grid/node-x28-y7 94T 72T 22T 76% +/dev/grid/node-x28-y8 85T 68T 17T 80% +/dev/grid/node-x28-y9 90T 69T 21T 76% +/dev/grid/node-x28-y10 87T 73T 14T 83% +/dev/grid/node-x28-y11 86T 64T 22T 74% +/dev/grid/node-x28-y12 88T 71T 17T 80% +/dev/grid/node-x28-y13 87T 64T 23T 73% +/dev/grid/node-x28-y14 94T 71T 23T 75% +/dev/grid/node-x28-y15 85T 73T 12T 85% +/dev/grid/node-x28-y16 86T 69T 17T 80% +/dev/grid/node-x28-y17 92T 72T 20T 78% +/dev/grid/node-x28-y18 88T 71T 17T 80% +/dev/grid/node-x28-y19 85T 68T 17T 80% +/dev/grid/node-x28-y20 94T 65T 29T 69% +/dev/grid/node-x28-y21 85T 71T 14T 83% +/dev/grid/node-x28-y22 85T 67T 18T 78% +/dev/grid/node-x28-y23 94T 65T 29T 69% +/dev/grid/node-x28-y24 509T 496T 13T 97% +/dev/grid/node-x28-y25 93T 71T 22T 76% +/dev/grid/node-x28-y26 87T 72T 15T 82% +/dev/grid/node-x28-y27 90T 72T 18T 80% +/dev/grid/node-x29-y0 91T 67T 24T 73% +/dev/grid/node-x29-y1 90T 66T 24T 73% +/dev/grid/node-x29-y2 89T 71T 18T 79% +/dev/grid/node-x29-y3 87T 68T 19T 78% +/dev/grid/node-x29-y4 86T 64T 22T 74% +/dev/grid/node-x29-y5 93T 73T 20T 78% +/dev/grid/node-x29-y6 86T 65T 21T 75% +/dev/grid/node-x29-y7 94T 70T 24T 74% +/dev/grid/node-x29-y8 88T 72T 16T 81% +/dev/grid/node-x29-y9 93T 66T 27T 70% +/dev/grid/node-x29-y10 89T 65T 24T 73% +/dev/grid/node-x29-y11 89T 72T 17T 80% +/dev/grid/node-x29-y12 88T 72T 16T 81% +/dev/grid/node-x29-y13 94T 71T 23T 75% +/dev/grid/node-x29-y14 93T 65T 28T 69% +/dev/grid/node-x29-y15 89T 72T 17T 80% +/dev/grid/node-x29-y16 85T 71T 14T 83% +/dev/grid/node-x29-y17 93T 68T 25T 73% +/dev/grid/node-x29-y18 86T 66T 20T 76% +/dev/grid/node-x29-y19 90T 65T 25T 72% +/dev/grid/node-x29-y20 94T 66T 28T 70% +/dev/grid/node-x29-y21 87T 68T 19T 78% +/dev/grid/node-x29-y22 92T 70T 22T 76% +/dev/grid/node-x29-y23 92T 72T 20T 78% +/dev/grid/node-x29-y24 508T 497T 11T 97% +/dev/grid/node-x29-y25 87T 64T 23T 73% +/dev/grid/node-x29-y26 86T 68T 18T 79% +/dev/grid/node-x29-y27 87T 71T 16T 81% +/dev/grid/node-x30-y0 89T 71T 18T 79% +/dev/grid/node-x30-y1 93T 64T 29T 68% +/dev/grid/node-x30-y2 86T 73T 13T 84% +/dev/grid/node-x30-y3 89T 71T 18T 79% +/dev/grid/node-x30-y4 86T 70T 16T 81% +/dev/grid/node-x30-y5 85T 70T 15T 82% +/dev/grid/node-x30-y6 85T 72T 13T 84% +/dev/grid/node-x30-y7 94T 64T 30T 68% +/dev/grid/node-x30-y8 94T 64T 30T 68% +/dev/grid/node-x30-y9 89T 65T 24T 73% +/dev/grid/node-x30-y10 87T 71T 16T 81% +/dev/grid/node-x30-y11 93T 64T 29T 68% +/dev/grid/node-x30-y12 91T 67T 24T 73% +/dev/grid/node-x30-y13 89T 68T 21T 76% +/dev/grid/node-x30-y14 88T 67T 21T 76% +/dev/grid/node-x30-y15 85T 71T 14T 83% +/dev/grid/node-x30-y16 85T 64T 21T 75% +/dev/grid/node-x30-y17 86T 73T 13T 84% +/dev/grid/node-x30-y18 89T 65T 24T 73% +/dev/grid/node-x30-y19 92T 72T 20T 78% +/dev/grid/node-x30-y20 88T 70T 18T 79% +/dev/grid/node-x30-y21 94T 66T 28T 70% +/dev/grid/node-x30-y22 91T 68T 23T 74% +/dev/grid/node-x30-y23 90T 66T 24T 73% +/dev/grid/node-x30-y24 509T 494T 15T 97% +/dev/grid/node-x30-y25 86T 72T 14T 83% +/dev/grid/node-x30-y26 90T 65T 25T 72% +/dev/grid/node-x30-y27 85T 69T 16T 81% +/dev/grid/node-x31-y0 88T 64T 24T 72% +/dev/grid/node-x31-y1 92T 70T 22T 76% +/dev/grid/node-x31-y2 90T 69T 21T 76% +/dev/grid/node-x31-y3 87T 70T 17T 80% +/dev/grid/node-x31-y4 92T 72T 20T 78% +/dev/grid/node-x31-y5 94T 72T 22T 76% +/dev/grid/node-x31-y6 91T 68T 23T 74% +/dev/grid/node-x31-y7 90T 69T 21T 76% +/dev/grid/node-x31-y8 91T 64T 27T 70% +/dev/grid/node-x31-y9 87T 68T 19T 78% +/dev/grid/node-x31-y10 87T 69T 18T 79% +/dev/grid/node-x31-y11 90T 68T 22T 75% +/dev/grid/node-x31-y12 92T 70T 22T 76% +/dev/grid/node-x31-y13 93T 64T 29T 68% +/dev/grid/node-x31-y14 91T 66T 25T 72% +/dev/grid/node-x31-y15 87T 64T 23T 73% +/dev/grid/node-x31-y16 94T 69T 25T 73% +/dev/grid/node-x31-y17 89T 70T 19T 78% +/dev/grid/node-x31-y18 91T 69T 22T 75% +/dev/grid/node-x31-y19 85T 69T 16T 81% +/dev/grid/node-x31-y20 86T 67T 19T 77% +/dev/grid/node-x31-y21 93T 69T 24T 74% +/dev/grid/node-x31-y22 93T 64T 29T 68% +/dev/grid/node-x31-y23 87T 73T 14T 83% +/dev/grid/node-x31-y24 510T 494T 16T 96% +/dev/grid/node-x31-y25 90T 68T 22T 75% +/dev/grid/node-x31-y26 89T 73T 16T 82% +/dev/grid/node-x31-y27 91T 65T 26T 71% +/dev/grid/node-x32-y0 93T 70T 23T 75% +/dev/grid/node-x32-y1 90T 71T 19T 78% +/dev/grid/node-x32-y2 87T 71T 16T 81% +/dev/grid/node-x32-y3 94T 64T 30T 68% +/dev/grid/node-x32-y4 90T 64T 26T 71% +/dev/grid/node-x32-y5 90T 67T 23T 74% +/dev/grid/node-x32-y6 90T 70T 20T 77% +/dev/grid/node-x32-y7 94T 64T 30T 68% +/dev/grid/node-x32-y8 91T 67T 24T 73% +/dev/grid/node-x32-y9 89T 64T 25T 71% +/dev/grid/node-x32-y10 88T 70T 18T 79% +/dev/grid/node-x32-y11 85T 68T 17T 80% +/dev/grid/node-x32-y12 85T 68T 17T 80% +/dev/grid/node-x32-y13 86T 68T 18T 79% +/dev/grid/node-x32-y14 87T 71T 16T 81% +/dev/grid/node-x32-y15 85T 70T 15T 82% +/dev/grid/node-x32-y16 92T 71T 21T 77% +/dev/grid/node-x32-y17 88T 71T 17T 80% +/dev/grid/node-x32-y18 93T 71T 22T 76% +/dev/grid/node-x32-y19 89T 67T 22T 75% +/dev/grid/node-x32-y20 85T 68T 17T 80% +/dev/grid/node-x32-y21 86T 65T 21T 75% +/dev/grid/node-x32-y22 91T 70T 21T 76% +/dev/grid/node-x32-y23 87T 72T 15T 82% +/dev/grid/node-x32-y24 506T 490T 16T 96% +/dev/grid/node-x32-y25 94T 68T 26T 72% +/dev/grid/node-x32-y26 86T 65T 21T 75% +/dev/grid/node-x32-y27 91T 70T 21T 76% +/dev/grid/node-x33-y0 90T 72T 18T 80% +/dev/grid/node-x33-y1 90T 70T 20T 77% +/dev/grid/node-x33-y2 94T 69T 25T 73% +/dev/grid/node-x33-y3 86T 67T 19T 77% +/dev/grid/node-x33-y4 88T 66T 22T 75% +/dev/grid/node-x33-y5 91T 67T 24T 73% +/dev/grid/node-x33-y6 94T 65T 29T 69% +/dev/grid/node-x33-y7 89T 67T 22T 75% +/dev/grid/node-x33-y8 87T 72T 15T 82% +/dev/grid/node-x33-y9 93T 68T 25T 73% +/dev/grid/node-x33-y10 91T 71T 20T 78% +/dev/grid/node-x33-y11 87T 69T 18T 79% +/dev/grid/node-x33-y12 88T 65T 23T 73% +/dev/grid/node-x33-y13 86T 64T 22T 74% +/dev/grid/node-x33-y14 92T 67T 25T 72% +/dev/grid/node-x33-y15 94T 67T 27T 71% +/dev/grid/node-x33-y16 85T 73T 12T 85% +/dev/grid/node-x33-y17 92T 64T 28T 69% +/dev/grid/node-x33-y18 87T 65T 22T 74% +/dev/grid/node-x33-y19 87T 68T 19T 78% +/dev/grid/node-x33-y20 89T 73T 16T 82% +/dev/grid/node-x33-y21 87T 65T 22T 74% +/dev/grid/node-x33-y22 92T 71T 21T 77% +/dev/grid/node-x33-y23 89T 67T 22T 75% +/dev/grid/node-x33-y24 505T 497T 8T 98% +/dev/grid/node-x33-y25 91T 64T 27T 70% +/dev/grid/node-x33-y26 88T 67T 21T 76% +/dev/grid/node-x33-y27 93T 68T 25T 73% +/dev/grid/node-x34-y0 88T 66T 22T 75% +/dev/grid/node-x34-y1 94T 69T 25T 73% +/dev/grid/node-x34-y2 89T 66T 23T 74% +/dev/grid/node-x34-y3 90T 64T 26T 71% +/dev/grid/node-x34-y4 86T 73T 13T 84% +/dev/grid/node-x34-y5 93T 67T 26T 72% +/dev/grid/node-x34-y6 86T 73T 13T 84% +/dev/grid/node-x34-y7 85T 70T 15T 82% +/dev/grid/node-x34-y8 92T 70T 22T 76% +/dev/grid/node-x34-y9 89T 67T 22T 75% +/dev/grid/node-x34-y10 86T 68T 18T 79% +/dev/grid/node-x34-y11 91T 65T 26T 71% +/dev/grid/node-x34-y12 94T 72T 22T 76% +/dev/grid/node-x34-y13 91T 70T 21T 76% +/dev/grid/node-x34-y14 91T 72T 19T 79% +/dev/grid/node-x34-y15 91T 64T 27T 70% +/dev/grid/node-x34-y16 89T 67T 22T 75% +/dev/grid/node-x34-y17 92T 67T 25T 72% +/dev/grid/node-x34-y18 89T 69T 20T 77% +/dev/grid/node-x34-y19 87T 66T 21T 75% +/dev/grid/node-x34-y20 94T 71T 23T 75% +/dev/grid/node-x34-y21 86T 71T 15T 82% +/dev/grid/node-x34-y22 89T 72T 17T 80% +/dev/grid/node-x34-y23 87T 73T 14T 83% +/dev/grid/node-x34-y24 509T 494T 15T 97% +/dev/grid/node-x34-y25 88T 69T 19T 78% +/dev/grid/node-x34-y26 87T 0T 87T 0% +/dev/grid/node-x34-y27 90T 67T 23T 74% +/dev/grid/node-x35-y0 94T 69T 25T 73% +/dev/grid/node-x35-y1 90T 71T 19T 78% +/dev/grid/node-x35-y2 93T 72T 21T 77% +/dev/grid/node-x35-y3 85T 64T 21T 75% +/dev/grid/node-x35-y4 91T 69T 22T 75% +/dev/grid/node-x35-y5 94T 73T 21T 77% +/dev/grid/node-x35-y6 88T 65T 23T 73% +/dev/grid/node-x35-y7 91T 67T 24T 73% +/dev/grid/node-x35-y8 90T 66T 24T 73% +/dev/grid/node-x35-y9 94T 70T 24T 74% +/dev/grid/node-x35-y10 92T 68T 24T 73% +/dev/grid/node-x35-y11 90T 64T 26T 71% +/dev/grid/node-x35-y12 92T 68T 24T 73% +/dev/grid/node-x35-y13 94T 64T 30T 68% +/dev/grid/node-x35-y14 94T 68T 26T 72% +/dev/grid/node-x35-y15 94T 68T 26T 72% +/dev/grid/node-x35-y16 94T 70T 24T 74% +/dev/grid/node-x35-y17 93T 68T 25T 73% +/dev/grid/node-x35-y18 88T 70T 18T 79% +/dev/grid/node-x35-y19 89T 66T 23T 74% +/dev/grid/node-x35-y20 85T 73T 12T 85% +/dev/grid/node-x35-y21 89T 72T 17T 80% +/dev/grid/node-x35-y22 86T 72T 14T 83% +/dev/grid/node-x35-y23 89T 71T 18T 79% +/dev/grid/node-x35-y24 510T 498T 12T 97% +/dev/grid/node-x35-y25 93T 69T 24T 74% +/dev/grid/node-x35-y26 86T 71T 15T 82% +/dev/grid/node-x35-y27 89T 64T 25T 71% +/dev/grid/node-x36-y0 87T 64T 23T 73% +/dev/grid/node-x36-y1 91T 69T 22T 75% +/dev/grid/node-x36-y2 87T 68T 19T 78% +/dev/grid/node-x36-y3 90T 65T 25T 72% +/dev/grid/node-x36-y4 90T 65T 25T 72% +/dev/grid/node-x36-y5 87T 68T 19T 78% +/dev/grid/node-x36-y6 94T 70T 24T 74% +/dev/grid/node-x36-y7 94T 68T 26T 72% +/dev/grid/node-x36-y8 90T 69T 21T 76% +/dev/grid/node-x36-y9 88T 67T 21T 76% +/dev/grid/node-x36-y10 93T 64T 29T 68% +/dev/grid/node-x36-y11 89T 71T 18T 79% +/dev/grid/node-x36-y12 88T 65T 23T 73% +/dev/grid/node-x36-y13 89T 73T 16T 82% +/dev/grid/node-x36-y14 86T 70T 16T 81% +/dev/grid/node-x36-y15 87T 64T 23T 73% +/dev/grid/node-x36-y16 86T 71T 15T 82% +/dev/grid/node-x36-y17 85T 71T 14T 83% +/dev/grid/node-x36-y18 90T 72T 18T 80% +/dev/grid/node-x36-y19 92T 68T 24T 73% +/dev/grid/node-x36-y20 91T 66T 25T 72% +/dev/grid/node-x36-y21 87T 67T 20T 77% +/dev/grid/node-x36-y22 85T 66T 19T 77% +/dev/grid/node-x36-y23 86T 67T 19T 77% +/dev/grid/node-x36-y24 502T 499T 3T 99% +/dev/grid/node-x36-y25 94T 70T 24T 74% +/dev/grid/node-x36-y26 85T 72T 13T 84% +/dev/grid/node-x36-y27 87T 68T 19T 78% +/dev/grid/node-x37-y0 93T 70T 23T 75% +/dev/grid/node-x37-y1 92T 72T 20T 78% +/dev/grid/node-x37-y2 89T 73T 16T 82% +/dev/grid/node-x37-y3 94T 70T 24T 74% +/dev/grid/node-x37-y4 92T 66T 26T 71% +/dev/grid/node-x37-y5 91T 64T 27T 70% +/dev/grid/node-x37-y6 87T 64T 23T 73% +/dev/grid/node-x37-y7 90T 72T 18T 80% +/dev/grid/node-x37-y8 91T 66T 25T 72% +/dev/grid/node-x37-y9 94T 65T 29T 69% +/dev/grid/node-x37-y10 85T 70T 15T 82% +/dev/grid/node-x37-y11 89T 69T 20T 77% +/dev/grid/node-x37-y12 93T 71T 22T 76% +/dev/grid/node-x37-y13 88T 67T 21T 76% +/dev/grid/node-x37-y14 94T 67T 27T 71% +/dev/grid/node-x37-y15 86T 73T 13T 84% +/dev/grid/node-x37-y16 85T 68T 17T 80% +/dev/grid/node-x37-y17 89T 72T 17T 80% +/dev/grid/node-x37-y18 88T 67T 21T 76% +/dev/grid/node-x37-y19 87T 66T 21T 75% +/dev/grid/node-x37-y20 88T 69T 19T 78% +/dev/grid/node-x37-y21 86T 70T 16T 81% +/dev/grid/node-x37-y22 92T 68T 24T 73% +/dev/grid/node-x37-y23 87T 70T 17T 80% +/dev/grid/node-x37-y24 502T 498T 4T 99% +/dev/grid/node-x37-y25 87T 72T 15T 82% +/dev/grid/node-x37-y26 90T 64T 26T 71% +/dev/grid/node-x37-y27 90T 70T 20T 77% diff --git a/data/advent23.txt b/data/advent23.txt new file mode 100644 index 0000000..93f25d2 --- /dev/null +++ b/data/advent23.txt @@ -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 94 c +jnz 99 d +inc a +inc d +jnz d -2 +inc c +jnz c -5 \ No newline at end of file diff --git a/src/Lib.hs b/src/Lib.hs new file mode 100644 index 0000000..d36ff27 --- /dev/null +++ b/src/Lib.hs @@ -0,0 +1,6 @@ +module Lib + ( someFunc + ) where + +someFunc :: IO () +someFunc = putStrLn "someFunc" diff --git a/stack.yaml b/stack.yaml new file mode 100644 index 0000000..b77fb38 --- /dev/null +++ b/stack.yaml @@ -0,0 +1,10 @@ +flags: {} +extra-package-dbs: [] +packages: +- '.' +system-ghc: true +extra-deps: +- astar-0.3.0.0 +- parsec-numbers-0.1.0 +- pqueue-1.3.2 +resolver: lts-6.25 diff --git a/test/Spec.hs b/test/Spec.hs new file mode 100644 index 0000000..cd4753f --- /dev/null +++ b/test/Spec.hs @@ -0,0 +1,2 @@ +main :: IO () +main = putStrLn "Test suite not yet implemented"