├── day15 ├── test ├── main.rs └── input ├── day6 ├── test ├── input └── main.pl ├── day1 ├── test ├── day1.png ├── Makefile ├── main.s ├── main.pl └── input ├── day9 ├── test ├── main.hs └── input ├── day7 ├── test ├── Game.java ├── GamePlus.java ├── Main.java ├── Card.java ├── CardPlus.java ├── Reader.java ├── Hand.java ├── HandPlus.java └── input ├── day4 ├── Makefile ├── test ├── main.s └── input ├── day8 ├── test2 ├── test ├── test3 ├── main.pl └── input ├── day3 ├── test ├── main.hs └── input ├── day2 ├── test ├── main.pl └── input ├── day5 ├── test ├── input └── main.pl ├── README.md └── LICENSE /day15/test: -------------------------------------------------------------------------------- 1 | rn=1,cm-,qp=3,cm=2,qp-,pc=4,ot=9,ab=5,pc-,pc=6,ot=7 -------------------------------------------------------------------------------- /day6/test: -------------------------------------------------------------------------------- 1 | Time: 7 15 30 2 | Distance: 9 40 200 3 | -------------------------------------------------------------------------------- /day1/test: -------------------------------------------------------------------------------- 1 | 1abc2 2 | pqr3stu8vwx 3 | a1b2c3d4e5f 4 | treb7uchet 5 | -------------------------------------------------------------------------------- /day9/test: -------------------------------------------------------------------------------- 1 | 0 3 6 9 12 15 2 | 1 3 6 10 15 21 3 | 10 13 16 21 30 45 4 | -------------------------------------------------------------------------------- /day7/test: -------------------------------------------------------------------------------- 1 | 32T3K 765 2 | T55J5 684 3 | KK677 28 4 | KTJJT 220 5 | QQQJA 483 6 | -------------------------------------------------------------------------------- /day4/Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | gcc -o main main.s -static 3 | clean: 4 | rm main 5 | -------------------------------------------------------------------------------- /day8/test2: -------------------------------------------------------------------------------- 1 | LLR 2 | 3 | AAA = (BBB, BBB) 4 | BBB = (AAA, ZZZ) 5 | ZZZ = (ZZZ, ZZZ) 6 | -------------------------------------------------------------------------------- /day1/day1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aarroyoc/advent-of-code-2023/main/day1/day1.png -------------------------------------------------------------------------------- /day6/input: -------------------------------------------------------------------------------- 1 | Time: 46 82 84 79 2 | Distance: 347 1522 1406 1471 3 | -------------------------------------------------------------------------------- /day1/Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | gcc -o main main.s -static 3 | 4 | execute: main 5 | ./main < input 6 | 7 | clean: 8 | rm -rf main 9 | 10 | -------------------------------------------------------------------------------- /day3/test: -------------------------------------------------------------------------------- 1 | 467..114.. 2 | ...*...... 3 | ..35..633. 4 | ......#... 5 | 617*...... 6 | .....+.58. 7 | ..592..... 8 | ......755. 9 | ...$.*.... 10 | .664.598.. 11 | -------------------------------------------------------------------------------- /day8/test: -------------------------------------------------------------------------------- 1 | RL 2 | 3 | AAA = (BBB, CCC) 4 | BBB = (DDD, EEE) 5 | CCC = (ZZZ, GGG) 6 | DDD = (DDD, DDD) 7 | EEE = (EEE, EEE) 8 | GGG = (GGG, GGG) 9 | ZZZ = (ZZZ, ZZZ) 10 | -------------------------------------------------------------------------------- /day8/test3: -------------------------------------------------------------------------------- 1 | LR 2 | 3 | 11A = (11B, XXX) 4 | 11B = (XXX, 11Z) 5 | 11Z = (11B, XXX) 6 | 22A = (22B, XXX) 7 | 22B = (22C, 22C) 8 | 22C = (22Z, 22Z) 9 | 22Z = (22B, 22B) 10 | XXX = (XXX, XXX) 11 | -------------------------------------------------------------------------------- /day4/test: -------------------------------------------------------------------------------- 1 | Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53 2 | Card 2: 13 32 20 16 61 | 61 30 68 82 17 32 24 19 3 | Card 3: 1 21 53 59 44 | 69 82 63 72 16 21 14 1 4 | Card 4: 41 92 73 84 69 | 59 84 76 51 58 5 54 83 5 | Card 5: 87 83 26 28 32 | 88 30 70 12 93 22 82 36 6 | Card 6: 31 18 13 56 72 | 74 77 10 23 35 67 36 11 7 | -------------------------------------------------------------------------------- /day2/test: -------------------------------------------------------------------------------- 1 | Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green 2 | Game 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue 3 | Game 3: 8 green, 6 blue, 20 red; 5 blue, 4 red, 13 green; 5 green, 1 red 4 | Game 4: 1 green, 3 red, 6 blue; 3 green, 6 red; 3 green, 15 blue, 14 red 5 | Game 5: 6 red, 1 blue, 3 green; 2 blue, 1 red, 2 green 6 | -------------------------------------------------------------------------------- /day5/test: -------------------------------------------------------------------------------- 1 | seeds: 79 14 55 13 2 | 3 | seed-to-soil map: 4 | 50 98 2 5 | 52 50 48 6 | 7 | soil-to-fertilizer map: 8 | 0 15 37 9 | 37 52 2 10 | 39 0 15 11 | 12 | fertilizer-to-water map: 13 | 49 53 8 14 | 0 11 42 15 | 42 0 7 16 | 57 7 4 17 | 18 | water-to-light map: 19 | 88 18 7 20 | 18 25 70 21 | 22 | light-to-temperature map: 23 | 45 77 23 24 | 81 45 19 25 | 68 64 13 26 | 27 | temperature-to-humidity map: 28 | 0 69 1 29 | 1 0 69 30 | 31 | humidity-to-location map: 32 | 60 56 37 33 | 56 93 4 34 | -------------------------------------------------------------------------------- /day7/Game.java: -------------------------------------------------------------------------------- 1 | import java.util.Collections; 2 | import java.util.List; 3 | import java.util.ArrayList; 4 | 5 | public class Game { 6 | private final ArrayList hands; 7 | 8 | public Game(List hands) { 9 | this.hands = new ArrayList(hands); 10 | this.hands.sort(Collections.reverseOrder()); 11 | } 12 | 13 | public long getTotalWinnings() { 14 | var rank = 1; 15 | var total = 0; 16 | for(Hand hand : this.hands) { 17 | total = total + (hand.getBet() * rank); 18 | rank++; 19 | } 20 | return total; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /day7/GamePlus.java: -------------------------------------------------------------------------------- 1 | import java.util.Collections; 2 | import java.util.List; 3 | import java.util.ArrayList; 4 | 5 | public class GamePlus { 6 | private final ArrayList hands; 7 | 8 | public GamePlus(List hands) { 9 | this.hands = new ArrayList(hands); 10 | this.hands.sort(Collections.reverseOrder()); 11 | } 12 | 13 | public long getTotalWinnings() { 14 | var rank = 1; 15 | var total = 0; 16 | for(HandPlus hand : this.hands) { 17 | total = total + (hand.getBet() * rank); 18 | rank++; 19 | } 20 | return total; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /day7/Main.java: -------------------------------------------------------------------------------- 1 | import java.nio.file.Path; 2 | import java.io.IOException; 3 | 4 | public class Main { 5 | public static void main(String[] args) throws IOException { 6 | var reader = new Reader(Path.of("test")); 7 | var game = reader.readGame(); 8 | System.out.println(game.getTotalWinnings()); 9 | var gamePlus = reader.readGamePlus(); 10 | System.out.println(gamePlus.getTotalWinnings()); 11 | 12 | reader = new Reader(Path.of("input")); 13 | game = reader.readGame(); 14 | System.out.println(game.getTotalWinnings()); 15 | gamePlus = reader.readGamePlus(); 16 | System.out.println(gamePlus.getTotalWinnings()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # advent-of-code-2023 2 | My solutions for AoC 2023 3 | 4 | My objective this year is that all solutions run in the Mango Pi MQ-Pro, a RISC-V64 SBC based on the Allwinner D1 chip and the Nezha platform. 5 | 6 | ![MangoPi](https://files.adrianistan.eu/MangoPi.jpg) 7 | ![Screenshot](day1/day1.png) 8 | 9 | The operating system I'm using on the Mango Pi is a community build of Armbian 23.09: 10 | 11 | - https://forum.armbian.com/topic/21465-armbian-image-and-build-support-for-risc-v/ 12 | - https://disk.yandex.ru/d/da8qJ8wyE1hhcQ/Nezha_D1/ArmbianTV/20230930-current 13 | 14 | Languages and systems used: 15 | 16 | - Prolog / Scryer Prolog v0.9.3 17 | - Haskell / GHC v9.0.2 18 | - RISC-V assembler / GCC 12.3.0 19 | - Java / OpenJDK 21 20 | - Rust / Rust 1.70.0 21 | -------------------------------------------------------------------------------- /day7/Card.java: -------------------------------------------------------------------------------- 1 | public enum Card { 2 | A, 3 | K, 4 | Q, 5 | J, 6 | T, 7 | NINE, 8 | EIGHT, 9 | SEVEN, 10 | SIX, 11 | FIVE, 12 | FOUR, 13 | THREE, 14 | TWO; 15 | 16 | public Card getSelf() { 17 | return this; 18 | } 19 | 20 | public static Card of(char code) { 21 | return switch(code) { 22 | case 'A' -> Card.A; 23 | case 'K' -> Card.K; 24 | case 'Q' -> Card.Q; 25 | case 'J' -> Card.J; 26 | case 'T' -> Card.T; 27 | case '9' -> Card.NINE; 28 | case '8' -> Card.EIGHT; 29 | case '7' -> Card.SEVEN; 30 | case '6' -> Card.SIX; 31 | case '5' -> Card.FIVE; 32 | case '4' -> Card.FOUR; 33 | case '3' -> Card.THREE; 34 | case '2' -> Card.TWO; 35 | default -> throw new RuntimeException("Coulnd't parse Card"); 36 | }; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /day7/CardPlus.java: -------------------------------------------------------------------------------- 1 | public enum CardPlus { 2 | A, 3 | K, 4 | Q, 5 | T, 6 | NINE, 7 | EIGHT, 8 | SEVEN, 9 | SIX, 10 | FIVE, 11 | FOUR, 12 | THREE, 13 | TWO, 14 | J; 15 | 16 | public CardPlus getSelf() { 17 | return this; 18 | } 19 | 20 | public static CardPlus of(char code) { 21 | return switch(code) { 22 | case 'A' -> CardPlus.A; 23 | case 'K' -> CardPlus.K; 24 | case 'Q' -> CardPlus.Q; 25 | case 'J' -> CardPlus.J; 26 | case 'T' -> CardPlus.T; 27 | case '9' -> CardPlus.NINE; 28 | case '8' -> CardPlus.EIGHT; 29 | case '7' -> CardPlus.SEVEN; 30 | case '6' -> CardPlus.SIX; 31 | case '5' -> CardPlus.FIVE; 32 | case '4' -> CardPlus.FOUR; 33 | case '3' -> CardPlus.THREE; 34 | case '2' -> CardPlus.TWO; 35 | default -> throw new RuntimeException("Coulnd't parse Card"); 36 | }; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /day9/main.hs: -------------------------------------------------------------------------------- 1 | main :: IO () 2 | main = do 3 | input <- readFile "input" 4 | let listOfNums = map words (lines input) 5 | let sol1 = sum $ map extrapolate (map (map read) listOfNums) 6 | let sol2 = sum $ map extrapolateBack (map (map read) listOfNums) 7 | print sol1 8 | print sol2 9 | 10 | extrapolate :: [Int] -> Int 11 | extrapolate nums = 12 | let 13 | dl = diffList nums 14 | in 15 | if zeroList dl then 16 | last nums 17 | else 18 | (last nums) + (extrapolate dl) 19 | 20 | extrapolateBack :: [Int] -> Int 21 | extrapolateBack nums = 22 | let 23 | dl = diffList nums 24 | in 25 | if zeroList dl then 26 | head nums 27 | else 28 | (head nums) - (extrapolateBack dl) 29 | 30 | 31 | diffList :: [Int] -> [Int] 32 | diffList [a,b] = [b - a] 33 | diffList (a:b:xs) = (b - a):(diffList (b:xs)) 34 | 35 | zeroList :: [Int] -> Bool 36 | zeroList = all isZero 37 | where 38 | isZero a = a == 0 39 | -------------------------------------------------------------------------------- /day1/main.s: -------------------------------------------------------------------------------- 1 | .section .data 2 | printf_int_str: .string "%d\n" 3 | 4 | .section .text 5 | .global main 6 | main: 7 | li s0, 0 # s0 - Sum, solution 8 | loop: 9 | jal read_line 10 | add s0, s0, a0 11 | jal print_int 12 | j loop 13 | exit: 14 | mv a0, s0 15 | jal print_int 16 | li a7, 93 17 | li a0, 0 18 | ecall 19 | 20 | print_int: 21 | mv t0, ra 22 | mv t1, a0 23 | la a0, printf_int_str 24 | mv a1, t1 25 | call printf 26 | jr t0 27 | 28 | read_line: 29 | mv s3, ra # s3 - Return address 30 | li s1, 0 # s1 - First digit 31 | li s2, 0 # s2 - Last digit 32 | read_char_loop: 33 | call getchar 34 | mv t0, a0 # t0 - New character 35 | li t1, 0x0A # t1 - Character LF 36 | beq t0, t1, exit_read_line 37 | blt t0, zero, exit # EOF 38 | li t1, 0x30 # t1 - 0 Character 39 | blt t0, t1, read_char_loop 40 | li t1, 0x39 # t1 - 9 Character 41 | bgt t0, t1, read_char_loop 42 | is_a_digit: 43 | mv s2, t0 44 | beq s1, zero, is_first_digit 45 | j read_char_loop 46 | is_first_digit: 47 | mv s1, s2 48 | j read_char_loop 49 | exit_read_line: 50 | li t0, 48 51 | sub s1, s1, t0 52 | sub s2, s2, t0 53 | li t0, 10 54 | mul s1, s1, t0 55 | add a0, s1, s2 56 | jr s3 57 | 58 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /day7/Reader.java: -------------------------------------------------------------------------------- 1 | import java.util.regex.Pattern; 2 | import java.util.regex.Matcher; 3 | import java.nio.file.Path; 4 | import java.nio.file.Files; 5 | import java.nio.charset.StandardCharsets; 6 | import java.io.IOException; 7 | 8 | public class Reader { 9 | 10 | private final Path path; 11 | final static Pattern pattern = Pattern.compile("([0-9AKQJT]{5}) ([0-9]+)"); 12 | 13 | public Reader(Path filename) { 14 | this.path = filename; 15 | } 16 | 17 | public Game readGame() throws IOException { 18 | var hands = Files.readAllLines(this.path, StandardCharsets.UTF_8) 19 | .stream() 20 | .map(line -> Reader.readLine(line)) 21 | .toList(); 22 | return new Game(hands); 23 | } 24 | 25 | public GamePlus readGamePlus() throws IOException { 26 | var hands = Files.readAllLines(this.path, StandardCharsets.UTF_8) 27 | .stream() 28 | .map(line -> Reader.readLinePlus(line)) 29 | .toList(); 30 | return new GamePlus(hands); 31 | } 32 | 33 | private static Hand readLine(String line) { 34 | Matcher matcher = Reader.pattern.matcher(line); 35 | if(!matcher.matches()) { 36 | throw new RuntimeException("Can't parse line using RegEx"); 37 | } 38 | var cards = matcher.group(1); 39 | var card1 = Card.of(cards.charAt(0)); 40 | var card2 = Card.of(cards.charAt(1)); 41 | var card3 = Card.of(cards.charAt(2)); 42 | var card4 = Card.of(cards.charAt(3)); 43 | var card5 = Card.of(cards.charAt(4)); 44 | 45 | var bet = Integer.parseInt(matcher.group(2)); 46 | 47 | return new Hand(bet, new Card[]{card1, card2, card3, card4, card5}); 48 | } 49 | 50 | private static HandPlus readLinePlus(String line) { 51 | Matcher matcher = Reader.pattern.matcher(line); 52 | if(!matcher.matches()) { 53 | throw new RuntimeException("Can't parse line using RegEx"); 54 | } 55 | var cards = matcher.group(1); 56 | var card1 = CardPlus.of(cards.charAt(0)); 57 | var card2 = CardPlus.of(cards.charAt(1)); 58 | var card3 = CardPlus.of(cards.charAt(2)); 59 | var card4 = CardPlus.of(cards.charAt(3)); 60 | var card5 = CardPlus.of(cards.charAt(4)); 61 | 62 | var bet = Integer.parseInt(matcher.group(2)); 63 | 64 | return new HandPlus(bet, new CardPlus[]{card1, card2, card3, card4, card5}); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /day15/main.rs: -------------------------------------------------------------------------------- 1 | use std::str::FromStr; 2 | 3 | fn main() { 4 | let contents = std::fs::read_to_string("input").unwrap(); 5 | let msgs = contents.split(','); 6 | let hash_codes = msgs.map(hash_code); 7 | let solution1: i64 = hash_codes.sum(); 8 | println!("Solution 1: {}", solution1); 9 | 10 | let mut hashimap = HashiMap::new(); 11 | for msg in contents.split(',') { 12 | if msg.ends_with("-") { 13 | if let Some(tag) = msg.get(0..msg.len() - 1) { 14 | hashimap.remove(tag); 15 | } 16 | } else { 17 | let splits: Vec<&str> = msg.split('=').collect(); 18 | let tag = splits[0]; 19 | let focal_length = u8::from_str(splits[1]).unwrap(); 20 | hashimap.add(tag, focal_length); 21 | } 22 | } 23 | 24 | let solution2: i64 = hashimap.focus_power(); 25 | println!("Solution 2: {}", solution2); 26 | } 27 | 28 | fn hash_code(code: &str) -> i64 { 29 | let mut hash = 0; 30 | 31 | for c in code.chars() { 32 | hash += c as i64; 33 | hash *= 17; 34 | hash = hash % 256; 35 | } 36 | hash 37 | } 38 | 39 | #[derive(Debug)] 40 | struct Lense { 41 | tag: String, 42 | focal_length: u8, 43 | } 44 | 45 | #[derive(Debug)] 46 | struct HashiMap { 47 | boxes: Vec>, 48 | } 49 | 50 | impl HashiMap { 51 | 52 | fn new() -> Self { 53 | let mut boxes = Vec::with_capacity(256); 54 | 55 | for _ in 0..256 { 56 | boxes.push(Vec::new()); 57 | } 58 | 59 | HashiMap { 60 | boxes 61 | } 62 | } 63 | 64 | fn add(&mut self, tag: &str, focal_length: u8) { 65 | let hash = hash_code(tag); 66 | if let Some(vec) = self.boxes.get_mut(hash as usize) { 67 | if vec.iter().any(|x| x.tag == tag) { 68 | for x in vec.iter_mut() { 69 | if x.tag == tag { 70 | x.focal_length = focal_length; 71 | } 72 | } 73 | } else { 74 | vec.push(Lense { tag: tag.to_string(), focal_length }); 75 | } 76 | } 77 | } 78 | 79 | fn remove(&mut self, tag: &str) { 80 | let hash = hash_code(tag); 81 | if let Some(vec) = self.boxes.get_mut(hash as usize) { 82 | vec.retain(|x| x.tag != tag); 83 | } 84 | } 85 | 86 | fn focus_power(&self) -> i64 { 87 | let mut sum: i64 = 0; 88 | for i in 0..256 { 89 | for (j, lense) in self.boxes[i].iter().enumerate() { 90 | sum += (i as i64 + 1) * (j as i64 + 1) * lense.focal_length as i64; 91 | } 92 | } 93 | sum 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /day6/main.pl: -------------------------------------------------------------------------------- 1 | :- use_module(library(pio)). 2 | :- use_module(library(dcgs)). 3 | :- use_module(library(clpz)). 4 | :- use_module(library(lists)). 5 | :- use_module(library(debug)). 6 | :- use_module(library(iso_ext)). 7 | 8 | input(Times, Distances) --> 9 | "Time:", spaces, spaced_nums(Times), 10 | "Distance:", spaces, spaced_nums(Distances). 11 | 12 | input2(Time, Distance) --> 13 | "Time:", spaces, num(TimeCs), 14 | "Distance:", spaces, num(DistanceCs), 15 | { number_chars(Time, TimeCs), number_chars(Distance, DistanceCs) }. 16 | 17 | num("") --> nl. 18 | num(Num) --> 19 | " ", 20 | num(Num). 21 | num([X|Num0]) --> 22 | [X], 23 | num(Num0). 24 | 25 | 26 | nl --> "\n". 27 | 28 | spaces --> " ", spaces. 29 | spaces --> " ". 30 | 31 | spaced_nums([]) --> nl. 32 | spaced_nums([X|Xs]) --> 33 | spaces, seq(NumCs), 34 | spaced_nums(Xs), 35 | { number_chars(X, NumCs) }. 36 | 37 | main(X) :- 38 | phrase_from_file(input(Times, Distances), "input"), 39 | maplist(race_count, Times, Distances, Vals), 40 | mul_list(Vals, X). 41 | 42 | main2(X) :- 43 | phrase_from_file(input2(Time, Distance), "input"), 44 | race_count2(Time, Distance, X). 45 | 46 | mul_list([], 1). 47 | mul_list([X|Xs], N) :- 48 | N #= X*N0, 49 | mul_list(Xs, N0). 50 | 51 | race_count2(Time, Distance, X) :- 52 | race_count_up(Time, Distance, X0), 53 | race_count_down(Time, Distance, X1), 54 | X #= X1 - X0 + 1. 55 | 56 | race_count_up(Time, Distance, TimeForAccel) :- 57 | [TimeForAccel, TimeForRun] ins 0..Time, 58 | Time #= TimeForAccel + TimeForRun, 59 | Speed #= TimeForAccel, 60 | DistanceRun #= Speed * TimeForRun, 61 | DistanceRun #> Distance, 62 | labeling([up], [TimeForAccel]). 63 | 64 | race_count_down(Time, Distance, TimeForAccel) :- 65 | [TimeForAccel, TimeForRun] ins 0..Time, 66 | Time #= TimeForAccel + TimeForRun, 67 | Speed #= TimeForAccel, 68 | DistanceRun #= Speed * TimeForRun, 69 | DistanceRun #> Distance, 70 | labeling([down], [TimeForAccel]). 71 | 72 | race_count(Time, Distance, N) :- 73 | countall(race(Time, Distance, _), N). 74 | 75 | race(Time, Distance, TimeForAccel) :- 76 | [TimeForAccel, TimeForRun] ins 0..Time, 77 | Time #= TimeForAccel + TimeForRun, 78 | Speed #= TimeForAccel, 79 | DistanceRun #= Speed * TimeForRun, 80 | DistanceRun #> Distance, 81 | label([TimeForAccel, TimeForRun]). 82 | -------------------------------------------------------------------------------- /day8/main.pl: -------------------------------------------------------------------------------- 1 | :- use_module(library(clpz)). 2 | :- use_module(library(dcgs)). 3 | :- use_module(library(pio)). 4 | :- use_module(library(lists)). 5 | :- use_module(library(debug)). 6 | :- use_module(library(assoc)). 7 | :- use_module(library(reif)). 8 | :- use_module(library(dif)). 9 | :- use_module(library(iso_ext)). 10 | 11 | input(Instructions, Map) --> 12 | seq(Instructions),nl, 13 | nl, 14 | input_map(Map). 15 | 16 | nl --> "\n". 17 | 18 | input_map(X) --> [], { empty_assoc(X) }. 19 | input_map(X) --> 20 | seq(Name), " = (", seq(Left), ", ", seq(Right), ")",nl, 21 | input_map(X0), 22 | { 23 | put_assoc(Name, X0, node(Left, Right), X) 24 | }. 25 | 26 | main(X) :- 27 | phrase_from_file(input(Instructions, Map), "input"),!, 28 | StartNode = "AAA", 29 | route(Instructions, Instructions, StartNode, Map, 0, X). 30 | 31 | % TODO - Too slow 32 | main2(X) :- 33 | phrase_from_file(input(Instructions, Map), "input"),!, 34 | $ starting_nodes(Map, StartingNodes), 35 | route2([], Instructions, StartingNodes, Map, 0, X). 36 | 37 | route2(_, _, CurrentNodes, _, C, C) :- 38 | forall(member(Node, CurrentNodes), append(_, "Z", Node)). 39 | 40 | route2([], Is, CurrentNodes, Map, C0, C) :- 41 | route2(Is, Is, CurrentNodes, Map, C0, C). 42 | 43 | route2([X|Xs], Is, CurrentNodes, Map, C0, C) :- 44 | maplist(node_forward(X, Map), CurrentNodes, Nodes), 45 | C1 #= C0 + 1, 46 | route2(Xs, Is, Nodes, Map, C1, C). 47 | 48 | node_forward('L', Map, Node0, Node) :- 49 | get_assoc(Node0, Map, node(Node, _)). 50 | 51 | node_forward('R', Map, Node0, Node) :- 52 | get_assoc(Node0, Map, node(_, Node)). 53 | 54 | starting_nodes(Map, StartingNodes) :- 55 | assoc_to_keys(Map, Keys), 56 | tfilter(starting_node_t, Keys, StartingNodes). 57 | 58 | starting_node_t(Node, true) :- 59 | append(_, "A", Node). 60 | 61 | starting_node_t(Node, false) :- 62 | append(_, [C], Node), 63 | dif(C, 'A'). 64 | 65 | route(_, _, "ZZZ", _, C, C). 66 | 67 | route([], Is, CurrentNode, Map, C0, C) :- 68 | route(Is, Is, CurrentNode, Map, C0, C). 69 | 70 | route(['L'|Xs], Is, CurrentNode, Map, C0, C) :- 71 | get_assoc(CurrentNode, Map, node(Left, _)), 72 | C1 #= C0 + 1, 73 | route(Xs, Is, Left, Map, C1, C). 74 | 75 | route(['R'|Xs], Is, CurrentNode, Map, C0, C) :- 76 | get_assoc(CurrentNode, Map, node(_, Right)), 77 | C1 #= C0 + 1, 78 | route(Xs, Is, Right, Map, C1, C). 79 | -------------------------------------------------------------------------------- /day1/main.pl: -------------------------------------------------------------------------------- 1 | :- use_module(library(pio)). 2 | :- use_module(library(dcgs)). 3 | :- use_module(library(charsio)). 4 | :- use_module(library(reif)). 5 | :- use_module(library(dif)). 6 | :- use_module(library(lists)). 7 | 8 | lines([]) --> []. 9 | lines([X|Xs]) --> 10 | line(X), 11 | lines(Xs). 12 | 13 | line([]) --> "\n". 14 | line([X|Xs]) --> 15 | [X], 16 | line(Xs). 17 | 18 | digits(Line, DigitA, DigitB) :- 19 | tfilter(digit_t, Line, Digits), 20 | Digits = [DigitA|_], 21 | reverse(Digits, [DigitB|_]). 22 | 23 | digit_t(Digit, true) :- 24 | char_type(Digit, decimal_digit). 25 | 26 | digit_t(Digit, false) :- 27 | char_type(Digit, Type), 28 | dif(Type, decimal_digit). 29 | 30 | line_value(Line, Value) :- 31 | digits(Line, DigitA, DigitB), 32 | number_chars(Value, [DigitA, DigitB]). 33 | 34 | main(Sum) :- 35 | phrase_from_file(lines(Lines), "input"), 36 | maplist(line_value, Lines, Values), 37 | sum_list(Values, Sum). 38 | 39 | text_digit("1") --> "one". 40 | text_digit("2") --> "two". 41 | text_digit("3") --> "three". 42 | text_digit("4") --> "four". 43 | text_digit("5") --> "five". 44 | text_digit("6") --> "six". 45 | text_digit("7") --> "seven". 46 | text_digit("8") --> "eight". 47 | text_digit("9") --> "nine". 48 | 49 | text_digit_reverse("1") --> "eno". 50 | text_digit_reverse("2") --> "owt". 51 | text_digit_reverse("3") --> "eerht". 52 | text_digit_reverse("4") --> "ruof". 53 | text_digit_reverse("5") --> "evif". 54 | text_digit_reverse("6") --> "xis". 55 | text_digit_reverse("7") --> "neves". 56 | text_digit_reverse("8") --> "thgie". 57 | text_digit_reverse("9") --> "enin". 58 | 59 | main2(Sum) :- 60 | phrase_from_file(lines(Lines), "input"), 61 | maplist(line_text_digits, Lines, LinesTextDigits), 62 | maplist(line_value, LinesTextDigits, Values), 63 | sum_list(Values, Sum). 64 | 65 | line_text_digits(Line, LineTextDigitsFull) :- 66 | phrase(line_text_digits_(LineTextDigits), Line), 67 | reverse(Line, LineReverse), 68 | phrase(line_text_digits_reverse_(LineTextDigitsReverse),LineReverse), 69 | reverse(LineTextDigitsReverse, LTDR1), 70 | append(LineTextDigits, LTDR1, LineTextDigitsFull). 71 | 72 | line_text_digits_([]) --> []. 73 | line_text_digits_(Line) --> 74 | text_digit(X), 75 | seq(Xs), 76 | { append(X, Xs, Line) }. 77 | line_text_digits_(Line) --> 78 | [X], 79 | line_text_digits_(Xs), 80 | { append([X], Xs, Line) }. 81 | 82 | line_text_digits_reverse_([]) --> []. 83 | line_text_digits_reverse_(Line) --> 84 | text_digit_reverse(X), 85 | seq(Xs), 86 | { append(X, Xs, Line) }. 87 | line_text_digits_reverse_(Line) --> 88 | [X], 89 | line_text_digits_reverse_(Xs), 90 | { append([X], Xs, Line) }. 91 | -------------------------------------------------------------------------------- /day7/Hand.java: -------------------------------------------------------------------------------- 1 | import java.util.Map; 2 | import java.util.Arrays; 3 | import java.util.stream.Collectors; 4 | 5 | public class Hand implements Comparable { 6 | private final int bet; 7 | private final Card[] cards; 8 | 9 | public enum Type { 10 | FIVE_OF_A_KIND, 11 | FOUR_OF_A_KIND, 12 | FULL_HOUSE, 13 | THREE_OF_A_KIND, 14 | TWO_PAIR, 15 | ONE_PAIR, 16 | HIGH_CARD 17 | } 18 | 19 | public Hand(int bet, Card[] cards) { 20 | this.bet = bet; 21 | this.cards = cards; 22 | } 23 | 24 | public int getBet() { 25 | return this.bet; 26 | } 27 | 28 | @Override 29 | public int compareTo(Hand other) { 30 | var type0 = this.getType(); 31 | var type1 = other.getType(); 32 | 33 | if(type0 == type1) { 34 | // Second rule 35 | for(int i=0;i count = Arrays.stream(this.cards) 50 | .collect(Collectors.groupingBy(Card::getSelf, Collectors.summingInt(n -> 1))); 51 | var keySet = count.keySet().toArray(); 52 | 53 | if(count.size() == 1) { 54 | return Hand.Type.FIVE_OF_A_KIND; 55 | } else if(count.size() == 2) { 56 | var count0 = count.get(keySet[0]); 57 | var count1 = count.get(keySet[1]); 58 | if(count0 == 4 && count1 == 1) { 59 | return Hand.Type.FOUR_OF_A_KIND; 60 | } else if(count0 == 1 && count1 == 4) { 61 | return Hand.Type.FOUR_OF_A_KIND; 62 | } else if(count0 == 3 && count1 == 2) { 63 | return Hand.Type.FULL_HOUSE; 64 | } else { 65 | return Hand.Type.FULL_HOUSE; 66 | } 67 | } else if(count.size() == 3) { 68 | var count0 = count.get(keySet[0]); 69 | var count1 = count.get(keySet[1]); 70 | var count2 = count.get(keySet[2]); 71 | 72 | if(count0 == 3) { 73 | return Hand.Type.THREE_OF_A_KIND; 74 | } else if(count1 == 3) { 75 | return Hand.Type.THREE_OF_A_KIND; 76 | } else if(count2 == 3) { 77 | return Hand.Type.THREE_OF_A_KIND; 78 | } else if(count0 == 2 && count1 == 2) { 79 | return Hand.Type.TWO_PAIR; 80 | } else if(count2 == 2 && count1 == 2) { 81 | return Hand.Type.TWO_PAIR; 82 | } else if(count0 == 2 && count2 == 2) { 83 | return Hand.Type.TWO_PAIR; 84 | } 85 | } else if(count.size() == 4) { 86 | return Hand.Type.ONE_PAIR; 87 | } 88 | return Hand.Type.HIGH_CARD; 89 | } 90 | 91 | @Override 92 | public String toString() { 93 | return "["+this.cards[0]+this.cards[1]+this.cards[2]+this.cards[3]+this.cards[4]+"]"; 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /day2/main.pl: -------------------------------------------------------------------------------- 1 | :- use_module(library(reif)). 2 | :- use_module(library(clpz)). 3 | :- use_module(library(lists)). 4 | :- use_module(library(dcgs)). 5 | :- use_module(library(pio)). 6 | :- use_module(library(iso_ext)). 7 | :- use_module(library(format)). 8 | 9 | lines([]) --> []. 10 | lines([X|Xs]) --> 11 | line(X), 12 | lines(Xs). 13 | 14 | line([]) --> "\n". 15 | line([X|Xs]) --> 16 | [X], 17 | line(Xs). 18 | 19 | game(game(Id, Plays)) --> 20 | "Game ", 21 | seq(IdCs), 22 | ":", 23 | { number_chars(Id, IdCs) }, 24 | plays(Plays). 25 | 26 | plays([X]) --> play(X). 27 | plays([X|Xs]) --> 28 | play(X), 29 | ";", 30 | plays(Xs). 31 | 32 | play(play(Red, Green, Blue)) --> 33 | " ", seq(Red), " red", 34 | { \+ member(',', Red), \+ member(';', Red) }, 35 | ( [] | (",", play(play(Red, Green, Blue)))). 36 | play(play(Red, Green, Blue)) --> 37 | " ", seq(Green), " green", 38 | { \+ member(',', Green), \+ member(';', Green) }, 39 | ( [] | (",", play(play(Red, Green, Blue)))). 40 | play(play(Red, Green, Blue)) --> 41 | " ", seq(Blue), " blue", 42 | { \+ member(',', Blue), \+ member(';', Blue) }, 43 | ( [] | (",", play(play(Red, Green, Blue)))). 44 | 45 | main(X) :- 46 | phrase_from_file(lines(Lines), "input"), 47 | maplist(lines_games, Lines, Games), 48 | tfilter(elf_condition, Games, ValidGames), 49 | sum_game_ids(ValidGames, X). 50 | 51 | main2(X) :- 52 | phrase_from_file(lines(Lines), "input"), 53 | maplist(lines_games, Lines, Games), 54 | maplist(games_power, Games, Power), 55 | sum_list(Power, X). 56 | 57 | games_power(game(_, Plays), Power) :- 58 | games_power_(Plays, Red, Green, Blue), 59 | Power #= Red * Green * Blue. 60 | 61 | games_power_([], 0, 0, 0). 62 | games_power_([play(Red0, Green0, Blue0)|Xs], Red, Green, Blue) :- 63 | Red #= max(Red0, Red1), 64 | Green #= max(Green0, Green1), 65 | Blue #= max(Blue0, Blue1), 66 | games_power_(Xs, Red1, Green1, Blue1). 67 | 68 | sum_game_ids([], 0). 69 | sum_game_ids([game(Id, _)|Xs], Sum) :- 70 | Sum #= Id + Sum0, 71 | sum_game_ids(Xs, Sum0). 72 | 73 | elf_condition(game(Id, Plays), true) :- 74 | forall(member(Play, Plays), ( 75 | Play = play(Red, Green, Blue), 76 | Red #< 13, 77 | Green #< 14, 78 | Blue #< 15 79 | )). 80 | 81 | elf_condition(game(Id, Plays), false) :- 82 | \+ forall(member(Play, Plays), ( 83 | Play = play(Red, Green, Blue), 84 | Red #< 13, 85 | Green #< 14, 86 | Blue #< 15 87 | )). 88 | 89 | lines_games(Line, Game) :- 90 | phrase(game(Game0), Line), 91 | portray_clause(Game0), 92 | normalize(Game0, Game), 93 | portray_clause(Game). 94 | 95 | normalize(game(Id, Plays0), game(Id, Plays1)) :- 96 | normalize_(Plays0, Plays1). 97 | 98 | normalize_([], []). 99 | normalize_([play(Red0, Green0, Blue0)|Xs0], [play(Red, Green, Blue)|Xs]) :- 100 | ( 101 | var(Red0) -> 102 | Red = 0 103 | ; number_chars(Red, Red0) 104 | ), 105 | ( 106 | var(Green0) -> 107 | Green = 0 108 | ; number_chars(Green, Green0) 109 | ), 110 | ( 111 | var(Blue0) -> 112 | Blue = 0 113 | ; number_chars(Blue, Blue0) 114 | ), 115 | normalize_(Xs0, Xs). 116 | -------------------------------------------------------------------------------- /day7/HandPlus.java: -------------------------------------------------------------------------------- 1 | import java.util.Map; 2 | import java.util.Arrays; 3 | import java.util.stream.Collectors; 4 | 5 | public class HandPlus implements Comparable { 6 | private final int bet; 7 | private final CardPlus[] cards; 8 | 9 | public enum Type { 10 | FIVE_OF_A_KIND, 11 | FOUR_OF_A_KIND, 12 | FULL_HOUSE, 13 | THREE_OF_A_KIND, 14 | TWO_PAIR, 15 | ONE_PAIR, 16 | HIGH_CARD 17 | } 18 | 19 | public HandPlus(int bet, CardPlus[] cards) { 20 | this.bet = bet; 21 | this.cards = cards; 22 | } 23 | 24 | public int getBet() { 25 | return this.bet; 26 | } 27 | 28 | @Override 29 | public int compareTo(HandPlus other) { 30 | var type0 = this.getType(); 31 | var type1 = other.getType(); 32 | 33 | if(type0 == type1) { 34 | // Second rule 35 | for(int i=0;i count = Arrays.stream(this.cards) 50 | .collect(Collectors.groupingBy(CardPlus::getSelf, Collectors.summingInt(n -> 1))); 51 | if(count.containsKey(CardPlus.J)) { 52 | var jValue = count.remove(CardPlus.J); 53 | var maxKey = CardPlus.J; 54 | var maxValue = 0; 55 | for(Map.Entry entry : count.entrySet()) { 56 | if(entry.getValue() > maxValue) { 57 | maxKey = entry.getKey(); 58 | maxValue = entry.getValue(); 59 | } 60 | } 61 | count.put(maxKey, maxValue + jValue); 62 | } 63 | 64 | var keySet = count.keySet().toArray(); 65 | 66 | if(count.size() == 1) { 67 | return HandPlus.Type.FIVE_OF_A_KIND; 68 | } else if(count.size() == 2) { 69 | var count0 = count.get(keySet[0]); 70 | var count1 = count.get(keySet[1]); 71 | if(count0 == 4 && count1 == 1) { 72 | return HandPlus.Type.FOUR_OF_A_KIND; 73 | } else if(count0 == 1 && count1 == 4) { 74 | return HandPlus.Type.FOUR_OF_A_KIND; 75 | } else if(count0 == 3 && count1 == 2) { 76 | return HandPlus.Type.FULL_HOUSE; 77 | } else { 78 | return HandPlus.Type.FULL_HOUSE; 79 | } 80 | } else if(count.size() == 3) { 81 | var count0 = count.get(keySet[0]); 82 | var count1 = count.get(keySet[1]); 83 | var count2 = count.get(keySet[2]); 84 | 85 | if(count0 == 3) { 86 | return HandPlus.Type.THREE_OF_A_KIND; 87 | } else if(count1 == 3) { 88 | return HandPlus.Type.THREE_OF_A_KIND; 89 | } else if(count2 == 3) { 90 | return HandPlus.Type.THREE_OF_A_KIND; 91 | } else if(count0 == 2 && count1 == 2) { 92 | return HandPlus.Type.TWO_PAIR; 93 | } else if(count2 == 2 && count1 == 2) { 94 | return HandPlus.Type.TWO_PAIR; 95 | } else if(count0 == 2 && count2 == 2) { 96 | return HandPlus.Type.TWO_PAIR; 97 | } 98 | } else if(count.size() == 4) { 99 | return HandPlus.Type.ONE_PAIR; 100 | } 101 | return HandPlus.Type.HIGH_CARD; 102 | } 103 | 104 | @Override 105 | public String toString() { 106 | return "["+this.cards[0]+this.cards[1]+this.cards[2]+this.cards[3]+this.cards[4]+"]"; 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /day3/main.hs: -------------------------------------------------------------------------------- 1 | main :: IO () 2 | main = do 3 | input <- readFile "input" 4 | let mapElements = parseFile 0 0 input 5 | partOne mapElements 6 | partTwo mapElements 7 | 8 | 9 | partOne :: [MapElement] -> IO () 10 | partOne mapElements = do 11 | let adjacentNumElements = filter (hasAdjacentSymbol mapElements) mapElements 12 | print $ sumElements adjacentNumElements 13 | 14 | partTwo :: [MapElement] -> IO () 15 | partTwo mapElements = do 16 | let gears = filter isSymbolGear mapElements 17 | let gearsValue = map (gearValue mapElements) gears 18 | print $ sum gearsValue 19 | 20 | data MapElement = Symbol Int Int Char | Num Int Int String deriving(Show) 21 | 22 | isSymbolGear :: MapElement -> Bool 23 | isSymbolGear (Symbol _ _ '*') = True 24 | isSymbolGear _ = False 25 | 26 | isSymbol :: MapElement -> Bool 27 | isSymbol (Symbol _ _ _) = True 28 | isSymbol _ = False 29 | 30 | getNumberValue :: MapElement -> Int 31 | getNumberValue (Num _ _ str) = read str 32 | getNumberValue _ = 0 33 | 34 | gearValue :: [MapElement] -> MapElement -> Int 35 | gearValue mapElements (Symbol x y '*') = 36 | let 37 | adjacentNumbers = filter (isAdjacentNumber x y) mapElements 38 | adjacentNumbersInt = map getNumberValue adjacentNumbers 39 | in 40 | case adjacentNumbersInt of 41 | [] -> 0 42 | [_] -> 0 43 | [a,b] -> a * b 44 | _ -> 0 45 | gearValue _ _ = 0 46 | 47 | isAdjacentNumber :: Int -> Int -> MapElement -> Bool 48 | isAdjacentNumber x y (Num nx ny str) = 49 | (y == ny && (nx == (x + 1) || (nx + length str) == x)) || 50 | ((y - 1) == ny && (nx + length str) >= x && nx <= (x + 1)) || 51 | ((y + 1) == ny && (nx + length str) >= x && nx <= (x + 1)) 52 | isAdjacentNumber _ _ _ = False 53 | 54 | hasAdjacentSymbol :: [MapElement] -> MapElement -> Bool 55 | hasAdjacentSymbol mapElements (Num x y str) = 56 | let 57 | symbolElements = filter isSymbol mapElements 58 | top = any (inRangeSymbol x (y - 1) str) symbolElements 59 | middle = any (inRangeSymbol x y str) symbolElements 60 | bottom = any (inRangeSymbol x (y + 1) str) symbolElements 61 | in 62 | top || middle || bottom 63 | hasAdjacentSymbol _ (Symbol _ _ _) = False 64 | 65 | inRangeSymbol :: Int -> Int -> String -> MapElement -> Bool 66 | inRangeSymbol x y str (Symbol sx sy _) = y == sy && sx >= (x - 1) && sx <= (x + (length str)) 67 | inRangeSymbol _ _ _ _ = False 68 | 69 | sumElements :: [MapElement] -> Int 70 | sumElements [] = 0 71 | sumElements (x:xs) = 72 | case x of 73 | (Num _ _ str) -> read str + sumElements xs 74 | (Symbol _ _ _) -> sumElements xs 75 | 76 | parseFile :: Int -> Int -> String -> [MapElement] 77 | parseFile _ _ [] = [] 78 | parseFile x y ('.':xs) = parseFile (x + 1) y xs 79 | parseFile x y ('\n':xs) = parseFile 0 (y + 1) xs 80 | parseFile x y (char:xs) = 81 | if isNumber char then 82 | parseFileNum x y (x + 1) y [char] xs 83 | else 84 | (Symbol x y char):(parseFile (x + 1) y xs) 85 | 86 | parseFileNum :: Int -> Int -> Int -> Int -> String -> String -> [MapElement] 87 | parseFileNum origX origY x y num (char:xs) = 88 | if isNumber char then 89 | parseFileNum origX origY (x + 1) y (char:num) xs 90 | else 91 | (Num origX origY (reverse num)):(parseFile x y (char:xs)) 92 | 93 | 94 | isNumber :: Char -> Bool 95 | isNumber '0' = True 96 | isNumber '1' = True 97 | isNumber '2' = True 98 | isNumber '3' = True 99 | isNumber '4' = True 100 | isNumber '5' = True 101 | isNumber '6' = True 102 | isNumber '7' = True 103 | isNumber '8' = True 104 | isNumber '9' = True 105 | isNumber _ = False 106 | 107 | -------------------------------------------------------------------------------- /day4/main.s: -------------------------------------------------------------------------------- 1 | # Day 4 - Advent of Code 2 | 3 | .section .data 4 | printf_int_str: .string "%d\n" 5 | winners: .double -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 6 | numbers: .double 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 7 | tickets: .space 1616 8 | .section .text 9 | .global main 10 | main: 11 | jal init_tickets 12 | li s11, 0 13 | la s10, tickets 14 | read_header: 15 | call getchar 16 | blt a0, zero, exit 17 | li t0, 0x3A # : 18 | bne a0, t0, read_header 19 | read_winners: 20 | la s1, winners 21 | loop_space_winners: 22 | li s0, 0 23 | call getchar 24 | li t0, 0x20 # SPACE 25 | beq a0, t0, loop_space_winners 26 | li t0, 0x7C # | 27 | beq a0, t0, read_my_numbers 28 | add s0, s0, a0 29 | addi s0, s0, -48 30 | loop_winners: 31 | call getchar 32 | li t0, 0x20 # SPACE 33 | beq a0, t0, save_winner 34 | li t0, 10 35 | mul s0, s0, t0 36 | addi a0, a0, -48 37 | add s0, s0, a0 38 | j loop_winners 39 | save_winner: 40 | sd s0, 0(s1) 41 | addi s1, s1, 8 42 | j loop_space_winners 43 | 44 | read_my_numbers: 45 | la s1, numbers 46 | loop_space_numbers: 47 | li s0, 0 48 | call getchar 49 | li t0, 0x20 # SPACE 50 | beq a0, t0, loop_space_numbers 51 | add s0, s0, a0 52 | addi s0, s0, -48 53 | loop_numbers: 54 | call getchar 55 | li t0, 0x20 # SPACE 56 | beq a0, t0, save_number 57 | li t0, 0x0A # LF 58 | beq a0, t0, save_final_number 59 | li t0, 10 60 | mul s0, s0, t0 61 | addi a0, a0, -48 62 | add s0, s0, a0 63 | j loop_numbers 64 | save_number: 65 | sd s0, 0(s1) 66 | addi s1, s1, 8 67 | j loop_space_numbers 68 | save_final_number: 69 | sd s0, 0(s1) 70 | 71 | find_magic_num: 72 | la s0, numbers 73 | li s1, 0 74 | addi s2, s0, 192 75 | loop_find_magic_sum: 76 | ld a0, 0(s0) 77 | jal number_is_winner 78 | beq a0, zero, continue_find_magic_sum_loop 79 | addi s1, s1, 1 80 | continue_find_magic_sum_loop: 81 | addi s0, s0, 8 82 | bgt s0, s2, exit_magic_loop 83 | j loop_find_magic_sum 84 | exit_magic_loop: 85 | beq s1, zero, exit_magic_loop_zero 86 | mv a0, s1 87 | jal add_tickets 88 | li t0, 1 89 | addi s1, s1, -1 90 | sll a0, t0, s1 91 | add s11, s11, a0 92 | j read_header 93 | exit_magic_loop_zero: 94 | li a0, 0 95 | jal add_tickets 96 | li a0, 0 97 | j read_header 98 | 99 | 100 | number_is_winner: 101 | la t0, winners 102 | addi t1, t0, 72 103 | mv t2, a0 104 | loop_number_is_winner: 105 | ld t3, 0(t0) 106 | beq t2, t3, is_winner 107 | addi t0, t0, 8 108 | bgt t0, t1, exit_no_winner 109 | j loop_number_is_winner 110 | is_winner: 111 | li a0, 1 112 | jr ra 113 | exit_no_winner: 114 | li a0, 0 115 | jr ra 116 | 117 | add_tickets: 118 | mv t3, a0 119 | ld t4, 0(s10) 120 | mv t5, s10 121 | beq t4, zero, exit_add_tickets 122 | loop_add_tickets: 123 | beq t3, zero, exit_add_tickets 124 | addi t5, t5, 8 125 | ld t6, 0(t5) 126 | add t6, t6, t4 127 | sd t6, 0(t5) 128 | addi t3, t3, -1 129 | j loop_add_tickets 130 | exit_add_tickets: 131 | addi s10, s10, 8 132 | jr ra 133 | 134 | sum_tickets: 135 | mv s3, ra 136 | la s10, tickets 137 | addi s0, s10, 1600 138 | li s1, 0 139 | sum_tickets_loop: 140 | bgt s10, s0, exit_sum_tickets 141 | ld s2, 0(s10) 142 | mv a0, s2 143 | add s1, s1, s2 144 | addi s10, s10, 8 145 | j sum_tickets_loop 146 | exit_sum_tickets: 147 | mv a0, s1 148 | jr s3 149 | 150 | init_tickets: 151 | la s10, tickets 152 | addi t4, s10, 1600 153 | li t5, 1 154 | init_tickets_loop: 155 | bgt s10, t4, exit_init_tickets 156 | sd t5, 0(s10) 157 | addi s10, s10, 8 158 | j init_tickets_loop 159 | exit_init_tickets: 160 | jr ra 161 | 162 | exit: 163 | mv a0, s11 164 | jal print_int 165 | jal sum_tickets 166 | jal print_int 167 | li a7, 93 168 | li a0, 0 169 | ecall 170 | 171 | print_int: 172 | addi sp, sp, -8 173 | sd ra, 0(sp) 174 | mv t1, a0 175 | la a0, printf_int_str 176 | mv a1, t1 177 | call printf 178 | ld ra, 0(sp) 179 | addi sp, sp, 8 180 | jr ra 181 | -------------------------------------------------------------------------------- /day5/input: -------------------------------------------------------------------------------- 1 | seeds: 304740406 53203352 1080760686 52608146 1670978447 367043978 1445830299 58442414 4012995194 104364808 4123691336 167638723 2284615844 178205532 3164519436 564398605 90744016 147784453 577905361 122056749 2 | 3 | seed-to-soil map: 4 | 0 699677807 922644641 5 | 4174180469 3833727510 120786827 6 | 1525682201 2566557266 229511566 7 | 3280624601 3954514337 340452959 8 | 2228029508 2796068832 310221139 9 | 3621077560 3280624601 553102909 10 | 2120836342 592484641 107193166 11 | 1982514669 227320902 138321673 12 | 1755193767 0 227320902 13 | 922644641 1622322448 603037560 14 | 2538250647 365642575 226842066 15 | 2765092713 2225360008 341197258 16 | 17 | soil-to-fertilizer map: 18 | 1916776044 145070025 3464138 19 | 1920240182 0 145070025 20 | 706160141 2208005933 115191764 21 | 2898492924 830275742 87027483 22 | 3489083348 3344594558 103871907 23 | 2985520407 148534163 415139950 24 | 821351905 917303225 327392865 25 | 1148744770 1517236949 182706102 26 | 295069722 3448466465 411090419 27 | 1816984891 3244803405 99791153 28 | 4282585972 4292886644 2080652 29 | 3592955255 563674113 266601629 30 | 4266462972 4158154511 16123000 31 | 1331450872 1244696090 272540859 32 | 2715943131 3062253612 182549793 33 | 4284666624 4174277511 10300672 34 | 4158154511 4184578183 108308461 35 | 1603991731 1995012773 212993160 36 | 2065310207 2411620688 650632924 37 | 0 1699943051 295069722 38 | 3400660357 2323197697 88422991 39 | 40 | fertilizer-to-water map: 41 | 3585244197 3493316345 482900943 42 | 2871272496 878061687 456215665 43 | 3477664135 4187387234 107580062 44 | 845559238 15587711 56716031 45 | 121711204 2918313406 409174755 46 | 1639718746 0 15587711 47 | 530885959 2603640127 314673279 48 | 902275269 2435903232 167736895 49 | 2635221133 72303742 236051363 50 | 1070012164 308355105 569706582 51 | 1699846244 1334277352 935374889 52 | 4279315086 3477664135 15652210 53 | 1655306457 2269652241 44539787 54 | 109056711 2423248739 12654493 55 | 0 2314192028 109056711 56 | 4068145140 3976217288 211169946 57 | 58 | water-to-light map: 59 | 3841742547 3016842841 17384315 60 | 2875021919 2637593760 185450069 61 | 3413635232 3588265685 87508205 62 | 1311241677 236307150 54007684 63 | 3349161906 4276682782 18284514 64 | 896790030 1355845673 34430118 65 | 3060471988 3835573209 145836645 66 | 2741184131 3675773890 133837788 67 | 1387754847 947687177 15489861 68 | 3785944618 2057196631 55797929 69 | 2006585491 2931426646 85416195 70 | 3873217816 3809611678 25961531 71 | 1667765627 643929130 34884144 72 | 2092001686 2434956599 202637161 73 | 1001898651 158618769 77688381 74 | 3899179347 2253048950 181907649 75 | 1786416461 377140410 101956748 76 | 0 833901414 113785763 77 | 1403244708 479097158 56815029 78 | 3859126862 3034227156 14090954 79 | 747996464 678813274 31450438 80 | 869173795 963177038 27616235 81 | 3268502638 2006585491 50611140 82 | 113785763 0 148879571 83 | 262665334 1511505797 386606610 84 | 1187603975 710263712 123637702 85 | 3319113778 3987361499 30048128 86 | 3367446420 2885237834 46188812 87 | 931220148 990793273 15913032 88 | 1460059737 1006706305 120880314 89 | 1079587032 535912187 108016943 90 | 3645890228 2112994560 140054390 91 | 3206308633 2823043829 62194005 92 | 1888373209 148879571 9739198 93 | 3501143437 3443518894 144746791 94 | 779446902 1127586619 89726893 95 | 947133180 1217313512 54765471 96 | 2481910976 4017409627 259273155 97 | 1365249361 1390275791 22505486 98 | 4087038641 3048318110 207928655 99 | 1702649771 1272078983 83766690 100 | 649271944 1412781277 98724520 101 | 2294638847 3256246765 187272129 102 | 4081086996 3981409854 5951645 103 | 1580940051 290314834 86825576 104 | 105 | light-to-temperature map: 106 | 2659452899 3773423191 23529065 107 | 1010417677 1830019321 229964714 108 | 1506263997 1764304095 65715226 109 | 3017023682 3993999178 103632805 110 | 3758361154 3931294907 62704271 111 | 2513441862 2529586713 106552791 112 | 3821065425 3163657189 7959671 113 | 3410504451 3191697730 271334719 114 | 2500616406 3150831733 12825456 115 | 2065874786 2636139504 257698620 116 | 4142272690 2382216135 108163002 117 | 1377732678 1378901025 61208694 118 | 91217027 248578952 8927711 119 | 2463617376 3879075083 36999030 120 | 3982807123 2315058258 67157877 121 | 2323573406 2065874786 97274446 122 | 958870382 916323074 51547295 123 | 3868386197 3579887474 114420926 124 | 931392999 1351423642 27477383 125 | 2942753127 3694308400 74270555 126 | 1812734437 168620508 79958444 127 | 3301364949 2163149232 3197696 128 | 2420847852 2166346928 42769524 129 | 3829025096 3111470632 39361101 130 | 2619994653 2490379137 39207576 131 | 1571979223 1523548881 240755214 132 | 2927532333 3916074113 15220794 133 | 3125500723 4097631983 175864226 134 | 1438941372 10080856 67322625 135 | 2049903179 0 10080856 136 | 3304562645 2209116452 105941806 137 | 1976132043 1277652506 73771136 138 | 2659202229 3171616860 250670 139 | 4256036535 3463032449 38930761 140 | 1240382391 257506663 137350287 141 | 0 77403481 91217027 142 | 3120656487 3768578955 4844236 143 | 100144738 967870369 309782137 144 | 409926875 394856950 521466124 145 | 2682981964 4273496209 21471087 146 | 2704453051 3501963210 77924264 147 | 2802207515 2893838124 125324818 148 | 3681839170 3796952256 76521984 149 | 4250435692 3873474240 5600843 150 | 1892692881 1440109719 83439162 151 | 4049965000 3019162942 92307690 152 | 2782377315 3171867530 19830200 153 | 154 | temperature-to-humidity map: 155 | 1281293605 2434144353 57731817 156 | 3534843655 3623804479 36539813 157 | 1516028925 367078655 499627624 158 | 3340374639 3427302148 25514722 159 | 1176213912 2491876170 105079693 160 | 3872645852 3827818849 188531931 161 | 508302359 1375008638 300832898 162 | 0 866706279 508302359 163 | 4146417618 3475254801 148549678 164 | 4083438506 3660344292 62979112 165 | 3365889361 3745584127 82234722 166 | 4061177783 3723323404 22260723 167 | 2015656549 1675841536 348405327 168 | 1056134836 246999579 120079076 169 | 3448124083 3452816870 22437931 170 | 3321587434 3408514943 18787205 171 | 3470562014 4016350780 64281641 172 | 3571383468 3321587434 86927509 173 | 1339025422 2024246863 177003503 174 | 809135257 0 246999579 175 | 2364061876 2596955863 115651453 176 | 3658310977 4080632421 214334875 177 | 2479713329 2201250366 232893987 178 | 179 | humidity-to-location map: 180 | 2408792839 708984436 12070437 181 | 3916327360 4103567762 90492800 182 | 2136669394 2902458135 226099404 183 | 1414655297 721054873 722014097 184 | 2462136308 3514619416 2467233 185 | 1254861475 3327498132 98562162 186 | 2362768798 569836962 46024041 187 | 4185175199 3916327360 8885363 188 | 421054090 234463197 201173738 189 | 2497827912 1550759989 35404865 190 | 849065671 0 224309687 191 | 37059832 615861003 93123433 192 | 4006820160 3925212723 178355039 193 | 2863253575 1705311678 653833074 194 | 622227828 1443068970 107691019 195 | 2464603541 2869233764 33224371 196 | 1353423637 3128557539 61231660 197 | 1073375358 3426060294 47286090 198 | 2725544642 3189789199 137708933 199 | 26906322 224309687 10153510 200 | 2420863276 3473346384 41273032 201 | 729918847 1586164854 119146824 202 | 2533232777 2676921899 192311865 203 | 0 2359144752 26906322 204 | 1120661448 435636935 134200027 205 | 130183265 2386051074 290870825 206 | -------------------------------------------------------------------------------- /day5/main.pl: -------------------------------------------------------------------------------- 1 | :- use_module(library(dcgs)). 2 | :- use_module(library(pio)). 3 | :- use_module(library(clpz)). 4 | :- use_module(library(dif)). 5 | :- use_module(library(reif)). 6 | :- use_module(library(lists)). 7 | 8 | seeds([ 9 | seeds(Seeds), 10 | seed_soil(SeedToSoil), 11 | soil_fertilizer(SoilToFertilizer), 12 | fertilizer_water(FertilizerToWater), 13 | water_light(WaterToLight), 14 | light_temperature(LightToTemperature), 15 | temperature_humidity(TemperatureToHumidity), 16 | humidity_location(HumidityToLocation) 17 | ]) --> 18 | "seeds:", 19 | spaced_nums(Seeds), 20 | nl, 21 | "seed-to-soil map:", nl, 22 | transformation(SeedToSoil), 23 | nl, 24 | "soil-to-fertilizer map:", nl, 25 | transformation(SoilToFertilizer), 26 | nl, 27 | "fertilizer-to-water map:", nl, 28 | transformation(FertilizerToWater), 29 | nl, 30 | "water-to-light map:", nl, 31 | transformation(WaterToLight), 32 | nl, 33 | "light-to-temperature map:", nl, 34 | transformation(LightToTemperature), 35 | nl, 36 | "temperature-to-humidity map:", nl, 37 | transformation(TemperatureToHumidity), 38 | nl, 39 | "humidity-to-location map:", nl, 40 | transformation(HumidityToLocation). 41 | 42 | seeds2([ 43 | seeds(Seeds), 44 | seed_soil(SeedToSoil), 45 | soil_fertilizer(SoilToFertilizer), 46 | fertilizer_water(FertilizerToWater), 47 | water_light(WaterToLight), 48 | light_temperature(LightToTemperature), 49 | temperature_humidity(TemperatureToHumidity), 50 | humidity_location(HumidityToLocation) 51 | ]) --> 52 | "seeds:", 53 | seeds_range(Seeds), 54 | nl, 55 | "seed-to-soil map:", nl, 56 | transformation(SeedToSoil), 57 | nl, 58 | "soil-to-fertilizer map:", nl, 59 | transformation(SoilToFertilizer), 60 | nl, 61 | "fertilizer-to-water map:", nl, 62 | transformation(FertilizerToWater), 63 | nl, 64 | "water-to-light map:", nl, 65 | transformation(WaterToLight), 66 | nl, 67 | "light-to-temperature map:", nl, 68 | transformation(LightToTemperature), 69 | nl, 70 | "temperature-to-humidity map:", nl, 71 | transformation(TemperatureToHumidity), 72 | nl, 73 | "humidity-to-location map:", nl, 74 | transformation(HumidityToLocation). 75 | 76 | spaced_nums([]) --> nl. 77 | spaced_nums([X|Xs]) --> 78 | " ", seq(NumCs), 79 | spaced_nums(Xs), 80 | { number_chars(X, NumCs) }. 81 | 82 | seeds_range([]) --> nl. 83 | seeds_range([X-Y|Xs]) --> 84 | " ", seq(XCs), " ", seq(YCs), 85 | seeds_range(Xs), 86 | { 87 | number_chars(X, XCs), 88 | number_chars(Y, YCs) 89 | }. 90 | 91 | transformation([]) --> []. 92 | transformation([transform(SourceRangeStart, DestinationRangeStart, RangeLength)|Xs]) --> 93 | seq(SRSCs), " ", seq(DRSCs), " ", seq(RLCs), nl, 94 | transformation(Xs), 95 | { 96 | number_chars(SourceRangeStart, SRSCs), 97 | number_chars(DestinationRangeStart, DRSCs), 98 | number_chars(RangeLength, RLCs) 99 | }. 100 | 101 | nl --> "\n". 102 | 103 | 104 | main(X) :- 105 | phrase_from_file(seeds(Data), "input"), 106 | member(seeds(Seeds), Data), 107 | maplist(seed_transform(Data), Seeds, Locations), 108 | list_min(Locations, X). 109 | 110 | main2(X) :- 111 | phrase_from_file(seeds2(Data), "input"), 112 | member(seeds(Seeds), Data), 113 | maplist(seed_transform_range(Data), Seeds, X0), 114 | append(X0, X1), 115 | keysort(X1, X2), 116 | X2 = [X-_|_]. 117 | 118 | 119 | seed_transform(Maps, Seed, Out) :- 120 | member(seed_soil(T0), Maps), 121 | map_transform(T0, Seed, X1), 122 | member(soil_fertilizer(T1), Maps), 123 | map_transform(T1, X1, X2), 124 | member(fertilizer_water(T2), Maps), 125 | map_transform(T2, X2, X3), 126 | member(water_light(T3), Maps), 127 | map_transform(T3, X3, X4), 128 | member(light_temperature(T4), Maps), 129 | map_transform(T4, X4, X5), 130 | member(temperature_humidity(T5), Maps), 131 | map_transform(T5, X5, X6), 132 | member(humidity_location(T6), Maps), 133 | map_transform(T6, X6, Out). 134 | 135 | map_transform(Map, Source, Dest) :- 136 | member(transform(DestinationStart, SourceStart, Length), Map), 137 | Source #>= SourceStart, 138 | Source #< SourceStart + Length, 139 | !, 140 | Dest #= (Source - SourceStart) + DestinationStart. 141 | 142 | map_transform(_, X, X). 143 | 144 | % Range fits entirely in transformation 145 | map_transform_range(Map, Source, [Dest]) :- 146 | Source = RangeStart-RangeLength, 147 | member(transform(DestinationStart, SourceStart, Length), Map), 148 | RangeStart #>= SourceStart, 149 | RangeStart #< SourceStart + Length, 150 | RangeStart + RangeLength #=< SourceStart + Length, 151 | !, 152 | DestStart #= (RangeStart - SourceStart) + DestinationStart, 153 | Dest = DestStart-RangeLength. 154 | 155 | % Range doesn't fit entirely in transformation 156 | map_transform_range(Map, Source, [Dest|Dest0]) :- 157 | Source = RangeStart-RangeLength, 158 | member(transform(DestinationStart, SourceStart, Length), Map), 159 | RangeStart #>= SourceStart, 160 | RangeStart #< SourceStart + Length, 161 | RangeStart + RangeLength #> SourceStart + Length, 162 | !, 163 | DestStart #= (RangeStart - SourceStart) + DestinationStart, 164 | Dest = DestStart-FirstRangeLength, 165 | 166 | NewRangeStart #= SourceStart + Length, 167 | FirstRangeLength #= NewRangeStart - RangeStart, 168 | RangeLength #= FirstRangeLength + NewRangeLength, 169 | map_transform_range(Map, NewRangeStart-NewRangeLength, Dest0). 170 | 171 | % First part of range doesn't fit in any transformation 172 | map_transform_range(Map, Source, Dest) :- 173 | Source = RangeStart-RangeLength, 174 | member(transform(_, SourceStart, _), Map), 175 | RangeStart #< SourceStart, 176 | RangeStart + RangeLength #> SourceStart, 177 | !, 178 | FirstRangeStart #= RangeStart, 179 | FirstRangeLength #= SourceStart - RangeStart, 180 | SecondRangeStart #= SourceStart, 181 | SecondRangeLength #= RangeLength - FirstRangeLength, 182 | map_transform_range(Map, FirstRangeStart-FirstRangeLength, Dest0), 183 | map_transform_range(Map, SecondRangeStart-SecondRangeLength, Dest1), 184 | append(Dest0, Dest1, Dest). 185 | 186 | map_transform_range(_, X, [X]). 187 | 188 | seed_transform_range(Maps, Seed, Out) :- 189 | member(seed_soil(T0), Maps), 190 | map_transform_range(T0, Seed, X2), 191 | member(soil_fertilizer(T1), Maps), 192 | maplist(map_transform_range(T1), X2, X3), 193 | append(X3, X4), 194 | member(fertilizer_water(T2), Maps), 195 | maplist(map_transform_range(T2), X4, X5), 196 | append(X5, X6), 197 | member(water_light(T3), Maps), 198 | maplist(map_transform_range(T3), X6, X7), 199 | append(X7, X8), 200 | member(light_temperature(T4), Maps), 201 | maplist(map_transform_range(T4), X8, X9), 202 | append(X9, X10), 203 | member(temperature_humidity(T5), Maps), 204 | maplist(map_transform_range(T5), X10, X11), 205 | append(X11, X12), 206 | member(humidity_location(T6), Maps), 207 | maplist(map_transform_range(T6), X12, X13), 208 | append(X13, Out). 209 | -------------------------------------------------------------------------------- /day2/input: -------------------------------------------------------------------------------- 1 | Game 1: 1 green, 2 blue; 13 red, 2 blue, 3 green; 4 green, 14 red 2 | Game 2: 2 blue, 11 green; 4 blue, 12 red, 4 green; 7 red, 1 blue, 9 green; 10 green, 12 red, 6 blue 3 | Game 3: 1 blue, 12 green, 2 red; 9 red, 16 green; 1 red, 10 green, 1 blue; 1 red, 14 green 4 | Game 4: 8 green, 18 blue; 4 green, 14 blue, 2 red; 3 blue, 5 green, 11 red 5 | Game 5: 7 red, 15 blue, 1 green; 13 blue; 18 red, 2 green, 9 blue; 19 blue, 5 green, 10 red; 9 green, 2 blue, 7 red 6 | Game 6: 1 red, 8 blue, 2 green; 1 blue, 3 red, 5 green; 2 green, 3 red, 2 blue; 1 blue, 4 green 7 | Game 7: 4 red, 6 green, 1 blue; 3 blue, 9 green, 5 red; 5 blue, 5 green, 4 red; 6 green, 5 blue, 5 red; 13 red; 4 red, 2 blue, 9 green 8 | Game 8: 7 blue, 14 green, 5 red; 1 green, 7 blue, 11 red; 6 blue, 16 red, 4 green; 8 red, 11 green, 7 blue; 6 blue, 18 red, 9 green 9 | Game 9: 3 blue, 1 green, 6 red; 1 red, 1 blue, 1 green; 6 red, 2 blue, 1 green 10 | Game 10: 6 red, 11 blue, 12 green; 1 blue, 2 red, 3 green; 14 green, 6 red, 7 blue; 6 red, 10 blue, 9 green; 6 blue, 2 red 11 | Game 11: 5 blue, 2 red, 18 green; 2 blue, 13 green; 8 blue, 15 green, 2 red 12 | Game 12: 5 red, 4 blue; 1 blue, 8 green, 8 red; 15 green, 5 red, 4 blue 13 | Game 13: 12 blue, 1 red, 6 green; 9 red, 6 blue, 12 green; 3 red, 11 green, 6 blue; 8 red, 4 green, 10 blue; 3 green, 7 blue 14 | Game 14: 9 red, 5 green, 1 blue; 1 red, 3 blue; 10 green, 7 red; 5 blue, 8 green, 10 red 15 | Game 15: 3 blue, 9 red, 14 green; 15 green, 2 blue, 6 red; 7 green, 1 red, 5 blue 16 | Game 16: 7 green, 4 blue, 6 red; 6 green, 4 blue, 8 red; 5 red, 2 blue, 10 green; 4 blue, 4 red, 15 green; 9 red, 15 green, 6 blue; 7 green, 5 blue, 2 red 17 | Game 17: 8 red, 6 green, 2 blue; 4 green, 1 blue, 17 red; 1 green, 11 red, 1 blue 18 | Game 18: 13 blue, 1 green, 3 red; 2 red, 2 green; 11 red, 1 green, 7 blue; 2 green, 7 blue, 2 red 19 | Game 19: 2 green, 13 red, 2 blue; 1 green, 6 blue, 4 red; 1 green, 2 blue, 15 red 20 | Game 20: 10 red, 11 blue, 8 green; 6 red, 13 blue, 2 green; 6 blue, 8 green, 3 red; 10 red, 2 blue, 8 green; 2 red, 3 blue, 7 green; 3 red 21 | Game 21: 2 blue, 10 red; 5 green, 3 red; 5 green, 4 red, 4 blue; 6 blue, 9 red, 10 green 22 | Game 22: 5 red, 1 green; 5 red; 4 red, 1 blue; 1 blue, 10 red 23 | Game 23: 2 red, 11 blue, 4 green; 4 blue; 1 blue, 6 green, 4 red; 3 green, 4 blue, 2 red 24 | Game 24: 4 green; 12 green, 4 blue, 1 red; 11 green, 1 blue, 2 red 25 | Game 25: 10 red, 1 blue, 3 green; 3 green, 6 blue, 6 red; 2 green, 9 red, 2 blue; 1 blue, 3 green, 7 red; 6 blue, 4 green; 1 red 26 | Game 26: 4 red, 11 green, 5 blue; 2 blue, 11 red, 9 green; 11 green, 3 red; 14 green, 13 red, 5 blue; 10 red, 5 blue, 9 green; 12 red, 4 blue, 6 green 27 | Game 27: 8 red, 9 blue, 7 green; 14 red, 15 blue, 2 green; 7 green, 13 blue, 9 red; 8 green, 4 blue, 1 red 28 | Game 28: 4 blue, 4 green, 3 red; 4 green, 9 red, 4 blue; 13 red, 10 blue, 4 green 29 | Game 29: 7 red; 1 blue, 1 green; 3 red, 1 green, 1 blue; 2 blue; 17 red, 2 blue, 1 green; 6 red, 1 green, 2 blue 30 | Game 30: 10 green, 4 red, 4 blue; 5 red, 6 blue, 9 green; 2 red, 3 green, 4 blue; 1 blue, 9 green, 1 red; 1 red 31 | Game 31: 6 red, 3 green; 1 blue, 3 green, 9 red; 2 blue, 11 red; 13 red, 2 blue, 3 green; 5 green, 3 blue 32 | Game 32: 2 red, 1 blue, 1 green; 3 green, 1 blue; 1 red, 6 green; 3 red, 3 green; 1 blue; 12 green, 3 red, 1 blue 33 | Game 33: 17 blue, 14 green, 7 red; 5 red, 9 green, 16 blue; 8 green, 3 blue, 3 red; 10 green, 12 blue, 1 red 34 | Game 34: 2 red, 1 green, 9 blue; 14 blue, 2 green, 9 red; 10 blue, 2 green, 16 red; 2 green, 5 red, 14 blue; 5 blue, 12 red, 2 green; 8 blue, 15 red, 3 green 35 | Game 35: 14 green, 4 red; 16 green, 4 red; 4 red, 3 blue, 3 green; 5 green, 4 red, 4 blue; 3 red, 1 blue, 8 green 36 | Game 36: 1 blue, 8 red, 4 green; 2 green, 15 blue, 4 red; 13 blue, 5 red, 8 green 37 | Game 37: 2 red, 8 green, 7 blue; 9 green, 20 red, 3 blue; 3 blue, 1 green, 2 red; 9 red, 1 blue, 4 green; 6 green, 2 blue, 20 red 38 | Game 38: 8 red, 2 blue, 2 green; 7 green, 4 red; 4 red, 10 green, 2 blue 39 | Game 39: 9 green, 11 red, 6 blue; 6 blue, 2 green, 19 red; 2 red, 3 blue, 2 green; 4 green, 2 blue, 13 red; 19 red, 7 green, 1 blue 40 | Game 40: 7 blue, 2 green, 11 red; 19 red, 4 green, 2 blue; 1 green, 10 red, 5 blue; 2 red, 1 green, 2 blue 41 | Game 41: 1 red, 1 blue, 13 green; 13 green, 11 red, 5 blue; 19 green, 3 blue; 18 green, 1 red 42 | Game 42: 1 blue, 2 green, 7 red; 13 green, 5 red, 7 blue; 6 red, 13 green, 9 blue; 12 red, 17 blue, 13 green; 9 red, 16 blue, 5 green; 11 red, 4 green 43 | Game 43: 3 blue, 4 red; 6 red, 5 blue; 7 blue, 1 green, 5 red; 3 blue, 10 red 44 | Game 44: 10 green, 10 blue; 2 blue, 10 red, 10 green; 2 green, 5 red, 4 blue; 8 red, 2 green, 2 blue; 14 red, 3 blue, 10 green; 14 red, 5 green, 3 blue 45 | Game 45: 9 green, 2 red, 2 blue; 2 blue, 2 red, 7 green; 9 blue, 6 green 46 | Game 46: 2 blue, 1 green; 1 blue, 1 red, 1 green; 1 blue; 1 blue, 1 green 47 | Game 47: 4 green, 10 red, 14 blue; 19 red, 3 blue, 1 green; 4 green, 14 blue, 15 red; 9 blue, 17 red; 3 green, 12 blue, 7 red; 1 red, 11 blue, 4 green 48 | Game 48: 9 red, 2 green, 1 blue; 7 red, 3 blue; 8 red, 1 green; 1 blue, 3 red 49 | Game 49: 2 red, 3 green, 13 blue; 7 red, 15 blue, 3 green; 15 blue, 7 red; 11 blue, 5 red, 3 green 50 | Game 50: 4 red, 4 green, 2 blue; 2 green, 3 red; 2 green, 3 red, 11 blue; 3 green, 2 red 51 | Game 51: 4 blue, 17 green; 3 blue, 17 green, 1 red; 6 green, 8 blue 52 | Game 52: 14 blue, 3 red; 11 green, 6 red, 9 blue; 6 blue, 10 red; 1 red, 1 green, 4 blue; 9 blue, 6 green; 3 red, 2 blue, 8 green 53 | Game 53: 1 blue, 9 red, 9 green; 11 green, 1 red, 7 blue; 11 green, 9 red, 7 blue; 12 green, 15 red, 7 blue; 7 blue, 12 red, 1 green; 6 blue, 2 green, 4 red 54 | Game 54: 7 blue, 2 red, 4 green; 2 red, 16 blue, 8 green; 15 blue, 7 green; 5 blue, 3 red, 2 green; 9 green, 15 blue; 1 green, 14 blue 55 | Game 55: 5 red, 10 blue, 2 green; 5 blue, 5 red, 2 green; 6 red, 1 green; 7 red, 8 blue, 1 green; 1 green, 13 blue 56 | Game 56: 14 blue, 11 green, 3 red; 10 blue, 7 green, 2 red; 2 red, 13 green, 1 blue 57 | Game 57: 10 blue, 6 red; 10 red, 4 blue, 6 green; 2 green, 16 blue; 6 blue, 11 red, 7 green 58 | Game 58: 3 red, 2 blue; 9 green, 12 blue; 1 red, 1 green, 5 blue; 1 blue, 2 green 59 | Game 59: 6 red, 9 green, 2 blue; 6 green, 6 red, 7 blue; 2 green, 7 blue, 9 red; 1 green, 10 blue; 1 green, 3 blue, 1 red; 10 green, 1 red, 3 blue 60 | Game 60: 13 green, 5 red, 9 blue; 3 blue, 12 green, 9 red; 4 blue, 17 green, 9 red; 12 green, 2 red; 6 red, 3 green, 8 blue; 13 green, 12 red 61 | Game 61: 4 green, 15 red; 5 green, 15 red; 1 blue, 7 green, 12 red; 8 green, 3 blue, 4 red; 11 green, 11 red, 3 blue; 7 red, 12 green, 2 blue 62 | Game 62: 3 red; 2 green, 8 red; 10 red, 8 blue; 1 blue, 4 red, 2 green; 2 green, 13 red; 6 red, 9 blue 63 | Game 63: 4 green, 12 blue, 5 red; 5 blue, 5 green, 5 red; 3 blue, 17 green; 1 red, 1 blue, 17 green; 10 green, 4 red, 15 blue; 15 blue, 4 green 64 | Game 64: 12 red, 9 blue, 4 green; 1 green, 1 red, 8 blue; 10 green, 11 red, 1 blue; 2 red, 10 blue 65 | Game 65: 1 red, 3 green, 11 blue; 2 red, 6 green, 3 blue; 1 red, 7 green, 1 blue 66 | Game 66: 2 green, 2 red, 4 blue; 19 red, 11 blue, 4 green; 6 blue, 2 green, 13 red; 16 blue, 4 green 67 | Game 67: 1 blue, 5 red, 1 green; 1 green, 1 red, 1 blue; 2 green, 1 blue, 19 red 68 | Game 68: 3 green, 1 red; 1 red, 3 blue; 3 blue, 2 red, 10 green; 4 green 69 | Game 69: 5 green, 11 blue, 5 red; 13 green, 19 red, 8 blue; 19 red, 2 green, 11 blue 70 | Game 70: 7 blue, 9 green; 1 red, 11 blue, 2 green; 6 blue, 10 green, 1 red 71 | Game 71: 2 red, 2 green, 9 blue; 1 green, 20 blue, 1 red; 17 blue, 3 green, 2 red; 3 green, 13 blue, 2 red; 16 blue, 3 green; 11 blue 72 | Game 72: 6 red, 4 green, 10 blue; 6 red, 7 blue; 1 blue, 8 green; 3 green, 6 red, 1 blue 73 | Game 73: 2 green, 12 blue, 2 red; 6 red, 6 blue, 3 green; 8 red, 3 green, 1 blue; 3 green, 5 red, 10 blue 74 | Game 74: 1 red, 15 green; 3 blue, 5 green, 6 red; 7 red, 5 green; 12 red, 12 green 75 | Game 75: 14 blue, 2 green, 8 red; 13 blue, 6 green, 4 red; 4 green, 6 red, 1 blue 76 | Game 76: 12 red, 5 blue, 1 green; 6 blue, 11 red; 2 red, 7 blue; 6 blue, 16 red 77 | Game 77: 7 red, 2 green, 1 blue; 6 blue; 3 red, 1 green, 10 blue; 5 blue, 2 green, 1 red 78 | Game 78: 9 blue, 3 green, 14 red; 16 red, 15 blue; 16 red, 9 green, 10 blue; 2 red, 8 blue, 3 green 79 | Game 79: 7 green, 5 blue, 2 red; 5 red, 5 blue, 1 green; 2 red, 3 blue, 10 green; 5 green, 1 blue, 3 red; 5 blue, 3 red, 7 green 80 | Game 80: 7 red, 6 blue; 6 red, 6 blue; 7 blue, 2 green; 3 red, 9 blue 81 | Game 81: 8 green, 9 red, 1 blue; 9 red, 7 green; 1 green, 5 red; 2 green, 1 red; 1 blue, 14 red, 6 green; 1 blue, 11 green, 6 red 82 | Game 82: 4 blue, 14 red, 1 green; 2 red, 4 green, 2 blue; 7 green, 4 blue, 13 red; 2 red, 1 green, 6 blue 83 | Game 83: 9 red, 2 blue, 2 green; 6 green, 6 red; 9 red, 3 blue, 6 green 84 | Game 84: 9 green, 1 red, 1 blue; 4 red, 15 green; 7 green, 1 blue, 12 red; 1 blue, 11 red, 14 green; 2 green, 11 red 85 | Game 85: 13 green; 11 green; 15 blue, 10 green; 8 blue, 6 green; 11 green, 1 red, 3 blue; 13 green 86 | Game 86: 13 green, 1 blue, 4 red; 1 green, 5 red; 1 blue, 9 green, 5 red 87 | Game 87: 4 green, 5 red, 2 blue; 4 green; 8 green, 2 blue, 1 red; 4 blue, 8 green, 1 red; 5 red, 9 blue, 8 green; 7 blue 88 | Game 88: 5 green, 1 blue, 3 red; 2 blue, 2 red, 3 green; 3 green; 2 blue, 1 red, 6 green 89 | Game 89: 13 blue, 6 red, 15 green; 5 green, 14 blue, 9 red; 3 green, 15 blue, 5 red; 13 red, 13 green; 18 red, 4 green, 19 blue; 10 green, 10 red, 18 blue 90 | Game 90: 1 red, 1 green; 1 blue, 2 green, 1 red; 5 red, 2 blue 91 | Game 91: 9 blue; 6 green, 12 blue, 2 red; 3 red, 1 green, 8 blue; 7 green, 2 red, 8 blue 92 | Game 92: 15 red, 7 green, 1 blue; 19 green, 12 red, 1 blue; 7 red, 16 green; 8 green, 1 blue, 14 red; 8 red, 1 blue, 9 green 93 | Game 93: 11 red, 4 green; 7 green, 8 red; 4 blue, 6 green; 8 red, 6 green, 1 blue; 6 green; 1 red, 1 green, 4 blue 94 | Game 94: 15 green; 1 red, 4 blue, 4 green; 1 red, 1 blue; 4 red, 1 green, 5 blue; 18 green, 3 red, 3 blue; 1 red 95 | Game 95: 1 blue, 3 green, 10 red; 1 blue, 6 green; 15 green, 2 red, 3 blue; 2 blue, 8 red, 11 green; 13 green, 10 red; 5 red 96 | Game 96: 8 green; 5 blue, 2 red, 4 green; 3 green, 4 red 97 | Game 97: 5 red, 4 blue; 1 blue, 2 red, 9 green; 10 green, 3 red; 4 green, 3 blue, 4 red; 5 red, 4 green, 3 blue 98 | Game 98: 3 green, 3 blue, 2 red; 2 blue, 2 red, 1 green; 3 green, 5 blue 99 | Game 99: 11 green, 4 red, 12 blue; 9 red, 4 blue; 20 green, 6 blue 100 | Game 100: 12 red, 9 green; 12 red; 9 red, 3 green; 8 red, 4 blue, 4 green; 8 blue, 11 red, 2 green 101 | -------------------------------------------------------------------------------- /day8/input: -------------------------------------------------------------------------------- 1 | LRLRRRLRRLRLLRRRLRRLLRRRLLRLRRLLRRRLRLRRRLRRLRRLRRLLLLRRRLRRLRRRLRRRLRRRLRLRRRLRLLRRRLLRLRRRLRRRLRLRRLLRLLRRLRLLRRRLLRRLRLLLRLRLRLLRRRLRLRLRRLRRRLRRLRLRRRLRRRLRRRLLLLRLLRRLLRRRLRRLRRLLRRLRRRLLRRLLLRRRLRLRLLRRLRRRLRRLRRRLLRLRRRLRLLRLLRRRLRRLLRLRRRLRRLRRRLRRLRRLRRRLRRLRRRR 2 | 3 | DQS = (CCN, PNF) 4 | GST = (MBG, LFG) 5 | SQF = (KCM, KCM) 6 | NXD = (DCX, PKH) 7 | LMN = (NTT, LJM) 8 | MTQ = (DHL, PVN) 9 | DDR = (TGF, RFT) 10 | HHV = (KXC, CMQ) 11 | JLX = (VSK, XPM) 12 | MLD = (BNF, FGL) 13 | RCQ = (TNS, MTQ) 14 | LPT = (FFD, RVM) 15 | GNV = (TQV, RBP) 16 | DTG = (QKC, GBN) 17 | QRM = (FTV, JJG) 18 | PJN = (FQD, CMN) 19 | FTV = (PCN, FHH) 20 | LBN = (XHT, MNB) 21 | LXF = (CBQ, DLB) 22 | FRL = (DTF, SQD) 23 | TMD = (HLR, MRQ) 24 | PKH = (MSC, BLM) 25 | FJB = (FRV, QPL) 26 | JNS = (GHQ, MXC) 27 | XMH = (NHH, DLT) 28 | FRX = (SDF, THQ) 29 | CVB = (BXQ, TDM) 30 | BRV = (XDQ, GLR) 31 | HRV = (SBB, QGT) 32 | CFC = (XHT, MNB) 33 | FKB = (PTG, NKC) 34 | VJN = (PKQ, CKN) 35 | NBB = (JVX, PBR) 36 | JRR = (HMF, CRJ) 37 | NKD = (HFG, JVD) 38 | VXK = (VXS, RCQ) 39 | CNG = (HJM, SSB) 40 | DBP = (PPP, LVK) 41 | MNH = (CNT, NMH) 42 | NRX = (CLC, QNF) 43 | GSS = (QKL, PJV) 44 | VJM = (LHL, PTP) 45 | PGN = (VXJ, DQK) 46 | BDN = (PSJ, KQG) 47 | VVF = (QPT, FKB) 48 | PMN = (KDP, XRZ) 49 | DFG = (GLF, XPS) 50 | SGS = (CKL, GHG) 51 | CMQ = (QFP, CVB) 52 | TVF = (PBP, KQQ) 53 | DGL = (BGP, NKD) 54 | NPT = (RBK, NLH) 55 | RBP = (PGQ, XBS) 56 | QXR = (NXD, MKF) 57 | TQV = (XBS, PGQ) 58 | SDD = (CPM, JJJ) 59 | RTL = (FBF, NSB) 60 | GVT = (VGS, GVX) 61 | LFM = (VRN, MJR) 62 | FJT = (FSX, NJX) 63 | XQG = (LTR, TPN) 64 | MQQ = (BXN, CBD) 65 | DSJ = (JDD, JDD) 66 | FSR = (QCD, DFC) 67 | TVS = (XBJ, XSC) 68 | GTT = (NJQ, BVV) 69 | DVV = (MQQ, QHQ) 70 | JMC = (HRQ, TSJ) 71 | DCX = (MSC, BLM) 72 | KHB = (SJV, VLM) 73 | VSK = (KRD, QFG) 74 | BFT = (LTR, TPN) 75 | XPS = (SGS, PRL) 76 | RDK = (CTN, QGQ) 77 | SHJ = (NKD, BGP) 78 | VQT = (KQJ, FKK) 79 | VXT = (CRK, NPK) 80 | GXD = (RQN, FXK) 81 | TQC = (CSV, FGS) 82 | KGS = (GNP, TGK) 83 | KQG = (XFG, KMG) 84 | HCP = (HHD, KXB) 85 | RSC = (SRQ, HBX) 86 | QSK = (PMJ, TPH) 87 | JSP = (NXD, MKF) 88 | LTK = (JJC, STN) 89 | XNJ = (LTK, TBQ) 90 | LTH = (TTM, DQB) 91 | LJM = (TVD, HHG) 92 | SVN = (FQM, XVJ) 93 | FSK = (DSM, NFJ) 94 | TLX = (QXS, SDG) 95 | LFB = (XSF, TCN) 96 | QLB = (CFC, LBN) 97 | KDP = (MGL, RXR) 98 | XNR = (QCL, BVH) 99 | BPL = (TLX, DQJ) 100 | SPP = (HXF, CBC) 101 | BBA = (TVC, KCX) 102 | DXX = (PPP, LVK) 103 | PPP = (XBM, JCN) 104 | MTV = (GLL, KSM) 105 | VXS = (MTQ, TNS) 106 | TXQ = (GFF, HPD) 107 | DQK = (TTQ, GSS) 108 | MGL = (LNN, GTT) 109 | XFG = (PNT, PMX) 110 | HBD = (JQK, LBB) 111 | TDP = (QMS, JNV) 112 | TFB = (KSV, GJJ) 113 | JTC = (MGG, TPC) 114 | GHG = (NDH, HVG) 115 | TVR = (QHX, GSC) 116 | QDR = (LVM, SVK) 117 | HDQ = (HBD, JPX) 118 | HFG = (BMS, PFX) 119 | FDD = (BFT, XQG) 120 | JCN = (TDL, XBK) 121 | SNS = (DMN, GVT) 122 | HJX = (GDM, HCZ) 123 | RSG = (NBV, LPR) 124 | BDV = (RFB, HSN) 125 | DVK = (LGR, MTV) 126 | RGL = (LJM, NTT) 127 | PNT = (NNP, BRR) 128 | KLN = (JDD, QRZ) 129 | TKQ = (SJS, JRR) 130 | SRJ = (CXL, XMH) 131 | TNB = (FBH, TML) 132 | PKQ = (MCV, LDN) 133 | MCV = (FSK, QJP) 134 | DTD = (CXB, TMD) 135 | HJM = (SHB, DSH) 136 | GLL = (QCJ, NBB) 137 | BBB = (GDQ, GGB) 138 | RFB = (NXT, MXM) 139 | CHX = (BFT, XQG) 140 | JDR = (LGR, MTV) 141 | PVJ = (HXK, LGG) 142 | DRQ = (JHP, XGJ) 143 | NLX = (SVK, LVM) 144 | PQB = (RSC, GJG) 145 | XNS = (LPM, QHR) 146 | QJN = (PBP, KQQ) 147 | HHG = (FJL, CMP) 148 | NHH = (KNG, GND) 149 | BCF = (NVH, FNK) 150 | RVM = (QPV, TQC) 151 | MMG = (TDP, MQM) 152 | SLJ = (SCL, GST) 153 | MGB = (CBC, HXF) 154 | NVB = (QPT, FKB) 155 | LKB = (LJP, SLZ) 156 | JTH = (JPC, JPC) 157 | VNV = (PCF, DTG) 158 | LBB = (FJT, HSV) 159 | CKR = (QKG, DCJ) 160 | NLH = (VTL, RDK) 161 | PPL = (RTL, JCX) 162 | HTX = (FPR, VCQ) 163 | JKJ = (NHG, QBX) 164 | TPH = (MSJ, NMP) 165 | PGQ = (HRV, FXB) 166 | PVN = (HKL, XNV) 167 | DRB = (LHJ, XHR) 168 | TGF = (VVP, GSV) 169 | BVV = (NKG, CTJ) 170 | BRR = (HHS, MCH) 171 | DGX = (RTL, JCX) 172 | CNT = (NRF, SDD) 173 | SLZ = (DNT, KVD) 174 | XVJ = (LNJ, JXV) 175 | XPK = (QHQ, MQQ) 176 | XJR = (XPK, DVV) 177 | JLN = (RXM, SQK) 178 | XDQ = (NHM, XSH) 179 | JVD = (BMS, PFX) 180 | PMP = (FRX, XLJ) 181 | CRT = (TMD, CXB) 182 | XBJ = (BPL, HXB) 183 | QCL = (JDR, DVK) 184 | CXB = (MRQ, HLR) 185 | NTR = (FLC, KGK) 186 | JCP = (JKJ, QTL) 187 | GNB = (THN, MXG) 188 | KQJ = (FLJ, DJC) 189 | KSM = (NBB, QCJ) 190 | BLA = (KVD, DNT) 191 | NPK = (TVF, QJN) 192 | BMS = (TXQ, XND) 193 | BNQ = (FQM, XVJ) 194 | PPJ = (LTH, JBV) 195 | FSD = (JKG, QLB) 196 | CFB = (PCF, DTG) 197 | BCR = (LMX, XJJ) 198 | DMN = (VGS, GVX) 199 | TDL = (JCP, CLX) 200 | GSV = (VXK, HPC) 201 | LRV = (CQG, LFB) 202 | NBK = (DMN, GVT) 203 | QQV = (GSC, QHX) 204 | PMJ = (MSJ, NMP) 205 | KJF = (CRQ, TCK) 206 | TTQ = (PJV, QKL) 207 | JDM = (KLK, TLS) 208 | KVD = (NLX, QDR) 209 | TRK = (FGL, BNF) 210 | JQG = (CST, VLQ) 211 | PNF = (XPG, DPP) 212 | DLT = (KNG, GND) 213 | LJP = (KVD, DNT) 214 | CRJ = (SRJ, QBR) 215 | MGG = (PNP, GVP) 216 | VCD = (CHF, GDV) 217 | TJD = (VXH, KDF) 218 | QBP = (VXH, KDF) 219 | TTM = (CHJ, VXT) 220 | TVC = (VJS, HTX) 221 | RFT = (VVP, GSV) 222 | XDK = (CVS, QBC) 223 | JMF = (NTS, VJN) 224 | LRR = (PTP, LHL) 225 | TVD = (FJL, CMP) 226 | PSN = (NRX, NQC) 227 | CKK = (TGF, RFT) 228 | QGT = (TTH, JGB) 229 | SRQ = (LHV, NJF) 230 | QKG = (BDV, TLB) 231 | MXM = (CVM, SMG) 232 | LCR = (XPS, GLF) 233 | JTT = (TSR, RDX) 234 | QLS = (CHF, GDV) 235 | TBQ = (JJC, STN) 236 | LBQ = (TXB, VMF) 237 | FMF = (SCL, GST) 238 | QCD = (FRL, CRL) 239 | TPN = (VQT, GQD) 240 | LLT = (SJV, VLM) 241 | VJC = (JXS, DFJ) 242 | MXC = (NDJ, KJF) 243 | FBF = (TKQ, BTB) 244 | JTJ = (VQV, DDP) 245 | JHP = (LPT, TBV) 246 | BJS = (KMX, KMX) 247 | FBJ = (KDP, KDP) 248 | TNS = (DHL, PVN) 249 | DQJ = (SDG, QXS) 250 | FQD = (DBC, GNQ) 251 | CKJ = (FBJ, FBJ) 252 | SDF = (QRM, JHV) 253 | KCS = (MRT, RSV) 254 | FVH = (GSD, XHH) 255 | CRK = (QJN, TVF) 256 | PKC = (VSK, XPM) 257 | DSH = (VNV, CFB) 258 | FLT = (LMX, XJJ) 259 | TCN = (TFB, JPV) 260 | PSJ = (XFG, KMG) 261 | NJF = (FPN, DTK) 262 | SRP = (DSJ, DSJ) 263 | FRV = (CFR, HVX) 264 | QPV = (FGS, CSV) 265 | TTH = (DXX, DBP) 266 | VRN = (GGC, DRQ) 267 | NKC = (RVL, PVJ) 268 | MPT = (KKX, LFM) 269 | DPT = (KKX, LFM) 270 | LMX = (LRJ, PMP) 271 | SHB = (CFB, VNV) 272 | GJD = (LBQ, JLL) 273 | QBC = (QSK, QSB) 274 | NHL = (XPK, DVV) 275 | TBJ = (KGX, FGG) 276 | GHQ = (KJF, NDJ) 277 | VHV = (LPM, QHR) 278 | KXB = (BBQ, SSH) 279 | DFC = (CRL, FRL) 280 | BVC = (LJP, LJP) 281 | JCX = (FBF, NSB) 282 | CLC = (QMC, NBP) 283 | NHG = (KGN, JSL) 284 | SSK = (LTK, TBQ) 285 | KRD = (PSN, SLF) 286 | JHV = (JJG, FTV) 287 | GGB = (LNM, SHL) 288 | FGS = (FJB, LLB) 289 | SMG = (KKQ, MSG) 290 | JGB = (DXX, DBP) 291 | CST = (RCB, LMP) 292 | FMK = (KGP, KSJ) 293 | KCL = (VLQ, CST) 294 | MSG = (BNQ, SVN) 295 | BNF = (QKN, KDG) 296 | RFG = (GHQ, MXC) 297 | DBC = (QPG, HDG) 298 | CMN = (GNQ, DBC) 299 | BTB = (SJS, JRR) 300 | TGM = (BVC, BVC) 301 | XQP = (RHG, BBB) 302 | LTR = (VQT, GQD) 303 | SST = (QXR, JSP) 304 | NTS = (CKN, PKQ) 305 | VSN = (TLS, KLK) 306 | NHM = (CKJ, CKJ) 307 | HKJ = (RFG, JNS) 308 | FBH = (NCC, SGM) 309 | LNN = (BVV, NJQ) 310 | CRL = (SQD, DTF) 311 | TDM = (LCF, JTJ) 312 | GDQ = (LNM, SHL) 313 | TCK = (TVR, QQV) 314 | MCH = (JCD, BKG) 315 | HTM = (KGP, KSJ) 316 | TJQ = (SPP, MGB) 317 | TFV = (VPQ, HVH) 318 | MKF = (DCX, PKH) 319 | LPR = (QLS, VCD) 320 | DFV = (PGN, LGS) 321 | NVH = (JRD, TGX) 322 | BVH = (JDR, DVK) 323 | KQQ = (DGH, LBJ) 324 | KKX = (VRN, MJR) 325 | PBV = (KGK, FLC) 326 | MRM = (NVH, FNK) 327 | CCN = (XPG, DPP) 328 | MBG = (FPD, KBG) 329 | DJJ = (CNG, NMX) 330 | TSR = (FMR, JMX) 331 | GDV = (MRM, BCF) 332 | CBD = (KBX, PHJ) 333 | BGP = (HFG, JVD) 334 | NSB = (BTB, TKQ) 335 | KBX = (CKR, CTM) 336 | HVG = (LRR, VJM) 337 | RMF = (CRT, DTD) 338 | XHH = (VFR, CHB) 339 | RSB = (XDQ, GLR) 340 | SQK = (FVD, DFV) 341 | LLR = (HLP, PQB) 342 | RDX = (JMX, FMR) 343 | GSD = (VFR, CHB) 344 | HLP = (GJG, RSC) 345 | SJS = (HMF, CRJ) 346 | RXV = (BJS, FDS) 347 | NBP = (VFH, KBN) 348 | XPG = (XCJ, BKL) 349 | GHC = (THN, MXG) 350 | GNP = (DRR, HGV) 351 | TJS = (KCM, HJX) 352 | MQM = (JNV, QMS) 353 | CSV = (LLB, FJB) 354 | KXC = (QFP, CVB) 355 | FSX = (RXN, KCS) 356 | HQC = (SNS, NBK) 357 | XBM = (XBK, TDL) 358 | BXN = (KBX, PHJ) 359 | HKL = (BMN, SST) 360 | FDF = (JLL, LBQ) 361 | XCJ = (PBM, MCG) 362 | LPJ = (KDQ, KQC) 363 | JQK = (FJT, HSV) 364 | QTL = (NHG, QBX) 365 | KBG = (SSK, XNJ) 366 | PTP = (NMJ, LRV) 367 | VPH = (BJS, FDS) 368 | TSJ = (JGM, JMF) 369 | MCG = (DMG, PPJ) 370 | GDM = (LMN, RGL) 371 | QPG = (SKM, XNR) 372 | RTS = (JPX, HBD) 373 | QNF = (NBP, QMC) 374 | BKL = (PBM, MCG) 375 | NRF = (JJJ, CPM) 376 | JVX = (HTM, FMK) 377 | FLC = (XVG, MNH) 378 | DTK = (BCR, FLT) 379 | VPQ = (RXV, VPH) 380 | LBV = (FQD, CMN) 381 | XRZ = (RXR, MGL) 382 | HRQ = (JGM, JMF) 383 | FGG = (SHJ, DGL) 384 | XGJ = (LPT, TBV) 385 | LLK = (JPC, FDZ) 386 | FKK = (DJC, FLJ) 387 | TJJ = (GNP, TGK) 388 | SHL = (BFG, DQS) 389 | TGK = (HGV, DRR) 390 | CBQ = (CHR, RHK) 391 | SQD = (VKX, DQR) 392 | QPT = (PTG, NKC) 393 | QKJ = (QCD, DFC) 394 | PBP = (DGH, LBJ) 395 | QKH = (DSJ, KLN) 396 | HVH = (RXV, VPH) 397 | KSJ = (TFV, HKM) 398 | XNV = (SST, BMN) 399 | VPT = (RHG, BBB) 400 | CPM = (BDN, MMX) 401 | RBK = (VTL, RDK) 402 | JPC = (XTJ, TVS) 403 | NDJ = (TCK, CRQ) 404 | VFR = (KPK, DRB) 405 | TBV = (FFD, RVM) 406 | QGQ = (XTL, VJC) 407 | PFX = (XND, TXQ) 408 | PBM = (DMG, PPJ) 409 | SSB = (SHB, DSH) 410 | XBS = (HRV, FXB) 411 | JBV = (TTM, DQB) 412 | RVL = (HXK, LGG) 413 | KBN = (TJQ, XBH) 414 | FXK = (TNB, TSP) 415 | MMT = (CRT, DTD) 416 | KKQ = (BNQ, SVN) 417 | HSV = (NJX, FSX) 418 | GGC = (JHP, XGJ) 419 | LVK = (JCN, XBM) 420 | HCZ = (RGL, LMN) 421 | GVF = (KXC, CMQ) 422 | RLQ = (MPT, DPT) 423 | TPX = (SQK, RXM) 424 | TGX = (CVC, GXD) 425 | VTL = (CTN, QGQ) 426 | MMX = (PSJ, KQG) 427 | STN = (DJJ, XSQ) 428 | JKG = (CFC, LBN) 429 | PRL = (GHG, CKL) 430 | XDL = (PKC, JLX) 431 | PHJ = (CKR, CTM) 432 | XND = (HPD, GFF) 433 | VXH = (TGM, TGM) 434 | RQN = (TSP, TNB) 435 | HBX = (LHV, NJF) 436 | NKG = (CVL, FSD) 437 | CVC = (FXK, RQN) 438 | FPD = (XNJ, SSK) 439 | JPX = (JQK, LBB) 440 | VFH = (XBH, TJQ) 441 | CTJ = (CVL, FSD) 442 | FJL = (CHX, FDD) 443 | MRQ = (TJJ, KGS) 444 | HSN = (MXM, NXT) 445 | TML = (SGM, NCC) 446 | QHR = (HKQ, GPP) 447 | VKX = (DGX, PPL) 448 | AAA = (VHV, XNS) 449 | CFR = (JMC, KBM) 450 | PRT = (HXQ, JTT) 451 | BKG = (GHC, GNB) 452 | SCL = (MBG, LFG) 453 | DPP = (BKL, XCJ) 454 | XHS = (BVC, LKB) 455 | CHB = (KPK, DRB) 456 | TLF = (BVR, MMG) 457 | QRZ = (KCX, TVC) 458 | FVD = (PGN, LGS) 459 | CTN = (XTL, VJC) 460 | KGK = (MNH, XVG) 461 | VLM = (LCR, DFG) 462 | DSM = (TPX, JLN) 463 | SGM = (FDF, GJD) 464 | XQQ = (LDR, MHH) 465 | SDG = (RMF, MMT) 466 | HVX = (JMC, KBM) 467 | JRD = (CVC, GXD) 468 | GLR = (NHM, XSH) 469 | PMX = (NNP, BRR) 470 | XLJ = (THQ, SDF) 471 | XBK = (JCP, CLX) 472 | XLH = (XDL, XLV) 473 | MTD = (CLB, ZZZ) 474 | NFA = (MGL, RXR) 475 | GJJ = (RSH, HCP) 476 | CXL = (NHH, DLT) 477 | GSC = (XDK, JTQ) 478 | CRQ = (QQV, TVR) 479 | LRJ = (FRX, XLJ) 480 | CLB = (VHV, XNS) 481 | CMM = (RLQ, RQQ) 482 | DHL = (XNV, HKL) 483 | XSQ = (CNG, NMX) 484 | VVP = (VXK, HPC) 485 | CHJ = (CRK, NPK) 486 | QKN = (LXF, RBQ) 487 | FQM = (LNJ, JXV) 488 | JJG = (PCN, FHH) 489 | DCL = (RQQ, RLQ) 490 | BBQ = (NVB, VVF) 491 | QMS = (XXP, RSG) 492 | NFJ = (JLN, TPX) 493 | RQQ = (DPT, MPT) 494 | XSF = (TFB, JPV) 495 | PNP = (XMQ, GNR) 496 | QBX = (KGN, JSL) 497 | JPV = (GJJ, KSV) 498 | XCG = (LLR, GKQ) 499 | BFG = (PNF, CCN) 500 | GRJ = (TPC, MGG) 501 | QCJ = (PBR, JVX) 502 | LDR = (PBV, NTR) 503 | ZZZ = (XNS, VHV) 504 | GVX = (LPJ, TPB) 505 | GBN = (XJR, NHL) 506 | HXB = (TLX, DQJ) 507 | JLL = (VMF, TXB) 508 | KBM = (HRQ, TSJ) 509 | XSH = (CKJ, MHM) 510 | HXF = (JDM, VSN) 511 | RXR = (LNN, GTT) 512 | SLF = (NQC, NRX) 513 | QPL = (HVX, CFR) 514 | CVM = (KKQ, MSG) 515 | CHR = (KCC, JBD) 516 | FGL = (QKN, KDG) 517 | GNQ = (HDG, QPG) 518 | SBB = (TTH, JGB) 519 | XMQ = (RSB, BRV) 520 | SPD = (SRP, SRP) 521 | JDD = (TVC, KCX) 522 | FXB = (SBB, QGT) 523 | RXM = (DFV, FVD) 524 | FDS = (KMX, VKC) 525 | CQG = (TCN, XSF) 526 | CHF = (BCF, MRM) 527 | QHX = (JTQ, XDK) 528 | MJR = (DRQ, GGC) 529 | DRA = (XTJ, TVS) 530 | KCX = (VJS, HTX) 531 | PCN = (HHV, GVF) 532 | FFD = (TQC, QPV) 533 | CBC = (VSN, JDM) 534 | RPK = (MHH, LDR) 535 | JTQ = (CVS, QBC) 536 | SSH = (VVF, NVB) 537 | KMG = (PMX, PNT) 538 | JBD = (CQS, XCG) 539 | DQB = (VXT, CHJ) 540 | QSB = (PMJ, TPH) 541 | KGX = (DGL, SHJ) 542 | TSP = (TML, FBH) 543 | LHV = (FPN, DTK) 544 | LGR = (KSM, GLL) 545 | CLX = (QTL, JKJ) 546 | PSA = (LMN, RGL) 547 | MXG = (KHB, LLT) 548 | TLB = (HSN, RFB) 549 | NQC = (CLC, QNF) 550 | NMJ = (CQG, LFB) 551 | NXT = (SMG, CVM) 552 | LHL = (LRV, NMJ) 553 | VQV = (FVH, RDN) 554 | KDQ = (TJD, QBP) 555 | DFJ = (TRK, MLD) 556 | LBJ = (SQF, TJS) 557 | CVS = (QSB, QSK) 558 | JSL = (QKJ, FSR) 559 | QKC = (NHL, XJR) 560 | LCF = (VQV, DDP) 561 | CKL = (HVG, NDH) 562 | HKQ = (XLH, MDN) 563 | DDP = (RDN, FVH) 564 | RHG = (GDQ, GGB) 565 | CKN = (LDN, MCV) 566 | RXN = (MRT, RSV) 567 | HHS = (JCD, BKG) 568 | PJV = (GRJ, JTC) 569 | HPC = (VXS, RCQ) 570 | HGV = (LNS, NPT) 571 | FMR = (QJD, TLF) 572 | XTJ = (XSC, XBJ) 573 | THN = (LLT, KHB) 574 | TLS = (PRT, DBJ) 575 | KGP = (HKM, TFV) 576 | DNT = (QDR, NLX) 577 | LLB = (QPL, FRV) 578 | BLM = (VGC, TBJ) 579 | GND = (XQP, VPT) 580 | MSJ = (SPD, DRV) 581 | LVM = (FMF, SLJ) 582 | TPB = (KQC, KDQ) 583 | RHK = (KCC, JBD) 584 | LGG = (DDR, CKK) 585 | LDN = (FSK, QJP) 586 | JXV = (TRC, HQC) 587 | GPP = (XLH, MDN) 588 | TXB = (RTS, HDQ) 589 | QFG = (SLF, PSN) 590 | JMX = (QJD, TLF) 591 | QFP = (TDM, BXQ) 592 | XVG = (NMH, CNT) 593 | KCC = (XCG, CQS) 594 | DQR = (DGX, PPL) 595 | FDZ = (TVS, XTJ) 596 | XHR = (JTH, LLK) 597 | XXP = (NBV, LPR) 598 | JNV = (RSG, XXP) 599 | HXQ = (TSR, RDX) 600 | DBJ = (JTT, HXQ) 601 | LFV = (CLB, CLB) 602 | HKM = (HVH, VPQ) 603 | NMH = (SDD, NRF) 604 | FHH = (GVF, HHV) 605 | QMC = (KBN, VFH) 606 | FPN = (BCR, FLT) 607 | DRV = (SRP, QKH) 608 | NNP = (MCH, HHS) 609 | NJQ = (CTJ, NKG) 610 | MRT = (JQG, KCL) 611 | KLK = (PRT, DBJ) 612 | LHJ = (JTH, JTH) 613 | VGS = (LPJ, TPB) 614 | QBR = (CXL, XMH) 615 | FXS = (JNS, RFG) 616 | DTF = (VKX, DQR) 617 | QHQ = (BXN, CBD) 618 | BXQ = (LCF, JTJ) 619 | GVP = (GNR, XMQ) 620 | VJS = (VCQ, FPR) 621 | HMF = (QBR, SRJ) 622 | CMP = (FDD, CHX) 623 | QJD = (BVR, MMG) 624 | XLV = (PKC, JLX) 625 | QKL = (JTC, GRJ) 626 | PCF = (GBN, QKC) 627 | LNM = (BFG, DQS) 628 | SJV = (LCR, DFG) 629 | KPK = (LHJ, LHJ) 630 | GNR = (BRV, RSB) 631 | NCC = (FDF, GJD) 632 | RSH = (KXB, HHD) 633 | MNB = (DCL, CMM) 634 | XTL = (JXS, DFJ) 635 | VKC = (LFV, MTD) 636 | FLJ = (GNV, BPQ) 637 | KCM = (GDM, GDM) 638 | XBH = (SPP, MGB) 639 | LMP = (PJN, LBV) 640 | BVR = (TDP, MQM) 641 | SKM = (BVH, QCL) 642 | RBQ = (CBQ, DLB) 643 | JCD = (GNB, GHC) 644 | MHM = (FBJ, PMN) 645 | HDG = (XNR, SKM) 646 | KQC = (TJD, QBP) 647 | NMX = (SSB, HJM) 648 | HHD = (SSH, BBQ) 649 | NDH = (LRR, VJM) 650 | DJC = (BPQ, GNV) 651 | GKQ = (HLP, PQB) 652 | MHH = (PBV, NTR) 653 | KDF = (TGM, XHS) 654 | QJP = (DSM, NFJ) 655 | VMF = (RTS, HDQ) 656 | NBV = (QLS, VCD) 657 | NJX = (KCS, RXN) 658 | LGS = (VXJ, DQK) 659 | PBR = (FMK, HTM) 660 | GJG = (HBX, SRQ) 661 | MDN = (XLV, XDL) 662 | MSC = (VGC, TBJ) 663 | NTT = (TVD, HHG) 664 | FPR = (XQQ, RPK) 665 | DGH = (SQF, SQF) 666 | HLR = (KGS, TJJ) 667 | LNS = (RBK, NLH) 668 | SVK = (FMF, SLJ) 669 | XSC = (HXB, BPL) 670 | RSV = (JQG, KCL) 671 | XJJ = (LRJ, PMP) 672 | DLB = (RHK, CHR) 673 | KNG = (XQP, VPT) 674 | XHT = (DCL, CMM) 675 | XPM = (QFG, KRD) 676 | BPQ = (RBP, TQV) 677 | QXS = (MMT, RMF) 678 | CTM = (DCJ, QKG) 679 | CQS = (GKQ, LLR) 680 | PTG = (PVJ, RVL) 681 | NMP = (SPD, DRV) 682 | DCJ = (TLB, BDV) 683 | RDN = (GSD, XHH) 684 | KMX = (LFV, LFV) 685 | KGN = (FSR, QKJ) 686 | VCQ = (XQQ, RPK) 687 | JJC = (DJJ, XSQ) 688 | LPM = (HKQ, GPP) 689 | GLF = (SGS, PRL) 690 | TRC = (NBK, SNS) 691 | HPD = (HKJ, FXS) 692 | JGM = (NTS, VJN) 693 | JXS = (TRK, MLD) 694 | KDG = (RBQ, LXF) 695 | VLQ = (RCB, LMP) 696 | LFG = (KBG, FPD) 697 | LNJ = (TRC, HQC) 698 | CVL = (QLB, JKG) 699 | BMN = (QXR, JSP) 700 | KSV = (RSH, HCP) 701 | RCB = (LBV, PJN) 702 | FNK = (TGX, JRD) 703 | HXK = (CKK, DDR) 704 | GQD = (FKK, KQJ) 705 | VXJ = (GSS, TTQ) 706 | DMG = (JBV, LTH) 707 | VGC = (FGG, KGX) 708 | THQ = (QRM, JHV) 709 | GFF = (FXS, HKJ) 710 | JJJ = (BDN, MMX) 711 | DRR = (NPT, LNS) 712 | TPC = (PNP, GVP) 713 | -------------------------------------------------------------------------------- /day7/input: -------------------------------------------------------------------------------- 1 | 88223 818 2 | 66JQ9 398 3 | 6T9AT 311 4 | 53TT3 43 5 | J6266 762 6 | 5TTAA 647 7 | 44JTT 779 8 | T4T66 496 9 | 6AAA3 383 10 | 69K4Q 232 11 | 55KA5 436 12 | 666JJ 479 13 | 75J85 835 14 | 27379 323 15 | 592Q3 565 16 | 33777 438 17 | 75224 136 18 | 2QQK2 116 19 | JJQK9 219 20 | 9Q77J 46 21 | 68686 177 22 | 7A7AA 336 23 | J4K3A 582 24 | 46QA9 11 25 | 5AJ85 712 26 | AJAJ4 264 27 | AK2AA 756 28 | K49KK 597 29 | 9J882 678 30 | 28QQ8 405 31 | 93333 401 32 | KJTQJ 281 33 | K78Q4 941 34 | T8J56 377 35 | Q6TQT 440 36 | T44T4 792 37 | 6KK66 7 38 | 2JT22 144 39 | K6656 665 40 | 6JQ4K 87 41 | 5J4JA 419 42 | 3A2J4 325 43 | 47T47 291 44 | 3J7Q3 190 45 | 4A527 234 46 | 223K2 917 47 | 233J3 912 48 | 844QQ 268 49 | TKTJK 125 50 | 22298 62 51 | T6J59 258 52 | 99K69 896 53 | 8J878 834 54 | J5655 757 55 | 4J26T 255 56 | 4K3K5 448 57 | 229J9 889 58 | 22372 702 59 | 6Q73T 832 60 | Q9892 919 61 | QJQ7Q 898 62 | JTTT5 173 63 | 959J9 543 64 | AAAA5 858 65 | 3Q5Q6 159 66 | 23372 39 67 | 453AK 572 68 | A6A82 410 69 | Q88Q8 241 70 | J675A 348 71 | KQQ2Q 643 72 | KJK52 981 73 | A9989 631 74 | 33633 64 75 | 44TJA 274 76 | A49A4 59 77 | AKAKA 864 78 | 4333K 184 79 | 8T843 238 80 | 54594 429 81 | J222J 78 82 | 5Q655 374 83 | 5Q8KA 147 84 | J8Q2J 278 85 | 29293 387 86 | T8TT4 15 87 | T7K36 481 88 | 43776 782 89 | 24292 369 90 | 7K3Q2 551 91 | 42T2T 495 92 | 5Q5QQ 761 93 | QKKKK 312 94 | 22J9A 948 95 | T552T 657 96 | 75Q77 45 97 | 35296 931 98 | 46266 157 99 | 9J4KK 973 100 | A4A77 269 101 | 36T6T 235 102 | 44483 386 103 | 29452 924 104 | 66Q66 723 105 | 4TT86 717 106 | 544AK 956 107 | QQQ9Q 75 108 | JJ989 708 109 | AKKA9 842 110 | 2777K 519 111 | Q569A 831 112 | 65838 996 113 | 9AAA9 128 114 | Q722Q 95 115 | KJ2KK 807 116 | 8TTKK 989 117 | 393J9 306 118 | 44J44 263 119 | 85335 70 120 | 54499 500 121 | KKJ44 462 122 | Q44K4 636 123 | Q3392 870 124 | 8J896 540 125 | 8QQ63 485 126 | 37955 209 127 | 6K5K8 35 128 | 58JKT 307 129 | 66QQ7 993 130 | Q4K98 937 131 | K2J42 583 132 | 45333 965 133 | TAJ75 74 134 | T548J 114 135 | J5599 111 136 | 9J557 79 137 | 49JK3 669 138 | T9T9T 613 139 | J5TK6 69 140 | TQTJT 223 141 | 98746 560 142 | 3QQ33 271 143 | 7A3QK 692 144 | AQ347 32 145 | 653J9 638 146 | J8J48 635 147 | 94449 873 148 | 44449 957 149 | T4TTT 224 150 | 949T4 695 151 | Q8Q4Q 376 152 | 75QJ5 130 153 | K8K68 988 154 | 84J45 441 155 | 82577 443 156 | T4383 812 157 | 973T2 1000 158 | TKK4J 781 159 | K6J77 911 160 | 8Q383 491 161 | 333AJ 230 162 | 53555 492 163 | 68666 183 164 | 666Q5 178 165 | 26KKK 379 166 | 77TTQ 978 167 | 92992 907 168 | T2562 65 169 | K7J3K 324 170 | 67365 400 171 | 2222J 331 172 | AA2AA 933 173 | 8AAAJ 790 174 | 47474 105 175 | 48T43 203 176 | A5AJT 736 177 | 9J6TQ 162 178 | TTTT6 700 179 | 97987 851 180 | K5788 439 181 | Q9399 591 182 | 34976 406 183 | 3434T 486 184 | 6A66J 22 185 | 9J9TA 822 186 | QQ66J 632 187 | 77755 590 188 | 5564A 345 189 | J5A75 186 190 | 29785 828 191 | 88844 882 192 | 38KK6 955 193 | 66TTT 349 194 | 78TKK 969 195 | 46344 881 196 | 7TT77 561 197 | 6JTTQ 997 198 | QA8QA 921 199 | 8Q2T4 625 200 | 67T4A 403 201 | 436K5 214 202 | 6K7T8 26 203 | 8A98K 197 204 | T3K84 141 205 | 5J454 344 206 | 74Q69 642 207 | KJ555 20 208 | 5A4A8 129 209 | Q4A5J 510 210 | K2KK5 126 211 | T6686 853 212 | 7Q774 867 213 | 99696 459 214 | 7Q3TA 770 215 | 9J966 117 216 | T4T5T 494 217 | 828K2 236 218 | 54726 38 219 | 88T82 704 220 | 73977 502 221 | 535A5 294 222 | K9K5K 418 223 | 8TT9J 115 224 | Q2376 480 225 | 5A9T7 257 226 | KK9KK 673 227 | 33KK3 427 228 | 4A575 974 229 | JT94J 515 230 | 999A9 83 231 | Q342A 938 232 | 8JKAJ 574 233 | 5664J 775 234 | 642A4 101 235 | 33K28 916 236 | K28JK 176 237 | QQQQK 967 238 | 4A4Q4 616 239 | T578T 552 240 | 46474 174 241 | QQ83J 837 242 | 22287 23 243 | JJJJJ 725 244 | KK55K 120 245 | AAQA5 555 246 | 72737 37 247 | Q82JQ 518 248 | 77667 464 249 | QJAQA 367 250 | K323K 52 251 | 777T4 751 252 | 74777 452 253 | 839QJ 124 254 | 8Q989 326 255 | 5K5JA 711 256 | 777J7 396 257 | 46AJT 767 258 | 88669 637 259 | JTTKQ 34 260 | JKK9K 251 261 | 66226 163 262 | J3343 605 263 | 998J5 534 264 | AT72K 950 265 | 7J757 608 266 | 84TT4 460 267 | 99955 315 268 | TK5KA 60 269 | T82JQ 991 270 | 46866 661 271 | T8TTT 19 272 | 25K65 577 273 | QK3J6 284 274 | 7A977 390 275 | KKKK2 774 276 | J97A7 143 277 | QK545 655 278 | AK4T3 454 279 | 374K9 300 280 | AJATT 614 281 | 96KA7 819 282 | 5525A 253 283 | A995A 61 284 | 66Q6Q 36 285 | 4J253 282 286 | 3JK9Q 385 287 | 44JJ4 196 288 | KKKKJ 166 289 | K8KK8 299 290 | J9979 179 291 | 93999 738 292 | 47T3K 726 293 | A6J45 182 294 | JT322 421 295 | 35J36 545 296 | 838TK 434 297 | 6AK6A 838 298 | 4JT44 929 299 | J5955 473 300 | K4A47 611 301 | QK472 40 302 | AJTTJ 106 303 | 4J9TT 82 304 | 4QQ4Q 316 305 | 38KA8 836 306 | 96K8A 586 307 | J286T 318 308 | 2JJ77 778 309 | 4344K 528 310 | 866AA 215 311 | 68676 56 312 | 934J3 563 313 | 44J45 355 314 | 4J443 804 315 | 5QQ58 185 316 | 844AK 53 317 | 3T333 909 318 | TJ2K5 860 319 | AAQ3A 395 320 | 66646 272 321 | 54T8K 676 322 | A4Q25 67 323 | 94J49 696 324 | 42KK2 267 325 | KQK8T 985 326 | 4QJ29 559 327 | 83686 244 328 | 53292 940 329 | QK6KK 503 330 | 78777 660 331 | J4424 194 332 | 8Q46Q 699 333 | 72776 368 334 | KA553 926 335 | 44454 627 336 | 52599 86 337 | 242A2 337 338 | 49955 467 339 | QJAQK 847 340 | J22AJ 259 341 | 2QQ2Q 228 342 | K33KK 833 343 | 95559 900 344 | 262AJ 250 345 | 9AQ34 604 346 | 8Q99Q 788 347 | JAQT9 908 348 | Q9432 47 349 | T3346 619 350 | 8K97T 30 351 | J62J6 240 352 | 28888 302 353 | K96K9 320 354 | 9TQAT 960 355 | J9877 612 356 | 88878 556 357 | 6QQ5T 732 358 | 6JA89 681 359 | 3JJ5T 435 360 | QQ2K7 77 361 | ATTTT 283 362 | QKJQ8 629 363 | 53353 276 364 | A2A33 805 365 | 383AJ 797 366 | J684K 169 367 | 44J4A 164 368 | KKK5K 392 369 | 7988J 24 370 | Q5446 885 371 | 7777A 713 372 | 24386 839 373 | J77A7 537 374 | KTA7Q 16 375 | 6TTJJ 677 376 | 9Q93Q 523 377 | 22322 280 378 | 2QK58 984 379 | 65795 6 380 | T9TTT 763 381 | 66A67 58 382 | KJ994 743 383 | Q7KQQ 222 384 | 4A424 270 385 | KQKQK 694 386 | 843Q4 287 387 | 5QQAQ 330 388 | Q4449 593 389 | QQQ4J 131 390 | 2222K 132 391 | 28287 402 392 | J46A4 707 393 | 24242 982 394 | 6686J 733 395 | 8T9Q8 175 396 | 45J3Q 442 397 | 6Q48J 444 398 | 3TTQ3 737 399 | 4TT4T 127 400 | 5555A 399 401 | AKT29 872 402 | TTT7J 340 403 | J44QQ 89 404 | 57A3Q 453 405 | QJAJQ 682 406 | 7JQ74 450 407 | J55Q2 342 408 | 59267 773 409 | 8J884 652 410 | 33383 456 411 | K68JJ 600 412 | 6JJA4 156 413 | T8T8J 771 414 | 62222 942 415 | 92999 947 416 | 55886 946 417 | 75A77 601 418 | 3QK54 945 419 | A2686 531 420 | 39Q38 687 421 | TKKTT 360 422 | 8886K 339 423 | 7774A 202 424 | T2222 798 425 | 3786T 171 426 | 547A6 623 427 | 22T2T 170 428 | T2688 201 429 | KJ7A4 902 430 | 9322T 922 431 | 74Q6A 666 432 | J72T7 511 433 | 44A44 72 434 | Q776Q 411 435 | 4K4K8 588 436 | K43JJ 760 437 | AAAA6 714 438 | 52J55 8 439 | 3K94A 976 440 | AKJTQ 729 441 | 65J66 94 442 | 9KKK3 445 443 | 6ATJT 876 444 | T2529 432 445 | 68A79 397 446 | 82J4Q 566 447 | 53557 472 448 | 83383 356 449 | AAAQA 380 450 | KTKK5 357 451 | 5T24J 746 452 | 6777J 289 453 | TK9K9 843 454 | 44744 213 455 | 3KTKT 728 456 | J739A 659 457 | T33JJ 928 458 | 84QJQ 952 459 | KKK67 378 460 | 97979 954 461 | K52T4 332 462 | 75QA6 863 463 | ATTK2 603 464 | 33Q33 207 465 | 4AJ24 9 466 | 5TTK5 949 467 | TTJ9T 663 468 | 77277 645 469 | 434QQ 364 470 | JJJ8J 527 471 | T479Q 706 472 | 7A77K 413 473 | TK486 640 474 | KKJ59 17 475 | 799Q9 97 476 | 33646 447 477 | 2323J 477 478 | K2758 986 479 | T5TT5 547 480 | 9956Q 609 481 | TK753 149 482 | 87Q79 193 483 | JQQQQ 512 484 | 44988 871 485 | AA4AA 789 486 | J2564 347 487 | 23J68 890 488 | KAAAT 684 489 | K9KTK 334 490 | TTTT3 857 491 | 99899 783 492 | 426J3 865 493 | 8J288 689 494 | 7QT8J 122 495 | 73679 649 496 | 653AQ 899 497 | 9992T 544 498 | 66TJ6 416 499 | 382A9 252 500 | 52J54 273 501 | J665T 630 502 | 82222 221 503 | TT3T3 262 504 | 44748 927 505 | T75KQ 85 506 | 44554 587 507 | 4866J 754 508 | 47T6T 92 509 | 899TT 4 510 | 999JJ 576 511 | 87898 868 512 | 45T32 217 513 | J54T4 977 514 | JAAJA 721 515 | 43KJ3 883 516 | 4888K 110 517 | 5A544 546 518 | J6783 220 519 | 85956 63 520 | 54334 137 521 | J9384 688 522 | 94429 249 523 | QQJA3 803 524 | AA66A 180 525 | 99K9T 28 526 | 535J5 607 527 | 8AA88 341 528 | 862K2 382 529 | 8J888 314 530 | 25282 796 531 | 8J8J8 488 532 | 88Q35 188 533 | J99Q9 840 534 | 5K832 475 535 | 3333A 653 536 | A4A4J 539 537 | 999T9 370 538 | 77J73 310 539 | JJKKJ 964 540 | J9856 584 541 | 54J9K 727 542 | 22777 231 543 | 6Q274 469 544 | TTTTJ 408 545 | 6J2Q2 33 546 | AJ867 484 547 | 55J55 892 548 | K7593 971 549 | 5AT5T 474 550 | A2KKA 113 551 | 24222 906 552 | 93J33 875 553 | Q43AJ 972 554 | 88JT7 569 555 | 5Q8K8 888 556 | J7T53 747 557 | 99986 29 558 | 5JAA5 968 559 | 97A75 468 560 | A5A58 449 561 | 77455 44 562 | 88T8A 820 563 | 42732 455 564 | 6A66A 575 565 | 888KK 358 566 | TT966 780 567 | 2KKTT 150 568 | Q5J5Q 718 569 | 53J37 827 570 | A8J42 461 571 | K2863 548 572 | 9TT99 216 573 | 33343 802 574 | TTAAT 995 575 | K4T9J 786 576 | TKA39 785 577 | QQQQ3 766 578 | 97Q7Q 903 579 | QJQ57 821 580 | 92699 598 581 | 49273 529 582 | 2245J 731 583 | J7826 701 584 | 2K724 983 585 | 88KJK 769 586 | 55592 815 587 | QK72J 920 588 | 3QQ29 446 589 | ATTJT 650 590 | K93AA 303 591 | T63TT 507 592 | 93993 810 593 | 858J8 852 594 | 2T5K9 165 595 | 3TJ33 1 596 | 93JTK 683 597 | 999K9 672 598 | J6663 628 599 | 443T4 42 600 | QQKT7 407 601 | AA3AA 242 602 | K9223 624 603 | QAQTA 570 604 | 39TJ3 490 605 | 22332 54 606 | 82274 848 607 | 2549T 210 608 | K7J55 466 609 | JK3AT 285 610 | Q42AQ 50 611 | 2KQTK 730 612 | T5A8T 71 613 | 523JT 470 614 | 8T4AQ 433 615 | TT3A6 664 616 | 555Q5 793 617 | 62227 932 618 | TT8J2 777 619 | 5Q5TT 91 620 | 83A33 388 621 | 666J6 963 622 | 2J68Q 415 623 | 5TQ37 12 624 | J8428 246 625 | JT7T9 953 626 | 8K269 133 627 | 755Q7 530 628 | 8777A 962 629 | K55K5 394 630 | 84828 195 631 | 37246 679 632 | 6796K 724 633 | QAA2A 844 634 | AT47Q 951 635 | 57T5K 121 636 | 35T85 227 637 | 94TJ6 809 638 | 4J6J6 685 639 | J5545 138 640 | K653T 646 641 | T267Q 414 642 | JJ559 535 643 | 3K59K 25 644 | 5AA23 412 645 | AJAAK 465 646 | Q7Q77 595 647 | 9A99J 722 648 | 7QQQQ 3 649 | KTKKQ 536 650 | TTJJT 393 651 | T2K26 905 652 | 4AQ4Q 894 653 | 88885 740 654 | QAQ8Q 96 655 | AQQQA 516 656 | 78877 748 657 | 447AA 200 658 | 42JQQ 617 659 | 33J33 776 660 | 88787 155 661 | 2K688 734 662 | J5K53 886 663 | Q88QQ 850 664 | 266Q6 167 665 | 8QQ84 644 666 | TTTJK 610 667 | K4936 958 668 | 24K3A 698 669 | 55T55 697 670 | Q5353 146 671 | 339QQ 752 672 | 9Q584 84 673 | 2J822 497 674 | Q7T25 365 675 | 57JTQ 140 676 | A847T 458 677 | 82Q7T 80 678 | 97779 293 679 | 66K88 675 680 | 66446 633 681 | T6KTT 934 682 | 966J6 849 683 | 22T53 854 684 | 88AKK 514 685 | K5J58 305 686 | 88222 298 687 | 88K6J 526 688 | 528Q8 936 689 | A2A3A 208 690 | K49A9 191 691 | 4JJ47 319 692 | 5J858 108 693 | JA345 425 694 | 8T2Q6 715 695 | AA999 990 696 | Q96J9 879 697 | 84J44 742 698 | A3A3J 806 699 | AATA8 557 700 | AJ77A 504 701 | 36753 27 702 | 65686 66 703 | J76A9 279 704 | 3T63T 913 705 | 9ATJJ 568 706 | K64K4 580 707 | 8888K 668 708 | 6K9J6 134 709 | 23533 431 710 | 65656 705 711 | T3T43 979 712 | 79899 48 713 | QQQKK 795 714 | 7TA7T 709 715 | KQ627 409 716 | 66669 265 717 | K8732 404 718 | K6663 992 719 | QJQJQ 765 720 | 88383 855 721 | JT4TJ 944 722 | 26QQ6 874 723 | KK6KK 501 724 | 6K7K2 451 725 | 3TAK7 772 726 | TTJ55 328 727 | 6QJ66 424 728 | 56577 428 729 | 6T6T6 816 730 | J9J2T 375 731 | J66TT 923 732 | TK2JQ 602 733 | QT7T8 233 734 | QQ9Q9 381 735 | 447KK 959 736 | AJ6AA 107 737 | 679T5 895 738 | 2J559 533 739 | 9JKAQ 489 740 | 84Q92 521 741 | KQT83 884 742 | 66946 648 743 | 329KT 198 744 | 5588T 925 745 | TTTT5 99 746 | 637JT 218 747 | 9K4AJ 918 748 | 7JT5T 914 749 | 24966 513 750 | 76J3Q 13 751 | 74994 260 752 | QQQQ5 585 753 | 777TJ 112 754 | 24JJ2 286 755 | Q4Q77 88 756 | 9A559 626 757 | A63JK 987 758 | 7T776 719 759 | 24A34 618 760 | J2722 878 761 | T2TTT 327 762 | 664QK 904 763 | A5663 160 764 | J9Q65 187 765 | J333K 457 766 | 35355 476 767 | 55757 558 768 | T3A48 856 769 | QQ445 261 770 | 2JKK2 296 771 | Q74Q3 758 772 | 5KJ5K 353 773 | 22J24 651 774 | 99366 256 775 | Q7Q59 172 776 | AA9JJ 2 777 | 9999J 288 778 | 77779 313 779 | 394TA 247 780 | J55Q5 532 781 | TTTTK 384 782 | 68868 749 783 | 56TJT 389 784 | J555J 5 785 | T577J 304 786 | A7T96 290 787 | 7T99A 391 788 | K7KK7 621 789 | KQT72 483 790 | JAAA2 846 791 | 9QK26 710 792 | 23233 750 793 | T33T2 352 794 | 42444 351 795 | 4224J 841 796 | 574J5 31 797 | A744J 525 798 | 484KJ 371 799 | 44242 68 800 | 97J26 482 801 | KK882 153 802 | 32689 139 803 | 429AK 755 804 | Q5382 102 805 | 84Q88 487 806 | 5J645 622 807 | 99J34 361 808 | 759QA 581 809 | 88585 10 810 | 4JT94 338 811 | 75A44 14 812 | 5557J 363 813 | KK244 522 814 | 66636 277 815 | 799T9 509 816 | 37J93 142 817 | J6522 359 818 | 573KJ 98 819 | 63TA3 90 820 | QQQ8Q 825 821 | 549QQ 538 822 | 99T39 498 823 | AA37A 830 824 | JJ9JQ 211 825 | Q2T88 799 826 | JA58K 346 827 | 6TQ3T 297 828 | 85385 720 829 | A5AA6 123 830 | 75588 794 831 | Q7979 768 832 | 57KQQ 366 833 | 882J2 554 834 | T9K65 735 835 | 8T787 550 836 | T5JJT 615 837 | 22832 564 838 | 96JT9 859 839 | QT22J 716 840 | 8T6T6 335 841 | J2474 541 842 | AT8AQ 578 843 | Q7QQ4 573 844 | 56J7K 869 845 | 46477 109 846 | 68858 579 847 | 74J78 961 848 | A8A8Q 641 849 | 4AA44 662 850 | TTT56 791 851 | 94292 229 852 | AAJ87 703 853 | 4A6K6 901 854 | 487T2 656 855 | JK626 800 856 | 99996 998 857 | 84448 520 858 | 3QKT5 845 859 | QA4TA 517 860 | QQTTK 226 861 | K995K 596 862 | 77393 76 863 | 99JAA 437 864 | 79K59 205 865 | 9K22K 824 866 | 8389A 741 867 | 755TT 18 868 | 77757 970 869 | A2777 634 870 | J795Q 148 871 | 24425 690 872 | 7Q7Q3 81 873 | 5TT89 471 874 | 4Q223 243 875 | AAAK6 248 876 | Q6443 620 877 | 58668 478 878 | 5K26T 493 879 | 66J46 999 880 | 46348 745 881 | 62KTK 930 882 | JK377 893 883 | Q6K98 119 884 | 5T83K 542 885 | 77332 658 886 | 44K44 422 887 | K6K6J 606 888 | 75357 199 889 | 99946 980 890 | 89989 372 891 | 22J25 103 892 | 47J47 814 893 | K7K77 667 894 | 93883 670 895 | 2QTT2 135 896 | Q693K 753 897 | A5JT9 237 898 | 38KKJ 571 899 | 66AAT 254 900 | 36636 354 901 | 9AT3J 417 902 | 88899 212 903 | QQ3Q3 599 904 | J265J 100 905 | 55KAK 866 906 | 57Q2A 654 907 | 6T266 292 908 | 954J2 245 909 | 5TT65 671 910 | 3T693 21 911 | ATAT7 994 912 | K8777 51 913 | 5JQ92 808 914 | 95A75 343 915 | 42K6Q 813 916 | 4J4TK 880 917 | 77768 266 918 | 9J929 549 919 | 653J5 592 920 | AAQKQ 275 921 | 59956 877 922 | 5A2J6 317 923 | J9QT3 784 924 | QAQQQ 887 925 | KKK4K 301 926 | J777J 499 927 | QQQ6Q 910 928 | 88898 154 929 | 4Q553 151 930 | 88J98 189 931 | 95J66 161 932 | 87785 589 933 | 628J4 935 934 | 58Q67 362 935 | 55522 430 936 | 44555 817 937 | QT792 939 938 | 85754 158 939 | TKKKK 861 940 | AAKK3 966 941 | 56JT5 686 942 | 77776 181 943 | K5553 49 944 | 85855 508 945 | 64444 862 946 | 5TAQ8 739 947 | 97KK7 118 948 | 7J566 321 949 | 99944 505 950 | TQTTQ 463 951 | K4528 680 952 | 298K2 329 953 | 66656 691 954 | 55222 152 955 | 9QTTT 891 956 | 64KJ9 801 957 | Q7737 639 958 | 73533 57 959 | 55524 204 960 | 95999 322 961 | TA7QT 423 962 | AAAKA 829 963 | 66QJ7 55 964 | 77353 897 965 | 47A38 333 966 | 88A77 192 967 | 88T8Q 567 968 | 74A68 308 969 | 55556 811 970 | 9AJ6K 975 971 | QQQ4Q 239 972 | 37Q33 506 973 | 737AJ 915 974 | 222J9 420 975 | 7755K 562 976 | 4T7J4 93 977 | KJA84 168 978 | 66463 693 979 | KATTT 674 980 | KT555 295 981 | 8J459 206 982 | 28882 426 983 | Q27K9 73 984 | 53442 943 985 | 96678 553 986 | K34T2 309 987 | A555A 104 988 | A7AK2 764 989 | J8Q7Q 225 990 | TATT3 373 991 | 63T48 594 992 | 93933 759 993 | 6Q78K 145 994 | KA29A 823 995 | AAJAA 744 996 | 85A26 524 997 | 7777K 350 998 | T6363 826 999 | J333J 41 1000 | 55AA6 787 1001 | -------------------------------------------------------------------------------- /day3/input: -------------------------------------------------------------------------------- 1 | .....180.........230..........................218.....189......415.......................322....507..................206..............111... 2 | ........*.602.........571-.......................*...*.............199.....$.........181.......*......980....292............................ 3 | ..509.923.=....................+......835*......608.984..............-.801..922.156...*.........533.....$.......*678.......&................ 4 | ...*............273..........307..........393................@..........*.......*...231..................................106.339............ 5 | .906..............*.350..........................322...938..582.372....160...................411........197.........42.................$81.. 6 | ...............944.....*......473........80*..............#.....*............340.......107....*...........&..................893............ 7 | ...........937........32........./..12......199.......440......32.785..........*......*.....50......198......37.....710.......$..740.691+... 8 | ....304....*...870.......*787.........@..$......462.............................264....420........#..........*........*...........*......... 9 | ...&......395...*.....545...............539..............................491.......................318.=410...10.....16.....364..188.=891... 10 | ......../.....423.337......42....430........554................614.90.......*702....*587......$................................*............ 11 | ...269.267..........*......*.....*............*........%.930.....*......864......675........133...-.......707...318.908...629.776........... 12 | .....*......884......345...979..780..917.....942.....875........826......................*......28...254..&.......*...=..................... 13 | ...270...95*...........................*....................289...................307..431..............*.....%.........................611. 14 | .....................+.............890.970..+...........235......*...........@...............405.........817...242./991...........*......... 15 | ..............137...63....../......*.......478.255.739.....*.....584......399..367..........#....51........................403.908.175...... 16 | 761....582...=.............740..143.....*.........*.........722......151......*.........-.....................23......476....*.............. 17 | ....49...*............444.............537......*......791....................37...212...60.444....-728.+......*...778..*...31.....895.@534.. 18 | ......*...108....942....*......463...........39.616.........40.........*...........*........*...........446...........268........*.......... 19 | ..50#.625...........+..838........*.....................105*....250..409......+......425....101.914.............................876.+386.... 20 | ..............116..............848..111.......14..................&..........816.......*........*..........548...........*....@............. 21 | ................./........#........*.........@...58......................181..........792....565..750...........767....%..81..525......770.. 22 | 716......439.498...........942....719..................697@...............*.....&688...............*..421........&..847................&.... 23 | ...*261.....*.......*.................=..........................5.....800................-......471..%......753...............880.../...... 24 | .................289.715............832........120...=............&...........*126.........258..............*.........300.......*...909..... 25 | .676.........432................757.................309..............311...903..................422.......335..38......*.....521............ 26 | ..../..742...*..............#....*.......574..198.*......852..............................751...-.....531.......&.......849.........449..... 27 | ........*....116......../.839..712............*...402......*.....865.894.........964.................../..*........288...................... 28 | ......568........295.547....................471.........................*.......*........640*......457...193..599*....*.......137.......888. 29 | ..................@..........345.189...849.........181...........879.....339.730...32........734...*..............793.289....*....&....#.... 30 | ........%854....*.....*976......*........*.872....*.................%.............*......167.......2......................747......814...... 31 | .454............322.........*.........930........696..28........9.....................-..................890...17*.......................... 32 | ...........912.......133&...87.....*.................+.........*............412........473.....781.778.......................*801..676#.867. 33 | .605......*.....................685.345.......545.+.............636.....665*......................*...................19..933............... 34 | ....*..678.......844.881*.................667...*.940..52...................................336/..................51...@...........927.455.. 35 | .779..............*......221................/.657.......*..@1....220*....100.....=.................320..............=.................*..... 36 | ..........991......198........419.283..................414..................@..833...........334.....&...................567..235&.......... 37 | .............=................*...=..............944........188........61.......................%.........508..130...*.....*........*205.... 38 | .............................357.........$619......*....674*.....*262..&..479...912.421%..74.........261....#..*...68.708.795....695........ 39 | ....594....432........521.......................794...........636............*............*...................315........................568 40 | ...%..........*..909.....#..........................*...720........419..603*..256.........386..........150............149.-.........=....... 41 | ............492..*...172.........701...109-.176..641......&....235.$...........................915.......=..+636......*....643......515..... 42 | 484...695........857.$..../.......*...........+......2..........*.................@..383.........*.254................103......665.......... 43 | .........%..543..........20..@....113....102..........*884.............12.......685...-.........40..*......231............@.........*...219. 44 | .918.......@................633..........*...+901.......................%.................&.........145.................109...538...653.$... 45 | ......................668...............845..............=..................611...........30.............20.....166.............$........... 46 | ............627.........&........617..................179.............776.....-................&.....823*...98&....*.................203#... 47 | .575..........*.............338..............216.229...........-..304*...........*960..........876.................539...................... 48 | ......-284.655.....188......*....=.787..../....*....$.56.+....892.............792..........................-...........37.......546.993..... 49 | ...............134..=.....945..392....*...663..639........567.......298...277........665...........702......706.........*..........*.....328 50 | ...#..502..598..-..................611................................*......*...172*........607......#..................................... 51 | 425......*....*.....%677...260*214.............#....@759...............260.935...........247*...............779......430............=...84.. 52 | ......159...156.......................99.642...42.........825..+720..................&..........+27....@...@.........*........611...240..... 53 | .............................402..798*.../..............-...*.......218..........371..491...........314.......*372....601......*............ 54 | ..310.........+263.266...............................721...431.....*.........342....-.............+........211.................397......253. 55 | ......................*........60...................................83..........*..................435..........=........................... 56 | ............458@.......424........909....241......611..................109..934..476..356...571..............900..495.....57................ 57 | ...125...86........356..............=........................653=..402*........*......*....&........540..........*..............126......... 58 | ......*.%.......#...*..................82.227..713*868.36...............248...698.....399..............*.......276.564.820...69............. 59 | ....458.......294..58......890*1...44...@..................-.83....783....&.................*326..246.981............#...=.....*.........549 60 | ....................................*...............*...677...@..............538*463.....493........*......63.................63..930....... 61 | .......253.................$...916..549...974.......319.............................................451.....*.48..206..996...........*370... 62 | ...#..*...............655..15.*..............*616........................................................934....%.@.......+.../827.......... 63 | .292.699....*.....94...........782......492...............21*........+....182....................818........................................ 64 | ...........789................................812...759......394......870../....50*351...................690..........*..................... 65 | ...............361...141*467......923............*.$.......................................349......*....*.....780...621...619.............. 66 | ....11....920..*....................*..........34..............................987.....$....*......143..448.....+........................... 67 | ..............777.83....../.616....706...115............503...........................267.....229.................645.....488..839......%... 68 | ..........411...........801.#...........*.........298.......20*.......@587...930.................*770.....................@...-........989.. 69 | .....672+.............*...........887.307.....922*.............315..............$.........878*.........261.......317.............624........ 70 | ..........640......411.25...$981...................37...357..........#984..684@...............310......*...&.....*..................#....... 71 | ...........*............................/.%............%.......541.........................=.........812....67.902....956.....-.........824. 72 | 285*118.606....274.......272*956..498.825.244...754./.............*..717......./............798..........................*....841..999..=... 73 | ................../................*..............*.5............566...*....830..................286.........683/......967.........+........ 74 | ...........................=....761.............458.....125&............88..........217.411/.879*................................/...418.... 75 | 982......47..............167............*100..%...................%818...............*......................805&..%.....934...896.......*... 76 | .....987.....525...................@.911.......802............120...........808.......164................./........212.*...............720.. 77 | .....*.........%..730.5*330......47....................752....*......520/..../...............964.......166.............392.................. 78 | ....260...........*......................473....163.....*..875..........................760..................532.............*.....&827..... 79 | ...............211.......*........&..299..&..%....%.80.30........560.............326...........834*148..411......572......304.716........... 80 | 628........+.......119..7.854....936..*......128...........38.=....*.....281......&...............................*...................753... 81 | ....109..116......*..................98................269.=...327..910.....*823............773.....+..%237........411.....*803...175*...... 82 | .....*............727.............................................................109....*.....$.897....................................779. 83 | ...406.................#3.......%......454....109.........823.........................877.774.........298....+..........@..678.............. 84 | ............962............*.428........*....................*.........752..............................$.380.........687../.........963*649 85 | ......323...*.....+286..914........834....893..124...494......785.......*.....806.................179.............85........................ 86 | .......&...778./...................*.......*......*..%....866............500..&...327....970..........821.................+.863.......-663.. 87 | ..829..........626............569...164....197.401.......*..................................*.....784.../..224......117.22..*.....24........ 88 | .....*.994..............................................609.&467............870..............811...............$....*.......386............. 89 | ..207..*........816....................#..141......587...........*......218...+......536=......................337..927..85......194....802. 90 | ......846......%.....+...............336......................846.398.....*..........................144.................*.........*....+... 91 | .160..............258......517...943...........128......33..............151..272.......124../...427....*............648.451....242..498..... 92 | ......779.879................*.....*...%.........*........@...................*.........../.969....*..143............*............*......... 93 | .........*....354.417.......112.......409.........681........=....117.......241.$....#..........240........698.508.32....958*339.356........ 94 | ..915...........*........$...................194........48....600..*.............326.590.....................*.............................. 95 | .....*250..781.503.....94........+877........*......88.....69.......693....757........................61..362......@...871.@................ 96 | ..........................................349..405....*539.#....855.......*............+902.......898.*...........121...=..541......959..... 97 | ......541....712...927&.*370...339...............&..............*.......297........................+..571.881.......................*...260. 98 | .....*....#...........................392...........884.935..710............=......%./........................332.944.............575..*.... 99 | ..246....99............316..970...71..$.......606.......@........339...#..#..181.343.693.........542...729=........*..................357... 100 | ...............781....&.......#.....*.........../.................#..172.761......................*................360...93&................ 101 | 251.............*..................980....368-...............977@.................489............729....537..........................41..... 102 | .................235.....631........................+....=...................818.........755............/..................$855.....*....... 103 | .............*...................250....708.623..380...890...........51..........598........*..............557..........*.......1.656....360 104 | ..749.........368.............@....+......*......................660....862.866$...@./634.757..745........*.......209....652............*... 105 | .......379..#...............577........835.............312*913.....*......*.......................*......872..747........................168 106 | ........#....346.329.........................852.=9..............%.....972...-...............604..198.67...........711.............247@..... 107 | ..................*....&.........@5.....*....../........*467......839......159........&..941............-..........*........................ 108 | ....195.......711...509.....298@.......633.......936..=........*......990......903..833.*.....................&...72....=.....614........... 109 | 613....*.....*......................................*..236..594.......&..................851.............760.850.........980........*980.... 110 | ......9.....130......549...549...................895.......................=....................840.....@........................989........ 111 | ....................*..................750...842.....27.804..@............950.....682.....586../.............166..481.......461............. 112 | .......881.....189..954.....513...45..@......*...........*...279...438.............*.........+...........740....&...+........*.............. 113 | .568......@.............153...=...............690.......174.........../.............122..............867.=............451.906........324.... 114 | ...............&........*...&..........730........987.......................%.......................@.........*190...*...........672....%... 115 | ................109...183..493.841@.......*...984*.......................857....39....635*653..519.........144.......896.$.......*...$...... 116 | .........990...........................340..............+134...741...*...........%................=.....74................498....145..485... 117 | .../227....*.-.............990.............963.891..............=..553.....348.............965*.....$..*................#................... 118 | ........641...100..*.............866.........$..*.......451*531.........-...*...185............762...4..178..690%........481.$....589..@216. 119 | ....................65.164*697......*977.......96.......................184.514....*591......................................506....*....... 120 | ...........334..................773.................226..253.511............................761..........607.....*532....909.....415........ 121 | ..548..668....*843.....23.824%..*....71.....411......../..*....#......656....................@.......=...*....452.......*..............+.... 122 | .........@.=....................719.....804.*............653......................698....296.........613.29............749...........197.... 123 | ..705-......214....428#....633@...........*...................642....%986............*....*................................779...484........ 124 | ...................................228..........605...%237......*..................666..906.................296........736..%.....*......... 125 | .............593%.38...........129.*...............*...........474.....487.269@....................681.862....*.......@........517.......... 126 | ........539.......&..781.......*............895.876..336*794...........*............................*....*....621....................145.... 127 | ...815...*............$....484.54............*..........................953....564.......246.513...601...488......................&......... 128 | ...*......776................&............840.....................974.............*471......*...................250....*....106#.548........ 129 | 437..............@.............#979............752%.798......97....#......*726.....................990*155.778.....*.78..................... 130 | ................358.+706.....................*......*..................621..................&................-...757...................456.. 131 | .....132....................44.....368....637.......209..............................464.242.......376..................492....=439.....#... 132 | ......%...592........48*....-.....+......................897.799..108*...........432...&..............*472.261............@................. 133 | .........*.....$487.....471............236...944=..407......*.........337.........-...........................................270.....265... 134 | ....$.....988...........................*...........*.....................713..................910..680..297*549......518.....&...727*...... 135 | .....267.......634......202....../.....726.285..76...408..864.....377.....&................*..*........*.........289.*.....-................ 136 | ..............*..........*......782..........................@......*................460.172..768.......934......=....119.921..........$.... 137 | ........315.850......850.3..........322..439.....................784...........612.....*............................+.........310.813...819. 138 | .........*.............+.............*....*....457.......371.829.....215.......*......117...757...727$.....538......561.730..*.............. 139 | ......231......%....................604.725......*.=710.=.............*....974.329..............*.........*....747..........600............. 140 | ..............688...869.........15............222.....................366....................120.10....539........................934.97.... 141 | -------------------------------------------------------------------------------- /day9/input: -------------------------------------------------------------------------------- 1 | -1 -3 -3 6 51 200 589 1453 3159 6239 11421 19656 32139 50322 75917 110887 157423 217905 294845 390810 508323 2 | 17 31 45 59 73 87 101 115 129 143 157 171 185 199 213 227 241 255 269 283 297 3 | 1 15 42 97 219 479 997 1980 3789 7041 12757 22588 39217 67234 115332 202040 370273 722263 1498412 3245087 7152983 4 | -4 -9 -3 39 161 434 975 1982 3785 6905 12100 20357 32760 50124 72232 96444 115362 113131 59831 -96733 -442709 5 | 11 18 19 10 -13 -54 -117 -206 -325 -478 -669 -902 -1181 -1510 -1893 -2334 -2837 -3406 -4045 -4758 -5549 6 | 11 22 43 77 138 261 512 998 1877 3368 5761 9427 14828 22527 33198 47636 66767 91658 123527 163753 213886 7 | 17 22 26 29 31 32 32 31 29 26 22 17 11 4 -4 -13 -23 -34 -46 -59 -73 8 | 3 -2 -10 -28 -57 -68 34 452 1532 3770 7766 14110 23228 35335 50949 73200 115081 219218 507346 1296240 3354429 9 | 12 30 74 172 366 719 1345 2480 4623 8809 17148 33895 67529 134640 266881 522869 1007750 1904216 3520118 6359502 11225952 10 | 26 49 77 109 144 185 264 504 1242 3250 8109 18814 40716 82940 160456 297023 529274 912263 1526853 2489387 3964152 11 | -1 6 27 85 214 453 840 1416 2254 3533 5682 9624 17155 31498 58077 105561 187233 322744 540317 879471 1394340 12 | 2 12 28 50 78 112 152 198 250 308 372 442 518 600 688 782 882 988 1100 1218 1342 13 | 17 23 36 74 178 427 974 2117 4417 8887 17317 32889 61415 113905 211990 399546 767887 1510569 3041952 6250086 13024998 14 | 15 28 57 106 178 281 448 781 1534 3258 7036 14842 30102 58727 111485 210121 403181 805016 1686411 3673570 8163302 15 | 17 32 50 69 87 102 112 115 109 92 62 17 -45 -126 -228 -353 -503 -680 -886 -1123 -1393 16 | 21 38 66 111 188 339 659 1327 2639 5040 9152 15795 25998 40997 62217 91235 129721 179354 241710 318119 409488 17 | 13 12 7 -7 -35 -82 -153 -253 -387 -560 -777 -1043 -1363 -1742 -2185 -2697 -3283 -3948 -4697 -5535 -6467 18 | -3 -8 -18 -35 -45 -1 211 842 2408 5900 13101 27035 52572 97211 172060 293028 482239 769672 1195024 1809785 2679505 19 | 14 25 39 56 83 144 292 623 1299 2609 5143 10243 21068 44942 98266 216346 472268 1011769 2115335 4305034 8522513 20 | 11 26 51 91 145 214 327 601 1356 3311 7892 17700 37255 74342 142839 269248 508226 979187 1950442 4026928 8556410 21 | 8 -1 -5 5 48 170 482 1237 2967 6716 14458 29925 60358 120232 238926 475782 948238 1881993 3696785 7147713 13550552 22 | 15 21 22 33 93 288 784 1866 3979 7767 14106 24127 39225 61050 91476 132544 186375 255049 340446 444045 566677 23 | -7 -4 6 19 42 119 367 1032 2581 5859 12379 24904 48655 93770 180077 345887 663541 1266374 2395840 4486425 8324732 24 | 14 31 46 57 73 117 223 421 694 890 607 -824 -3907 -7338 -3694 30134 152150 491297 1311836 3124051 6868873 25 | 22 38 55 70 80 82 73 50 10 -50 -133 -242 -380 -550 -755 -998 -1282 -1610 -1985 -2410 -2888 26 | 8 15 37 99 251 588 1272 2568 4933 9231 17182 32180 60624 113903 211235 383939 683078 1196179 2087683 3696857 6764433 27 | 8 14 22 28 22 -1 -15 76 484 1580 3920 8236 15370 26125 41003 59796 80992 100954 112826 105116 59902 28 | 15 24 33 42 51 60 69 78 87 96 105 114 123 132 141 150 159 168 177 186 195 29 | 2 17 41 75 135 264 544 1108 2152 3947 6851 11321 17925 27354 40434 58138 81598 112117 151181 200471 261875 30 | 14 20 33 52 71 75 32 -121 -499 -1291 -2765 -5226 -8894 -13688 -18960 -23341 -25064 -23446 -22675 -39696 -118863 31 | 15 20 30 66 158 355 752 1537 3061 5934 11150 20244 35484 60101 98560 156875 242971 367096 542286 784886 1115130 32 | -1 15 61 160 350 690 1269 2235 3871 6753 12027 21839 39960 72708 130457 230460 402575 701011 1227721 2176962 3916314 33 | 26 44 68 112 201 380 742 1491 3062 6338 13044 26481 52937 104485 204678 400318 785786 1552636 3088196 6165526 12296977 34 | 19 39 71 127 239 480 993 2031 4031 7789 14895 28780 57132 117274 247775 532835 1152206 2481069 5286017 11103904 22966726 35 | 10 9 16 51 147 363 821 1776 3734 7645 15225 29524 56005 104751 195256 367214 705106 1393721 2840590 5937453 12599023 36 | 17 24 32 40 43 28 -29 -165 -431 -892 -1626 -2722 -4277 -6392 -9167 -12695 -17055 -22304 -28468 -35532 -43429 37 | 13 28 55 96 164 290 538 1037 2044 4060 8027 15633 29739 54912 97996 168574 279063 444036 678175 992022 1384406 38 | 23 37 58 101 196 402 828 1677 3354 6714 13582 27772 56987 116217 233582 459998 884569 1658203 3028570 5390095 9353110 39 | 15 34 68 130 239 424 737 1275 2211 3834 6598 11180 18547 30032 47419 73037 109863 161634 232968 329494 457991 40 | 10 25 56 121 260 542 1082 2073 3828 6811 11612 18782 28383 39038 46261 40110 3170 -87659 -246764 -433665 -437374 41 | 2 -1 -9 -16 -11 21 104 301 808 2191 5920 15479 38521 90807 203033 432124 879174 1716951 3230781 5877690 10369933 42 | 1 14 51 122 249 473 857 1485 2457 3880 5855 8460 11729 15627 20021 24647 29073 32658 34507 33422 27849 43 | 9 30 60 104 176 313 611 1309 2974 6886 15802 35426 77202 163627 338423 686076 1369195 2699014 5265848 10174832 19461160 44 | 11 31 77 175 372 744 1404 2510 4273 6965 10927 16577 24418 35046 49158 67560 91175 121051 158369 204451 260768 45 | 1 13 31 55 85 121 163 211 265 325 391 463 541 625 715 811 913 1021 1135 1255 1381 46 | -3 -7 -15 -28 -44 -49 9 272 1059 2997 7205 15540 30914 57691 102173 173184 282761 446961 686793 1029284 1508688 47 | 28 44 69 107 153 195 232 319 659 1779 4853 12271 28600 62142 127366 248577 465286 839862 1468181 2494139 4129067 48 | 11 32 76 161 318 608 1155 2210 4282 8418 16800 33968 69189 140788 283653 561637 1087221 2051588 3769204 6742123 11750544 49 | 9 11 14 30 84 214 471 919 1635 2709 4244 6356 9174 12840 17509 23349 30541 39279 49770 62234 76904 50 | 4 16 44 98 194 363 666 1214 2191 3878 6682 11191 18309 29579 47882 78811 133166 231204 409512 731656 1304100 51 | 7 15 37 92 212 455 929 1830 3504 6553 12024 21763 39120 70448 128458 239902 463065 926575 1912447 4026810 8537152 52 | 13 18 26 47 115 309 794 1895 4217 8824 17490 33035 59759 103987 174738 284531 450341 694718 1047082 1545207 2236907 53 | 7 5 19 63 154 316 591 1072 1982 3832 7700 15682 31575 61861 117070 213609 376153 640703 1058425 1700393 2663368 54 | 26 55 99 168 291 533 1021 1977 3751 6839 11854 19389 29680 41989 53806 60594 58424 55463 105557 390742 1403433 55 | -1 14 50 114 229 453 906 1809 3539 6711 12334 22187 39770 72581 137210 270169 550218 1143634 2395101 5008646 10404490 56 | 26 46 78 122 180 264 419 779 1690 3967 9412 21825 48923 105916 222159 453765 908374 1795600 3532170 6961816 13809018 57 | -3 -8 -8 7 47 122 242 417 657 972 1372 1867 2467 3182 4022 4997 6117 7392 8832 10447 12247 58 | 11 21 33 55 120 303 738 1642 3375 6610 12767 24992 50148 102542 210452 426953 847083 1634051 3057981 5551621 9788536 59 | 8 8 10 14 19 22 17 -6 -62 -172 -364 -674 -1147 -1838 -2813 -4150 -5940 -8288 -11314 -15154 -19961 60 | 10 30 73 157 318 618 1166 2162 3976 7281 13271 24012 42996 75995 132344 226819 382318 633600 1032389 1654207 2607362 61 | 2 18 43 77 131 237 456 890 1730 3421 7106 15647 35761 82239 185969 408749 869906 1792856 3584349 6965725 13184631 62 | 12 37 69 101 136 203 371 770 1647 3521 7567 16483 36341 80423 177018 384937 823525 1728701 3553434 7140003 14001061 63 | 20 31 55 113 229 441 836 1620 3241 6601 13424 26891 52712 100889 188559 344544 616666 1083651 1874757 3202413 5416551 64 | 13 38 80 156 306 605 1191 2323 4498 8697 16906 33177 65659 130229 256549 497481 942651 1736308 3098084 5342262 8885920 65 | 25 43 66 110 212 451 996 2205 4812 10259 21259 42721 83249 157599 290880 526225 939736 1670768 2983713 5391769 9896915 66 | 10 34 72 133 232 385 614 974 1614 2884 5500 10779 20956 39595 72106 126380 213554 348918 552976 852673 1282800 67 | 7 17 24 40 100 270 655 1407 2733 4903 8258 13218 20290 30076 43281 60721 83331 112173 148444 193484 248784 68 | 7 11 21 55 156 402 916 1876 3525 6181 10247 16221 24706 36420 52206 73042 100051 134511 177865 231731 297912 69 | 2 0 4 31 110 287 628 1216 2138 3458 5172 7141 8998 10025 8996 3982 -7886 -30700 -70108 -133701 -231458 70 | -1 10 38 96 211 448 947 1973 3979 7682 14152 24914 42063 68392 107533 164111 243911 354058 503210 701764 962075 71 | 4 14 52 144 330 674 1286 2371 4342 8082 15542 31056 64091 134703 283849 592078 1212244 2425122 4731692 9003116 16720052 72 | 19 39 80 160 322 656 1325 2594 4870 8779 15350 26476 46021 82296 153205 296246 586837 1170231 2314708 4496920 8534364 73 | -5 -13 -22 -17 31 179 543 1346 2978 6058 11483 20444 34384 54868 83330 120657 166565 218717 271528 314597 330701 74 | 12 19 33 66 137 272 504 873 1426 2217 3307 4764 6663 9086 12122 15867 20424 25903 32421 40102 49077 75 | -4 -9 -24 -52 -91 -120 -71 221 1107 3294 8196 18679 40608 85913 178351 363794 727766 1424137 2720416 5067030 9200399 76 | 2 11 41 107 224 407 671 1031 1502 2099 2837 3731 4796 6047 7499 9167 11066 13211 15617 18299 21272 77 | 11 17 20 15 -3 -39 -98 -185 -305 -463 -664 -913 -1215 -1575 -1998 -2489 -3053 -3695 -4420 -5233 -6139 78 | 23 36 58 102 190 353 631 1073 1737 2690 4008 5776 8088 11047 14765 19363 24971 31728 39782 49290 60418 79 | 21 46 80 119 166 247 438 915 2048 4571 9882 20589 41590 82411 162547 323802 658368 1371037 2913013 6261452 13487443 80 | 15 18 28 52 101 209 477 1153 2765 6346 13845 28927 58549 115975 226270 435788 827723 1546386 2833442 5079798 8897053 81 | 6 0 -10 -28 -63 -117 -161 -92 344 1700 5132 13031 30304 66886 142544 295934 601537 1201039 2360569 4572565 8731070 82 | 13 21 32 65 155 353 721 1333 2305 3886 6648 11816 21779 40820 76097 138898 246181 422395 701560 1129563 1766603 83 | 10 1 -12 -29 -50 -75 -104 -137 -174 -215 -260 -309 -362 -419 -480 -545 -614 -687 -764 -845 -930 84 | 3 8 14 32 91 244 586 1299 2739 5580 11030 21134 39179 70216 121714 204361 333027 527904 815838 1231868 1820987 85 | 8 8 14 42 124 325 782 1776 3864 8139 16769 34115 68982 138996 278904 556160 1100320 2159190 4207598 8160318 15790908 86 | 9 2 -15 -43 -73 -69 58 497 1645 4365 10559 24336 54242 117352 246643 504222 1005132 1960479 3756216 7098314 13282104 87 | 3 7 11 28 81 203 437 836 1463 2391 3703 5492 7861 10923 14801 19628 25547 32711 41283 51436 63353 88 | 28 42 55 77 137 289 615 1234 2336 4270 7725 14053 25793 47465 86713 155886 274156 470282 786139 1281141 2037697 89 | 12 36 72 120 180 252 336 432 540 660 792 936 1092 1260 1440 1632 1836 2052 2280 2520 2772 90 | -4 -7 -6 11 57 142 269 430 602 743 788 645 191 -732 -2321 -4816 -8504 -13723 -20866 -30385 -42795 91 | 4 16 39 82 165 333 688 1447 3034 6214 12277 23280 42355 74091 124998 204061 323392 498988 751603 1107742 1600785 92 | 6 18 47 104 200 346 553 832 1194 1650 2211 2888 3692 4634 5725 6976 8398 10002 11799 13800 16016 93 | 11 23 60 141 296 571 1035 1798 3059 5217 9107 16501 31220 61692 126848 269392 584659 1281199 2803918 6077237 12972824 94 | 8 24 54 99 155 213 259 274 234 110 -132 -531 -1131 -1981 -3135 -4652 -6596 -9036 -12046 -15705 -20097 95 | 10 17 29 41 43 23 -26 -99 -178 -245 -319 -529 -1237 -3227 -7978 -18041 -37542 -72835 -133331 -232531 -389293 96 | 4 15 27 38 46 49 45 32 8 -29 -81 -150 -238 -347 -479 -636 -820 -1033 -1277 -1554 -1866 97 | 15 14 9 1 4 54 218 604 1370 2728 4938 8293 13127 19978 30308 48833 89939 193489 460439 1127038 2708540 98 | 23 26 28 40 84 208 524 1279 2978 6613 14124 29339 59843 120598 240862 477371 939401 1836040 3563940 6866566 13115574 99 | 5 23 50 86 142 246 449 831 1507 2633 4412 7100 11012 16528 24099 34253 47601 64843 86774 114290 148394 100 | 18 30 55 98 162 252 382 585 926 1518 2541 4264 7070 11484 18204 28135 42426 62510 90147 127470 177034 101 | 9 19 29 45 83 177 400 907 2014 4338 9038 18217 35589 67657 126090 233193 435299 835450 1670308 3482785 7491073 102 | -8 4 26 59 114 213 387 671 1096 1678 2404 3215 3986 4503 4437 3315 488 -4904 -13970 -28109 -49054 103 | 24 46 71 94 110 114 101 66 4 -90 -221 -394 -614 -886 -1215 -1606 -2064 -2594 -3201 -3890 -4666 104 | 14 23 41 88 196 414 823 1578 3019 5935 12138 25632 54879 117014 245398 502686 1002700 1945919 3675423 6762760 12136558 105 | -1 -3 -8 -16 -26 -25 37 306 1154 3448 9097 22178 51287 114445 249174 532695 1121385 2326075 4752942 9562832 18941724 106 | 24 44 86 157 264 419 654 1057 1844 3491 6965 14120 28389 56084 109112 211179 412519 824609 1699279 3601094 7765553 107 | 2 5 11 17 32 95 297 816 2001 4594 10273 22867 50909 112798 246987 531706 1122380 2320995 4701423 9329781 18141414 108 | 22 31 40 45 46 56 120 349 969 2391 5339 11143 22423 44557 88519 175836 346440 669907 1259714 2288325 3997612 109 | 21 46 92 178 349 705 1442 2911 5713 10866 20109 36456 65194 115666 204478 361433 641051 1146218 2079084 3853658 7346377 110 | 16 18 28 69 177 408 853 1675 3200 6131 12026 24319 50429 106019 223471 468565 972936 1996360 4044216 8084497 15939745 111 | 22 42 82 146 247 418 734 1374 2777 5991 13394 30103 66613 143582 300330 609835 1205364 2328444 4416506 8264224 15319951 112 | 12 17 18 22 46 125 330 792 1738 3566 7018 13564 26216 51206 101378 202896 408144 819735 1633666 3214242 6219914 113 | 21 41 75 138 258 476 846 1435 2323 3603 5381 7776 10920 14958 20048 26361 34081 43405 54543 67718 83166 114 | 17 40 76 121 163 193 241 450 1215 3438 8989 21526 47924 100702 202021 390050 728745 1322328 2335942 4024027 6767821 115 | 20 36 58 97 177 334 617 1104 1953 3517 6569 12714 25116 49745 97458 187375 352202 646394 1158348 2028175 3473027 116 | 19 19 28 62 148 341 749 1566 3113 5887 10618 18334 30434 48769 75731 114350 168399 242507 342280 474430 646912 117 | 17 25 48 95 189 387 809 1675 3354 6447 11960 21676 38910 69931 126463 229836 417551 753253 1341376 2348037 4030115 118 | 3 2 4 14 46 140 395 1030 2493 5648 12082 24588 47896 89742 162385 284704 485031 804902 1303936 2066082 3207506 119 | 2 5 8 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 59 62 120 | 14 29 56 105 197 370 698 1329 2556 4951 9616 18637 35867 68212 127650 234277 420746 738545 1266648 2123169 3480753 121 | 20 43 88 176 347 680 1322 2526 4698 8453 14680 24616 39929 62810 96074 143270 208800 298047 417512 574960 779575 122 | 19 27 35 43 51 59 67 75 83 91 99 107 115 123 131 139 147 155 163 171 179 123 | 14 20 22 20 14 4 -10 -28 -50 -76 -106 -140 -178 -220 -266 -316 -370 -428 -490 -556 -626 124 | 2 13 36 84 190 410 818 1503 2592 4337 7318 12828 23520 44410 84344 158051 288918 512637 881888 1472236 2389434 125 | 23 32 40 47 53 58 62 65 67 68 68 67 65 62 58 53 47 40 32 23 13 126 | 6 -1 -11 -27 -57 -114 -216 -386 -652 -1047 -1609 -2381 -3411 -4752 -6462 -8604 -11246 -14461 -18327 -22927 -28349 127 | -2 3 11 22 38 63 103 166 262 403 603 878 1246 1727 2343 3118 4078 5251 6667 8358 10358 128 | 21 42 77 142 261 466 814 1444 2713 5472 11570 24710 51850 105522 207924 398826 752010 1410653 2663676 5108209 9988532 129 | 15 27 55 113 217 387 648 1030 1567 2295 3249 4459 5945 7711 9738 11976 14335 16675 18795 20421 21193 130 | -1 -4 3 25 74 190 486 1225 2939 6604 13899 27636 52626 97674 180308 337685 650730 1295535 2649174 5501050 11463057 131 | 8 15 16 9 -2 14 153 641 1946 4977 11459 24688 51127 103862 210125 427584 879270 1827593 3829180 8054089 16932910 132 | 10 26 56 108 203 384 726 1345 2401 4092 6666 10572 17083 30138 60904 137892 327797 776319 1785361 3955449 8443968 133 | 18 37 71 141 293 611 1229 2342 4216 7197 11719 18311 27603 40331 57341 79592 108158 144229 189111 244225 311105 134 | 27 52 85 118 151 213 388 850 1918 4153 8552 16981 33176 64988 129129 260579 530141 1075498 2153663 4226064 8091829 135 | 1 0 9 41 126 332 792 1737 3535 6736 12123 20769 34100 53964 82706 123249 179181 254848 355453 487161 657210 136 | 17 28 53 121 287 655 1418 2920 5745 10838 19663 34403 58207 95489 152284 236666 359233 533664 777353 1112125 1565039 137 | 11 11 24 67 180 439 966 1938 3609 6395 11144 19836 37153 73663 151863 317246 658408 1344048 2692505 5304602 10318455 138 | 5 0 -11 -23 -17 48 245 700 1640 3493 7079 13953 26994 51381 96161 176698 318399 562246 972825 1649737 2743505 139 | 22 48 94 169 293 505 871 1492 2512 4126 6588 10219 15415 22655 32509 45646 62842 84988 113098 148317 191929 140 | 16 40 76 124 201 364 741 1580 3350 6974 14358 29533 61008 126452 261784 538507 1096286 2203386 4367442 8536184 16457365 141 | -2 -6 -1 38 154 425 1000 2169 4491 9021 17709 34098 64531 120196 220500 398475 709188 1242460 2141603 3630366 6050848 142 | 25 37 49 66 101 194 458 1165 2885 6691 14443 29164 55521 100424 173756 289247 465505 727217 1106533 1644646 2393581 143 | 14 32 59 85 110 174 406 1098 2827 6687 14776 31246 64517 131744 267391 538910 1074172 2107606 4055161 7632447 14036016 144 | 2 12 29 56 108 219 443 846 1486 2375 3409 4237 4016 964 -8425 -30703 -77606 -169386 -339835 -643642 -1166892 145 | 20 22 34 70 144 270 462 734 1100 1574 2170 2902 3784 4830 6054 7470 9092 10934 13010 15334 17920 146 | 15 36 63 87 105 125 179 361 909 2357 5802 13372 29071 60385 121501 239971 470579 923855 1823834 3624037 7240347 147 | 20 48 100 199 379 697 1273 2384 4649 9353 18969 37948 73858 138964 252352 442711 751898 1239422 1987994 3110301 4757173 148 | 21 36 65 116 199 337 587 1070 2009 3774 6933 12308 21035 34627 55039 84734 126749 184760 263145 367044 502415 149 | 4 23 60 128 249 454 783 1285 2018 3049 4454 6318 8735 11808 15649 20379 26128 33035 41248 50924 62229 150 | 1 11 34 69 111 152 187 221 273 374 557 853 1395 3037 9727 35840 125933 403123 1179753 3198518 8140105 151 | 2 9 20 29 33 37 66 199 647 1904 5007 11948 26288 54030 104815 193512 342280 583187 961478 1539591 2402027 152 | -4 -13 -11 28 152 453 1101 2403 4912 9623 18305 34030 61972 110561 193089 329877 551124 900571 1440125 2255600 3463744 153 | 11 12 14 10 -13 -79 -235 -576 -1282 -2650 -5066 -8765 -12997 -13726 1975 68465 267913 783402 2002900 4720048 10520939 154 | 16 22 38 81 188 433 948 1948 3760 6856 11890 19739 31548 48779 73264 107262 153520 215338 296638 402037 536924 155 | 11 23 50 91 147 240 447 967 2254 5264 11879 25586 52504 102867 193086 348528 607165 1024261 1678280 2678213 4172537 156 | 16 32 57 88 132 214 385 730 1376 2500 4337 7188 11428 17514 25993 37510 52816 72776 98377 130736 171108 157 | 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 158 | 26 36 43 55 92 194 439 991 2216 4922 10791 23074 47624 94387 179647 329785 588297 1029631 1786430 3101472 5422579 159 | 7 10 16 36 85 182 350 616 1011 1570 2332 3340 4641 6286 8330 10832 13855 17466 21736 26740 32557 160 | 1 10 24 50 108 236 501 1028 2079 4258 9002 19664 43738 97183 212489 453289 940269 1896334 3724132 7137066 13377112 161 | 12 12 10 -1 -33 -89 -128 -2 642 2502 6810 15577 31901 60345 107392 181984 296152 465744 711258 1058787 1541083 162 | 12 11 18 46 109 213 346 484 644 1024 2266 5858 14665 33578 70354 136986 252532 449441 787298 1380894 2454013 163 | 5 10 21 51 134 341 802 1734 3475 6524 11587 19629 31932 50159 76424 113368 164241 232990 324353 443959 598434 164 | 7 17 43 100 204 373 628 999 1558 2528 4547 9189 19860 43226 91490 186364 367045 708091 1361139 2651210 5291384 165 | 6 10 25 60 117 185 229 172 -132 -929 -2572 -5428 -9527 -13670 -13536 1910 56714 198328 513971 1155396 2375181 166 | 11 22 39 79 184 434 965 1991 3826 6914 11923 20070 34051 60292 113759 227318 468677 969334 1971767 3903409 7488834 167 | 9 2 8 42 119 254 462 758 1157 1674 2324 3122 4083 5222 6554 8094 9857 11858 14112 16634 19439 168 | 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 169 | -5 5 31 87 208 458 953 1920 3814 7519 14674 28199 53157 98184 177858 316568 554693 958217 1633297 2747775 4562190 170 | -1 -2 2 31 123 341 783 1597 3003 5324 9028 14783 23527 36555 55625 83085 122023 176442 251462 353551 490787 171 | 23 45 78 133 230 403 710 1253 2217 3935 6979 12283 21388 37216 66643 128144 272031 629329 1521800 3696473 8804246 172 | 19 27 32 35 44 80 183 416 863 1617 2755 4298 6159 8113 9958 12504 21420 59683 203477 677255 2088887 173 | -5 -9 -13 -17 -21 -25 -29 -33 -37 -41 -45 -49 -53 -57 -61 -65 -69 -73 -77 -81 -85 174 | 11 23 48 99 193 346 573 908 1477 2689 5652 12964 30059 67286 142841 286529 544071 981251 1686576 2770249 4356077 175 | 20 31 45 62 82 105 131 160 192 227 265 306 350 397 447 500 556 615 677 742 810 176 | 17 38 72 117 167 211 241 275 405 887 2290 5714 13104 27825 56139 111454 225920 479315 1065071 2430630 5558488 177 | 8 7 11 28 68 151 319 661 1386 3031 6986 16673 39948 93633 211603 458733 954644 1914327 3718689 7039014 13058612 178 | 1 18 57 139 314 682 1420 2815 5303 9514 16323 26907 42808 66002 98974 144799 207229 290786 400861 543819 727110 179 | 15 22 37 77 187 459 1066 2332 4881 9952 20042 40149 80023 157955 306636 581265 1068919 1895445 3220722 5204077 7909209 180 | 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 181 | 2 5 25 79 199 439 882 1647 2896 4841 7751 11959 17869 25963 36808 51063 69486 92941 122405 158975 203875 182 | 26 47 92 182 343 616 1083 1925 3549 6867 13908 29133 62164 133241 283799 596529 1232972 2503665 4999047 9834027 19104471 183 | 13 18 26 37 51 68 88 111 137 166 198 233 271 312 356 403 453 506 562 621 683 184 | 13 25 60 141 311 635 1208 2175 3777 6458 11098 19479 35167 65156 122966 234567 449733 863511 1655808 3162145 5996007 185 | -8 2 25 59 103 159 234 342 506 760 1151 1741 2609 3853 5592 7968 11148 15326 20725 27599 36235 186 | 5 18 43 82 146 264 492 922 1691 2990 5073 8266 12976 19700 29034 41682 58465 80330 108359 143778 187966 187 | 23 35 47 59 71 83 95 107 119 131 143 155 167 179 191 203 215 227 239 251 263 188 | 9 26 65 139 268 497 929 1778 3447 6636 12485 22757 40066 68155 112229 179348 278885 423054 627513 912047 1301336 189 | 25 36 47 58 69 80 91 102 113 124 135 146 157 168 179 190 201 212 223 234 245 190 | -6 3 35 97 187 295 423 637 1164 2547 5871 13073 27349 53671 99427 175197 295678 480771 756843 1158177 1728623 191 | 2 9 16 23 30 37 44 51 58 65 72 79 86 93 100 107 114 121 128 135 142 192 | 7 20 35 54 87 165 371 902 2176 5006 10890 22519 44681 85820 160557 293432 523889 911972 1543161 2529040 3997791 193 | 8 11 26 73 191 451 983 2044 4182 8593 17826 37071 76383 154391 304412 584664 1095960 2013947 3650778 6577105 11866651 194 | 12 28 59 105 166 242 333 439 560 696 847 1013 1194 1390 1601 1827 2068 2324 2595 2881 3182 195 | -5 -6 6 48 142 313 586 981 1505 2140 2826 3438 3756 3427 1918 -1541 -8025 -18994 -36386 -62724 -101238 196 | -5 -2 7 22 43 70 103 142 187 238 295 358 427 502 583 670 763 862 967 1078 1195 197 | 14 36 66 114 213 441 961 2083 4352 8666 16428 29736 51615 86295 139539 219025 334786 499712 730118 1046382 1473657 198 | 15 27 37 48 76 176 480 1240 2874 6032 11732 21660 38792 68636 121788 219617 407827 789696 1606507 3425449 7559690 199 | 13 17 13 -3 -40 -102 -164 -123 310 1846 6098 16480 39771 88673 185787 369538 702699 1284295 2265811 3872783 6433018 200 | 3 8 16 23 24 22 50 207 716 2044 5199 12460 29039 66579 150052 330664 708953 1474532 2971982 5806213 11004922 201 | -------------------------------------------------------------------------------- /day15/input: -------------------------------------------------------------------------------- 1 | vjmbhd=6,ttj=1,rsl=7,jqq-,jdq=5,dgm-,nfbdm=2,bk-,sn=9,lzd-,ckq-,cn=3,mnmc=5,kqpd=2,lbj-,cv-,svsb-,mccqr=6,mccqr=8,vbl-,gg=5,hbkq=3,rr=8,nsksl=2,hgscd=1,hcz-,ff-,lc=5,kgt=4,hxh-,hbz=9,dp-,tz-,rsl=8,mvm=3,xl=9,hqzdc=7,hsx-,tvc-,vkz=7,nx-,pzzxcq-,lphv-,rcjm-,cnl=3,mtm-,fhg=8,lpx-,hp=6,nvbr=1,cc=8,gdm-,gvctn-,rsd=6,kdc-,vtzd=2,thkk-,dt=1,zmb=1,mkr=7,qm-,zvsrxd-,sh-,hmms-,xv=2,vgshgp=5,plg=3,xz-,zq=3,jcsvx-,qv=4,nnxjbr-,vzdp-,zq-,ctf-,rfg=5,zmxz=9,hbm-,jcsvx-,pgl=1,kj=4,pcdk=5,zjr-,rsbn=4,qbrs-,jnj-,txk-,tq-,zx-,rhj-,gj=4,bgr-,vnx=9,rsl-,mbf-,vqsm=2,kddl-,ddh=3,bqb-,lsskds=8,jrs-,bvfsm-,bhg-,ck-,kt-,fqcs=2,cmlnnq-,jd-,rsd-,mn=8,xh=4,jxnh=7,stk-,qsl-,qgncfg=2,bd=2,qr=1,tnnvq=9,sq=4,dx-,bk-,vnfs-,blbqx=5,ckq-,txk-,xvng-,kdg-,llc=4,ktcxx=3,xvng=1,gc=9,gj=8,djt=7,vg=9,ttgbm-,jrs-,lsskds-,lpx=7,zjh-,fv=8,rhj-,bgr-,rlh=3,frjh=8,sklxf=7,gvc-,nqxp=8,qbrs=5,nnnrz-,gff=5,hfg-,jtn=5,mghbj=3,cj=2,kdc-,jkz=2,fj=5,kxp-,kxpk=3,tcx-,bgr=5,gg=1,dl-,sjx-,njx-,ds-,tnms=4,bvnd=9,qbn-,thn=5,qvq=8,vpc-,kltj-,bp-,nvzfn=4,zzl-,rlm-,fl=3,kpv-,cs=2,zzd-,rlm-,nn=3,kc-,xcjh=7,jtn=4,dz-,llc=9,drv-,dbpf=2,dx-,zmdjh=4,svsb=3,dhr=2,fd-,plg=8,mlzrsd-,thz-,jkjchf=7,dmnfh=5,sjbp-,gvc=3,ctf=7,xzrd=1,lxccq-,dxbl=5,zsp=4,jll=4,grc=4,pb=6,sdts-,zb-,ds-,jqqks-,rngf-,fqlk-,zkq=3,xmjzpg-,bvnd=5,pj=8,qd-,pfb-,hf-,tq=1,vpc=1,smprjm-,zsp-,hs-,fv=9,mkt-,xqs=8,mpvj-,ttm=6,znk-,mc-,vjlq=5,zp-,hv-,sn-,xkmkv-,gqkj=1,mf-,hhxx=4,qdjh-,ckt-,dbz-,zjr=4,txfx-,lzd=6,hqzdc-,bbf-,hxh=1,mkr=3,xjld-,xkv=6,rlm-,svh=1,qx=2,vvz=1,hq=6,vkz=1,nnxjbr=1,srt=4,vvz=3,thn-,vpp=8,gsk-,dlv-,pvc=7,pr-,dtc-,hff=8,txcs-,xd-,ghpdj=2,bx-,jtx=7,rqj=3,hs=4,rgvz-,qb-,pr-,lc=8,txfx-,bbzlt=2,fmzfnz=5,zn=6,cc-,jv-,znk-,sklxf=7,ckjs=2,rsl=5,jlf-,fp-,pz-,pbml-,jqq=6,fm-,shmcr-,kltj-,svh-,bq=8,djt-,ktcxx-,btj-,qhdmn=7,zvsrxd-,xs=4,sq-,szv-,hbm=3,zp=1,mlzrsd=5,qb-,rd-,zpd=7,zp-,bbhq-,vh-,fhg-,hgscd=6,zfvgf-,hx=1,fl-,dlv=8,jhq-,cpt-,nqp-,thtspg=7,fvl-,tp-,tcqktr=1,bbf=6,db=8,cl-,lh=9,rx=8,fd=6,bd-,jzpc=8,bxlh=5,ckjs=3,dqg=4,bbxk=6,ncdl-,xkv-,vfk-,cc=9,ds=6,dgkb-,fsdk-,fvv-,mq-,mmk-,vgk-,cj=8,gl-,bdg=9,msq-,mnrd=9,kxpk=3,bvnd=7,jnj-,jqqks-,kxpk-,vfk-,jb-,ft-,qsl-,mkv=9,djg=8,gdm-,bvfsm=6,nh-,srt-,pzzxcq-,svk-,tvhxj-,dt=6,kpv-,tqgx=9,bd-,kqf=4,rfz=8,nqp=6,dlc-,qp-,cn=3,hrr-,zsj-,cvsj-,lphv-,fvl=9,vd=6,zcb-,cnl=9,lphv=7,tt-,bxlh=5,hp=7,zjr-,jfvnl-,xzrd-,qdl=5,spp-,sjz-,gl=8,fvl=7,vjmbhd-,zp-,ccx=4,jv-,jrz-,kr-,skg-,vx=4,vkz=1,dgq=2,zrz-,dhr=9,ttgbm=7,gdctzq-,gdm=9,zh=4,fqlk=7,ll=7,ngb-,jbr-,nvbr-,zcb=3,bqf-,zfvgf=3,lvrj-,pbml=2,mnmc-,fl=7,rt-,nrmxt-,zzl=9,rt-,rngp=7,rsbn-,bf-,lpx-,sgnr=7,dmnfh-,vjlq=6,vlq=9,ln-,mnmc=1,tbftpm-,rj-,mq-,jrs=6,bvfsm-,bbzlt-,ntvm-,ll=6,cq-,ttj-,vm-,lh-,qbrs=1,vx=7,qr=2,nqp-,rnsr=1,hfg=5,jtrdrs=1,pzzxcq-,zxt-,hcz-,nxd-,tcx=3,rlh-,hfx=7,hg-,bbhq-,qx=6,bxlh=8,plg=7,xz=7,sx-,jzh-,ttj=1,vzdp=3,fp=4,pfb=1,trst=9,rhj=9,bvfsm=3,lg=9,plg-,pqt=1,hq=8,zjh-,rsl-,kmsq-,fd-,gj=5,kls-,ff=1,cs=6,gg=2,zfvgf=9,ttj=6,dz-,kls=4,qb=5,qsk=9,lvrj-,vqsm=1,hq-,vbl-,dgm-,hff-,vkz-,gdctzq-,hmms=4,fd-,sqd=1,ljsb-,rgv-,ttgbm=5,sjz=4,vs=3,qspp=5,rfg-,vzdp-,nvzfn=4,jrs=4,gdm-,tcnbp-,smprjm-,xcjh=4,hx=4,kls-,vkz=7,rj-,hlvq=7,vx=8,znk-,zmb-,xbtvx=7,mf=9,jtb=3,vl=7,ckq-,fqcs-,lc-,tbmrt-,mdm-,ckt-,jbr=4,jb-,pcdk-,zxt-,tggs-,thtspg-,fsdk-,cxv-,zb-,rsbn=9,hbm-,xk=8,tbmrt-,pb-,kddl=6,txcs-,hp=3,rj=7,nvdk=8,rx-,vlq-,lg-,vbl=9,pb=5,zm=6,vmtd-,dbvvl-,lpx-,jsv=7,hcl-,pntl-,nk-,blbqx-,qbrs-,jxnh-,vnpj=6,rf=9,zl-,xvng-,hq=3,vzdp=2,vnfs-,nnxjbr-,ffv-,znk-,jzh=7,hcl-,qx=6,ljhrv=2,jkjchf-,lzd=4,nfl-,kgv-,nk=8,xm-,zxt-,fl-,tp=8,pr=6,znk=9,thn-,plg=5,dnt=7,mcn=7,hrr=4,sxnxdv-,jzh=6,ncdl-,frjh=1,plcf=9,nxd=3,txcs-,cs-,mkr=3,lkst-,djg-,bk-,lkst-,fqcs=4,lbj-,qgncfg-,grc-,mmp=8,lpx=4,qsk-,jlf-,jv=8,kmsq-,jr=3,fd=9,hf-,svh=4,xzf=2,pcdk=8,lvrj-,xh-,sjz-,lknhl-,dqg=9,hgllzn=2,jlf-,trd-,vb=5,ssjxpn=3,kjlxvl-,cmlnnq=6,sdts=4,qr=9,thn-,hl-,bgr=2,mbf=2,pbml-,cnl-,dmnfh=9,xv=4,xh-,bvztj=3,kmsq=6,rc-,vvz=7,sm-,mcs-,ffv-,dt-,bk=5,hfx=5,hs-,xkmkv=6,pzzxcq-,mghbj=1,svsb=6,nnnrz=4,hrj-,vzdp-,nftb=6,xs=5,bvp=5,dx=9,nfl-,pqt=7,hgx-,kp=3,jkz-,bbhq=7,bgr=5,qbrs=7,bd=5,kpv-,klsstz=1,pz=8,znk=9,hqzdc-,vpc=6,qr-,tbmrt=3,klsstz-,ckt-,jrs=3,cl=4,cnl=9,qx=5,tnnvq-,vjlq-,khn-,zb-,zfvgf-,hs=2,gg=2,bfnsp-,xk-,xh=8,fsl-,tv=7,pgl-,nfbdm=3,tggs=2,jg-,rsbgl-,sx-,lsskds=2,kgd-,hxh-,kltj=7,kqf=5,nx-,dl-,kdc-,pr=7,gdpkz=5,ljhrv-,hrj-,nvzfn=4,jqq-,snqf-,dgq=6,jkjchf=8,bzj=8,kf-,sdts-,gdm=2,jd=6,lkst=9,qtk-,mmp=8,sgnr-,pr-,bfnsp-,cfq=6,rngb=4,tvc-,xb-,ssdcf=3,xjcz-,hp-,zrz=9,ntvm=4,xjcz-,kgv=7,rgv=9,xvng=1,jfvnl-,nfbdm=6,xbtvx=9,hrj=5,zmb-,pqt=9,srt-,ktcxx-,xm-,cn=6,xz=2,lzd-,jtb=2,jg-,nnnrz-,pz-,jzpc-,djt=4,dx=8,xvgrf=2,jnh=3,zx-,tz=2,shmcr=2,brs=3,xv-,qxrc-,svg-,kx-,nrmxt=4,ntvm=2,dmnfh-,jrz-,qsk-,dlc=5,lkst=1,rgvz-,jmnk-,zm=7,kp=1,jnh-,hmlzdn-,pvth=1,qdjh-,bd-,kddl=4,cfq-,hgllzn-,bk-,svsb=2,xvng=2,shmcr=7,kt-,pzzxcq=7,kx=4,jmnk-,jlf=9,tvc-,vvz-,cv=9,vm=9,zc=9,hbkq=6,qx-,jnh=3,qx=2,xd=1,lphv=4,vkz-,jcsvx=4,nqp=7,gtxdt=9,qd-,fhg=9,zlj=6,kc-,hbqxt=1,ds-,shmcr-,xk=1,gl=5,vh=7,xjcz-,mnrd-,zfvgf-,gvtd=4,gsk=5,qspp-,kf-,pzdbc-,hgscd=2,ttm-,vx=3,fmzfnz=8,xmjzpg-,rngp-,ctf=3,lgn=5,np-,fqcs-,fz=1,vnfs-,cc-,vzdp=3,gl=2,vh=9,tcqktr=8,tbmrt=7,zq=9,fmzfnz=7,mlzrsd=4,vzdp-,qp-,nqxp-,fsl-,jzf=6,zvh-,fsdk=1,xvqxmh-,lzd=1,lh=4,nvzfn-,bq-,xjs=5,jkz=5,nn-,fsl=6,tlr=2,tq=5,jhq=6,cpt-,dz=4,sn-,rsl-,jmnk-,ddh=4,rx=3,xkc=9,kltj-,gdm-,qx-,qtc-,mmk-,vk=5,pcdk-,fq=6,pb-,tf-,tcqktr=3,ht-,mdm-,jxrrs=3,nsqp=8,tcnbp-,gdm-,rlm=5,hmlzdn=4,bfnsp-,hlvq=5,dl-,zcb=1,gl-,sq-,mgv=4,cmlnnq-,nqp-,qdjh-,ngb=1,mgv=7,bvnd=8,sjx=1,vs=5,hv-,fj=2,rdnp=7,ddh=3,xv-,jv-,xvqxmh-,sz=5,qspp=1,qvq-,hmms=6,fsdk-,rngf-,jqqks=8,kgv=7,qgncfg=6,gvc=6,mc-,rgvz-,jqq-,xzf-,znsz-,qnbh-,hgx-,qr-,bhg=8,rsl-,fp-,ktcxx=5,gvctn=8,zlj=3,ttj-,mcn=1,kxp-,mgv-,xbtvx-,ssdcf=2,lpt=6,fd=5,hhx=7,txk-,nrmxt-,ttm=7,tp-,fz-,mz=2,xvgrf=8,ttgbm=3,rf-,lphv-,zmxz=6,ccx=2,txfx-,zl=3,rt=2,lpt=5,lphv=3,zmxz=5,xvng-,qdjh=3,jhq=8,jd=8,jkjchf=8,jb=9,xdd=5,dbpf-,xb-,mtm-,pbml-,sjx=7,ll-,tf-,kxpk=7,dhr=2,ckjs-,rnsr=2,mtm=7,lsskds-,vzdp-,gm-,qs=6,jnh-,lg-,lbj-,bvztj=8,lh=6,jd-,qm=5,xvqxmh=5,lphv-,nvzfn-,ckjs-,dlv=6,rngb-,ntvm-,rsbn-,fmzfnz=9,xr-,jtn=8,znsz=3,qxrc-,gdctzq-,vfk-,kdg-,jj=3,zsp-,cfq=7,hbkq=3,hx=1,mmk=9,dbz-,kxp=8,gtxdt-,ljsb-,zsp-,cd-,zsp-,kqf=2,tlr-,rgvz=3,mc=7,vm=4,bjff-,xmjzpg=5,ntvm=6,bq-,jlf=5,nvbr-,qgncfg=4,qbn=6,fk=3,hgllzn=1,zdc=3,jtb-,jnh-,jtb=3,ffv=4,dxbl-,hqzdc=3,kc=5,lgn=4,hsx=4,hbm=5,ngb-,szv-,sk=3,lzd-,dgkb-,qvq=8,hgllzn-,jxnh-,jc-,kmsq-,xvgrf=6,nsqp-,rnsr=6,rcjm-,kx=6,jtb=3,lpt-,fmzfnz-,qxrc-,xjs=4,hcz-,hbqxt-,zsp=2,jj-,tqgx-,rt-,ngjc=6,dk=2,rr-,zc=5,skg-,hv-,ttj=5,nh=6,kmsq=3,hcl=6,gff=6,dxbl=2,cpt=9,trst=9,tglv-,xjld-,rd=8,xkv=3,qbrs=2,nvdk-,xdd-,rngb=2,bvnd=8,fjh-,skg-,vtzd-,gvctn=1,thz=8,kr=4,qdjh=9,zh-,sklxf-,lsskds=8,hmlzdn-,mbf-,snqf=6,sjx-,mmp-,dgt-,jqq-,rsbgl=8,bbxk-,gsk=8,ck-,xvgrf-,rngf=6,hxh=8,kgd-,bbxk=8,kxpk-,zpd=4,dlv=1,vd-,zp=9,hmms=6,sdts-,jtn-,nh=8,jxnh=1,rngf=2,mcn-,dlv-,jzf-,hfx=4,thtspg=9,vvz-,cs-,tcx-,xmjzpg-,ghpdj-,xl=6,qqj-,qs-,kp-,khn-,zsp=9,fsl=5,jsv=7,jdq=9,xv=4,zmbc-,nf-,lknhl-,kgd-,lkst-,qs-,mc=4,ft=7,shmcr-,xvqxmh=4,bx=3,vg-,lbj=2,bvztj=2,ckt-,szrqm-,xmjzpg-,kpv=1,xz=5,dbvvl=1,bfnsp-,fqlk-,frjh=5,cj-,jc-,rsbn=4,bk-,dnt=8,dxbl=6,nqxp=7,jqq-,gc-,hcl-,dqg-,lh=3,hsx=4,cxv=4,lknhl-,rzjl=2,mtm=5,tf=8,kdc-,bdg-,fd-,vnfs-,qb-,njx=7,mghbj=5,zjh-,zm=2,mdm-,txfx=8,nknc=1,sqd=2,gtxdt=7,kgd=8,hhx=7,ll=2,qr-,hhx=5,szv=5,brs=1,svg=3,cc=4,spp=1,rqj-,hs-,hv-,bbhq=5,dgm-,sgnr=3,sh-,bp=9,mtm=5,spp-,hcl-,pbml=6,nx=1,sk-,ckq-,nqs-,ff-,pntl-,xvgrf=2,fmzfnz=6,hqzdc=8,mmk-,pzzxcq=8,gdpkz=5,ghpdj-,xkc-,bqb-,qtk-,tcqktr-,cv-,zp-,bvnd-,mtm-,xz=1,jj=7,zzl-,djt=9,hgscd-,cpt=9,ht-,jfvnl=8,szv=7,kdc=6,pvth-,drv=2,mb-,nrmxt-,rsd-,mmk-,nnnrz-,jb=9,pj=1,rx=8,rd=2,ds=2,rnsr-,cslsk-,zjr-,djt=2,kddl-,kpv=9,pzdbc-,glbl=4,cn-,ckt-,dxbl=6,qnbh-,nftb-,ncdl=1,xm-,zlj-,bhg=2,tsrjk-,lfvf-,tcx-,nvzfn=1,hmg-,jrs=3,khn-,vmtd-,ssdcf=6,cl=1,rfg-,zx-,ljhrv-,bxlh-,hq-,klsstz-,rsl=9,svh-,nsqp-,svfst=4,hrt=9,zh=1,qhdmn-,kmsq=1,xh=7,dlc=1,ncdl-,bfnsp-,lc=5,tt-,qx-,vnx=6,rhj-,fsdk-,tglv=4,vtzd-,rlh-,hl=3,lc-,mbf-,gvtd-,sh-,bzj-,dgq-,fk=1,lzd-,fsdk-,qqj-,dgkb=7,xk-,qhdmn-,cj=2,fvl-,bf=2,rqj=3,mghbj=2,vjlq=6,mpvj=8,kt=2,bbzlt-,frjh=1,hcl=5,vzdp-,lphv-,db=7,cg=2,mf=5,fd-,hbkq-,rlh-,cq-,mgv=2,jrs-,sqd=7,qvq-,gl=3,rf=7,ljhrv=2,jkz-,zb-,lq=8,fq-,kqf=4,zkq=5,sq=4,rf=8,dz-,tq=7,cslsk=3,xr-,lsskds-,ccx=4,hbz-,rh-,thkk-,ncdl-,ngjc-,tf=9,xb=4,bf=6,plk=2,thz-,jb=1,dz=7,cslsk=9,rj-,zfvgf=8,rh-,dp-,vh=7,ckjs-,pvc=1,qsl=1,ld=5,gtxdt=9,sq=9,dz=5,skg=3,cvsj-,vd=2,qxrc-,vgshgp=4,xbtvx=7,hfg-,jq-,zh=4,chd=6,jxnh-,hrj-,hcl=2,dqg-,xs-,zkq=3,vbl=4,xdd-,vk=4,dx-,fjh-,zcb-,gvtd-,sklxf=8,fsl=8,nfl-,vnx-,bzj-,mz=1,shmcr=3,gg=5,qtc=7,kddl-,bvfsm=8,hg-,rr=3,zx=4,hgscd=1,gc-,qp-,jqq-,mnmc-,xzf-,szrqm-,chd=3,jb=8,mc=5,fj=3,bqf-,xr=6,qsl-,fvv=2,dp=7,tv-,dz=7,zp=5,fz-,tbftpm-,hf=4,kqf=3,rsbn=7,txfx=4,mcs-,pz-,vkz=7,tnnvq=9,njx-,zdc=8,gdctzq-,bvp=8,kr=1,kdg-,rcjm-,drf-,zlj-,ll=8,rqj-,kj=1,bzj-,dtc=5,pzzxcq=3,jlr-,nxd-,jtx-,ffv-,plg-,gj-,jkz=2,jj=3,vx-,rx-,hlvq=1,rlh=5,jb-,zlj=9,qxrc=2,vnx=7,qhdmn=1,gtxdt=1,hf=9,pvth-,hmlzdn=3,smprjm-,xjcz-,vnfs=2,sz=4,qtc-,ztx=6,jtn-,nknc=4,vg-,jmnk-,hsx=5,stk-,hmg-,tcx-,plg-,vkz-,zxt=2,sqd-,bqb-,zvh=6,rngb=4,gqkj-,spp=1,rsbn-,jvr=4,qr-,jc-,kqpd=3,cl-,pcdk-,rzjl=1,khn-,zjh=7,btj=4,ck=4,nfbdm-,hl-,ds-,gdm=5,znk-,blbqx=6,zxt=5,zm-,ztx=7,gtxdt-,pgl-,rgvz-,qnbh=1,gqkj-,bxlh-,zb=9,mpqp=7,hhxx=3,nqxp-,kj-,qdl=6,frjh-,hp=7,hcz-,tp-,kpv=7,hgp=7,llc-,gqkj=2,qd=5,hfx-,tnnvq-,zvsrxd=6,ctf=1,xjs=2,cxv=2,kpv=5,zdc=6,vnfs=4,zzd-,jg-,rlm-,rt-,xv-,cfq-,bqb-,lgn=6,xz-,bbxk-,vs=1,zcb-,nh=5,fk=1,bfnsp=7,rsbn=1,rsl-,lpt=3,btj-,sh-,bx=4,xbtvx-,dl-,pvc-,hhxx-,vkz=5,jkjchf-,gtmh=2,zq=2,kxpk=1,xb=3,mkt=6,tksf=9,dbvvl=6,qm-,zh-,txfx-,mmp=1,mpqp=9,np=9,bhhn=5,gc-,klsstz-,vnfs-,ll-,zm-,bqb=9,blbqx=9,xqs=5,kxp-,nn=5,fqcs-,ssdcf-,ttm-,thtspg-,zjr-,rgvz-,vvz-,hg-,nsqp-,vnx-,ffv=4,fnztg-,bvnd=1,qm=5,ssjxpn=3,xdd-,hbkq=8,rzjl-,qd-,cnl-,jq=1,ld-,rfg-,sjbp-,rcjm=2,fl-,dlv-,vnpj=6,gc-,nf-,bbxk=2,nknc-,nrmxt=3,zlj-,rfg=1,qvq=7,svk-,xkmkv=3,rf-,jbr=2,cd=8,tggs=1,bvp=3,xdd=9,bbxk-,vg-,ttgbm-,xzf=3,rfg-,sjbp=6,np-,vs-,xh-,mtm-,jtx=2,rlm=4,cs-,qdjh=5,zzd=8,stk-,tglv=8,qd-,hgllzn-,pvth-,frjh=5,xcjh=9,zb-,svg=3,hlvq-,dk-,xh-,dgkb=1,xcjh-,pb=2,sh=6,btj-,msq-,jc-,zjr=6,skg=9,jqq=5,kqpd-,nn=2,dt-,rx-,thn-,mq-,lfvf-,cmlnnq=7,sz=3,fqlk=1,tq=7,drv=1,xcjh=9,plg=7,pfb-,hbqxt=6,nnnrz=2,zq=7,qhdmn-,qsk-,kpv=9,nvdk-,jtn-,lh-,drf-,fsdk=9,cq=9,grc=6,vbl-,zmbc-,lzd=9,vvz-,svk=4,lgn-,kgv-,sklxf-,ccx-,mnmc-,rc-,jhq=5,xrzx-,rqj=4,sq-,vnfs=1,qtc-,llc=3,glbl-,jlr=3,plg=6,kqf=1,nk-,qd-,vpp=5,rhj-,hbz=1,tv=7,dp=9,hfx=6,vk=3,bbzlt=6,qxrc-,mpvj=1,dxbl-,zmb=4,ccx=5,qr=3,jsv-,sjbp=7,sm=8,qvq-,tz=1,tggs-,bbf-,jj-,tv=4,rj-,bzj-,rngp-,dgm-,jg=2,tq=2,ttj=9,kr=5,jlf=5,jlf=3,gg=7,frjh-,rc=2,sm-,bxlh=1,shmcr=2,btj-,cnl=9,drv=7,jq=6,bvnd-,bfnsp=2,jr-,mghbj-,bvfsm-,hbkq=5,ckjs=4,cq=3,dgq-,ntvm=7,tp=8,vk-,lgn=1,gqkj-,gtxdt-,mkv=6,qnbh-,jtn-,bf=7,bbhq=7,jzpc=6,ddh=5,hhxx=7,bgr=2,qtk=7,dmnfh=8,vjmbhd=8,jtn=5,jvr-,tcnbp=2,lsskds-,blbqx=2,nfbdm-,ttj-,qnbh=7,tggs-,nf=2,jtn-,kp-,xd-,vfk-,ljsb-,pqt=8,qsl=2,hq-,sqd-,lpt-,nqs=7,ssjxpn-,fqlk-,cv=1,bjff-,lc-,dt-,zvh=3,tlr-,gvc-,sdts=7,zfvgf=1,hgllzn=5,thtspg=8,tqgx-,rgvz=6,tksf-,hgllzn=2,tbmrt-,zq-,pbml-,hx=5,tcnbp=8,vs-,bd=3,bvp-,bfnsp=6,ddh-,jc=5,xrzx-,zzd=9,hbqxt-,mkr-,xl-,tz=7,svk=9,rfz=4,hff=8,lphv=2,gc-,jhq-,hff=8,zfvgf=2,lq-,mgv=1,hs=3,tggs-,zsp-,fqlk=3,hbz-,lbj-,bzj=7,tz=7,jzf=3,nsksl=9,dlc-,svsb-,hp-,fsdk-,khn-,rh=6,hs-,gtmh-,jfvnl-,jcc=7,nqp=3,hgp=7,szrqm-,txcs-,nqp=4,fvl-,xk-,pvth=1,ntvm-,jlf=5,kgt-,xkv=6,cc=2,szv-,tsrjk=4,cnl=3,mghbj-,fqcs-,fd=1,nnxjbr-,ttm-,tqgx-,fnztg-,mq=1,rhj-,tnms=9,zn-,szv-,vx-,jzpc=2,znk=8,zzl-,hgscd-,rsbgl-,dx=2,pb-,szv-,qm=6,mbf=6,kf-,nx=2,rd=9,sx-,nnxjbr-,thtspg-,vb=8,rsl-,fp-,ttj-,mdm=6,srt-,zjh=7,bd-,vjmbhd-,nvdk-,rsl=8,mcs-,jv-,jc=1,dgt=3,ncdl=4,qxrc-,fm-,cd-,jnj-,hx=1,gc-,sdts-,tsrjk=8,rfz=4,kc=8,lknhl=2,rzjl=6,vl=8,qms-,trd=6,ttj-,cxv-,fk=8,bd-,kr-,gdpkz=4,tv=2,sdts-,mn=5,rx-,mnmc-,np=6,qsk=2,hcz=7,kxp-,zsp-,zrz-,cs-,lsskds-,mpqp=7,cq=9,xv-,xz-,dxbl-,fqcs=5,xb-,gvc=6,pz-,nsqp=9,zkq=1,vtzd-,jll=7,db=4,ljsb-,hfx=5,pbml-,nx=8,hcl=4,ckjs-,ddh-,jtrdrs-,qsl=6,gvtd=8,qp=9,zjh-,mlzrsd-,gff-,kddl-,jzh-,nsqp=9,spp=1,vh-,fj-,fk=5,mdm-,hp=3,nftb=8,zl=7,zp-,zkq-,qnbh=5,fj-,bxlh=3,nsksl=6,ttj-,mkv-,vjlq-,nsksl=9,plcf=2,zvh-,bgr=2,bdg=9,nknc-,sjz=3,pb=5,vg=2,jd=7,np-,mq-,vmtd-,fsl=6,hp=7,nf-,lsskds=6,nvdk-,jll-,qs=4,fnztg-,zl=6,bhg-,vtzd=6,sjz-,rlm-,qvq=3,kmsq=2,qvq-,jfvnl-,ll-,gsk-,jhq=9,zp-,rf-,zsj-,vl-,rt=9,jkz=4,svg=9,zkq-,lh-,jrz-,vgshgp-,stk=2,gvc-,lknhl=8,vgshgp-,xkv-,ckq=9,qx=6,ffv=2,vlq-,ff-,qtk=8,qvq=4,dbvvl=9,rzjl-,hgp-,vzdp=4,pgl=9,ssdcf-,srt=4,pcdk=8,plcf-,nnxjbr=6,rt=1,qtc=5,bvfsm=1,bvfsm-,ck-,rqj=8,tlr-,cq=3,szv=2,tglv=2,pvth-,gqkj=2,mcn=9,smprjm-,tcnbp-,cmlnnq=7,ld-,kj=6,dhr=5,xkv-,xkv=3,kj=7,nsksl=5,tnms-,ld-,rfz=9,chd-,tnnvq=8,rc-,jg=7,jcsvx=3,svk=4,zx=1,ld-,rsbgl=3,dx-,qgncfg=3,nh=8,bvztj=3,kgd=4,szv=1,rfg-,fp=9,qx=4,svsb-,sz-,fqlk=2,dgkb-,kmsq=8,skg-,xjcz=7,xjcz-,qtk=6,xk-,spp-,vs=3,nk=7,fmzfnz-,xkc=9,hfx-,hfg=1,vg-,hhxx=2,vgk-,hmms=1,bx-,bhg-,sqd=2,bvp-,rf=3,zzl=7,nf-,tbmrt-,hlvq=8,vk-,bzj-,fqcs-,thz=7,zxt-,fv-,mghbj-,rzjl-,zrz-,xb=9,lgn-,kddl-,jqq-,rlh-,cj-,sjbp=4,svfst-,mf-,zmdjh-,lxccq=8,frjh-,qqj-,dk-,bvp-,bbzlt-,nqxp-,mkv=6,kls=8,dbvvl=9,rj-,skg=2,jnj-,jlr=2,ttj=2,mpqp-,xjs=7,stk-,mtm=2,kr=1,vx-,pj-,kxp=9,xkc-,np=5,jd-,bp=7,rd-,vvz=5,kls-,qdl-,nqp-,svfst-,lxccq=9,ngb=3,qdl=7,nvdk-,tz-,jcsvx-,pr-,ctf-,bhg=7,kltj-,vjlq=4,mdm-,plg-,chd-,ld=4,mz-,xbtvx-,ckq-,jvr-,zc-,plcf-,dl=4,kddl=6,kt=1,xjcz=4,tnms-,hq-,xs-,ztx=6,ttj-,kjlxvl-,tbftpm=2,ddh-,mq-,vfk=1,rfg-,ph=1,sjz-,xjs=1,dlv=7,jtx=4,xl=7,vk-,xzf-,dbz-,qnbh-,dlv=5,ncdl=7,qvq=8,nn-,zzl-,rgv=3,thz-,fv-,rcjm=8,bvztj=3,zxt=8,ngjc=5,sx-,xl-,sm=5,kp=6,zmb=3,ht-,fqlk-,zkq=6,hcz-,nk-,kp=6,vh-,ztf-,qdl=9,vd-,mdm=6,nvbr-,qs-,mf=3,jtn-,vjmbhd-,lsskds-,gdm-,kxp-,jks=2,hq-,jvl=3,pcdk-,rngf=5,kt=8,vpc-,kj-,kgt=2,chd-,sq-,xz-,bp-,xzrd=9,zvsrxd=5,chd=3,qbn=9,dbvvl=1,jbr-,vx=6,xcjh-,rhj=5,trst-,bxlh=1,zl-,bf-,glbl-,zmxz=3,bbzlt=6,rlr-,xcjh=3,dk=7,jnj-,gj-,vvz=9,zn-,dmnfh=5,mx=4,jc-,plcf=3,hcl=3,fl-,xz=2,ns=1,gc-,nvzfn-,vjlq=4,vpc=6,hp-,tbftpm=1,vlq-,tggs-,xqs-,rlh-,vgk-,jqq=5,pzzxcq=4,ttgbm-,fqlk-,kmsq-,ph=8,xqs-,gtmh-,txcs-,rh=8,rfg=3,jb=6,bhhn-,hhxx-,sqd-,jhq=3,lgn=4,grc-,dgm-,xcjh-,zcb-,qx=2,tglv=8,msq=9,fsdk-,pcdk-,zl-,cn=6,np=2,spp-,ncdl-,hrr-,sdts-,dnt-,cnl=2,rgv=3,zpd-,ztf-,jb-,hgllzn-,rngf-,kc=1,bp=5,sm-,rngp-,ds-,ncdl=2,tv=8,rlr-,rlr=4,xkv=9,vnx-,rfg=8,mq=9,rnsr=5,bhg-,jqq-,xzrd=9,dmnfh-,cl-,rngb=8,kdg=2,bbf-,xzrd=5,jzpc-,hq-,rh-,hx-,qms-,nfbdm-,kp-,tnms=4,tbmrt-,kmsq-,ccx=1,mtm-,sq-,lc-,dp-,qbrs=9,bbf=2,nh=2,cmlnnq-,jxnh=6,mpvj=5,gtmh-,jb=3,bd=7,jg=1,sdts-,vgk=6,fsdk-,zsj-,lh-,nsksl-,rfg-,jhq-,jll-,sz=6,jc=3,pvth-,nvbr-,xl-,nqp-,rdnp=9,vjlq-,nftb-,jtrdrs-,nqxp-,jrz=9,sm-,bqb=2,txcs=7,qb=4,nsksl=7,cc-,pbml=3,jlr=3,rf-,rngf-,kdc-,nfbdm=6,zh-,dbz=3,ktcxx-,lg=2,xkc-,lc=1,qsl-,cfq=9,xzf-,dmnfh=1,ssdcf=4,tcqktr=2,xkv-,rj-,ld=8,ns-,cxv-,bbxk=7,bvfsm=1,tp-,zp=1,rfz=4,fj=6,zbnm=6,dlc=2,hrt=9,zlj=7,rlh=5,njx-,lbj=9,nftb=4,rc-,pgl-,bvztj-,jlr-,mtm=4,nxd=4,rqj=2,kjlxvl-,hrt-,bbzlt=1,mz=1,fqcs-,jmnk=8,glbl=7,zxt-,pj=6,zrz=9,zvsrxd=2,tljv-,ds=8,sk-,zfvgf-,dx-,txk-,mnmc-,jnj-,ck=2,bxlh-,ds=1,hrr=2,ht=4,tvc-,rsl-,mnrd-,zvsrxd-,tf=2,znsz=3,ztx=4,mkv-,mkv=5,cmlnnq=5,brs-,njx-,zmxz=3,cc-,svh-,txk-,jq-,jrs-,thkk=2,nknc-,ttgbm=2,zsp-,qbrs=1,nfbdm=9,gj=2,brs-,dbpf-,bx-,mb-,svk=5,bp-,rf=4,qv=8,rhj-,mtm-,pbml=3,mcs-,xjs=7,btj=8,dlv=6,khn=5,szrqm-,jg-,xqs-,tglv-,pz-,zzd-,hfg-,hff-,kdc-,vg-,rsbn=6,jtx-,xvqxmh=6,gm=6,kgd=2,zmbc-,pvc=6,kmsq=9,trd-,jzpc-,fvl=6,hsx=8,vx=3,jlf-,drf=2,hff=9,qdl-,rzjl=6,ctf-,rfz=5,jkz-,hcl-,zkq-,xs-,jd=8,btj-,gff=4,jkjchf-,hp=9,rlh-,vd=1,zx-,nfbdm-,cxv=1,ssjxpn-,dgkb-,db=1,hgx-,rsbgl=5,szrqm-,lpx=9,fv=1,jfvnl=9,kjlxvl=3,mtm=9,nsqp=7,brs=7,vpc=1,rt=9,mz-,bx=5,cnl=6,vpp=5,kr-,mkr=7,vx=8,tsrjk-,bhhn=4,qdjh=7,kgd-,cmlnnq-,sqd=1,rngp-,pntl=2,dz-,zmdjh=1,vjmbhd-,rhj=7,vbl=8,pz=7,tnnvq-,ttgbm=1,ckjs-,cv-,djg-,kpv=6,zmbc=2,zp=7,rlm=3,mvm=9,xjs=7,kdc=3,mghbj=1,lknhl-,fhg-,brs-,cxv-,jkjchf=6,dmnfh=2,jnj=8,xdd=8,kjlxvl-,mx=4,zkq=6,kp=4,vgk-,nh-,jzh-,dnt-,jzf=1,nnnrz-,rsbn=3,lkst=3,jtn=8,nxd-,nqs=9,zdc-,trd=3,dbvvl=5,qbrs-,pb-,pntl-,hgscd-,fp=1,rngp-,cslsk-,jzh-,rt=8,hqzdc-,mmp-,qsl=6,ztx-,fjh-,hrr=8,dlc=5,cfq-,nvbr-,vbl=7,njx-,pzdbc=4,lvrj=4,bbf-,tglv-,mf=7,rcjm-,ljhrv-,btj-,qb=7,pqt-,pj=2,hgscd=4,szrqm=3,nsqp-,nh-,nk=9,qv=7,qtk-,dp-,fj=1,blbqx-,jq=4,gtmh-,hx=8,tlr-,pvc=4,dx-,xkmkv-,nfbdm-,xz-,nk-,vb-,zsj=1,vs-,qtc=6,sqd=2,ffv-,nfl-,jcc=9,gsk-,fnztg-,vpc-,rr=8,qtc=4,tqgx=3,qsk-,rsl=6,bbzlt=7,lh-,jd-,thkk=3,svg-,qtc-,vjmbhd-,bdg=6,bq-,fp-,xvqxmh-,hbz-,hhxx-,vpc-,tp=3,jr-,jll-,rnsr-,xdd-,zmbc-,bx=5,svh-,kgd-,rnsr=8,xkmkv=1,rngb-,lgn=8,fsdk-,tcx-,tcqktr=3,sjx-,xm=3,jrz=6,lvrj=7,fjh-,nftb=7,njx-,dlv-,svk=6,jvr-,rdnp=2,vg=8,cv=4,qbrs-,dgt=1,xrzx-,hrt-,tq-,mmk=6,xh=9,kqf-,hmms-,vg-,qxrc-,rsbgl-,tcqktr-,nknc=6,xb-,kmsq-,hmms=2,lpx-,thn=9,hg-,rsl=6,jtn=2,pz=1,jg=6,vtzd-,mpqp-,jnh=1,rngp-,qbn-,pfb=7,cl-,txfx=6,nx-,tqgx-,trd-,kmsq-,qd=4,hcz=1,ckt=9,dbz=8,fvl-,hrt=6,qd=2,qb=3,mf-,cd-,zjh=5,sq-,nxd-,zsp=3,bx-,jrz=2,stk=9,rhj-,rlm-,pfb-,rsbn-,frjh-,frjh=1,hlvq-,lphv=6,vbl-,tq=7,fj-,ngb=5,snqf-,sn=2,txcs-,lg-,vnx-,stk=9,jrz-,zlj-,vh=5,xb-,cxv=6,jmnk=7,zmbc=7,rzjl=5,jnh=2,thz=6,rd=7,hgllzn=5,rsbn-,ztx=8,jrs-,rx-,nvdk-,bf=5,srt-,qdjh-,grc-,pz-,vnx-,gff-,tvhxj-,pr=1,dqg=6,rhj-,rd=7,rsbgl=1,plk-,vzdp=7,lc-,xb-,fk-,mvm-,sdts-,rfg=3,grc=2,lknhl-,zb-,ghpdj=6,nxd-,qv=9,tggs-,gj-,kdg-,lg=8,jcc=5,hgscd=2,kqf-,thz-,tljv-,zn-,stk-,jks=3,xvqxmh-,dt=2,xdd-,svg=5,nqp-,cfq=9,fl-,rx-,fz-,ckq-,kr=8,vl-,hmg-,khn-,hs=7,pcdk=3,dmnfh=8,xkv=7,xzrd=9,ctf=8,svfst=3,sn=6,vh=7,xr-,qgncfg=6,drv=4,bq-,mcs=1,rt=2,jtrdrs=2,lkst-,llc=2,bhg-,mb-,nknc=3,zkq=2,zfvgf-,qbn=6,xjcz=6,pvth-,rh-,zn-,vs=8,mmk-,vfk-,nvdk-,cg=5,jkz-,ghpdj=5,jv=2,zbnm=4,kgd-,ht-,ncdl-,qnbh-,nvbr-,tq-,fq-,jbr=3,nnxjbr-,zvh=4,dx=7,zxt-,vs=9,jks=7,rngp=7,llc-,lbj=8,nnxjbr=2,tvhxj=1,rgvz=4,tp=5,qb=2,jvl=4,bbhq=2,hgp=2,xs-,trst-,hfg-,zmb=4,ncdl-,rsbn-,xvgrf-,kgv=1,thkk=1,zjr=4,jb-,jb-,jvr=5,kls=8,dmnfh=3,lsskds-,ck=7,lpt-,fd=3,mghbj-,kt-,gg=7,qsl=1,fk=8,kr-,szrqm-,bgr-,bx=7,cxv=5,gvctn-,xdd-,kdg=2,jdq=5,xl-,lq-,xcjh=8,rj=5,svfst=2,zp-,hhx-,xcjh=2,zl=5,vs-,pntl-,bzj=4,qbrs=8,vtzd-,kf-,rqj=6,sjbp-,xjld-,vpp=2,xcjh-,jll-,sm-,zpd=3,hlvq=2,dqg-,hcl-,hx=4,sjz-,qs-,nn-,ll=3,rf-,fmzfnz=9,kdc=3,vb-,hbqxt=5,drv=9,hmms=7,glbl=5,ntvm-,fvv=3,xjs-,zmxz=6,qnbh-,xkc-,ssdcf-,zl-,hgx-,hsx=5,sdts=5,kx=4,hp-,zzd=9,ngjc-,spp=9,jtn-,xkc=9,kf-,trst-,nx=4,ccx-,svg-,hhxx=6,znsz=2,pntl=7,hmms-,xv-,ttm=6,mcs-,qx=6,hx-,dbz=3,rfz-,rqj-,nn=6,qx=7,xzf-,bgr=9,nfl=9,ngb-,rcjm-,dt=6,tcnbp=5,pvth=3,msq-,vl=3,mcn-,vkz-,zl-,zjh=5,fmzfnz=8,hbm=5,bdg-,zm=6,sxnxdv=2,lpt=2,vzdp=5,jj-,mccqr-,kt=2,gtxdt=7,sz=5,mbf-,zjh=5,xmjzpg-,gdctzq=7,tqgx-,vh-,vl=8,jd=2,dnt-,fl-,xdd-,xkc=1,bqf=1,fsdk=6,vvz=9,qsl=9,kgt-,lsskds-,vb=4,xr=4,tvc=5,xh-,thkk-,hqzdc-,jtx=6,rsd-,dk=8,sxnxdv=8,lg=3,kqpd=9,fl=2,lkst-,jnh=2,ph-,xbtvx-,cg=5,nnxjbr=8,bxlh=4,mf-,pr-,khn-,mc=3,mz=5,rgvz=3,zjr=2,zn-,sm=3,cxv-,sh=9,gl=6,gqkj=1,xr-,qgncfg-,zbnm=2,lsskds=9,drv=7,dx-,gff=4,kqf=7,nx-,rdnp-,zmdjh-,vlq-,bhhn=3,sz-,ff=2,bbzlt=6,bqb=2,trd-,pz=7,jnj-,nsksl-,hf-,rd=4,dlv-,trd=8,kj-,qx=5,jj-,nvbr=7,mtm-,hlvq-,xjs=4,mf-,dgm=4,lc-,nf=7,jcsvx=3,nvdk=3,jbr-,hcl=4,gl=5,mz-,kt-,ht=5,gqkj-,pj-,lphv-,ckjs-,ljhrv-,rt-,hmlzdn=7,mn=9,nqs-,fnztg-,nnnrz-,spp-,kjlxvl=3,tcx-,hxh=9,vnx-,bx-,sjz=5,hxh=3,cmlnnq-,gvc-,xb-,pqt-,ffv=1,rfz-,ntvm-,nh-,nnnrz-,ljhrv=8,gg-,grc=4,vmtd=2,nxd-,mdm=7,cc=2,pb-,nnnrz-,hmlzdn=2,dnt-,zbnm=2,rngp=7,ljhrv=9,mlzrsd=1,bbhq=8,tp-,mz=5,nqp=4,qtk-,kjlxvl=4,zbnm-,zm-,bq=8,hbqxt=8,zdc-,nvdk=7,szv=7,gvctn-,bqf-,qm-,vtzd=7,znsz-,ds-,snqf-,vd=1,cpt-,fj-,hbkq-,jlr=5,glbl=9,zfvgf=8,plcf-,rngp=8,zcb=7,bd=4,mq-,hgx-,hbz-,fp-,szrqm=2,sq=1,cc-,lq-,rh=1,jsv=7,bjff-,ncdl-,bp-,fl=7,lfvf-,plcf-,mb=6,ssdcf=3,nqs-,zcb-,jkjchf=4,nrmxt=3,lfvf-,kltj-,kddl-,hrt=5,hhx-,nqxp-,qms-,szv=7,xjs-,bbzlt=5,mkr-,rc-,fhg=5,xmjzpg-,bp-,jg=7,zb-,ckt=7,smprjm-,ft-,trd=9,kgt-,jq=9,vlq-,hl=5,tv=2,mq-,kp-,dtc=9,xkv=1,gdctzq-,ht-,tggs=9,zh=9,jlr-,ssdcf-,hmms-,lzd=1,qsk=2,rh=9,jd-,nftb=5,drf-,nsqp=1,cv=3,dt=5,qxrc-,cmlnnq-,jvr=7,jlf=7,nftb=4,nfl=7,jlr-,zjh-,ld-,pj-,jzf-,jr-,mc-,mnmc=4,gdctzq=3,plk-,pvth=4,vkz-,fjh-,tqgx-,vnx-,dz=6,fjh=2,brs-,tz-,vgshgp=4,plk-,trd=3,zq-,qp=2,nsqp=1,hbkq-,ssdcf-,rhj-,ns=6,pz-,kgd-,xbtvx=4,rsd-,lq-,bjff-,mnmc-,qsl-,pzdbc=8,xbtvx-,fqcs-,kqf-,shmcr-,nqxp=9,hbz-,vvz=3,qtc=1,dgq-,mnrd=3,jbr-,mf=9,chd=7,ssjxpn=8,sq-,svsb-,cd=5,zrz-,xm=6,lphv-,zdc-,vh=5,zn-,jj=8,jsv-,mc-,xrzx=1,pcdk=3,djt=9,gj-,vzdp=8,smprjm-,bbxk=1,lxccq=9,dt-,vb-,fm=4,vnpj-,kt=7,hp-,bfnsp-,blbqx=6,zjr=3,rd=5,qbrs-,pfb=5,lsskds-,xjs=3,ph=9,khn=4,brs=7,bbhq=4,hhxx-,jcsvx=2,bvfsm=2,rsl=7,bqf-,dlv-,btj-,bhg-,lg=9,svfst=7,tp-,bk-,tz-,jks-,mlzrsd=2,rnsr=7,glbl-,tggs=9,ljsb=4,zfvgf=6,cpt=4,mnmc=7,xb=2,sm=5,lg-,nfbdm=4,ttj-,rsbn-,hlvq=2,vnx-,xvng=6,tv=6,sgnr=6,rsbgl=9,tljv-,rngp=5,rqj-,hs-,nfbdm=5,fj=2,kf=1,hlvq=8,mf-,tp-,khn-,chd=6,khn=1,ln-,ddh-,ns-,cj=5,vzdp-,kddl=5,bvfsm-,trst-,hrr=5,kqpd-,ck-,jd=5,mbf=7,ll-,jxrrs=3,ghpdj-,shmcr=9,ljsb=7,trd=6,ld=8,ckq=9,ht=5,rdnp=4,cpt-,hbz-,bxlh=9,ktcxx=3,dxbl-,jg=3,qv-,xjld-,fm=7,qtk-,fk-,txfx-,tqgx=9,zcb=4,pj=3,tnnvq=1,zdc-,zm=3,cv-,xdd=5,rngf-,hg=1,kr=1,xvng=7,sxnxdv-,jcc-,fd-,jxnh=7,rfg-,lfvf-,jqqks-,plg=5,zpd-,pcdk-,zjr-,qnbh=7,rf-,zsp-,hgx=6,lkst-,zsp=1,rt-,xkc=9,zn-,gvtd=4,pzdbc-,trd=7,zn=8,hcl=5,hmlzdn-,mtm-,qqj-,thtspg=1,lxccq=1,fnztg=6,zsp=8,ns-,cc=8,xrzx-,vbl=2,dk=9,drf-,sgnr-,pqt-,tsrjk=4,gvc-,xrzx=5,zh=8,brs-,pvc-,rzjl=8,pqt-,vbl=9,bhg=8,mvm=6,lc=5,nxd-,hgx=1,ff-,svg-,sh=4,xb=7,jtb-,qm-,rr-,pcdk=1,tsrjk-,vlq-,mkv-,lkst-,zdc-,jrs=5,lpx=3,vjmbhd-,xh=2,gm=7,qb=2,pzdbc=9,tbftpm=2,zmxz-,jrz=2,cpt=5,mgv=4,nknc-,jvl=5,jlr-,qvq=4,cn-,qbn-,dp=8,bjff=4,mz=5,kt=2,qhdmn-,jtb-,rj-,svh=2,tcnbp=5,vjmbhd-,vjmbhd-,xkc=9,hmms-,ssjxpn-,fk=4,xk=4,rngp=9,dlc=1,rhj-,sh=1,jfvnl=2,fd-,tbmrt-,lq=5,rqj-,dgkb-,xvng-,nnnrz=1,zzl=5,jd-,nqxp=5,nsqp=9,ngb-,jr-,lxccq-,nx-,ttm=4,ljsb-,dbpf=2,bbzlt-,nsqp=7,bbhq-,zq=9,ckt=4,plk=4,jcc-,srt-,djg=8,cmlnnq=6,bgr=7,hv=3,ghpdj=1,tnms=9,zmxz=3,hfx=7,jq-,rt-,jkz=8,hgscd-,xs-,gc-,xkv-,jqqks-,sjx=8,mc=2,znsz=7,hfx-,vh=7,shmcr=6,xdd-,tvhxj-,hbqxt=6,srt=5,rngp=8,dqg=5,xh=5,vvz=2,kqf=6,gdm=8,dx-,drf=2,cs-,pgl-,fjh=1,rlr-,tnnvq-,rfz=3,qp=6,jrz=5,rzjl-,fl=2,kmsq=3,hgp=9,rt-,szrqm-,vl-,hcz=4,mx-,jg=8,mx-,rlm-,kdc-,vlq=8,ft=5,vm-,kmsq=8,fm=2,mkv=3,nnnrz=6,mf-,bbf=7,qtc-,xb=3,jkjchf-,fsdk-,jbr-,kc-,vbl=5,rh=3,zjh-,hgscd=8,ckq-,pz=6,nf=4,bjff=3,vpp-,xjs-,qnbh-,dbvvl=1,bbf-,cnl=3,xh=9,mgv-,cmlnnq=9,svk=5,ph-,vvz=6,hp=1,nk=9,rsl=3,nqs-,jks-,zmbc-,mq=7,bbxk=5,qnbh=2,sklxf=1,gvctn=6,szv-,jv=5,ktcxx=7,zzl=4,txcs-,ljhrv=1,zmdjh-,plg-,ft=8,bqb=1,dl=3,ff=5,jkz=9,zh-,qp=5,xkmkv-,nh-,tksf-,hrt=4,vlq=4,vh-,znsz-,mnrd-,txfx-,fq=6,srt-,mpqp=2,tnnvq-,hmlzdn-,gc-,mghbj-,kmsq=2,txfx-,nfl=1,nn=3,mcs=5,vs=4,ntvm=7,hxh=5,xh=1,jd=1,zjh=4,thn-,jlr=2,dhr=4,thtspg-,fmzfnz=7,sn-,hl=7,lxccq-,mcs-,tcnbp=5,lphv=8,txk=4,ngb=6,jxnh-,trst=2,tcx=5,mkt-,qms-,bxlh-,zpd-,szv=5,xkv=2,gqkj-,zrz-,hlvq-,bd=8,jg=7,hxh-,rsbn=9,ll=3,fvl-,pzzxcq-,khn=4,mcn-,db=9,zvsrxd-,vb-,zjh=6,fk=7,zl=7,vpp-,hp=3,mghbj=8,jzh=3,brs=3,hhx-,qd-,mgv-,sh=8,drv-,rx=1,qtc-,ljhrv-,dx-,fhg-,rlm=9,tp=6,vmtd-,zsp-,qp-,hgp-,rgv=5,cg-,qd-,bdg-,ljhrv=4,rnsr-,lsskds=4,cxv- -------------------------------------------------------------------------------- /day4/input: -------------------------------------------------------------------------------- 1 | Card 1: 30 48 49 69 1 86 94 68 12 85 | 86 57 89 8 81 85 82 68 1 22 90 2 74 12 30 45 69 92 62 4 94 48 47 64 49 2 | Card 2: 57 32 92 73 76 62 11 19 61 90 | 19 82 53 87 57 80 69 76 90 56 11 61 30 92 73 99 4 32 33 64 34 62 27 78 65 3 | Card 3: 6 56 40 1 47 26 25 87 4 2 | 12 26 32 25 8 4 41 54 69 99 2 45 70 6 59 23 47 7 49 17 1 56 92 87 40 4 | Card 4: 26 49 44 82 25 43 47 74 97 13 | 76 62 13 82 55 26 93 84 83 19 47 22 49 44 25 43 7 18 9 45 97 15 90 85 74 5 | Card 5: 88 58 96 80 56 16 55 13 3 40 | 20 57 23 71 76 43 36 72 52 18 60 28 80 84 64 75 93 46 19 69 25 31 58 45 47 6 | Card 6: 89 88 34 62 60 41 15 42 57 58 | 58 49 82 42 70 78 72 57 77 47 62 89 30 60 96 98 54 66 25 14 6 34 15 41 88 7 | Card 7: 97 73 29 26 91 16 66 64 70 23 | 3 12 61 11 70 59 71 1 26 44 14 64 63 93 20 17 89 16 43 96 52 92 46 97 85 8 | Card 8: 9 33 46 87 34 97 71 30 5 43 | 21 64 8 43 77 9 20 46 10 19 53 33 71 56 39 87 34 50 72 91 30 89 13 5 97 9 | Card 9: 72 41 12 58 8 56 11 82 22 66 | 27 97 48 14 77 37 33 91 85 39 75 42 58 2 52 9 70 45 72 62 5 21 23 60 99 10 | Card 10: 3 46 56 2 58 4 92 80 86 52 | 15 56 91 57 61 8 87 34 51 3 23 41 96 45 48 49 43 25 26 9 58 50 52 38 12 11 | Card 11: 76 94 4 55 97 8 22 99 80 70 | 64 75 23 49 42 1 66 54 85 29 28 94 22 93 4 69 72 62 41 2 86 83 97 34 82 12 | Card 12: 65 91 7 24 80 20 46 29 58 57 | 51 59 52 63 28 44 62 35 46 49 24 14 58 91 65 78 84 20 43 32 23 15 29 13 22 13 | Card 13: 98 94 55 43 83 72 19 46 45 22 | 55 67 59 91 46 37 24 52 98 4 72 22 44 94 88 43 27 7 75 13 45 82 15 65 19 14 | Card 14: 92 51 81 6 5 91 73 9 80 94 | 56 72 71 32 92 98 15 2 10 91 62 1 51 74 69 89 33 96 39 97 21 86 65 52 83 15 | Card 15: 84 40 87 91 3 61 20 73 2 37 | 77 3 37 81 20 9 51 2 87 73 53 66 26 36 69 99 83 96 88 5 91 18 40 57 80 16 | Card 16: 97 63 52 67 86 87 91 25 69 43 | 68 67 75 3 85 10 88 99 52 43 95 92 80 87 11 13 96 58 1 17 74 20 36 93 77 17 | Card 17: 28 90 77 78 52 7 94 13 6 88 | 11 69 49 56 59 14 7 24 53 21 67 2 17 8 47 66 48 30 79 43 86 64 46 28 23 18 | Card 18: 50 22 25 69 54 4 37 14 49 75 | 82 84 78 88 87 15 80 1 11 91 89 93 25 98 74 42 6 59 23 58 13 46 49 32 95 19 | Card 19: 96 56 86 38 29 43 69 66 26 46 | 80 13 90 30 41 86 44 95 71 23 40 75 33 14 56 59 89 18 92 79 15 4 84 68 82 20 | Card 20: 95 26 31 69 63 25 56 87 74 48 | 88 16 42 22 30 14 71 62 35 87 99 3 96 54 41 83 40 29 79 20 50 24 53 10 66 21 | Card 21: 75 76 94 26 24 56 34 35 93 87 | 42 23 71 55 44 79 12 4 78 32 82 53 40 35 43 50 9 65 29 57 93 86 7 67 19 22 | Card 22: 53 58 25 33 42 98 94 95 97 22 | 44 91 40 1 88 31 61 6 54 52 47 93 3 99 27 59 15 53 56 39 66 43 51 41 48 23 | Card 23: 34 95 33 45 56 37 30 94 76 67 | 9 1 72 68 51 66 36 24 21 92 35 50 62 86 90 49 82 46 15 4 70 40 75 64 73 24 | Card 24: 73 93 49 22 86 18 31 87 3 2 | 27 42 46 97 49 31 47 25 93 74 9 60 44 87 15 63 18 2 73 89 3 62 86 65 22 25 | Card 25: 36 24 95 21 31 7 56 93 82 17 | 82 36 23 54 66 83 95 31 65 16 17 86 7 21 61 24 55 56 13 53 59 64 96 39 32 26 | Card 26: 16 89 92 12 40 17 3 80 20 21 | 37 72 26 9 79 55 74 2 92 59 17 35 71 94 98 31 58 3 32 51 21 88 40 96 57 27 | Card 27: 70 19 81 48 62 26 45 86 65 41 | 63 38 71 43 50 42 25 14 18 54 66 96 29 36 95 73 20 76 16 6 58 78 56 87 91 28 | Card 28: 61 66 57 75 52 20 41 21 24 14 | 83 51 77 14 66 91 75 3 47 20 18 65 76 52 5 11 72 57 10 36 30 92 73 28 19 29 | Card 29: 94 39 68 79 28 70 81 97 59 48 | 46 4 41 39 38 75 18 76 45 31 79 97 91 64 71 85 63 55 8 94 67 59 36 74 49 30 | Card 30: 90 45 15 47 1 24 99 62 69 55 | 42 5 1 37 77 71 66 57 94 18 26 47 46 27 48 80 24 95 30 15 53 90 38 99 69 31 | Card 31: 53 16 59 23 78 95 38 17 40 7 | 86 20 7 98 44 19 73 36 40 4 58 16 94 2 83 32 6 78 57 13 35 30 87 51 5 32 | Card 32: 64 79 78 6 24 15 44 45 82 33 | 34 18 80 94 54 59 14 23 77 25 73 81 26 62 17 45 37 82 67 24 98 78 85 43 13 33 | Card 33: 91 97 83 95 89 32 86 94 96 19 | 93 39 57 58 41 62 1 80 33 2 24 51 27 25 6 10 78 76 63 65 38 79 61 98 90 34 | Card 34: 41 84 69 81 95 71 7 80 65 55 | 88 17 73 3 54 66 68 8 76 84 36 79 55 47 58 91 37 53 57 46 93 71 83 42 12 35 | Card 35: 51 67 16 48 34 86 59 74 98 65 | 14 75 23 98 48 83 11 35 18 93 68 50 85 31 40 82 27 92 55 63 64 37 76 2 33 36 | Card 36: 26 80 18 67 87 93 79 1 59 61 | 83 51 97 34 70 90 49 44 39 95 92 38 55 9 65 96 94 82 61 1 20 46 50 63 6 37 | Card 37: 71 13 91 66 24 3 1 41 27 75 | 12 38 45 5 80 11 8 59 90 64 85 49 52 56 35 96 7 20 53 39 44 22 76 57 66 38 | Card 38: 21 56 2 42 51 28 37 38 95 12 | 3 84 55 81 91 6 90 14 68 93 64 33 78 7 4 60 18 54 11 29 26 19 75 72 52 39 | Card 39: 1 40 97 60 90 47 74 41 7 58 | 43 8 47 72 7 78 41 96 5 37 98 97 58 89 23 65 74 1 92 90 28 16 60 40 67 40 | Card 40: 75 99 14 36 64 42 30 8 52 97 | 64 89 36 80 99 30 57 40 35 75 53 97 52 38 68 1 74 42 14 60 49 79 8 72 20 41 | Card 41: 26 38 87 47 39 62 56 2 49 51 | 25 45 87 63 24 2 39 51 54 56 70 62 77 57 68 49 31 34 26 72 42 38 47 94 29 42 | Card 42: 26 69 10 47 89 27 43 62 97 50 | 62 79 50 69 2 97 68 87 27 5 67 18 64 26 10 25 91 4 7 43 70 14 1 54 89 43 | Card 43: 92 16 95 21 15 77 27 88 76 63 | 92 77 78 1 58 96 8 31 63 16 14 2 54 88 15 52 73 76 21 27 84 71 25 95 72 44 | Card 44: 27 31 64 16 96 95 74 57 59 53 | 75 20 48 11 18 44 3 45 79 98 12 54 30 60 32 15 13 72 21 87 85 52 70 33 35 45 | Card 45: 62 31 89 91 85 83 93 11 26 23 | 53 55 71 62 14 65 8 21 96 57 17 91 51 82 86 47 64 80 3 69 56 90 85 32 70 46 | Card 46: 52 67 93 77 39 13 55 63 68 78 | 19 96 76 50 11 61 72 81 64 10 84 22 83 37 3 58 80 48 57 18 59 62 92 4 9 47 | Card 47: 31 14 25 56 83 48 53 64 39 77 | 48 34 27 16 5 55 77 42 17 6 24 49 37 92 51 8 97 52 41 11 31 80 47 87 38 48 | Card 48: 69 65 89 40 1 31 64 50 48 38 | 44 75 74 58 13 56 50 80 22 89 47 95 8 53 31 38 48 64 72 39 1 52 43 17 65 49 | Card 49: 30 49 86 87 78 96 73 44 21 90 | 14 39 75 49 96 63 56 73 64 81 93 98 99 1 13 65 54 88 61 83 44 30 45 15 67 50 | Card 50: 61 79 65 67 77 58 21 37 90 48 | 81 79 62 51 21 85 61 90 92 47 29 23 80 7 98 40 59 87 18 77 48 6 99 88 1 51 | Card 51: 9 45 35 38 92 47 27 61 91 67 | 75 86 50 74 41 92 59 71 52 91 97 73 96 4 19 87 69 76 98 21 90 37 32 14 77 52 | Card 52: 82 80 79 33 18 70 52 73 38 39 | 21 82 95 25 66 89 75 85 84 39 47 28 49 45 79 17 56 10 29 52 44 77 70 32 65 53 | Card 53: 2 47 76 33 17 62 13 70 9 31 | 84 2 31 47 13 97 4 3 33 21 17 8 62 10 19 78 41 70 43 98 79 59 95 29 99 54 | Card 54: 50 10 89 77 41 82 43 84 30 7 | 28 49 35 76 9 23 65 71 60 36 32 15 3 61 95 10 24 77 17 97 48 62 88 51 68 55 | Card 55: 98 86 8 43 54 59 11 7 63 42 | 24 98 1 58 51 68 2 56 8 54 29 25 66 17 59 86 30 48 43 60 5 55 18 44 28 56 | Card 56: 88 38 8 43 91 12 69 45 71 20 | 11 34 1 95 77 19 39 40 33 5 80 51 75 94 84 23 82 8 86 62 74 89 96 22 66 57 | Card 57: 95 38 81 99 57 68 60 55 39 18 | 34 38 45 7 63 12 97 35 44 17 57 58 92 41 89 30 39 47 66 10 82 52 68 55 98 58 | Card 58: 34 72 18 15 20 1 28 89 7 35 | 14 22 61 36 84 26 55 62 32 53 44 51 46 17 6 54 85 35 95 40 10 92 42 19 83 59 | Card 59: 58 43 86 3 73 17 24 49 29 5 | 87 93 56 60 35 48 86 8 7 16 67 89 73 43 69 31 88 23 50 59 45 84 61 26 65 60 | Card 60: 4 74 59 28 17 23 67 48 82 20 | 76 91 88 47 84 2 14 61 56 11 58 34 24 99 75 66 33 96 92 94 64 73 72 45 7 61 | Card 61: 24 40 2 95 58 17 28 43 4 8 | 97 77 49 15 51 41 70 80 6 74 11 68 38 5 8 64 81 30 89 72 63 52 39 7 82 62 | Card 62: 79 22 90 64 37 95 4 87 30 38 | 73 25 91 13 83 45 77 53 88 63 43 92 78 34 32 58 24 40 50 61 55 41 2 67 14 63 | Card 63: 70 13 43 35 58 84 44 51 65 73 | 43 3 48 51 69 70 31 98 19 15 91 61 55 39 41 58 44 65 35 13 25 73 9 50 56 64 | Card 64: 85 64 44 45 31 95 3 16 19 74 | 53 13 9 89 83 58 47 90 77 59 98 99 74 91 52 15 61 80 75 88 54 23 24 8 29 65 | Card 65: 70 33 34 72 80 56 7 95 71 32 | 16 32 56 34 73 31 45 29 71 33 98 72 97 19 39 94 91 90 70 75 40 7 95 80 96 66 | Card 66: 29 30 35 39 52 17 25 1 62 79 | 83 2 69 13 36 76 59 50 90 64 30 37 48 75 95 25 26 60 7 29 86 42 8 22 11 67 | Card 67: 51 59 72 52 60 74 20 68 90 40 | 51 34 8 2 67 46 47 10 9 43 61 56 28 74 73 60 81 25 87 4 17 84 65 42 32 68 | Card 68: 36 3 98 39 7 74 66 85 81 14 | 7 78 14 74 85 97 55 62 66 98 28 94 39 81 42 6 24 36 60 50 75 87 3 9 18 69 | Card 69: 72 99 53 87 83 54 58 32 79 26 | 54 70 5 34 1 79 26 99 90 11 77 13 98 83 15 58 40 96 91 12 32 53 87 72 43 70 | Card 70: 72 26 89 44 9 7 14 95 46 51 | 45 44 91 3 71 77 82 56 2 6 24 20 49 75 60 22 58 80 42 68 32 54 76 29 79 71 | Card 71: 56 75 58 97 4 95 16 23 7 71 | 63 96 40 64 42 38 65 48 78 35 5 24 20 41 70 89 45 17 49 21 10 44 92 60 51 72 | Card 72: 82 3 37 72 19 78 84 69 43 62 | 95 43 97 82 72 14 70 47 45 26 92 77 67 62 49 22 19 3 37 7 69 78 94 84 6 73 | Card 73: 63 77 50 12 46 80 13 54 64 24 | 60 50 17 87 1 46 42 13 80 63 82 48 45 35 55 29 30 31 9 24 64 27 77 40 69 74 | Card 74: 66 73 38 5 89 1 11 10 91 92 | 89 23 28 50 82 63 33 91 72 74 73 66 24 17 42 11 36 94 79 92 4 85 29 57 10 75 | Card 75: 66 51 34 46 78 27 89 42 52 4 | 87 79 28 18 1 35 81 60 65 76 56 78 42 43 47 45 89 70 4 68 19 63 33 94 86 76 | Card 76: 35 43 54 87 15 71 30 92 29 24 | 6 76 36 34 50 47 88 29 44 73 68 97 87 24 81 20 94 86 70 90 71 2 15 98 54 77 | Card 77: 27 77 81 31 53 47 45 71 73 41 | 85 40 63 68 22 10 75 55 62 67 54 49 51 79 17 92 93 21 73 38 37 74 90 23 98 78 | Card 78: 79 1 93 23 31 48 32 53 64 57 | 52 76 35 68 3 75 22 81 79 51 80 46 88 65 83 44 67 89 31 86 8 98 97 16 30 79 | Card 79: 72 80 7 74 10 22 12 34 89 97 | 47 62 5 23 17 27 9 21 78 68 66 98 29 39 51 83 24 90 64 10 48 22 97 2 35 80 | Card 80: 80 94 30 12 28 54 78 34 58 63 | 46 33 86 44 50 94 96 66 57 58 87 65 92 71 32 56 73 90 11 85 21 76 45 27 64 81 | Card 81: 94 60 72 30 14 3 40 86 69 82 | 74 99 11 55 27 54 70 46 89 24 44 85 6 53 58 15 26 10 20 38 56 63 1 4 12 82 | Card 82: 88 30 84 71 61 63 20 56 49 89 | 10 87 14 2 9 57 46 27 12 41 78 59 5 55 19 94 7 24 1 25 13 28 42 33 68 83 | Card 83: 6 35 37 64 9 44 21 42 56 30 | 57 69 83 89 47 74 95 71 81 84 41 45 40 2 1 77 32 75 90 60 62 82 79 22 55 84 | Card 84: 34 13 4 21 88 26 18 96 38 3 | 16 66 63 9 7 95 28 72 74 41 10 85 30 70 91 69 47 44 33 49 60 46 57 62 36 85 | Card 85: 94 58 24 74 61 5 49 99 30 54 | 99 11 61 58 25 4 2 55 30 75 62 51 94 22 3 36 54 84 71 9 8 24 70 90 5 86 | Card 86: 33 82 19 66 52 24 76 34 5 84 | 82 37 63 83 36 22 13 76 84 19 38 6 65 33 66 40 95 52 24 45 5 88 34 89 49 87 | Card 87: 86 24 92 7 72 28 63 23 12 82 | 9 59 36 56 40 1 76 4 88 10 85 14 17 15 61 29 57 50 98 49 3 41 42 93 22 88 | Card 88: 23 32 78 34 12 8 89 20 50 29 | 59 24 13 72 14 7 83 37 32 39 90 46 96 49 94 82 43 33 85 92 69 62 57 48 9 89 | Card 89: 98 48 90 71 56 21 61 86 29 63 | 50 62 2 23 70 44 36 35 57 48 13 64 21 90 93 1 53 5 33 7 29 67 38 61 54 90 | Card 90: 27 66 35 40 54 68 1 80 42 49 | 97 94 2 1 66 55 15 49 5 75 26 30 20 25 73 79 10 40 57 85 23 43 68 38 14 91 | Card 91: 52 74 25 22 84 68 76 27 89 13 | 52 75 90 22 73 94 64 72 84 70 74 67 30 2 1 29 54 86 25 58 41 6 43 91 34 92 | Card 92: 35 83 75 46 37 28 82 54 13 77 | 96 77 46 33 37 59 62 13 28 54 75 86 74 35 47 85 6 80 55 20 36 83 38 82 65 93 | Card 93: 8 19 27 84 17 42 23 22 78 16 | 76 16 63 78 89 1 27 57 83 34 36 69 42 95 41 44 74 28 79 39 4 92 19 23 7 94 | Card 94: 90 53 59 26 63 91 50 81 69 85 | 20 78 12 23 31 91 42 36 75 95 19 76 96 49 94 47 63 53 27 88 67 69 85 60 7 95 | Card 95: 87 25 89 31 63 32 13 80 60 14 | 95 82 78 34 87 13 3 60 88 28 96 59 36 77 14 79 55 35 83 25 73 58 48 63 86 96 | Card 96: 32 27 21 77 35 9 8 28 97 82 | 53 97 29 81 66 3 17 85 8 35 56 38 26 60 49 9 39 86 28 71 89 88 54 44 27 97 | Card 97: 2 42 48 43 96 55 51 60 33 89 | 85 3 31 88 98 25 41 81 44 68 4 80 63 17 45 57 89 7 38 76 95 53 49 67 13 98 | Card 98: 63 57 83 58 23 27 92 21 2 76 | 58 76 95 80 62 56 98 33 59 46 51 23 93 69 96 48 36 53 19 8 45 32 42 2 89 99 | Card 99: 28 85 31 55 69 73 70 66 11 79 | 22 4 83 55 26 20 29 72 54 12 30 99 66 14 10 17 15 8 88 45 76 69 58 89 75 100 | Card 100: 99 91 55 84 81 61 94 95 8 25 | 30 15 52 88 27 6 53 41 45 95 66 19 98 86 26 31 54 43 51 9 82 97 57 60 16 101 | Card 101: 86 47 76 89 85 1 34 35 53 51 | 81 13 69 14 79 68 37 39 63 59 50 15 56 99 92 80 36 43 18 77 65 19 45 91 8 102 | Card 102: 98 27 49 51 14 77 6 41 97 64 | 60 76 3 79 48 42 29 37 10 24 74 62 11 17 95 73 56 85 28 38 90 63 84 30 94 103 | Card 103: 75 45 64 88 40 69 96 66 52 28 | 28 12 88 45 60 64 16 96 41 17 82 97 24 75 54 67 92 14 40 85 93 52 31 37 66 104 | Card 104: 36 69 82 51 81 42 92 95 62 73 | 13 5 65 87 70 36 95 99 9 62 24 55 31 42 51 82 7 34 69 92 14 18 79 81 73 105 | Card 105: 87 81 71 62 3 41 17 86 88 5 | 98 31 80 39 25 35 47 42 95 14 91 83 65 12 87 96 88 58 5 19 56 1 97 62 48 106 | Card 106: 31 55 80 86 7 20 37 2 89 4 | 70 20 92 62 38 86 7 93 79 6 48 37 19 21 89 47 25 78 43 46 54 69 63 8 80 107 | Card 107: 99 85 5 37 34 95 11 12 51 96 | 69 64 67 53 15 81 89 3 2 54 49 98 71 72 1 76 91 8 17 51 23 83 21 86 92 108 | Card 108: 95 57 98 30 3 83 6 64 52 18 | 59 88 91 78 61 30 52 98 65 68 25 17 13 3 64 89 57 37 83 6 95 36 97 20 18 109 | Card 109: 97 99 89 96 69 84 62 66 61 83 | 9 31 22 49 96 84 17 61 15 99 39 89 26 4 92 32 97 21 62 56 66 82 69 83 13 110 | Card 110: 61 93 64 41 91 76 74 21 56 5 | 51 65 17 29 19 45 70 87 40 10 62 20 89 85 53 36 42 37 50 2 74 56 64 46 48 111 | Card 111: 8 85 35 16 52 31 94 10 29 82 | 70 60 11 6 31 58 10 52 43 35 16 30 94 62 1 29 74 9 4 90 7 59 40 20 85 112 | Card 112: 96 15 95 19 76 41 77 62 46 89 | 61 35 99 56 60 82 17 16 47 4 67 20 91 79 78 97 40 7 13 43 87 74 34 31 84 113 | Card 113: 28 83 44 97 18 22 96 49 17 98 | 86 88 11 92 5 54 90 51 38 52 36 13 64 81 45 63 85 15 47 40 18 50 67 39 73 114 | Card 114: 89 28 69 44 47 58 20 60 25 92 | 97 61 98 4 37 30 68 96 86 6 50 34 71 53 78 57 10 36 35 40 67 33 93 17 75 115 | Card 115: 20 49 40 31 8 55 28 79 99 22 | 95 87 21 14 62 17 70 81 83 54 96 39 18 35 44 61 23 30 80 89 42 50 7 58 47 116 | Card 116: 3 75 52 97 60 24 50 13 54 71 | 17 21 1 98 8 79 59 88 97 53 82 28 34 45 93 69 13 85 38 26 7 37 43 5 22 117 | Card 117: 44 70 59 87 64 20 17 19 68 71 | 6 46 47 79 35 74 78 26 19 99 20 80 31 1 68 3 12 39 59 62 94 25 91 92 88 118 | Card 118: 65 74 73 48 97 21 1 43 57 29 | 73 25 58 67 56 41 19 20 1 12 99 48 47 96 68 50 88 49 80 10 39 75 11 82 79 119 | Card 119: 68 40 2 54 25 75 77 14 50 86 | 27 69 39 90 81 15 17 54 63 51 87 52 37 22 7 38 11 8 24 96 42 60 6 99 4 120 | Card 120: 43 63 34 38 57 39 23 29 16 41 | 90 93 1 72 9 80 94 73 28 65 87 25 78 33 98 66 52 2 36 30 92 54 47 24 12 121 | Card 121: 92 44 29 97 22 41 73 16 31 65 | 20 51 50 43 30 27 39 40 88 14 57 77 62 90 18 87 26 54 95 48 34 10 93 47 9 122 | Card 122: 61 12 44 52 4 69 42 1 77 54 | 24 23 11 39 78 52 12 69 73 42 47 43 4 29 37 1 36 77 19 61 95 54 94 44 28 123 | Card 123: 17 44 12 66 30 19 96 54 34 75 | 24 17 42 90 14 92 84 35 71 12 34 32 99 19 30 98 66 70 54 44 56 96 77 36 75 124 | Card 124: 99 74 53 87 15 93 58 96 24 44 | 15 58 96 29 49 50 87 93 86 53 12 51 24 44 60 74 19 8 67 99 76 72 45 80 81 125 | Card 125: 28 95 5 13 21 49 70 33 48 7 | 61 57 3 65 89 13 7 70 1 95 84 33 46 21 28 79 5 9 19 48 4 76 82 86 49 126 | Card 126: 1 83 21 50 35 3 55 84 38 81 | 61 80 30 26 83 84 38 92 73 21 42 14 1 6 81 15 50 57 55 56 35 63 67 3 93 127 | Card 127: 37 8 99 82 24 6 62 63 94 29 | 62 8 83 82 24 87 46 55 78 91 31 23 29 16 99 63 54 9 68 48 94 5 37 6 40 128 | Card 128: 18 47 91 78 74 63 49 42 85 10 | 4 10 82 20 97 3 71 74 62 95 60 9 28 73 47 32 14 18 49 7 83 92 85 53 78 129 | Card 129: 19 9 11 30 91 83 99 93 46 22 | 38 33 91 85 57 31 15 99 97 54 17 50 71 8 6 29 59 36 75 81 82 67 44 65 25 130 | Card 130: 62 13 98 39 78 28 63 38 41 6 | 51 99 1 98 81 40 39 63 62 52 25 47 55 13 34 41 38 18 14 73 97 28 6 48 78 131 | Card 131: 9 69 43 61 65 35 4 59 71 96 | 17 4 65 29 19 48 7 32 69 61 23 15 1 37 9 80 59 47 64 41 35 79 71 43 96 132 | Card 132: 40 62 73 49 19 51 30 95 92 55 | 77 79 31 51 92 41 49 27 13 40 99 52 68 98 32 26 29 20 60 25 65 72 11 70 19 133 | Card 133: 7 73 1 68 16 40 10 37 78 91 | 39 9 33 97 98 13 35 38 72 75 82 37 27 32 93 48 87 50 94 5 95 67 46 24 54 134 | Card 134: 43 78 49 90 73 7 38 95 12 4 | 10 79 30 12 25 39 32 68 95 78 45 40 73 37 70 49 41 46 91 42 23 18 76 15 90 135 | Card 135: 83 66 13 30 47 75 52 69 17 48 | 76 6 7 1 12 64 89 62 52 59 83 97 33 28 66 20 72 13 84 65 56 73 53 92 30 136 | Card 136: 63 90 52 1 43 85 83 22 47 57 | 17 44 77 36 79 20 1 65 29 50 6 81 78 76 70 97 90 68 67 34 31 82 88 2 25 137 | Card 137: 77 25 91 14 87 80 8 90 27 57 | 91 63 29 60 71 57 98 14 52 77 39 96 85 50 76 10 8 27 32 4 23 3 17 62 24 138 | Card 138: 33 17 89 10 85 90 79 72 13 53 | 30 45 81 89 47 57 32 80 1 82 84 97 16 90 66 4 75 94 29 54 9 78 3 8 93 139 | Card 139: 57 99 35 94 5 11 86 67 34 96 | 1 79 54 17 20 82 26 32 7 77 44 51 18 3 76 64 9 72 35 83 37 5 60 66 22 140 | Card 140: 6 9 44 98 64 92 30 14 62 4 | 43 49 9 79 42 27 20 69 36 24 47 19 14 38 98 54 77 73 41 56 4 15 86 10 44 141 | Card 141: 28 99 14 96 19 92 12 23 17 22 | 64 19 85 70 80 16 63 96 2 3 61 67 41 9 74 12 37 30 86 36 26 92 94 66 71 142 | Card 142: 28 2 68 35 71 10 98 57 79 14 | 44 78 23 24 59 49 21 47 75 6 60 40 22 15 46 41 71 53 87 90 32 52 35 72 37 143 | Card 143: 8 10 60 94 66 51 36 29 56 69 | 71 69 2 9 12 55 1 53 91 84 22 83 77 6 18 57 10 24 44 72 79 73 95 62 99 144 | Card 144: 21 12 42 22 50 10 88 18 19 9 | 25 72 96 47 60 85 23 10 7 3 26 81 59 80 38 91 5 70 95 97 53 33 67 74 92 145 | Card 145: 53 5 14 26 75 35 21 39 30 43 | 13 18 6 46 69 76 78 67 81 68 36 83 91 97 32 40 23 92 29 28 42 51 71 20 37 146 | Card 146: 18 66 74 11 31 91 15 55 95 87 | 54 74 55 18 89 28 95 72 62 38 15 92 91 31 44 9 81 87 88 66 24 23 71 16 11 147 | Card 147: 7 21 81 38 56 2 55 50 60 83 | 15 9 91 69 44 92 54 99 72 43 59 78 25 79 32 51 64 20 62 24 75 38 29 16 97 148 | Card 148: 46 52 47 60 29 9 67 22 10 23 | 92 82 54 91 74 55 1 73 26 61 64 90 28 2 72 40 27 32 51 20 89 31 75 97 99 149 | Card 149: 27 58 78 77 96 68 54 89 31 86 | 48 42 86 8 21 20 60 76 72 37 2 75 33 67 57 28 41 78 1 49 95 87 38 94 62 150 | Card 150: 38 19 90 28 21 59 10 7 66 80 | 68 60 40 3 50 55 6 65 64 59 47 20 56 70 14 29 26 4 22 74 17 69 46 75 87 151 | Card 151: 93 89 25 22 91 70 10 78 84 50 | 21 35 78 58 30 71 11 70 99 84 97 87 57 67 15 9 20 91 79 50 26 74 47 56 12 152 | Card 152: 68 34 95 27 26 87 56 85 92 78 | 58 33 87 81 64 95 27 48 85 72 6 62 65 50 39 96 37 92 28 80 60 1 83 31 74 153 | Card 153: 34 11 38 50 57 78 52 73 7 4 | 56 78 9 11 32 92 26 86 40 27 24 91 18 13 4 77 37 61 25 58 60 8 30 16 80 154 | Card 154: 40 88 81 92 6 33 60 25 98 37 | 77 28 68 92 73 41 81 24 40 67 11 44 17 91 82 39 69 8 57 62 29 76 99 47 79 155 | Card 155: 15 95 17 21 76 78 69 54 1 40 | 68 17 89 96 23 49 20 53 47 93 37 55 10 69 21 4 3 6 75 65 95 79 67 30 91 156 | Card 156: 82 50 7 62 47 55 85 26 41 17 | 71 94 8 43 83 90 76 20 66 21 35 85 61 53 18 37 16 14 99 46 62 47 64 57 33 157 | Card 157: 24 85 5 76 32 43 58 27 28 78 | 50 36 66 65 1 2 87 75 96 18 53 39 3 48 23 97 63 90 4 62 42 93 47 54 60 158 | Card 158: 92 31 19 15 16 21 50 20 17 59 | 56 32 60 65 42 46 3 82 89 96 28 41 45 51 23 17 40 95 62 93 61 70 35 2 67 159 | Card 159: 72 26 19 38 65 12 97 76 7 34 | 4 1 45 39 60 32 22 5 28 98 43 66 2 9 21 10 15 67 78 27 90 17 68 31 35 160 | Card 160: 60 24 21 33 74 59 10 82 22 87 | 26 96 29 12 55 38 71 76 25 68 78 6 50 13 51 99 65 17 98 42 73 54 44 37 9 161 | Card 161: 82 9 94 58 56 85 45 17 21 32 | 91 1 55 63 21 94 32 22 15 17 34 85 26 9 46 7 8 5 48 82 93 60 28 56 45 162 | Card 162: 28 45 14 62 60 73 92 49 11 95 | 73 44 28 42 22 98 80 86 74 51 14 18 62 8 92 96 45 13 65 49 95 39 60 11 85 163 | Card 163: 67 45 89 16 36 9 92 91 78 43 | 75 34 52 90 85 77 27 1 83 93 32 99 69 2 79 94 80 11 35 64 39 72 17 70 13 164 | Card 164: 95 30 90 87 96 81 16 91 66 13 | 97 12 72 54 67 3 61 27 62 68 19 7 65 50 35 39 73 53 18 94 59 4 71 64 83 165 | Card 165: 56 77 8 11 88 80 65 9 78 48 | 10 26 24 21 39 5 32 80 79 48 58 9 16 69 8 30 97 53 20 78 6 56 2 88 43 166 | Card 166: 21 57 49 50 24 79 44 7 84 40 | 50 16 11 93 36 66 46 24 59 35 99 21 5 56 89 57 92 41 82 37 40 12 79 20 44 167 | Card 167: 23 2 68 93 19 28 11 22 7 27 | 11 85 94 28 22 68 2 65 21 78 92 27 93 74 38 57 83 80 7 23 19 77 90 59 84 168 | Card 168: 93 39 75 95 97 10 83 35 66 62 | 7 79 76 91 39 83 75 93 56 89 37 10 15 72 35 84 14 26 97 71 57 95 62 66 44 169 | Card 169: 95 68 15 39 27 24 62 86 71 78 | 24 27 81 70 7 48 43 86 52 88 62 58 19 68 31 8 71 80 39 78 64 95 35 15 6 170 | Card 170: 63 4 96 68 10 3 37 44 70 78 | 13 58 97 36 57 68 78 8 79 96 70 1 64 14 63 51 99 37 41 49 7 3 72 4 71 171 | Card 171: 67 36 24 10 7 11 65 28 3 83 | 87 66 58 53 21 39 40 12 1 94 61 89 22 50 84 78 72 64 92 34 71 90 11 16 15 172 | Card 172: 30 72 95 64 5 51 61 6 39 94 | 31 37 30 71 91 75 10 74 81 36 14 19 73 42 82 97 6 47 51 64 72 45 53 80 60 173 | Card 173: 64 71 93 39 91 57 82 95 60 67 | 34 97 89 36 71 78 76 7 8 33 50 68 19 73 60 91 39 82 46 67 57 35 27 10 63 174 | Card 174: 70 68 35 62 73 42 26 3 86 51 | 3 10 69 84 60 58 27 44 41 9 22 49 89 54 86 70 1 50 83 42 37 74 85 78 71 175 | Card 175: 5 82 68 57 10 32 70 72 23 45 | 10 73 36 50 23 83 29 57 34 30 61 70 59 69 45 53 12 75 86 63 6 84 64 14 97 176 | Card 176: 35 27 24 75 70 12 29 78 17 91 | 64 57 75 5 81 79 98 99 65 18 87 66 68 12 19 74 55 80 50 10 78 56 36 61 41 177 | Card 177: 82 4 32 70 79 1 29 38 87 67 | 63 15 49 46 19 8 38 69 83 75 66 87 68 95 81 54 34 82 4 64 41 73 88 11 47 178 | Card 178: 27 6 50 58 37 87 96 56 25 85 | 96 27 64 60 15 54 12 47 30 5 78 61 90 37 40 93 87 23 53 85 70 34 16 50 63 179 | Card 179: 16 29 86 94 32 82 80 71 20 38 | 52 7 9 73 14 51 27 55 99 23 80 20 49 15 6 91 47 58 26 98 63 18 77 85 94 180 | Card 180: 87 33 35 88 32 23 13 4 52 92 | 45 78 30 19 54 17 56 31 88 86 18 69 16 12 96 82 60 13 62 81 67 46 72 80 4 181 | Card 181: 7 76 43 75 70 83 39 17 92 64 | 44 91 51 57 26 90 31 63 12 70 45 38 6 35 23 17 27 79 20 59 9 66 96 62 37 182 | Card 182: 42 10 44 12 46 55 60 83 94 18 | 21 78 38 96 64 92 11 48 98 30 63 1 75 58 31 29 67 79 43 91 34 25 39 99 6 183 | Card 183: 47 21 74 24 75 48 38 33 61 39 | 15 2 21 20 95 93 54 32 77 89 81 8 16 23 30 14 58 94 35 37 50 11 83 86 4 184 | Card 184: 68 41 47 24 74 25 38 12 6 58 | 46 48 20 31 37 40 59 5 73 52 21 7 57 55 86 17 49 80 10 22 81 4 13 91 26 185 | Card 185: 76 26 24 14 90 54 75 51 13 42 | 14 30 57 20 73 56 86 42 89 74 97 37 64 51 47 24 60 83 22 87 76 90 13 61 40 186 | Card 186: 2 63 80 91 41 12 85 88 34 30 | 81 29 19 64 52 36 41 18 42 54 44 43 40 63 76 23 98 4 65 38 24 30 62 99 87 187 | Card 187: 49 77 68 73 76 60 15 92 34 39 | 32 23 47 26 40 41 43 92 84 73 94 60 24 30 45 7 14 80 76 10 5 9 34 11 50 188 | Card 188: 11 96 50 5 37 58 42 81 79 3 | 29 78 77 30 92 89 18 88 15 95 91 40 60 14 8 62 28 90 33 32 98 63 21 36 46 189 | Card 189: 78 8 49 19 1 67 44 52 54 46 | 29 64 10 55 8 78 36 67 32 91 97 80 49 1 44 83 58 46 69 34 35 94 2 14 86 190 | Card 190: 4 86 43 89 60 80 18 67 11 87 | 19 13 60 4 6 18 11 56 89 26 43 65 85 41 22 86 87 91 71 28 67 80 2 74 47 191 | Card 191: 93 9 61 81 20 51 42 14 74 83 | 68 82 91 74 80 61 44 96 18 11 9 14 39 84 20 47 17 93 42 52 99 21 51 77 76 192 | Card 192: 41 83 44 12 68 56 79 70 55 34 | 90 4 34 20 51 83 74 32 49 41 86 36 66 42 29 85 37 33 1 24 10 97 40 27 12 193 | Card 193: 63 32 91 93 31 2 42 29 30 5 | 46 56 12 16 61 41 81 20 31 89 62 93 5 58 6 73 66 55 74 29 83 88 52 47 27 194 | Card 194: 34 54 16 3 62 6 67 40 57 53 | 91 63 31 59 52 56 6 33 84 55 3 72 40 14 54 35 43 67 97 64 53 44 28 37 81 195 | Card 195: 1 18 74 57 38 11 64 30 9 54 | 82 35 66 40 29 45 14 37 19 85 54 63 99 89 5 22 71 94 11 70 39 16 42 51 8 196 | Card 196: 95 44 35 80 30 64 82 60 75 47 | 88 45 15 26 90 34 93 85 43 66 77 11 17 65 39 33 56 23 3 20 35 5 44 47 36 197 | Card 197: 53 10 14 12 65 83 18 28 79 25 | 7 37 96 80 85 51 47 39 89 13 99 72 1 21 71 25 83 61 35 59 3 73 84 50 15 198 | Card 198: 29 97 30 81 41 34 9 47 21 39 | 8 88 94 67 16 68 37 82 85 3 36 32 41 90 89 40 46 74 29 81 4 93 76 55 87 199 | Card 199: 47 48 39 87 83 25 72 74 40 29 | 1 45 19 77 47 24 20 70 85 34 62 76 91 60 16 30 35 46 21 44 3 97 65 7 6 200 | Card 200: 43 45 85 27 99 88 52 35 28 3 | 18 54 53 96 80 62 49 15 90 14 44 48 36 33 60 79 63 17 5 13 82 24 10 20 64 201 | Card 201: 71 92 68 45 33 17 99 32 96 93 | 90 82 79 26 20 85 94 61 31 84 73 30 4 87 29 28 81 27 75 39 36 58 97 98 21 202 | -------------------------------------------------------------------------------- /day1/input: -------------------------------------------------------------------------------- 1 | xt36five77 2 | two8five6zfrtjj 3 | eightthree8fiveqjgsdzgnnineeight 4 | 7chmvlhnpfive 5 | 1tcrgthmeight5mssseight 6 | eightoneqxspfzjk4zpfour 7 | fdbtmkhdfzrck9kxckbnft 8 | 9six9 9 | goneightczdzjk18589 10 | 41two3eightfscdmqjhdhtvsixld 11 | t8929 12 | fourtwoxsxqqmqf3sixfoursixmmjhdlx 13 | bcbsfd14cjg 14 | 95three6threendpqpjmbpcblone 15 | tdmvthreeonefive8574 16 | 5eight82sixtwonev 17 | ninemg2shhmsqh 18 | thmlz4 19 | xtxjmm2tbbntrmdqxpkdjgh1vzjvtvg7nine 20 | vf19fourddfsvmzeight9 21 | mmg6fivegcthdonesix1eight 22 | 7rzzdknxtbxdchsdfrkfivenjtbrjj 23 | 2sdzxhxp 24 | vzvkjvngfjsxmponep9jppnqnbt8jtwo 25 | 85fourfivetwo6xvhfxone9 26 | fivecgtwotwo3oneighth 27 | pbmninesixzcqs5 28 | ztlhxfmr4mcjnd3two 29 | nfr27zdxchz 30 | sgljlqlcxsnjgppxgqxppqszzgbp7 31 | five78eightthree 32 | mleightwo68 33 | threemnnbjncqq68fourmjdfqzqxbdqvfftggf 34 | twofive35llpqrhptnv 35 | pslmgrznfzt823sevennx55 36 | 72fivesevenvnxpkoneightgdm 37 | 1sixfdjtgxbflfkvv 38 | 77three9 39 | five6skbsrr 40 | fjvlsthreeffzbjlsm2 41 | 6dpkrlbxfdv5nine1499 42 | jvt9one28nine29 43 | 57pbgvccprdgnine49three 44 | qmthreekcsttzmgd1nineone7dvhsjg 45 | eightqpfhvqnpbbrbmsz76 46 | vvqjsevenfourhmdn45 47 | 2eightxgkdtdkfbtcjgrlthreefivekm2 48 | rfpklsh1threenine 49 | nrhbjqpxssmqbkdbzg2 50 | 556ghndxkrg9 51 | 3six8 52 | zhkkgqllq9eightninebspgktnh1krfbzdcthreekzxzgszgpd 53 | 933five 54 | sixsix5qmbqd 55 | 7sevenxckssckcrqnpmfiverqtcdclnkzpztt 56 | 5eightpdsvjknine813tnz 57 | k81one 58 | 6threegsx48 59 | three3xbqvcfgjjfsixfiveone779 60 | threenjtlxnonexqhv1 61 | 5ninefourtwofsqdbchtpkfiveninencsdrnvnbf 62 | vdveightsixthree1 63 | 2mrxnnqngfmshdz 64 | qfourmjpltwolblkzlkdfr41vmskjgrqkv 65 | 8hbjcnseighttwoseven 66 | 28lvggdhbjgqth 67 | nineshpzfshzm68ttlqbqxxrvdxrkvdkbcnfdkrhcqpqrfmpxtwo 68 | 9hhfninefourfiveczdbrn1 69 | 2dpzvd39eightwohjc 70 | 3zrhnzvq79fourxgldtbthree5 71 | two1716 72 | bgkfjkeightsevenf9gclhlprxlk3 73 | nbf2rdglrfourthree86xfpqckg 74 | hslr84mkdcqpl3qtszqfngthreeonenine 75 | 7bhgqcphnb2fpjrbvrlstvghqbkfive1 76 | 6lkfdcddkbsevenxsixseven2fsg2eightwos 77 | 3xjprzkdsckltdone 78 | 1qbkshbrcddjtjz4jhrdmpnrq3mmfive 79 | 27five3sevenfourjhhv 80 | 5fivevhkttflkone4 81 | 5jcthxvhglfourkjrhfour 82 | 3lbgzfkljfzkf3 83 | 9tmpczsvskqqtveight1 84 | kfrjhgsixfive9three1 85 | onesixpdf8onethree1 86 | onesixnine5 87 | 1lscknhb 88 | fourhrnmcfgpzffhdtbdcpdbxqh3 89 | twoffcbgcjnsix667 90 | sevenfc14 91 | 8kzzrbz2threecclhhjn1l 92 | kqqpzbbqkchmkdl46twothree453 93 | 8two3jqxmnz 94 | eightpszqltlncjpfrdfzffltnthree4 95 | eight8eightsixdcgqnbvt1lbhlchdzkf8j 96 | 64nine 97 | 3twofivetwosevenfour9 98 | lhlntlsixtwojqhsevenone74 99 | 2242eight865p 100 | dnhfbgzcvsx5krv26 101 | szdnjvh9 102 | hrzczjbfphxvjqs8one19five2six 103 | lvvkjjvgcjbkhbdnf6ninesqgqhthseventbkzhjbnrb 104 | crmcpjhfmgeighteight316 105 | vmfqlrnjjnv7fourkqbsfsnnqxfqsixthreesix 106 | 7sevensj9919one 107 | hrvtbr2lqkkhn25three318 108 | rngggthlrfoursix2twopv 109 | 3srcpjlqt43eighthscbffksixfoursix 110 | 885sixbftpfive 111 | qpfkxbqfph9sevenc2 112 | 9zrtbhztseven 113 | 5bcgdvdtzjjbseven41nineeight 114 | two3szknm 115 | klfivethreenine2qdpbp4eightwoqf 116 | 1b 117 | 8llkrslcbcsfivecqclmfrxbkzfive 118 | twoseven1 119 | six3ninefivehtxjqjgv6onepkfgjcczft5 120 | oneskjsh5jmnhsxhfoureightfourcml 121 | thjptkn9rpjkbkvgm2 122 | glpbbfjgfivep1696xhcprcqxone 123 | 5fivegnsbzt8gtxvhfmt46 124 | fivefoursevenjkxqlcx7onenine 125 | lfourghzdksztjmfour4threepdnfsz6 126 | two7one 127 | 1onesixdzh 128 | 7ftphkqlonesxsrlgkczjthreefive3nine 129 | 62ninefivefkbmhvlltfourtwo2one 130 | rgoneighttwortjczm24seven 131 | chqxcv3fdqnjngqkkkrvlcgtdfdsvztx 132 | three2dvfpsgjfgs16fmvninefourfrvg 133 | five4bgbfrj52 134 | 98sixsevenfourzdsfjddbmbrffkt1two 135 | nine9xhkcmmvb81onehsmxclb 136 | 6146four 137 | slmhsix4hhtrdfdjpk2fiveonec 138 | 1oneightd 139 | 86sevendgdbnrvgjnmtxrmqtt 140 | six56three2hslccxbnzpmbrctd4 141 | seven8nine3fiveddvpdjgqrjtwovhbdmtz 142 | five32 143 | 769three1 144 | mdcmrbj19 145 | threethreevc6bknnspdvbfzsevenghqnkxnhfxjf 146 | sevensevenzvqkvvgzn12two9bfzfpxjhfslqs 147 | 8mmqrvzklbfivenineeightwohnp 148 | zngczscnv8threesevenfourtwo 149 | 695eight8szhqcklnc1 150 | sevenjvnfbbnnine9ninefour64two 151 | four5threelqtwoxhvhjnkgz2 152 | ztnzbgmtdtwonineeight3 153 | twosxfour6xsshbnhsixsix1 154 | threesevendmfivesevendxhsdhsevenqnrvfrgpfl5 155 | 71dbpsk4 156 | eightxqzh1clmrdljnxh 157 | jqjthreetwo3 158 | 23sixhsvmstwofive 159 | mhvttrxpllkfpxzcfvjtpkfsgd21jtrcrgp 160 | 1lcqlznsbdzksklm38frfhdpt 161 | 8vjtzvxvfive 162 | 9xbcgqhdclrzdnzspllpfrqhnxztftninethree1 163 | seven5two 164 | fourj5ldxlnine 165 | sixtwosix73jjtrvt 166 | 9qqbmccrg8xdgcqmnine84 167 | fivedmsdlsfour2rmjxqthxfcsgkqgsxxqbtwonesj 168 | one631p 169 | 6x2 170 | 93nptkkseightkkgnsnqkpfourone 171 | 173 172 | eighteightvzvxr2pqknnccxqkznc 173 | ftbsixnine4 174 | fiverpz9ldmbrqhg 175 | 7pzbjtnqcfour4319eightcxpgl 176 | tchdxgqsqeight8ftllckrz1 177 | kz2five 178 | scgflstwo6zzdxdcs 179 | 535svzdxtwo4 180 | 7fourone2 181 | kqczhqqttf74seven 182 | ninesixnttqqzmdg264 183 | sevenfourthree2one9 184 | eight1rnnsppqbjzv7jknltmlb2 185 | 6eighteight5cljzvzdtqq8sqftf 186 | ninebnpxdqs1 187 | seven2nineeight 188 | hjnnqsnfftjstkrlknvlqlkfsdbgz8 189 | rcbhxcfmkc3ptnt2 190 | threesix378twostfsjjvmnseven 191 | hllssqjbc41 192 | six9zbkrrvmxngjone5xqjbxcrkhzr 193 | nineone57 194 | 3pls 195 | sfcdbhkdrpkdrtxtvlkqfiveqvbxhvm8 196 | fourthreemeight7nine9 197 | five5fivesfnxfour 198 | h3two2sixgkninetwo1 199 | 53ccblnvbqhjxgbxrs1tk 200 | twotwofxvcmsld2zbjlqzvgzkqvnthfvsftwo1 201 | eightninevdxxdglskbfzz8sevenfour8 202 | flhjjt6seveneightlqpfvnpxvthreesix 203 | threefiveonegpcjjvv6fourseven 204 | 9pbxlqdkprzcxp 205 | cblkxjmpgrfk5 206 | qbntftctnine5five3bsevenbskhvtm 207 | 7eightsix3threehzn 208 | 5nhndlxkthreeseventwocdvnhzrcszhd 209 | six5onekbctwo 210 | fivezhtlpveightvdfltnxpvrzmczdzb9q 211 | nine9xsfq8vtdpmcfgm2 212 | onesl8mqzgdrstwofour 213 | 4onedqtrcc58ghlgxqjlbv 214 | 132zvtptdrqt 215 | ftwone1tkzzthvdsevenseventtgvqnbzf 216 | prxrsfvdbt73zblz6four84seven 217 | onefive1xllptjtwothreehsdlgrmjssfgk 218 | twofiveeight781mgjxgzlmgkv 219 | 483fbgsx5 220 | four82onefour 221 | 229683five 222 | 2onevncxhvscnbtngbzlbbpdnnntr 223 | 275cpjnine 224 | j4threefour7dzqleight 225 | ddgmsvmfz7brjdxt5 226 | sevenfzjtxjtbmj8fivefive6 227 | tqprcctwofive8sixzmgvphmdsmjtwocbpqc 228 | sevenseven4fourbcscfcprcr5647 229 | tghsix8 230 | two83six9sfp99 231 | fourthreefive3seventwo 232 | 7threepx 233 | oneeight69sixgdzbbmlsh 234 | 23onelrdvbzljtcdjqckntwo7 235 | six8onefivepgs 236 | 83gnxnjgvdr2four5nine6 237 | lgfcvptthreesixthreeeightthree23 238 | seven8gsqznnpb3 239 | dqr478fivezxtwo 240 | 4cgkjbl261 241 | pnjeight84twodnhh4 242 | zeightwozhxshspt45 243 | 8rzkpmzlvszvdvonesixeight 244 | twotwothreeseven95threethree 245 | sixbr293sixthreesixnine 246 | 3sixsixthree9 247 | q17ninenineseven8 248 | jmhbhqjxvc72qsrhzzpnljeight775 249 | 456jnrtpfseven 250 | gjcbnbdkt94dsjrgdq1 251 | five56g6 252 | rvjq8dkngcfjdd 253 | twofive43 254 | sixzz9threektkqmfq4gkxxzbg 255 | 2four7four 256 | four3eightsvmnfive6 257 | ninelvxcxdrxk1mvhtptlpqvff 258 | qrbtlxbkdrjzkznqp6 259 | z2xdrtqzzrbt9five3five5 260 | twoeightsevenfive83 261 | 73lzgb1 262 | oneseventwotwothreemr4dfkjlgshjzvlxqqoneightvvr 263 | 5twonvhrbtgfxdlvxrgnpkeightzjpd1 264 | twotwo6rdfc 265 | six84sevenfschptts1fg7 266 | 8kzqv 267 | hnbjfivettpzkb8six 268 | nine8zcrzgqntworxnj2three5 269 | 1qbjtsqqrttwones 270 | gnjmvqrhnsfive5prbzfsjteightqgfcx2one 271 | fivefour8btcrpntwo6oneeight 272 | kfxbxn4283kcjpkbskshjdss9 273 | 3threethreeh 274 | bmzjktnnrl8fcmmbtgzkj 275 | vhnine84seventwonine 276 | gq639rhqlbzp21qbseven 277 | 6rnineptdmntjsix6cnhhbcn 278 | sixscrdone3mhgnmflzxftwonvkxvrftqcxzcfhdgxlvreightwos 279 | 6nine6gngneightlvqmmjjtdkrklqbthffhtwothree 280 | bsn4rrgvrjdddhdfsvsffbqnrsbvtfive 281 | twozflqcsix53jcsc5twohdeightwofb 282 | 73rx 283 | xldqxlmfcdrnthree47tz6 284 | foursix6ksrzponeonepdbfpjzspp88 285 | czvdzccj9nine7 286 | 92one 287 | 9one8three 288 | onevfzkmmcrtwotwo2five 289 | 8eighttwo6xpfxtvvpx 290 | 83four9 291 | 3fourdmtqtvqthree2ztvvdjzmfc 292 | 8fourpb7jjlcbkxkxfthree44 293 | 9cchfourltlxpbjpdrdplrqgrqpk1 294 | fiveeightxlxmr5 295 | bgrczrdsfrcfrpkprdncbkd55qnhjnzkbpninekbmgnlqgmxfqgndc 296 | 6jhcjhb57sfive8oner 297 | six6twofive3ckthree3 298 | xfxkfourtwokqcpvhzjjzsrxjm6 299 | four85 300 | p3foureight3rl 301 | f6four2eight295 302 | 1onevonelslgmbq 303 | pzj6pmjone94 304 | bkmcjnllrmcfpmqckl3fivenljfgeightvrjfb 305 | kgsczqtwo8qnjhtpfltonepvfive 306 | fourfive5pfnlnjqd 307 | vgrsfxtkcxfstsevennine89 308 | njkblck4phphvmq7 309 | ghflplsgkljsfk5 310 | rtbm32lntjflptp435twosmtb 311 | 45four 312 | fiveone41pqgcjt 313 | threesdnllrxbxmhtcmjvdktqqkzs1 314 | 5one14zmxblkh3 315 | 4mzzqpmsfour5pnzonerdseven 316 | 9bhcxsnxdv7 317 | twoxxjnsxxjxfnrtnknseven29c 318 | four54gkcrncmjtpvfbdqr 319 | mmvgl8onekzq 320 | tprfvqnine54rqjkchkxtcrk6gxjgbfqpxg1 321 | threeghtxbhkkrvxxcrvslhnvczxnine5four4 322 | bkrkeight4jvjvmnine 323 | sevensevenmphmhvhtjxcdcrcgbdvlmcr6mczlh 324 | eight74seveneight5eight4one 325 | bspq9fiveklkbeighttwo 326 | 51four 327 | sevent79zngvzhhlxjrnrbkvnine 328 | six3threepsjhtfoureight9 329 | 44mvfhcthpbv 330 | 3fourmrdzqlvb63hrzhqxc 331 | 7fivesixcnxfourpfour 332 | csix4 333 | qqtjk43 334 | eightnhqpxttth9ddbfjpqjmfour83three 335 | slx6fdm9bspmbxdqjfmkhr 336 | stlxrvseven1gnmnqrnlthreenine 337 | 56zjfdrb 338 | sbcxqp8 339 | 7eightsix9eightseventwo 340 | 7twosixfour 341 | 1eight6 342 | twor59eightfourkpsix 343 | 571fivefdpntmjqgnineftpjtkh5 344 | two7nsdz 345 | pmf5twoseven4prgqz 346 | 7vfmvlgtvkbxnq 347 | eightstdrhhtctthree61fourbmcvhmxtkdhcltxpr7 348 | fdjcssixninetdgtbkgj4snzpqlninehvvkthree 349 | 122pqtcthreesixeight8 350 | hfztkh2ksjnj43nine 351 | sdlnm59onekdbdrdksixktk37 352 | 4mf114 353 | 8foursixninetwoxbcnq 354 | vbhspqrkvcvpfour68xncb3kdbr 355 | eight841 356 | 2fdr7fivehtnvbk7nine34 357 | eightsixone1qzp4nxzrslmzrsix 358 | two3zdjntkkcmdpheightfive 359 | 44one 360 | 17txlqkttvtzhzkjeightcqtpqzxlktxm 361 | two8xcvpzppmzntzr 362 | pbqeightwoncjsvrlzrkspcnqsrrfivefour5 363 | 9foursix1onevflhjngtthree 364 | gp3qjmnsksn3nineeight4 365 | 39fdsdqonefleightwopsp 366 | 2dfzsfssnpbzfour 367 | stzzclzgskgbztvrfqgbrms6 368 | 5zpq81threegdg 369 | 6three9ninethreeeightsevenninehhgqhxfhlv 370 | 1tqftcgtwo 371 | zpkrjxfpzf5jmpqvxrgp6threexbjlzclxpneightscbrsgnine 372 | two4bmlztrzn1 373 | seven9klmsfmjtjr7sph 374 | sixsix4 375 | stldx46three15four98 376 | gthb7nine 377 | lninethreebrzzntwo4 378 | 6fvhgpqj5sevencgmm 379 | 75two7qktbnpcxtk 380 | fbkzzsixgshhmzdgt9 381 | xfivenineseven1dtzsfive78 382 | four3ptvfmkkhzjsix 383 | j9txxgmsvxx 384 | seven9lmxhzthbnbbxjmbqkpsntbfourone 385 | 712fourlqknine4 386 | xlpnrk64qnjjvszbtkgktbn 387 | lznpdmrcxmzhsjqkc2cjm3zcx 388 | 615sevensix 389 | phgjnmqfsqgjtqvzhpc3234qpkpjmxbfr 390 | tnrtmcdljzq1three62 391 | bcndkzgzp5sixhflsix3lgc 392 | dqgmbkxlv4onetwo 393 | freightwomsix916zrcsjgkktprb91 394 | fourbcmprdvkbl9vxzfkcjfsqdlbndmrsq 395 | sevenninezpblthreesix2threeqrcdpjqjgm5 396 | 5jnnine 397 | j9fivesix1zhplxlvxsninefour 398 | dm68htnmqdsnzjvqrrj 399 | 8four9pfvjjhrbzmlvhvtseven 400 | two256six6qdpldblvleight 401 | ninecprgdrmc2eight91mggqdvhcf 402 | sqbccsh81t 403 | 1twovfhbngpggbgff8eight 404 | bxdstkqnbhkvt2three2fg29 405 | one7threehxcttwosixfourpx 406 | brnine1nineone 407 | 6fffrqfjprmdx6sixseven 408 | 7four4fourx8sixfour 409 | 951seveneightnine 410 | fivefoursix5tg6dpdxrckdh 411 | 829schqjxjdxncs6 412 | seven1twockldvjsbeight 413 | csjv58dshcsdrkgsixrdl 414 | nineeightstjnxcgzbxrldsevenfour857 415 | oneqpndxmthreemnmlnqnffv7 416 | twotwo8qkdfcxvd253bhd 417 | sevenfour3 418 | t2sevenfgmjjrg63fourrvlz 419 | 4six9fivelbkzffrvsoneightxsj 420 | nkkdsbp7kkjchhfckqqxfourthree9 421 | 7eightone4fiveninevxtrmbhfbrone 422 | onemjzfsvsbh2vmsxdmcncjlnvtsqszv 423 | eight26 424 | sixseven7four 425 | cpkzctmhpmpgtwoqfeight79 426 | vplxpx9tndmcpsone2 427 | eightone2bqlmdmf 428 | 8sevenfivetwod5one 429 | fxmhpcdckl5czfcmeight 430 | 9216gdptpmninetkfjszftzdfive 431 | ninefivemrvmdt5nshfxgg5 432 | 9qclonefive91 433 | six28ninethreefive8two 434 | 76five 435 | njdtpktmsqvbfourv9mmonesix 436 | 5qxckljjpninedstsfdthreevfrsmtn3 437 | tzrrbjlbq7eight 438 | bzl5 439 | 3eightsrnlmlvhtwo 440 | vthqnine1zfive2six6four 441 | cseight1oneone 442 | mgnkflp4grkdrrrtfzmjkbtblfivebgcrmgggxjgkm3 443 | 5three1vfrseveneight 444 | seven42seven178 445 | 8bnrrzbbvghcqdbtwo 446 | fivegxdzcmbzsix6sktwo2dp5 447 | xqdtmb2sevenxpvdlfsqqkgfxqjqq8468 448 | rscsljnnkd2seven 449 | mzeightwo49ngtzr 450 | threesk3four3five 451 | 7shzxkjkgrt71 452 | nxcnnmkqgv1mdmxtkjtwo9bhbbfive 453 | kdxmcg578six7nxqqbm4ddsxzxmtkq 454 | 8rjdkmqfivevpfthbjkbt9mnine 455 | 5pxfive 456 | hgnfjtwofive2fxxeightmx 457 | pxpqvld69 458 | onesixtxmxttxqfour1rxfrvsgdsveight 459 | 95nine9onetwo 460 | 48ftnmcxrmxc2vqsgrsqskzs 461 | one4threeseventhree86 462 | one9ninensqxone5zqfvmpd6eightwozgb 463 | 527two3croneeight 464 | sixzdzfour291eight 465 | 5vzlblhll42hnrrrjj 466 | xzdkkpseven9one1vlsixfour 467 | 4tbzbrthree 468 | 8hceighthtd 469 | 9four4 470 | eighteight7eight6hfthree 471 | 6fourbbx1 472 | 5onepfzgneightsixxb 473 | xzrjpnfvxr61 474 | two1ninenine6pbhkzzgjq6 475 | sdltwonecbbffldnfdlkh131ggkrqqg 476 | kxrzqltp3vfh39 477 | nine79djhzhhgxvglg 478 | 5four1one833 479 | 1twosevenseven3three 480 | 4nineseven 481 | three42kzqllpf 482 | zkxflrctvsevengkpnqkrrj2 483 | 6oneleight9ncnmxbrnkf 484 | qthreenine4vpbzzzfnine 485 | 792 486 | hjmn85vtfjgtqv 487 | one3sblncblnvf 488 | ssxxddpqbdznrczqgsix64three4 489 | 2four4fourtbeighttmm 490 | fournineeightfive1twofkjcsrklpxlsdvxnt7 491 | lrlzz8eightmpspsk3nineseveneightnine 492 | v4 493 | eight9gfzone 494 | jscpppmpnfkhcxlj1pbtbltmj6one5 495 | 8nqrmzrbvzrnine 496 | two34m73twoklqqdlcrrh1 497 | 7fourtmpxnf 498 | twocpbznkqnqsixt86 499 | 81sevenfsdldftgzvnhhhf 500 | ggntprxxqrpknineeight8fourlmvsr5 501 | sevenztwoseventfour7eight 502 | fkcbvhmqqk1sevenseventwoseventhree 503 | three6ltvtkkhgdpsixsixsltgdngvrttwokz 504 | 2fourv 505 | c29fsczzfiveqmrfivejbglcqhl6 506 | 4two3 507 | nine2kphnrztjltxgq1sevenone 508 | lpbcgone8 509 | vcznvhllrbfx4275 510 | fhlsdjmppnrgqhqqxt921 511 | 4four2sqzzcvh 512 | 19nbcvlmhlkqfshhckzkzpqbxfour 513 | seven19 514 | 6xprmkgfgntwo4bqk 515 | threexf5threefive4 516 | 3fqone 517 | 5g2x68cfghcmtwo8 518 | 1fourq 519 | pflnjchgnine25one5eightxvjkkxb3 520 | twontnqpcqc17 521 | cxdmgmvmfssevenone6onezdmnltchtnfour 522 | cpcthreeb76zlglhtkdxrlxjsevenzmvd 523 | sixbhjbcpfjeightjcdthzccpzeight1kknxfck 524 | bhkplfzcdqdfsffcone3seven 525 | ninethreeqnxmgmjct2 526 | ninexjlfivelqznkhngnsvnqhqsqdglsix78 527 | 9zbqrkmvvnine 528 | 1ninehqtmlsd6zjmbgbhjm8 529 | fourvmht91nine551 530 | 8eightmfgjteight4one 531 | 6eight1lhfhmqvjsixjpdgnjrzzbtbcgb 532 | lxptvkmftqffksixtpfnvkxzvkldfpeightnhncz6 533 | lnsvgtjs2nbsqbkjs 534 | 8twohtdv32 535 | 9cbdbvvmninekzbrfchsseven1 536 | 8onethree7 537 | hk7fourxvqdqmnsdnine 538 | hxbjdsk1vkjbsqn6six3nine7four 539 | 485 540 | 5four1kmbcxhjseven 541 | 2hjfhtmfg3sixonetwo3five 542 | dvfk7sixninethree 543 | onesix827 544 | 87seventhree 545 | twosix16lfdfkxbmbcfive 546 | 1mssxhvgvmxfoursbjdnbrts27rllfm17 547 | rrvpckn9fourgvrhhzppncrqqml7keightwop 548 | knvmsveightxpbmxptkjbtmzzn3pzbl 549 | 47eight1 550 | 815vd5gnbgone 551 | xbclfszchvone21 552 | 7ttwofourthreehjhpjmtwogrng4 553 | twothreeoneseven9qd66 554 | 9dhbgmqgr7threekfhzkqqg 555 | fivekvxpqrkkffc6mjrpksfcqfln9 556 | 63two97 557 | txbn163qkbddlcgdznine9 558 | dztphkcfnnninekjqdb89one 559 | mqvtrtz9 560 | 7hcnmcs 561 | foursix7nine 562 | sevenstm9gfjvjcnmjnnhbgmrkgkccsflm 563 | two2jgfqdmlkdndmsp1rqlrqonel 564 | eight2qfive1oneqjnine 565 | mtnxzx7tthreeshdxpcrhrk 566 | vzdgktfcq1xtfxqzzfdpng693btkcqhxpsmczbxq 567 | zbvgtnzmlghvhnklhmhjnxckone4six 568 | 98eight2seven3hhbxgvnhbg 569 | seventwo7seventhree5ltlptmhjp 570 | 1rf75fivegx 571 | 2nineonemlhxmhdt7six3 572 | nine6sevenlzndhbnpkxdhdtcqpzgvkskvjkhphpqnxl 573 | qnqpnlxcjr3phkkpnccxr2sixrslhrtf2 574 | 12mrkvqsjdcc47six 575 | onehhdveight35jgnmgvqgxdr 576 | hgoneight5 577 | m9eight384eight1 578 | 1p6 579 | 3sixnine41seventhree4 580 | 5dvssdf 581 | blchhcfourgzvssbhqdxdbxt14zvbknhnll7 582 | 7twotgqrxddm5 583 | btlkbgbtwotwo5 584 | five63ninesnqx 585 | fivemkvjpslfoursixfivepjvtx4 586 | 74threeeighteight6cpbxbqgzh 587 | twoeight7bh 588 | rgtwo7fnck7 589 | five4sixnvjtcmx12one 590 | ghqgdfour33 591 | tjpdztkfour666dxgzjzlgnz 592 | ninegnqrqpbrz8seven7sevenhfbone 593 | npzlpklnvgone6nrjcpz8 594 | 2seven6m8 595 | seven3fivegqvxgrjcnine2xppl 596 | nbmvdgk9grz4 597 | four291 598 | tdnfgkzkxbfpkpcthreenineoneone1 599 | 7nineflqptxmdjgttpll 600 | one1jnhcvthree1 601 | foureightkxfcqlkp2fclpr8bzxtfbl8grdsntkrst 602 | six16fivezqbchmjbb 603 | zjhkd5two8 604 | 745shv 605 | l64dqvsixthreethree 606 | rffrrmjsfj2jblgqnl7gjfcqtszfour7 607 | fcqcmchhc7t 608 | twofour834ninefpvbvps 609 | gmhhjr94svpddnmxvd98threerlljccvq 610 | ninetwosevenb71three 611 | eight4xllkpmjkrp4bv 612 | zhvzsfourrkflmjpjhfourfjbd32jkvrpzqg 613 | 2frgbkngmsix9stldncmsczh 614 | eight9three42grlbfps85 615 | 1lrshxpgxlsnrlfjlxk2 616 | jfhmhcml8mvbfkxhmoneeight9 617 | five8sevenlzvpzpsbjfourseven1fkcfdf 618 | 4vmldcjpbbsnfourseven4three 619 | mfchhbqk7bdlrqhone2fiveone 620 | hnncfrgmnkg5six 621 | dbone55seven 622 | geightwoonevhxbqbpfkx6two67 623 | sixcrnq1hnrsttfxvjeighteighttwoone 624 | fiveonetwo7six 625 | 9nqrmt5n9fkpbhd7 626 | two1fivesixtsrq 627 | 684 628 | ckbxntxfhthreefour7sixseventwo 629 | stdhzqdpnxnine6tn7kjxftfbksevennhfxznjxgchm 630 | 8czxhfptlknjlhn5clhzdfgntx741 631 | 3nine64vvgsfour61pzb 632 | rloneight7lfrfqqb8fivefour3 633 | vnhbtkbqone4sixsevennmrgmmptvreight4 634 | bdvjp354992jgfhzzvhv 635 | fourp1 636 | five7oneseven 637 | oneone954threefivesixsfr 638 | sixfivevmzlzdfjvq5 639 | 4bs 640 | threetwo64ccks3 641 | onetxqh3ljpnkr9onegsmkq 642 | five24seven6threethreezfqzgzjztgntkcfzt 643 | 3fourv2 644 | eightoneeight6qseven47seven 645 | 559ninexcdkqvszsq1 646 | 95sixthreetwo8fourthreesix 647 | ksxtrn1gqxthvxjltfivejpmgvz8 648 | ninezdkfvgceightnine7sevenfiveeight1 649 | h43zktkckcjrg5nmzjkrzmjqsix3 650 | 44pqlgmmzvgzpslmnccdjlvq 651 | 4threefoursix87 652 | 92gnjfsxzlcn71qzcbvq6nhmgsvmbrvvjzqlndhl 653 | hkmjkc9fourpbgjlvqxhbhnzvmlnfrqsixsixksix 654 | mspbpsgzn31ninesix 655 | 7xqtttthreegr4fourrbflxfznfs5three 656 | rtpknqgsix7sixthreethree1one 657 | qqlqh8seven 658 | six11eightkh73one 659 | eight9mjzpmhcr999fourfive 660 | fzeightwo7smqq 661 | 7dzzxnttq 662 | 4vfk9 663 | ninermjmpprxmsdgrpgzmmqtjxkpfour5kscxs 664 | h5lnhnrqhvltpsns 665 | twosfdsxcjjhg871755 666 | 1one5 667 | 933zdzz1five2 668 | 4zxh9j 669 | bnlmdd9 670 | nine4xchhpgnfjtwohggvlkkxthznnf7four 671 | 3foursixhmsddvmqkgpjvone34 672 | bjfxjlseventhreeninesevenfivethree9 673 | qhqgxtjvslnvbvjsixjplmfq8 674 | 8ffjpthreerzkdjkjjzxvqkspsevenfive 675 | 3three4two1 676 | fiveldkk7ninesevenmfnjfjmdgeightprjrq 677 | 4rqbz6eight3lbgbpgcveightthreefive 678 | sixdsmvltdv2six3fourxtkzsvjdbvqfmthree 679 | 3one2xgzvczlxvfdpjqgninefourfourzft 680 | sixcnfznvcb8four 681 | 3threethree 682 | trzqdpslthree8 683 | 3fivefourninefivethreefive8nine 684 | 1sevensevennineninezmghprscjskqppgmh 685 | 6zfoneqkxhxmtwofour3four9 686 | twosix6dxftmjgclkkmzxmkglmqvsrtjcp 687 | ninejkbk8v5fivefivethree 688 | 9twoneqv 689 | 1cq51lklfoureight2 690 | 8sixfournine3one 691 | 5plgtszkt6856six 692 | qoneqjph11hgvhhkglsreight1pkxrltrzm 693 | nine25mlxmkmcg4xlrntfsrrxmlhdtzt1 694 | fivetfdzmsq2 695 | pdhnkbjrj5fiverjpgmntqkpmx 696 | fourvgc1msdnxrbpbcjfive 697 | 14tbcfmjl3sevenvj 698 | ninezrcfqvg9 699 | 5eighteightkkvtsbrkjlthreegspdm 700 | 99four5two9 701 | pvlvjvhmg5krzl149sixtknbgfsgvf 702 | 44tvzgpz1 703 | 8threenmhmptmshpcsix 704 | 5rdjmjnmkcd 705 | ctwo6 706 | two1dhtmsdtsds 707 | ndjd4sbzm5fourseven82 708 | rfqsxkdhcr1twotwo 709 | 4qrt5threetwosevenffjdvtzhgfd 710 | 6421 711 | sjgfshzjg5four 712 | threeqpvpvdhgjhpgqxsrhhp5dqjqlr 713 | five7ncchvpcfmglmfzstrmvhfnqndzrmvb5 714 | fvnfmcrh684bjq63dxnnlznrn 715 | threedccxvrtbj62bfqfzlpxms8five 716 | 893shxkgpvpfour36nine7 717 | dtoneightbrmthree6 718 | 6seven58nine1mgqqtzfsszlrgghmlknx 719 | four64 720 | five5dklfour4 721 | lgv2eightvcp 722 | pnfkrfnncv3lgqlrznone 723 | sgcthreegxrnfkpb731 724 | 8twothreetnxlmjtwoneb 725 | txkrmcklpdhclrklxz41lhddmkp 726 | rqndtwosixq8 727 | btbndntqsllxc6vzfrdqm2sixfiveeight 728 | rhvfourp1seven5cxcc 729 | jlzzqkvfxqltgbnj1 730 | 24szksixthreeone62 731 | 2fourfpmjltjnqvgrgxxbggtseven6qms 732 | 78prqkfbf6sevenfivesixeight 733 | drtwoszsevenckqrxfseven3sixseven 734 | zbsj6four 735 | hrcxgvdbd6 736 | six9three4onefournnsxgvjtrdthree 737 | 441 738 | fjnjksnvgjznxflonetwovcnmvhdgjfggfvxmmg2hppfcgjqv2 739 | kjszbvrcqznbf4eight5four 740 | twolmbrdmx8kpltmqznslfsixsix 741 | 6bjrfthk8 742 | gmzzsthreensrx3 743 | sevenz63xlscxeight 744 | fivehmrcphp7nine53 745 | fivepmqvjqllgthree5vkpn94nine 746 | seventhree9sbklvfvpsixr6 747 | one56six 748 | pfivetmqrbqxccpxsbcc87five8 749 | mtmnvlhfsix75ppk9rrqzbbplmbseven 750 | 547mmntlxflkztkkftxkrrk 751 | 5four9threelcqlsrlvg2 752 | gglpjhvjnnnrcbj3n55 753 | xgdbjcrxdf5jjdfrrkzkdzpjkrlstwogbzcjq 754 | cfmgxkjcfq9bkcpkrpltp 755 | fcqkjhqgpkthree4sixthree84frmfqqkrs 756 | onetwosveight68ftgjft3four 757 | jvlmg2eight3bdptwo4sixseven 758 | three1bhdkfnvt 759 | 6eight12fiveseven 760 | onedbxgcqnltfour35 761 | sxtwone5336psninexnrjsxsix 762 | four79one47jvmmhhggcthreecgkxhnlm 763 | 17eight2fivetzcfmrlxvd 764 | rxlhkjlm778oneone 765 | 8one1one499nine 766 | six2fqd 767 | 9smpkfchhzn8seventrpbvcssscseven 768 | nbmqctcldmnvnbnzns9twofive2three 769 | 1five1two 770 | 89brvbgnine 771 | vcbrztfjzn4 772 | 4fvmlvxjd 773 | lsixoneplt7two9 774 | kphbsssvsnjgjnvqjcbh2nkmfeightseven 775 | three4xsrmfldqgpqxbpsevenfour 776 | rzd8xzmcdch 777 | bjffone41xzone 778 | xkmhqhgr2lxpv4jnsrnfour 779 | 31cplcztdkhsix 780 | 6tkzzqqckvdlkxrfourrveightwoch 781 | 26vkvbdvggfcsjccrkzbh 782 | 3nr 783 | ninefourklmqgsix3cvnr 784 | mlnzksvhnvvbxpsfnspl6hpqkdmg 785 | btwone1jpgjdmgbfive 786 | 817sixqtvhxpfglj5kzmbtwofive 787 | 1tworcsevennine 788 | xseven69six11 789 | four3sevenjmgqzf3two 790 | mbrfzsj2 791 | 8xgsdninefourseven 792 | six14snscgfnconeeight4 793 | seven4fivefoureightfive1 794 | threegjgdnqvhqlbdv24fivexdvpdthree 795 | 9ldkmtzghbtwohqzzntwofive 796 | fourxh8 797 | eightfkxhflcone3xscqdqqkrk 798 | qzlbtgc2sevens7 799 | rfjgmfbjt185hztszz111 800 | pxsixssnfgtfour9 801 | zxflhgjnmbgfdqtzs4twojzxbrsix 802 | 7cc153fivel8 803 | bzoneightlrvmnrh98 804 | threetwogd6bhdkrjhxt2three 805 | hlrscbd8rvppfclqdtseven 806 | twofivelbjh3gbnbdbpthtgpqjmxjlmzjq9zqll 807 | 2fczpbhqjqfgzvzzkqgmsevenone58three 808 | fourzvmlt3sggpjzssljc8twoeighttwo 809 | ninescglkgftppbm187 810 | five1vll26two 811 | czghbj5827 812 | nine7threerngqxk 813 | four5bjbhfglffourseveneightfourj8 814 | djqrxfive4five8 815 | 3xzhpqc6six 816 | 1htdxrgtrhvpgz 817 | 5bkxxsccdftjmhkfjqvjzjnine 818 | pxpdfdnnpqzspxd9xrpvrxhnsix9four3 819 | gtxlzxdninexxhseven5 820 | xcdkvdg7nineeightsdjvkhzgmone 821 | zrnrrpxdfcnine2qgjxzfxcqgghbdk9 822 | twozrckqbppsixhh7pmrmnktnrb7five 823 | tdxpjz2kccgqzcslm8sixsixtwo 824 | 8tgcb32 825 | eight391gxm99five8 826 | one3fivegrpjr4trqxj5eighteight 827 | 7eightzsnndnine8fourgphhbhxn 828 | 7five8seven6mhkksix 829 | 8jvccfldpqfourgltcqbkpkfourtwohbvnnine2 830 | rrvmvtvbrmsgnstbghfl28 831 | 66fourninekjzfzrj 832 | seventwoninethree3plvfoureight5 833 | fmpzrfpqqbfivenine7 834 | nrkbbdqdthree1fkbfivefourqlksbfdsjtthplhjhlvgh 835 | 176seven 836 | 3fourfiveseven681 837 | five88rzxk3mqgtkvgpdx 838 | pgttnnvnhtl4rljpqjzhphmkztwokdqspbth 839 | 54eightgngggmdmnxgd 840 | d6jnkq78cgvkrgseven 841 | sixeight7eight1dmvvprm 842 | 72twotwo2kntsrccqkmzbn4 843 | snctbphhl2jgpghbvhg 844 | one5xxvhfive6twozmlxddppmb 845 | 145eight5jcpmqhkpgrdbvlzl3 846 | two4vtlfddtzrzlmkgx15 847 | 2fourseven9pxqzdf3 848 | 6ninec3 849 | ninefsix54 850 | sevenbzgrdbbvfmbkvb8 851 | vntfxdprf91rmgvxlxhntsztmggjr1 852 | six4spdffrjfthree595four 853 | pxfftjkdnninexkjvskrtpmjkhnncflz26 854 | dkjmxmhpc7eight7 855 | hsbdfeight9hhrjcn8twothreehjpnbhslcc 856 | 437kzcqvsmxkknfour 857 | 8twoone54sixvmlcjdnrgnqbmlrvdtnh 858 | one587 859 | 4kxxsrcseven33dcvbbgkbcd4fourfour 860 | nine56 861 | oneeightpz4rqbrcdvjbx55 862 | threefive33ninexrlj 863 | 3bxjdxlmlgs 864 | gqmkpqpppfour9fouroneeightseven 865 | 492 866 | one398threetwo6dseven 867 | j8vlfrninebdgnineljtvbeight 868 | nnnhx28sixtwo 869 | fiverbgztggr6ktrsfvbtqlbtdshqjxjhj 870 | qmdjfthzfour318hrffjj 871 | 977dpssrfgfxfxkk6 872 | rvklzfdfour3twofour8five 873 | czbjbfdcbs1rgkfscgntmhksixhqgbrmzvzrg 874 | 3xqlbqbcxnfq 875 | six29 876 | jhnfthree7 877 | five1821 878 | 578blhpbtrjthree83qtflsj 879 | fgzqnrvfcqkfrdmgkndmrxfctgvsbfive2eight5 880 | feight8eight 881 | 3qmfbdztrgpb5 882 | ck5three14lzmffcljxcr 883 | 3twoqgjqlvjeight5nddhpflj1 884 | vvdsttjjjgnrzgfournkkhp622onesix 885 | two7seven6 886 | 7941 887 | 28two7 888 | ninejhxnjctz3jtxmlmjg 889 | vmjpxvqg24pzjfsxvcg5seven2 890 | xpqbffpvmn5 891 | 32eightseventhreekqdgtcxgjxvv1seven 892 | 2eight3tllbkklghb7 893 | sevenfour1 894 | tjsjfldclvqq1sxcl 895 | mrdqvsxk15jbxstdph 896 | 9fivefivebbtcvhqjjdvvqeight 897 | fourdtbkzvhrbvzqnnzghnpv1231 898 | bz34five1 899 | six26two2 900 | bczkffnrtmsrctwoninelbnxoneeight2 901 | sevenstvffmtkqqxg57hthreeeight 902 | 4fivesevenrdfcdrxd4 903 | bbbrjsjrmn8px 904 | 317vncvpdrh91threetwosix 905 | 9sevenzpfivethreefivenineseven7 906 | twodsnvkbvfbtwo62tt6 907 | threesctkeight3vdjrnflh9nckgmzhdf4 908 | eightsixtwo39skhnzf 909 | foursix6 910 | 3sixzp5fdzjv 911 | ntwone9xzspfhrthreehsgpqdone62 912 | five9597tgrfbl9 913 | six4rvrcbbjzfdcgctsxjxmjrpc4thmmj8 914 | 3sixmdglgdj2zzrkgsdgk2 915 | cbfxpgftninekthreexvmhxmkx1fourf 916 | 76twoone 917 | 7six32two1fivefspjtdsix 918 | nrcntbgdtjsevenztsmsgfmfour9thslsmhgnk2three 919 | 21ltslbrnineseven7 920 | 41 921 | sevencdsnmzkspseven49 922 | jbzkthreebjgvhfhcftwojbzdbmcdlff29 923 | sevengjlph11fivexhzdrs 924 | fzkznzxgbsfq4 925 | gvpqjgrfdbdtrpqseven11mmjpkz5 926 | ksfjpnchqzqone15eightsixfivenine 927 | 2skjmpvdfoursixtwones 928 | dmtzhqfivethree3eighteightoneseven 929 | one6fourrrrtkkjvr 930 | 229spkrxlg 931 | 4xjqzfourdtmq 932 | mkv5six 933 | 8jdzlpqvc89two 934 | 2foursix69k 935 | xbqrmktzfive4 936 | five9rjrvcpfbseightfkmlgbvqkbqj 937 | qnmkvkmckfxqmdtwosevendj6sevensixfive 938 | mkdvknghvsgzrbbjqngbsqeight6mjxfivenineq 939 | 6two97mxm 940 | two26jjqjs 941 | 1scslcns 942 | pckdk4onesevenpnxq8lxxbzvftcbeightl 943 | qczvprdbeight3twosixsevenfivenbzj 944 | 462mfgmhfseven4vmv 945 | gqsrhltninethreedbkrjdfivetwo1 946 | ppsix99nine8qvhbnn48 947 | nine35fxlxqfctwonezf 948 | four2twofive1 949 | 847dsgonethree1vkmhmtv 950 | 8gnfbqmzszxdfkv5five 951 | 22kvqd 952 | five1sevenl59 953 | kgshxdjdfjqzthhplhjqxbjpbxggtz1 954 | fourbzbzvtfj8twoone6629 955 | hn28six1 956 | xqxknfivevxhljqpsixtwo3 957 | hsconethree1fourthree 958 | three5gnlgcthree36rkvlpkcvronefour 959 | rvjqkndonenine3hbrtlzhcbfbkcfive 960 | hhrmnbnct6rdxxtkxkcrbdfg5 961 | 6xsqkbthreerjgbzfhb 962 | sixnlxzmblfzx5cspjqthree 963 | 4twondrxjb 964 | 4three6b 965 | 4four3three16 966 | eight3hshdzptsq6twosfour3 967 | eight37twotrxvpxk2ksbldctj 968 | fourseven8fkmtqzdbfourseven 969 | 6vngvcmplx 970 | jhr6gfplmzpr2fourfive 971 | eightnine49twoeight2nfndmmb 972 | three7threej4xnffjtnckltwo 973 | onegzlnjsgzlg82mkbfhtmhfour 974 | 85vnseight5fivevcqrgvgrtp 975 | 47chxx6pkrdxvmrvvfxbl5 976 | 34ctkstrjxsnfourseven 977 | two9zcrghthreethree 978 | veight37 979 | two44nine449 980 | 58eight98cspxfhftvx 981 | cxpththree7pbmhhmkfzfvthree 982 | 8nine2hbmdnvbthree 983 | 1four6ncdvzqjqhx1 984 | 1bgqspl958lrj 985 | 7nvmqrnthreejbzgnzvzpgkr69 986 | 7576threesix 987 | twoc83pt 988 | fourkdnsvcq9sevendmhsdgt54threej 989 | zrjts8sixsix237flm 990 | 8eightrndfour 991 | two9jsix5gcxf 992 | fivefour7nineseven1qtcdqbp1four 993 | fourzvkqhdninetwoftscrmsd64nxsgx 994 | q1tdsskthree 995 | mkhttggvjh9ctzffdqdjnheightninegmxqxhqrfqgbgzt 996 | ninep2fourf 997 | fiveeight2zxjpzffvdsevenjhjvjfiveone 998 | 15737seven 999 | pdrss6oneone4fournine 1000 | 7b 1001 | --------------------------------------------------------------------------------