From 0c3a8478d4bf2e570efb38cc9ab24db4b4383979 Mon Sep 17 00:00:00 2001 From: Eveldee Date: Mon, 1 Dec 2025 22:14:56 +0100 Subject: [PATCH] [2k25] Add day 1 --- DayBenchmarker.cs | 2 +- Days/Day1.cs | 77 +- Days/Day10.cs | 169 -- Days/Day11.cs | 127 - Days/Day12.cs | 155 -- Days/Day13.cs | 87 - Days/Day14.cs | 151 -- Days/Day15.cs | 193 -- Days/Day16.cs | 289 --- Days/Day17.cs | 247 -- Days/Day18.cs | 204 -- Days/Day19.cs | 179 -- Days/Day2.cs | 139 -- Days/Day20.cs | 288 --- Days/Day21.cs | 183 -- Days/Day22.cs | 162 -- Days/Day23.cs | 172 -- Days/Day24.cs | 370 --- Days/Day25.cs | 111 - Days/Day3.cs | 109 - Days/Day4.cs | 136 -- Days/Day5.cs | 121 - Days/Day6.cs | 194 -- Days/Day7.cs | 119 - Days/Day8.cs | 169 -- Days/Day9.cs | 181 -- Inputs/Day1.txt | 5768 +++++++++++++++++++++++++++++++++++++-------- Inputs/Day10.txt | 60 - Inputs/Day11.txt | 1 - Inputs/Day12.txt | 140 -- Inputs/Day13.txt | 1279 ---------- Inputs/Day14.txt | 500 ---- Inputs/Day15.txt | 71 - Inputs/Day16.txt | 141 -- Inputs/Day17.txt | 5 - Inputs/Day18.txt | 3450 --------------------------- Inputs/Day19.txt | 402 ---- Inputs/Day2.txt | 1000 -------- Inputs/Day20.txt | 141 -- Inputs/Day21.txt | 5 - Inputs/Day22.txt | 2244 ------------------ Inputs/Day23.txt | 3380 -------------------------- Inputs/Day24.txt | 313 --- Inputs/Day25.txt | 3999 ------------------------------- Inputs/Day3.txt | 6 - Inputs/Day4.txt | 140 -- Inputs/Day5.txt | 1379 ----------- Inputs/Day6.txt | 130 - Inputs/Day7.txt | 850 ------- Inputs/Day8.txt | 50 - Inputs/Day9.txt | 1 - 51 files changed, 4819 insertions(+), 24970 deletions(-) delete mode 100644 Days/Day10.cs delete mode 100644 Days/Day11.cs delete mode 100644 Days/Day12.cs delete mode 100644 Days/Day13.cs delete mode 100644 Days/Day14.cs delete mode 100644 Days/Day15.cs delete mode 100644 Days/Day16.cs delete mode 100644 Days/Day17.cs delete mode 100644 Days/Day18.cs delete mode 100644 Days/Day19.cs delete mode 100644 Days/Day2.cs delete mode 100644 Days/Day20.cs delete mode 100644 Days/Day21.cs delete mode 100644 Days/Day22.cs delete mode 100644 Days/Day23.cs delete mode 100644 Days/Day24.cs delete mode 100644 Days/Day25.cs delete mode 100644 Days/Day3.cs delete mode 100644 Days/Day4.cs delete mode 100644 Days/Day5.cs delete mode 100644 Days/Day6.cs delete mode 100644 Days/Day7.cs delete mode 100644 Days/Day8.cs delete mode 100644 Days/Day9.cs delete mode 100644 Inputs/Day10.txt delete mode 100644 Inputs/Day11.txt delete mode 100644 Inputs/Day12.txt delete mode 100644 Inputs/Day13.txt delete mode 100644 Inputs/Day14.txt delete mode 100644 Inputs/Day15.txt delete mode 100644 Inputs/Day16.txt delete mode 100644 Inputs/Day17.txt delete mode 100644 Inputs/Day18.txt delete mode 100644 Inputs/Day19.txt delete mode 100644 Inputs/Day2.txt delete mode 100644 Inputs/Day20.txt delete mode 100644 Inputs/Day21.txt delete mode 100644 Inputs/Day22.txt delete mode 100644 Inputs/Day23.txt delete mode 100644 Inputs/Day24.txt delete mode 100644 Inputs/Day25.txt delete mode 100644 Inputs/Day3.txt delete mode 100644 Inputs/Day4.txt delete mode 100644 Inputs/Day5.txt delete mode 100644 Inputs/Day6.txt delete mode 100644 Inputs/Day7.txt delete mode 100644 Inputs/Day8.txt delete mode 100644 Inputs/Day9.txt diff --git a/DayBenchmarker.cs b/DayBenchmarker.cs index 4c3100b..fd3cdc7 100644 --- a/DayBenchmarker.cs +++ b/DayBenchmarker.cs @@ -7,7 +7,7 @@ namespace AdventOfCode; [MemoryDiagnoser(false)] public class DayBenchmark { - private Day Day { get; } = new Day10(); + private Day Day { get; } = new Day1(); [GlobalSetup] public void Setup() diff --git a/Days/Day1.cs b/Days/Day1.cs index b0ea858..b959d46 100644 --- a/Days/Day1.cs +++ b/Days/Day1.cs @@ -5,60 +5,83 @@ namespace AdventOfCode.Days; public class Day1 : Day { public override int Number => 1; - public override string Name => "Historian Hysteria"; + public override string Name => "Secret Entrance"; public override void RunPart1(bool display = true) { - List leftNumbers = []; - List rightNumbers = []; + var password = 0; + var dialPosition = 50; - foreach (var line in Input.AsSpan().EnumerateLines()) + foreach (var line in Input.EnumerateLines()) { - var separatorIndex = line.IndexOf(' '); + var direction = line[0]; + var offset = int.Parse(line[1..]); - leftNumbers.Add(int.Parse(line[..separatorIndex])); - rightNumbers.Add(int.Parse(line[(separatorIndex + 1)..])); + var sign = direction is 'L' + ? -1 + : +1; + + dialPosition = MathMod(dialPosition + (offset * sign), 100); + + if (dialPosition is 0) + { + password++; + } } - leftNumbers.Sort(); - rightNumbers.Sort(); - - var totalDistance = leftNumbers.Zip(rightNumbers, (a, b) => Math.Abs(a - b)).Sum(); - if (display) { - AnsiConsole.MarkupLine($"[green]Total distance is: [yellow]{totalDistance}[/][/]"); + AnsiConsole.MarkupLine($"[green]Safe password is: [yellow]{password}[/][/]"); } } public override void RunPart2(bool display = true) { - List leftNumbers = []; - Dictionary rightNumbersCount = []; - var similarityScore = 0; + var password = 0; + var dialPosition = 50; - foreach (var line in Input.AsSpan().EnumerateLines()) + foreach (var line in Input.EnumerateLines()) { - var separatorIndex = line.IndexOf(' '); + var direction = line[0]; + var offset = int.Parse(line[1..]); - leftNumbers.Add(int.Parse(line[..separatorIndex])); + var originalSign = Math.Sign(dialPosition); - var rightNumber = int.Parse(line[(separatorIndex + 1)..]); + var sign = direction is 'L' + ? -1 + : +1; - if (!rightNumbersCount.TryAdd(rightNumber, 1)) + dialPosition = dialPosition + (offset * sign); + + int clickCount; + if (dialPosition is 0) { - rightNumbersCount[rightNumber]++; + clickCount = 1; } - } + else + { + clickCount = Math.Abs(dialPosition) / 100; // Number of times the dial passed by 0 - foreach (var leftNumber in leftNumbers) - { - similarityScore += leftNumber * rightNumbersCount.GetValueOrDefault(leftNumber); + // If we did a loop around it counts as a "click" too + if (originalSign != 0 && originalSign != Math.Sign(dialPosition)) + { + clickCount++; + } + } + + dialPosition = MathMod(dialPosition, 100); + + password += clickCount; } if (display) { - AnsiConsole.MarkupLine($"[green]Similarity score is: [yellow]{similarityScore}[/][/]"); + AnsiConsole.MarkupLine($"[green]Safe password is: [yellow]{password}[/][/]"); } } + + private static int MathMod(int left, int right) + { + return (Math.Abs(left * right) + left) % right; + } } \ No newline at end of file diff --git a/Days/Day10.cs b/Days/Day10.cs deleted file mode 100644 index 909f3f1..0000000 --- a/Days/Day10.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day10 : Day -{ - public override int Number => 10; - public override string Name => "Hoof It"; - - private const int MapSize = 60; - - public override void RunPart1(bool display = true) - { - var hikingTrailsScores = 0; - - var (heightMap, trailHeads) = ParseMap(); - - var hikingTrails = new HashSet(); - - foreach (var trailHead in trailHeads) - { - hikingTrails.Clear(); - - GetHikingTrailScore(trailHead, -1); - - hikingTrailsScores += hikingTrails.Count; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Sum of scores of hiking trails: [yellow]{hikingTrailsScores}[/][/]"); - } - - return; - - void GetHikingTrailScore(Point position, int previousHeight) - { - // Out of bounds - if (position is { X: < 0 or >= MapSize } or { Y: < 0 or >= MapSize }) - { - return; - } - - var height = heightMap[position.X, position.Y]; - - if (height - previousHeight is not 1) - { - return; - } - - if (height == 9) - { - hikingTrails.Add(position); - } - - - GetHikingTrailScore(position + (1, 0), height); - GetHikingTrailScore(position + (-1, 0), height); - GetHikingTrailScore(position + (0, 1), height); - GetHikingTrailScore(position + (0, -1), height); - } - } - - public override void RunPart2(bool display = true) - { - var (heightMap, trailHeads) = ParseMap(); - - var totalRating = 0; - - foreach (var trailHead in trailHeads) - { - GetHikingTrailRating(trailHead, -1); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Total rating of hiking trails: [yellow]{totalRating}[/][/]"); - } - - return; - - void GetHikingTrailRating(Point position, int previousHeight) - { - // Out of bounds - if (position is { X: < 0 or >= MapSize } or { Y: < 0 or >= MapSize }) - { - return; - } - - var height = heightMap[position.X, position.Y]; - - if (height - previousHeight is not 1) - { - return; - } - - if (height == 9) - { - totalRating++; - } - - GetHikingTrailRating(position + (1, 0), height); - GetHikingTrailRating(position + (-1, 0), height); - GetHikingTrailRating(position + (0, 1), height); - GetHikingTrailRating(position + (0, -1), height); - } - } - - private (byte[,] HeightMap, List TrailHeads) ParseMap() - { - var heightMap = new byte[MapSize, MapSize]; - var trailHeads = new List(); - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var x = 0; - foreach (var height in line) - { - var heightValue = height - '0'; - - if (heightValue is 0) - { - trailHeads.Add(new Point(x, y)); - } - - heightMap[x, y] = (byte)heightValue; - - x++; - } - - y++; - } - - return (heightMap, trailHeads); - } - - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day11.cs b/Days/Day11.cs deleted file mode 100644 index 1fc0930..0000000 --- a/Days/Day11.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day11 : Day -{ - public override int Number => 11; - public override string Name => "Plutonian Pebbles"; - - private const int BlinkIterations = 25; - - public override void RunPart1(bool display = true) - { - var stones = ParseStones(); - - for (var iteration = 0; iteration < BlinkIterations; iteration++) - { - var index = 0; - - while (index < stones.Count) - { - var stone = stones[index]; - var stoneString = stone.ToString(); - - if (stone is 0) - { - stones[index] = 1; - } - else if (stoneString.Length % 2 == 0) - { - var splitIndex = stoneString.Length / 2; - - var leftStone = long.Parse(stoneString[..splitIndex]); - var rightStone = long.Parse(stoneString[splitIndex..]); - - stones[index] = leftStone; - stones.Insert(index + 1, rightStone); - - index++; - } - else - { - stones[index] = stone * 2024; - } - - index++; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of stones after blinking {BlinkIterations} times: [yellow]{stones.Count}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var stones = ParseStones().ToDictionary(s => s, _ => 1L); - - for (var iteration = 0; iteration < (BlinkIterations * 3); iteration++) - { - var stonesToIterate = stones.ToList(); - - foreach (var (stone, count) in stonesToIterate) - { - var stoneString = stone.ToString(); - - if (stone is 0) - { - SafeAdd(stones, 1, count); - } - else if (stoneString.Length % 2 == 0) - { - var splitIndex = stoneString.Length / 2; - - var leftStone = long.Parse(stoneString[..splitIndex]); - var rightStone = long.Parse(stoneString[splitIndex..]); - - SafeAdd(stones, leftStone, count); - SafeAdd(stones, rightStone, count); - } - else - { - SafeAdd(stones, stone * 2024, count); - - } - - SafeAdd(stones, stone, -count); - } - } - - var stonesCount = stones.Sum(p => p.Value); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of stones after blinking {BlinkIterations} times: [yellow]{stonesCount}[/][/]"); - } - } - - private List ParseStones() - { - var stones = new List(); - - var span = Input.AsSpan(); - - foreach (var stoneRange in span.Split(' ')) - { - stones.Add(long.Parse(span[stoneRange])); - } - - return stones; - } - - private void SafeAdd(Dictionary dictionary, long key, long valueToAdd) - { - if (dictionary.TryGetValue(key, out var currentValue)) - { - dictionary[key] = currentValue + valueToAdd; - } - else - { - dictionary[key] = valueToAdd; - } - } -} \ No newline at end of file diff --git a/Days/Day12.cs b/Days/Day12.cs deleted file mode 100644 index 3aeb14f..0000000 --- a/Days/Day12.cs +++ /dev/null @@ -1,155 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day12 : Day -{ - public override int Number => 12; - public override string Name => "Garden Groups"; - - private const int GridSize = 140; - - public override void RunPart1(bool display = true) - { - var areas = ParseAreas(); - - var visited = new HashSet(); - var totalPrice = 0; - - var currentArea = 0; - var currentPerimeter = 0; - - for (var y = 0; y < GridSize; y++) - { - for (var x = 0; x < GridSize; x++) - { - // Skip already visited points - if (visited.Contains(new Point(x, y))) - { - continue; - } - - var id = areas[x, y]; - - ComputeAreaPrice(new Point(x, y), id, ref currentArea, ref currentPerimeter); - - // Add price of fencing this area - totalPrice += currentArea * currentPerimeter; - - currentArea = 0; - currentPerimeter = 0; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Total pricing: [yellow]{totalPrice}[/][/]"); - } - - return; - - void ComputeAreaPrice(Point position, byte id, ref int area, ref int perimeter) - { - if (!visited.Add(position)) - { - return; - } - - // Update area and perimeter - area++; - perimeter += 4; - - var left = position with { X = position.X - 1 }; - var right = position with { X = position.X + 1 }; - var up = position with { Y = position.Y - 1 }; - var down = position with { Y = position.Y + 1 }; - - if (left is { X: >= 0 and < GridSize } && areas[left.X, left.Y] == id) - { - perimeter--; - - ComputeAreaPrice(left, id, ref area, ref perimeter); - } - - if (right is { X: >= 0 and < GridSize } && areas[right.X, right.Y] == id) - { - perimeter--; - - ComputeAreaPrice(right, id, ref area, ref perimeter); - } - - if (up is { Y: >= 0 and < GridSize } && areas[up.X, up.Y] == id) - { - perimeter--; - - ComputeAreaPrice(up, id, ref area, ref perimeter); - } - - if (down is { Y: >= 0 and < GridSize } && areas[down.X, down.Y] == id) - { - perimeter--; - - ComputeAreaPrice(down, id, ref area, ref perimeter); - } - } - } - - public override void RunPart2(bool display = true) - { - - } - - private byte[,] ParseAreas() - { - var areas = new byte[GridSize, GridSize]; - - int y = 0; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - int x = 0; - - foreach (var area in line) - { - areas[x, y] = (byte)(area - 'A'); - - x++; - } - - y++; - } - - return areas; - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day13.cs b/Days/Day13.cs deleted file mode 100644 index b6543db..0000000 --- a/Days/Day13.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day13 : Day -{ - public override int Number => 13; - public override string Name => "Claw Contraption"; - - private const int MaxButtonPress = 100; - private const int ButtonACost = 3; - private const int ButtonBCost = 1; - - public override void RunPart1(bool display = true) - { - var lines = Input.AsSpan().EnumerateLines(); - - var minimumTokensToWin = 0; - - while (lines.MoveNext()) - { - var (aX, aY, bX, bY, goalX, goalY) = ParseMachine(ref lines); - - for (var i = MaxButtonPress; i >= 0; i--) - { - var xOffset = bX * i; - - if (xOffset > goalX) - { - continue; - } - - if ((goalX - xOffset) % aX != 0) - { - continue; - } - - var timesAPressed = (goalX - xOffset) / aX; - - if (bY * i + aY * timesAPressed != goalY) - { - continue; - } - - minimumTokensToWin += i * ButtonBCost + timesAPressed * ButtonACost; - - break; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Minimum tokens to win all prizes: [yellow]{minimumTokensToWin}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - - } - - private (int aX, int aY, int bX, int bY, int goalX, int goalY) ParseMachine(ref SpanLineEnumerator lines) - { - var lineA = lines.Current; - lines.MoveNext(); - - var lineB = lines.Current; - lines.MoveNext(); - - var lineGoal = lines.Current; - lines.MoveNext(); - - return ( - int.Parse(lineA[(lineA.IndexOf('+') + 1)..lineA.IndexOf(',')]), - int.Parse(lineA[(lineA.LastIndexOf('+') + 1)..]), - - int.Parse(lineB[(lineB.IndexOf('+') + 1)..lineB.IndexOf(',')]), - int.Parse(lineB[(lineB.LastIndexOf('+') + 1)..]), - - int.Parse(lineGoal[(lineGoal.IndexOf('=') + 1)..lineGoal.IndexOf(',')]), - int.Parse(lineGoal[(lineGoal.LastIndexOf('=') + 1)..]) - ); - } -} \ No newline at end of file diff --git a/Days/Day14.cs b/Days/Day14.cs deleted file mode 100644 index 2713762..0000000 --- a/Days/Day14.cs +++ /dev/null @@ -1,151 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day14 : Day -{ - public override int Number => 14; - public override string Name => "Restroom Redoubt"; - - private const int Height = 103; - private const int HeightCenter = Height / 2; - - private const int Width = 101; - private const int WidthCenter = Width / 2; - - private const int Iterations = 100; - - public override void RunPart1(bool display = true) - { - var robots = ParseRobots(); - - for (var i = 0; i < Iterations; i++) - { - foreach (var robot in robots) - { - robot.Position = new Point( - Math.Abs((Width + robot.Position.X + robot.Velocity.X) % Width), - Math.Abs((Height + robot.Position.Y + robot.Velocity.Y) % Height) - ); - } - } - - // Compute safety factor - var safetyFactor = - robots.Count(r => r.Position is { X: < WidthCenter, Y: < HeightCenter }) * - robots.Count(r => r.Position is { X: > WidthCenter, Y: < HeightCenter }) * - robots.Count(r => r.Position is { X: < WidthCenter, Y: > HeightCenter }) * - robots.Count(r => r.Position is { X: > WidthCenter, Y: > HeightCenter }); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Safety factor: [yellow]{safetyFactor}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var robots = ParseRobots(); - - var canvas = new Canvas(Width, Height); - - for (var i = 0; i < int.MaxValue; i++) - { - for (var x = 0; x < Width; x++) - { - for (var y = 0; y < Height; y++) - { - canvas.SetPixel(x, y, Color.Grey23); - } - } - - foreach (var robot in robots) - { - robot.Position = new Point( - Math.Abs((Width + robot.Position.X + robot.Velocity.X) % Width), - Math.Abs((Height + robot.Position.Y + robot.Velocity.Y) % Height) - ); - - canvas.SetPixel(robot.Position.X, robot.Position.Y, Color.Green1); - } - - // Display grid - if ((i + 1 - 46) % 101 == 0) - { - AnsiConsole.Write(canvas); - AnsiConsole.WriteLine(); - - AnsiConsole.Write($"Seconds elapsed: {i + 1}"); - - var key = Console.ReadKey(true).Key; - - if (key is ConsoleKey.Enter) - { - AnsiConsole.WriteLine(); - AnsiConsole.WriteLine(); - AnsiConsole.MarkupLine($"[green]Image at instant: [yellow]t={i + 1}s[/][/]"); - - break; - } - - AnsiConsole.Clear(); - } - } - } - - private List ParseRobots() - { - var robots = new List(); - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var positionX = int.Parse(line[(line.IndexOf('=') + 1)..line.IndexOf(',')]); - var positionY = int.Parse(line[(line.IndexOf(',') + 1)..line.IndexOf(' ')]); - - var velocityX = int.Parse(line[(line.LastIndexOf('=') + 1)..line.LastIndexOf(',')]); - var velocityY = int.Parse(line[(line.LastIndexOf(',') + 1)..]); - - robots.Add(new Robot(new Point(positionX, positionY), new Point(velocityX, velocityY))); - } - - return robots; - } - - private class Robot(Point position, Point velocity) - { - public Point Position { get; set; } = position; - public Point Velocity { get; } = velocity; - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day15.cs b/Days/Day15.cs deleted file mode 100644 index c08eee1..0000000 --- a/Days/Day15.cs +++ /dev/null @@ -1,193 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day15 : Day -{ - public override int Number => 15; - public override string Name => "Warehouse Woes"; - - private const int Size = 50; - - private const char Wall = '#'; - private const char Box = 'O'; - private const char Empty = '.'; - - private const char InstructionLeft = '<'; - private const char InstructionRight = '>'; - private const char InstructionUp = '^'; - private const char InstructionDown = 'v'; - - public override void RunPart1(bool display = true) - { - var (map, position, instructions) = ParseMap(); - - foreach (var instruction in instructions) - { - var direction = instruction switch - { - InstructionLeft => new Point(-1, 0), - InstructionRight => new Point(1, 0), - InstructionUp => new Point(0, -1), - InstructionDown => new Point(0, 1), - _ => throw new ArgumentException($"Invalid instruction: {instruction}") - }; - - var destination = position + direction; - - // Destination is free, just move - if (map[destination.X, destination.Y] is not (Wall or Box)) - { - position = destination; - } - // Destination is a box, check if there is a free space further up and move accordingly - else if (map[destination.X, destination.Y] is Box) - { - var pushTarget = destination + direction; - - while (map[pushTarget.X, pushTarget.Y] is Box) - { - pushTarget += direction; - } - - // Cannot move anything since there is a wall - if (map[pushTarget.X, pushTarget.Y] is Wall) - { - continue; - } - - // Move robot and boxes (only need to move first and last box of a chain) - position = destination; - - map[destination.X, destination.Y] = Empty; - map[pushTarget.X, pushTarget.Y] = Box; - } - // Else destination is a wall, do nothing - } - - var coordinatesSum = 0; - - // Count gps coordinates - for (var x = 0; x < Size; x++) - { - for (var y = 0; y < Size; y++) - { - if (map[x, y] is Box) - { - coordinatesSum += 100 * y + x; - - } - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Sum of boxes GPS coordinates: [yellow]{coordinatesSum}[/][/]"); - } - } - - private static void DisplayGrid(char[,] map) - { - for (var y = 0; y < Size; y++) - { - for (var x = 0; x < Size; x++) - { - AnsiConsole.Write(map[x, y]); - } - - AnsiConsole.WriteLine(); - } - - AnsiConsole.WriteLine(); - } - - public override void RunPart2(bool display = true) - { - - } - - private (char[,] Map, Point Start, List Instructions) ParseMap() - { - var readingMap = true; - - var map = new char[Size, Size]; - - Point start = default; - - var instructions = new List(); - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (line.IsWhiteSpace()) - { - readingMap = false; - - continue; - } - - if (readingMap) - { - var x = 0; - foreach (var symbol in line) - { - map[x, y] = Empty; - - if (symbol is Wall or Box) - { - map[x, y] = symbol; - } - else if (symbol is '@') - { - start = new Point(x, y); - } - - x++; - } - - y++; - } - else - { - foreach (var instruction in line) - { - instructions.Add(instruction); - } - } - } - - return (map, start, instructions); - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day16.cs b/Days/Day16.cs deleted file mode 100644 index 5145718..0000000 --- a/Days/Day16.cs +++ /dev/null @@ -1,289 +0,0 @@ -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day16 : Day -{ - public override int Number => 16; - public override string Name => "Reindeer Maze"; - - private const int Size = 141; - - private const char Wall = '#'; - private const char Empty = '.'; - private const char Start = 'S'; - private const char End = 'E'; - - private static readonly Point DirectionUp = new(0, -1); - private static readonly Point DirectionDown = new(0, 1); - private static readonly Point DirectionLeft = new(-1, 0); - private static readonly Point DirectionRight = new(1, 0); - - public override void RunPart1(bool display = true) - { - var (maze, start, end) = ParseMaze(); - - var visited = new Dictionary<(Point Position, Point Direction), int>(); - - var minimumScore = int.MaxValue; - - var toVisit = new Queue<(Point Position, Point Direction, int Score)>(); - - toVisit.Enqueue((start, DirectionRight, 0)); - - while (toVisit.Count > 0) - { - var (position, direction, score) = toVisit.Dequeue(); - - if (visited.TryGetValue((position, direction), out var savedScore) && savedScore <= score) - { - continue; - } - - visited[(position, direction)] = score; - - // Reached end - if (position == end) - { - if (score < minimumScore) - { - minimumScore = score; - } - - continue; - } - - // Try forward if there is no wall - var destination = position + direction; - - if (maze[destination.X, destination.Y] is not Wall) - { - toVisit.Enqueue((destination, direction, score + 1)); - } - - // Also try changing direction - toVisit.Enqueue((position, NextDirection(direction), score + 1000)); - toVisit.Enqueue((position, PreviousDirection(direction), score + 1000)); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Lowest score: [yellow]{minimumScore}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var (maze, start, end) = ParseMaze(); - - var visited = new Dictionary<(Point Position, Point Direction), int>(); - - var minimumScore = int.MaxValue; - - var toVisit = new Queue<(Point Position, Point Direction, int Score)>(); - - toVisit.Enqueue((start, DirectionRight, 0)); - - // First we need to find minimum score - while (toVisit.Count > 0) - { - var (position, direction, score) = toVisit.Dequeue(); - - if (visited.TryGetValue((position, direction), out var savedScore) && savedScore <= score) - { - continue; - } - - visited[(position, direction)] = score; - - // Reached end - if (position == end) - { - if (score < minimumScore) - { - minimumScore = score; - } - - continue; - } - - // Try forward if there is no wall - var destination = position + direction; - - if (maze[destination.X, destination.Y] is not Wall) - { - toVisit.Enqueue((destination, direction, score + 1)); - } - - // Also try changing direction - toVisit.Enqueue((position, NextDirection(direction), score + 1000)); - toVisit.Enqueue((position, PreviousDirection(direction), score + 1000)); - } - - // Now that we have minimum score, we need to find all the paths that lead to this score - var toVisitPath = new Stack<(Point Position, Point Direction, int Score, List Path)>(); - toVisitPath.Push((start, DirectionRight, 0, [])); - - var minimumScorePaths = new List>(); - - while (toVisitPath.Count > 0) - { - var (position, direction, score, path) = toVisitPath.Pop(); - - if (score > minimumScore) - { - continue; - } - - if (visited.TryGetValue((position, direction), out var savedScore) && savedScore < score) - { - continue; - } - - path.Add(position); - - // Reached end - if (position == end) - { - minimumScorePaths.Add(path); - - continue; - } - - // Try forward if there is no wall - var destination = position + direction; - - if (maze[destination.X, destination.Y] is not Wall) - { - toVisitPath.Push((destination, direction, score + 1, path)); - } - - // Also try changing direction - toVisitPath.Push((position, NextDirection(direction), score + 1000, path.ToList())); - toVisitPath.Push((position, PreviousDirection(direction), score + 1000, path.ToList())); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Unique positions in optimal paths: [yellow]{minimumScorePaths.SelectMany(l => l).ToHashSet().Count}[/][/]"); - } - } - - private (char[,] Maze, Point Start, Point end) ParseMaze() - { - var maze = new char[Size, Size]; - Point start = default; - Point end = default; - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var x = 0; - foreach (var symbol in line) - { - if (symbol is Start) - { - start = new Point(x, y); - - maze[x, y] = Empty; - } - else if (symbol is End) - { - end = new Point(x, y); - - maze[x, y] = Empty; - } - else - { - maze[x, y] = symbol; - } - - x++; - } - - y++; - } - - return (maze, start, end); - } - - private static Point NextDirection(Point direction) - { - if (direction == DirectionUp) - { - return DirectionRight; - } - - if (direction == DirectionRight) - { - return DirectionDown; - } - - if (direction == DirectionDown) - { - return DirectionLeft; - } - - if (direction == DirectionLeft) - { - return DirectionUp; - } - - throw new ArgumentException("Invalid direction", nameof(direction)); - } - - private static Point PreviousDirection(Point direction) - { - if (direction == DirectionUp) - { - return DirectionLeft; - } - - if (direction == DirectionLeft) - { - return DirectionDown; - } - - if (direction == DirectionDown) - { - return DirectionRight; - } - - if (direction == DirectionRight) - { - return DirectionUp; - } - - throw new ArgumentException("Invalid direction", nameof(direction)); - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day17.cs b/Days/Day17.cs deleted file mode 100644 index 9ad405b..0000000 --- a/Days/Day17.cs +++ /dev/null @@ -1,247 +0,0 @@ -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day17 : Day -{ - public override int Number => 17; - public override string Name => "Chronospatial Computer"; - - public override void RunPart1(bool display = true) - { - var (registerA, registerB, registerC, program) = ParseState(); - - var toOutput = new List(); - var instructionPointer = 0; - - while (instructionPointer < program.Length) - { - var opCode = program[instructionPointer]; - - var isComboOperand = opCode switch - { - 0 => true, - 1 => false, - 2 => true, - 3 => false, - 4 => false, - 5 => true, - 6 => true, - 7 => true, - _ => throw new ArgumentOutOfRangeException(nameof(opCode)) - }; - - var operand = (isComboOperand, program[instructionPointer + 1]) switch - { - (false, var literalValue) => literalValue, - (true, 0) => 0, - (true, 1) => 1, - (true, 2) => 2, - (true, 3) => 3, - (true, 4) => registerA, - (true, 5) => registerB, - (true, 6) => registerC, - _ => throw new ArgumentOutOfRangeException() - }; - - switch (opCode) - { - // adv - case 0: - registerA = (int)(registerA / Math.Pow(2, operand)); - break; - - // bxl - case 1: - registerB = registerB ^ operand; - break; - - // bst - case 2: - registerB = operand % 8; - break; - - // jnz - case 3: - if (registerA is not 0) - { - instructionPointer = operand - 2; - } - break; - - // bxc - case 4: - registerB = registerB ^ registerC; - break; - - // out - case 5: - toOutput.Add(operand % 8); - break; - - // bdv - case 6: - registerB = (int)(registerA / Math.Pow(2, operand)); - break; - - // cdv - case 7: - registerC = (int)(registerA / Math.Pow(2, operand)); - break; - } - - instructionPointer += 2; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Output: [yellow]{string.Join(',', toOutput)}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var (_, originalRegisterB, originalRegisterC, program) = ParseState(); - var toOutput = new List(); - var instructionPointer = 0; - - var finalRegisterA = 0; - - AnsiConsole.Status().Start("Computing (0)...", ctx => - { - for (var initialRegisterA = 0; initialRegisterA < int.MaxValue; initialRegisterA++) - { - // Reset state - var registerA = initialRegisterA; - var registerB = originalRegisterB; - var registerC = originalRegisterC; - - toOutput.Clear(); - instructionPointer = 0; - - while (instructionPointer < program.Length) - { - var opCode = program[instructionPointer]; - - var isComboOperand = opCode switch - { - 0 => true, - 1 => false, - 2 => true, - 3 => false, - 4 => false, - 5 => true, - 6 => true, - 7 => true, - _ => throw new ArgumentOutOfRangeException(nameof(opCode)) - }; - - var operand = (isComboOperand, program[instructionPointer + 1]) switch - { - (false, var literalValue) => literalValue, - (true, 0) => 0, - (true, 1) => 1, - (true, 2) => 2, - (true, 3) => 3, - (true, 4) => registerA, - (true, 5) => registerB, - (true, 6) => registerC, - _ => throw new ArgumentOutOfRangeException() - }; - - switch (opCode) - { - // adv - case 0: - registerA = (int)(registerA / Math.Pow(2, operand)); - break; - - // bxl - case 1: - registerB = registerB ^ operand; - break; - - // bst - case 2: - registerB = operand % 8; - break; - - // jnz - case 3: - if (registerA is not 0) - { - instructionPointer = operand - 2; - } - break; - - // bxc - case 4: - registerB = registerB ^ registerC; - break; - - // out - case 5: - toOutput.Add(operand % 8); - break; - - // bdv - case 6: - registerB = (int)(registerA / Math.Pow(2, operand)); - break; - - // cdv - case 7: - registerC = (int)(registerA / Math.Pow(2, operand)); - break; - } - - instructionPointer += 2; - } - - if (initialRegisterA % 1000 == 0) - { - ctx.Status($"Computing ({initialRegisterA})..."); - } - - // Check if output is the program itself - if (toOutput.SequenceEqual(program)) - { - finalRegisterA = initialRegisterA; - - break; - } - } - }); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Lowest possible value for register A to output itself: [yellow]{finalRegisterA}[/][/]"); - } - } - - private (int RegisterA, int RegisterN, int RegisterC, int[] Program) ParseState() - { - var lineIterator = Input.AsSpan().EnumerateLines(); - - lineIterator.MoveNext(); - var registerA = int.Parse(lineIterator.Current[(lineIterator.Current.IndexOf(':') + 2)..]); - - lineIterator.MoveNext(); - var registerB = int.Parse(lineIterator.Current[(lineIterator.Current.IndexOf(':') + 2)..]); - - lineIterator.MoveNext(); - var registerC = int.Parse(lineIterator.Current[(lineIterator.Current.IndexOf(':') + 2)..]); - - lineIterator.MoveNext(); - lineIterator.MoveNext(); - - var program = lineIterator.Current[(lineIterator.Current.IndexOf(':') + 2)..] - .ToString() - .Split(',') - .Select(int.Parse) - .ToArray(); - - return (registerA, registerB, registerC, program); - } -} \ No newline at end of file diff --git a/Days/Day18.cs b/Days/Day18.cs deleted file mode 100644 index 50659cf..0000000 --- a/Days/Day18.cs +++ /dev/null @@ -1,204 +0,0 @@ -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day18 : Day -{ - public override int Number => 18; - public override string Name => "RAM Run"; - - private const int Size = 71; - - private const char Corrupted = '#'; - private const char Empty = ' '; - - public override void RunPart1(bool display = true) - { - var grid = ParseGrid(1024); - - var visited = new Dictionary(); - var toVisit = new Queue<(Point Position, int Score)>(); - - var end = new Point(Size - 1, Size - 1); - - var minimumScore = int.MaxValue; - - toVisit.Enqueue((new Point(0, 0), 0)); - - while (toVisit.Count > 0) - { - var (position, score) = toVisit.Dequeue(); - - // Cannot go out of bounds - if (position is { X: < 0 or >= Size } or { Y: < 0 or >= Size }) - { - continue; - } - - // Cannot go onto a corrupted space - if (grid[position.X, position.Y] is Corrupted) - { - continue; - } - - if (visited.TryGetValue(position, out var savedScore) && savedScore <= score) - { - continue; - } - - visited[position] = score; - - // End - if (position == end) - { - if (score < minimumScore) - { - minimumScore = score; - } - - continue; - } - - toVisit.Enqueue((position + (1, 0), score + 1)); - toVisit.Enqueue((position + (-1, 0), score + 1)); - toVisit.Enqueue((position + (0, 1), score + 1)); - toVisit.Enqueue((position + (0, -1), score + 1)); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Minimum number of steps to reach the exit: [yellow]{minimumScore}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - (int X, int Y)[] bytesToFall = Input.ReadAllLines() - .Select(line => line.Split(',')) - .Select(split => (int.Parse(split[0]), int.Parse(split[1]))) - .ToArray(); - - var nextByteIndex = 1024; - var grid = ParseGrid(1024); - - while (true) - { - var nextByte = bytesToFall[nextByteIndex]; - - grid[nextByte.X, nextByte.Y] = Corrupted; - - if (!IsGridCompletable()) - { - break; - } - - nextByteIndex++; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Grid will be blocked at byte n°{nextByteIndex} at position: [yellow]{bytesToFall[nextByteIndex]}[/][/]"); - } - - return; - - bool IsGridCompletable() - { - var visited = new HashSet(); - var toVisit = new Queue(); - - var end = new Point(Size - 1, Size - 1); - - toVisit.Enqueue(new Point(0, 0)); - - while (toVisit.Count > 0) - { - var position = toVisit.Dequeue(); - - // Cannot go out of bounds - if (position is { X: < 0 or >= Size } or { Y: < 0 or >= Size }) - { - continue; - } - - // Cannot go onto a corrupted space - if (grid[position.X, position.Y] is Corrupted) - { - continue; - } - - if (!visited.Add(position)) - { - continue; - } - - // End - if (position == end) - { - return true; - } - - toVisit.Enqueue(position + (1, 0)); - toVisit.Enqueue(position + (-1, 0)); - toVisit.Enqueue(position + (0, 1)); - toVisit.Enqueue(position + (0, -1)); - } - - return false; - } - } - - private char[,] ParseGrid(int limit) - { - var grid = new char[Size, Size]; - - var counter = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (counter >= limit) - { - break; - } - - var x = int.Parse(line[..line.IndexOf(',')]); - var y = int.Parse(line[(line.IndexOf(',') + 1)..]); - - grid[x, y] = Corrupted; - - counter++; - } - - return grid; - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - } -} \ No newline at end of file diff --git a/Days/Day19.cs b/Days/Day19.cs deleted file mode 100644 index bd73b9e..0000000 --- a/Days/Day19.cs +++ /dev/null @@ -1,179 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day19 : Day -{ - public override int Number => 19; - public override string Name => "Linen Layout"; - - public override void RunPart1(bool display = true) - { - var (towels, patterns) = ParseInput(); - var impossiblePatterns = new HashSet(); - - var possiblePatterns = 0; - - foreach (var pattern in patterns) - { - // Check if it's possible to make this pattern - if (CheckPattern(pattern)) - { - possiblePatterns++; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of designs that are possible: [yellow]{possiblePatterns}[/][/]"); - } - - return; - - bool CheckPattern(ReadOnlySpan pattern) - { - // Console.WriteLine($"Checking '{pattern}'"); - - if (pattern.Length is 0) - { - return true; - } - - if (impossiblePatterns.Contains(pattern.ToString())) - { - return false; - } - - var prefix = pattern[0]; - - if (!towels.TryGetValue(prefix, out var towelsList)) - { - impossiblePatterns.Add(pattern.ToString()); - - return false; - } - - foreach (var towel in towelsList) - { - if (pattern.StartsWith(towel) && CheckPattern(pattern[towel.Length..])) - { - return true; - } - } - - impossiblePatterns.Add(pattern.ToString()); - - return false; - } - } - - public override void RunPart2(bool display = true) - { - var (towels, patterns) = ParseInput(); - var impossiblePatterns = new HashSet(); - var knownPatterns = new Dictionary(); - - var possibleCombinations = 0L; - - foreach (var pattern in patterns) - { - // Check if it's possible to make this pattern - possibleCombinations += CheckPattern(pattern); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of combinations that are possible: [yellow]{possibleCombinations}[/][/]"); - } - - return; - - long CheckPattern(ReadOnlySpan pattern) - { - if (pattern.Length is 0) - { - return 1; - } - - if (impossiblePatterns.Contains(pattern.ToString())) - { - return 0; - } - - if (knownPatterns.TryGetValue(pattern.ToString(), out var count)) - { - return count; - } - - var prefix = pattern[0]; - - if (!towels.TryGetValue(prefix, out var towelsList)) - { - impossiblePatterns.Add(pattern.ToString()); - - return 0; - } - - var possibilities = 0L; - - foreach (var towel in towelsList) - { - if (pattern.StartsWith(towel)) - { - possibilities += CheckPattern(pattern[towel.Length..]); - } - } - - if (possibilities is 0) - { - impossiblePatterns.Add(pattern.ToString()); - } - else - { - knownPatterns.Add(pattern.ToString(), possibilities); - } - - return possibilities; - } - } - - private (FrozenDictionary> Towels, List Patterns) ParseInput() - { - var towels = new Dictionary>(); - var patterns = new List(); - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (towels.Count is 0) - { - var split = line.Split(", "); - - foreach (var range in split) - { - var towel = line[range].Trim(); - - var prefix = towel[0]; - - if (!towels.TryGetValue(prefix, out var towelsList)) - { - towelsList = []; - towels[prefix] = towelsList; - } - - towelsList.Add(towel.ToString()); - } - } - else if (!line.IsWhiteSpace()) - { - var pattern = line.Trim(); - - patterns.Add(pattern.ToString()); - } - } - - return (towels.ToFrozenDictionary(), patterns); - } -} \ No newline at end of file diff --git a/Days/Day2.cs b/Days/Day2.cs deleted file mode 100644 index 043a2a9..0000000 --- a/Days/Day2.cs +++ /dev/null @@ -1,139 +0,0 @@ -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day2 : Day -{ - public override int Number => 2; - public override string Name => "Red-Nosed Reports"; - - public override void RunPart1(bool display = true) - { - var safeReports = 0; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var isSafe = true; - var levels = line.Split(' '); - - var previousDirection = 0; - var previousLevel = int.MinValue; - foreach (var levelRange in levels) - { - var level = int.Parse(line[levelRange]); - - // First level, skip to next - if (previousLevel == int.MinValue) - { - previousLevel = level; - - continue; - } - - // Check that direction is preserved - var direction = level - previousLevel; - - if (previousDirection != 0 && Math.Sign(direction) != Math.Sign(previousDirection)) - { - isSafe = false; - break; - } - - // Check that distance >= 1 and <= 3 - if (Math.Abs(direction) is < 1 or > 3) - { - isSafe = false; - break; - } - - previousLevel = level; - previousDirection = direction; - } - - if (isSafe) - { - safeReports++; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of safe reports: [yellow]{safeReports}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var safeReports = 0; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (IsSafe(line)) - { - safeReports++; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of safe reports: [yellow]{safeReports}[/][/]"); - } - - return; - - bool IsSafe(ReadOnlySpan line, Range? toSkip = null) - { - var levels = line.Split(' '); - - var previousDirection = 0; - var previousLevel = int.MinValue; - Range previousLevelRange = default; - Range firstLevelRange = default; - - foreach (var levelRange in levels) - { - if (levelRange.Equals(toSkip)) - { - // This level can be skipped using the problem dampener - continue; - } - - var level = int.Parse(line[levelRange]); - - // First level, skip to next - if (previousLevel == int.MinValue) - { - previousLevel = level; - previousLevelRange = levelRange; - firstLevelRange = levelRange; - - continue; - } - - // Check that direction is preserved - var direction = level - previousLevel; - - if (previousDirection != 0 && Math.Sign(direction) != Math.Sign(previousDirection)) - { - // Also try by removing current or previous level if it's first try (problem dampener) - return toSkip is null - && (IsSafe(line, levelRange) || IsSafe(line, previousLevelRange) || IsSafe(line, firstLevelRange)); - } - - // Check that distance >= 1 and <= 3 - if (Math.Abs(direction) is < 1 or > 3) - { - // Also try by removing current or previous level if it's first try (problem dampener) - return toSkip is null - && (IsSafe(line, levelRange) || IsSafe(line, previousLevelRange) || IsSafe(line, firstLevelRange)); - } - - previousLevel = level; - previousDirection = direction; - previousLevelRange = levelRange; - } - - return true; - } - } -} \ No newline at end of file diff --git a/Days/Day20.cs b/Days/Day20.cs deleted file mode 100644 index 22b3371..0000000 --- a/Days/Day20.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day20 : Day -{ - public override int Number => 20; - public override string Name => "Race Condition"; - - private const int Size = 141; - private const char Wall = '#'; - private const char Empty = '.'; - - private readonly List _cheatOffsets = - [ - (2, 0), - (1, 1), - (0, 2), - (-1, 1), - (-2, 0), - (-1, -1), - (0, -2), - (1, -1) - ]; - - public override void RunPart1(bool display = true) - { - var (map, start, end) = ParseMap(); - - // Find track path - var trackPath = new List(); - var distanceFromStart = new Dictionary(); - - var position = start; - - var distance = 0; - while (position != end) - { - trackPath.Add(position); - distanceFromStart[position] = distance; - - // Find next track position - distance++; - var up = position + new Point(0, -1); - if (up is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[up.X, up.Y] is not Wall && !distanceFromStart.ContainsKey(up)) - { - position = up; - - continue; - } - - var down = position + new Point(0, 1); - if (down is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[down.X, down.Y] is not Wall && !distanceFromStart.ContainsKey(down)) - { - position = down; - - continue; - } - - var left = position + new Point(-1, 0); - if (left is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[left.X, left.Y] is not Wall && !distanceFromStart.ContainsKey(left)) - { - position = left; - - continue; - } - - var right = position + new Point(1, 0); - if (right is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[right.X, right.Y] is not Wall && !distanceFromStart.ContainsKey(right)) - { - position = right; - } - } - - // Also add end - trackPath.Add(position); - distanceFromStart[position] = distance; - - var cheats = new Dictionary<(Point StartPosition, Point EndPosition), int>(); - - // Now return to start and try all possible combination of cheats for each track position - foreach (var trackPosition in trackPath) - { - var originDistance = distanceFromStart[trackPosition]; - - foreach (var cheatOffset in _cheatOffsets) - { - var cheatDestination = trackPosition + cheatOffset; - - if (cheatDestination.X is < 0 or >= Size || cheatDestination.Y is < 0 or >= Size) - { - continue; - } - - if (map[cheatDestination.X, cheatDestination.Y] is Wall) - { - continue; - } - - var destinationDistance = distanceFromStart[cheatDestination]; - var savedDistance = destinationDistance - originDistance - 2; - - // Only take into account real shortcuts, not those that do not save time - if (savedDistance < 1) - { - continue; - } - - cheats.Add((trackPosition, cheatDestination), savedDistance); - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of cheats that save at least 100 picoseconds: [yellow]{cheats.Count(c => c.Value >= 100)}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var (map, start, end) = ParseMap(); - - // Find track path - var trackPath = new List(); - var distanceFromStart = new Dictionary(); - - var position = start; - - var distance = 0; - while (position != end) - { - trackPath.Add(position); - distanceFromStart[position] = distance; - - // Find next track position - distance++; - var up = position + new Point(0, -1); - if (up is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[up.X, up.Y] is not Wall && !distanceFromStart.ContainsKey(up)) - { - position = up; - - continue; - } - - var down = position + new Point(0, 1); - if (down is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[down.X, down.Y] is not Wall && !distanceFromStart.ContainsKey(down)) - { - position = down; - - continue; - } - - var left = position + new Point(-1, 0); - if (left is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[left.X, left.Y] is not Wall && !distanceFromStart.ContainsKey(left)) - { - position = left; - - continue; - } - - var right = position + new Point(1, 0); - if (right is { X: >= 0 and < Size, Y: >= 0 and < Size } && map[right.X, right.Y] is not Wall && !distanceFromStart.ContainsKey(right)) - { - position = right; - } - } - - // Also add end - trackPath.Add(position); - distanceFromStart[position] = distance; - - var cheats = new Dictionary<(Point StartPosition, Point EndPosition), int>(); - - // Now return to start and try all possible combination of cheats for each track position - foreach (var trackPosition in trackPath) - { - var originDistance = distanceFromStart[trackPosition]; - - foreach (var cheatDestination in trackPath.Where(destination => trackPosition.DistanceTo(destination) <= 20)) - { - var cheatLength = trackPosition.DistanceTo(cheatDestination); - - var destinationDistance = distanceFromStart[cheatDestination]; - var savedDistance = destinationDistance - originDistance - cheatLength; - - // Only take into account real shortcuts, not those that do not save time - if (savedDistance < 1) - { - continue; - } - - if (cheats.TryGetValue((trackPosition, cheatDestination), out var otherSavedDistance)) - { - if (savedDistance <= otherSavedDistance) - { - continue; - } - } - - cheats[(trackPosition, cheatDestination)] = savedDistance; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of cheats that save at least 100 picoseconds: [yellow]{cheats.Count(c => c.Value >= 100)}[/][/]"); - } - } - - private (char[,] Map, Point Start, Point End) ParseMap() - { - var map = new char[Size, Size]; - Point start = default; - Point end = default; - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var x = 0; - - foreach (var symbol in line) - { - if (symbol == 'S') - { - start = new Point(x, y); - } - else if (symbol == 'E') - { - end = new Point(x, y); - } - - if (symbol is Wall) - { - map[x, y] = Wall; - } - else - { - map[x, y] = Empty; - } - - x++; - } - - y++; - } - - return (map, start, end); - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - - public int DistanceTo(Point other) - { - var distance = other - this; - - return Math.Abs(distance.X) + Math.Abs(distance.Y); - } - } -} \ No newline at end of file diff --git a/Days/Day21.cs b/Days/Day21.cs deleted file mode 100644 index dcd37b0..0000000 --- a/Days/Day21.cs +++ /dev/null @@ -1,183 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day21 : Day -{ - public override int Number => 21; - public override string Name => "Keypad Conundrum"; - - private const char Up = '^'; - private const char Right = '>'; - private const char Down = 'v'; - private const char Left = '<'; - private const char Enter = 'A'; - - private readonly Dictionary _numpadPositions = new() - { - { '7', (0, 0) }, - { '8', (1, 0) }, - { '9', (2, 0) }, - { '4', (0, 1) }, - { '5', (1, 1) }, - { '6', (2, 1) }, - { '1', (0, 2) }, - { '2', (1, 2) }, - { '3', (2, 2) }, - { '0', (1, 3) }, - { Enter, (2, 3) } - }; - - private readonly Dictionary _keypadPositions = new() - { - { Up, (1, 0) }, - { Enter, (2, 0) }, - { Left, (0, 1) }, - { Down, (1, 1) }, - { Right, (2, 1) } - }; - - public override void RunPart1(bool display = true) - { - var codes = ParseCodes(); - var complexitiesSum = 0; - - foreach (var code in codes) - { - // Get first keypad sequence - var firstKeypadSequence = new StringBuilder(); - var currentInput = Enter; - - foreach (var digit in code) - { - firstKeypadSequence.Append(GetNumpadMoveSequence(currentInput, digit)); - - currentInput = digit; - } - - // Get second keypad sequence - var secondKeypadSequence = new StringBuilder(); - currentInput = Enter; - - foreach (var input in firstKeypadSequence.ToString()) - { - secondKeypadSequence.Append(GetKeypadMoveSequence(currentInput, input)); - - currentInput = input; - } - - // Get third and last keypad sequence - var thirdKeypadSequence = new StringBuilder(); - currentInput = Enter; - - foreach (var input in secondKeypadSequence.ToString()) - { - thirdKeypadSequence.Append(GetKeypadMoveSequence(currentInput, input)); - - currentInput = input; - } - - complexitiesSum += thirdKeypadSequence.Length * int.Parse(code.AsSpan()[..^1]); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Sum of complexities: [yellow]{complexitiesSum}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - - } - - private string GetNumpadMoveSequence(char origin, char destination) - { - var originPosition = _numpadPositions[origin]; - var destinationPosition = _numpadPositions[destination]; - - var move = destinationPosition - originPosition; - - var moveRight = move.X > 0; - var moveDown = move.Y > 0; - - var sequence = string.Concat( - new string(moveRight ? Right : Left, Math.Abs(move.X)), - new string(moveDown ? Down : Up, Math.Abs(move.Y)), - Enter.ToString() // Always end on Enter to press key - ); - - return sequence; - } - - private string GetKeypadMoveSequence(char origin, char destination) - { - var originPosition = _keypadPositions[origin]; - var destinationPosition = _keypadPositions[destination]; - - var move = destinationPosition - originPosition; - - var moveRight = move.X > 0; - var moveDown = move.Y > 0; - - var sequence = string.Concat( - new string(moveDown ? Down : Up, Math.Abs(move.Y)), - new string(moveRight ? Right : Left, Math.Abs(move.X)), - Enter.ToString() // Always end on Enter to press key - ); - - return sequence; - } - - private List ParseCodes() - { - var codes = new List(); - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - codes.Add(line.ToString()); - } - - return codes; - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - - public static implicit operator Point((int X, int Y) point) - => new(point.X, point.Y); - - public int DistanceTo(Point other) - { - var distance = other - this; - - return Math.Abs(distance.X) + Math.Abs(distance.Y); - } - } -} \ No newline at end of file diff --git a/Days/Day22.cs b/Days/Day22.cs deleted file mode 100644 index f3b7d14..0000000 --- a/Days/Day22.cs +++ /dev/null @@ -1,162 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day22 : Day -{ - public override int Number => 22; - public override string Name => "Monkey Market"; - - private const int Iterations = 2000; - private const int PruneValue = 16777216; - - public override void RunPart1(bool display = true) - { - var secretsSum = 0L; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var secret = long.Parse(line); - - for (var i = 0; i < Iterations; i++) - { - var result = secret * 64; - secret = (secret ^ result) % PruneValue; - - result = secret / 32; - secret = (secret ^ result) % PruneValue; - - result = secret * 2048; - secret = (secret ^ result) % PruneValue; - } - - secretsSum += secret; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Sum of {Iterations}th secret numbers: [yellow]{secretsSum}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var maximumBananas = 0L; - - var initialSecrets = Input.ReadAllLines().Select(l => long.Parse(l)).ToArray(); - var matchSequences = GenerateSequences().ToArray(); - - AnsiConsole.Progress().Start(progress => - { - var progressTask = progress.AddTask("Finding best sequence", maxValue: matchSequences.Length); - - Parallel.ForEach(matchSequences, matchSequence => - { - Span sequence = stackalloc long[4]; - var currentBananas = 0L; - - for (var initialSecretIndex = 0; initialSecretIndex < initialSecrets.Length; initialSecretIndex++) - { - var secret = initialSecrets[initialSecretIndex]; - - for (var i = 0; i < Iterations; i++) - { - var previousSecret = secret; - - // Compute new secret - var result = secret * 64; - secret = (secret ^ result) % PruneValue; - - result = secret / 32; - secret = (secret ^ result) % PruneValue; - - result = secret * 2048; - secret = (secret ^ result) % PruneValue; - - var lastDigit = secret % 10; - var previousSecretLastDigit = previousSecret % 10; - - // Update sequence - sequence[0] = sequence[1]; - sequence[1] = sequence[2]; - sequence[2] = sequence[3]; - sequence[3] = lastDigit - previousSecretLastDigit; - - // Check if sequence match - if (sequence[0] == matchSequence.Item1 - && sequence[1] == matchSequence.Item2 - && sequence[2] == matchSequence.Item3 - && sequence[3] == matchSequence.Item4 - && i >= 3) - { - currentBananas += lastDigit; - - // Go to next monkey - break; - } - } - - // Stop early if it's not possible to beat current maximum - if (maximumBananas - currentBananas >= ((initialSecrets.Length - initialSecretIndex - 1) * 9)) - { - break; - } - } - - ExchangeIfGreaterThan(ref maximumBananas, currentBananas); - - progressTask.Increment(1); - }); - }); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Maximum amount of bananas: [yellow]{maximumBananas}[/][/]"); - } - - return; - - IEnumerable<(long, long, long, long)> GenerateSequences() - { - for (var a = -9L; a <= 9; a++) - { - for (var b = -9L; b <= 9; b++) - { - for (var c = -9L; c <= 9; c++) - { - for (var d = -9L; d <= 9; d++) - { - yield return (a, b, c, d); - } - } - } - } - } - } - - // Source: https://stackoverflow.com/a/13323172 - private static void ExchangeIfGreaterThan(ref long location, long value) - { - // Read - var current = Interlocked.Read(ref location); - - // Compare - while (current < value) - { - // Set - var previous = Interlocked.CompareExchange(ref location, value, current); - - // If another thread has set a greater value, we can break - // or if previous value is current value, then no other thread has it changed in between - if (previous == current || previous >= value) // note: most common case first - break; - - // For all other cases, we need another run (read value, compare, set) - current = Interlocked.Read(ref location); - } - } -} \ No newline at end of file diff --git a/Days/Day23.cs b/Days/Day23.cs deleted file mode 100644 index 621cb29..0000000 --- a/Days/Day23.cs +++ /dev/null @@ -1,172 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.Intrinsics.X86; -using System.Text; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day23 : Day -{ - public override int Number => 23; - public override string Name => "LAN Party"; - - public override void RunPart1(bool display = true) - { - var computerLinks = new Dictionary>(); - - // Parse all links - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var firstComputer = line[..2].ToString(); - var secondComputer = line[3..].ToString(); - - if (!computerLinks.TryGetValue(firstComputer, out var firstLinks)) - { - firstLinks = []; - computerLinks[firstComputer] = firstLinks; - } - firstLinks.Add(secondComputer); - - if (!computerLinks.TryGetValue(secondComputer, out var secondLinks)) - { - secondLinks = []; - computerLinks[secondComputer] = secondLinks; - } - secondLinks.Add(firstComputer); - } - - var sets = new HashSet(); - - foreach (var (firstComputer, firstLinks) in computerLinks) - { - foreach (var secondComputer in firstLinks) - { - var thirdComputers = computerLinks[secondComputer].Intersect(firstLinks); - - foreach (var thirdComputer in thirdComputers) - { - sets.Add(new ComputerSet(firstComputer, secondComputer, thirdComputer)); - } - } - } - - var finalCount = sets.Count(set => set.First.StartsWith('t') || set.Second.StartsWith('t') || set.Third.StartsWith('t')); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Amount of sets that contain at least one computer that starts with t: [yellow]{finalCount}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var computerLinks = new Dictionary>(); - - // Parse all links - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var firstComputer = line[..2].ToString(); - var secondComputer = line[3..].ToString(); - - if (!computerLinks.TryGetValue(firstComputer, out var firstLinks)) - { - firstLinks = []; - computerLinks[firstComputer] = firstLinks; - } - firstLinks.Add(secondComputer); - - if (!computerLinks.TryGetValue(secondComputer, out var secondLinks)) - { - secondLinks = []; - computerLinks[secondComputer] = secondLinks; - } - secondLinks.Add(firstComputer); - } - - List largestSet = []; - - AnsiConsole.Status().Start("Starting check...", status => - { - var size = 4; - while (true) - { - var ended = true; - - status.Status($"Checking set size: {size}"); - - var i = 0; - foreach (var (firstComputer, firstLinks) in computerLinks) - { - status.Status($"Checking set size: {size} ({i++}/{computerLinks.Count})"); - - if (GenerateLargestSet(firstLinks, size, [ firstComputer ]) is { } largest) - { - largestSet = largest; - size++; - ended = false; - - break; - } - } - - if (ended) - { - break; - } - } - }); - - var password = string.Join(',', largestSet.Order()); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Password to enter lan party: [yellow]{password}[/][/]"); - } - - return; - - List? GenerateLargestSet(HashSet set, int targetSize, List selected) - { - if (selected.Count == targetSize) - { - return selected; - } - - if (set.Count is 0 || (set.Count < (targetSize - selected.Count))) - { - return null; - } - - // Next depth - foreach (var computer in set) - { - var nextSet = set.Intersect(computerLinks[computer]).ToHashSet(); - var nextSelected = selected.Append(computer).ToList(); - - if (GenerateLargestSet(nextSet, targetSize, nextSelected) is { } largest) - { - return largest; - } - } - - return null; - } - } - - private record ComputerSet(string First, string Second, string Third) : IEquatable - { - public virtual bool Equals(ComputerSet? other) - { - return other is not null && - (First == other.First || First == other.Second || First == other.Third) && - (Second == other.First || Second == other.Second || Second == other.Third) && - (Third == other.First || Third == other.Second || Third == other.Third); - } - - public override int GetHashCode() - { - return First.GetHashCode() * Second.GetHashCode() * Third.GetHashCode(); - } - } -} \ No newline at end of file diff --git a/Days/Day24.cs b/Days/Day24.cs deleted file mode 100644 index ab2ee2f..0000000 --- a/Days/Day24.cs +++ /dev/null @@ -1,370 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Runtime.Intrinsics.X86; -using System.Text; -using Microsoft.CodeAnalysis; -using Microsoft.VisualBasic; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day24 : Day -{ - public override int Number => 24; - public override string Name => "Crossed Wires"; - - public override void RunPart1(bool display = true) - { - var (signals, gates, zGates) = ParseInput(); - - while (zGates.Count > 0) - { - foreach (var (inputLeft, inputRight, output, logicOperator) in gates) - { - if (!signals.TryGetValue(inputLeft, out var inputLeftValue) || - !signals.TryGetValue(inputRight, out var inputRightValue)) - { - continue; - } - - signals[output] = Compute(inputLeftValue, inputRightValue, logicOperator); - - if (output.StartsWith('z')) - { - zGates.Remove(output); - } - } - } - - var zOutputValue = signals - .Where(s => s.Key.StartsWith('z')) - .Select(s => new { Index = int.Parse(s.Key[1..]), Value = (long)s.Value }) - .Sum(s => s.Value << s.Index); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Value output on z signal: [yellow]{zOutputValue}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var (initialSignals, initialGates, initialZGates) = ParseInput(); - - var xInputValue = initialSignals - .Where(s => s.Key.StartsWith('x')) - .Select(s => new { Index = int.Parse(s.Key[1..]), Value = (long)s.Value }) - .Sum(s => s.Value << s.Index); - - var yInputValue = initialSignals - .Where(s => s.Key.StartsWith('y')) - .Select(s => new { Index = int.Parse(s.Key[1..]), Value = (long)s.Value }) - .Sum(s => s.Value << s.Index); - - // Find wires that need to be changed - const long initialZValue = 58740594706150L; - var targetZValue = xInputValue + yInputValue; - - var difference = targetZValue ^ initialZValue; - var possibleChange = new HashSet(); - - for (var i = 0; i < sizeof(long) * 8; i++) - { - if (((1 << i) & difference) != 0) - { - possibleChange.Add($"z{i:D2}"); - } - } - - // Find all dependencies - int initialSize; - do - { - initialSize = possibleChange.Count; - - foreach (var gate in initialGates) - { - if (possibleChange.Contains(gate.Output)) - { - possibleChange.Add(gate.InputLeft); - possibleChange.Add(gate.InputRight); - } - } - } while (possibleChange.Count != initialSize); - - var gatesToSwapIndices = initialGates - .Index() - .ToList() - .Where(t => possibleChange.Contains(t.Item.Output)) - .Select(t => t.Index) - .ToList(); - - // Try out all possible permutations of concerned outputs - List changedOutputs = []; - - for (var a = 0; a < gatesToSwapIndices.Count - 7; a++) - { - for (var b = a + 1; b < gatesToSwapIndices.Count - 6; b++) - { - for (var c = b + 1; c < gatesToSwapIndices.Count - 5; c++) - { - for (var d = c + 1; d < gatesToSwapIndices.Count - 4; d++) - { - for (var e = d + 1; e < gatesToSwapIndices.Count - 3; e++) - { - for (var f = e + 1; f < gatesToSwapIndices.Count - 2; f++) - { - for (var g = f + 1; g < gatesToSwapIndices.Count - 1; g++) - { - for (var h = g + 1; h < gatesToSwapIndices.Count; h++) - { - Console.WriteLine($"h: {h}"); - - ForAllPermutation([ - gatesToSwapIndices[a], - gatesToSwapIndices[b], - gatesToSwapIndices[c], - gatesToSwapIndices[d], - gatesToSwapIndices[e], - gatesToSwapIndices[f], - gatesToSwapIndices[g], - gatesToSwapIndices[h]], permutations => - { - if (CheckPermutations(permutations) is { } modifiedOutputs) - { - changedOutputs = modifiedOutputs; - - return true; - } - - return false; - }); - } - } - } - } - } - } - } - } - - var swappedOutputs = string.Join(',', changedOutputs.Order()); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Swapped outputs: [yellow]{swappedOutputs}[/][/]"); - } - - return; - - List? CheckPermutations(int[] permutations) - { - var gates = initialGates.ToArray(); - var zGates = initialZGates.ToHashSet(); - var signals = initialSignals.ToDictionary(); - - SwapOutput(ref gates[permutations[0]], ref gates[permutations[1]]); - SwapOutput(ref gates[permutations[2]], ref gates[permutations[3]]); - SwapOutput(ref gates[permutations[4]], ref gates[permutations[5]]); - SwapOutput(ref gates[permutations[6]], ref gates[permutations[7]]); - - var zOutputValue = 0L; - while (zGates.Count > 0) - { - // Avoid locks when result is not reachable (infinite loop) - var resultsCount = signals.Count; - - foreach (var (inputLeft, inputRight, output, logicOperator) in gates) - { - if (signals.ContainsKey(output)) - { - continue; - } - - if (!signals.TryGetValue(inputLeft, out var inputLeftValue) || - !signals.TryGetValue(inputRight, out var inputRightValue)) - { - continue; - } - - var computed = Compute(inputLeftValue, inputRightValue, logicOperator); - signals[output] = computed; - - if (output.StartsWith('z')) - { - zGates.Remove(output); - - zOutputValue += (long)computed << int.Parse(output[1..]); - } - } - - // No new signal value computed, it's an infinite loop - if (signals.Count == resultsCount) - { - return null; - } - } - - if (xInputValue + yInputValue == zOutputValue) - { - return permutations.Select(i => gates[i].Output).ToList(); - } - - return null; - } - - void SwapOutput(ref LogicGate first, ref LogicGate second) - { - var temp = first.Output; - - first = first with { Output = second.Output }; - second = second with { Output = temp }; - } - } - - private int Compute(int inputLeftValue, int inputRightValue, Operator logicOperator) => logicOperator switch - { - Operator.And => inputLeftValue & inputRightValue, - Operator.Or => inputLeftValue | inputRightValue, - Operator.Xor => inputLeftValue ^ inputRightValue, - _ => throw new ArgumentOutOfRangeException(nameof(logicOperator), logicOperator, null) - }; - - private (Dictionary Signals, List Gates, HashSet ZGates) ParseInput() - { - var readingSignals = true; - - var signals = new Dictionary(); - var gates = new List(); - var zGates = new HashSet(); - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (line.IsWhiteSpace()) - { - readingSignals = false; - - continue; - } - - if (readingSignals) - { - var signalName = line[..line.IndexOf(':')]; - var signalValue = int.Parse(line[(line.IndexOf(':') + 2)..]); - - signals[signalName.ToString()] = signalValue; - } - else - { - var split = line.Split(' '); - split.MoveNext(); - - var inputLeft = line[split.Current]; - split.MoveNext(); - - var logicOperator = Enum.Parse(line[split.Current], true); - split.MoveNext(); - - var inputRight = line[split.Current]; - split.MoveNext(); - split.MoveNext(); - - var output = line[split.Current]; - - gates.Add(new LogicGate(inputLeft.ToString(), inputRight.ToString(), output.ToString(), logicOperator)); - - if (output.StartsWith('z')) - { - zGates.Add(output.ToString()); - } - } - } - - return (signals, gates, zGates); - } - - private record LogicGate(string InputLeft, string InputRight, string Output, Operator LogicOperator); - - private enum Operator - { - And, - Or, - Xor - } - - // Source: https://stackoverflow.com/a/36634935 - - /// - /// Heap's algorithm to find all permutations. Non recursive, more efficient. - /// - /// Items to permute in each possible ways - /// - /// Return true if cancelled - private static bool ForAllPermutation(T[] items, Func funcExecuteAndTellIfShouldStop) - { - int countOfItem = items.Length; - - if (countOfItem <= 1) - { - return funcExecuteAndTellIfShouldStop(items); - } - - var indexes = new int[countOfItem]; - - // Unnecessary. Thanks to NetManage for the advise - // for (int i = 0; i < countOfItem; i++) - // { - // indexes[i] = 0; - // } - - if (funcExecuteAndTellIfShouldStop(items)) - { - return true; - } - - for (int i = 1; i < countOfItem;) - { - if (indexes[i] < i) - { - // On the web there is an implementation with a multiplication which should be less efficient. - if ((i & 1) == 1) // if (i % 2 == 1) ... more efficient ??? At least the same. - { - Swap(ref items[i], ref items[indexes[i]]); - } - else - { - Swap(ref items[i], ref items[0]); - } - - if (funcExecuteAndTellIfShouldStop(items)) - { - return true; - } - - indexes[i]++; - i = 1; - } - else - { - indexes[i++] = 0; - } - } - - return false; - } - - /// - /// Swap 2 elements of same type - /// - /// - /// - /// - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static void Swap(ref T a, ref T b) - { - T temp = a; - a = b; - b = temp; - } -} \ No newline at end of file diff --git a/Days/Day25.cs b/Days/Day25.cs deleted file mode 100644 index ee77f62..0000000 --- a/Days/Day25.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using System.Runtime.CompilerServices; -using System.Runtime.Intrinsics.X86; -using System.Text; -using Microsoft.CodeAnalysis; -using Microsoft.VisualBasic; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day25 : Day -{ - public override int Number => 25; - public override string Name => "Code Chronicle"; - - public override void RunPart1(bool display = true) - { - var (locks, keys) = ParseInput(); - - var workingPairs = 0; - - foreach (var lockToTest in locks) - { - foreach (var key in keys) - { - if (lockToTest.Height1 + key.Height1 < 6 && - lockToTest.Height2 + key.Height2 < 6 && - lockToTest.Height3 + key.Height3 < 6 && - lockToTest.Height4 + key.Height4 < 6 && - lockToTest.Height5 + key.Height5 < 6) - { - workingPairs++; - } - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Amont of unique key/lock pairs that fit: [yellow]{workingPairs}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - - } - - private (List Locks, List Keys) ParseInput() - { - var locks = new List(); - var keys = new List(); - - Span itemHeights = stackalloc int[5]; - - var input = Input.AsSpan(); - foreach (var itemRange in input.Split($"{Environment.NewLine}{Environment.NewLine}")) - { - var item = input[itemRange]; - var lines = item.EnumerateLines(); - - var isKey = false; - - // Reset item heights - itemHeights[0] = -1; - itemHeights[1] = -1; - itemHeights[2] = -1; - itemHeights[3] = -1; - itemHeights[4] = -1; - - for (var height = 0; height <= 6; height++) - { - lines.MoveNext(); - var line = lines.Current; - - if (height is 0) - { - isKey = line is "....."; - - continue; - } - - for (var i = 0; i < 5; i++) - { - if (isKey && line[i] is '#' && itemHeights[i] is -1) - { - itemHeights[i] = 6 - height; - } - else if (!isKey && line[i] is '.' && itemHeights[i] is -1) - { - itemHeights[i] = height - 1; - } - } - } - - if (isKey) - { - keys.Add(new Key(itemHeights[0], itemHeights[1], itemHeights[2], itemHeights[3], itemHeights[4])); - } - else - { - locks.Add(new Lock(itemHeights[0], itemHeights[1], itemHeights[2], itemHeights[3], itemHeights[4])); - } - } - - return (locks, keys); - } - - private readonly record struct Lock(int Height1, int Height2, int Height3, int Height4, int Height5); - private readonly record struct Key(int Height1, int Height2, int Height3, int Height4, int Height5); -} \ No newline at end of file diff --git a/Days/Day3.cs b/Days/Day3.cs deleted file mode 100644 index 71f8340..0000000 --- a/Days/Day3.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day3 : Day -{ - public override int Number => 3; - public override string Name => "Mull It Over"; - - public override void RunPart1(bool display = true) - { - var result = 0; - - var input = Input.AsSpan(); - var mulStart = input.IndexOf("mul("); - - while (mulStart != -1) - { - input = input[(mulStart + 4)..]; - - // Start of a mul operation, search the ending parenthesis and make sure it's before the next mul - var mulEnd = input.IndexOf(")"); - var nextMulStart = input.IndexOf("mul("); - - if (mulEnd != -1 && (nextMulStart == -1 || mulEnd < nextMulStart)) - { - var operands = input[..mulEnd]; - var separator = operands.IndexOf(","); - - if (separator != -1 - && int.TryParse(operands[..separator], out var left) - && int.TryParse(operands[(separator + 1)..], out var right)) - { - result += left * right; - } - } - - mulStart = nextMulStart; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Result: [yellow]{result}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var result = 0; - - var input = Input.AsSpan(); - var mulStart = input.IndexOf("mul("); - - while (mulStart != -1) - { - // Check if there is a "don't()" before next mul - var dontStart = input.IndexOf("don't()"); - - if (dontStart < mulStart) - { - // Search for next "do()" - input = input[(dontStart + 7)..]; - - var doStart = input.IndexOf("do()"); - - if (doStart == -1) - { - break; - } - - input = input[(doStart + 4)..]; - - // Update next mult position - mulStart = input.IndexOf("mul("); - - if (mulStart == -1) - { - break; - } - } - - input = input[(mulStart + 4)..]; - - // Start of a mul operation, search the ending parenthesis and make sure it's before the next mul - var mulEnd = input.IndexOf(")"); - var nextMulStart = input.IndexOf("mul("); - - if (mulEnd != -1 && (nextMulStart == -1 || mulEnd < nextMulStart)) - { - var operands = input[..mulEnd]; - var separator = operands.IndexOf(","); - - if (separator != -1 - && int.TryParse(operands[..separator], out var left) - && int.TryParse(operands[(separator + 1)..], out var right)) - { - result += left * right; - } - } - - mulStart = nextMulStart; - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Result: [yellow]{result}[/][/]"); - } - } -} \ No newline at end of file diff --git a/Days/Day4.cs b/Days/Day4.cs deleted file mode 100644 index 6c81b4d..0000000 --- a/Days/Day4.cs +++ /dev/null @@ -1,136 +0,0 @@ -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day4 : Day -{ - public override int Number => 4; - public override string Name => "Ceres Search"; - - public override void RunPart1(bool display = true) - { - var xmasCount = 0; - - var grid = Input.AsCharGrid(); - - for (int x = 0; x < grid.GetLength(0); x++) - { - for (int y = 0; y < grid.GetLength(1); y++) - { - xmasCount += CheckXmas(x, y); - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of safe reports: [yellow]{xmasCount}[/][/]"); - } - - return; - - int CheckXmas(int x, int y) - { - (int xOffset, int yOffset)[] patterns = [ - (1, 0), - (-1, 0), - (0, 1), - (0, -1), - (1, 1), - (1, -1), - (-1, 1), - (-1, -1) - ]; - - char[] word = ['X', 'M', 'A', 'S']; - - int count = 0; - - foreach (var pattern in patterns) - { - bool valid = true; - - for (int i = 0; i < word.Length; i++) - { - var xTarget = x + (pattern.xOffset * i); - var yTarget = y + (pattern.yOffset * i); - - if (xTarget < 0 || xTarget >= grid.GetLength(0) - || yTarget < 0 || yTarget >= grid.GetLength(1) - || word[i] != grid[xTarget, yTarget]) - { - valid = false; - - break; - } - } - - if (valid) - { - count++; - } - } - - return count; - } - } - - public override void RunPart2(bool display = true) - { - var xmasCount = 0; - - var grid = Input.AsCharGrid(); - - for (int x = 0; x < grid.GetLength(0); x++) - { - for (int y = 0; y < grid.GetLength(1); y++) - { - xmasCount += CheckXmas(x, y); - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Number of safe reports: [yellow]{xmasCount}[/][/]"); - } - - return; - - int CheckXmas(int x, int y) - { - ((int xOffset, int yOffset) first, (int xOffset, int yOffset) second)[] patterns = [ - ((-1, -1), (-1, 1)), - ((-1, -1), (1, -1)), - ((1, -1), (1, 1)), - ((1, 1), (-1, 1)) - ]; - - char[] word = ['M', 'S']; - - // Center element of the cross must be an 'A' - if (grid[x, y] != 'A') - { - return 0; - } - - // Make sure we're not going out of bounds - if (x - 1 < 0 || x + 1 >= grid.GetLength(0) || - y - 1 < 0 || y + 1 >= grid.GetLength(1)) - { - return 0; - } - - int count = 0; - - foreach (var (first, second) in patterns) - { - if (grid[x + first.xOffset, y + first.yOffset] is 'M' && grid[x - first.xOffset, y - first.yOffset] is 'S' && - grid[x + second.xOffset, y + second.yOffset] is 'M' && grid[x - second.xOffset, y - second.yOffset] is 'S') - { - count++; - } - } - - return count; - } - } -} \ No newline at end of file diff --git a/Days/Day5.cs b/Days/Day5.cs deleted file mode 100644 index 541ee33..0000000 --- a/Days/Day5.cs +++ /dev/null @@ -1,121 +0,0 @@ -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day5 : Day -{ - public override int Number => 5; - public override string Name => "Print Queue"; - - public override void RunPart1(bool display = true) - { - var result = 0; - - var precedences = new HashSet?[100]; - - var readingPrecedences = true; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - if (line.IsWhiteSpace()) - { - readingPrecedences = false; - - continue; - } - - if (readingPrecedences) - { - var split = line.Split('|'); - split.MoveNext(); - - var ruleTarget = int.Parse(line[split.Current]); - - split.MoveNext(); - - var ruleNumber = int.Parse(line[split.Current]); - - if (precedences[ruleTarget] is not { } precedenceSet) - { - precedenceSet = [ ruleNumber ]; - precedences[ruleTarget] = precedenceSet; - } - else - { - precedenceSet.Add(ruleNumber); - } - } - else - { - result += CheckLine(line); - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Sum of middle page numbers: [yellow]{result}[/][/]"); - } - - return; - - int CheckLine(ReadOnlySpan line) - { - Span positions = stackalloc int[100]; - - // Read line to get positions - var position = 1; - foreach (var range in line.Split(',')) - { - var number = int.Parse(line[range]); - - positions[number] = position; - - position++; - } - - var middlePosition = (position - 1) / 2; - var middleNumber = 0; - - var index = 0; - // Check if positions respect precedence rules - foreach (var range in line.Split(',')) - { - var number = int.Parse(line[range]); - - // Fetch middle number - if (index == middlePosition) - { - middleNumber = number; - } - index++; - - if (precedences[number] is not { } precedenceSet) - { - continue; - } - - var numberPosition = positions[number]; - - // Check all precedence rules for numbers in the list - foreach (var nextNumber in precedenceSet) - { - var nextNumberPosition = positions[nextNumber]; - - if (nextNumberPosition != 0 && numberPosition >= nextNumberPosition) - { - return 0; - } - } - } - - return middleNumber; - } - } - - public override void RunPart2(bool display = true) - { - // if (display) - // { - // AnsiConsole.MarkupLine($"[green]Number of safe reports: [yellow]{xmasCount}[/][/]"); - // } - } -} \ No newline at end of file diff --git a/Days/Day6.cs b/Days/Day6.cs deleted file mode 100644 index be3d088..0000000 --- a/Days/Day6.cs +++ /dev/null @@ -1,194 +0,0 @@ -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day6 : Day -{ - public override int Number => 6; - public override string Name => "Guard Gallivant"; - - private const int GridSize = 130; - - private static readonly Point DirectionUp = new(0, -1); - private static readonly Point DirectionDown = new(0, 1); - private static readonly Point DirectionLeft = new(-1, 0); - private static readonly Point DirectionRight = new(1, 0); - - public override void RunPart1(bool display = true) - { - HashSet visited = []; - var direction = DirectionUp; - - var (obstaclesGrid, position) = ReadInputGrid(); - - visited.Add(position); - - // Move the guard till it leaves the grid - while (true) - { - var destination = position + direction; - - if (destination.X is < 0 or >= GridSize || - destination.Y is < 0 or >= GridSize) - { - break; - } - - // Check if it's possible to move or if there is an obstacle - if (obstaclesGrid[destination.X, destination.Y]) - { - direction = NextDirection(direction); - - continue; - } - - position = destination; - - visited.Add(position); - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Amount of distinct positions: [yellow]{visited.Count}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var possibleLoops = 0; - var (initialGrid, startPosition) = ReadInputGrid(); - - for (var y = 0; y < GridSize; y++) - { - for (var x = 0; x < GridSize; x++) - { - // Store obstacle state - var initialState = initialGrid[x, y]; - - // Check if grid is a loop after adding an obstacle there - initialGrid[x, y] = true; - - if (IsLoop(initialGrid, startPosition)) - { - possibleLoops++; - } - - // Restore obstacle state - initialGrid[x, y] = initialState; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Amount of possible loop positions: [yellow]{possibleLoops}[/][/]"); - } - - return; - - bool IsLoop(bool[,] obstaclesGrid, Point position) - { - HashSet<(Point position, Point direction)> visited = []; - var direction = DirectionUp; - - visited.Add((position, direction)); - - // Move the guard till it loops or leaves the grid - while (true) - { - var destination = position + direction; - - if (visited.Contains((destination, direction))) - { - return true; - } - - if (destination.X is < 0 or >= GridSize || destination.Y is < 0 or >= GridSize) - { - return false; - } - - // Check if it's possible to move or if there is an obstacle - if (obstaclesGrid[destination.X, destination.Y]) - { - direction = NextDirection(direction); - - continue; - } - - position = destination; - - visited.Add((position, direction)); - } - } - } - - private (bool[,] ObstaclesGrid, Point Start) ReadInputGrid() - { - var grid = new bool[GridSize, GridSize]; - Point start = default; - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var x = 0; - - foreach (var symbol in line) - { - if (symbol == '^') - { - start = new Point(x, y); - - grid[x, y] = false; - } - else - { - grid[x, y] = symbol switch - { - '#' => true, - _ => false - }; - } - - x++; - } - - y++; - } - - return (grid, start); - } - - private static Point NextDirection(Point direction) - { - if (direction == DirectionUp) - { - return DirectionRight; - } - - if (direction == DirectionRight) - { - return DirectionDown; - } - - if (direction == DirectionDown) - { - return DirectionLeft; - } - - if (direction == DirectionLeft) - { - return DirectionUp; - } - - throw new ArgumentException("Invalid direction", nameof(direction)); - } - - private readonly record struct Point(int X, int Y) : IAdditionOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - } -} \ No newline at end of file diff --git a/Days/Day7.cs b/Days/Day7.cs deleted file mode 100644 index ee665d5..0000000 --- a/Days/Day7.cs +++ /dev/null @@ -1,119 +0,0 @@ -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day7 : Day -{ - public override int Number => 7; - public override string Name => "Bridge Repair"; - - public override void RunPart1(bool display = true) - { - var calibrationResult = 0L; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - // Read input equation - var equationStart = line.IndexOf(':'); - - var target = long.Parse(line[..equationStart]); - - var numbers = new List(); - var equationNumbers = line[(equationStart + 2)..]; - - foreach (var range in equationNumbers.Split(' ')) - { - numbers.Add(int.Parse(equationNumbers[range])); - } - - // Check if equation is possible - if (CheckEquation(target, numbers.ToArray().AsSpan()[1..], numbers[0])) - { - calibrationResult += target; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Total calibration result: [yellow]{calibrationResult}[/][/]"); - } - - return; - - bool CheckEquation(long target, ReadOnlySpan numbers, long result) - { - // Early return when result is greater than target because result is increasing - if (result > target) - { - return false; - } - - if (numbers.IsEmpty) - { - return result == target; - } - - var sumResult = result + numbers[0]; - var multiplyResult = result * numbers[0]; - - return CheckEquation(target, numbers[1..], sumResult) - || CheckEquation(target, numbers[1..], multiplyResult); - } - } - - public override void RunPart2(bool display = true) - { - var calibrationResult = 0L; - - foreach (var line in Input.AsSpan().EnumerateLines()) - { - // Read input equation - var equationStart = line.IndexOf(':'); - - var target = long.Parse(line[..equationStart]); - - var numbers = new List(); - var equationNumbers = line[(equationStart + 2)..]; - - foreach (var range in equationNumbers.Split(' ')) - { - numbers.Add(int.Parse(equationNumbers[range])); - } - - // Check if equation is possible - if (CheckEquation(target, numbers.ToArray().AsSpan()[1..], numbers[0])) - { - calibrationResult += target; - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Total calibration result: [yellow]{calibrationResult}[/][/]"); - } - - return; - - bool CheckEquation(long target, ReadOnlySpan numbers, long result) - { - // Early return when result is greater than target because result is increasing - if (result > target) - { - return false; - } - - if (numbers.IsEmpty) - { - return result == target; - } - - var sumResult = result + numbers[0]; - var multiplyResult = result * numbers[0]; - var concatResult = result * (int)Math.Pow(10, (int)Math.Log10(numbers[0]) + 1) + numbers[0]; - - return CheckEquation(target, numbers[1..], sumResult) - || CheckEquation(target, numbers[1..], multiplyResult) - || CheckEquation(target, numbers[1..], concatResult); - } - } -} \ No newline at end of file diff --git a/Days/Day8.cs b/Days/Day8.cs deleted file mode 100644 index b426507..0000000 --- a/Days/Day8.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day8 : Day -{ - public override int Number => 8; - public override string Name => "Resonant Collinearity"; - - private const int GridSize = 50; - - public override void RunPart1(bool display = true) - { - HashSet antinodePositions = []; - - var frequencyAntennas = ParseAntennas(); - - // Find antinodes for each frequency - foreach (var (_, antennas) in frequencyAntennas) - { - // Take antennas by pair to find antinodes - foreach (var firstAntenna in antennas) - { - foreach (var secondAntenna in antennas.Where(a => a != firstAntenna)) - { - var firstAntinode = firstAntenna + (firstAntenna - secondAntenna); - var secondAntinode = secondAntenna + (secondAntenna - firstAntenna); - - if (firstAntinode is { X: >= 0 and < GridSize, Y: >= 0 and < GridSize }) - { - antinodePositions.Add(firstAntinode); - } - - if (secondAntinode is { X: >= 0 and < GridSize, Y: >= 0 and < GridSize }) - { - antinodePositions.Add(secondAntinode); - } - } - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Unique antinode positions count: [yellow]{antinodePositions.Count}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - HashSet antinodePositions = []; - - var frequencyAntennas = ParseAntennas(); - - // Find antinodes for each frequency - foreach (var (_, antennas) in frequencyAntennas) - { - // Take antennas by pair to find antinodes - foreach (var firstAntenna in antennas) - { - foreach (var secondAntenna in antennas.Where(a => a != firstAntenna)) - { - // Always add antinodes on antennas if a pair is formed - antinodePositions.Add(firstAntenna); - antinodePositions.Add(secondAntenna); - - // Compute potential antinode positions - var firstAntinodeOffset = firstAntenna - secondAntenna; - var secondAntinodeOffset = secondAntenna - firstAntenna; - - for (var i = 1; ; i++) - { - var firstAntinode = firstAntenna + (i * firstAntinodeOffset); - - if (firstAntinode is { X: >= 0 and < GridSize, Y: >= 0 and < GridSize }) - { - antinodePositions.Add(firstAntinode); - } - else - { - break; - } - } - - for (var i = 1; ; i++) - { - var secondAntinode = secondAntenna + (i * secondAntinodeOffset); - - if (secondAntinode is { X: >= 0 and < GridSize, Y: >= 0 and < GridSize }) - { - antinodePositions.Add(secondAntinode); - } - else - { - break; - } - } - } - } - } - - if (display) - { - AnsiConsole.MarkupLine($"[green]Unique antinode positions count: [yellow]{antinodePositions.Count}[/][/]"); - } - } - - private FrozenDictionary> ParseAntennas() - { - var antennas = new Dictionary>(); - - var y = 0; - foreach (var line in Input.AsSpan().EnumerateLines()) - { - var x = 0; - - foreach (var frequency in line) - { - if (frequency is '.') - { - x++; - - continue; - } - - if (!antennas.TryGetValue(frequency, out var list)) - { - list = []; - antennas[frequency] = list; - } - - list.Add(new Point(x, y)); - - x++; - } - - y++; - } - - return antennas.ToFrozenDictionary(); - } - - private readonly record struct Point(int X, int Y) - : IAdditionOperators, - ISubtractionOperators, - IMultiplyOperators - { - public static Point operator +(Point left, Point right) - { - return new Point(left.X + right.X, left.Y + right.Y); - } - - public static Point operator -(Point left, Point right) - { - return new Point(left.X - right.X, left.Y - right.Y); - } - - public static Point operator *(Point left, int right) - { - return new Point(left.X * right, left.Y * right); - } - - public static Point operator *(int left, Point right) - { - return new Point(right.X * left, right.Y * left); - } - } -} \ No newline at end of file diff --git a/Days/Day9.cs b/Days/Day9.cs deleted file mode 100644 index 09fc0c7..0000000 --- a/Days/Day9.cs +++ /dev/null @@ -1,181 +0,0 @@ -using System.Collections.Frozen; -using System.Numerics; -using Spectre.Console; - -namespace AdventOfCode.Days; - -public class Day9 : Day -{ - public override int Number => 9; - public override string Name => "Disk Fragmenter"; - - public override void RunPart1(bool display = true) - { - var (blocks, freeBlocksStarts) = ParseDiskBlocks(); - - var nextFreeIndex = freeBlocksStarts.Dequeue(); - - for (var i = blocks.Count - 1; i >= 0; i--) - { - // There is no more available space to move blocks into on the left - if (nextFreeIndex >= i) - { - break; - } - - if (blocks[i] is -1) - { - continue; - } - - blocks[nextFreeIndex] = blocks[i]; - blocks[i] = -1; - - nextFreeIndex++; - - // Go to next free blocks if current free block is full - if (blocks[nextFreeIndex] is not -1) - { - nextFreeIndex = freeBlocksStarts.Dequeue(); - } - } - - var checksum = blocks - .Select((block, index) => block is -1 ? 0 : (long)block * index) - .Sum(); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Filesystem checksum: [yellow]{checksum}[/][/]"); - } - } - - public override void RunPart2(bool display = true) - { - var (blocks, freeBlocks) = ParseDiskBlocks2(); - - var mapStart = string.Join(" ", blocks); - - for (var i = blocks.Count - 1; i >= 0; i--) - { - if (blocks[i] is -1) - { - continue; - } - - // Get file length - var fileId = blocks[i]; - var endPosition = i; - var startPosition = i; - - while (startPosition > 0 && blocks[startPosition - 1] == fileId) - { - startPosition--; - } - - var length = (endPosition - startPosition) + 1; - - // Find first available free block on the left - var freeBlockIndex = freeBlocks.FindIndex(b => b.StartIndex < startPosition && b.Length >= length); - - if (freeBlockIndex is not -1) - { - var freeBlock = freeBlocks[freeBlockIndex]; - - for (var offset = 0; offset < length; offset++) - { - blocks[freeBlock.StartIndex + offset] = blocks[startPosition + offset]; - blocks[startPosition + offset] = -1; - } - - // Update free block start and length - freeBlocks[freeBlockIndex] = (freeBlock.StartIndex + length, freeBlock.Length - length); - } - - // Move to next file or free block - i = startPosition; - } - - var mapEnd = string.Join(" ", blocks).Replace("-1", "."); - - var checksum = blocks - .Select((block, index) => block is -1 ? 0 : (long)block * index) - .Sum(); - - if (display) - { - AnsiConsole.MarkupLine($"[green]Filesystem checksum: [yellow]{checksum}[/][/]"); - } - } - - private (List Blocks, Queue FreeBlocksStarts) ParseDiskBlocks() - { - var blocks = new List(20_000 * 10); - var freeBlocksStarts = new Queue(); - - var readingBlock = true; - var blockId = 0; - - foreach (var length in Input.Select(encoded => encoded - '0')) - { - if (readingBlock) - { - for (var i = 0; i < length; i++) - { - blocks.Add(blockId); - } - - blockId++; - } - else if (length > 0) - { - freeBlocksStarts.Enqueue(blocks.Count); - - for (var i = 0; i < length; i++) - { - blocks.Add(-1); - } - } - - readingBlock = !readingBlock; - } - - return (blocks, freeBlocksStarts); - } - - private (List Blocks, List<(int StartIndex, int Length)> FreeBlocks) ParseDiskBlocks2() - { - var blocks = new List(20_000 * 10); - var freeBlocksStarts = new List<(int StartIndex, int Length)>(); - - var readingBlock = true; - var blockId = 0; - - foreach (var length in Input.Select(encoded => encoded - '0')) - { - if (readingBlock) - { - for (var i = 0; i < length; i++) - { - blocks.Add(blockId); - } - - blockId++; - } - else if (length > 0) - { - freeBlocksStarts.Add((blocks.Count, length)); - - for (var i = 0; i < length; i++) - { - blocks.Add(-1); - } - } - - readingBlock = !readingBlock; - } - - return (blocks, freeBlocksStarts); - } - -} \ No newline at end of file diff --git a/Inputs/Day1.txt b/Inputs/Day1.txt index dec0f9c..a6158c9 100644 --- a/Inputs/Day1.txt +++ b/Inputs/Day1.txt @@ -1,1000 +1,4768 @@ -15244 50562 -81245 49036 -92897 21393 -63271 60643 -49672 33212 -92232 76048 -53492 58600 -92941 61161 -58509 86979 -28174 73806 -70084 21118 -24410 68037 -84499 63407 -66548 35177 -65580 63759 -87805 49036 -83099 19486 -18390 12243 -26848 76511 -18807 86451 -72147 24247 -79927 19614 -11257 32484 -58028 46123 -75951 64756 -50715 78058 -95795 74458 -32111 39063 -46546 38789 -72734 39167 -98182 93444 -62716 53597 -89475 25175 -39176 55091 -40923 88724 -62512 51774 -86618 93444 -52758 47249 -13428 93526 -21791 94210 -93809 21118 -17938 14392 -60129 64756 -70192 49036 -12155 79882 -40333 53270 -23806 88706 -46661 85277 -88336 57672 -87513 36284 -41580 97455 -39488 79018 -53900 78058 -63780 98092 -18471 20090 -77849 73059 -93111 78100 -52950 22317 -81379 35177 -91351 19771 -14227 53597 -51335 39645 -98624 98092 -21994 54585 -60107 60337 -63161 47739 -42618 96226 -94665 84252 -79153 34048 -78730 80552 -75722 70308 -68857 47918 -88672 98092 -59881 27613 -85772 32111 -30276 98092 -14586 84246 -67593 49036 -72269 13771 -25858 56490 -33541 15922 -16446 54557 -47844 62540 -78173 49722 -50682 88706 -75282 74146 -62042 83481 -18797 76066 -24212 35217 -55048 57348 -91631 84573 -93807 97649 -88119 98092 -19366 77445 -76255 50452 -98264 93444 -64583 34766 -96480 54682 -67367 64709 -12629 53597 -55622 98092 -48715 75722 -38717 98460 -88940 42098 -57583 21667 -13512 32111 -89814 60737 -64756 93444 -16224 53597 -10346 46433 -73809 55198 -80544 20677 -11856 76359 -59087 21118 -72673 20090 -49449 45231 -20810 98650 -28257 76359 -72761 88706 -87721 84970 -33910 17682 -71512 76359 -51593 34928 -52645 73953 -65785 21745 -29202 39203 -84191 30175 -90538 28190 -36816 33095 -74544 38282 -97584 54184 -58739 93390 -75540 64756 -68067 64756 -52407 25292 -15044 66413 -20591 93444 -25885 37703 -26653 32104 -42596 88313 -23950 64756 -52254 88313 -70806 44075 -42195 20677 -36372 36394 -47944 93575 -38297 21118 -19998 76359 -88241 78058 -73698 44859 -92258 29814 -98092 78058 -28030 88927 -53514 59214 -77999 30893 -66582 71673 -79423 10257 -46938 86494 -42971 21118 -11339 13583 -71889 43763 -25429 62716 -81687 15843 -35428 14294 -21885 88053 -98374 37224 -81362 34784 -41486 20677 -20831 98092 -26838 45057 -89226 64709 -11351 66528 -20955 49036 -34764 42441 -43198 21118 -54892 21799 -64587 51818 -62645 88706 -39255 32111 -65266 40330 -20283 30516 -56574 21118 -12809 35177 -23338 15079 -58721 76273 -68541 33747 -46673 34048 -59073 25694 -80216 62716 -81975 28478 -44297 45993 -34344 98092 -63009 28253 -43350 24492 -95286 35177 -33964 82330 -87854 76359 -23407 81183 -95569 74797 -45440 77445 -80991 19568 -30893 61274 -26305 69824 -60205 68773 -12663 76359 -43419 89650 -39569 77945 -73240 17501 -84277 39378 -94177 89662 -95690 94786 -92242 91731 -73905 51412 -35977 13583 -27680 20677 -79830 79733 -84278 52001 -85984 62716 -39122 37115 -78800 35929 -33253 76179 -83659 33516 -91248 15310 -89362 39762 -15884 24386 -98545 18731 -15249 34048 -47287 77445 -68392 27779 -62854 73116 -43214 39063 -65154 73341 -71451 89287 -85490 10108 -10175 60337 -79597 54843 -15040 15044 -96993 21393 -36177 66813 -44659 38606 -10713 49127 -95267 84970 -38841 75464 -33233 71632 -73302 93444 -40471 21118 -26947 80385 -39627 51365 -47637 30893 -53778 29214 -79782 45138 -10038 45411 -86184 64709 -69322 93444 -70602 88706 -85109 49036 -58501 31677 -97931 25694 -24913 88313 -19478 93437 -51774 23744 -45194 46530 -78436 13583 -75773 53334 -24862 77445 -98325 49788 -68242 44288 -21878 78058 -22527 15044 -53407 98092 -33702 78511 -76946 86061 -34943 94066 -66974 23236 -87132 37827 -28641 88706 -78825 49515 -14741 98092 -56627 38087 -47539 85498 -40528 88706 -71885 11213 -83869 60337 -13761 97944 -75267 94765 -76391 40872 -84919 45561 -82510 26839 -42950 66528 -53597 88930 -51068 43621 -41152 77639 -82758 52077 -38873 70358 -88084 36028 -96405 64127 -24799 34048 -77846 98859 -20374 69465 -63292 73846 -11172 84410 -23525 74835 -94244 21118 -32196 95922 -28936 38955 -27350 25044 -20053 63490 -62187 53533 -15008 20677 -44778 75218 -34221 98092 -39018 98053 -23017 49363 -87337 21579 -72930 17695 -93295 39063 -66854 16885 -34104 34048 -60507 13583 -10728 15374 -24778 14446 -71424 89693 -40413 18036 -78058 75722 -37560 88706 -13236 77445 -87173 93444 -73989 37520 -14985 45194 -24184 81289 -28240 76359 -12680 21118 -97498 36199 -93727 75722 -17373 64709 -15927 39063 -30358 20677 -65650 35177 -46846 81415 -53260 86686 -32998 80757 -61488 21055 -95554 23175 -19043 88313 -99442 65217 -35322 56161 -58264 30893 -48887 76048 -96519 97502 -88445 49036 -22815 21393 -26997 56009 -45084 25370 -82066 63417 -88706 13583 -37524 92452 -67340 90779 -37641 60337 -84745 45323 -11631 83982 -19247 76359 -92635 34048 -36981 35177 -31598 74065 -54121 28812 -76881 60337 -99584 27133 -55312 55677 -83419 35177 -13942 23226 -89059 79979 -45943 14892 -49359 83296 -68331 84970 -36265 20090 -46411 98346 -25016 74405 -61228 86987 -47787 64766 -61125 43591 -23793 91663 -20371 49202 -40797 98092 -45793 88706 -68119 25069 -93194 73910 -29041 68173 -40414 90131 -35827 54613 -95241 34755 -34804 49863 -19037 54929 -15853 56399 -28746 57681 -33009 13250 -37386 50787 -89907 88313 -65824 37078 -29642 18922 -25336 60337 -77952 46523 -44241 87880 -25674 39063 -21393 48408 -58355 99461 -69496 39332 -27282 98092 -69938 71743 -83723 88313 -88439 45323 -46485 88255 -39718 23226 -23065 93444 -27197 78058 -72503 76359 -20982 64709 -60535 63346 -38653 13583 -77768 52721 -11298 49544 -42013 66528 -18141 45194 -81075 96111 -39115 37630 -18584 71632 -73719 94863 -85615 69932 -16171 24776 -78057 89054 -97570 12724 -51603 32111 -62411 76116 -72300 95646 -34238 21393 -38052 45323 -29020 84647 -41893 45194 -39513 48753 -11610 14667 -95685 21393 -95779 20677 -15324 63196 -76334 94163 -68091 45194 -38482 70862 -15369 88313 -89175 64021 -60543 34048 -56673 50331 -49457 34048 -71887 13583 -88321 21118 -71071 23226 -67178 49036 -91821 21118 -20076 10076 -87303 84970 -57511 12268 -43501 30007 -91975 66528 -15448 72284 -69907 43654 -25571 11414 -52353 15044 -69803 78058 -40474 52042 -26253 70310 -39802 97896 -83210 97215 -37474 88313 -31093 97572 -42301 23226 -19726 13583 -94312 49036 -58482 25755 -98687 38510 -19047 98092 -26950 78058 -71158 28096 -96412 84970 -35920 30893 -44526 99812 -42755 51182 -24379 30893 -70947 60543 -54882 71632 -51233 33596 -20462 79975 -53935 84134 -74070 62410 -54102 22085 -13298 20677 -26602 92907 -42648 49332 -22183 93444 -30822 98092 -86804 77932 -10838 88167 -24523 65219 -41568 62650 -80060 79089 -21439 70889 -66602 41342 -19704 34111 -67226 95394 -65479 92893 -37260 49036 -31997 30937 -97707 31068 -13170 78674 -26045 35177 -24059 35177 -32491 33653 -75897 71632 -10612 84970 -11001 88313 -35498 68825 -96341 10573 -23226 39063 -69398 67618 -17730 60337 -86503 45099 -72504 98743 -82150 90026 -68294 54832 -80912 34048 -96999 49036 -97530 20090 -35480 49036 -20998 30893 -70873 60337 -91802 62572 -54034 15709 -32710 84970 -58337 58861 -59198 59125 -61993 93321 -79647 21393 -26291 54259 -74198 76048 -57851 49450 -75838 37799 -60309 13382 -86676 72545 -29406 23958 -76718 75217 -33197 67338 -65924 20094 -88612 52547 -75554 14101 -36525 94200 -70266 20090 -36358 87645 -36508 93007 -28589 91657 -48088 77015 -22798 11552 -56726 20677 -80189 32314 -21360 96490 -90866 88706 -39003 18500 -27798 10095 -66032 15135 -11051 34048 -94174 88313 -15442 61388 -10452 20090 -11929 13583 -34739 41426 -64828 49036 -73891 39034 -52449 99470 -71065 77445 -89965 71632 -60544 34717 -21118 78369 -49478 35177 -26213 93444 -49857 23226 -74220 32262 -72833 27081 -38455 99610 -54342 61755 -43456 26783 -24034 76570 -32201 17321 -23799 39823 -72637 37646 -10964 34048 -42818 20090 -21006 39063 -39063 82696 -30375 66442 -15052 93444 -87906 50391 -17028 10100 -81936 32511 -12837 64709 -16027 78058 -49036 60337 -99212 39063 -28629 21118 -65863 84395 -20677 39063 -92405 60182 -55155 39063 -39167 69664 -74584 30893 -69147 41166 -75535 23751 -41314 88960 -47916 76048 -95846 15467 -14883 29065 -85080 93428 -52335 68547 -98645 93444 -39194 96760 -73927 23226 -90575 88313 -46134 11217 -85511 31236 -10109 37785 -20240 30893 -26094 56917 -35316 34048 -73503 25694 -89783 93444 -76048 84368 -63277 64756 -70675 53597 -44803 20677 -47915 20090 -12885 20090 -96783 88706 -55441 39063 -28482 98092 -91088 20088 -56209 49036 -73427 54203 -84253 46441 -45378 88313 -61961 65758 -68877 21118 -99259 53597 -52459 33058 -52656 56240 -95881 45231 -77445 13060 -91203 71632 -80736 20127 -33376 22802 -35538 34048 -98323 92633 -51634 45231 -55669 87627 -21536 17362 -32629 77445 -49199 71632 -57371 20583 -23040 90921 -73189 76359 -18892 84970 -75932 53597 -35376 53731 -29756 88313 -80575 64370 -11795 42629 -72509 82819 -80073 66528 -39611 78343 -55678 77155 -74003 35177 -82981 87429 -44472 88313 -15879 43889 -92293 30401 -68169 72422 -46139 13583 -25753 71632 -29238 13583 -65772 94594 -72372 98661 -49282 29132 -59258 51774 -20268 19289 -68202 10161 -30853 12555 -79108 66252 -93219 49036 -97625 14093 -15662 78058 -74532 12621 -84970 66528 -43513 68633 -24015 37782 -61575 50110 -75452 32111 -95466 69622 -27039 13583 -72285 35711 -84251 33375 -29424 76359 -58618 70025 -14379 66528 -89386 88706 -93381 20090 -91398 98680 -42769 45231 -12169 87022 -25979 78058 -72635 41261 -17059 63554 -47259 79838 -76636 98092 -73546 95012 -91197 19703 -65589 88706 -73955 16375 -23737 62914 -57497 65544 -89971 53597 -65549 60337 -49793 76048 -47384 76610 -23011 71632 -50105 41881 -56427 43543 -30880 76048 -24879 88313 -68581 69278 -74682 15597 -43180 76048 -90603 49036 -52305 12532 -22850 81110 -83915 39167 -19676 43682 -18372 71954 -89452 88706 -59733 65480 -70454 82540 -60701 46004 -90655 83636 -70929 71632 -28216 29450 -96165 67274 -34322 77426 -31874 57584 -54166 90667 -99511 98508 -31060 92465 -55106 51095 -79552 22669 -27806 75575 -46797 33693 -64746 32111 -76861 10157 -76339 65246 -13583 91436 -14467 16938 -85582 35177 -13718 20378 -99759 66607 -59581 15550 -96543 22529 -86658 75460 -65202 88706 -38311 38185 -19721 38534 -20090 65369 -21044 60105 -45323 93444 -41853 88706 -48731 39841 -44220 71632 -49345 80849 -77455 96766 -64991 79807 -84833 99183 -15508 15491 -31649 95360 -47963 15187 -32556 10033 -98424 72571 -20214 45512 -92261 73300 -83550 30893 -40965 30434 -73994 76048 -55035 53597 -25828 60337 -75771 88313 -67673 77526 -44405 93052 -18454 90175 -88189 33126 -87628 49036 -71632 71504 -37621 85292 -23775 66528 -52816 35363 -30089 60337 -98618 96587 -44216 21118 -26104 88313 -42299 45510 -45953 35177 -88461 49036 -94707 98092 -44832 34048 -30018 97006 -10073 60126 -32801 21118 -93444 78058 -14724 75670 -88496 89181 -97226 64756 -44779 84970 -20417 20090 -74763 34048 -86926 21988 -82229 51396 -41522 77498 -97004 64462 -94063 53597 -33439 77445 -52901 86349 -95858 45194 -46763 37729 -99339 32386 -97353 39063 -30474 20090 -29221 48754 -54778 62716 -32771 39063 -20116 71632 -69722 87766 -51398 43440 -97793 76359 -56926 32111 -66003 75722 -11344 94388 -45264 39251 -94465 49036 -12978 38585 -17184 53348 -87705 34048 -32187 85695 -51481 78692 -54232 60337 -99572 51669 -29822 15075 -65918 82780 -66528 23226 -40810 85626 -71957 88313 -93701 88706 -10667 73326 -51857 77839 -13968 15900 -99521 15237 -43540 92443 -27624 12544 -65271 76048 -44186 14578 -33230 21393 -33874 35177 -54932 45194 -18315 53578 -69769 71632 -75322 51896 -20861 47764 -88546 23226 -29838 93444 -83883 52312 -67889 35177 -59762 39167 -30665 65756 -13966 93444 -38266 43913 -60711 39167 -42774 72205 -76359 37929 -65904 13043 -34048 77445 -38275 66528 -84943 34580 -50731 74327 -64612 53597 -14016 49346 -55402 66508 -93047 76359 -49251 20090 -75392 87115 -90871 76589 -13432 49036 -18501 19808 -73315 38104 -18380 78457 -56744 85328 -44147 13583 -98969 79480 -16683 63967 -83183 68296 -33184 80175 -36362 93444 -40671 53597 -65788 71632 -23573 75722 -50571 60337 -67765 76048 -73101 48453 -67112 35176 -46594 70172 -75172 17447 -45231 76197 -20392 53244 -35352 32191 -20609 45194 -78496 95165 -12271 85861 -89991 76048 -65923 30779 -71880 30893 -73845 19368 -25694 77445 -44679 71632 -95542 29625 -72865 48533 -43025 65302 -38909 78058 -38961 77445 -12553 66528 -66378 76359 -79514 46457 -96727 76359 -12664 91220 -22671 32111 -60272 21393 -54910 43373 -78968 52670 -31357 84820 -98176 98092 -43398 88955 -51128 13514 -97517 39212 -53814 40263 -56961 35177 -90552 31236 -13602 13583 -12187 44890 -47432 44401 -84078 64709 -77515 71632 -88313 70149 -69118 78954 -75221 27687 -64709 20090 -89680 59037 -31715 65294 -61413 21118 -75865 32111 -67755 31175 -52584 94277 -47546 95471 -91225 55015 -28913 58527 -65645 71632 -19183 39377 -47460 95947 -75848 23226 -56518 43259 -60240 48233 -31724 84970 -37699 76048 -18796 64805 -37497 45231 -42751 75722 -28509 34048 -90061 17966 -65385 83274 -72856 25904 -41016 21118 -86979 93485 -18571 88706 -37984 84970 -36879 21118 -72715 56620 -88099 34048 -61613 85581 -15090 77445 -35177 86160 -52551 58172 -60337 20677 -95870 77445 -51272 34048 -31236 15332 -77046 35697 \ No newline at end of file +R6 +R18 +L39 +L36 +L11 +L24 +R3 +L47 +L11 +R5 +L49 +L12 +L7 +R39 +L9 +R50 +R4 +L30 +L19 +L44 +R43 +R16 +L40 +L19 +L3 +R27 +R10 +R5 +R7 +R41 +R16 +L12 +R27 +R22 +R4 +R28 +R46 +L42 +R29 +R17 +L31 +L12 +R34 +R43 +R32 +L16 +R44 +L37 +R31 +L21 +R74 +L56 +L47 +L97 +L43 +L45 +L12 +R48 +R10 +L58 +L70 +L30 +R45 +L45 +L10 +L18 +L72 +R14 +R97 +L55 +L56 +L99 +L5 +L73 +L36 +R13 +L75 +L25 +L13 +L87 +R59 +R41 +R19 +R4 +R58 +L81 +L97 +L3 +L79 +R26 +L39 +R92 +L13 +L30 +R80 +L17 +R4 +L24 +L66 +R37 +L33 +L38 +R90 +R78 +R32 +R154 +L54 +L11 +L89 +R91 +L829 +L44 +L18 +L759 +R42 +L83 +R93 +R349 +R58 +R859 +L94 +L65 +R1 +L1 +R760 +L68 +L33 +L59 +L97 +L403 +L32 +L868 +L59 +R10 +L13 +L30 +L31 +L90 +R327 +R58 +L88 +L84 +R13 +L32 +L81 +L78 +L22 +L91 +R235 +L87 +R67 +L24 +L4 +R4 +L45 +R88 +L69 +L391 +R87 +L604 +L562 +L204 +L87 +L48 +L79 +L10 +L76 +R89 +R93 +L47 +L35 +R34 +L109 +L461 +L53 +R404 +L15 +R953 +R47 +R47 +L33 +R28 +R22 +R39 +R69 +L872 +R28 +R72 +R950 +R250 +L893 +R51 +L358 +R631 +R327 +R21 +R63 +R34 +L76 +R96 +L63 +R67 +L92 +R46 +R46 +R88 +R95 +L96 +R56 +R57 +R187 +R52 +L795 +L44 +R68 +L12 +R96 +R81 +L33 +R83 +L19 +R39 +L41 +L36 +L924 +R89 +L6 +R26 +L11 +L377 +R77 +R59 +L67 +L88 +L83 +L38 +L843 +L140 +L297 +L34 +L90 +R60 +L2 +L52 +R15 +R54 +L45 +L81 +R45 +L73 +L9 +R2 +L127 +L386 +L61 +R81 +R82 +R18 +L24 +R24 +L44 +R644 +R39 +L65 +L74 +R80 +L80 +L62 +L38 +R598 +R52 +R561 +R31 +R1 +R502 +L63 +L9 +L52 +R79 +L5 +L92 +R598 +L1 +R63 +R12 +L38 +R80 +L73 +R91 +R56 +L24 +L90 +L90 +L56 +R31 +L66 +R4 +L33 +R70 +L96 +R59 +L205 +R5 +L89 +L77 +L44 +L985 +L44 +L450 +L11 +R36 +L48 +R58 +R54 +L18 +L810 +R70 +R22 +R168 +L32 +R70 +L70 +R33 +L13 +L56 +R631 +L27 +L94 +L74 +R54 +R63 +L17 +L10 +L790 +R13 +R53 +L442 +L24 +R55 +R45 +R78 +L69 +L9 +L175 +R30 +L86 +R631 +L17 +R87 +R79 +R51 +L19 +R19 +L9 +R9 +R9 +R33 +L41 +R499 +L57 +L33 +L37 +R73 +R48 +L27 +R62 +R371 +L79 +L59 +R44 +R298 +R85 +R824 +R66 +L79 +R70 +R29 +L96 +L68 +R89 +L54 +L470 +R78 +R39 +R4 +L555 +R634 +L68 +R42 +L74 +R87 +L39 +R52 +L55 +R80 +R75 +R1 +L1 +R62 +L49 +L17 +L96 +L21 +R130 +R91 +R92 +R76 +R32 +R69 +R731 +R4 +R89 +L82 +R73 +R16 +L44 +L56 +L280 +L96 +L412 +R988 +L28 +R928 +L435 +R55 +R844 +L90 +L50 +L224 +R47 +R53 +L23 +R617 +R43 +R72 +L77 +L32 +R412 +R288 +L46 +L53 +R99 +R76 +R59 +L35 +L239 +L55 +R494 +L16 +L624 +L14 +R54 +L45 +L42 +R87 +L62 +L404 +L26 +R86 +L80 +R479 +L15 +L778 +R52 +L552 +L44 +L56 +L1 +L81 +L18 +R98 +R54 +R9 +L61 +L72 +L728 +R82 +L99 +R96 +L974 +R95 +L18 +R18 +R78 +L3 +L76 +R1 +L24 +L76 +L223 +R54 +L94 +L85 +L98 +R62 +L16 +R30 +L55 +R25 +L17 +L99 +L784 +L778 +R88 +R83 +R7 +R59 +R15 +R29 +R58 +R39 +R221 +R79 +R82 +R18 +R58 +R42 +R5 +R95 +R33 +L33 +L81 +L99 +R54 +L74 +R976 +R12 +R160 +L216 +L615 +L17 +L798 +L288 +R49 +L63 +L65 +L602 +R67 +L59 +L24 +L17 +R30 +L56 +R31 +L5 +R111 +L158 +L53 +L664 +R64 +L53 +R79 +R743 +L671 +L98 +L70 +R70 +R19 +L89 +R670 +L83 +L57 +L44 +L45 +L71 +L63 +L37 +R96 +L82 +R40 +L86 +L405 +R76 +L39 +R56 +L277 +R2 +L550 +L31 +L544 +L563 +R51 +R769 +R91 +L72 +L635 +L896 +R12 +L97 +R956 +L385 +L87 +L94 +R94 +R55 +L90 +L65 +R79 +L79 +R83 +R517 +L227 +L81 +L109 +L8 +R30 +L5 +L93 +L1 +R94 +R59 +L26 +L72 +L61 +R77 +R67 +L29 +R85 +R95 +L98 +L97 +R20 +L32 +R591 +L275 +L38 +L18 +L2 +R32 +R82 +R40 +L69 +L9 +L16 +L6 +L46 +L12 +L42 +R59 +R59 +L18 +R890 +L89 +L27 +L55 +L979 +L40 +R230 +L30 +L3 +L79 +R82 +L29 +L719 +L52 +L41 +L59 +L80 +R81 +R549 +R64 +L61 +L794 +L959 +R80 +L154 +R25 +L79 +R84 +R94 +L50 +R17 +L48 +L11 +R189 +L1 +L5 +R28 +R31 +R96 +R804 +R909 +L431 +R22 +L68 +L32 +R907 +L7 +L713 +L67 +L69 +L535 +R73 +L3 +L24 +L77 +L96 +R14 +R1 +R96 +R87 +R13 +L16 +R42 +L26 +R38 +R62 +L298 +R98 +R19 +L446 +R80 +R62 +R82 +R12 +L14 +R31 +L99 +R73 +R424 +R76 +R76 +R276 +L54 +L698 +R20 +R15 +L11 +L138 +R28 +R586 +R39 +L39 +L31 +L69 +R65 +R56 +R79 +R86 +R71 +R32 +R11 +R31 +R69 +R97 +R284 +R19 +L44 +L756 +L49 +R49 +R208 +L97 +R389 +L725 +R748 +R47 +R20 +L90 +L8 +R33 +L25 +R9 +L58 +L51 +L68 +L28 +L41 +R37 +L51 +L49 +R14 +L14 +L569 +L86 +R55 +L73 +L33 +L36 +R53 +R89 +L11 +R8 +L94 +L3 +L8 +L52 +R27 +L67 +R689 +L89 +L290 +R30 +R60 +R85 +L85 +R86 +R14 +R45 +L49 +R4 +R29 +R9 +R441 +L685 +L746 +L18 +L37 +L47 +R54 +L58 +L242 +R27 +R67 +L22 +R1 +R27 +R21 +L43 +L78 +R40 +L14 +R74 +L3 +L53 +R75 +L19 +R82 +L82 +R38 +R93 +R94 +L14 +R88 +L99 +R65 +R35 +L88 +R12 +L4 +L20 +R25 +R13 +R62 +L39 +L62 +L13 +L606 +L227 +R47 +R47 +R53 +L31 +R58 +R73 +R91 +L16 +L73 +R47 +R51 +R21 +L721 +R90 +R27 +R24 +R19 +R24 +L16 +R32 +L208 +R13 +L222 +L332 +L51 +L35 +L29 +R949 +L684 +R99 +R38 +L38 +R662 +L45 +L49 +R732 +R29 +L83 +R51 +R59 +L821 +L735 +L49 +L49 +R75 +L336 +R966 +L350 +R43 +L95 +R77 +R69 +L515 +L98 +R56 +R106 +L101 +L60 +L42 +L3 +L94 +R437 +R63 +L84 +R84 +L54 +L46 +R93 +R7 +L581 +R181 +R854 +L686 +L88 +R33 +R87 +R83 +R48 +L231 +L63 +R63 +R7 +R93 +R885 +R15 +R47 +L70 +L54 +R1 +L93 +L31 +L90 +L110 +L7 +R27 +R73 +R365 +L58 +L65 +L525 +L10 +R30 +R9 +L429 +R90 +L39 +L28 +L33 +L3 +L597 +L69 +L108 +L54 +L63 +R98 +L5 +R215 +L282 +L32 +R946 +R45 +R48 +L39 +L154 +R484 +L29 +R442 +L11 +R80 +L12 +L68 +R168 +R20 +R98 +R78 +L96 +L27 +R23 +R80 +L376 +R598 +R88 +R26 +L89 +R294 +R85 +L102 +L82 +L18 +R44 +R41 +R56 +L91 +R50 +L60 +R60 +R471 +R529 +R60 +L60 +R66 +L62 +L346 +L94 +L64 +L57 +L2 +R97 +L73 +R235 +R96 +L15 +R619 +R14 +R80 +L67 +R73 +L45 +L55 +L37 +R37 +R4 +R96 +R790 +L13 +R23 +L43 +L57 +R77 +L77 +R87 +L787 +L2 +L598 +R59 +L24 +R65 +L644 +L47 +L51 +R586 +R34 +L21 +L45 +L24 +R33 +L5 +R84 +L731 +L69 +R52 +R48 +R30 +L48 +L582 +R16 +L310 +R94 +R10 +L19 +L91 +R4 +L14 +R510 +R11 +R71 +L482 +R47 +L47 +L10 +L56 +L24 +L74 +R64 +R80 +R87 +R16 +R229 +R94 +R29 +R25 +L5 +L55 +L1 +L536 +L63 +L6 +L933 +L66 +R18 +R56 +R31 +L28 +R28 +R70 +R30 +L83 +R183 +L378 +R878 +R93 +R50 +L8 +R60 +R705 +L25 +L33 +L42 +L99 +R62 +R37 +R911 +R50 +R94 +L55 +L106 +R52 +R40 +L86 +R87 +R437 +L49 +L35 +L13 +L88 +R45 +R46 +L62 +L68 +L55 +L67 +L94 +R19 +L3 +L25 +R45 +R80 +L67 +L806 +R76 +L86 +L27 +R55 +L76 +R31 +L45 +L10 +L45 +R312 +R88 +R93 +L2 +L91 +R827 +L27 +L291 +R33 +R78 +L42 +L78 +L786 +L680 +R53 +R15 +L50 +L37 +R75 +L60 +L81 +R51 +L74 +L26 +R34 +R66 +L82 +L18 +R67 +L925 +L49 +R150 +L1 +L18 +L59 +L65 +L48 +L78 +L60 +L82 +R68 +L78 +L5 +R83 +R7 +L7 +L96 +R96 +R64 +L664 +L42 +R42 +R83 +L49 +R92 +R94 +L20 +R38 +L74 +L447 +R99 +R784 +L11 +R854 +L43 +L3 +L64 +R7 +R38 +R74 +R51 +L3 +L41 +L14 +R55 +R64 +L464 +L977 +L313 +L6 +R92 +R4 +L34 +R34 +R542 +R61 +L90 +L60 +L53 +L93 +R94 +R137 +R78 +R42 +L19 +R94 +L833 +R967 +R333 +R80 +L80 +L87 +R21 +R756 +R17 +R72 +R1 +L219 +R75 +R35 +L60 +R94 +L10 +R105 +L50 +L421 +L29 +R47 +L11 +L36 +L74 +L338 +L93 +L26 +L69 +L723 +L77 +L83 +L17 +L82 +R41 +R61 +R7 +L80 +R8 +R58 +R87 +R34 +L36 +R2 +L18 +R24 +L63 +L48 +L35 +R44 +R96 +L84 +L73 +L43 +L88 +L12 +L48 +L889 +L63 +L65 +L80 +L23 +L32 +R397 +R616 +L36 +R76 +L35 +L18 +L16 +R409 +R196 +R11 +L926 +R62 +L867 +L47 +L94 +L56 +L94 +R22 +R827 +R73 +L87 +R71 +L87 +R44 +L37 +L3 +R403 +R27 +R69 +R45 +L45 +R41 +R1 +L443 +R701 +R15 +R8 +R77 +L73 +L27 +L70 +L9 +L436 +L61 +L8 +L68 +R63 +L71 +R8 +L48 +L306 +R87 +L68 +L68 +R83 +L97 +R45 +L64 +R88 +R259 +R894 +L53 +R695 +L95 +L43 +L57 +R16 +R36 +R49 +R736 +R50 +L70 +L479 +R11 +R16 +L134 +L49 +R21 +L387 +L16 +R63 +R37 +L73 +L81 +R554 +L17 +R36 +R451 +R30 +R31 +R51 +L42 +L140 +L82 +L18 +L11 +L5 +L84 +R929 +R71 +L715 +L33 +R848 +L91 +L82 +L27 +R227 +L12 +R82 +R77 +R26 +L45 +R45 +R757 +R43 +R97 +R3 +R901 +L1 +R11 +L10 +L831 +L26 +R56 +R55 +R36 +L85 +L77 +R38 +L45 +L22 +L271 +L933 +R63 +L97 +R55 +L65 +L80 +L265 +R13 +L15 +L78 +L27 +L77 +R90 +L68 +R85 +R70 +L64 +R64 +L44 +L26 +L90 +R60 +L70 +R70 +L15 +R21 +L39 +L46 +L24 +L43 +L66 +L5 +R17 +R43 +R657 +L92 +R40 +R63 +R88 +L99 +R78 +L88 +L13 +R81 +R90 +L738 +R13 +R52 +R215 +R59 +R13 +L695 +R63 +R70 +L61 +L20 +R68 +L287 +L80 +R24 +R556 +L226 +R426 +R67 +L291 +R24 +L594 +L6 +L41 +L38 +L21 +R386 +L10 +R1 +R35 +L39 +R23 +R72 +R32 +R57 +L598 +L8 +L51 +L753 +R53 +L3 +R58 +L529 +R95 +L93 +L95 +R93 +L826 +R52 +R54 +R94 +R23 +R82 +R95 +R489 +R29 +L18 +R28 +R72 +R435 +R743 +L78 +R59 +L669 +L42 +R58 +R87 +L93 +R94 +R72 +R34 +R35 +R65 +R77 +R83 +R940 +L35 +R35 +R78 +L978 +R49 +R29 +L80 +L43 +R45 +L18 +R3 +R15 +R331 +L180 +R16 +R210 +R27 +R196 +L891 +L9 +L52 +L85 +L34 +R91 +R821 +R59 +R84 +L8 +R62 +R8 +L46 +L7 +R77 +L70 +L136 +L860 +R1 +R709 +R40 +L96 +L58 +R613 +L10 +L68 +L51 +R159 +L43 +L176 +R42 +L843 +R77 +R988 +L788 +L82 +R82 +L191 +R91 +L898 +R98 +L31 +L69 +R97 +R3 +R24 +L61 +L16 +L84 +R37 +R63 +L79 +R16 +L613 +L10 +R23 +R96 +L91 +L31 +L92 +L23 +L459 +R39 +L522 +L577 +R87 +R73 +R57 +R90 +R92 +L14 +L25 +R38 +R86 +L24 +R77 +L178 +L99 +L98 +L94 +R43 +L69 +L82 +L80 +L42 +R6 +L28 +L56 +L16 +L761 +L23 +L98 +R98 +R38 +R94 +L532 +R28 +R90 +L18 +L62 +R548 +L8 +L87 +L83 +L34 +R87 +L97 +L86 +R443 +R79 +L501 +R1 +R13 +R52 +R33 +L98 +R46 +L466 +R96 +L76 +L582 +R82 +R47 +R53 +R8 +R18 +L57 +R31 +R865 +L65 +L70 +L94 +R59 +L43 +R48 +L19 +L54 +L13 +L6 +R72 +L855 +R75 +R784 +L29 +L66 +R478 +L613 +L51 +L18 +R4 +R68 +R85 +R13 +L44 +L711 +R531 +R51 +R36 +R87 +R19 +L24 +R97 +R76 +R30 +R28 +R69 +R1 +R99 +R34 +L68 +L51 +R629 +L95 +R811 +R140 +L94 +R77 +L47 +R95 +R169 +L90 +L10 +L77 +L45 +R87 +L65 +R77 +L99 +R78 +L73 +L83 +L93 +L7 +L89 +L92 +L1 +R58 +L76 +R67 +L67 +L68 +L48 +R16 +L174 +L84 +R58 +L51 +R51 +R845 +R25 +L487 +R628 +R19 +R470 +R35 +L45 +R910 +L7 +L31 +R738 +R789 +R24 +L6 +L81 +R2 +L57 +R75 +R48 +L160 +R30 +L29 +R81 +R584 +L36 +R736 +L77 +R61 +L84 +L665 +R34 +R31 +L687 +L113 +L47 +L41 +L76 +L76 +L241 +R354 +R45 +R14 +L32 +L47 +L253 +L28 +R28 +L60 +L40 +R923 +L60 +L163 +R399 +L16 +R17 +R72 +L72 +L6 +L60 +R66 +R96 +L23 +R28 +L1 +R81 +L1 +R68 +L67 +L32 +L20 +R213 +R25 +R33 +R270 +L70 +R425 +L48 +L377 +L25 +L42 +L33 +R104 +L85 +L19 +R669 +R331 +R57 +L40 +L217 +L63 +R15 +L98 +L18 +L55 +L384 +L69 +L85 +L72 +R429 +R45 +L45 +L52 +L62 +R44 +R56 +R414 +L876 +L224 +R641 +R9 +R11 +R78 +R1 +R496 +R98 +R17 +R49 +L506 +R590 +L862 +R93 +R39 +L5 +R51 +R238 +L38 +L644 +R999 +L61 +L94 +R691 +R4 +L55 +L60 +L780 +L481 +R33 +R65 +R83 +R22 +L22 +L430 +R1 +R29 +R83 +R817 +R93 +L14 +L76 +L903 +R39 +R94 +L3 +L43 +L729 +R65 +R12 +R237 +R28 +L12 +L37 +R30 +R65 +R43 +L31 +R42 +L68 +L8 +R72 +R13 +L9 +R73 +L97 +L176 +L584 +L15 +R950 +L629 +R98 +L59 +L61 +R2 +R519 +L227 +L4 +L80 +R90 +R85 +R89 +L767 +R45 +L34 +R65 +R617 +R371 +R29 +L48 +L52 +L214 +R293 +L7 +R28 +L39 +L61 +L56 +L63 +R590 +L6 +R35 +L73 +L327 +R99 +L399 +R827 +R30 +L21 +L636 +R88 +R5 +L70 +R680 +L111 +R8 +L35 +R40 +L5 +L70 +R38 +R46 +L90 +L88 +R19 +R71 +R14 +R60 +R51 +R30 +R319 +L97 +L49 +R46 +L44 +L556 +L90 +L10 +R88 +R12 +R86 +R13 +L88 +R89 +R926 +L26 +R57 +L492 +L65 +R623 +L46 +L72 +R1 +L46 +L60 +L80 +L20 +L40 +L46 +R914 +R361 +R94 +R11 +R33 +L51 +R86 +R692 +L754 +L74 +R174 +R683 +R17 +R91 +L45 +R54 +L55 +R55 +L84 +R98 +R86 +L154 +R62 +L535 +L73 +L354 +L38 +L8 +R97 +L69 +R72 +L30 +R330 +R57 +L81 +L59 +L96 +R24 +R37 +L51 +L31 +R71 +R80 +L24 +R373 +R485 +L85 +R19 +L150 +R31 +L660 +R760 +L63 +R23 +L279 +R63 +R56 +L988 +R2 +L35 +R70 +R91 +L440 +R49 +R13 +R34 +R19 +R31 +L387 +L478 +L81 +R73 +R27 +R38 +R12 +R36 +L86 +R55 +L160 +R5 +R51 +R45 +R59 +R96 +L49 +R98 +R95 +R694 +R11 +L10 +L14 +L839 +R97 +R98 +L532 +R75 +R16 +R71 +L88 +L49 +R75 +L55 +R55 +R53 +R21 +L55 +L19 +L48 +R20 +L68 +L5 +R1 +L35 +L48 +R83 +R61 +R439 +R35 +R65 +L65 +R25 +R957 +L871 +R54 +L37 +R42 +L14 +R65 +R44 +L54 +L19 +R96 +R177 +L98 +R98 +R51 +L75 +L76 +R9 +L3 +R628 +R24 +L43 +R67 +R189 +L189 +R43 +R270 +R80 +R20 +R62 +L49 +R94 +R19 +R579 +R3 +R97 +L625 +L32 +L578 +R90 +L55 +R10 +L83 +L33 +R61 +L98 +R74 +L90 +L41 +R534 +L84 +R305 +R45 +R21 +L621 +L1 +R29 +R72 +R44 +L44 +R65 +L41 +R76 +L256 +L44 +R33 +R67 +R37 +R63 +R95 +L95 +R8 +L208 +R85 +R867 +R48 +L95 +R36 +R556 +L47 +R8 +L58 +L84 +L116 +L56 +R56 +L93 +R43 +L15 +R31 +L26 +L40 +R10 +L10 +R19 +L63 +L656 +R57 +L91 +L57 +L87 +R13 +R85 +R171 +R57 +L68 +R20 +L22 +R264 +L31 +L11 +L38 +L50 +L12 +R947 +R53 +R203 +R86 +L17 +R17 +L89 +L41 +R89 +L6 +R58 +R46 +R54 +L26 +L308 +R76 +L42 +L58 +L27 +L37 +R22 +L789 +R64 +R86 +R809 +L30 +L291 +L12 +R363 +L61 +L39 +R65 +R98 +R26 +L45 +R56 +L748 +R22 +L20 +R50 +L4 +L76 +R76 +R685 +R29 +L68 +L64 +L82 +L49 +L71 +L190 +L290 +R887 +R49 +R85 +R16 +R11 +R12 +L62 +R2 +R91 +L880 +R30 +L64 +L677 +L12 +L84 +R82 +L24 +R48 +R65 +R33 +R92 +L27 +L472 +R712 +R87 +L26 +R26 +R19 +R81 +L82 +R94 +R36 +L48 +R77 +L287 +R78 +R421 +L176 +L86 +L27 +L98 +R586 +R79 +L67 +R20 +R74 +R33 +L78 +R17 +L43 +L815 +L827 +R19 +L488 +L95 +L17 +R176 +R24 +R51 +L451 +L72 +R71 +L41 +R42 +R32 +R67 +L99 +L49 +R154 +R54 +R96 +R45 +R11 +R89 +R363 +L646 +R83 +R95 +R69 +R375 +R61 +L53 +R91 +L13 +L66 +L959 +L9 +R46 +R13 +L66 +R12 +L66 +R70 +R96 +L496 +L647 +R47 +L60 +L63 +R23 +L94 +L6 +L4 +L96 +L74 +R74 +L1 +L99 +R2 +R86 +L47 +R84 +L17 +L8 +L78 +L670 +L52 +R6 +R94 +L95 +L36 +L3 +R50 +R16 +R68 +R28 +L99 +L34 +R5 +L49 +L82 +L57 +R81 +L18 +L49 +R74 +R32 +L32 +R579 +R34 +R62 +R51 +R99 +L62 +L79 +R6 +R30 +L920 +L23 +L26 +L49 +L602 +L52 +L70 +L78 +R70 +R12 +L52 +L90 +R73 +R4 +L33 +L76 +R470 +L78 +L56 +R56 +L29 +R94 +R97 +L81 +L81 +L272 +L76 +L72 +L344 +R864 +L76 +R53 +L77 +L43 +R43 +L9 +L5 +L52 +L88 +R35 +R42 +L75 +R794 +R58 +R180 +R51 +R469 +L41 +L29 +L430 +L449 +L77 +L74 +R89 +R55 +R56 +R680 +R99 +R21 +R2 +L402 +R218 +L6 +R99 +R989 +L10 +L577 +R56 +L69 +L1 +R701 +R191 +L1 +R510 +R7 +R93 +L14 +R14 +R42 +L124 +R776 +R44 +L67 +R29 +L753 +R53 +L92 +R71 +R83 +R315 +R95 +L23 +L70 +R47 +R307 +R46 +L17 +L862 +R95 +L34 +L61 +L14 +L467 +R81 +R4 +R38 +R58 +L92 +L18 +L790 +L5 +L83 +R488 +L369 +R529 +L75 +R43 +R72 +R57 +L457 +L65 +R67 +L659 +R81 +L824 +L540 +R40 +R7 +L19 +L88 +L57 +L68 +L75 +L60 +L725 +L15 +L550 +L59 +R902 +R190 +L1 +L4 +L78 +L35 +L190 +L75 +R71 +L70 +R370 +L78 +R233 +L22 +R96 +R42 +R258 +R58 +L82 +R24 +L740 +R613 +R7 +R81 +L66 +L95 +L79 +L17 +L25 +L79 +R83 +L49 +R36 +L34 +R764 +R99 +L99 +R61 +R858 +R81 +L82 +R7 +L25 +R40 +R55 +R53 +L30 +R86 +R96 +L94 +L6 +R12 +L82 +L68 +L62 +L33 +L96 +L71 +R79 +L97 +R18 +R73 +L62 +R588 +R18 +L17 +R99 +R63 +R938 +L70 +R8 +R62 +R9 +L71 +R6 +R256 +R24 +R83 +L22 +R4 +L99 +R99 +R15 +L56 +L44 +L90 +L14 +L105 +L95 +R2 +R99 +R32 +R25 +L77 +R19 +L80 +R88 +R92 +R19 +R25 +L92 +R41 +R6 +L63 +R30 +L66 +R52 +R624 +L985 +L30 +R694 +L88 +R333 +R52 +L52 +L62 +L38 +R83 +R7 +L90 +R94 +L63 +R66 +L197 +L776 +L33 +L52 +L39 +L68 +L935 +R31 +R49 +L69 +R992 +L43 +L12 +R194 +R25 +R16 +R320 +L228 +R26 +R826 +R29 +L52 +L2 +R34 +R67 +R34 +R53 +R213 +R78 +L298 +R20 +R20 +L96 +R91 +R85 +L61 +L39 +R988 +L72 +L16 +L69 +L507 +R76 +L280 +L25 +L33 +L62 +R8 +L8 +R42 +L42 +R98 +L7 +L4 +R97 +R6 +R410 +R54 +R63 +R683 +L28 +L72 +R70 +R30 +R31 +R69 +L66 +L34 +R45 +R555 +L71 +L24 +L36 +L481 +L139 +L31 +L18 +R50 +L50 +L96 +L968 +L659 +L68 +R15 +L82 +L764 +L96 +R18 +R16 +R11 +R73 +L8 +R14 +L506 +R136 +L22 +L31 +R70 +R11 +R21 +L785 +L15 +L785 +R61 +R39 +L68 +R68 +R39 +R69 +R92 +R99 +R41 +L50 +R89 +L79 +L88 +R88 +L25 +R63 +R26 +R48 +L471 +R620 +L59 +R12 +R54 +L30 +L2 +R64 +L97 +R97 +R939 +L24 +L815 +R392 +R69 +L61 +R67 +R86 +L53 +R81 +L81 +L841 +R8 +R133 +L105 +L26 +R14 +R47 +R70 +L149 +R28 +R25 +R96 +L95 +R84 +R760 +R51 +R60 +L33 +R408 +R69 +L94 +R90 +L646 +R46 +L61 +R27 +R24 +R16 +L5 +L301 +R718 +R5 +R77 +L305 +L95 +L92 +L8 +L5 +L87 +R75 +L20 +L334 +L5 +L24 +L5 +R5 +R858 +L38 +L20 +L68 +R67 +L31 +L99 +R70 +L39 +R36 +L336 +R92 +R8 +L51 +R51 +R25 +L525 +L88 +L12 +L35 +L31 +L58 +L2 +R26 +R54 +R52 +L32 +R20 +R992 +L1 +R15 +R30 +R76 +R12 +L31 +L828 +L67 +R8 +L239 +R39 +L13 +R13 +L39 +L61 +R88 +L15 +L73 +L98 +R277 +R121 +L553 +L22 +R50 +R29 +L66 +R662 +R83 +R18 +L42 +R41 +R38 +L71 +R55 +L22 +L94 +L659 +L52 +R5 +L543 +R48 +L9 +R10 +R12 +L95 +L201 +R178 +R921 +R86 +L7 +L22 +L724 +R46 +L49 +L68 +R17 +L67 +L992 +R42 +R17 +R92 +L27 +R35 +L76 +R13 +L61 +L41 +R79 +L17 +R73 +R112 +R73 +R779 +L88 +L193 +R252 +L35 +R57 +L27 +R862 +R38 +L70 +R69 +L45 +L14 +R46 +R14 +L33 +R273 +R94 +L14 +R17 +R63 +L74 +R857 +L127 +R44 +L79 +R714 +L35 +R470 +R72 +L72 +L877 +R2 +R90 +R434 +L74 +R373 +R29 +R53 +L250 +R24 +R26 +R285 +L85 +L55 +L3 +L70 +L975 +R819 +L16 +R19 +R11 +R340 +L70 +R87 +L78 +R64 +R27 +R20 +R80 +R72 +R69 +R43 +L84 +R949 +L149 +R390 +R12 +R5 +R12 +R281 +R61 +L70 +L91 +L53 +R76 +R54 +L25 +L47 +L25 +R54 +R77 +R8 +R5 +R78 +R17 +R55 +L82 +R40 +L432 +L17 +L481 +R16 +L90 +L76 +L52 +R30 +R4 +L35 +L25 +R326 +R83 +L73 +L10 +R49 +L21 +R972 +L15 +L49 +L336 +L4 +R64 +R440 +L28 +R128 +L3 +L97 +L82 +R23 +R59 +R53 +R36 +L608 +L26 +L93 +R281 +L317 +R74 +L99 +L13 +L27 +R481 +R58 +L49 +R49 +R74 +R26 +R913 +L15 +R19 +L72 +L89 +R90 +R922 +L23 +R50 +L48 +R682 +R74 +L20 +R98 +L381 +R704 +L152 +L652 +L21 +L11 +R13 +R6 +R5 +R90 +R28 +L36 +L63 +R672 +R91 +R326 +L84 +R477 +R56 +L49 +R839 +R85 +R76 +R23 +L26 +L10 +L66 +L21 +R40 +R64 +L95 +R89 +R59 +L57 +R70 +L513 +R43 +L32 +L93 +L36 +R37 +R360 +L60 +L68 +L80 +R32 +R64 +L10 +L14 +L1 +R73 +L69 +L77 +L549 +R2 +R73 +R48 +L532 +R32 +L472 +L628 +R99 +R855 +L54 +L67 +R10 +L865 +L89 +R962 +L66 +R98 +L983 +L91 +R42 +L752 +R96 +R66 +L61 +L42 +R32 +R12 +L39 +R83 +L46 +L80 +L50 +R30 +R42 +L42 +L33 +R33 +R48 +R52 +R44 +R56 +R33 +R79 +R88 +L81 +L396 +R77 +L94 +L27 +L20 +L59 +R42 +L77 +L963 +L2 +L85 +R24 +R276 +L5 +L10 +R93 +R7 +R37 +R937 +L37 +L37 +L31 +L69 +R921 +L21 +L14 +L919 +R933 +R62 +R35 +L90 +R670 +R23 +R78 +R22 +R54 +L74 +R782 +L324 +R62 +L16 +R4 +L88 +R23 +R577 +R528 +L35 +L53 +R360 +L8 +L89 +R97 +L5 +R5 +L33 +L879 +L188 +R29 +L93 +L9 +L61 +R53 +R81 +R82 +L937 +R76 +R79 +R78 +R20 +R502 +L19 +R19 +R29 +R71 +R57 +L28 +R38 +R262 +L34 +L46 +L49 +L27 +R27 +R320 +L8 +L78 +R66 +L80 +L20 +L35 +L18 +L536 +L11 +L4 +R65 +L61 +L33 +R862 +R92 +R76 +R3 +L21 +L79 +L139 +R45 +R694 +R94 +R671 +R130 +R34 +L29 +R22 +L22 +R94 +L94 +L37 +L23 +L69 +R4 +R62 +L44 +R7 +R65 +L84 +L12 +L97 +L43 +R71 +L13 +R15 +L38 +R43 +R44 +L26 +L25 +L31 +L69 +L451 +R409 +R41 +L69 +R57 +L87 +L65 +R65 +L631 +R831 +R59 +L86 +R3 +L81 +L46 +L478 +L171 +R60 +L960 +L51 +R151 +L597 +L3 +L48 +R50 +L30 +L68 +R523 +L66 +R37 +R216 +L14 +L20 +R90 +L70 +R58 +L22 +R116 +L166 +L80 +L83 +R77 +R226 +L98 +R72 +R14 +L63 +L92 +R54 +L25 +R2 +R10 +L94 +R670 +L44 +R68 +L82 +R363 +R293 +R29 +L60 +L11 +R41 +R2 +L87 +R40 +R96 +R280 +L92 +R888 +R434 +L34 +R26 +L726 +L58 +L73 +R131 +R319 +L93 +L74 +R85 +R29 +R34 +R38 +R62 +L97 +R97 +R36 +R171 +L91 +L765 +R179 +R70 +L21 +R93 +L27 +L345 +R48 +L208 +L17 +R16 +R3 +R16 +L98 +R4 +L235 +L29 +R48 +R885 +L1 +L20 +L12 +R40 +R49 +R511 +L5 +L25 +L70 +R80 +L73 +L64 +L78 +R933 +L4 +L94 +L23 +R45 +L12 +L38 +R28 +R803 +L6 +R3 +L65 +R2 +R73 +R17 +L1 +L26 +R20 +L20 +R79 +L64 +L17 +L98 +R95 +R87 +L82 +L6 +R30 +R39 +R62 +L11 +L32 +R51 +L90 +L65 +R22 +L66 +L34 +L68 +R90 +R26 +L137 +L73 +R519 +R43 +L49 +R81 +L60 +L1 +R96 +L48 +L22 +L56 +L11 +R70 +R96 +L78 +L2 +L40 +L247 +R69 +R81 +R37 +L16 +L199 +R192 +R52 +R55 +L87 +R55 +R32 +R64 +R36 +R326 +R66 +R17 +L9 +L88 +L89 +L23 +L3 +R3 +R56 +L856 +R71 +R29 +R23 +R52 +L270 +R7 +L75 +L37 +R95 +L26 +R10 +R58 +L29 +L52 +L218 +L38 +R4 +L47 +R943 +R75 +R44 +L23 +R55 +R49 +L8 +R56 +L48 +L51 +R37 +R81 +R33 +L49 +R47 +L98 +L14 +R14 +R57 +R432 +R25 +R418 +L32 +R71 +L25 +R54 +R53 +L353 +R56 +L5 +R14 +L65 +L46 +R23 +R723 +L87 +L69 +L44 +L39 +L61 +L72 +L58 +L86 +L484 +L71 +L84 +L145 +L74 +R48 +L174 +L929 +R93 +R642 +R56 +R938 +L95 +R42 +R45 +R14 +R49 +R34 +L89 +L66 +R20 +L54 +L550 +R454 +L474 +R70 +L83 +R93 +L46 +R36 +L46 +L54 +L4 +R42 +L804 +L237 +R488 +L885 +L569 +R85 +L182 +L12 +R48 +L70 +L748 +L52 +L69 +L31 +R826 +L35 +L71 +L886 +R66 +R43 +R9 +R48 +L977 +R42 +L29 +L97 +R61 +L7 +L90 +R95 +R32 +L13 +R83 +L49 +L95 +R95 +L351 +R7 +R50 +R66 +L3 +L20 +R162 +L62 +L87 +L13 +R52 +R48 +L658 +R63 +L5 +L24 +R32 +L40 +R32 +L11 +R13 +R97 +L30 +R31 +L21 +R68 +R49 +R560 +L89 +L55 +L60 +L52 +R625 +R751 +L54 +R95 +L94 +R677 +L88 +R45 +R565 +R25 +L3 +L170 +L98 +L13 +R37 +R56 +R9 +L451 +R86 +R85 +R30 +L15 +L96 +L118 +L5 +R869 +L92 +R49 +L7 +L131 +L44 +R75 +R58 +R63 +R279 +R75 +L80 +L95 +L25 +R37 +L68 +R156 +R116 +R24 +L190 +R51 +R193 +L47 +R30 +R78 +L590 +R87 +L52 +L92 +R192 +L43 +L14 +L943 +L6 +R6 +L91 +L9 +L271 +L56 +R27 +L977 +L74 +R96 +R55 +R57 +L89 +L78 +L90 +L57 +L57 +R14 +L26 +R93 +L66 +L1 +R27 +R62 +R11 +R72 +R28 +L60 +R52 +R821 +L96 +R83 +L634 +R34 +L48 +R705 +R95 +R48 +L951 +L85 +L81 +R202 +L85 +L718 +R57 +L28 +L777 +L40 +R45 +R61 +R29 +L29 +L809 +L44 +R54 +R16 +L20 +R103 +L78 +L59 +R37 +R95 +R71 +R72 +R25 +R37 +R896 +R37 +L33 +R58 +R42 +L93 +L941 +L92 +R41 +L74 +L73 +R68 +R64 +R82 +L70 +R88 +L973 +L772 +L82 +R33 +R636 +L42 +R8 +L27 +L43 +L81 +L57 +L43 +L28 +L22 +R56 +L735 +R10 +L38 +R60 +L30 +R79 +L294 +R85 +R275 +L15 +R34 +R6 +L8 +R8 +L726 +L74 +R77 +L88 +R27 +L371 +L30 +L3 +L549 +R10 +L740 +R64 +L97 +R82 +L82 +L131 +R31 +L85 +L4 +R18 +L229 +L55 +R59 +L4 +L337 +L63 +R877 +R567 +R56 +R84 +L243 +L19 +R1 +R777 +R58 +R42 +R21 +L21 +L61 +L39 +L315 +R92 +R23 +R28 +L528 +R13 +R87 +L61 +R4 +L143 +L80 +R80 +R517 +L54 +R37 +R60 +R40 +R96 +L28 +L45 +L79 +L75 +R35 +L68 +L36 +R1 +R99 +R7 +L7 +R76 +L73 +R2 +R17 +R207 +L81 +R15 +R34 +R3 +L16 +L684 +R54 +R960 +R86 +R946 +R69 +R85 +L67 +R773 +R61 +R87 +R32 +R14 +L869 +L855 +L69 +R33 +R85 +L741 +R82 +L34 +R70 +R50 +R48 +L71 +R15 +R56 +R26 +R79 +L16 +L70 +R81 +R794 +L76 +R14 +R83 +L515 +R92 +L69 +L23 +R74 +R1 +L77 +R2 +L62 +L38 +R37 +R63 +L140 +L853 +R493 +R390 +R26 +L16 +R98 +L183 +R85 +R58 +R889 +R53 +L26 +L96 +R33 +R1 +R88 +L23 +L277 +L66 +R507 +R19 +R18 +R977 +R45 +R93 +L684 +L96 +L78 +L35 +R74 +R26 +R39 +L22 +L38 +L79 +R24 +R354 +L78 +L677 +R22 +L56 +L289 +L13 +R14 +L58 +L43 +L503 +R19 +R16 +L32 +R65 +L68 +L99 +L67 +L31 +R460 +L73 +L87 +L2 +L98 +R91 +R9 +L379 +R79 +L68 +R28 +R242 +R66 +L4 +R66 +L33 +L71 +R31 +L57 +L2 +R90 +R69 +L57 +L86 +R71 +L737 +L80 +R232 +R79 +L179 +R52 +L20 +R77 +L67 +L42 +L8 +R97 +R40 +L29 +R4 +L59 +L53 +R16 +L62 +L67 +R21 +L346 +L93 +R48 +L96 +R998 +L45 +L85 +R32 +L23 +R70 +R40 +R51 +R97 +L7 +L41 +R53 +L153 +R474 +L10 +L764 +L36 +L14 +L22 +L152 +R24 +L80 +L23 +R503 +L80 +R11 +L24 +R38 +L813 +L103 +L29 +R70 +R69 +R21 +L202 +R479 +R63 +R125 +L780 +R45 +L790 +L36 +L64 +L48 +L52 +R22 +L432 +L84 +L13 +R70 +R17 +R20 +R4 +L207 +L565 +L85 +R53 +L28 +R11 +R25 +R31 +R61 +L87 +R987 +R60 +L60 +L14 +L75 +R60 +L71 +L780 +R17 +R55 +L92 +L464 +L87 +R28 +L83 +R96 +R610 +R681 +L21 +R50 +L10 +L86 +L88 +R39 +R835 +L32 +L68 +R304 +R14 +L29 +R547 +L89 +R53 +R616 +L16 +L51 +L29 +L56 +R136 +L1 +R301 +R923 +R777 +R813 +L413 +R5 +L791 +R86 +R63 +L19 +L97 +R82 +L29 +L53 +L35 +L645 +R245 +R351 +R2 +L65 +L99 +R35 +L38 +L98 +L9 +L91 +R80 +L94 +R44 +R387 +L73 +L55 +R729 +R63 +L805 +L76 +L306 +L474 +R29 +L422 +R78 +R995 +R248 +R56 +R96 +R2 +R66 +L77 +R71 +L293 +L269 +R24 +L64 +R940 +R48 +R967 +L48 +L65 +L2 +R3 +L78 +R460 +L73 +R62 +L74 +L11 +L76 +L90 +L63 +L61 +R129 +L28 +L797 +L15 +R21 +R6 +L15 +R99 +R1 +L61 +L5 +L8 +L726 +L69 +L703 +R1 +R58 +L721 +L83 +L75 +L83 +R75 +L2 +R64 +R736 +R52 +L30 +R378 +R750 +L85 +R37 +L13 +L224 +R37 +R29 +L55 +R826 +L273 +L51 +R56 +L83 +R51 +R22 +L74 +L48 +L82 +R2 +R80 +R555 +L45 +L10 +R555 +L66 +L88 +L20 +L781 +L609 +R44 +R65 +L575 +L25 +L34 +R31 +L87 +R93 +R97 +R73 +R33 +L5 +R999 +L2 +L16 +L2 +L80 +R66 +R2 +L18 +L28 +R78 +L798 +R798 +L94 +L980 +L22 +R99 +R85 +R77 +R7 +L39 +R67 +R36 +R84 +R80 +L973 +L754 +R27 +L30 +R3 +R7 +L71 +L13 +R4 +L92 +L240 +L80 +R52 +L40 +R96 +L28 +R96 +R19 +R17 +R913 +R387 +R19 +R62 +L36 +L26 +L419 +L34 +L87 +R36 +L703 +R88 +R59 +L59 +R13 +R13 +L26 +R44 +L344 +L98 +L88 +R201 +R50 +R21 +L17 +L20 +L49 +L17 +L83 +R14 +L14 +R169 +R85 +R46 +L7 +R7 +R719 +R5 +R15 +L39 +R640 +R60 +R573 +R592 +L65 +R74 +R26 +R59 +L59 +L4 +R64 +L60 +R370 +R71 +R59 +L30 +R30 +L14 +R414 +R29 +L561 +R32 +L64 +R64 +L42 +R24 +L482 +L89 +L11 +R86 +L69 +R24 +L5 +R76 +R88 +R61 +L61 +L16 +R816 +R56 +L96 +L460 +R60 +L14 +R76 +R49 +R888 +L59 +R71 +R29 +R53 +R347 +L90 +L10 +R35 +R88 +L635 +L5 +L637 +L16 +L30 +R89 +L59 +R70 +R99 +L305 +L22 +R82 +R599 +R33 +L582 +R96 +R931 +L231 +R51 +R78 +R11 +L40 +L42 +R85 +R568 +R618 +R921 +R50 +L68 +R68 +L52 +R52 +R5 +L5 +R8 +L53 +L60 +L27 +L51 +R34 +R53 +L4 +L26 +R72 +R148 +R35 +R68 +R103 +R55 +L14 +R59 +L136 +L54 +L93 +L17 +R64 +L8 +R88 +R556 +R12 +R38 +R50 +L73 +R79 +L824 +R418 +R53 +R761 +R786 +L513 +L87 +L65 +R7 +R1 +R22 +L65 +L17 +L86 +R858 +R12 +R12 +L696 +L2 +L81 +L26 +L74 +R86 +L4 +R18 +L38 +L62 +R94 +R6 +L95 +R56 +L61 +R36 +L94 +L47 +R98 +R7 +R41 +R59 +R30 +R54 +R16 +R69 +R31 +L88 +R11 +R86 +R91 +L30 +R30 +R6 +L6 +L94 +L6 +R93 +R67 +L61 +R1 +L84 +R84 +R81 +R37 +R34 +L87 +L62 +L65 +L30 +L8 +L97 +R15 +L22 +R9 +R28 +L16 +R44 +R30 +L2 +L6 +R1 +R36 +L27 +L28 +R23 +L4 +R39 +L46 +R40 +R13 +L28 +R1 +R45 +L37 +R6 +R18 +R37 +L6 +L41 +L27 +R11 +R13 +L12 +R40 +R18 +R46 +R49 +R46 +L29 +R35 +R48 +L10 +R10 +R16 +R40 +L26 +R42 +R6 +R30 +R19 +L43 \ No newline at end of file diff --git a/Inputs/Day10.txt b/Inputs/Day10.txt deleted file mode 100644 index a5d8c1d..0000000 --- a/Inputs/Day10.txt +++ /dev/null @@ -1,60 +0,0 @@ -670107898789217654342123456782345678011256767898765465432101 -789234567654308210256034105891089019100349897767874376569101 -658341234530989300107845234521078323270110588758901287478272 -345450347621895418916976367652569454589223679643210896564383 -430569678934786917014989898743458765678334534554034787665898 -521678432825677806323876321212345107895450128765125693456721 -437876501910543215214985400303434234784966549834296502107610 -108978967865676784305673212345125105672877838126787411098523 -232169054654985895676894501876056216781236923035498321015432 -147054103023984104389087662943237645890321015676325677896761 -058943212110873201243179879850198732765430234588714986234890 -167687601101164012652234568766784321887342101899603215105659 -678996511231054873701221978955693870996456701234514504378778 -982123490543123964823400876554212987345980896785603673069867 -765010587650123455916512345443403456287671015498512982154956 -876523018567656996507845678932212310196542564321027854323241 -985452109898743887765930987821054321203433473452567761018130 -784343216789212701894321076543065010012128982867658956789021 -891238345323105611256232565332170321234089801998943441034330 -760189653410134320347183423469981236985178767870832332125545 -654308754589823412398094012578876547876589454561221089076556 -569210345676210503480189017665014566981074305432012670988987 -778123216784345676503276328984323475212565213456587521267981 -898014505891256985214965410810012984303456432347895430345670 -785210676540787694345898325723678778984234541056498741234321 -654321987034896001256763676554569560128105650110345657876434 -321039654126789123347854985438765430439876763431233054965235 -490318743256770104098923821129654321540569892343212123452196 -581401232149863265121012530034341013691456701456504567861087 -672310345038054396432343448101231012782347650987623438932387 -965498786521178987503453559874342103452878943298510129873498 -878945697810265089612354567565213478501987801123456018784567 -969034398924354108743543658106904569612016772010567105695436 -450123454589443298874632109237876548743125983400198234306721 -343210545476554581965549434312361039654334876510256543217810 -012654556321055670123678323403456128761242108981347789878934 -101763217898765432252101410589567545650543567432098236712125 -249890106789854501343234521673498432787694656548123145601016 -432187678768763312854145636762876501098781067439054006432567 -243014569659643210965098745891985411239872358928765419647898 -156103012346501349876787876740694320540965443210474328756787 -067612101236432358565678945056543217601453456754389845643896 -198787656345678967632365432127680108912322589863265434512387 -234594565676589874541050121218998012301011267770172123001989 -109683410789490163698210930300107321694120178089085012123476 -658762125610301252784327845451256430783243569172196781018565 -567891034521212341075456786965344567654652410234505492109410 -656900347234301056789845697874498698676701322343012343478326 -543211298165692345698926543289567789589887011452321034567567 -432104347076780434767810432101125654434996320961478933003498 -218765456987101229896321101911036763221745467870567122112567 -309894365896234310785410110876545894100876786987651033678985 -456789223345985401656789212567030345210965495698776544543234 -787650110276576564565094303498121236321234324308989434350198 -896343023183465433004185478767870387123456710217375621060167 -125432134092174332113276769365968791001249854567434789871256 -034334547894089211223498853478959601098345983098723348964343 -301227656323456200124567942562344512367896572129810254328321 -212018965214387103438901231001123201456087561234722167219450 -323127656103898234567872102121010126545123450165621098308761 \ No newline at end of file diff --git a/Inputs/Day11.txt b/Inputs/Day11.txt deleted file mode 100644 index 4959fe9..0000000 --- a/Inputs/Day11.txt +++ /dev/null @@ -1 +0,0 @@ -0 7 6618216 26481 885 42 202642 8791 \ No newline at end of file diff --git a/Inputs/Day12.txt b/Inputs/Day12.txt deleted file mode 100644 index a094bfc..0000000 --- a/Inputs/Day12.txt +++ /dev/null @@ -1,140 +0,0 @@ -MMNNPPPPGGGGAGGPPPPPPPPPZZZZZZZLLLLLLLEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAMMMMNNMMMMMMMMMMMMMMMMAARRRRRRRRRRRRRRRRRRHHHHHHHHHHHHHAAAAAAAAAAAA -MNNNPNPPGGGGGGGPPPPPPPEPZZZZZZZLLLLLLLWWEEEEEEEEEEEEEAPAAAAAAAAAAAAAAAAAAMMMMMMMMMMMMMMMMMMMAMMAARRRRRRRRRRRRRRRRQRHHHHHHQHHHHHHHWAAAAAAAAAA -NNNNNNNPGGGGGGGGPPPPPPPZZZZZZZZZLLLLLLLEEEEEEEEEEEEEEPPPPAAAAAAAAAAAAAAMMMMMMMMMMMMMMMMMMMMMAAAAAAAAAVRRRRRRRRRQQQQHHQQHQQQHQHHHHWWWWAAAAAAA -NNNNNNNNGGGGGGGPPPPPPPPPZZZZZZLLLLLLLLLLEEEMEEEEEEEEEEPPPPAAAAAAAAAAAMMMMMMMMMMMMMMMMMMMMMMMMAAAAAAVVVVRRRRRRRQQQQXQQQQQQQQQQQQHHHWWWWWAAAAA -NNNNNNNYYGGGGGGPPPPPPPPPZZZZZZZLLLLLLLLMMMMMEEEEEEEEEPPPPPPAAAAAHAAAAMMMMMMMMMMMMMMMMMMMMMMMMMMAVVVVVVVRRRRRQQQQQQQQQQQQQQQQQQQHHWWWWAAAAAAA -NNNNNNNXYYYCCCIPPPWZPPPPPZZZZZZLLLLLLLSSMMSSEEEEEEEPPPPPPPPPPAAHHAAAAHMMMMMMMMMMWWMMMMMMMMMMMMMMMDDVVVVRRRRRRQQQQQQQQQQQQQQQQQQHHWWWWWAWAAAA -NNNNNNXXYCCCCCIPPPPZZPPPZZZZZZZZLSLSSSSMMMSSEEEEEEEPPPPPPPPPPPAAHHAAAHHMMMMMMMMMMWMTTMMMMMMMMMMDDDDVVVVRRIIMRMMMQQQHTTQQQQQQQQQQQWWWWWWWWWWA -NNNXXXXXXCCCCCCXPZPZZZPZZZZZZZZZZSSSSSSSSSSSEEEEEEEEPPPPPUUXXXHAHHHAHHHMMTMMMTMMMMTTTMMMMMMMMMDDDDDVIIIRIIMMMIMZQQQHTHQQQQQQQQQQAAWWWWWWWWAA -NNNNXXXXCCCCCCCZZZZZZZZZZZZZZZSSSSSSSSSSSSSSSSEEFFPPPPPUUUXXXHHHHHHHHHHHTTMMMTMMMMTTTTTMMMMMMDDDIDDVIIIIIIIMMMMMQQQHHHQQQQQQQQQQAAAWWWWWAWAA -NNNNNXXXXCCCCCAVVZZZZZZZZZZZUUUSSSSSSSSSSSSSSFEFFFFPPPPUUUXXXXHHHHHHHHHHHTMTTTTTMMTTTTTTMMMDMDDIIIVVIIIIIIIMMMMMMQQHHQQQQQQQQGGGQAAAWWWAAAAA -NNNNNXXXCCCCCVVVVVVZZZZZZZZUUUUSSSSSSSSSSSSSFFFFFFFPPPUUUUXUXHHHHHHHHHHHHTTTTTTTMMTTTTTTMMDDDDDDIIIIIIIIIIIMMMMMMQIHAQQQQQQQQQQQQAAAAAWAAAAA -NNNNNNXCCCCCCCVVVVZZZZZZZZZUUUUSSSSSSSSSSSSSSFFFFFFPPPUUUUUUXHHHHHHHHHHHHHTTTTTTTTTTTTTTTTTDDDAAAAIAIIIIMMMMWMMDDGGGAQQQQQQQQQQQQQAAAAAAAAAA -NNNNNNNCCCCCCCCVVZZZZZZZUZZUUUUSSSSSSSSSSSFFFFFFFFFFPPUUUUUUUHHHHHHHHHHTTTTTTTTTTTTTTTTTTTDDVVAAAAAAIIIIIIIMMTTDDGGGAQQQQQQQQQQWWWUUUAUUUAAA -NNNNNNNNCCCCCCCCVVZZZZZZUUZUUUUSSSSSSSSSSSSSFFFFFFFFPPUUUUUUHHHHHHHHHHHHHHTTTTTTTTTTTTTTTTTDVVXAAAAAIIIIIIIMTTTTTTTGGQQQQQQQQQQWWWUUUUUAAAAA -NNNNNNNNNNNCCCCCCCZZZZZZUQUUUUUUUSSSSSSSSXSSOFFFFFFFFPPPPUOOHHHHHHHHHHHTTTTTTTTTTTTTTTTTTTTDVVVAAAAAAIIIIIIMTTGTTGGGGQQQQQQQQQQWWWUUUUUUAAAA -NNNNNNNNNNCCCCCCCCZZZZZUUQUUUUUUUSSSSSSSSSSOOOOFPFPFPPPPPPPPPPHHHHLHHHHTTTTTMMMTTTTTTTUTTTTDDVVVVAAAAIIIIIIMTTTTTGGGGQGGGQQCQQWWWWUUUUUUUUUA -NNNNNNNNNNNNCCCCCBBMZZZUUUUUUUUUUSSSSSSSSOOOOBBPPPPFPPPPPPPPPPXHHHHHHHHTTPTTMMMTTTTUTUUUUUUUVVVVVVVAAAIIIIIITTTTTGGGGGGGGQFFWWWWWWUUUUUUUUUU -NNNNNNNNTNCCCCCCBUBBHCCCUUKUUUUUSSSSSSSSOOOOOBBPPPPPPBPPPPPPPPHHHSSSSHPPPPPMMMMMTTTUUUUUUUUOUVVVVVVAAIIIIIIITTTTGGGGGGGGGFFFWWWWUUUUUUUUUUUU -NNNNNNNWCCCCCCCBBBBBBCCCCCUUUUUUSSSSSRRRROROOOBBBBBBBBBBPPBBBBHSSSSSSSPPPPPMMMMMTTUUUUUUUUUUUVVVVVVVVVVVVXIITTTGGGGGGGFFFFFFSSKWUUUUUUUUUUUU -NNNNNWWWWCCCCCCCBBBBHCCCCCUUUUUUUSSTGRRRRRRRRBBBVBBBBPPPPPBBBBSSSSSSSSPPPPPPMMMMMTTUUUUUUUUUUVVVVVVVVVVVVXXUUGGGGGGGGGFFFFFNSSKKJUUUUUUUUUUU -MMMWWDWWIWWCCCCBBBBBBCCCCCCCCCCCCCGGGGRRRRRRRVVVVBBXXXXXPPBBSSSSSSSSSPPPPPPPMMMMMUTUUUUUUUUUUUUVVVVVXXXXXXXUUGGGGGGGGGFFFFFSSKKKJUUUUUUUUUUU -MMMMWWWWWWWCCCCBQBBBBCCCCCCCCGGCGGGQGGRRRRRRRVZZZZZXXXXXBBBSSSSSSSPSPPPPPPPPPMMMMUUUUUUUUUUUUUUFVVVVXXXXXXXUUUUGGXGGGGGFFFFAAAKKJUUUUUUUUUUU -MWWWWWWWWWCCCCCCQBQBCCCCCCCCCCGCGGGGGGRRRRRVVVVVZZZXXXXXZBBSSSSSSSPPPPPPPPPPPMMMMMUUUUUUUUULFFUFFVXXXXXXXXXUUUUGXXGGGEFFFKKKKAKKKKKUUUUUUUUU -WWWYWWWWWWKCCCQCQQQCCCCCCCCCCGGGGGGGGGGGGGGVVVVVVZZXXXXXZZBBSBBSSSPPPPPPPPPEEMMMMMGUUUUUUUULFFFFVVXXXXXXXXXUUUUUBBUUGEFFFKKKKKKKKKUUUUUUUUUU -WWWWWWWWWWWQQQQQQQQCCCCCCCCCCGGGGGGGGGGGGGGVVVVVVVZXXXXXKKKBBBBSSSSUUPPPPPPEMMSMMGGVAAAUUQFFFFFFVVVVVXXXXXUUUUBBBUUREEEMMKKKKKKKKKKKUUUUUUUU -RWWWWWWWWWWQQQCQQQCCCCCCCGGGGGGGGGGGGGGGGGVVVVVVVVVXXXXXKKKKKBBBBBSSUPPPPPSMMMSSMMGVVVVVVQFFFFFFFFVVVXXXXXUUBUBBBBBREEEMMMMKKKKKKKKKUHUUUUUU -WWWWWWWWWWWQCCCQQQQCCCCCCCCCGGGGGGGGGGGGGGGVVVVRVVRXXXXXKKKKBBBBBBBBPPPPPPSSSSSSMMMVVVVVVVFFFFFFFFFFFXXHXUUBBBBBBBRRREMMMMMKKKKKKKKKKHHHUUUU -WWWWWWWWWWWCCCCQQQCCCCCCCCCIGIIGGGGGGWGGGGVRRRRRRRRXXXXXKKKKKKKBPBBPPPPPPSSSSSSSSMVVVVVVVVVVFFFFFFFFFHHHUUBBBBBBBRRRMMSMMMKKKKKKKKKKKUHUUUUU -WWWWWWWWWWWWCCCCCCCCCCCCCCIIIIGGGGGGGWGGGVVRRRRRRRXXXXXXKKKKKBBBPPBPPRPPPPPSSSSSSVVVVVVVVVVVAFFFFFFFFFHHHHIBBBBBRRRRMMMMMMSKKKKKKKKVVUUUUUUU -WWBBWWAWWUUUCCCCCCIQQCCCCIIIIRRRRRRRWWWGGVRRXXXXXXXXXXXXKKKKBBBBPPPPPPPPPPPPSSSVVVVVVVVVVVVVAFFFFFFFFFHHHBBBBBHHHRRRMMMMMMMKKKKKKKKVUUUUUUUU -WWWAAAAWUUCCCCCCCIIICCCCCIIIIRRRRRRRWWGGVVVVXXXXXXXXXXXOBKBBBBBPPPPPPPPPPPPPPPPPLVVVVVVYVVVEFFFFFFHHHFFHHHHHBBBBHHHMMMMMMMMMKKKKKUUUUUUUUUUU -WWWAAAAUUUUCCCCCCIIIIIIIIIIIURRRRRRRRRGGXXXXXXXXXXXXXXXRBBBBBBBBPQPPPPPPPPPUPPXEEVEVVVVVVVEFFFFFFFHHFFHHHHHHHHBHHMMMMMMMMMMMKKKKKKKKUUUUUUUU -WWWAAAAUAUUCCCCCCLLIIIIIIIIUURRRRRRRRRGGXXXXXXXXXXXXXXXRRBBBBBBBPPPPPPPPPPPUPVEEEEEVVVVEVEEEEEFFFFHHHHHHHHHHHHHHHHMMMMMMMMMKKKKKKKKUUUUUUUUU -WWAAAAAAAAUEEEOOOLIIIHIIIIIIURRRRRRRRRXXXXXXXXXXXRXXXXXXRBBBBBBBBPPPPBPPPBEBBBEEEEEVVVEEEEEEEEEEFHHHQHHHHHHHHHHHHHMMMMMMMMMMMKKKKKUUUUUUUUUU -OOAAAAAAAAUOOOOOOLLLLIIIIIIIURRRRRRRRRXXLLLLXXXXXRXXXXXXRRMBBBBPBPPPPBBTPBBBBEEEEEEEEVEEEEEEEEEEFQQQQHHHHHHHHHMMMMMMMMMMMMMMMMMKKKKUUUUUUUUU -OACCAAAAAGAOOOOOOELLLLIYIIRRRRRRRRRRRRXLLLLLXXXXXRRRRXXXRRRBBBBJKKPPPBBBBBBBBBEEEEEEEVEEEEEEEEEEEQQQQQHHHHHHHHHMMMMMMMMMMMMMMMMKKKUUUUUUUUUU -AAAAAAAAAAAOOOOOEEELLLIYYVRRRRRRUUUUXXXLLLLLXXXXXRRRRXXXRMRBBBBJKJUBBBBBBBBBBBCEEEECEEEEEEEEEEEEQQQQQQHHHHHHHHHMMMMMMMMMMMMMMMWDDDWUUUUUUUUU -AAAAAAAAAAAOOOOOUULLLYYYRRRRRRRRUUUUXXXXLLLLXXXXXXXXXXXXXMMCCBLJJJUBBBBBBBBBBQCCCCCCEEEEEEEEEEEEEFQQQHHHHHHHHMMMMMMMMMMMMMMMMWWWWWWWUUUUUUUU -AAAAAAAAAAROOOOORRRRRRRRRRRYYDUUUUXXXXXXXLLLXXXXXXXXXXXXXCCCCCJJJJUUUUUBBBBCCCCCCCCCCEEEEEEEEEEEEEQQQEEHHHHHHHMMMMMMMMMDDDDDMWWWWWWUUUUUUUUU -ZZAAAAAXAAROOOOORRRRRRRRRRRDDDUOUUAAXXXXWWLLLLRRXXXXXXXXXCCCCJJJJJJJJJJBBBLLLLLCCCCCEEEEEEEEEEEEEEEEEEEHEEEHHHMMMMMMMDDDDDDWWWWWWWWWWUWUUUUU -ZZZAAAAOOOOOOOOORRRRRRRRRRRYDUUOUUUAXXXXXAAAALRRXXXXXXXXXCCCCCCCJJJJJLLLLLLLLLCCCCCCEEEEEEEESEEEEEEEEEEEEEHHHMMHMMMMDDDDDDDWWWWWWWWWWWWWWUUU -ZZZAAAUOOOOOOOOORRRRQYYYYYYYYOUOUUAAAAAAAAAAALRRXXXXXXXXXCCCCCCJJJJJJLLLLLLLLLCCCCCCCCEEWWEEEEEEEEEEEEEEEEEHHHHHMHHHQQQQQQQQWQWWWWWWWWWWWWUU -ZZAAXAUOOOOOOOOORRRREYYYYYOOOOOOOOAAAAAAAAAAAARAAAAAZXXXCCCCCCCJJJJJJJLLLLLLLLCCCCCCCCEEWWWEEEEIEEEEEEQQHHHHHHHHHHHQQQQQQQQQQQWWWWWWWWWWWWUU -ZZAAXAUOOOOOOOOORRRROOYYREOOOOIOOOAAAAAAAAAAAARAAAAAZZZYYCCCCCCJCJJJJLLLLLLLLLCCCCCCCCCWWWEEEEIIEEEEEEEQQHHQHHHHHHQQQQQQQQQQQQWWWWWWWWWWWWUU -ZZAAUUUOOOOOOOUUEEEEEEEEREOOOOIOOOAAAAAAAAAAAAAAAAAAZZZYYYYCCCCCCCCLLLLLLLLLLLLLCCCCPCWWWWEEEEIIIIEEEEEQQQQQHHAQQQQQQQQQQQQQQQWWWWWWWWWWWUUU -PPPPPYUOOOOOOOEEEEEEEZEEEEOOOIIIIOAAAAAAAAAAAAAAAAAYYYYYYYYCCCCCCCCLLLLLLLLLLLLLCCCPPCWWWWWEEEIIIIEEEEQQQQQQQJJJJQQQQQQQQQQQQQQQQWWWWWWWUUUU -PPPZYYYOOOOOOOOOOOEEEEEEEEIIIIIIIIAAAAAAQQAQAAAAAYAYYYYYYYYCCCCCCCLLLLLLLLJJLFLFFCTFFWWWWBBEEIIIIIKQQEQQQQQQJJJJJQQQQQQQQQQQQQQQQQWWWWWWUUUU -PPPZYYYYYYYYYOOOOOEEEEEEEIIJIIIIIIACAAQQQQQQQAAYYYYYYYUYYYYCCCCCCCCLLLLLLLFFJFMFCCFFFSBBBBBBIIIIIIIQQQQQQQQQQQJJJJQQQQQQQQQQQQQQQQQWWKWWWUUU -PPPYYCYYYYYYYOOOOOOEEEEEEIIIIIICCCCCCCCCCQQQQQYYYYYYYYYYYYYCYCCCCCCCLOOOLLFFFFFFFCFFFSSBBBBBIIBIIIBBQQQQQQQQQQQJJJQQQQQQQQQQQQQQQQQWLWWWWUUU -PPYYYYYYYYYYYOOOOOOEEEEEEEIIIIICCCCCCCCCCQQQQQQQQYYYYYYYYYYYYCCCCCCOOOOOLHHFFFFFFFFFFFSSBBBBBBBIBBBQQQQQQQQQQQQQJJJQNQQQQQQQQQQQQQHHHHWWWWUU -PYYYYYYYYYYYYOOOOOOEEEEEEEIICCCCCCCCCCCCCQQQQQQQQYYYYYYYYYYCCCICKITOOOOOHHHFFFFFFFFFFFFFBBBBBBBBBQQQQQQQQQQQQQJQJJJOQQQQOQQQQQQQQQQHHHHWWWHH -PYYYYYYYYYYYYOOOOOOEEEEEIIIICCCCCCCCCCCCCQQQQQQQQYYYYYYYYZYSCCIIKIIOOOOOHHFFFFFFFFFFFFFFFFBBBBBBBBQQQQQQQQQQQQJJJJOOOQQQOQQQQQQQQQHHHHHHWWHH -PYYYYYYYYYYYYOOOOOOEEIIIIIIICCCCCCCCCCCCCQQQQQQYYYYYYYYYYYYIIIIIIIIOOOOOHHFFFFFFFFFFFFFFFBBBBBBBBBQCQQQQQQQQXXXJJKKOOQQQQQQQQQQQQQHHHHHHHHHH -PPPPYYYYYYYYYOOOOOOIEIIIIZZZCCCCCCCCCCCCCQQQQQQQPYYYYYYYYBYBIIIIIIIOOOOOIHHFFFFFFFFFFFFFFBBBBBBBBBBQQQQQQQQQXXXKKKKKKKKKKKQQQQQHHHHHHHHHHHHH -PPPYYYYYYYYYYOOOOOOIIIIIIZZZCCCCCCCCCCCCCQQQQQQPPPYYYYYYYBBBIIIIIIIOOOJJIIFFFFFFFFFFFRFFFBBBBBBBBBBBQQQQQQQQXXXKKKKKKKKKKKQQQQQHHHHHHHHHHHHH -PPPPPYYYYYYYYOOOOOOIIIIIIZZZCCCCCCCCCCCCCMQQQQQQQYYYYYYYYYYBBIIIIIIOOOOOOFFFFFFFFFFRRRFBBBBBBBBBBBBBBBQQQQQQQXKKKKKKKKKKKKQQQKQKHHHHHHHHHHHH -PPPPPYYYYYYYYIIIIIIIIIIIIIZZCCCCCCCCCCCCCCCCCCCCCGGYYYYYBBBBIIIIEEIIOOOOODFFFFFFVBBRRRRBBBBBBBBBBBBBWBQQQQQQQQIIIKKKIKKKKKKKKKKKDDDDDDHHHHHH -PPPPYYYYYYYYYIIIICIIIIIIIIIZCCCCCCCCCCCCCCCCCCCCCGGYYBBBBBBIIIEEEEEEOOOOOFFFFFFBBBBBRRBBBBBBBBBBBBBBWWWWQQQQPQIIIIIIIKKKKKKKKKKKKKDDDDHHHHHH -PPPYYYYYYYYYYICIICCIIIIIIIZCCCCCCCCZZZCCCCCCCCCCCYYYYBBBBBBBIIEEEEEEOOOOOEEFFFFCBBBBRRBBBBBBBBBWWWWWWWWWQWWIIIIIIIIIPIKKKKKKKKKKKKDDDDDHHHHH -PPPPYYYYYYYZYZCCCCIIIIIIIIZZCCCCCCCZZZCCCCCCCAQQAGLYBBBBBBBBBBEEEEEEOOOOOEEEFFWBBBBBBBBBBBBBBBBBWWWWWWWWWWIIIIIIIIIIIIIKKKKKKKKKKDDDDDDDDHHH -PPPPYYJJYZZZZZCCCCIIIIIIIIIFZZZZZZZZZZCCCCCCCAAAAGGGGGGBBBBBBBEEEEEEOOOOOEEEEFWWBBBBBKKBKKBBBBBWWWWWWWWWWWWIIIIIIIIIIIKKKKKKKKKKKDDDDDDHHHHH -PPZPPYJJYZZZZZZCCCCIIIIIFIIFFBFFZZZZAACCCCCCCAGAGGGGGGGGGBBBBEEEEEEEOOOOOEEEEWWHZZZBBWKKKKKBBWWWWWWWWWWAWWWWIIIIIFIIIIKKKKKKKPKKKDDDDNDHHHHH -ZPPPPPZZZZZZZZZCCCCCCUIIFIIFFFFOOZZZAAACCCCCAAGGGGGGGGGGBBBBBEEEEEEEOOOOOEEEXHHHZWWWWWKWWKKWWWWWWWWWWWAAAWWWIIIIIFFIKKKFFFKPKPKKKKDDDDHHHHHH -ZZZPZZZZZZZZZZZCIIRCUUUIFFFFFFFOFBZAAAACCCCCAAGGGGGGGGGGGGBEEEBEEEEEDEDDEEEEXHHHHHHWWWWWKKKKWWWWWWWWWWAAARRWIIIIFFFIFKFFFFPPPPKKKKKPHHHHHHHH -ZZZZZZZZZZZZZZZIIIIIUUUFFFFFFFFFFZZZNANCCCCCAGGGGGGGGGGGGGBBBBBEEDDDDDDDDEEEEEHHHHHWWWWWWKWWWGWWWWWWWWAAARRRIIIIFFFFFFFFFFFPPPKPKKKPPPHHHHHH -ZZZZZFZZZZZSSZZRIIIIUUUFFFFFFFFFFFFFNNNCCCCCGGGGGGGGGGGGGBBBBBBBDDDDDDDDDDEEEEHHHHWWWWWWWWWWWWWWWWWWAAAAARRRIIIIIFFGFFFFFFFFPPPPKPPPPPPHHHHH -FFFFFFZZZZZZSSSIIIIIUUUUUUUFFFFFFFWNNNNNNANGGGGGGGGGGGGGBBBBBBBBDDDDDDDDDDDDEHHHHHWWWWWWWWWWWWWWWWWWAAARRRRRIRIIFFFFFFFFFFFWPPPPPPPPPPPHHHHH -GFFFFFLZZZXZSSSSSSSIUUUUUUUFFFFFFFFFNNNNNNNNNGGGGGGGGGBBBBBBBDBDDDDDDDDDDDDDHHHHHHWWWWWWWWWWWWJJJWAAAARRRRRRRRRIFFFFFFFFFFFWWPPPPPPPPPPPHHHH -GFFFFFFFFZFQFSSSSSSUUUUUUUUUFFFFFLFYNNNNNNNNGGGGGGGGGGBBBBBBBDBDDDDDDDDDDDDDHHHHHHHWWWWWWWWWWWWWJAAAARRRRRRRRRRQFFFFFFFFFFFFWPPWWPPPPPPPHHHH -GGFFFFFFFFFFFSSSSSSUUUUUUUUUUFFFZNNNNNNNNNNNUUUGGGGGHIIBBBBBDDDDDDDDDDDDDDDDHHHHHHHWWWWWWWWWWWWUAAAAAAIRRRRRRRQQFFQRFFFFFFFFWWWWWPPPPPPUIISS -FFFFFFFFFFFFIFSSIIIIUUUUUUUUFFFFINNNNNNNNNNNNNUGGGGIIIIIIIIIDDDDDDDDDDDDDDDHHHHHHHHWWWWWWWWWWWWWCACCCQQQRRRQQQQQQFFRCFFRRFFWWWWWWPPPPPPUUIIS -QQQFFFFFFFFFIFIIIIIIUIUUUUUUUIIIIIINNNNNNNNBNNUUGGGIIIIIIIIIDDDDDDDDDDDDDOEHEHHHHHHWWWWWWWWWWSWCCAACQQQQQQQQQQQQQQQRRRRRRRRWWWWWWPPPPPPPPIIS -QQQQFQFFFFFFFFPIIIIIIIUUUUIIIIIIIIINNNNNNNNNNUUUUUIIIIIIIIIIAADDLDDDDDDDDOEEEHHHHHWWWWWWWWWWHHCCCCCCQQQQQQQQQQTTQQRRRRRRRRRWWWWPPPPPPPPPIIIS -KQQQQQFFFFFFFFFIIIIIIIUUUUIIIIIIIIINNNNNNNNNNUUUUUUIIIIIIIIIADDDLDDDDXXEEEEEEHHHHHHHWWRQQQHHHHCCCCCQQQQQQQQQQTTTTTRRRRRRRRRRPPPPWPPPPPPIIIII -KKKQSSSSFFFFFFFIIIIIIIUIIIIIIIIVIIIVVVNNNNNNNNUNUUUIIIIIIIIDDDDDLDXDDXXEEEEEEEHHHHHHWRRQQQHHHHCCCCCQQQQQQQQQQTTTTRRRRRRRRRSSSPPPPPPPPIIIIIII -SKVSSKSSALLLNLLRIIIIIIIIIIIIIIIVVVVVNNNNNNNNNNNNUUUIIIIIWWDDDDDDDDXXXXXEEEEEEEEHHHHHHRRQQQHHHHHHHCCCQQQQQQQQQTTTTRYRRRRRRRSSSSSSPPPPPIIIIIII -SSSSSSSSLLLLLLLRIIIIIIIIIIIIIIIVVVVVVVNVNNNNNNNUUUUIIIIIDDDDDDDDDDDXDXXEEEEEEEESAHHHHRRQQQQQHHHHHHHHHHHQQQQQQTTTTYYYRRRRRRSSSLLLPPPIIIIIIIIW -SSSSSSSSLLLLLLLLIIIIIIIIIIIIIVVVVVVVVVVVNNNNNNNNNUUIIILDDDDDDDDDDDDDDDDEEEEEESSSSQQIFFFFFFFFUHZHHHHHNNHQQTQTTTTTTYYYYRRVLLLLLLLLBIIIIIIIIIIW -WWWSSSSSLLLLLLLLINNIIIIIIIIIVYVVVVVVVVVVNNNNNNNNUUUUUUUBBDVDDGDDDDDEEEDEEEEESSSSSQQQFFFFFFFFQZZZZHHHHNNNTTTTTTTTYYYYYRRLLLLLLLLLBBIIIIIIIIIW -WWSSSSSSSSLLLLLNISNIIIIIIIIIVVVVVVVVVVVVVNNANNNNNUUUUUULLMLDDGGDDDDEEEEEESSSSSSSQQQQFFFFFFFFQQZZHHHNNNNTTTTTTTTHHYSYYYYLLLLLLLLLBIIIIIIIIIII -WWWSSSSSSSSSSSNNNNNNIIIIIVVVVVVVVVVVVVVVAAAANNNNNUUUUUUULLLDDDLLDDDDEEEEESSSSSSSSSQQFFFFFFFFFFFZZZHNNNNTTTTTTTTHYYYYYYYLLLLLLLLLBIIIIIIIIIIX -WWWSSSSSSSSSSSNNNNNIIIIIIVVVVVVVVVVVVVVVAAANNNNTTTUUUUULLLLLLLLNDDDDMEESSSSSSSSSSQQQFFFFFFFFFFFZJJJJNNNNNTTTTFFFFYYYYYYLLLLLLLLLLLBIXIIIIIXX -WZWZSSSSSSSSSSNNNNNNIIIIIVIVVVVVVVVVVVVVAAAAANNTUUUULLLLLLLLLLLLQDLDEEESSSSSSSSSSQQQFFFFFFFFFFFJJJJNNNFFNTTTTFFFFKKYYYYRLLLLLLLLTTTIIHHIIMMX -ZZZZSSSSSSSSNNNNNNNNIIIIIIIIVVVVVVVVVVVVAAAAETTTQUUUULLLLLLLLLLLLWLLEEESSSSSSSSSSQQQFFFFFFFFFFFJJJJJJJFFFFFFFFFFKKKYYYRRRLLLLLTTTTTHHHHIMMMM -ZZZZSSSSSCCCNNNNNNNNNIIIIIIIVIVVVVVVVVAAAAAEETTTQQUUULLLLLLLLLLLLLLLEESSSSSSSSSSSQSQFFFFFFFFFFFFFFFJJWFFFFFFFFFFKKKKYRRRRRLLLLTSTTTTHHHHMMMM -ZZZZSSSCCCCCYNNNNNNNNIIIIIIIIIVVVVVVAAAAAEEEETTQQQUUULLLLLLLLLLLLLLLEEQSSSSSSSSSSSSQFFFFFFFFFFFFFFFJJFFFFFFFFFFKKKKKKRRRRRLLLLTTTUTTTHMMMMMM -ZZKKCCCCCCCCCCNNNNNNIIIIIIIIIIIIRVVVVAAAAAEEEEEEEQUQLLQLLLLSSSSLLQQLQQQSSSSSSSSSSSSCFFFFFFFFFFFFFFFTJTFFFFFFFFPFKKKKKKRRRLLLLLLLTUTTTHHMMMMM -KKKKCCCCCCCCCCNNNNNNIIIIIIIIIIIIIIAAAAAEEEEEEEEEEQQQQQQLLLLLESSSSQQLQQQSSSSSSSSSSSSSFFFFFFFFFFFFFFFTTTTFFFFFFFFFFKKKRRRRRRLLLLLLTTTTTTHHMMMM -UKKKCCCCCCCCCNNRYYIIIIIIIIIIIIIIIIAAAAAEOEEEEEEEEEQQQLLLLLLLESSSQQQQQQQQSSSVSSSSSSSJFFFFFFFFFFFFFFFTTFFFFFFFFFFFKKKKKRRRRRLLLLLLLLTTTTHHMMMM -UKKCCCCCCCCCCCNCYYIIIIIIIIIIIIIIIIAABAAAEEEEEEEEEQQQQQLLLLLLEEQQQQQQQQQQSSVVSSSSSSSSFFFFFFFFFFFFNNNNTNNFFFFFFZKKKKKKKRRRRLLLLLLLLLTTTTHHMMMM -UKKCCCCCCCCCCCCCYYIIIIYYYYYIIIIIAAABBBBEEEEEEEEEQQQQSSLLLESSEQKQQQQQQQQQSVVVVSSSSPPSFFFFFFFFFFFFNNNNANNNFFFFFFKKKKKKKIIRILBULLLLLLTTMMMMMMMM -UKKKCCCCCCCCCCYYYYYIIIYHYYYYYYIAAAABBBBBEEEEEEQQQQQQSSSSSSSSEQQQQQQQQQQQQQVVQPPPPPSSSYFFFFFFFFFFNNNNNNNNNNFFFFKKKKKKKIIIIIUUUULUTTTTTTMMMMMM -UUKKKCCCCCCCCYYYYYYIYIIHHHYAAAIAAAABBBBBBEEEEEEESSSSSSSSLLSSQQQQQQQQQQQQQQQQQPPPPPSYYYYJFFFFFFFFNNNNNNNGNMMMFFKKKKKKIIIIIIUUUUUUUTTTTMMMMMMM -UKKCCCCPCCCSSYYYYYYYYYYHHFAACAAAAAAABBBBBEEEDDSSSSSSSSSSLSSSHVQQQQQQQQQQQQQQQQQPPPYYYYEEEEEJJJJNENENNNNNNMMMMFKKKKKKIIIIUUUUUUUUUTUTMMMMGMMM -UKKKKKCCCCCYYYYYYYYYYYYHHHAAAAAAABBBBBBBBEEBSSSSSSSSSSSSSSSHHVQQQQQQQQQQQQQQQQQPPPYYYYYEEEEEEEEEENENNNNNNMMMMMKKKKKKIEEIIUUUUUUUUUUUDMMMGMMZ -UKKKKKKKCCCAAAYYYYYYYYYHHHTAAAAAAAABBBBBBBBBBBBSSSSSSSSSSSSVVVQQQQQQQQQQQQQQQXXPPYYYYYYHEEEEEMEEEEEENNNNNMMMMKKKKKIIIEEEEUUUUUUUUUUUMMMMMMMZ -KKKKKKKKTTCCCYYYYYYYYYHHHAAAAAAAAAJJBBBBBBBBBBBBSSSSSSSSSSSSVVQQQQQQQQQQQMQDQXXPYYYYYYEEEEEEEEEEEEEENNNNMMMMMMMMKKEIEEEEEEEPUUUUUMMMMMMMMZZZ -KKKKKKKTTTMMKBYYYYYYYYHHHHHAAAAAAAJJBBBBBBBBBBSSSSSSSSSSSSSVVVVVQQQWQQQQMMXDQXXPYYYYYYYYEEEEEEEEEEEENNMMMMMMMMMKKKEEEEEEEEEEUUZUIMMMMMMMMZZZ -KKKKKKTTTTTMKKYYYYHHHHHHHHHUAAAAAAJJBBBBBWWBBSSSSSSSSSSSSSVVVVVVQTQWQMMMMMXXQXXXXYYYYYEEEEEEEEEEEEEENNNNMMMMMMMKRKEEEEEEEEEEUZZZMMMMZMMMZZZZ -KKTTTTTTTTTTKKYYKKKKKHBHHHHZLAAAAAAJJBBBNWWWRWWSSSSSSSSVVVVVVVVVVVVVQMMMMXXXXXXXPXXYYYYYEEEEEEEEEEENNNNNMWMMMMSSRRREEEEEEEEZZZZZZMMMZMMMMZZZ -KKTTTTTTTTTTKKKKKTKKKHBHHNZZLLLAAAJJJJBJWWIWWWWWSSSSSSSVVVVVVVVVVVVMMMMMMXXXXXXXXXXXYYYYEEEEEEEEEEEEEWWWMWWMMMSSRSSSEEEEEEEEZZZZZZMZZZMZZZZZ -TTTTTTTTTTTTJTTTTTTKKKKHHHZZZZLAAAAAAJJJJWWWWMMMMSSSSSVVVVVVVVVVVVVMMMMXXXXXXXXXXXXXYYYYYYEEEEEEEOWWNWWWWWWWWMSSSSSQESEEEEEEZZZZZZZZZZZZZZII -TTTTTTTTTTTTTTTTTTTKKKKKHHZZZAAAAAAJJJJJWWWWWMMMMSSSSSSVVVVVVVVVVVVVMMMMXXXXXXXXXXXXYYYYYIIIIEIHEOWWWWWWWWWMMMSSSSSSSSSEEEEEYYZZZZZZZZZZZIII -TTTTTTTTTTTTLTTTTTTKKKKKKKKKAAAAAAAAAJJJJJWWWMMMMSSSSSSSVVVVVVVVVVVVVMMXXXXXXXXXXXXXXYYYIIIIIIIWWWWWWWWWWWWMMMSSSSSSSSSEEEDEYYYYZZZIIIIIZIII -TTTTTTTTTTTTTTTTTTTKKKKKKKKAAAAAAAAAJJJJWWWWWMMMMSSSVSSVVVVVVVNVVNNNVMMXXXXXXXXXCXYXXYYIIIIIIIIIWWWWWWWWWWWWMMMSSSSSSSSEEYDYYZZZZZIIIIIIIIII -TTTTTTTTTTTTTTTTTTTTTKKKKKKAAAAAAAAAWWWWWWWWWMMMMCVVVVVVVVVVVNNNNNNNXNNXXXXXXXXXYYYYYYYIIIIIIIIIGWWWWWWWWWWWMMSSSSSSSSSYYYYYYKKZZIIIIIIIIIII -TTTTTTTTTTTTTTTTTTTTTKKKKKKKKAAAAAAAWWWWWWWWWMMMMCVVVTVVVVVVVNNNNNNNNNNKKXXXXXXXYYYYYYIIIIIIIIIIWWWWWWWWWWWWSSSSSSSSSSSZZYYYYYYZJIIIIIIIIIII -TTTTTTTTJTTTTTTTTTTTTTYKKKKKKAAAAAAAWWWWWWWWWMMMMWVVVTVVVNVVNNNNNNNNNNNNKXXXXXYYYYYYYYYYIIIIIIIIWWWWWWWWWWWWSSBSSSSSSZSZZZYZYYZZIIIIIIIIIIII -ZTZTTTTTTTTYYTTTTTTTAAYKKKKKKAAAAAAWWWWWWWWWWMMMMMMMMMMMMMVVNNNNNNNNNNKKKXXXKKYYYYYYYYYIIIIIIIIIIIWWWWWWWWWWSASSSSQSZZZZZZYZYZZZZIIIIIIIIIII -ZTZTTTAYYYYYYTTTTTTTTYYYYTTAAAAAAAAWWWWWWWWWWMMMMMMMMMMMMMNNNNNNNNNNNNNKKKKKKKKYYYYYYYYKIIIIIIIIIIWWWWWWWWNWAASSSSSSZZZZZZYZZZZZZIIIIDIIIIII -ZZZZTHAAAYYAYYTTTTTTTTYYYYYUUAAAAAAUWWWWWWWWWMMMMMMMMMMMMMNNNNNNNNNNNNNKKKKKKKKYYYYYYYKKKIIIIIIIIIWWWWWGNNNNNNSQSSZZZZZZZZZZZZZZZZIIDDIIIIII -ZZZZZZAAAAYAYYYYTTTTTTYYUUUUUUAUUUUUWWWWWWWWWMMMMMMMMMMMMMNNCNNNNNNNNKKKKKIIIKIIIYYYYYYYKIIIIIIIIWWWWWWWNNNNNNPPSSPPZZZZZZZZZZZZZZZDDDIIIIII -ZZZZZAAAAAAAAAYTTTTTYYYYYUUUUUAUUUDUWWWWWDWWWMMMMMMMMMMMMMNNNNNNNNNNNKKKKIIIIIIIIIRYYYYKKIIIIIIIINWUWIWNNNNNNNNPPPPPZZZZZZZZZZZZZZDDDDDIIIII -ZZZZZAAAAAAAAAAANTTTTYYYYYUUUUUUUDNNNNDDDDWWDMMMMMMMMMMMMMTTNNNNNNNNNKKKKIIIIIIIIIIIYYKKKKIIIIIINNNNIIIINNNNNNPPPPPPPPZZZZZZZZZZZZDDDDDDIIII -ZZZZZAAAAAAAAAAAAJJTTYYYYUUUUUUUAAAAAAAAADDDDMMMMMMMMMMMMMTTNXXXNNNNRKKKKKIIIIIIIIIIJYYKKKKIIIINNNNNXXXIINNJJNPPPPPPPZZZZZZZZZZZZDDDDDDDDIII -ZZZZZAAAAAAAAAAAAYYYYYYYYUYYUUUUAAAAAAAAAAADDMMMMMTTTTTTTTTMMXXXXNNNRRKKRROIIIIIIIBBYYYKGKIIIINNNNNNXXXXNNJJJNPPPPPPPZZZZZZZZZZZDDDDDDDDDDII -ZZZZZAAAAAAAAAAAAAYYYYYYYYYYUUULAAAAAAAAAAADRMMMMMMTTXXTXTTTPPXVVNNNRRRKRIIIIIIIIIBGGGGGGKIIIBNNNNNXXXXXXNNJXNPPPPPPPPPPPPSSZSSZSDDDDDDDDDII -ZZZZZAAAAAAAAAAAAAAAYYYYYYYLLLLLUDNNNNNAAAADURRRRMMTTTXXXTMTBPPPPPRRRRRRRRIIIIIIIIBGGGGGKKKIIBBNNNXXXXXXXXXXXPPPPPPPPPPPSYSSSSSSSUDSDSDDIIII -ZZZZAAAAAAAAAAAAAAAAYYYYYYYYLLLLLDNNNNNAAAADURRRRRMTTXXXTTTPPPPPPPVRRRRRRRRLIIIIIIIGGGGGKKNYIBBNNNNEXXXXXXXXXPPPPPPPPPPSSSSSSSSSSUDSSSIIIIII -ZZZZZAAAAAAAAAAAAAAXYYYYYYYYYLNNNNNNNNNAAAARRRRRRRRRXXXXXTTPPPPPPRRRRRRRRRRLLIIIIIIGGGGKKNNYNNNLNNNXXXXXXXXXXPPPPPPPPPPPPSSSSSSZZZZZIIIIIIII -ZZZZZAAAAAAAAAABBBAXYYYYYYYYLLNNNNNNNNNAAAAAAARRRRRRRXXXXPPPPPPPPRRRRRRRRRRLLIIIINIGGGSKSXNNNNNNNKKXXXXXXXXXXPPPPPPPPPPPKSSSSSSZZZZZZIIIIIII -ZZZZZZZZEAAAABBBBYYYYYYYYYYLLLNNNNNNNNNAAAAAAARRRRRXXXXXXXPPPPPPPRRRRRLMRRLLLLLIINNGGSSSSSNNNNNNKKKXXXXXXXXXXPPPPPPPPPPSKSSSSSSZZZHHHLIIZIIU -ZZZZZZZZEEEEAABBYYYYYYYYYLLLLLNNNNNNNNNAAAAAAARRRRRXXXXXXXXPPPPPPRRRRRLLLLLLLLLLLLLLLLSSSANNNNNNNKKXXXXXXXXXPPPPPPPPPPPSSSSSSSSZZHHHHHHIHHIH -ZZZZZZZEEEEEEBBBYYYYYYYYYLLYRLNNNNNNNNJAAAAAAARRXXRXXXXXXXXXPPPPPRRRRRRRLLLLLLLLLLLLOSSSSANNNNKKKKKKKKXXXXXPPPQQPPPPPIISSSISSSSSZHHHHHHHHHHH -ZZZZZZEEEEEEGGBBYYYYYYYYYYYYRRNNNNNNAAAAAAAAAAXXXXXXXXXXXXXXXXPPPPRRRRRRRLLLLLLLLLLLLRRNNNNNNNNKKKKKKXXXXKKPPPQQQPPPPIIIIWISSBSSSSSHHHHHHHHH -ZZZZZZEEEEEEGYYYYYYYYYYYYYYYRRNNNNNNAAAAAAAJRXXXXXXXXXXXXXXXXXPPPRRRRRLRRLLLLLLLLLLLLLLKNNNNNNNNKKKKKKKKXKPPPQQQQQQQPIIIIIIIIBSSSHHHHHHHHHHH -ZZZEEEIEEEGGGGGYYYYYYYYYYYYYRYYRRJJJAAAAAAAWXXXXXXXXXXXXXXXXXXXPPRRRRRLLRLLLLLLLLLLLLLKKNNNNNNNNKKKKKKKKKKKQQLQQQQQQPIIIIIIIIBBBSHHHHHHHHHHH -ZZZZZEEEEEGGGGGYYYYYYYKKKKYYYYYRRRJJAAAAAAAAAAXXXXXXXXXXXXXXXXJPRRRRROOLLLLLLLLLLLLLKKKKKNNSNNKKKKKKKKKKKEEQQQQQQQQQQIIIIIIIIIIIIHHHHHHHHHHH -ZZZZZEEEEEZZGGGGYGYYYYKKKKKKKKRRRRJJAAAAAAAAAAQNNXXXXXXXXXXXBXJPBRRROOOOOQQQQLLLLLLKKKKKKNNNNNKKKKKKKEEEKEEEQQQQQQQQQIIIIIIIIIIIIIIHHHHHHHHH -ZZZZZZZEZZZZZZGGGGGGGYKKKKKKKRRRRJJJJJJJAAAAAAQNNXXXXXXXXXXXBBBBBBBOOOOOOOOQLLLLLLQKKKKKKKKKKKKKKKKKKKEEEEEEQEQQQQQIIIIIIIIIIIIIIIHHHHHHHHHH -ZNZZZZZZZZZZZZZGGGGGGKKNKKKKKKRRRRJNNNNNAAAAAANNNNXXXXXXXBXBBBBBBBAOOOOOOOOQLLLLLQQQKKKKKKKKBKKKKBKKKEEEEEEEEEEQQQQIIIIIIIIIIIIIIIHHHHHHHHHH -NNZZZZZZZZZZZZZZGGGGKKKKKKKKKKKKNNNNNNNNAAAAAANNNNSSSSSBXBBBBBBBBBOOOOOOOQQQQQLLQQQQQKKBKKKBBBBBBBBKEEEEEEEEEEEQQQQIIIIIIIIIIIIIDIHHHHHHHHHH -NNNNZZZZZZZZZZZZGGGGKKKKKKKKKKKNNNNNNNNNNNNNNNNNNNSSSSBBBBBBBBBBBBOOOOOOOQQQQQQQQQQQQKKBKKKBBBBBBBBBMEEEEEEEEEEQQQQIIIIIIIIIIIIIDHHHHHHHHHHQ -NNNNZZZZZZZZZGGGGGGGKKKKKKKKKKKNNNNNNNNNNNNNNNNNNNSSSSBBBBBBBBBBBBIOOOOOOOQQQQQQQQQQKKKBBBBBBBBBBLBEEEEEEEEEEEEQQQQIIIIIIIIIIIIIDHHHHHHHHHHH -NNNNNNNNZZZZZGGGGGKKKKKKKKKKKKKNNNNNNNNNNNNNNNNNNXSSSSBBBBBBBBBBBBIOOOOOOOOOQQQQQQQQQBBBBBBBBBBBBEEEEEEEEEEDEQQQPQQFSSIIIIIIISIIDDHHHHEHHHDD -NNNNNNNNNZZZGGGGGGGKGKQKKKKKKKXNNNNNNNNNNNNNNNRNSXSSSBBBBBBBBBBBBBIIIIIOOOLQQQQQQQQQOBBBBBBBBBBBBEEEEEEEEEEDEFQQPQFFSSIIIIIISSSSDDDHHEHHHHDD -NNNNNNNNNZNNGGGGGGGGGKKKKKKKKXXNNNNNNNNNNNNNNNSSSXXSSSBBSBBBBBBBBBBBBIIOOOQQQQQQQQQQQBBBBBBBBBBBBBEEEEEEDDDDFFQQQFFFSSSSSSSIISSSSSDDDHHHDHDD -QNNNNNNNNNNGGGGGGGGGGKGGKKKKKKXXNNNNNNNNNNNNSSSSSXSZSSZBBBBBBBBBBBBBBIIIOIQQQQQQQQQQKBBBBBBBBBBBBBBDDEEDDDDDFQQFFFSSSSSSSSSSSSSSSSDDDDDDDDDD -NNNNNNNNNNNNNGGGGGGGGGGGKKIKKXXXXNNNNNNNSNSSSSSSSSSZSZZZZZBBBBBBBBBBBBIIOIIIQQQQQQABBBBBBBBBBBBBBBBBDDEEDDDFFFFFFFSFSSSSSSSSSSSSSDDDDDDDDDDD -NNNNNNNNNPNGGGGGGGGGGGGGGKKXXXXXXNNNNSSSSSSSSSSSSSSZZZZZZZBBBBBBBBBBBIIIIIQQQQQQQQQBBBBBBBBBBBBBBBDDDDDDDDDFFFFFFFFFSSSSSSSSSSSSDDDDDDDDDDDD \ No newline at end of file diff --git a/Inputs/Day13.txt b/Inputs/Day13.txt deleted file mode 100644 index be935df..0000000 --- a/Inputs/Day13.txt +++ /dev/null @@ -1,1279 +0,0 @@ -Button A: X+27, Y+18 -Button B: X+17, Y+44 -Prize: X=8105, Y=9698 - -Button A: X+12, Y+64 -Button B: X+71, Y+42 -Prize: X=3104, Y=3088 - -Button A: X+73, Y+35 -Button B: X+24, Y+71 -Prize: X=7324, Y=7914 - -Button A: X+25, Y+53 -Button B: X+62, Y+37 -Prize: X=19587, Y=15892 - -Button A: X+71, Y+18 -Button B: X+23, Y+71 -Prize: X=7286, Y=4520 - -Button A: X+21, Y+52 -Button B: X+55, Y+16 -Prize: X=395, Y=11424 - -Button A: X+79, Y+33 -Button B: X+22, Y+56 -Prize: X=3969, Y=2875 - -Button A: X+33, Y+58 -Button B: X+37, Y+15 -Prize: X=11569, Y=16673 - -Button A: X+17, Y+59 -Button B: X+76, Y+30 -Prize: X=8790, Y=9300 - -Button A: X+94, Y+20 -Button B: X+57, Y+71 -Prize: X=14573, Y=8929 - -Button A: X+53, Y+25 -Button B: X+13, Y+33 -Prize: X=12977, Y=2517 - -Button A: X+60, Y+27 -Button B: X+54, Y+84 -Prize: X=4044, Y=2178 - -Button A: X+19, Y+38 -Button B: X+65, Y+32 -Prize: X=16453, Y=19434 - -Button A: X+16, Y+43 -Button B: X+43, Y+13 -Prize: X=14334, Y=672 - -Button A: X+45, Y+81 -Button B: X+47, Y+21 -Prize: X=4863, Y=4365 - -Button A: X+50, Y+88 -Button B: X+94, Y+33 -Prize: X=6286, Y=5236 - -Button A: X+48, Y+25 -Button B: X+12, Y+28 -Prize: X=17768, Y=3861 - -Button A: X+45, Y+11 -Button B: X+58, Y+95 -Prize: X=1936, Y=1039 - -Button A: X+19, Y+47 -Button B: X+64, Y+13 -Prize: X=12147, Y=18919 - -Button A: X+80, Y+30 -Button B: X+42, Y+96 -Prize: X=7238, Y=9054 - -Button A: X+79, Y+17 -Button B: X+65, Y+66 -Prize: X=1877, Y=768 - -Button A: X+75, Y+28 -Button B: X+18, Y+69 -Prize: X=15962, Y=17983 - -Button A: X+62, Y+16 -Button B: X+37, Y+72 -Prize: X=3099, Y=4984 - -Button A: X+23, Y+59 -Button B: X+55, Y+24 -Prize: X=15955, Y=3233 - -Button A: X+90, Y+92 -Button B: X+96, Y+19 -Prize: X=13434, Y=7481 - -Button A: X+18, Y+95 -Button B: X+99, Y+93 -Prize: X=9108, Y=13710 - -Button A: X+75, Y+16 -Button B: X+41, Y+66 -Prize: X=6995, Y=5500 - -Button A: X+14, Y+23 -Button B: X+94, Y+27 -Prize: X=9192, Y=3760 - -Button A: X+73, Y+85 -Button B: X+92, Y+15 -Prize: X=9941, Y=5495 - -Button A: X+24, Y+41 -Button B: X+42, Y+22 -Prize: X=14984, Y=10871 - -Button A: X+20, Y+62 -Button B: X+68, Y+18 -Prize: X=640, Y=3088 - -Button A: X+95, Y+35 -Button B: X+38, Y+86 -Prize: X=11324, Y=11228 - -Button A: X+95, Y+28 -Button B: X+73, Y+77 -Prize: X=6422, Y=2947 - -Button A: X+30, Y+57 -Button B: X+52, Y+11 -Prize: X=19348, Y=1362 - -Button A: X+17, Y+46 -Button B: X+82, Y+66 -Prize: X=3155, Y=4640 - -Button A: X+68, Y+19 -Button B: X+13, Y+48 -Prize: X=5889, Y=13960 - -Button A: X+96, Y+99 -Button B: X+18, Y+88 -Prize: X=2202, Y=8173 - -Button A: X+98, Y+61 -Button B: X+16, Y+79 -Prize: X=9048, Y=9153 - -Button A: X+12, Y+29 -Button B: X+44, Y+13 -Prize: X=920, Y=10690 - -Button A: X+27, Y+51 -Button B: X+63, Y+33 -Prize: X=11996, Y=10844 - -Button A: X+65, Y+40 -Button B: X+12, Y+44 -Prize: X=19411, Y=19132 - -Button A: X+46, Y+15 -Button B: X+24, Y+45 -Prize: X=17192, Y=5435 - -Button A: X+52, Y+22 -Button B: X+27, Y+55 -Prize: X=12428, Y=18998 - -Button A: X+87, Y+34 -Button B: X+52, Y+70 -Prize: X=8882, Y=5806 - -Button A: X+28, Y+51 -Button B: X+70, Y+28 -Prize: X=7630, Y=6435 - -Button A: X+42, Y+55 -Button B: X+60, Y+24 -Prize: X=2502, Y=2949 - -Button A: X+73, Y+32 -Button B: X+14, Y+46 -Prize: X=10931, Y=17174 - -Button A: X+98, Y+18 -Button B: X+47, Y+56 -Prize: X=1763, Y=1508 - -Button A: X+28, Y+64 -Button B: X+95, Y+66 -Prize: X=6324, Y=7200 - -Button A: X+12, Y+59 -Button B: X+88, Y+39 -Prize: X=3940, Y=4806 - -Button A: X+47, Y+73 -Button B: X+70, Y+17 -Prize: X=6986, Y=3421 - -Button A: X+18, Y+72 -Button B: X+88, Y+87 -Prize: X=8288, Y=10362 - -Button A: X+15, Y+45 -Button B: X+79, Y+50 -Prize: X=11399, Y=13955 - -Button A: X+18, Y+87 -Button B: X+29, Y+20 -Prize: X=2199, Y=6663 - -Button A: X+40, Y+94 -Button B: X+78, Y+30 -Prize: X=9204, Y=9672 - -Button A: X+12, Y+38 -Button B: X+60, Y+15 -Prize: X=10328, Y=11272 - -Button A: X+34, Y+29 -Button B: X+14, Y+76 -Prize: X=2064, Y=3426 - -Button A: X+73, Y+25 -Button B: X+68, Y+96 -Prize: X=7009, Y=4509 - -Button A: X+67, Y+33 -Button B: X+25, Y+91 -Prize: X=3950, Y=9106 - -Button A: X+74, Y+13 -Button B: X+78, Y+84 -Prize: X=9842, Y=4330 - -Button A: X+58, Y+12 -Button B: X+36, Y+82 -Prize: X=18226, Y=12016 - -Button A: X+33, Y+56 -Button B: X+95, Y+12 -Prize: X=2886, Y=1764 - -Button A: X+50, Y+85 -Button B: X+38, Y+11 -Prize: X=2546, Y=3417 - -Button A: X+31, Y+91 -Button B: X+96, Y+29 -Prize: X=9049, Y=3305 - -Button A: X+42, Y+32 -Button B: X+11, Y+31 -Prize: X=5313, Y=18123 - -Button A: X+50, Y+17 -Button B: X+26, Y+67 -Prize: X=18906, Y=15755 - -Button A: X+19, Y+88 -Button B: X+68, Y+70 -Prize: X=3070, Y=4666 - -Button A: X+36, Y+11 -Button B: X+46, Y+83 -Prize: X=11628, Y=7725 - -Button A: X+62, Y+11 -Button B: X+18, Y+79 -Prize: X=12652, Y=9456 - -Button A: X+12, Y+57 -Button B: X+46, Y+22 -Prize: X=18988, Y=292 - -Button A: X+79, Y+14 -Button B: X+42, Y+93 -Prize: X=5135, Y=7669 - -Button A: X+51, Y+21 -Button B: X+12, Y+66 -Prize: X=3327, Y=2469 - -Button A: X+11, Y+27 -Button B: X+98, Y+11 -Prize: X=7532, Y=2649 - -Button A: X+35, Y+65 -Button B: X+72, Y+35 -Prize: X=8843, Y=6650 - -Button A: X+85, Y+31 -Button B: X+24, Y+39 -Prize: X=5423, Y=2492 - -Button A: X+55, Y+18 -Button B: X+25, Y+55 -Prize: X=2420, Y=1197 - -Button A: X+37, Y+15 -Button B: X+32, Y+97 -Prize: X=3094, Y=6464 - -Button A: X+19, Y+59 -Button B: X+44, Y+18 -Prize: X=17362, Y=6524 - -Button A: X+17, Y+50 -Button B: X+56, Y+28 -Prize: X=19334, Y=10960 - -Button A: X+46, Y+22 -Button B: X+38, Y+62 -Prize: X=6432, Y=6336 - -Button A: X+85, Y+13 -Button B: X+87, Y+98 -Prize: X=6999, Y=5898 - -Button A: X+81, Y+13 -Button B: X+14, Y+81 -Prize: X=1908, Y=1262 - -Button A: X+53, Y+16 -Button B: X+22, Y+54 -Prize: X=12528, Y=19186 - -Button A: X+25, Y+53 -Button B: X+56, Y+23 -Prize: X=16631, Y=4004 - -Button A: X+27, Y+75 -Button B: X+64, Y+39 -Prize: X=6155, Y=4746 - -Button A: X+75, Y+33 -Button B: X+11, Y+32 -Prize: X=3425, Y=2186 - -Button A: X+20, Y+43 -Button B: X+90, Y+35 -Prize: X=8890, Y=5324 - -Button A: X+71, Y+12 -Button B: X+13, Y+52 -Prize: X=16024, Y=13520 - -Button A: X+17, Y+41 -Button B: X+70, Y+29 -Prize: X=9179, Y=3588 - -Button A: X+23, Y+53 -Button B: X+86, Y+23 -Prize: X=4628, Y=2081 - -Button A: X+28, Y+67 -Button B: X+54, Y+11 -Prize: X=11132, Y=12203 - -Button A: X+11, Y+97 -Button B: X+34, Y+28 -Prize: X=2926, Y=4872 - -Button A: X+64, Y+32 -Button B: X+12, Y+78 -Prize: X=4364, Y=4558 - -Button A: X+31, Y+59 -Button B: X+44, Y+21 -Prize: X=17289, Y=4646 - -Button A: X+92, Y+93 -Button B: X+90, Y+11 -Prize: X=2106, Y=1729 - -Button A: X+70, Y+12 -Button B: X+25, Y+69 -Prize: X=1235, Y=1959 - -Button A: X+83, Y+23 -Button B: X+27, Y+42 -Prize: X=9059, Y=4754 - -Button A: X+72, Y+19 -Button B: X+42, Y+98 -Prize: X=6210, Y=4507 - -Button A: X+54, Y+21 -Button B: X+34, Y+69 -Prize: X=2802, Y=7613 - -Button A: X+18, Y+76 -Button B: X+93, Y+44 -Prize: X=4359, Y=5504 - -Button A: X+88, Y+82 -Button B: X+11, Y+66 -Prize: X=6336, Y=8134 - -Button A: X+14, Y+53 -Button B: X+63, Y+48 -Prize: X=1715, Y=4397 - -Button A: X+12, Y+72 -Button B: X+53, Y+46 -Prize: X=3422, Y=8020 - -Button A: X+82, Y+31 -Button B: X+13, Y+65 -Prize: X=872, Y=570 - -Button A: X+40, Y+77 -Button B: X+45, Y+12 -Prize: X=9155, Y=16763 - -Button A: X+89, Y+45 -Button B: X+37, Y+86 -Prize: X=8787, Y=5856 - -Button A: X+37, Y+49 -Button B: X+78, Y+20 -Prize: X=4981, Y=2265 - -Button A: X+45, Y+14 -Button B: X+40, Y+80 -Prize: X=19160, Y=9168 - -Button A: X+26, Y+26 -Button B: X+13, Y+61 -Prize: X=936, Y=3528 - -Button A: X+59, Y+38 -Button B: X+21, Y+46 -Prize: X=7487, Y=9522 - -Button A: X+59, Y+15 -Button B: X+39, Y+49 -Prize: X=4181, Y=4307 - -Button A: X+26, Y+72 -Button B: X+65, Y+14 -Prize: X=1953, Y=17382 - -Button A: X+23, Y+42 -Button B: X+44, Y+18 -Prize: X=14527, Y=2876 - -Button A: X+78, Y+80 -Button B: X+52, Y+14 -Prize: X=8632, Y=7988 - -Button A: X+93, Y+19 -Button B: X+25, Y+90 -Prize: X=3272, Y=2621 - -Button A: X+44, Y+13 -Button B: X+39, Y+89 -Prize: X=3982, Y=6290 - -Button A: X+14, Y+75 -Button B: X+99, Y+58 -Prize: X=9373, Y=7228 - -Button A: X+75, Y+25 -Button B: X+23, Y+73 -Prize: X=4424, Y=2324 - -Button A: X+80, Y+21 -Button B: X+14, Y+98 -Prize: X=8460, Y=6937 - -Button A: X+22, Y+67 -Button B: X+55, Y+14 -Prize: X=12893, Y=1666 - -Button A: X+44, Y+13 -Button B: X+14, Y+48 -Prize: X=13366, Y=3202 - -Button A: X+59, Y+20 -Button B: X+23, Y+33 -Prize: X=4975, Y=2871 - -Button A: X+44, Y+15 -Button B: X+14, Y+62 -Prize: X=4970, Y=5944 - -Button A: X+29, Y+54 -Button B: X+56, Y+30 -Prize: X=876, Y=14426 - -Button A: X+56, Y+93 -Button B: X+53, Y+20 -Prize: X=6683, Y=5181 - -Button A: X+63, Y+30 -Button B: X+20, Y+64 -Prize: X=5778, Y=3732 - -Button A: X+61, Y+33 -Button B: X+18, Y+77 -Prize: X=5079, Y=8734 - -Button A: X+32, Y+49 -Button B: X+45, Y+18 -Prize: X=3693, Y=10723 - -Button A: X+76, Y+40 -Button B: X+12, Y+36 -Prize: X=16324, Y=2236 - -Button A: X+77, Y+51 -Button B: X+11, Y+41 -Prize: X=2267, Y=12225 - -Button A: X+58, Y+99 -Button B: X+62, Y+34 -Prize: X=7692, Y=8317 - -Button A: X+20, Y+41 -Button B: X+67, Y+37 -Prize: X=9857, Y=1424 - -Button A: X+11, Y+43 -Button B: X+69, Y+22 -Prize: X=15065, Y=10720 - -Button A: X+29, Y+11 -Button B: X+52, Y+67 -Prize: X=3902, Y=3920 - -Button A: X+15, Y+50 -Button B: X+71, Y+17 -Prize: X=8940, Y=2275 - -Button A: X+78, Y+30 -Button B: X+14, Y+79 -Prize: X=5540, Y=7063 - -Button A: X+31, Y+71 -Button B: X+73, Y+33 -Prize: X=4164, Y=3364 - -Button A: X+29, Y+58 -Button B: X+94, Y+19 -Prize: X=8545, Y=5429 - -Button A: X+14, Y+69 -Button B: X+81, Y+63 -Prize: X=7390, Y=9525 - -Button A: X+63, Y+17 -Button B: X+17, Y+73 -Prize: X=11994, Y=19446 - -Button A: X+90, Y+30 -Button B: X+19, Y+31 -Prize: X=7044, Y=2496 - -Button A: X+11, Y+50 -Button B: X+38, Y+11 -Prize: X=19768, Y=3529 - -Button A: X+64, Y+12 -Button B: X+28, Y+80 -Prize: X=13976, Y=17876 - -Button A: X+12, Y+37 -Button B: X+71, Y+35 -Prize: X=6039, Y=7825 - -Button A: X+69, Y+70 -Button B: X+17, Y+76 -Prize: X=3210, Y=6958 - -Button A: X+21, Y+56 -Button B: X+50, Y+17 -Prize: X=2424, Y=2974 - -Button A: X+65, Y+12 -Button B: X+23, Y+51 -Prize: X=4636, Y=5391 - -Button A: X+57, Y+27 -Button B: X+39, Y+71 -Prize: X=17261, Y=5991 - -Button A: X+47, Y+18 -Button B: X+68, Y+90 -Prize: X=6739, Y=6930 - -Button A: X+11, Y+32 -Button B: X+59, Y+18 -Prize: X=18943, Y=2346 - -Button A: X+45, Y+44 -Button B: X+89, Y+17 -Prize: X=2828, Y=2275 - -Button A: X+32, Y+50 -Button B: X+39, Y+19 -Prize: X=3225, Y=2525 - -Button A: X+11, Y+31 -Button B: X+67, Y+25 -Prize: X=14827, Y=9669 - -Button A: X+40, Y+12 -Button B: X+37, Y+68 -Prize: X=16679, Y=12220 - -Button A: X+47, Y+26 -Button B: X+34, Y+83 -Prize: X=5170, Y=5877 - -Button A: X+27, Y+70 -Button B: X+76, Y+57 -Prize: X=5904, Y=9005 - -Button A: X+99, Y+16 -Button B: X+54, Y+81 -Prize: X=2592, Y=708 - -Button A: X+12, Y+45 -Button B: X+69, Y+29 -Prize: X=1424, Y=16618 - -Button A: X+26, Y+92 -Button B: X+64, Y+45 -Prize: X=1616, Y=1726 - -Button A: X+55, Y+26 -Button B: X+30, Y+57 -Prize: X=2240, Y=3628 - -Button A: X+13, Y+34 -Button B: X+63, Y+13 -Prize: X=16497, Y=10164 - -Button A: X+28, Y+74 -Button B: X+39, Y+12 -Prize: X=4488, Y=7854 - -Button A: X+43, Y+72 -Button B: X+84, Y+42 -Prize: X=4210, Y=2610 - -Button A: X+19, Y+71 -Button B: X+61, Y+17 -Prize: X=6902, Y=494 - -Button A: X+54, Y+85 -Button B: X+72, Y+20 -Prize: X=4842, Y=6875 - -Button A: X+53, Y+11 -Button B: X+18, Y+56 -Prize: X=5621, Y=4017 - -Button A: X+44, Y+18 -Button B: X+31, Y+50 -Prize: X=14076, Y=10362 - -Button A: X+39, Y+23 -Button B: X+11, Y+23 -Prize: X=17763, Y=3987 - -Button A: X+18, Y+44 -Button B: X+41, Y+13 -Prize: X=1213, Y=2529 - -Button A: X+12, Y+68 -Button B: X+71, Y+65 -Prize: X=4538, Y=6150 - -Button A: X+59, Y+28 -Button B: X+22, Y+52 -Prize: X=6713, Y=9876 - -Button A: X+54, Y+19 -Button B: X+13, Y+31 -Prize: X=7630, Y=13243 - -Button A: X+67, Y+12 -Button B: X+13, Y+62 -Prize: X=15477, Y=19170 - -Button A: X+67, Y+25 -Button B: X+16, Y+98 -Prize: X=6167, Y=8099 - -Button A: X+23, Y+41 -Button B: X+34, Y+20 -Prize: X=15724, Y=15050 - -Button A: X+34, Y+65 -Button B: X+40, Y+15 -Prize: X=10362, Y=17085 - -Button A: X+11, Y+78 -Button B: X+81, Y+54 -Prize: X=5410, Y=7140 - -Button A: X+37, Y+65 -Button B: X+65, Y+18 -Prize: X=3813, Y=5929 - -Button A: X+77, Y+30 -Button B: X+53, Y+95 -Prize: X=2764, Y=3010 - -Button A: X+98, Y+15 -Button B: X+72, Y+68 -Prize: X=8952, Y=4732 - -Button A: X+29, Y+14 -Button B: X+48, Y+74 -Prize: X=18622, Y=9292 - -Button A: X+46, Y+76 -Button B: X+34, Y+13 -Prize: X=14076, Y=10938 - -Button A: X+14, Y+33 -Button B: X+43, Y+12 -Prize: X=13470, Y=10505 - -Button A: X+40, Y+16 -Button B: X+11, Y+19 -Prize: X=16938, Y=9234 - -Button A: X+26, Y+69 -Button B: X+40, Y+12 -Prize: X=2382, Y=4367 - -Button A: X+55, Y+19 -Button B: X+46, Y+90 -Prize: X=5037, Y=7817 - -Button A: X+62, Y+11 -Button B: X+58, Y+68 -Prize: X=2086, Y=1582 - -Button A: X+25, Y+57 -Button B: X+63, Y+34 -Prize: X=1170, Y=1023 - -Button A: X+13, Y+52 -Button B: X+69, Y+25 -Prize: X=18225, Y=7037 - -Button A: X+29, Y+84 -Button B: X+44, Y+32 -Prize: X=2871, Y=2780 - -Button A: X+56, Y+80 -Button B: X+78, Y+17 -Prize: X=4586, Y=2491 - -Button A: X+24, Y+99 -Button B: X+89, Y+26 -Prize: X=7310, Y=6275 - -Button A: X+16, Y+38 -Button B: X+79, Y+56 -Prize: X=10758, Y=8014 - -Button A: X+73, Y+47 -Button B: X+24, Y+49 -Prize: X=2003, Y=15822 - -Button A: X+76, Y+27 -Button B: X+17, Y+58 -Prize: X=3080, Y=4004 - -Button A: X+97, Y+40 -Button B: X+36, Y+80 -Prize: X=4729, Y=6120 - -Button A: X+46, Y+14 -Button B: X+36, Y+69 -Prize: X=750, Y=13525 - -Button A: X+31, Y+70 -Button B: X+28, Y+14 -Prize: X=5465, Y=7910 - -Button A: X+31, Y+59 -Button B: X+43, Y+17 -Prize: X=13684, Y=10746 - -Button A: X+15, Y+51 -Button B: X+58, Y+32 -Prize: X=2390, Y=1220 - -Button A: X+26, Y+15 -Button B: X+15, Y+99 -Prize: X=1101, Y=1629 - -Button A: X+85, Y+45 -Button B: X+56, Y+95 -Prize: X=10702, Y=12005 - -Button A: X+66, Y+14 -Button B: X+20, Y+62 -Prize: X=15830, Y=17694 - -Button A: X+56, Y+17 -Button B: X+19, Y+49 -Prize: X=10565, Y=1079 - -Button A: X+13, Y+91 -Button B: X+70, Y+85 -Prize: X=4310, Y=7490 - -Button A: X+16, Y+96 -Button B: X+92, Y+75 -Prize: X=6368, Y=13404 - -Button A: X+75, Y+18 -Button B: X+11, Y+40 -Prize: X=953, Y=5870 - -Button A: X+36, Y+20 -Button B: X+17, Y+42 -Prize: X=3873, Y=3226 - -Button A: X+57, Y+45 -Button B: X+19, Y+54 -Prize: X=6213, Y=6777 - -Button A: X+32, Y+89 -Button B: X+64, Y+27 -Prize: X=3264, Y=1679 - -Button A: X+55, Y+18 -Button B: X+26, Y+55 -Prize: X=12643, Y=13811 - -Button A: X+11, Y+99 -Button B: X+88, Y+92 -Prize: X=5357, Y=10413 - -Button A: X+57, Y+24 -Button B: X+13, Y+40 -Prize: X=5132, Y=9920 - -Button A: X+58, Y+13 -Button B: X+20, Y+62 -Prize: X=7590, Y=15279 - -Button A: X+81, Y+61 -Button B: X+12, Y+65 -Prize: X=7338, Y=10283 - -Button A: X+57, Y+83 -Button B: X+29, Y+11 -Prize: X=1856, Y=5024 - -Button A: X+66, Y+21 -Button B: X+17, Y+48 -Prize: X=7331, Y=14951 - -Button A: X+59, Y+34 -Button B: X+12, Y+46 -Prize: X=8132, Y=1294 - -Button A: X+11, Y+39 -Button B: X+73, Y+23 -Prize: X=19173, Y=4599 - -Button A: X+15, Y+21 -Button B: X+77, Y+27 -Prize: X=2229, Y=939 - -Button A: X+44, Y+69 -Button B: X+32, Y+13 -Prize: X=11884, Y=11249 - -Button A: X+34, Y+22 -Button B: X+24, Y+47 -Prize: X=12504, Y=6477 - -Button A: X+93, Y+34 -Button B: X+58, Y+72 -Prize: X=9251, Y=4398 - -Button A: X+49, Y+40 -Button B: X+87, Y+12 -Prize: X=6126, Y=2640 - -Button A: X+62, Y+22 -Button B: X+28, Y+63 -Prize: X=6858, Y=16418 - -Button A: X+15, Y+46 -Button B: X+82, Y+49 -Prize: X=16041, Y=1340 - -Button A: X+14, Y+94 -Button B: X+31, Y+32 -Prize: X=1876, Y=5198 - -Button A: X+29, Y+66 -Button B: X+93, Y+53 -Prize: X=5348, Y=7253 - -Button A: X+95, Y+28 -Button B: X+47, Y+80 -Prize: X=9440, Y=4436 - -Button A: X+34, Y+91 -Button B: X+65, Y+53 -Prize: X=2833, Y=5284 - -Button A: X+17, Y+63 -Button B: X+69, Y+33 -Prize: X=5323, Y=4137 - -Button A: X+34, Y+15 -Button B: X+60, Y+94 -Prize: X=6218, Y=6795 - -Button A: X+49, Y+19 -Button B: X+24, Y+60 -Prize: X=1447, Y=6193 - -Button A: X+11, Y+53 -Button B: X+44, Y+14 -Prize: X=7118, Y=2564 - -Button A: X+94, Y+95 -Button B: X+88, Y+22 -Prize: X=7016, Y=4614 - -Button A: X+29, Y+41 -Button B: X+91, Y+40 -Prize: X=6833, Y=5405 - -Button A: X+46, Y+11 -Button B: X+38, Y+65 -Prize: X=2892, Y=1698 - -Button A: X+26, Y+42 -Button B: X+41, Y+14 -Prize: X=8559, Y=1964 - -Button A: X+31, Y+67 -Button B: X+72, Y+37 -Prize: X=7974, Y=8694 - -Button A: X+87, Y+14 -Button B: X+12, Y+82 -Prize: X=4589, Y=4196 - -Button A: X+13, Y+70 -Button B: X+40, Y+20 -Prize: X=2015, Y=5770 - -Button A: X+23, Y+37 -Button B: X+57, Y+21 -Prize: X=7005, Y=4977 - -Button A: X+24, Y+59 -Button B: X+79, Y+45 -Prize: X=1355, Y=2585 - -Button A: X+37, Y+12 -Button B: X+22, Y+43 -Prize: X=17091, Y=15966 - -Button A: X+46, Y+13 -Button B: X+15, Y+62 -Prize: X=12329, Y=1775 - -Button A: X+51, Y+22 -Button B: X+11, Y+56 -Prize: X=2258, Y=10890 - -Button A: X+54, Y+17 -Button B: X+25, Y+59 -Prize: X=4809, Y=7090 - -Button A: X+58, Y+19 -Button B: X+27, Y+74 -Prize: X=9883, Y=3567 - -Button A: X+13, Y+80 -Button B: X+73, Y+75 -Prize: X=5253, Y=10995 - -Button A: X+12, Y+22 -Button B: X+45, Y+22 -Prize: X=10454, Y=11540 - -Button A: X+27, Y+82 -Button B: X+95, Y+67 -Prize: X=5143, Y=9860 - -Button A: X+56, Y+67 -Button B: X+92, Y+27 -Prize: X=13280, Y=8246 - -Button A: X+39, Y+11 -Button B: X+33, Y+54 -Prize: X=13970, Y=2728 - -Button A: X+29, Y+45 -Button B: X+47, Y+20 -Prize: X=11430, Y=12300 - -Button A: X+63, Y+29 -Button B: X+31, Y+63 -Prize: X=15707, Y=10361 - -Button A: X+95, Y+52 -Button B: X+50, Y+91 -Prize: X=12070, Y=10361 - -Button A: X+89, Y+22 -Button B: X+37, Y+48 -Prize: X=7161, Y=3402 - -Button A: X+71, Y+29 -Button B: X+17, Y+57 -Prize: X=13524, Y=11818 - -Button A: X+32, Y+19 -Button B: X+33, Y+79 -Prize: X=4806, Y=7012 - -Button A: X+19, Y+79 -Button B: X+87, Y+51 -Prize: X=2727, Y=7299 - -Button A: X+30, Y+96 -Button B: X+84, Y+73 -Prize: X=2304, Y=3261 - -Button A: X+20, Y+19 -Button B: X+11, Y+79 -Prize: X=839, Y=2785 - -Button A: X+27, Y+47 -Button B: X+61, Y+19 -Prize: X=3231, Y=4055 - -Button A: X+12, Y+29 -Button B: X+41, Y+18 -Prize: X=9603, Y=8529 - -Button A: X+28, Y+17 -Button B: X+36, Y+70 -Prize: X=4408, Y=5950 - -Button A: X+74, Y+20 -Button B: X+28, Y+56 -Prize: X=1982, Y=2812 - -Button A: X+16, Y+52 -Button B: X+58, Y+41 -Prize: X=652, Y=1234 - -Button A: X+22, Y+14 -Button B: X+31, Y+62 -Prize: X=4003, Y=6056 - -Button A: X+12, Y+75 -Button B: X+52, Y+19 -Prize: X=2804, Y=4061 - -Button A: X+72, Y+27 -Button B: X+49, Y+60 -Prize: X=9585, Y=6966 - -Button A: X+56, Y+18 -Button B: X+18, Y+48 -Prize: X=584, Y=18170 - -Button A: X+99, Y+88 -Button B: X+31, Y+94 -Prize: X=4773, Y=6834 - -Button A: X+15, Y+44 -Button B: X+79, Y+51 -Prize: X=5502, Y=4753 - -Button A: X+44, Y+65 -Button B: X+40, Y+14 -Prize: X=1264, Y=17268 - -Button A: X+59, Y+14 -Button B: X+11, Y+41 -Prize: X=763, Y=12898 - -Button A: X+94, Y+57 -Button B: X+33, Y+75 -Prize: X=4672, Y=8112 - -Button A: X+55, Y+24 -Button B: X+12, Y+43 -Prize: X=1128, Y=16380 - -Button A: X+41, Y+12 -Button B: X+34, Y+61 -Prize: X=2280, Y=12417 - -Button A: X+24, Y+65 -Button B: X+28, Y+11 -Prize: X=7572, Y=17387 - -Button A: X+37, Y+71 -Button B: X+80, Y+11 -Prize: X=3867, Y=2575 - -Button A: X+19, Y+56 -Button B: X+51, Y+23 -Prize: X=14915, Y=775 - -Button A: X+46, Y+71 -Button B: X+46, Y+18 -Prize: X=12290, Y=3949 - -Button A: X+96, Y+67 -Button B: X+14, Y+32 -Prize: X=5244, Y=5127 - -Button A: X+29, Y+68 -Button B: X+58, Y+15 -Prize: X=4582, Y=5904 - -Button A: X+51, Y+38 -Button B: X+32, Y+92 -Prize: X=6544, Y=10124 - -Button A: X+15, Y+63 -Button B: X+29, Y+12 -Prize: X=9073, Y=14123 - -Button A: X+96, Y+13 -Button B: X+79, Y+90 -Prize: X=7307, Y=1386 - -Button A: X+18, Y+66 -Button B: X+80, Y+33 -Prize: X=12376, Y=13388 - -Button A: X+22, Y+77 -Button B: X+15, Y+11 -Prize: X=2607, Y=5929 - -Button A: X+97, Y+18 -Button B: X+72, Y+99 -Prize: X=8070, Y=2097 - -Button A: X+40, Y+18 -Button B: X+17, Y+36 -Prize: X=2729, Y=18242 - -Button A: X+18, Y+89 -Button B: X+52, Y+51 -Prize: X=3582, Y=6581 - -Button A: X+82, Y+37 -Button B: X+19, Y+99 -Prize: X=1851, Y=4181 - -Button A: X+88, Y+49 -Button B: X+24, Y+91 -Prize: X=5024, Y=8232 - -Button A: X+13, Y+40 -Button B: X+24, Y+15 -Prize: X=4007, Y=7715 - -Button A: X+21, Y+49 -Button B: X+58, Y+38 -Prize: X=2673, Y=3901 - -Button A: X+40, Y+81 -Button B: X+99, Y+25 -Prize: X=7412, Y=3077 - -Button A: X+35, Y+35 -Button B: X+21, Y+89 -Prize: X=4277, Y=7813 - -Button A: X+29, Y+94 -Button B: X+88, Y+43 -Prize: X=7680, Y=5030 - -Button A: X+45, Y+63 -Button B: X+89, Y+12 -Prize: X=3885, Y=2061 - -Button A: X+23, Y+63 -Button B: X+49, Y+11 -Prize: X=1101, Y=8353 - -Button A: X+47, Y+55 -Button B: X+95, Y+20 -Prize: X=5908, Y=3905 - -Button A: X+59, Y+17 -Button B: X+19, Y+50 -Prize: X=17147, Y=3774 - -Button A: X+12, Y+28 -Button B: X+46, Y+32 -Prize: X=3452, Y=14720 - -Button A: X+30, Y+92 -Button B: X+56, Y+47 -Prize: X=3108, Y=9157 - -Button A: X+79, Y+15 -Button B: X+12, Y+47 -Prize: X=623, Y=968 - -Button A: X+20, Y+54 -Button B: X+46, Y+26 -Prize: X=19274, Y=8246 - -Button A: X+38, Y+91 -Button B: X+75, Y+38 -Prize: X=4437, Y=9351 - -Button A: X+22, Y+70 -Button B: X+69, Y+15 -Prize: X=5876, Y=3560 - -Button A: X+94, Y+79 -Button B: X+24, Y+75 -Prize: X=9816, Y=10059 - -Button A: X+80, Y+87 -Button B: X+97, Y+23 -Prize: X=3605, Y=3508 - -Button A: X+19, Y+15 -Button B: X+11, Y+63 -Prize: X=235, Y=783 - -Button A: X+57, Y+14 -Button B: X+12, Y+72 -Prize: X=8657, Y=12990 - -Button A: X+63, Y+21 -Button B: X+16, Y+89 -Prize: X=1906, Y=5990 - -Button A: X+72, Y+57 -Button B: X+24, Y+65 -Prize: X=7608, Y=9841 - -Button A: X+12, Y+88 -Button B: X+18, Y+17 -Prize: X=2730, Y=8865 - -Button A: X+73, Y+25 -Button B: X+33, Y+63 -Prize: X=5285, Y=6773 - -Button A: X+20, Y+65 -Button B: X+72, Y+21 -Prize: X=5640, Y=5955 - -Button A: X+94, Y+38 -Button B: X+44, Y+99 -Prize: X=7158, Y=3787 - -Button A: X+12, Y+34 -Button B: X+44, Y+13 -Prize: X=3308, Y=13796 \ No newline at end of file diff --git a/Inputs/Day14.txt b/Inputs/Day14.txt deleted file mode 100644 index dcbea30..0000000 --- a/Inputs/Day14.txt +++ /dev/null @@ -1,500 +0,0 @@ -p=84,26 v=99,-23 -p=98,17 v=-41,-46 -p=3,84 v=-17,-23 -p=92,66 v=36,-4 -p=16,102 v=95,-60 -p=14,90 v=-71,-62 -p=26,29 v=91,-20 -p=74,36 v=67,30 -p=59,66 v=86,-4 -p=32,47 v=-79,7 -p=82,42 v=3,-84 -p=61,16 v=28,34 -p=82,9 v=-84,-78 -p=5,71 v=16,84 -p=15,79 v=-48,75 -p=76,92 v=-32,68 -p=43,93 v=54,78 -p=22,73 v=-49,68 -p=79,13 v=-78,-55 -p=61,17 v=1,90 -p=71,58 v=-73,16 -p=60,63 v=-31,87 -p=8,41 v=-17,-96 -p=13,51 v=-16,-51 -p=86,15 v=12,-65 -p=35,71 v=57,3 -p=77,81 v=89,86 -p=100,37 v=93,-84 -p=31,38 v=22,20 -p=9,98 v=99,-47 -p=29,21 v=72,-76 -p=67,99 v=76,-25 -p=62,67 v=54,78 -p=80,79 v=-1,91 -p=74,7 v=51,-42 -p=31,57 v=30,70 -p=7,74 v=57,-75 -p=49,29 v=-9,34 -p=27,70 v=-45,-54 -p=96,30 v=47,-77 -p=7,22 v=-65,52 -p=50,53 v=15,-1 -p=37,44 v=46,-96 -p=85,87 v=-10,-25 -p=91,8 v=47,-56 -p=96,11 v=-50,-67 -p=75,85 v=80,90 -p=51,72 v=41,79 -p=81,67 v=-93,-25 -p=78,51 v=65,-99 -p=94,21 v=15,38 -p=41,63 v=-77,89 -p=98,11 v=-52,31 -p=97,53 v=67,12 -p=10,93 v=78,-74 -p=13,23 v=53,40 -p=73,39 v=-11,58 -p=82,54 v=45,-39 -p=4,14 v=-52,60 -p=69,85 v=-93,86 -p=88,27 v=-98,-64 -p=54,88 v=50,-27 -p=53,84 v=-82,-15 -p=47,51 v=24,61 -p=100,94 v=-54,-52 -p=91,23 v=1,-66 -p=95,45 v=-42,7 -p=76,92 v=80,53 -p=29,0 v=13,-29 -p=38,46 v=40,2 -p=29,19 v=-24,-59 -p=4,53 v=-74,11 -p=77,87 v=45,-13 -p=75,12 v=-82,-52 -p=95,84 v=38,93 -p=52,52 v=20,17 -p=16,0 v=-83,51 -p=68,21 v=98,-72 -p=9,54 v=-76,20 -p=27,9 v=9,-55 -p=32,44 v=-11,-96 -p=90,59 v=67,6 -p=68,52 v=65,30 -p=71,44 v=-3,11 -p=6,14 v=16,44 -p=10,0 v=18,-40 -p=85,41 v=17,90 -p=15,4 v=-59,57 -p=44,65 v=2,97 -p=15,78 v=53,-48 -p=34,12 v=46,53 -p=43,45 v=86,-83 -p=76,52 v=-92,-81 -p=11,80 v=97,-24 -p=37,3 v=48,63 -p=1,54 v=49,-5 -p=45,61 v=-5,81 -p=71,63 v=87,95 -p=72,40 v=-83,32 -p=10,9 v=-83,47 -p=3,23 v=-10,-73 -p=84,1 v=85,52 -p=52,24 v=-18,36 -p=76,37 v=21,-84 -p=49,26 v=20,11 -p=66,54 v=30,-4 -p=24,66 v=-61,79 -p=34,22 v=41,-90 -p=43,6 v=-52,-66 -p=15,30 v=68,6 -p=72,74 v=-55,93 -p=35,25 v=24,-66 -p=80,21 v=56,36 -p=43,67 v=59,95 -p=61,39 v=-69,-88 -p=61,93 v=-66,65 -p=18,94 v=97,74 -p=4,43 v=13,-75 -p=13,62 v=-74,-91 -p=61,27 v=32,-59 -p=28,88 v=55,-19 -p=52,55 v=-94,-60 -p=83,37 v=46,97 -p=2,72 v=-52,-77 -p=35,31 v=-33,23 -p=75,73 v=30,-12 -p=55,7 v=87,-70 -p=48,52 v=-41,-22 -p=50,15 v=39,-54 -p=35,69 v=63,-92 -p=40,55 v=-20,-84 -p=51,27 v=61,-67 -p=24,29 v=62,21 -p=12,14 v=86,45 -p=57,29 v=-99,-66 -p=82,74 v=16,26 -p=2,40 v=-32,-69 -p=23,14 v=-81,49 -p=89,70 v=-32,99 -p=4,27 v=60,-67 -p=34,10 v=-77,-57 -p=40,73 v=88,73 -p=26,38 v=-90,21 -p=31,25 v=45,15 -p=93,8 v=-65,54 -p=61,25 v=-69,-79 -p=13,63 v=19,27 -p=58,13 v=15,-42 -p=29,1 v=3,65 -p=65,59 v=41,15 -p=86,69 v=-89,-14 -p=23,63 v=-87,-79 -p=14,7 v=81,-54 -p=3,92 v=-96,61 -p=78,24 v=-34,-70 -p=48,30 v=-22,10 -p=59,79 v=85,66 -p=91,7 v=5,-60 -p=61,25 v=-20,41 -p=5,90 v=60,87 -p=68,9 v=-24,25 -p=27,55 v=42,9 -p=48,41 v=37,-78 -p=43,44 v=80,-68 -p=73,20 v=30,-49 -p=13,62 v=-19,-3 -p=46,11 v=24,50 -p=17,90 v=86,75 -p=77,18 v=-84,79 -p=5,52 v=4,-30 -p=28,63 v=34,41 -p=72,83 v=87,-15 -p=11,16 v=51,-60 -p=4,33 v=-63,-71 -p=70,77 v=34,-25 -p=37,46 v=22,-20 -p=87,49 v=-25,2 -p=89,16 v=45,-59 -p=9,82 v=-33,97 -p=66,27 v=87,-72 -p=64,97 v=-38,-40 -p=51,90 v=-73,76 -p=25,57 v=-68,-95 -p=41,13 v=8,-48 -p=39,13 v=59,29 -p=42,51 v=13,9 -p=70,102 v=-14,-54 -p=41,69 v=2,83 -p=74,7 v=-10,39 -p=91,63 v=32,-99 -p=6,22 v=-70,-55 -p=78,5 v=-12,37 -p=54,76 v=-46,-84 -p=17,19 v=-4,-62 -p=70,101 v=76,58 -p=71,94 v=41,74 -p=16,91 v=18,-32 -p=10,90 v=95,-53 -p=97,61 v=71,5 -p=63,49 v=-73,-70 -p=85,27 v=-76,-56 -p=98,11 v=47,47 -p=58,7 v=-5,46 -p=5,48 v=-6,-94 -p=4,90 v=-87,-16 -p=55,84 v=-3,-29 -p=74,1 v=95,-35 -p=3,43 v=35,28 -p=11,29 v=91,40 -p=10,11 v=38,31 -p=61,44 v=-19,10 -p=87,52 v=76,96 -p=3,92 v=27,67 -p=68,64 v=87,-6 -p=74,88 v=87,-34 -p=24,52 v=43,-61 -p=91,10 v=-65,-63 -p=65,98 v=49,-21 -p=88,66 v=-71,-46 -p=21,84 v=-26,93 -p=7,69 v=84,81 -p=43,21 v=6,-9 -p=43,64 v=-73,-19 -p=35,47 v=79,-88 -p=54,21 v=39,-62 -p=20,63 v=-33,27 -p=21,51 v=99,10 -p=16,82 v=-72,-31 -p=23,10 v=-2,-45 -p=37,33 v=-22,21 -p=41,74 v=-9,88 -p=31,96 v=-15,65 -p=37,12 v=46,55 -p=72,54 v=-54,-52 -p=9,58 v=-28,-87 -p=0,13 v=-96,-50 -p=65,70 v=18,11 -p=32,38 v=90,-84 -p=97,67 v=40,-3 -p=45,17 v=90,57 -p=36,85 v=2,83 -p=29,39 v=63,78 -p=51,99 v=-7,-40 -p=18,93 v=18,-30 -p=75,93 v=-12,65 -p=1,85 v=27,-20 -p=17,84 v=97,72 -p=3,68 v=-74,96 -p=72,22 v=-49,52 -p=18,65 v=-50,1 -p=71,16 v=63,-59 -p=36,44 v=-20,85 -p=77,21 v=-27,96 -p=70,54 v=95,-70 -p=20,5 v=-44,-9 -p=97,64 v=55,94 -p=49,82 v=35,-16 -p=63,54 v=2,-51 -p=88,101 v=1,65 -p=1,3 v=-89,-34 -p=29,97 v=-24,-42 -p=45,46 v=-66,14 -p=51,33 v=68,35 -p=91,29 v=-78,-35 -p=10,56 v=-83,31 -p=11,94 v=-41,-15 -p=63,76 v=19,90 -p=84,84 v=21,84 -p=24,41 v=-79,25 -p=94,82 v=23,85 -p=60,52 v=-48,-4 -p=47,36 v=66,-51 -p=0,49 v=-6,-90 -p=40,23 v=-99,-63 -p=21,79 v=-64,-40 -p=71,18 v=-14,-67 -p=53,44 v=-51,7 -p=71,40 v=83,51 -p=96,87 v=93,-29 -p=46,64 v=22,88 -p=3,53 v=44,-52 -p=54,57 v=74,-95 -p=61,63 v=-95,-12 -p=96,82 v=3,-17 -p=41,96 v=5,89 -p=7,46 v=-19,20 -p=2,7 v=55,33 -p=27,15 v=29,33 -p=54,64 v=-7,2 -p=84,58 v=-93,59 -p=80,24 v=56,5 -p=23,13 v=66,-56 -p=93,100 v=-89,45 -p=89,82 v=91,69 -p=55,90 v=96,-5 -p=43,41 v=16,-93 -p=54,70 v=28,-85 -p=50,64 v=-33,-22 -p=99,35 v=71,17 -p=23,77 v=11,-3 -p=78,99 v=43,-38 -p=3,80 v=-57,8 -p=22,75 v=-48,-18 -p=3,94 v=-98,-33 -p=72,89 v=-90,39 -p=87,84 v=67,61 -p=28,0 v=22,55 -p=65,55 v=82,70 -p=55,48 v=17,-96 -p=11,37 v=-33,52 -p=63,63 v=-94,9 -p=0,10 v=-78,59 -p=91,17 v=23,-58 -p=56,77 v=72,81 -p=99,47 v=14,19 -p=15,18 v=31,24 -p=47,9 v=56,-13 -p=38,11 v=-9,-50 -p=93,2 v=-76,47 -p=97,52 v=-45,-32 -p=51,44 v=-65,68 -p=15,2 v=-83,72 -p=15,99 v=97,54 -p=85,81 v=45,78 -p=11,57 v=3,-13 -p=91,30 v=11,56 -p=42,90 v=-75,73 -p=24,7 v=99,-68 -p=55,58 v=83,-7 -p=35,4 v=15,31 -p=21,39 v=42,27 -p=62,9 v=6,-48 -p=59,99 v=-20,46 -p=93,71 v=1,96 -p=31,3 v=77,-47 -p=98,11 v=25,-52 -p=28,41 v=92,22 -p=90,64 v=93,81 -p=64,93 v=-71,-28 -p=31,65 v=-74,-47 -p=62,44 v=21,30 -p=35,22 v=-76,5 -p=69,2 v=-4,47 -p=34,28 v=52,32 -p=3,37 v=-17,21 -p=43,92 v=90,-50 -p=16,59 v=29,-1 -p=41,6 v=57,-50 -p=93,58 v=-74,-16 -p=88,60 v=-2,-10 -p=62,19 v=-51,37 -p=30,80 v=79,83 -p=75,14 v=-84,79 -p=77,10 v=-34,-71 -p=92,60 v=21,13 -p=21,25 v=-26,-67 -p=88,101 v=57,80 -p=60,93 v=14,-99 -p=55,33 v=61,-77 -p=76,51 v=-60,67 -p=23,31 v=-48,25 -p=47,28 v=71,18 -p=6,10 v=-6,55 -p=74,29 v=-51,-56 -p=43,49 v=-66,15 -p=53,15 v=17,46 -p=34,89 v=-90,-28 -p=53,12 v=26,-53 -p=68,96 v=32,68 -p=10,50 v=-6,5 -p=30,7 v=69,80 -p=2,69 v=60,84 -p=78,74 v=32,-12 -p=83,87 v=-8,-31 -p=86,86 v=48,-45 -p=19,6 v=7,-48 -p=53,32 v=-55,-89 -p=32,35 v=-23,-39 -p=95,23 v=-87,43 -p=56,82 v=50,-22 -p=28,101 v=99,-36 -p=8,77 v=5,-13 -p=74,21 v=-27,-90 -p=68,59 v=98,-6 -p=83,93 v=21,76 -p=80,24 v=-91,-78 -p=7,78 v=47,-8 -p=19,81 v=90,-14 -p=96,20 v=-30,44 -p=70,54 v=-14,10 -p=93,25 v=-65,33 -p=51,76 v=26,90 -p=79,25 v=45,-69 -p=89,6 v=-47,-54 -p=32,78 v=62,18 -p=98,32 v=57,23 -p=34,30 v=-22,-91 -p=37,94 v=-72,86 -p=81,94 v=-45,63 -p=20,37 v=-24,29 -p=2,63 v=-26,-19 -p=4,29 v=-72,-68 -p=18,95 v=45,71 -p=64,84 v=28,-25 -p=8,32 v=84,-93 -p=15,3 v=-6,-41 -p=42,53 v=81,-92 -p=20,73 v=79,72 -p=43,3 v=28,-38 -p=86,85 v=-21,72 -p=97,29 v=69,36 -p=23,74 v=-55,72 -p=83,87 v=45,-26 -p=70,0 v=-93,57 -p=61,0 v=-25,74 -p=22,0 v=-35,56 -p=12,8 v=-70,34 -p=27,24 v=66,-74 -p=27,87 v=29,78 -p=36,98 v=68,72 -p=26,40 v=40,-82 -p=38,34 v=-80,6 -p=34,83 v=33,74 -p=23,24 v=9,27 -p=46,96 v=96,-43 -p=80,41 v=52,19 -p=33,10 v=37,-47 -p=47,15 v=74,73 -p=25,102 v=-3,-72 -p=73,63 v=-71,-1 -p=27,78 v=-2,83 -p=28,8 v=18,55 -p=95,102 v=-39,-42 -p=65,69 v=-38,-16 -p=54,17 v=-18,48 -p=63,64 v=96,96 -p=3,32 v=-37,33 -p=96,84 v=36,61 -p=67,9 v=67,-54 -p=88,54 v=-74,-52 -p=70,52 v=52,14 -p=97,81 v=-55,-56 -p=4,11 v=40,54 -p=51,9 v=-16,-97 -p=59,88 v=85,75 -p=58,24 v=72,-67 -p=73,59 v=76,-93 -p=34,40 v=81,2 -p=38,22 v=94,52 -p=77,27 v=78,39 -p=65,50 v=28,16 -p=63,14 v=-38,-48 -p=13,70 v=-24,75 -p=60,16 v=12,-9 -p=43,65 v=92,50 -p=66,31 v=-24,-65 -p=67,32 v=10,4 -p=20,27 v=-27,97 -p=87,35 v=-52,38 -p=69,86 v=80,-41 -p=55,81 v=4,-15 -p=11,102 v=-28,54 -p=34,74 v=52,-16 -p=74,90 v=19,77 -p=100,71 v=-63,-17 -p=16,27 v=-52,30 -p=77,75 v=-59,-50 -p=18,76 v=27,81 -p=65,99 v=42,-45 -p=30,15 v=-79,48 -p=4,95 v=80,-31 -p=81,87 v=83,15 -p=22,31 v=33,34 -p=46,77 v=-43,-42 -p=36,37 v=-99,27 -p=35,86 v=29,20 -p=54,16 v=-9,-77 -p=58,5 v=-38,-34 -p=40,26 v=4,-53 -p=31,36 v=56,-5 -p=46,101 v=-5,97 -p=99,97 v=47,88 -p=52,42 v=94,-81 -p=92,100 v=95,65 -p=86,19 v=-78,-48 -p=75,100 v=-23,63 -p=74,38 v=98,-99 -p=61,92 v=-42,-40 -p=70,98 v=8,63 -p=4,82 v=-74,-32 -p=79,1 v=63,-33 -p=5,49 v=-17,11 -p=55,39 v=-82,-68 -p=91,98 v=-96,64 -p=55,82 v=24,77 -p=54,48 v=83,13 -p=0,23 v=-19,-74 -p=25,50 v=48,36 -p=99,21 v=36,-68 -p=26,33 v=9,9 \ No newline at end of file diff --git a/Inputs/Day15.txt b/Inputs/Day15.txt deleted file mode 100644 index 97750da..0000000 --- a/Inputs/Day15.txt +++ /dev/null @@ -1,71 +0,0 @@ -################################################## -##...OO.O.#.O..........OO..#.#..O.O.O.....O......# -#O.O#.OO.O#..O.....O..#..O........OO...O...#.....# -#O#..O........O.O.O.O......O.O##...#.O....O.O#.O.# -#...O.O...O..O..O..O.O..OO.O....O....OO.......##.# -#O...O......#O.#...O.O.....#O.....O....#.........# -#..OOO.....#.O.O#.........O#.OO.O.OO......OO...#.# -#OO.O...#.O.....O#O....O#.........O........O#OO#.# -#.#OO......O...O.O.#...........OO......O.#.OO....# -#.#O..O.O..O...O.O......OO.......OO#..O.OO#OO....# -#.O......#..OO.O...........O........O.O#.OO......# -#O..#..#...#...............O.#......OOO.OO.....OO# -##..OO.....#O##...O.O...##......#OOO..OO...O..O..# -#..OO..O..#O...O.O..O.#.O#O##.O..O..O..OO.#O.#.O.# -#...O..........OO........#...OO..O...O....O.OOO.O# -#...O.......O...OO.#O....O....O.O.O.O.#.O#..OO...# -##..O...O.O.......#O.OO.OO.OOO...O.OO....O..#....# -#O..#...O.......O#OO.O...OO...O...#....O.OO.OO..## -#...O..OO.#O.....O.OO..OOO.O........OO.O...#OOO.## -#.#......#..OO..OO.O.O.........O..#...O........O.# -#O...O..O.......O.O..#.OO.OO....#O....O....O...#.# -#.##O.#...O.#.......#O.O..O.OOO.......O..O..O..O## -#...OO.O..O......##...#.#.....O#O...O..O......#O.# -#..O#OO.O.OO..#O........OO..##..O...O......OO.O..# -#O..O.O.......OO.OO.....@O#.....#.O..#O........O.# -#...........O#.....O....OO..OO...O..OO...O..OO..O# -#O#...OOO................O.###.O...O.......O.....# -#.OO.O...OO#O..O#..OO.OO...O.......OO.O.....O...O# -#.O..#.O......OO..O.......#.OO.##OOOO..O....#.#O.# -#.............O...O..O.OO#OO.O#..OO.OO#O.##.....## -#..#O.OO.O.#..O#......O#.O....O.OO.O..O...O....### -#O.O.O.O...OOO..O..O..........O#.OO..#...#O.###..# -#..O#.#O.OO.....#OO.O....O..#......O.#O##..#...O## -###.O.....O.....O.#OO.....O........O.OO#....O....# -#O..#O.O.O.....O#.O..O.O#O...#.............O...#.# -#..............#O.#.#....O.OO...O...O......#...#.# -#OOOO...O.#..O..O#.#O....OOO........O.....O...#..# -#OOO.O.#.OO..O.#.O..O.O........#..O...#O.....O.O.# -#.....##.O.#OO.OO#.OO..OO.OO...OO...O....O#.#O..## -#O.O.O.O..O.....O......OOO...O..O...O#OO...O..O..# -#OO..OO..O......#....OO..#.O...OO..O....#O..#....# -#OO....OO..OOOO....O.OO.....O.O#.....#O....O.OOOO# -#........O.....#O..#O......O....O.#.O#..##..O..OO# -#.#....#...O.O.O....O.......OO#.OOO#.#....#..#...# -##O.O.#.....#O.......O.OO.#O...#OOO.O.#....OOO...# -#..O.O#.O..OO..O.........O......O..OO.OO.OO......# -#.O.....#.#O.O...OO................O.O.#O..#...O.# -#...O......O.OO..OO..OO....#O.O..#O..O#....O...#O# -#OO.O....O#..O.#.OOO.#............O.O.OO.O#.O.#O## -################################################## - -v>>^vv>>>^v>v^^>vv^><^vv^^^<^^<^>>^<>><^^>v>vvv<>v><>>v^>>><><^>^>^^^>>^^^<^^<>^v<^v<<>^^vv<^>v>v<<>v^<<>^><<>>vv>^<>vv>v>>><<^>^^>v<>>v^<^<^>vvv<>^v<^<<<^>^^v>^<^^v<^<<^<^^>vv^<>^<>>><^<<^vvvvv<^<^v<>>v<>^^>^^v^vv<<^^v>v<^vv>^vv>v>v<>vv<<<>vv<^<><^><<<>^><<<<^>v^v<>vv^^>>v>^>v^^v>><^^<>>v<>v>>^<^^^>>v^^^<<^<<>^^<>>^>>^>>^>>vv>v^vv<><<>><<<>v>>vv^^>v>><<><>^v<^<>v<<^><><^^>^>^^vv<^vv><<<<<<<<>v>^^^<><^v>v<^v><<<<<><^vv>^v>v^<<>v^>v<^>^<>^v^v^<^<><>>^<<^vv<>>vv^v^^<^<>^^<>^><>^^v<^v<^vv^>><^^<><>>^v>><<>v>>>>v<<<^v^^v<<<<^v<><^<^^>^^>>>v>v>>><^^<>^v<<^^>v^<^v>>^^<>^v^^^<>v^v>v^><>v<^v>^vv<>><>>^>v^^<<^<^^^v><<^><>>v<<><><<<^^^^v^v>v<^^>>^^v>v<<<^<<>^v>>>v^v^v<<><><^v<><<>><>^^^>^vv^<^^>><^^^vv^>v^<^^v^v>>v><<<>vv^><>v<>>>v^^^vv>>>v<><^ -v>v>>^v^<<<>>><>><<<^v^v>^^>^v<^<<>>^^^^v^><^^^v>v^vv^v<>>v>>>>^vv<>vvv^<>vvvv^>><<>^^<<^><><^<>v<^<<>^>^<<^^>>>^^v^vv>^>><><>>^>^v<>>><>v^vv<>^v>>^^>^v^>^v^^>vv<^<^<^<^>v<<<>>>v^v<^v<<<>^<>>v><>>v<>>^><^>>v<^>v>v<><^^vvvvv^>^^>^>>>vv>vv>v<^>v>^<<>^v<<<^^vv>^v<^v>^>>^^^>^>>^v<>v^<^v><>v><<<><^v><<^^v>>vv^^v<^^><<>^^>>v>v^>v<<^>v<<>v<<>^^^><^^^<<>v>v<<><<><^>v^<<<><^>^v>>>>><>v<^^^>^>^v^v>><>>>>vvv^<^>^<^>v<^>^v>^<^^<<>v^<>^vv>^<>v>vv>v^^^<^v^^^vv>vv>v^>^<<^vvv>vv^>v><>v^^^^<^v^v^<>v>v^>>^v>^>v<><^^<>><^<>v<^>vvv<<>v>^>>^^><>vvv^^^v>^^>><>v>^<^^^>vv<<<^>vv<^<^<>vvv<>^v^^>^^<^^^v^<>v<^^>^^>>v^v<><^v<>><>^<<<v>>v>>>^>^v>^^^vvvvvv>^vv>v>v<>^^><><^>^<>>^^^v^<v^<^<<<^<>><<<<<^^<<><<><>^<><^v^^v><^v>>vv -^<<<>>v>>^^v<>><^><^^>v>>^^^<>^>>^>v>>^>><^><^>vv^v>v^v>vvv<<^>>vv>^v>v<>^<>^>^^v>>v<^<^>><^v^v><<>v>>><<>v^<^>vv^v^v^v>^>v<^><><^>>><^>v>^><<v>^>>v^^<<<>>v^^v>v<^>>>v^^^<<^<^v><^><^>vv>>^>>>v>^<^vv><^^>>^<<^>><<v<^^^v<<>v>vv^^v<>v^v>>^>^^><>v>v^>>>>>vv^><^>v<^^vv^^>>><<<><^^><>>>v>>^<<<<>^v^v><^v^^^<>^<^<<v^<>^v>v^>^<>^>^<^^<<><>^<^<^>^v^v><<>>>v>^vv^v<>>>>v^>v>vv><>><^<>v^<<>>v^^v^vv>>^v>><>>v^>>><>^^>v><><>^^v^vv<^v>^^v>>v>^vv<v<^^^^^v<>>vv^^v<^>vv^v<>><>>v<^<^^<>>v><v<^>^^v^v>>v>vv>^^v^<<>>v>>>^^<>>vvv^v<^>vv<^>>v><^^>^><>>vv<><<^<^^^v^v>^vv><>>>>^>^<<^^^^>v^^vv^^<^<^<>>^^>v><^>v>><^<^<^><<>v^v^>>^><<>>vv^>v<>>v<^v><>>^<>>>><^v><^>^v^><<>^^><><^^ ->^>vv^v<>>><^^^^^^^^^<>^><><^v><>v>^v<<><^^v^v^v^v^v><^>>>^v>vvv^^>v^<^^>>v>vvv>^^v^^<^>>v>^<<<>v^^^^<^<>^^>>v<^^^>vv>>>>>v>^<<>vv^<>>v^>vv^vvvv><^^<>v>vv>vv<>v><>^^vv^v><<^vvv<>>^v<><>>^<<^v^<><v><>^vvvv^^v<<^^^<><<<>^^^>v^^<<>^<>^<>v>>^<<<^^<>^v>^><<<^v<>^^>>^><<>^^v^><^v>^^<>>v<<<<><^v<>>v^v<>^^vv>^^<>>^^v<><>>^^>v^v>v^>v<<^>>><^<<>^<^v^>v>>v>^>^>^<^<><<^^<<^><><><^vv^>vv<><<^^<<>^^>v>v^v<^>v>>>>><^^>>^v<^>v>v<><><<^>vv^<^^>>>><<<<>>v>v<<<^^<^>vv<^>>>><>vvv^^^><<>>>>^vv><^v^<<>vv^v<<>v<^vv><^^^^^<><^<>^>^<>^v^<^<^><<><>vvv>vv>vvv><^^>^>v^^^><^><>^><>^>>^vv<><^v^^<^>^v<^^^<>><>>^^vv^<>^v^>><<^^v<>^v^v^^v>^vv<^v^><^>^^>>><^<<>><>v>^vv^^vv<><>>v><<^v>vv<>^vv<^vv>^v>>vvvv^><<<^^<>>v>v>^>v^v>>><>vv -^v>v<^^vv^>>^>>v<<<<^v^<<<>>^^><<>>v>>><^^>>^<^>vv<^v^>^^<>^<><>vv<v<^^<<<><<><>^>>v<>><^^v>v>>><>vv>^>>>>>^vv^v^v><^^<<<>^<^^>><>vvv^>v^^>^^<>>v^^<>v<>^>>^<>><^^v<<>^vv^^^>><<<<>vvv><>^v^<^^<>>><>v>^>v<>^><>^>^>><^^<>v>v<>v><>v<^v><<>^>v>^vv><^>>^<^v^<^v><<^v<<<^><<<<<^v^<^>>>>>>v>vv>v<^^<^>>^^^vvv^v^^vv>^<>v>><><<<>>v^^>^<^>^v><^<<^><<vv>^>>v<><^v^vvv^<^>^<>^^v>v>vv<><<^<<^<<^>vv^>^>v>>^<>^^^^vv^v><<^>^v^>>^><<^vvvv<^v>^>^^>>><^^><><^^vv<^<>^^><^vv^>^>><<>><<><><>v^<^^^^vv>>^^^>^^^^^^v>^^<<<>v>^<^v>^^^^>>v><^v>>>^<<<>>v<>vv>><<><vv^><^<><>>^>vv^>v^v^>><>vv>^<>^>v^<>v<<<><>>>^>v<<^<^<><<>>>^v<^>>^^v<<<>>>^^v^><>>v<<<<>v>^^>v>>>v<<<<^^^<^>>^^v>^>v^<>^^^<^<^v<>^^^>^^<>vv^^>vv>^<<><><^^^<>^>>v>v<^^vvv<^>><<<<^>^^v<v>v>^v><^^< -^>>>^^^v^v^vvv<^><>^>><^^vv>^^>v^v>>vv<^^<^<^v^<>v>vv^v^^>v^^^^^^<>^^vv<<^vv^vv^^vv<>^^^^^><>vvv><^^<>v<>>v<^vvvv>^v>v<^vv<^^v>>><<<>v^^>>^<><>>><^>vv^v>^>v<<<>^v^^><<<^>vv<>vvv><><>>>^<>^v>><>v^^<<<^vv><^^>^vv><<<^>>^>^>>^<^^>><><><^^^^v^<^^vv<<>v^^v>>v^<<^^v^v^^<>v^<<>^><><^v^^vvv^>^><<^vv>^^^>><>vv^^>v^^^>^><^>>v><^<<^>>>>^v<<<>^>^<>v^>^^>>^^^^>vv^<<>v^v><<>vv>^<<<<<^>v^<>v<>^<^^>>v^vvv>^<<>^vv>^>>><>vv^^>vv>^>><^>v^>^><<^^^v<><<<^^^>><><^vvv<^v^^v<><<>>v^v>><^^v>^^>>>v^^v<^<^>v>>^^v><><<^^^><^>>v^>v^^<>>><>><<^^v^>v>^>^^vv>>^>vv<^v>^^v<>v><>vv^>v^>^<>>>v><^^^>v^v>vv<>^><>^v^>^>v^^<<><>>><><^>>^^^>vv^<>v><<^^>v^vv^v>v><>^vv<>v<^>^>>v^><>^<>^>>^^>><^>v><^^^vv^>^>^>^vv>v<>>><^vv^v^ -^v>^vv<^<^<^><>^^>v^v>v^><^v^>v>^vv^vv><><>^^v<>v<<>>^^^v^<^^><>^<^>^>>^v<>v^^^v>^>>>^vv^^<^><^^<^>^>v>v<^<>><>v<>^>v>>>v^<^^<>^v^^<<^>v<>v<><^v^<^>v>><^^>>v>vv<>vv^^<>v^v>^v<<<>^>>^<>^<^>><^>v>^vv^^<>>v>^^v<^v>^^>^<v>>>v>>v^v<^>^v^^>^^<>><><>><<^<^>^v^<>>^vvv><^v><<>><>^vvv<>v>^v^v>>v^<vv<^v<^^<>>>><^v>v>vvvv^>v<^^><>><>>>>^v^^^<>v>^v^^><>^^v>^<<>v>>vv>^>>v<^>>>><<^>v<^v^<v^<^^^v>^^^^<<>^^^vv<>>vv^v>vv<<<<^v>vv>><<^<<>^^>v><<>v<<^^><^vv^>v^v^>^>>>v<>^^^vv<^v>^v<><v<<>^>^>>>v^<^>>v>v<<^v^>^>^<^vv<^>^<<<<<^^^v><<>>^v^v<^>vv^v<^<<<^<^<^><>^^v><>>>>v^>^^^^^^^^<^>v>^^<<^^>v>>^>>v<^^>^^<<>^<>^><^^<<<<^>^>>^<<^>>v^>>^vv^>^<>v<<>^<^^v^>v<>^v^vv>^>v>v>>>^>>^<<>^>>^v^><^^^v>>>>v^<^<^>>^^v^^>>^<^<^v< ->^vvv^><><v>v^>^<><<^^^><>>>vv^v<^<>>>><<^vv<^^>v<^^v<>>^^v^^><^^^<>vv^v>>>>^^^>v^v>^^^<<^^^>^v>>v<^vv>^>>vvv>v^<<^v>^>>^<>><>v^v^v>>^>v^^^^<<>v><^<<<^>^v>>v<>v^>>>>^vv><>><^^^><^>>v<^^><^>>vvv>vv^^^<^><>v>^v^^<<^<>>^^>v^vv^>^>v>^<^>v>^><>^<^<^^^vv^^>><^>><<^v>>>v<>>>>^^vv<<>v>v^^vv^v<>>>v>^^>>^^>v<^^<^v>^v<<<>^>^v^<>>^v<>^v^<<^<>v>v>v><^v>>v>v^^v>>>>>>>^v^><<<^v^><<^<<^v^^v><<>v>^>v>>^<>^<>^^>><>^vv<>vv^<^>^>v>v<^^>>^<^v^<^<<<^vvv>^^<<>vvvv^^^<^>^^v<^^^>^v<>vvv>^>><v>vv<><^^^>>><>^^>>vv<><><<^^<v>^>v>^^>^vvvv>v^>v<<>><>v><^^<^^v<>^<>><>>^<^<><>>v>vvv^<<>vv<^><^<vv^v>>^vvv<^^<^v<<><<>^^v^<^v^<<^<^>vv>vv^^v>^v^<<^vv^<<<>v^><<^>v>^^^<>vv>v^>v<^>>>^<^<<^^>^v<^<^^>vv^><>^^^<>>v^>^^^^v<^<>^>v>^><^<^v>>v^<<^v^v^^<v>v ->v^v^<>^<^>v>v>^^v^>>^v^<<>v<<^^<>v<<<<^>>vv<^><>>>v><>^><<<^><>>>v^>^vv^v^v><^vv^>v>v<<<^^vvv>v<^v>^<<<^>^<>v<^^<^v<<>^v^v^^^^>>>><<<<<^^<^<^>v^>>v^v<^<>v^v^>^>>>^<^<><^^^vv^v<^^^<^^>vv^v<^<<^^v^vv><<^<>>^>^>^>><^vv<^v^^>v^v<^^^>v^v^<^>><<>v<<<>>vvvv>v>v^vv^<<<^v<^vv^v>v^^>><^v>v><^>vvv>vvv^<>v^><>^<<^v>>><<<<^^^^><^v^<^<<><^>^^v>>vv^<^v^vvv<^<^<<<>^^v>^>>v^^^v<<^<>vv>><<>>^<>v>^><<<<^v^^v^^<<<>vvvv<<^v^>>>^v<^v<^<<^>v^^<><^<>vv>>>>>^<<^v<>^v>^<<>v^<>vv>^v^>><<>v<^vv^v>^v><^vvv>v^>>v<<^^^<^v>^^><^^vv<^<^v<^^^^>>v>v<^>>>>><>vvv^<^vvv^vvv>^>^<^v^<<^>^v<<>vv>v^^<<>>v<>^^^^<>^>vvv><<^v>^vv>v<<<>vv<^>v<>>^vvv^vv^^>v>>v^^>vv><>^^v>>^vv<><^><<><^vv>^>vvv<^<>>^^<<^>>>^>v<><><^^><>>>^^vvvv<>^>>>><^^<>vv><<>>^^vvvvv<^<<<<><^vv^^>^<>^<^<^^>><>v>>vv<^^>vvv<<>>v^<>^<<>v^vvv>vv^^>^><>><>>>^v^>v<<v<^>v>>^<<^^>>v^v^^v^vv<^^<>><<<>^v<^vv<^v^^^<^v<<^^v<<>^<<^v>><^<^^><>^>v^v^^v>>>v^^><><>^v<^v^>>^vv>v^v<^<^<^^<^><>vvvvv<>>^<<>>^<<><>>^v>vvv>v^v<^^v^>^v>>>>>>>>>^<<>^vv^v>^>v<>^<^v^><<>v>^>>^^v^v^>v<><>^^<>^<>><><^<^<^v^<<^vvv^v><^^>>v^^vvvv><^v>>>^>^vv>^>^>>v><><>>^vv^v<>^v<^<>>>>v^^>^^><<^<><>^<v^v^vvv^>v^>>>^v><<>^^v<<>>>>^>>vv>>>^<>><>^v^^^>vvv<<>v>^>^>^>v>^v>>v>^>v<>v^>^>>>v>>^><>^>>><^^><>^^v^v^>v^v>>v<>v><>^<>^>^>>v>v>^<<<^^^>^<<^<<<<^><^vv>>>^><^<<>^>v<>^vv^<^v^<<>^^v<<^v>^v^<<><<>^<<>v^^vv>>^><<^<^^^<^^v>^>>^><>v^^>vv>v^v>^><^>^>^^<^v^vv>>^^^^>^<<^<^vv<^v^>^>>vv>^<<<<^v^^vv>v^^>^<>>v><<^>v>^^v^vv<<>vvv><v<>>^>v<><<>v<>vv>v^v<>^>^>vv<^^^^^^<<^^v>>>>^<^<>^>>>^^<>>^>><<^<<<<<>>^>>>^v^<><^^^v>vv><<>><^v<^^vvv>v^v^v<>><><<<<<<>><>v^<>v^^^>>vv^<>><^><^^v^v^^^^>^^><v^v^v>v<^<><^><>>v><>v^vv<<<><>>vvv^^vv^v>>>>v<^vv>>vv<>>v^<>v^^^^<<^>^^>^>^^v<<^^<^^v>^^^v<^^<>vv>vv>v^v>v<>^v>^<>^<<>v^^>>>^>^^<>>><^vv><v<>>v^v>^vv^>^^vv><^<>>v^^<>v>>^<<<^>^<^>^^^vv^v>><^<><^vvv>>>^^>vv>>^<^v><>^>>^>><^<^^>><^<^^<>>v<<^^>>>>><<^vv<^v><^^><^v<^<>>>v><<<^><^<^<><>^>^>>v^v^^v^<^^v^>v^<^><>>^>^<>>>v^>^>>vvvv^>^>>v<^>vv<<>^v<><^<>>><>^<^>>^v>v<<^^vv<^v<v<^<><>v>v<<<<<^^vvv^^><>>vvv<^^v^>vvvv>^vvv^>v<^><<<^vv>>>vv>>>^^v^vvv^<<^>^<^v<^^>^^v>^^v^vv><^<>^^^v><^v^v>^vv<^>><>^^^>^<^v>vvv><<^<^<^^v>>v^vvv>v^v>>>>v^>v<<>^^>><>>^^v^>^><^^<^vvvv^>v<^>>>v^<^>>><^<^^^^>^<>>>v>^v<^<^v<<^<<^v>v^ -^>^><<<>><<<<>>vvvv^vv^^^v>><>^^>v<^^v<^>^v^<<^><^v<>v>>^>>>v<^<>>>^vv><>vv>v^>>^vvv>^<><>vvv<<<>^v>v>^^v<<^vvvv^<>>>><>^^>^v^^>^<>v^>^<>v^>v>>vv<<><^v<^vv>vv>^<>vvvv>>>>^^>v^v<^^<^^^^v<>><^^><^><>v^>^<>v^v^<<^>>>^vv>>><>v<>>^v>^^<^v<<^>v^<<>v>>^<^^v>vvv<v><^>^>^>v>>^<>^^<>><>^vv>vv^v<^>^^>^^^vv^<^>^v><^<^<v><<^<><<^^<>><^><<<v^><<^^^<<<><>>v<>^><<^^v>v>>>vv>v^^v^>^<^^<<>v>>^>>vv<^<<<^<^>>^v>^<>^>vv><>><<^<>^v>^>^vv^<<^>^^<<>>>v><v>v^^<<<<<<^^v^<>><>>^>vv>^<>>v<>v^^<>>^v>v><<>^^>vv^^v^^vvv><^v<>v^>vv^^^^<^>^^^>>>>><>>vv><>^>v^<^^^>^>vv>>v^^^^^v><<^v^<<<<^>>><^<^^^<>^<>^^v>v^<^^vvv^^^>vv^>^v<^vv<>><<<^vvvv^>>v^^>^>><<>^v>vv>^^v<<<>^><<<^^v<^^>v>v<<>>>vv<<^v>>>^^><<<>><^<<>^v<^<<^vv<< -^v>v^^vv^^<<<><^<>v>vv<<>>v>^^v<^>>v<^^^^^v>><<>v<>v<<^<^vv^^<^<>v<>^^>><^v>>^v<^^^^<^<><^<^>><>><<<<^^vv<<^><^v^<<<^^v>>v>v^<<>v^<<^^^>>>vv^v^><^^>>><^v>>>^^><<>v<^vvv^<^^<<^^^v^^^<><<>v^vv>^v<v^<>v>vv^>><><^^^^v^v>^<^>^^^<<>><<>^v>v<><^vvv>v^^^vv^<<^>vv>>>^v<^^><>>^v^<^v<>v^>>^><>v>v><^^v>v^><^><<>>v<^^^>>^^^<>^^>v><^<>v^><^<>v^>>^^^v^v<><><<^>^>v><^<<>><^>^v^^<<>^v^<^>><^^v^>^v^^<^<^<>>>^v^<<<^>v><^vv<<<>>vv>>>^^><>^^<^v^v>v>>>^><<^>^v<<<<^v^<<^^>v^v^><^v^^v>v>>^vvv<>vvv^^^>v^^>^v<^<<^<>>>><^<^><>^>^<<v>^v^>>>v^vv>^vvv<>vv>^>^^>v^^^<^>>^vv><<><^>v>^<^>><>><^v<<vv>><^^^^v>^<>>>>vv<>v>>v^><>v^vv^vv^>><^^^<>v<>vv<^<^^^<>^vv><<<>>v<><<^>>vv<>^>>>^v^>v<>v><<^^v^<<>v^v<>^>v<^>^>^vvvv^>^<<<>>>><^>>^>^^v>^vvv< ->>v><^>>>v<>><^>><>vv<>^>^<<>v>><>v<<^^>vv^>v^v><>^>^v>v<<^^^>>>vv>>v<^v^^^<^<>>^>^<<^^>v<><^>>>>>>>>^>v>^><^><>>>^v<<<>><>vv^<<^>><^v>vv>>^v<<><>>v>>>>^>^vv^<<><<>^>v>><^^v^^v><>^<>^^v>^>vv>><>^<^>^>^><>^^^<><<<^v^v^>>>>^v>>>^>^^>^><>v<>v>^v^^^>v<<<>^<<vvv^<><^vv^v<^^>^<^<>><<<>v><^^^v^^>^<>>^<>v>^v>^v<^^v<>v><^^^<v<^v>v>v^vv>^^vv><^>vv>v>>v^>^v<<>v><><>vv^>v>^vvvv>^v^>v>>v^>vv>v^^^>v>>>v>v^vv<<>^>><^<^v>v^^v<^v<>^><^>^v>>>v^<>^>vv^^vv>v>^>>^>^<^^><^v^<^vv^v<><>vvv<>^^^>v><^<>v>><<^vvv><<^<^^vvv<<>^<<>^<^><><>>>>^>^>^^><<<^<^v^<<<>><>>><<^v>>v^<<>^v<>^^<>v<>>^<<>^<<<>vv<^^v<^^<<>^v^><^^vv^<<<^><>>vv><^<>>vvvvv^<^<<^>>v<<^^v>><>^><<>v<^<^>><^>>v>^>>vv^>^<^>^^>> -vv^^v^<^>>v><^^>^v>v^>v^v<>>>><^<^v>v>>><>vvvv<<<><>^^v^^>v>>^>^>^^>>v^v<^v>^^v^^v<^v^>v><><>>^>vv^^<>v<>vv>^<>^v>>v^><<^^v<^><>^^<<^>^^v^^>>^^>^^^><><<<<<>^^<^v^^><^<>v^>>v^^>^<^<><>>^v<^<<<<^<>^>>v^v<^v<<^>^^<>^v<<>>^^>v^<>>v>^v<><>>>v>v><><>>^>vv^<<><>>^<<^^<v^>v>>^<>^>v<>>>^vv<<<<<^^>^<<<><<><^^^v<><<<^v><^^^v<^>^^<><^^<^vv^^v<^<<><^^^^>v^<<v^^>>v><>>>>>>^^<>><>>v^v><><>v>v<><v>v<>>>^^<<^v>v^v>v<>v><>vv^>vv>>>vvv<>^^><<><<^<^^<>v<>^<<<<><<>vv>vv^v>v^>^>v>>^<^^^<^^v<^vv<^<<>>^>>>v><^v^v>^^^^<^v>><^<><^>^<^vvvv><>v^vv>vv^v^<>v^>^^^^<^<<>^v<<>^^>>v<^><>^<<<^^^>>vv^^^><^v<<>v^v^<>v>^<<^^^<^^v^>v^v<>v^^>><^v<^>^v^>>^>v^vv^^v^>>v^^<^v^^^<<>^vvvv<>v>^><>>>v<>^<^>^^>^vv^<<<<> -vv<^vv<^^^v>^>><>><^v><>^^v^><>v>^v>^^v<>>>^^^>>^v^v>^^^<>^<>>^><^^v<>^>^^^vv<^^v<<^vvv^<^vv<<<^v^vvv>v<<^v^vv>^^^^<^v^<><<><<>>>><^><<^^>v>^^^>vvv^>v>>>^vv>>^<<^><<^^<^^><>^^vv>>>v^^>>><>^<<^<><>^^^v<^^^<>v<<^^^^>^<^^^v>^<<><>>>^v^>vvv<<^>><^^<<<><<<><>>^<v>>^^v>^>^^v<^<<v><^>^^^^>^^<>^<<<<>^^^vv<^<^^v^<>>>>^^vv^v>^vvvv>v>^<^<>^<>v^>v^>v<^><^<<^>v><>v>v<><>v^^^vv<>v>v^^<^<<^>>^>^<^>v^^^<>>^v>>^vv>^^v>><><<<>^vvv^v^vv>v>v<<>>><<>>^v^>^v>v<^v><^<<<<^<<>^>vv^v^>^>v>>><^v^^vvv^^<<^vvv<^v>>>vvvv^>>^v>^^>>>^v>v^^vv^v^^>><>^<vvvv<^<^vvv>v^<<><>^><^vv<^^^><>v<^>vv>^<<>v>vv<>^^v>>>>^>>vv>v<<^^^<<>>vv><<^<^><>^v>>^^>v<^><^<<><<^v^>^<^<^>v^vvv^v<><^>vvv>^v<^^>>v<< -v^v<^^>>>^>>>>v^>>^>vv><>^vv^v>vv^v>v<^^<<^<^<<>>^>^<^^<>vv>vv<<<>v^<^v>^^v>>>>v^^v>^^v^v<<<<^v<^^^>^^v<><^v<<^v<^v<><^><^>><^>>>^><^>>^^v><>v^vv<<^<>><^^><>>>>v><><>^^<<^^^v<><<>^>v>>><^^<<<<<>v^^vv>v<<<>v^>vv<>>v<^v^>>>v<>^^><^^vvv^^<^<>><<vvvv^<<>^>>>>><<^<^v^<<^v^>^>vv><^^><<vvv<^>^<^^<<^<^vv<><>><^>^>^<^vvv^<<v^<<<^>>^v^^<<<^v^^v<>v>>v<>><>v<>^v<^>vvv<^v^><<<><^v^^>>v<^<>^^>><^vv^^^^vv><^>v^<^v<>vvv<<>^v^v^v<>>^^vvv>v<<^>>><<^v^vv^>v>><>>^v<>>^^v<<>^^^<<^^^<^>^<<>>>^vv>><>vvvvv^<^>>^v><>>^^<>^v<^v<<><<>v><<^^vv<<>vvvvv^>>>>v^^<><^<>^>v^v<<>>vvv<^v^v^<>>v<^>v^^^vvv>>^>v>v><<<>^^vv^^v^>vvv^<^>>v>vv>^^<^^^v^<^<<<>>^<><<<>>>>>v<^v<>vvv<<><<^<^^<><^<^>^^^<^v>vvv<^v>v>v^<>v>>>v^^><>>><>>>^><><<<>^<><>v^>>^><><<<<>^><>vvvv>^v< -<^vv<><<>v<<^^>^>>>>^<^>><>vvv><vv^v><^>><^vvv>vv^^>^<^>v<^^vv^<<^vvv<>>^>>vv<>^vv>^^<>^>>^^v^^>><<<>><<^<^^^<>^><>^v<^<^>>^v>v^<^<>v^v>vv<^vv^v>^^^v><><<^<>v>><^vvv^<><>^>>><>v><>^>vv>^<>v<>>>v<^vv^^v<^v<^>vvv><^>><^^>>>v>v^><<>v^>vv<>v^v^^<^v>>v>>^^<^v^>><^^v<<v>^<><>vv^^<^^>v^>>^<<>^vv<><^>^^^v^>v>>v<^^^<^>v^^v>v^v^<>v<^>^^^vvv<^>v>vv><v^<>>^><><^>vvvv>^vvvv^<>vv^<<^><^^v^v^v><^>vv><^>v>><>^v^>^<>>v^vv>v^^^<^vv^><<>v^^>vv><<><^v^>>v>^>^<<^v<^<>v^>vv^<^^>^^vv>><^^<^<<><>^v<v^<^<>vv>vvv>^vv^>^<><<^^^^>v>>^<>v>v^^<^>>v<<<^v>>>>>^<><<vv<^^>>^v^<<>v^<><<^vv<<<<^<^^^<^^>>vv>^^>^vvv>v^>^<<>vv>v<^^vv^v><^^vv><^v^v>v^<^vv^v^vv -v<><<^^^v>^v^><^<><><>>^>^>v^<<>v<><^<>>v^^v<<^^>>v>^>^<^<^^^^<>vv<>^>^vv^^>^>v>^v>^<^>^vv<><>>v<<<^v<>vvvv^>>vvv^<><^>>^^>>^>vvv>v><^><<^v<^>>v^^vvv^^<^v>v^vvv^>v>>>vv>v><^><><<^>><^v<<^>v<>^vv>>^^^^v<>v>><<<<^^^v^v>^v>vvv>>><^>^<>vv^^<>v^>^^<>>^vv><^^>vv^v<>^>>^v^<^<>^vv>^v^>>><^<>v<>^v<^>><<>><>v>>>^v^^^<^^<>>^^^^v>^^vv>>>vvv>vv>>>v<^v^v^^><^<>>vv<>v^v<><<<^vv^^^<^><<^^^^v>>^<><<>v<><><>v^<<>v^>>>^>^^^<><>^>>>v^>v>>v<^v^^>^^^^>>v^>>><<<>>><>>>^>v^v^v>v^v^<>>>vvv^vv^<>^v<>v^^<<^>^<>^<^>>v^v>>v^<^>^^<^^^>^v>^^>vv>vv^v>v^v^<>v^>vv^^^v<<^vv<>>^>^<>vv<^>>>><>^>^v<<^v>v<<^>^<^^^>>v>v>v<^v><<>v<<^><><>>^^vv<^v<><<>^^v>^^^v^v^<<^v^<>^<^<^vv^^v><<^vv^v<^^<^><^>^><^^><>>>^v<^<>^^>><<^v<^<<<<>>v^>^v^v<>>^^<<^^>>v>^><>^^^<^>>vv^><<<^<>>^v>>v<<>>^>^^>^^^<>v^vv><^^^^v>^>><>v<>v>^v^^^^^v^>^^v<<>>^<<<>v<<><^<<<^^<^>><^^^v^>v^>^v>v<<<>>^<<>>^v><<<^<>>>>>^v<>><>^>>>>>>v<<^^^^v^vv<^^^>v^v<>^vvv^^v<><^v<^v>>^^^<^vv>>><^>>>v>^<><><<<>>^^^>vv<>>^><>><v<><^>v>>v><>>>v^^>^><<<^<>^^^<<<<>vv<^vv<>>^><^><>v^>^<v>>^>^^>vv<>^v<^^<><<>^^<>^>^^^^^^<^^<<<<>^^>^v^^^>vvvv<^v^<^<^^<^v>^^^^>^<>v>><<^<><^^>v>v^<<>^>><^<^><<^v^^>>>^><>><<<>^<<><^>^>>v^^><^<^v^<>^vv<^<^<^^v>vv>^>>v^<^<^<>^<>^vv^^vv>v>><^>>><<^^^vv^<^^<^>^v>^<>^v><>^v^><>>^<vv<>vv<<<<^^vv<^>^^>v^vv>^<<^v<^vv>v^^^^v^^v^vvvv>^><<^^>v^<^v<>>^^<>^v^<<<^>><>^vv^v><<>v<v>>>v^^v^<^>v<^vvv<^<<<><>>^<<<>v^vv^<^^^^>>>v^v<^vvvv>^^^^^>vv^^v>vvvvv^<<^v^v^<<<>^>^><^>>v^v^<><^<^vv>vv>v<<<<<<>>>v^>^^>>^v<>vv^<><>^^^>v>v><<<<^<<><>>^v>>>v^v^^v<>><><> \ No newline at end of file diff --git a/Inputs/Day16.txt b/Inputs/Day16.txt deleted file mode 100644 index db220fa..0000000 --- a/Inputs/Day16.txt +++ /dev/null @@ -1,141 +0,0 @@ -############################################################################################################################################# -#.........#...........#.................#.......#.............#.....#.#...#...........#.....#.....#...#.......#.....#...........#.......#..E# -#.#######.#.#.#######.###.#########.###.#######.#.#.#.###.#.#.###.#.#.#.#.#.#####.#.###.#.#.#.#.#.#.#.#.#.#.#.#.###.#.#####.###.#.#####.###.# -#.#.....#.#.#.#.....#...............#.#.#.....#...#...#.#.#.......#...#.#.#.....#.#.#...#.....#.#.#.#...#.#.....#.#.........................# -#.#.###.#.#.#.###.#######.###########.#.#.###.#.#######.#.#.#########.#.#.#.#####.###.#####.###.#.#.#####.#######.#.#.#.#.#.#.#.###.#.#.#.### -#...#.#.#...#...#...#.....#...........#.#...#.#.#.......#.#.........#.#.#.#.#.....#...#.........#.#.....#.......#.#.#.#.....#.......#...#...# -#.#.#.#.#######.###.#.###.#.#########.#.###.#.#.#####.#.#.#.###.###.###.#.#.#.#.#.#.###.###.#####.#.#######.###.#.#.#####.#.#########.###.#.# -#.#...#.......#...#...#...#...#.#.....#...#.#.#.....#.#.#...#...#...#...#...#...#.#.#...#.........#.#.....#.#...#.#...#...#...#.......#.....# -#.#.#.#######.###.#####.#.###.#.#.#######.#.#.#####.###.###.#.###.###.#########.###.#.###.#.#######.#.###.###.###.###.#.#.#.#.#######.#.#.### -#.#.#.......#.#.#.#...#.#.......#.......#.....#...#...#...#...#.#.....#...#.....#...#.#.....#...#...#...#...........#.#.#.#.#.#.....#...#...# -#.#.###.#####.#.#.#.#.#.#.#########.###.#####.###.###.#.#.#####.#######.###.#####.###.#####.#.#.#######.#.#.#####.###.#.#.#.#.#.###.###.#.#.# -#...#.#.........#...#.#...........#...#.....#...#...#...#.#.........#.....#.#.....#.#.....#.#.#.......#.#...#...#.......#.#.#...#.#.#.....#.# -#.#.#.###############.#.#.#.#####.#####.###.###.#.#.#####.#######.#.#.###.#.#.#####.#####.#.#.#######.#.###.#.#.###.#####.#.#.###.#.#.#.#.#.# -#.#...#.....#.#...#...#.#...#...#.....#...............................#...#.............#...#...#.................#.#...#...#.....#.....#...# -#.#.#.###.#.#.#.#.#.#####.###.#.#####.#.#.#.###.###.#######.#.#####.###.#.#########.#####.#.###.#####.###.###.###.#.#.#.#.#.###########.#.#.# -#.#.#...#.#.....#...#.....#...#.#...#.#...#.#...#...#.......#.#...#.....#...#.............#...#.....#.#...#...#...#.#.....#.......#.......#.# -#.#.###.#.###.#.#####.#####.###.#.###.#####.#.###.#.#.#######.#.#.###.#######.#############.#.#.###.#.#.#.#.###.#.###.###.#.#####.#.###.##### -#...#.#...#...#...#...#.....#...#.#...#...#.#.#...#.#.#.......#.#.#...#.......#.....#.........#...#.#...#.#.#.#.#.#...#.#.........#...#.#...# -#.###.#####.#####.#.#######.#.#.#.#.###.#.#.#.###.###.#.#####.#.###.#.#.#######.###.#.###########.#.#######.#.#.#.#.###.#.#####.#.###.#.#.#.# -#...#.......#...#.........#.#.....#.....#.#.#.#...#...#.#...#.#.....#...#.....#.#...#.#...#.....#.#.......#.#.#.#.#.....#.#.....#.#...#...#.# -#.#.#.#######.###########.#.#####.#######.#.#.#.###.#####.#.#.#######.#.#.#.###.#.#.#.#.#.#.###.#.#.#####.#.#.#.#######.#.#.###.#.#.###.#.#.# -#.#...........#...#.....#.#...#.......#...#...#...#.#.....#...#.......#...#.....#.#.#.....#.#.#...#...#...#...........#.#...#...#.#.......#.# -#.###########.#.#.###.###.###.#########.#.#.###.#.#.#.###.#####.#######.#########.#####.#.#.#.#######.#.###.#####.###.#.#####.#.#.#.###.#.#.# -#.......#.....#.#.............#.........#.#.#...#.#.#...#.#...#.....#.#.#...#...#.......#.#...#.....#.#.....#...#...#.....#...#...#.........# -#.#####.#######.###.#.#######.#.#########.#.#.###.#.###.#.#.#.#.###.#.#.#.###.#.###.#.#.#.###.###.#.#.#######.#.#######.#.#.###.#######.#.#.# -#...#.#...#.....#...#.....#.#.#...#...#...#.....#.......#.#.#.#...#.#...#.#...#...#.#...#...#.....#.......#...#.......#.....#.#.#.......#.#.# -###.#.###.#.#####.#####.#.#.#.###.#.#.#.#######.#.#########.#.#.###.#.###.#.#####.###.#####.#############.#.#######.#.#####.#.#.#######.#.#.# -#...#.......#...#...#...#.#.....#...#.#.....#...#.#.........#.#.#...#.#...#.#.........#.....#...........#.#.#.#.............#.#.....#.....#.# -#.#.#####.#.###.###.#.###.#######.#.#.###.#.#.###.#.###.#####.#.#.###.###.#.###########.#####.#########.###.#.#.#############.#.###.#.#.#.#.# -#.#.....#.........#...#.#.......#.#.#...#.#.#.#...#.....#.....#.#...#.....#...#.........#.....#.......#.....#...............#...#.#.#.....#.# -#.#.###.#.###.#########.#######.#.#.###.###.#.###.#####.#.#########.###.#.###.#.###########.###.#.#######.#.#####.#.#.#####.#.#.#.#.#.#.#.#.# -#...#...#...#.#...............#.#...#.#.#...#...#.....#.#.#.......#.#.......#.#...#.........#...#.#.......#.......#.#.#.#...#.#...#.#.#...#.# -#####.###.#.###.#########.###.#.###.#.#.#.#####.#######.#.#.#####.#.#######.#.###.#####.#####.#####.#############.###.#.#.###.#.###.###.#.#.# -#.....#...#.....#...#...#...#.#.#...#.#.#...............#...#...#.#.....#...#...#.........#...#.....#.......#.........#.#...#.........#...#.# -#.#####.#.#######.#.###.###.#.#.#.###.#.#####.###############.###.#.###.###.#.#.#####.#.#.#.#.#.#####.#.#.#.#.###.#.###.###.###.#####.###.### -#...#.#.......#...#.....#...#.#.#.#...#.#.............#.......#...#...#...#.#.#.#.#...#.#.#.#.#.#.....#...#...#...#.....#.#.................# -###.#.###.###.#.#######.#.#.###.#.#.###.#.#####.#######.#.#####.###.###.#.#.#.#.#.#.###.#.#.#.#.###.#####.#####.#######.#.#########.###.###.# -#...#.#.....#.#.#.......#.#.#...#...#...#.#.....#.......#...#...#.....#.#.#.#.....#.....#.#...#...#.....#...#...#...#...#...#.....#.#.......# -#.###.#.#.#.#.#.#.#######.#.#.###.###.###.#.#####.#####.###.#.###.###.###.###.###.###.###.#.#.###.###.#####.#.###.#.#.###.#.#.#.###.######### -#.........#.#...#.#.....#.#.#.#...#...#...#.#.....#.....#.#...#.#...#.....#...#.....#.....#.#...#...#.#.....#...#.#.#.#...#.#.#...#...#.....# -#.#.#.#.#.#######.###.###.###.#####.###.#####.#####.#.#.#.#####.#.#.#######.###############.#.#.###.###.#######.#.#.#.#.###.#.###.###.#.###.# -#.#.#...#.#.....#...#.#...#...#.....#.......#.....#...#.#.........#...#.................#...#.#...#...#.#...#.....#.#.#.#.#.#.#...#.#...#...# -#.#.#####.#.#.#####.#.#.###.###.#####.#####.#####.#.###.#.###########.#.#####.#######.#.#####.###.###.#.#.#.#######.#.#.#.#.###.#.#.#####.#.# -#.#.....#.#.#.....#.#.#.........#...#.#...#.....#...#.#.#.........#...#.#.......#...#.#.......#.#...#.#...#.#...#...#...#.#.....#.......#.#.# -#.#####.#.#.###.###.#.#####.###.#.###.#.#######.#####.#.###########.###.###.###.#.#.#.#########.#.###.#.###.#.#.#.#######.#############.#.#.# -#...#.#.#.#.#.#.#...#.#...#.....#...#.#.......#.#.....#.#...........#.#...#.#...#.#.#...#...#.....#...#...#...#.#.#.............#...#...#...# -###.#.#.#.#.#.#.#.###.#.#.#########.#.###.###.#.#.###.#.#.#######.###.###.#.#.###.#.#.#.#.#.###.###.#########.#.###.#.#########.#.#.#.#####.# -#.....#.#.#.#.#.#.....#.#...#.....#.#.#...#...#.....#.#...#.......#.........#.....#...#.#.#...#.#...#.......#.#.....#.#.......#...#.#.....#.# -#.#####.#.#.#.#.#####.#.###.#.###.#.#.#.###.#########.#####.#####.#.###############.###.#.###.###.###.#####.#.#######.###.#########.#####.#.# -#.#.....#.#...#.......#...#.#.#...........#.#...........#...#.#...#.#.#.......#...#.#...#.#.#.....#.....#.#.#.#...#...#...#.........#.....#.# -#.#.#####.###.###########.#.#.#######.###.###.#.#########.###.#.###.#.#.#####.#.#.#.#.###.#.###########.#.#.#.#.#.#.###.#.#.#######.#.#####.# -#.#...#.....#...#.........#.#.......#.....#...#.#.........#...#.......#.#...#.#.#...#.....#.........#...#...#.#.#...#...#.#.#.....#.#.#...#.# -#.###.#####.#.###.#########.###.###.#####.#.###.#.#########.#.#######.#.#.###.#####.#.#.#.#####.###.#.###.#####.#####.#.###.#.###.###.###.#.# -#...#.....#.......#.......#.#.....#.....#.#.#...#...#.......#.........#.#.....#...#.#.#.....#...#...#...#.#.....#...#.#...#.#.#.#.........#.# -#.#####.#.#.#.#.###.#####.#.#.###.###.###.#.#######.#.#.#######.#####.#.#.#####.#.#.#.#####.#.###.###.#.#.###.###.###.###.#.#.#.###########.# -#.#...#.#.#.#.#...#.#.....#.#.#.#...#.....#.......#.#...........#.....#.#.#.....#.#.#...#.#...#.#...#.#.#.....#.....#.#...#.#.#...#...#...#.# -###.#.###.#.#.###.#.#.#####.#.#.###.#.###########.#.#######.#.###.###.#.#.#.#####.###.#.#.#####.###.###.###.#####.#.#.#.#.#.#.#.###.#.#.#.#.# -#...#.....#.#...#...#...#.#...#.....#.........#.#.#.........#.#...#.#.#.#...#...#...#.#...#.....#.#...#.#.......#.#.#...#...#.......#.#.#.#.# -#.#########.###.###.###.#.#######.#.#########.#.#.###.#.#####.###.#.#.#.#####.#####.#.###.#.#.#.#.###.#.#####.#.###.###.###.#.#.#.###.#.#.#.# -#.....#.......#.#.....#...#.......#...#...#.....#...#.#.#...#...#.#.........#...#.....#...#.#.#.....#.#.#.....#...#.....#.......#.#.....#...# -#####.#.###.###.#.###.#.#.###.###.###.#.#.#.#####.#.#.#.###.###.#.#######.#.#.#.#.#########.#.#######.#.#.#######.#######.#######.#########.# -#.....#.#.#...#.#...#.........#.....#.#.#.#.#...#.#.....#...#.....#.....#.#...#.#...#...#...#.........#.#.#.....#.#.......#.#...#.#...#...#.# -#.#####.#.###.#.#.#.###########.#####.#.#.#.#.#.#####.###.###.#####.###.#.###.#.#.###.#.#.#####.#######.#.#.#.#.#.#.#.#####.#.#.#.#.#.#.#.#.# -#...#.......#.#.#.#.......#.....#.....#.#...#.#.#.....#.......#...#.....#...#.#...#...#.....#.........#...#.#.#.#...#.......#.#...#.#...#.#.# -#.#.#####.###.#.#######.###.###.#.###########.#.#.###.#.#####.#.#.###.#.###.#.#####.###.###.#.#.#####.#.###.#.#.#######.###.#.#####.#####.### -#.#...#.#.#...#...#...#...#.......#...........#.....#.#.#...#.#.#.....#.#...#.#.......#...#.#.#...#...#...#.#.#...#...#...#.................# -#.###.#.#.#.#####.#.#.###.###.#.###.#####.###########.###.#.###.#######.#.#.###.#########.#.###.#.#######.#.#.###.#.#.#####.###########.###.# -#.#...#...#.....#.#.#.#.....#.#.#...#.....#.....#...#...#.#.....#.....#...#.#...#...#.........#.#.#.....#.#.#...#.#.#.......#...........#...# -#.#.#.#########.#.#.#.#.###.#.#.#.#####.###.###.#.#.###.#.#####.#.###.#.#.#.#.###.#.#.#######.#.#.#.###.#.#.###.#.#.###.###.#####.#.#####.#.# -#.#.#.#.......#.....#...#.#.#.#.........#...#.#...#.....#...#...#...#...#.#.#...#.#.#.........#.#.....#.#.#.#...#.#.......#.......#.#.....#.# -#.#.#.#.#####.###########.#.#.#########.#.###.#########.#.#.#.#.#.#.#.#.#.#####.###.#######.###########.#.###.###.#######.#########.#.#####.# -#.#.......#...#.........#...#...#.#...#.#...#.#...........#...#.#.#.#.#.#.......#.......#...............#.....#...#.....#.#.............#...# -#####.###.#.#.#.#######.#.###.#.#.#.#.#####.#.#.###.#######.#.#.###.###.#.#######.#####.###.#.###.#####.#######.###.###.#.#####.#######.##### -#.....#.....#.#.....#...#.....#.#.#.#.......#...#.......#.....#...#.............#.....#.....#...#.#...#.#.....#...#...#.#.#...#.#...........# -#.###.#.#.#########.#.#######.#.#.#.#############.#####.#.###.###.#############.#.###.#######.#.#.#.#.#.#.###.###.###.#.#.#.#.###.#.#.#.#.#.# -#.#.#.#.............#.......#.#...#...............#...#...#.....#.#.........#...#...#.......#.#.#...#.....#.....#...#.#...#.#...#.#.#...#.#.# -#.#.#.###.#################.#.###.###.#.#############.#####.###.#.#.#######.#.#############.#.#.###############.###.#.#####.###.#.#.###.#.#.# -#.#...#.....................#...#...#.#.#.....#.......#.....#.#.#...#.....#.#.#.....#.......#.#...#...........#...#.#...#...#.#.#.#...#...#.# -#.#.#.#.#.#######.###############.###.#.###.#.#####.#.#.#####.#.#####.#.###.#.###.#.#.#######.###.#.#########.#.###.#.#.#.###.#.#.###.#.###.# -#.#.....#...#...#.#.......#.......#...#.#...#.#.....#.#.#...#...#...........#...#.#...#.......#...#.#.......#.#...#.#.#.#...#...#.#.#.......# -#.###.#.#.#.###.#.#.#####.#.#######.###.#.###.#.#####.#.#.#.#####.#############.#.#####.###.###.#.#.###.###.#.#.#.#.###.#.#.#.###.#.###.###.# -#.#...#.#.#.......#...#.#...#.....#.....#...#...#...#.#...#.......#.......#...#.#.#...#.#...#.#.#.#...#...#.#...#...#.....#.#.....#.#.......# -#.#.#.###.#.#.###.###.#.#####.###.#########.#####.###.#############.#####.###.#.#.#.#.#.#.#.#.#.#.###.###.#.#########.#.#.#.#######.#.#.###.# -#...#...#...#...#...#.#...#.....#.#.......#.....#.....#.....#.....#...#.#.....#.#...#.#.#.#.#.#.#...#.#...#.........#.#...#.#.....#...#.....# -#.###.#.###.###.#####.###.#.###.#.#.###.#.#.###.#.#######.#.#.#.###.#.#.###.###.#.###.#.#.#.#.#.#####.#####.#####.#.#.#.###.#.#.###.###.##### -#.#...#.....#...#.....#...#.#.#.#.#.#...#.#...#.#.#.......#.#.#.......#.....#...#.#.#.#.#.#...#.#...#.....#.....#.#.#.#.#...#.#.....#.......# -###.#.#######.#.#.#####.###.#.#.###.#.###.#####.#.#####.#####.#######.#######.###.#.#.#.#.###.#.#.#.#####.###.###.#.#.#.###.#.#######.#.###.# -#...#...#.....#.#.....#.#.....#.....#.#.........#...#...#.....#.....#.#.....#.#.....#.....#...#...#.....#...#.#.......#...#.....#.....#...#.# -#.###.#.#.#####.#####.#.#.###.#######.#.###########.#.###.#####.#.###.#.###.#.#.#################.###.#.###.#.#.#####.###.#####.#.#####.#.#.# -#.#.......#.#.......#...........#.#...#...#.......#.#...#.......#.....#.#.#...#.#.#.............#.#.#.#.#.#.#.#...#.#.#.#...#.#.#.....#...#.# -#.###.#####.#.#####.#.#########.#.#.###.#.#.#######.###.#.#.#####.#####.#.#####.#.#.###.#######.#.#.#.#.#.#.#.###.#.#.#.###.#.#.#####.#.###.# -#.#...#...#...#.....#...#...#.....#.....#.#...#.....#...#...#.....#.....#.....#.#.#...#.....#...#...#.#...#.#.#...#.......#.#.#...#...#...#.# -#.#.#.#.###.###.#.#.###.#.#.#########.###.###.#.#####.###.###.#.###.#####.#####.#.###.#.#.#.#.#######.###.#.###.###.#######.#.###.###.###.#.# -#...#.#.....#.#.#.#.#.#...#.....#...#.#.#...#...#.....#...#...#.....#.#.........#...#.#.#.#.#.....#...#.#.#.....#...#.....#.#...#...#.#...#.# -#####.#.#####.#.#.#.#.#####.###.#.#.#.#.###.#.###.#####.###.###.#####.#.#########.#.#.#.#.#.#####.#.###.#.#######.###.###.#.#.#####.#.#.###.# -#.....#.#.....#.#.#.......#...#.#.#.#...#...#.....#...#...#.....#.#...#.#.........#.#.#.#.#...#.#.#...#.........#...#.#.....#.#.....#.#...#.# -#.#.###.#.#####.#.#####.###.#.#.#.#.###.#.#.#######.#.###.#######.#.#.#.#.#.#######.#.#.#.###.#.#.###.#############.#.#######.#.#######.#.### -#.....#...#.....#.#.....#...#...#.#.#.....#.........#.....#...#.....#.#.#.#.#...#...#.#.#.#.#.#.#.#...#.............#.....#.......#...#.#...# -#.#.#.#####.#####.#######.#######.#.#.###.###.#############.#.#.#####.#.#.###.#.#.###.###.#.#.#.#.#.#.#.###############.#.#######.#.#.###.#.# -#...#.#.....#.#...#.......#.......#...#.#.#...#.#...#.......#.#.#...#...#.#...#.#...#...#.......#...#.#...#...........#.#...#...#...#...#.#.# -###.#.#.#####.#.###.#######.###.#######.#.#.###.#.#.#.#.#####.#.###.#####.#.###.#######.#.#######.#######.#.#########.###.#.#.#.#######.###.# -#.....#...#...#.#...#.....#.#.#.....#.....#.#.....#...#.#.....#...........#.#.#...#.....#.#.......#.......#...#.....#.....#...........#.....# -#.#.#####.###.#.#.###.###.#.#.#####.#.#####.#.#########.#.#########.#.#.###.#.#.#.#.#.#.#.#.#######.#########.#####.###.###.#####.#.#.#####.# -#.#.....#.....#.#.#...#.#.#...#.#...#.#.....#.#.........#...#.........#.#...#...#...#...#...#...#...#...#...#...#.....#...#.#...#.#.#.....#.# -#.#.###.#####.#.#.#.###.#.###.#.#.#.###.#####.#.#.#.#######.###########.#.#####.###.#.#######.#.#.###.#.#.#.###.#.###.###.#.#.#.#.#.###.###.# -#...#.............#...#...#...#...#.#...#.....#.#...#.....#.......#.....#.#.......#.#.......#.#.#.#...#.#.#...#.#...#.#...#.#.#...#...#.....# -#.#.#.#####.#.#######.#.#####.#.#.#.#.#########.#######.#.#######.#.###.#.###.#.###.#.#####.#.#.#.#.###.#.#.###.#.#.#.#.###.#.#############.# -#...#.#.....#...#.....#.....#...#.#.#.....#.....#.......#.#.....#.#.#...#...#.#.#...#.#...#...#...#.#.....#.#...#...#.#...#.#...#...#.....#.# -#.#.#.#.#######.#.#########.#####.#.#####.#.#.###.###.#####.###.#.#.#.#.###.#.#.#.###.#.#.#########.###.###.#.###.#.#####.#####.#.#.#.###.#.# -#.#...#.#.....#.#.......#.#.#.....#.#.......#.#.......#.....#.....#.#.#.#...#.#.#.#...#.#.#.......#.......#.#.#...#.......#.....#.#...#...#.# -#.#.#.###.#.#.#.#######.#.#.#.#.#####.#.#####.#.#.###.#.#####.###.#.#.#.#.###.###.#.#####.#.#.###.###.#.#.#.#.#.###########.#####.#####.##### -#.#...#...#.#.#.........#.....#.#.....#.........#...#.#.#...#...#.#.#.#...#...#...#.....#...#.#...#...#.#...#.#.#...........................# -###.#.#.###.#########.#.#######.#.#################.###.#.#####.#.#.#.#####.###.#######.#####.#.###.#.#.#.###.#.#######.#.#################.# -#.....#...#.......#...#.........#.#.#.............#.....#.....#.....#.#...#.....#.#.....#.........#.#.#.#.....#.....#...#.#...............#.# -#.#.#.###.#######.#.#####.###.###.#.#.###.#.###############.#.#######.#.#.#####.#.#.#####.#######.#.###.###########.#.#.###.#############.#.# -#.........#.....#.#.#...#...#.#.#.#.#.#...#.#...........#...#.........#.#.....#...#.....#.#.....#.#...#.#.#.......#.#.#...#...#...#.....#...# -###.#.###.#.###.#.#.#.#.#.#.#.#.#.#.#.#.#####.###.#####.#.#####.#######.#####.#########.#.#.#.#.#.###.#.#.#.###.#.#.#.###.###.###.#.###.###.# -#...........#.#.#...#.#.#.#.#...#.#...#.....#.#...#...#.#.#.....#...........#.............#.#.........#.#.#...#.#.#...#.#.....#...#.#.#...#.# -#.###.#.#.###.#.#.#.#.#.###.#.###.#.#######.#.#.###.#.#.#.#.#####.#########.#####.#########.#########.#.#.###.#.#######.#######.###.#.###.#.# -#.#.......#.....#...#.#.....#.#...#...#...#...#...#.#.#...#...#...#...#...#.#...#.#.....#...#.....#...#.#.#...#.......#...#.....#...#.#...#.# -#.#.#.#.#.#.#########.#######.#.#####.#.#.#######.#.#.###.#####.###.#.#.#.###.#.###.###.#.###.###.#####.#.#.#######.#.#.#.#.###.#.###.#.###.# -#.#.....#...#.........#.....#.#...#.#...#.......#.#.#.#...#...#.#...#...#.#.........#...#...#...#.#.....#.#...#...#.#.#.#.#.#...#.....#.....# -#.#####.#.###.###.#####.###.#.###.#.###.#.#######.#.#.#####.#.#.#.#######.#.#.#######.#####.###.#.#.###.#.###.#.#.#.#.###.#.#.###.###.####### -#.#...#...#.....#.#.#.....#.#...#.#.....#.......#...#.#.....#.#.#...#.......#.......#...#.....#.#...#.........#.#.#.#...#.#.#.....#.....#...# -#.###.#.#.#.#####.#.#.#####.###.#.#.#####.#.###.#####.#.#####.#.###.#####.###.#####.###.#######.#####.###.#####.#.#.###.#.#.#######.###.###.# -#.....#.#...#.....#...#...#.....#.#.....#.#.............#...#.....#.#...#.#...#...#...#.....#...#...#.#...#.....#.#...#...#.#.....#.#.#.#...# -#####.#.#.###.#####.###.#.#.#####.#####.###.###.#####.###.#########.#.#.#.#.#.###.#.#######.#.###.#.#.#.#.###.###.#.#.###.#.#.#.#.#.#.#.#.#.# -#.#...........#.....#...#.#.#...#.#...#.#...#.........................#.#.........#.......#.#...#.#.#...#.#...#.....#.#...#.#.#.#...#.#.#.#.# -#.#.#######.#.#.#####.###.#.#.#.#.#.#.#.#.#.#.###.#.#####.#.#########.#.#.#############.#.#.###.#.#.#####.#.#.#####.#.#.###.###.#####.#.#.### -#.......................#.#...#.#...#.#...#.......#...#...#.........#.#.#.....#...#...#.#.#.....#.#...#.#.#...#.......#...#.....#...#...#...# -#.#####.#####.#########.#.###.#.#####.###.#.#.#######.#####.#######.#.#.#.###.#.#.#.#.#.#.#.#####.###.#.#.###.#.###.#####.#######.#.#.###.#.# -#.#.....#...#.#.......#.#...#.......#.#...#.#...#...#.............#...#...#.#...#...#.#.#...#...#...................#.....#.......#.#.#...#.# -###.#.###.#.#.#.#####.#.###.#####.###.#.###.#.#.#.#.#####.#######.#######.#.#########.#.###.#.#.#.#.#####.#.#######.###.###.#####.###.#.###.# -#...#.....#.#.#...#...#.#.#.#...#.#...#...#...#.#.#.....#.#...............#.........#.#...#...#...#.....#.#.......#.......#.#...#.....#.#...# -#.#########.#.###.#.###.#.#.###.#.#.#####.###.#.#.###.###.#.#############.#######.###.###.#############.#.#.#.###.#.###.#.#.#.#.#######.#.### -#.....#.........#.#...#...................#.....#...#...#.#...#.........#.......#...#.#...#.....#...#...#.#.#.#.#.......#...#.#.#...#...#...# -#.###.#.#########.###.###.###.#.#####.#.#.#.#.#####.###.#.#####.#######.#.#####.###.#.#.###.###.###.#.###.###.#.###.###.#####.###.#.#.#####.# -#...#.#.....#.....#...#...#...#...#...#...#...#.#...#.#...#.....#.....#...#...#.....#.#.......................#.....#...#.........#.........# -#.#.#.#######.#####.###.###.#######.#########.#.#.###.#####.#####.#######.#.#.#######.#######.###.#.#####.#.###.###.#.#.###################.# -#S..#.............#.......#...................#.............#...............#.........#...........#.........#...............................# -############################################################################################################################################# \ No newline at end of file diff --git a/Inputs/Day17.txt b/Inputs/Day17.txt deleted file mode 100644 index 31bb2d3..0000000 --- a/Inputs/Day17.txt +++ /dev/null @@ -1,5 +0,0 @@ -Register A: 44348299 -Register B: 0 -Register C: 0 - -Program: 2,4,1,5,7,5,1,6,0,3,4,2,5,5,3,0 \ No newline at end of file diff --git a/Inputs/Day18.txt b/Inputs/Day18.txt deleted file mode 100644 index 167cc28..0000000 --- a/Inputs/Day18.txt +++ /dev/null @@ -1,3450 +0,0 @@ -26,43 -42,61 -25,43 -7,41 -29,40 -5,21 -21,37 -10,7 -57,55 -5,29 -61,44 -2,15 -26,25 -2,27 -1,49 -17,5 -5,38 -25,41 -3,46 -68,43 -17,13 -25,25 -30,43 -69,49 -57,57 -55,64 -9,20 -23,41 -43,62 -53,54 -1,39 -58,63 -35,57 -21,20 -41,53 -17,1 -29,42 -67,40 -63,41 -13,12 -59,55 -19,41 -3,24 -14,19 -61,48 -53,70 -9,25 -62,67 -43,57 -5,43 -4,45 -23,27 -15,49 -13,18 -20,35 -1,51 -3,62 -16,39 -69,46 -12,29 -33,27 -41,65 -5,48 -24,25 -17,17 -7,23 -60,67 -33,59 -25,37 -64,55 -27,45 -15,7 -47,61 -44,57 -12,1 -13,35 -65,62 -31,31 -43,64 -7,25 -8,51 -45,61 -5,34 -15,25 -34,37 -63,38 -63,46 -5,26 -2,51 -1,29 -31,27 -21,23 -7,8 -31,38 -45,68 -3,18 -27,29 -7,63 -11,12 -17,15 -43,53 -59,65 -17,25 -10,15 -3,31 -12,37 -39,62 -33,69 -69,61 -7,1 -13,33 -19,34 -17,26 -37,66 -9,4 -3,60 -17,7 -50,57 -61,50 -19,22 -8,23 -67,49 -5,45 -45,69 -3,17 -19,38 -25,29 -10,17 -13,51 -9,7 -39,57 -58,61 -47,67 -68,57 -57,59 -5,63 -17,42 -22,47 -67,68 -69,41 -9,53 -22,35 -69,55 -33,68 -63,39 -61,47 -65,41 -61,40 -22,33 -52,57 -5,55 -45,58 -3,32 -59,53 -23,43 -12,39 -1,30 -22,15 -69,67 -51,59 -21,46 -15,44 -5,39 -13,4 -3,54 -56,65 -1,33 -43,61 -25,33 -29,39 -19,39 -70,63 -45,57 -7,15 -61,53 -65,53 -11,29 -9,36 -68,45 -13,1 -17,27 -55,60 -3,35 -5,31 -15,24 -25,47 -13,14 -9,39 -1,44 -7,62 -15,12 -59,37 -2,5 -67,65 -32,27 -17,39 -61,70 -1,27 -55,65 -42,55 -0,31 -27,27 -51,61 -5,30 -40,65 -7,39 -1,21 -39,59 -4,1 -43,70 -2,55 -28,27 -46,63 -22,25 -8,25 -2,21 -5,32 -63,49 -63,37 -23,30 -3,12 -48,59 -1,5 -41,59 -32,9 -13,17 -12,11 -13,23 -63,47 -35,59 -26,13 -23,31 -13,24 -7,4 -65,48 -4,7 -3,38 -21,35 -7,7 -50,59 -5,15 -9,42 -13,13 -10,39 -60,63 -62,63 -37,56 -8,11 -1,13 -5,28 -16,29 -57,65 -23,39 -3,15 -9,21 -43,55 -17,37 -68,61 -9,19 -17,24 -4,37 -40,51 -54,67 -7,21 -5,9 -27,39 -5,33 -36,35 -29,36 -40,63 -15,28 -16,37 -15,27 -19,10 -41,70 -27,24 -3,50 -47,59 -29,43 -57,53 -53,67 -67,63 -7,57 -19,37 -11,13 -23,29 -62,39 -25,34 -35,31 -69,57 -15,52 -37,54 -9,14 -64,61 -27,37 -7,28 -27,43 -35,28 -65,47 -5,1 -3,14 -54,65 -47,60 -7,43 -49,69 -69,52 -13,9 -56,53 -11,51 -6,61 -55,63 -23,19 -11,27 -5,47 -9,13 -28,33 -52,69 -66,51 -66,55 -70,41 -8,5 -4,35 -13,15 -13,30 -43,59 -9,9 -25,36 -14,59 -15,19 -68,39 -25,32 -12,9 -3,21 -3,37 -29,45 -51,62 -49,45 -16,21 -7,5 -66,37 -5,22 -65,61 -33,26 -26,41 -44,65 -39,53 -10,11 -4,21 -41,54 -63,67 -3,9 -32,31 -16,33 -5,23 -2,29 -9,47 -13,19 -30,39 -15,2 -11,39 -15,17 -5,40 -39,27 -58,69 -22,21 -65,65 -66,65 -69,53 -37,57 -19,42 -52,67 -61,60 -67,67 -1,53 -2,41 -52,65 -40,57 -37,59 -21,33 -59,61 -27,25 -19,2 -13,16 -23,33 -2,45 -6,57 -8,41 -39,64 -45,59 -67,59 -41,58 -57,58 -1,48 -51,67 -21,42 -49,65 -65,54 -15,34 -13,22 -19,15 -9,17 -9,30 -17,29 -62,35 -43,63 -51,69 -7,53 -13,5 -33,42 -21,39 -28,43 -5,27 -68,53 -58,59 -11,32 -57,67 -35,67 -2,33 -42,65 -27,36 -62,59 -69,54 -1,9 -17,2 -69,43 -15,3 -9,37 -9,5 -67,58 -67,38 -61,37 -55,49 -14,53 -5,19 -7,9 -1,2 -55,68 -31,43 -63,65 -1,55 -23,65 -15,35 -44,67 -1,20 -49,64 -9,8 -11,17 -18,17 -6,23 -14,43 -29,22 -63,50 -13,40 -25,35 -43,60 -27,13 -45,62 -1,22 -28,41 -35,58 -15,29 -8,13 -3,55 -3,59 -21,45 -59,64 -23,24 -37,29 -1,40 -56,61 -22,37 -65,67 -65,46 -63,61 -38,59 -7,55 -10,35 -7,17 -7,48 -53,45 -3,49 -25,26 -50,69 -42,53 -15,11 -14,9 -19,28 -9,2 -7,33 -65,66 -21,18 -63,56 -5,51 -64,65 -7,47 -7,59 -69,51 -24,43 -3,1 -19,4 -39,55 -15,37 -42,57 -7,44 -65,39 -30,29 -19,25 -47,64 -67,46 -19,32 -43,67 -60,57 -13,53 -2,57 -12,19 -65,57 -15,26 -11,5 -29,31 -1,52 -9,61 -46,55 -55,67 -53,69 -29,33 -7,2 -61,39 -29,65 -1,41 -63,53 -16,47 -17,35 -15,23 -17,31 -9,35 -61,63 -7,51 -15,39 -41,57 -66,61 -13,11 -5,3 -3,48 -33,30 -6,31 -3,47 -67,47 -27,48 -53,61 -5,50 -1,43 -23,34 -55,57 -8,33 -27,31 -69,69 -3,19 -13,7 -25,39 -7,19 -16,19 -63,55 -1,15 -59,69 -5,58 -67,35 -21,12 -19,21 -10,41 -67,37 -35,54 -35,55 -9,27 -60,53 -40,55 -61,43 -8,59 -0,15 -59,57 -3,7 -42,67 -5,59 -9,44 -47,66 -41,61 -33,31 -53,59 -14,37 -69,42 -21,31 -60,39 -29,26 -52,63 -23,23 -1,3 -18,27 -25,28 -67,43 -1,45 -36,5 -11,1 -27,30 -67,45 -1,26 -8,45 -3,10 -18,19 -3,33 -1,36 -1,11 -19,30 -14,1 -21,22 -28,31 -19,29 -3,61 -63,63 -1,31 -49,55 -27,35 -25,40 -1,10 -43,65 -4,19 -12,63 -67,48 -17,11 -57,61 -7,49 -65,43 -25,23 -14,31 -43,69 -6,41 -20,1 -58,41 -21,43 -10,23 -53,65 -22,1 -23,25 -31,39 -10,1 -41,69 -69,59 -64,35 -9,55 -3,39 -15,32 -68,49 -29,27 -3,56 -13,37 -15,36 -53,53 -9,1 -33,58 -57,63 -3,53 -45,67 -15,33 -49,57 -63,68 -29,6 -6,45 -59,59 -19,31 -5,42 -14,39 -63,43 -24,27 -54,57 -21,3 -27,33 -11,9 -23,32 -45,63 -26,29 -11,7 -66,69 -69,56 -21,25 -1,4 -14,21 -10,51 -1,17 -40,67 -5,10 -53,58 -61,42 -19,20 -31,29 -9,38 -5,14 -3,5 -29,63 -5,52 -3,57 -15,41 -2,17 -45,54 -31,19 -23,37 -67,61 -45,60 -1,1 -45,55 -21,41 -51,55 -5,37 -11,58 -3,45 -48,69 -19,33 -22,43 -47,56 -63,48 -1,37 -67,39 -5,54 -49,63 -11,6 -39,67 -69,63 -35,64 -1,47 -27,23 -63,59 -7,22 -15,13 -31,32 -31,33 -22,41 -11,4 -31,57 -49,67 -4,17 -11,28 -47,57 -18,5 -4,3 -13,21 -61,56 -3,4 -38,67 -53,63 -19,3 -27,34 -25,46 -15,21 -29,29 -25,38 -29,37 -53,60 -62,65 -5,13 -3,29 -65,58 -41,63 -12,35 -17,21 -17,40 -62,53 -50,65 -2,9 -37,30 -24,39 -66,43 -15,9 -67,69 -56,63 -64,43 -7,29 -5,5 -61,41 -7,6 -8,17 -18,31 -5,12 -61,65 -12,33 -51,65 -19,27 -64,57 -56,69 -17,6 -50,61 -65,69 -31,30 -65,45 -55,69 -26,31 -0,47 -47,65 -10,9 -0,55 -65,63 -1,19 -38,55 -20,39 -6,35 -1,35 -64,51 -9,11 -12,25 -34,57 -18,43 -5,41 -39,65 -13,31 -34,29 -1,24 -3,34 -67,53 -9,23 -27,41 -49,68 -53,43 -12,43 -11,21 -13,43 -59,67 -52,61 -56,55 -18,35 -11,31 -5,17 -60,61 -9,51 -68,59 -35,26 -5,46 -25,31 -39,61 -11,15 -3,13 -57,66 -3,41 -65,37 -3,11 -11,11 -7,11 -38,69 -7,16 -17,0 -59,50 -19,46 -8,27 -59,63 -63,57 -7,52 -27,44 -65,50 -29,35 -15,15 -65,42 -5,16 -55,59 -5,57 -65,60 -3,0 -69,65 -2,37 -9,28 -18,37 -3,51 -63,42 -7,54 -61,59 -12,21 -19,35 -15,31 -9,3 -10,21 -5,11 -11,19 -7,35 -64,39 -61,36 -3,42 -11,41 -54,51 -55,55 -49,54 -63,69 -49,59 -20,25 -47,69 -67,57 -67,64 -13,41 -11,33 -0,13 -59,46 -57,52 -39,60 -6,19 -68,63 -7,38 -61,45 -65,59 -52,53 -4,25 -7,61 -27,38 -3,3 -7,37 -18,23 -65,68 -59,68 -5,6 -3,27 -46,67 -21,40 -17,19 -61,69 -57,56 -33,29 -62,45 -6,13 -1,6 -8,19 -51,57 -46,59 -59,66 -11,35 -17,33 -67,52 -3,25 -55,58 -3,28 -45,65 -0,39 -67,55 -5,53 -69,66 -21,17 -37,58 -23,35 -20,37 -1,7 -11,37 -21,5 -3,43 -65,49 -49,61 -63,52 -59,51 -59,54 -12,41 -58,49 -65,40 -29,28 -48,57 -5,25 -35,60 -3,23 -24,45 -55,61 -57,40 -7,13 -17,43 -3,8 -21,27 -69,68 -20,9 -5,56 -15,1 -9,41 -7,10 -59,56 -16,3 -10,31 -6,3 -33,66 -32,35 -7,31 -61,51 -57,69 -33,55 -10,25 -9,59 -11,16 -25,27 -17,41 -57,41 -1,23 -39,63 -6,25 -17,23 -5,64 -41,68 -69,70 -11,3 -11,26 -7,27 -7,50 -4,59 -18,11 -61,67 -61,61 -19,23 -51,63 -7,36 -67,41 -5,7 -1,25 -15,22 -19,24 -33,25 -63,62 -9,43 -44,53 -61,58 -11,23 -48,63 -29,41 -70,49 -22,27 -13,34 -13,8 -25,22 -30,33 -69,47 -21,6 -44,13 -15,10 -69,26 -15,47 -45,52 -59,20 -21,53 -42,37 -67,25 -10,67 -47,40 -5,68 -34,11 -54,11 -51,31 -69,5 -41,51 -45,36 -51,47 -51,46 -62,19 -53,10 -55,18 -38,35 -38,7 -55,27 -66,11 -23,48 -47,3 -39,31 -17,47 -33,1 -60,3 -42,35 -29,11 -53,48 -69,21 -35,44 -45,29 -67,27 -65,27 -10,69 -53,47 -39,15 -15,59 -47,15 -42,47 -35,61 -51,53 -31,9 -27,54 -29,3 -57,44 -44,29 -25,67 -19,1 -54,21 -19,63 -1,59 -37,48 -33,9 -57,11 -13,70 -40,25 -52,29 -37,10 -16,17 -19,57 -37,61 -37,3 -43,31 -11,47 -33,37 -47,17 -15,67 -33,53 -35,42 -49,43 -51,49 -43,24 -37,11 -45,13 -57,12 -39,5 -57,22 -30,59 -69,22 -29,1 -47,31 -21,44 -63,29 -20,49 -46,1 -37,17 -65,30 -51,36 -65,8 -47,43 -33,35 -46,11 -45,38 -22,57 -61,31 -31,5 -54,31 -31,41 -55,25 -35,69 -69,23 -30,9 -43,37 -15,50 -39,51 -31,35 -51,10 -34,63 -51,11 -57,36 -69,29 -23,67 -5,61 -22,59 -61,15 -35,4 -1,64 -61,35 -55,4 -57,3 -59,5 -56,17 -47,51 -31,14 -66,25 -48,37 -21,67 -35,27 -35,25 -9,48 -28,61 -29,59 -55,51 -44,35 -50,17 -25,3 -58,35 -18,55 -32,47 -41,23 -21,16 -63,20 -9,57 -43,8 -43,46 -38,51 -51,19 -36,19 -22,63 -57,39 -59,10 -25,9 -19,53 -27,55 -57,5 -65,29 -30,61 -63,27 -13,47 -34,45 -30,11 -48,11 -30,7 -57,35 -33,5 -27,59 -45,32 -13,50 -16,13 -61,13 -60,25 -3,67 -9,64 -1,67 -60,21 -58,15 -37,32 -59,7 -40,3 -10,55 -53,7 -28,21 -55,17 -48,53 -43,27 -55,16 -53,5 -53,23 -15,65 -39,37 -49,13 -9,45 -5,62 -51,2 -37,24 -51,43 -45,14 -63,10 -33,52 -25,55 -39,26 -43,26 -60,43 -47,13 -47,27 -45,3 -35,36 -36,69 -52,5 -49,33 -41,19 -36,41 -16,57 -17,45 -50,3 -69,20 -39,29 -41,42 -33,7 -37,7 -39,14 -53,41 -26,65 -29,53 -45,39 -19,66 -13,29 -45,53 -35,45 -53,55 -63,23 -40,15 -53,17 -46,33 -55,47 -33,20 -59,21 -41,5 -26,63 -43,20 -38,17 -37,35 -53,30 -57,51 -32,63 -67,21 -21,70 -33,41 -37,45 -54,45 -13,3 -23,58 -46,9 -11,53 -33,65 -11,66 -33,39 -33,43 -49,9 -53,18 -39,43 -67,28 -14,61 -27,49 -41,25 -50,7 -16,7 -53,25 -66,19 -47,35 -57,24 -21,59 -31,45 -44,31 -23,3 -41,7 -60,47 -48,25 -69,17 -4,69 -57,20 -3,69 -13,48 -55,20 -42,19 -47,16 -9,31 -24,3 -67,13 -19,65 -53,31 -13,28 -43,23 -11,43 -52,15 -36,61 -36,13 -59,14 -31,25 -31,61 -15,5 -41,55 -29,4 -61,33 -25,6 -65,35 -60,7 -31,69 -46,51 -35,22 -41,6 -69,7 -19,69 -69,28 -20,65 -51,38 -40,41 -23,45 -68,15 -59,6 -43,49 -23,51 -21,29 -57,29 -35,13 -51,25 -41,9 -13,63 -36,51 -57,4 -17,9 -63,25 -43,9 -13,65 -35,51 -11,67 -57,2 -32,55 -40,11 -30,45 -42,43 -11,69 -32,53 -39,9 -12,59 -65,25 -47,25 -13,54 -2,69 -47,20 -9,32 -57,23 -21,13 -59,32 -6,65 -24,69 -13,66 -31,13 -63,51 -29,5 -70,29 -61,30 -65,23 -56,1 -25,59 -13,49 -23,12 -65,7 -36,23 -64,11 -37,6 -65,19 -57,18 -18,67 -45,27 -51,22 -27,63 -54,35 -51,7 -30,15 -24,7 -31,64 -47,55 -41,12 -45,18 -38,23 -21,21 -29,61 -25,56 -31,11 -48,5 -31,36 -39,39 -49,0 -37,43 -23,7 -61,57 -36,37 -48,9 -56,37 -68,11 -20,31 -53,50 -28,59 -49,51 -65,31 -45,44 -43,40 -9,65 -22,51 -41,11 -39,20 -39,33 -25,1 -17,3 -42,31 -27,7 -27,50 -41,49 -29,7 -59,49 -45,20 -55,23 -49,37 -33,67 -37,15 -28,11 -41,27 -47,34 -49,14 -45,4 -48,23 -51,9 -55,8 -21,47 -33,34 -37,9 -62,23 -46,41 -1,69 -63,45 -63,8 -48,33 -23,13 -53,36 -67,8 -47,48 -51,20 -23,11 -8,69 -45,33 -25,15 -35,41 -15,45 -62,15 -56,9 -32,41 -35,15 -3,65 -28,65 -13,25 -15,68 -66,23 -50,51 -25,58 -39,17 -3,63 -37,21 -33,17 -29,64 -25,61 -47,42 -37,13 -66,13 -18,61 -55,13 -25,17 -19,68 -29,49 -60,17 -0,61 -25,14 -69,16 -59,31 -30,67 -49,26 -38,27 -56,47 -16,61 -39,46 -61,4 -55,44 -49,47 -69,15 -33,10 -68,31 -51,48 -24,55 -19,43 -8,65 -40,33 -53,12 -55,45 -37,39 -26,69 -37,18 -43,4 -27,21 -43,25 -45,15 -41,17 -52,23 -53,39 -51,45 -41,16 -33,19 -22,9 -59,29 -15,61 -29,48 -63,26 -39,19 -37,49 -21,61 -33,60 -8,57 -43,11 -49,39 -60,11 -19,7 -36,53 -23,53 -28,17 -55,34 -39,3 -63,24 -63,16 -16,5 -45,2 -67,7 -47,50 -1,57 -59,30 -67,22 -51,44 -57,17 -31,59 -27,19 -41,43 -61,32 -35,37 -51,56 -43,51 -47,30 -41,13 -13,59 -47,2 -63,9 -55,3 -33,54 -64,5 -59,35 -43,33 -34,21 -19,47 -37,51 -65,3 -16,69 -56,29 -59,16 -23,21 -18,13 -51,39 -54,55 -62,31 -30,1 -59,13 -64,27 -55,39 -67,9 -59,33 -32,69 -61,24 -9,46 -49,53 -63,11 -64,3 -35,2 -51,37 -17,67 -21,63 -9,15 -9,29 -31,53 -28,37 -68,3 -12,45 -42,23 -20,59 -26,51 -22,29 -45,7 -44,33 -47,21 -48,43 -55,46 -55,53 -69,0 -45,9 -31,49 -51,23 -13,55 -35,63 -27,53 -51,16 -35,29 -31,21 -25,13 -43,28 -49,27 -53,8 -10,61 -40,45 -51,27 -19,11 -61,8 -49,28 -31,67 -24,61 -59,25 -37,46 -40,35 -38,9 -17,64 -12,3 -41,2 -37,23 -31,22 -47,29 -69,1 -62,13 -21,62 -52,39 -53,34 -26,3 -41,1 -27,57 -53,29 -61,9 -42,17 -33,21 -53,21 -16,53 -57,47 -37,16 -15,63 -41,41 -63,33 -65,21 -25,63 -55,5 -23,63 -23,14 -55,9 -13,69 -29,68 -25,21 -45,23 -35,19 -47,9 -54,1 -22,3 -54,39 -55,37 -49,4 -35,17 -19,45 -27,10 -34,47 -51,17 -33,33 -34,17 -35,66 -65,1 -67,31 -58,33 -26,9 -26,47 -17,14 -44,47 -33,61 -28,51 -47,23 -44,9 -26,5 -61,27 -20,13 -25,57 -37,37 -49,46 -36,21 -16,49 -61,25 -11,64 -4,65 -52,7 -35,5 -23,60 -41,34 -11,65 -51,29 -22,49 -24,49 -67,5 -13,62 -47,33 -57,27 -17,46 -23,4 -47,11 -33,63 -9,62 -31,2 -15,16 -19,19 -41,29 -22,65 -38,41 -41,33 -68,33 -36,47 -66,5 -17,57 -66,27 -39,52 -31,51 -59,45 -59,15 -55,35 -53,28 -5,65 -33,45 -51,15 -67,36 -29,56 -64,33 -31,63 -53,4 -7,67 -26,21 -19,49 -21,15 -56,25 -27,5 -28,47 -63,28 -28,53 -23,47 -59,39 -48,27 -24,19 -51,32 -69,33 -61,49 -21,49 -33,13 -37,55 -51,24 -13,45 -65,5 -29,17 -23,64 -45,25 -44,1 -69,19 -11,60 -65,15 -19,52 -42,25 -9,67 -25,51 -15,42 -49,23 -21,9 -32,61 -45,6 -40,31 -19,9 -35,43 -68,25 -59,3 -21,55 -35,53 -45,11 -33,48 -43,3 -33,44 -33,50 -43,50 -63,7 -49,17 -69,45 -53,35 -43,15 -53,57 -28,67 -55,50 -29,47 -42,39 -23,18 -45,1 -31,37 -37,12 -33,49 -33,11 -30,57 -29,67 -43,29 -48,51 -39,50 -16,65 -47,12 -57,9 -67,18 -1,65 -53,3 -53,37 -59,41 -40,7 -45,45 -33,2 -53,46 -45,49 -61,29 -61,17 -55,41 -59,18 -50,13 -39,13 -65,16 -39,48 -51,5 -65,17 -53,9 -17,63 -39,40 -16,55 -57,19 -19,13 -53,19 -37,1 -36,63 -31,12 -26,59 -61,21 -41,10 -18,57 -21,57 -69,25 -49,5 -27,18 -48,45 -34,1 -57,25 -67,51 -32,19 -62,7 -39,4 -19,55 -45,19 -65,2 -50,53 -31,50 -25,45 -39,45 -43,21 -26,7 -23,10 -63,21 -29,57 -69,27 -35,1 -63,19 -20,51 -21,56 -52,41 -68,9 -39,44 -61,11 -30,17 -65,33 -54,5 -39,21 -69,32 -27,67 -62,3 -56,31 -25,7 -42,51 -43,35 -43,10 -39,35 -41,45 -23,49 -65,51 -30,53 -59,47 -31,55 -45,16 -53,52 -22,53 -49,49 -35,65 -17,65 -55,15 -31,17 -67,3 -30,51 -6,69 -56,11 -53,49 -69,39 -62,1 -12,49 -17,44 -33,24 -69,37 -42,13 -39,41 -65,14 -9,63 -29,46 -54,23 -61,23 -45,31 -62,5 -24,51 -64,23 -7,60 -64,17 -35,39 -31,66 -45,48 -25,66 -21,7 -41,3 -55,42 -41,67 -49,41 -31,1 -42,1 -47,18 -33,47 -27,15 -44,21 -37,65 -15,51 -65,13 -23,15 -28,5 -37,47 -33,15 -56,13 -58,11 -19,67 -11,49 -60,51 -51,41 -65,20 -49,15 -21,51 -13,46 -61,28 -5,67 -39,47 -17,59 -29,20 -47,47 -59,9 -38,3 -47,63 -27,16 -51,1 -45,51 -49,11 -32,7 -25,69 -58,7 -43,45 -29,23 -18,59 -29,62 -38,29 -35,11 -27,1 -59,19 -51,28 -65,9 -49,25 -49,20 -59,28 -11,61 -43,17 -33,6 -67,23 -44,7 -1,68 -23,5 -59,1 -55,32 -57,42 -69,10 -34,33 -31,47 -58,23 -20,17 -59,2 -52,19 -41,21 -27,17 -70,13 -61,5 -69,13 -30,25 -49,6 -27,11 -34,7 -55,11 -27,51 -25,65 -43,44 -13,61 -35,7 -47,22 -58,29 -67,33 -33,40 -50,9 -39,25 -39,18 -22,7 -47,39 -67,30 -69,3 -40,29 -29,21 -41,28 -67,19 -20,5 -65,6 -25,19 -68,23 -37,69 -41,31 -15,66 -37,53 -10,47 -15,43 -43,5 -41,15 -63,34 -57,31 -50,35 -53,24 -53,11 -49,3 -17,55 -23,17 -57,38 -70,35 -50,41 -11,25 -61,7 -57,15 -32,15 -51,50 -1,66 -29,13 -37,25 -40,37 -65,36 -51,0 -63,18 -45,21 -57,1 -63,15 -57,13 -55,7 -25,16 -20,69 -1,63 -57,37 -59,23 -35,21 -64,31 -67,11 -31,15 -63,31 -19,5 -63,3 -33,23 -63,13 -17,69 -53,1 -31,23 -49,1 -53,27 -15,55 -48,49 -37,63 -61,0 -43,14 -20,15 -35,33 -51,33 -23,9 -67,17 -29,19 -43,19 -12,67 -2,63 -24,21 -31,7 -49,29 -11,56 -9,54 -39,11 -53,33 -13,67 -53,14 -5,69 -70,7 -67,29 -37,41 -55,21 -33,4 -20,55 -42,5 -41,30 -3,66 -68,5 -25,5 -35,40 -35,14 -45,35 -41,8 -55,38 -27,56 -38,63 -45,37 -59,26 -45,28 -13,56 -49,19 -35,35 -20,61 -23,69 -53,51 -37,27 -29,9 -51,12 -55,6 -37,33 -15,57 -45,24 -25,11 -18,49 -25,53 -15,14 -11,63 -47,1 -36,27 -49,38 -51,21 -35,3 -7,45 -7,69 -27,2 -29,25 -51,3 -39,23 -35,32 -28,57 -32,57 -60,13 -41,47 -39,49 -16,59 -23,1 -63,17 -34,15 -50,31 -40,19 -27,3 -49,21 -32,23 -31,18 -13,27 -17,53 -38,37 -66,1 -45,47 -29,14 -2,59 -27,12 -11,44 -69,11 -37,19 -57,49 -38,43 -19,51 -49,7 -19,62 -20,53 -37,38 -31,0 -58,53 -26,61 -46,13 -41,35 -25,68 -35,23 -39,69 -53,2 -60,35 -11,50 -7,65 -29,8 -17,49 -63,12 -51,51 -69,35 -51,26 -65,55 -1,61 -43,39 -21,65 -54,27 -45,46 -44,41 -13,39 -27,9 -35,9 -61,55 -13,57 -33,38 -9,69 -31,4 -43,1 -21,11 -35,16 -7,3 -68,13 -22,67 -9,33 -11,45 -17,61 -58,45 -39,7 -32,45 -69,18 -7,66 -49,35 -33,57 -47,53 -43,41 -17,8 -19,59 -24,63 -36,9 -38,13 -69,2 -5,49 -27,61 -55,14 -46,7 -23,55 -33,51 -50,23 -67,34 -39,1 -35,49 -55,33 -47,45 -24,1 -11,59 -36,31 -49,31 -39,22 -57,21 -17,51 -47,19 -57,7 -43,43 -41,48 -31,65 -47,49 -69,38 -59,27 -19,8 -41,39 -23,54 -69,9 -59,17 -56,27 -28,1 -55,19 -55,43 -11,55 -37,44 -57,26 -9,68 -60,33 -47,5 -11,57 -41,37 -47,41 -9,49 -33,12 -59,43 -23,61 -26,19 -49,30 -8,55 -52,43 -55,31 -27,65 -43,47 -41,22 -49,40 -21,1 -57,45 -19,48 -18,51 -29,51 -37,67 -26,53 -61,1 -38,1 -36,1 -17,54 -46,29 -24,17 -46,25 -65,11 -51,13 -27,47 -50,43 -14,5 -23,57 -55,29 -55,1 -69,6 -21,69 -29,69 -37,5 -48,15 -19,17 -23,68 -14,69 -19,61 -27,69 -63,5 -43,7 -31,3 -46,37 -35,50 -29,24 -23,59 -67,1 -45,5 -43,38 -61,22 -57,43 -14,63 -56,49 -29,55 -61,19 -59,38 -47,7 -24,11 -51,35 -35,68 -45,17 -67,16 -58,5 -25,49 -54,41 -14,57 -45,41 -37,31 -21,19 -61,3 -53,13 -45,22 -43,13 -31,70 -59,11 -15,53 -33,3 -46,45 -47,37 -63,1 -45,43 -57,33 -34,25 -53,15 -15,69 -35,47 -49,18 -69,31 -29,15 -63,35 -67,15 -51,34 -5,35 -11,52 -60,2 -39,16 -60,19 -54,2 -52,6 -33,46 -27,68 -2,11 -28,44 -26,66 -56,14 -10,0 -53,68 -1,60 -22,38 -45,12 -70,53 -30,66 -46,70 -38,22 -53,26 -30,10 -47,4 -26,15 -60,48 -21,34 -66,22 -13,44 -14,4 -14,2 -10,18 -37,0 -38,26 -10,60 -30,40 -8,9 -42,45 -69,44 -36,59 -56,68 -14,3 -27,58 -62,24 -43,48 -0,51 -18,1 -9,70 -21,0 -51,8 -10,4 -33,56 -32,13 -22,30 -1,50 -36,54 -40,22 -32,2 -41,44 -9,10 -68,42 -52,52 -29,58 -66,36 -48,44 -22,40 -2,70 -26,10 -30,46 -60,14 -32,49 -55,48 -15,8 -60,0 -4,46 -57,34 -60,18 -48,55 -30,48 -39,0 -70,8 -20,32 -24,42 -23,8 -41,40 -59,44 -50,56 -36,18 -66,3 -4,41 -8,42 -22,13 -54,10 -43,36 -62,8 -64,36 -47,44 -14,16 -38,32 -46,4 -16,9 -66,24 -52,4 -56,30 -0,64 -4,47 -55,0 -20,34 -12,10 -24,38 -38,52 -42,26 -10,19 -17,62 -66,31 -42,2 -19,26 -31,56 -70,6 -70,57 -1,62 -50,11 -13,64 -48,31 -50,16 -18,9 -64,44 -8,52 -64,29 -52,16 -24,54 -51,66 -58,46 -52,48 -2,38 -20,64 -54,54 -11,40 -30,63 -56,28 -50,4 -55,52 -4,40 -11,0 -52,21 -35,30 -64,21 -8,0 -54,52 -20,36 -0,54 -28,60 -33,62 -67,10 -44,38 -46,12 -66,40 -16,58 -52,56 -58,28 -48,19 -28,23 -68,29 -23,22 -58,19 -52,10 -34,19 -23,2 -4,70 -24,47 -48,14 -36,25 -22,11 -34,39 -48,4 -58,14 -8,4 -50,24 -28,2 -60,55 -48,64 -31,16 -61,16 -38,46 -5,0 -32,62 -14,54 -18,2 -64,10 -20,48 -17,50 -64,14 -12,55 -17,56 -28,48 -54,3 -22,31 -64,50 -14,67 -70,33 -56,51 -27,40 -53,66 -36,38 -49,34 -15,56 -52,28 -62,51 -52,55 -41,14 -58,51 -4,0 -52,11 -37,62 -0,63 -66,12 -23,20 -56,32 -2,3 -38,61 -22,2 -48,50 -68,24 -21,28 -0,22 -60,4 -17,12 -6,1 -30,0 -20,14 -4,52 -19,64 -65,56 -27,28 -66,2 -26,4 -24,37 -32,54 -51,54 -66,45 -64,34 -2,44 -46,3 -29,12 -20,45 -68,46 -0,35 -14,15 -14,14 -23,38 -8,16 -8,60 -16,16 -46,32 -14,8 -58,32 -19,14 -70,21 -20,29 -38,39 -70,11 -47,38 -28,58 -68,36 -2,48 -34,38 -22,23 -56,67 -0,26 -30,19 -54,29 -40,32 -28,38 -36,58 -18,18 -46,69 -47,6 -44,20 -55,24 -34,30 -20,56 -26,17 -1,58 -25,42 -58,21 -34,32 -66,47 -15,0 -62,12 -23,52 -62,49 -61,18 -60,23 -30,34 -66,34 -0,58 -40,13 -44,70 -34,46 -12,15 -35,24 -12,16 -24,23 -26,40 -6,21 -29,52 -64,15 -59,52 -33,18 -70,47 -16,34 -66,68 -0,38 -1,38 -44,55 -60,5 -6,10 -58,18 -16,22 -34,48 -34,22 -31,8 -44,3 -24,13 -70,12 -20,70 -56,34 -44,18 -50,27 -14,45 -26,42 -55,12 -24,22 -40,9 -50,39 -67,66 -52,40 -12,66 -30,30 -62,20 -58,31 -20,8 -61,54 -62,33 -24,4 -42,44 -7,70 -21,50 -70,45 -30,44 -16,12 -28,45 -52,30 -0,25 -39,36 -20,46 -50,40 -10,8 -1,56 -36,2 -47,10 -22,44 -70,39 -4,18 -18,58 -50,37 -50,38 -8,12 -12,40 -41,24 -48,34 -42,36 -17,52 -2,12 -62,46 -55,10 -7,42 -18,14 -68,2 -39,6 -33,0 -63,22 -55,56 -60,42 -0,12 -46,43 -57,54 -30,54 -30,62 -64,37 -34,40 -30,52 -28,66 -36,36 -18,36 -39,32 -62,27 -28,7 -52,0 -24,36 -68,48 -1,46 -34,6 -58,36 -68,10 -44,8 -18,4 -14,18 -18,0 -6,12 -40,50 -52,54 -22,10 -21,64 -62,52 -6,14 -35,10 -40,53 -54,47 -57,6 -40,48 -40,38 -47,26 -60,38 -34,0 -32,26 -24,20 -26,44 -58,68 -54,42 -63,4 -44,17 -44,0 -39,30 -24,16 -63,6 -21,54 -63,36 -64,41 -70,4 -55,40 -12,57 -64,38 -23,46 -66,30 -38,54 -10,20 -32,32 -45,8 -2,50 -21,58 -42,69 -28,14 -70,24 -56,12 -30,35 -33,8 -60,49 -62,6 -40,12 -4,58 -59,48 -70,9 -10,6 -18,70 -6,2 -43,54 -35,0 -36,50 -50,21 -29,44 -35,20 -34,43 -46,19 -56,5 -23,0 -38,0 -44,44 -30,13 -24,28 -23,50 -20,30 -37,34 -28,34 -54,48 -70,48 -25,18 -42,33 -67,24 -50,70 -42,22 -26,50 -62,11 -37,4 -35,12 -34,53 -18,6 -30,36 -42,54 -38,5 -30,41 -46,68 -60,26 -10,10 -46,46 -18,29 -24,26 -55,26 -3,44 -10,32 -55,30 -19,12 -56,15 -65,44 -26,16 -52,47 -30,14 -22,64 -35,62 -7,18 -16,28 -57,70 -68,51 -43,2 -49,56 -62,18 -59,22 -0,70 -36,46 -20,33 -38,2 -47,36 -5,44 -35,8 -14,25 -18,66 -50,25 -24,32 -70,1 -7,12 -26,45 -12,53 -1,12 -32,18 -32,46 -30,2 -34,16 -32,1 -32,42 -43,0 -3,40 -35,56 -70,22 -29,18 -58,57 -67,42 -12,7 -38,24 -52,24 -46,53 -32,48 -32,28 -38,40 -68,16 -10,38 -40,5 -60,50 -50,0 -36,10 -68,30 -65,32 -8,2 -57,32 -30,56 -26,48 -4,36 -26,32 -34,13 -70,17 -28,8 -12,30 -37,52 -0,24 -10,30 -31,20 -46,30 -60,60 -56,62 -24,10 -66,64 -1,32 -16,32 -11,20 -23,26 -46,23 -50,32 -31,28 -57,8 -12,46 -33,32 -60,45 -18,46 -38,45 -50,63 -56,57 -45,26 -4,13 -48,60 -30,42 -34,56 -28,35 -2,8 -14,65 -41,38 -34,44 -6,4 -36,17 -64,54 -60,36 -24,29 -18,40 -28,12 -14,68 -57,0 -15,54 -56,24 -34,9 -24,44 -51,42 -24,35 -48,40 -11,18 -57,14 -3,58 -22,69 -4,42 -4,9 -48,17 -27,22 -64,60 -8,47 -52,49 -36,62 -59,24 -10,3 -44,54 -25,24 -70,16 -15,20 -43,32 -2,32 -65,24 -24,0 -20,27 -58,67 -50,64 -45,64 -68,38 -66,9 -4,43 -6,27 -30,6 -48,1 -4,27 -54,69 -26,52 -0,52 -10,52 -40,49 -64,62 -50,58 -21,66 -22,58 -16,18 -49,66 -54,9 -28,16 -44,52 -62,70 -60,65 -9,6 -11,10 -8,66 -62,42 -6,47 -12,31 -3,22 -42,16 -42,60 -16,52 -70,58 -39,8 -42,24 -36,0 -65,12 -54,66 -2,49 -62,69 -28,15 -31,58 -2,39 -4,32 -10,27 -4,20 -44,26 -8,37 -44,63 -32,37 -12,50 -39,56 -27,66 -21,30 -44,5 -52,34 -60,24 -40,36 -10,63 -58,26 -52,51 -20,44 -0,27 -0,4 -8,56 -12,6 -28,30 -42,68 -28,3 -56,22 -58,50 -41,64 -26,68 -10,45 -21,14 -36,49 -7,34 -48,66 -32,14 -50,52 -25,44 -48,6 -14,58 -2,67 -18,25 -26,26 -48,26 -69,24 -13,68 -44,27 -56,20 -65,0 -19,0 -10,65 -34,70 -46,39 -22,18 -18,53 -11,36 -20,21 -13,36 -64,48 -6,29 -40,8 -68,27 -32,51 -16,23 -18,30 -70,46 -26,0 -14,40 -58,8 -11,8 -29,30 -35,48 -40,23 -0,28 -0,40 -17,16 -15,30 -52,32 -0,56 -15,60 -14,17 -52,37 -2,58 -12,68 -27,4 -6,30 -40,39 -47,0 -32,20 -25,50 -15,48 -60,32 -20,62 -58,43 -44,66 -52,35 -26,60 -20,18 -63,44 -52,62 -0,45 -16,24 -40,40 -10,70 -20,28 -43,12 -54,34 -38,62 -42,3 -4,44 -40,66 -65,34 -12,56 -8,62 -29,70 -5,18 -36,33 -58,60 -54,56 -62,28 -10,49 -26,37 -27,46 -27,70 -56,42 -28,46 -21,2 -2,46 -66,54 -16,40 -58,34 -14,34 -55,54 -22,70 -13,32 -22,16 -46,0 -24,18 -40,68 -2,62 -66,28 -4,61 -46,56 -21,48 -66,44 -26,28 -28,40 -24,65 -32,52 -10,53 -15,58 -28,0 -16,2 -6,26 -46,14 -60,15 -56,26 -56,35 -48,52 -52,45 -14,60 -4,8 -60,16 -58,62 -44,60 -44,46 -50,33 -39,68 -28,55 -34,36 -50,36 -38,44 -0,6 -40,42 -30,20 -64,8 -28,52 -58,65 -56,23 -18,68 -38,68 -18,50 -70,65 -18,54 -16,56 -24,68 -64,64 -22,56 -20,19 -16,70 -30,24 -8,14 -68,19 -20,11 -16,63 -70,36 -18,47 -30,38 -66,33 -5,66 -48,56 -14,11 -2,28 -64,18 -2,68 -64,59 -42,46 -40,18 -2,23 -68,22 -46,64 -9,22 -32,29 -17,36 -52,8 -52,9 -21,68 -69,30 -62,54 -35,46 -38,10 -42,34 -19,16 -23,66 -56,45 -54,59 -6,53 -28,24 -46,26 -70,2 -52,66 -46,49 -20,42 -3,2 -62,55 -6,58 -0,62 -65,28 -0,48 -56,46 -54,19 -29,10 -22,19 -40,62 -61,68 -24,46 -59,12 -49,44 -18,45 -44,2 -18,24 -40,27 -20,0 -64,2 -62,66 -32,30 -6,33 -43,66 -58,24 -52,44 -31,46 -12,58 -66,59 -63,40 -4,29 -24,48 -44,36 -50,8 -16,4 -58,25 -54,60 -14,42 -4,31 -55,2 -60,1 -46,18 -26,36 -10,64 -56,33 -4,63 -60,62 -56,56 -22,66 -32,59 -44,30 -53,44 -0,49 -4,68 -55,66 -28,36 -40,16 -4,62 -10,56 -30,69 -10,29 -25,62 -43,16 -8,7 -46,44 -60,59 \ No newline at end of file diff --git a/Inputs/Day19.txt b/Inputs/Day19.txt deleted file mode 100644 index 0127906..0000000 --- a/Inputs/Day19.txt +++ /dev/null @@ -1,402 +0,0 @@ -wugw, wrrbgr, rbgr, bgbrb, wuwb, bug, wubur, uwbuwbug, wruu, rbbr, wbgrrg, uuwr, bub, brbggggr, brgguw, gwwuu, uwrbggw, wuwrrr, wbuurww, wwwuwru, gubgr, gubu, ug, ubu, gggrgr, wg, wrgbggu, uwgwubw, bgrgb, uu, gbug, gwuwgr, bgwg, rurgb, rr, ubw, wrr, rggw, ubuu, ubr, ugrr, wrbwrruw, uw, ruggrb, urwwurg, gwr, rurwb, bu, uuu, bbuwb, urbu, ugb, uruub, gwgrrw, wbbw, rwgr, wur, bwbu, bbg, wrbugw, brgr, uurrwg, guruu, uurrrbw, bwwbrguw, gbbgu, bgg, bbwwgbw, rww, uurrr, bgubwb, wwgr, gw, wrgub, wgrg, rugwbb, bgwbuguw, brg, ggbw, bgbubb, wwgu, gwgb, grur, gubw, wbruug, rg, brubbgw, uuugr, rru, brbr, rwbuuu, ubuw, rgru, rwrwgb, wub, rwbu, bwwrr, bwrg, uggbur, gwb, gbugwb, br, rbwu, urubg, uuw, rbb, rgrwu, bguuw, w, www, wurgb, rwwu, rwg, uww, gbwurubb, uuugb, rbrurw, gggbwu, rbrwrgwr, bw, uwrw, bugw, brgguugb, brubw, bbrb, bru, urgr, urwu, bwbb, bur, rwrr, wrrbu, guu, ggugwuw, rwrurb, wbur, gbu, bbb, ur, brw, wrwbb, ugbuwgug, rrugbbru, wwggbw, gwgwgur, rgw, rwwr, wrg, wugrwru, ggwr, ggr, wug, ugu, gbbw, wgww, gwwwuw, gbr, rbwwru, bbru, ruw, gbrgw, gug, bwbuwrb, uwg, rbww, bbbrb, ub, rgrbr, ubg, wugwub, bgr, ru, bwr, bwbug, rgr, wwugr, grg, rwu, wbgg, rgwu, ubugubr, buggur, wwb, rub, wugbb, uubb, uwb, wbb, uwgbw, rubrg, rwubgu, wgwbb, bubrbrww, bg, wwrggu, gr, gggr, ggb, wuuuu, bggwb, ubgrwbr, rgubwu, rwr, gbww, wgbub, ubrb, ruu, rgg, wgrwurrw, ubwggr, uubr, wrwrbrr, ruguw, bwu, guwrug, bgggw, urubr, rruruuw, gur, wrgru, wb, rgwwg, rrguu, wwwugg, rgbg, uwwgg, urr, gwu, ruwb, buwbgur, bbwugb, bubu, rwurwg, wgrb, rrw, uwgwr, ugwu, rgrurg, ww, uwgrrrgb, wrub, bgb, grr, bgwbru, wr, brrbg, rurur, wgbbbur, brwgg, bwgwbw, uuurg, rw, uuwguu, guw, bwg, bwrrwrr, ugr, rbwrg, rwb, urw, uubg, bbwrugr, bgw, brb, rb, rbr, ubbwurb, gbw, buu, wgg, wbw, ugguubw, rurbr, rrwbuur, ubwuwr, urg, wwu, wrguwb, bbgbur, grb, gww, gb, buw, bwbg, grgb, bbu, rbw, rrbu, gruwbw, uur, wwbgr, bwbwu, bgug, uwu, wubbw, rgwr, rrgrr, gwg, bbbubu, wwgrbrw, wuuubb, gbg, uwbwbg, wgwbr, ububb, ubbb, rug, gwbbrb, ubrub, urb, ggrwrgg, rrg, wbr, uub, wbrwbb, ugg, wrgb, bbwu, grurwb, uwbr, ugug, grw, gru, rwgu, wrru, rwgggu, rrr, ugwb, rrrw, brr, buwb, rbwbrg, ugw, rwuuguw, bwgggwb, bugr, wggbrr, uwgrrbub, bgbuuwug, burrrbu, wubwuu, ubwur, ubgwb, uru, brrb, wgb, bwuwgbu, wwuwwbu, bgbbg, wwru, wgr, ggg, guwuu, brbg, gbrb, ugrg, wwgur, wbbu, rwug, gbb, wugr, wuur, ubwurrwg, gwruubgu, wrrw, wubwwg, gugur, urgwu, wrbu, wbg, grwb, ugrrrrb, grbg, ggbbu, gbru, wgw, ggug, ubuub, ggu, wuwrbugb, ugrrrr, gbbubrr, rbgbb, bwwbu, uwwu, wwgbbb, gbbu, b, brwgr, wrb, rwrrw, rubwugg, bbr, wwr, wu, bbgwgbb, rbg, rwwgbbu, bgu, wubuug, ubwww, uggr, rbbbw, rbwgwrbw, bbw, bbgr, rur, ubb, uurbg, wguwb, ubbrgug, wrwr, rwwugb, uwrubb, rrgbbru, bwb, gub, ggbu, wwg, bww, ruwrwg, gbwu, wuu, gbbur, wrubru, rgb, grugwbbw, r, rwww, rbbru, wbrrb, rwgub, ubbrr, wuw, uug, rgu, rggg, bb, g, wru, urgw, ggw, ugwwbrg, grrbw, rbu, bbgugrw, grguw - -urwrggwgbrrwggwuubrrwwugbgbubwbuuugwbguggubrgwwrubub -wuwguurugggwbbruubbruwbruugwbguuwrwbrbugurbgugrggb -wrbgrwbwbgrrguwbwuugruugrwbugrwuuuuurrugrgggugwuububwrwbg -bbbrbwrrwrgrwubbwgbbrbwbruuuwuuwwubbwwgwuwgguurbg -bguuubgbwggwgurubuubgurruggbgubwrbrrgbbgugbbugruurggwr -uwbbgwbrwubrwuwwbrbubbuggbbbbrugbbrwrubwrg -rgrrgruwrrrgwwgrrrrwbuuugrgbbrgbwwruggwrwr -wgwwuuruuwrbwbuwwwwbrgurgrgrgruwbrbugbbwggg -guuuuwuwrwwrggggurwrugugbubrguwbrrwbwurbbrgwbwgu -rrrugwggwgwwuugrgrggbbuwgwwrguubbbwuugbgrugwbbwwugrwgu -urubuwwurwgurgwbggurrgrugrbwgrubbwwurbwubwgbgrgrb -bbbwgwrbbwruubwwwwwbuubrrrguwguubbbugwrwwgugrbwugbubguwgu -rurbwuwgugrrwbrgwrwwubgggbwugbbgbruwwbbwrggwbbgwgwgu -ggbgbgwruwguwbwwgruwbbrbgburrwgubuwgbwrbwwwrggwgurwbw -guwrwuwrrbwrbgugwguburrwbggurwbbrugwbgrbrwwwbwrrbbbubbw -gwrgwrggwrgbbwuwbbwuwrgrggwgrbrwrbwbwuugrbubwwwbw -bbwguwgwrggubrgbuuurwwwguubgbbuwbrgggguwbubrbwwrrrbwgu -wrbwgbgwbbbwrubwbrgrwbrguguwrggbbwguwubgwbbbguu -buwuuwurgbbuwgruwwrbbbrbrgggwwuwrubgrrbbbwwrrbwrwrbbwgu -urbrbgugbrbgwbgwrwuuwguwgbgubrgguugbwwgbbbwrrrbubgwgu -wgwbguwugbwguwburgbwuruuwwuwbgrbbruggbrwwruwwrugu -ubburrrbwuwgubrwgrrbbwwrgugwgrwbugwuwrwwuwguru -wwrbgugggrwwrbgbbbbuuurubrugrrurgbrrwrurwbwwggu -grbuggwbruggrrrbrwbwgwubgwuubwgrwwugbwggrububgrbgrg -brubwgubwrbrgruwwrbgruwrrguwuurwwrubrububrbgwrwrbgbbwrgwu -wwrburrburbwbbbrrrggrbuwgubbbgwwbgbgwrububgg -uurbgrwburugubguuwgbwruuwwubbugbgwbbggggrggrb -uuuuurguwwurrbrrgrurwuwgbrwbggbrrugwguurgg -rrgubrwbwwuwbbgrgbuuuwuuubgrubbgwrrgrbbrgwb -uugwugrrgrbgrwubbrbuwugbrbgbubuubggbbgwguwwgu -uruwwgurbrwrgwrggrgubburubrrurrwugrwbrrgbugbbwbgggwubbu -rbbgguugrwgurwgguggggwwwwurbrgwbbbgwwruwrbuugwwgrrugurbb -gruurgrrgrgubrugrubwugguugwbguugbrgbuuwrurruruggguwgwgu -bguugrgrurgwggbbbrguwugbrrrggrwbguwwwrwwurrwuuwgwggbwubwgu -gubgbwgbbruwrwwbbgubrwwrwwwgurrbububbwbwgbwuwbgbuwwgbgwgu -wwwruwgubrbbgbburrwgwbgbrwgbrguwrbbbruuuwgrrg -wuwbwurruwgbgurbgrwggwwwwrggbuuugbugrbwguggwggrr -rrrwwwuwurggbbwuggruugwubgwwgbbgrrgwburwruurwugwuu -uwwwuuugrbwbbwugrwrruuwrgurbbgbubuubgugbrurwr -bbuurbggwuwbwbuurrrgrwbgrggggbwuwgwrwgrwgwg -gbwrwwbwruguugwwbgbwbugwggbubgwugwbuwrrgbg -wurbwgubrwubrrrgurgrwuguwgrgwuwwwgwguruwwurgwgu -uuwgwuuruwuugrrrgugrubbuwgwugrbrgbgrgwwbubrubw -wwbbgguwuwurugguugwggwrurguggburgbguruwbrbbgrbgwuwbw -uwrgrbuwbrbgugrrbwuubrrbgbgrbbbguurugggurgrur -wbbubggwuurugggbubwrrgbgrubggbggugwwgbggwwubugwbgrrwgb -rgguwubwwrbwgbgggbwruwuwugrgrggbwrrwbbbugwbwg -ubwrbbbbbbrbggbbgrwwuurwwggurrrbrbuwwuwbwrgruubuwuur -bwuggrwwgwubbbwrggugwwrbwrrbubbugwggurgurwg -bruugbgwbbwwbrguwrubggwwrggwgrrrrrrrruwgu -gugbrugurbuwgrrugugbuugugrbbgwgguuuwggburgwubguuugrwggggr -rbbrrbrbbwwgruwrwuwgggrbbbgbuwurgwgwggurrgbggubrrrugwubwru -guurwbbubrbbrwgrggrbruubwgbuwgrugrggbbbbuubrwugburww -bgrubggwwgwgggwuuggwgurbgggbuwurwbwbrgrguwuruwuwu -bubwubbburbbggrwgbwurrwgbwuwrbugbwuuruwwgwubrbuburu -brbbgrrbbuuggwbrrrwggwwugugwwbwuwgrbuwrurbuuggugbrgr -bbuubwuubbgwwbbbgbbwbbbrgbuwwbbbburguwrgwgrbrbbbgrwrbbbr -ggwrbwgggrrwbruubururgwruubbgurwbuwbwrwrbrrugguubrrw -gwuguurrrwwgwwgwgwgrurgwuugrrugrbwubwrwrwwbubwwgugbbwgwgr -rbgbbggrugwwuguuwggbugbrbgwgbbwggugruubbgugwgbb -rrgubuubrbgrrubgguuwbrguwwubbubbububgbbgwgu -gbgrgrwbwrugbgbgwwwwubwuwbwbwuwbwrwbgwbugwgu -wrruguguguugwwwgwwgrrubbbgrgwgugbrbrwrrgbrubb -brgbuwgbubgrurrgwrbubbbggbwruurwbrbbuwgrwuurbgrwrbugurbwbr -uggrbrwwwbbrwububrrggrwrwubwuwwubgbuwgbrbbrg -urgbggrwwwuruugrurgugrrbbbwwgrbuwuruugbbwrrurrwwwuguw -brrgbuwwrurguggrrurbrgrgbbrbburgwwbuwuuuggguwbrwbbgb -uwggwgrgrbbgwruwbrwubrbbrrurgrbrgwbwbuwgwgwrgubuuwrbgu -brurrrruwrgurbgbwuwwwwrrrgwwuuggrwwgbbwgrbggubr -ugrwbbwgbbbruggbgrwrgrguubbruuuwwwrrbguguwugurwgbggb -ugwrubwrubuuubbbrurruwurgwgbuwbrgugwurrgwwburbubru -wwgruuubggbgwbrbwgbuwwgbrubgggrrrwrugrggwrbrrwwuw -bwrrrbwbbwrgwguuwubwruwgbbuugrugbggubwuubwwggrrwbrwrbwrgg -rbbgrrwrgbrbuwwurbgwrggrbguuburubwbwbuuwguwrbrw -ugrbubbugbrbwgbrgbuuuubrubbbrurwgurgbwuggbrurbrggugurruuwb -wubuwurubwrrbrgrguwubuwruugugbubuwrrugbwrgwgwug -uugurwrgwburwgbuuuwwwwrbgbgrubrrubbuguuuwbbuw -gubuwruubgubwbrbrwwuuurwrurbrruuurrggwurwgw -wggrbugwuuubbgrbgwuwbrwwbuuuubwurrwgubwuur -wubugrubbrwurbuwbbgwubrgrwbubwwggwrbwggrgwbgrug -rwwgwbwwbugrbgwbbbbwgwgbbuurrggwbrrgwgbbuwbrguwgu -ruwwubrrrrbwrgruwrrgwrgwbwrguruwrgwubbbuggwrugwgur -gwgubguwguwgurrruwbwgbubrwwrbggwguwbbrwwurubburwg -ugruburuurgggwgbwugbuwgugrgbgrgbwuugruwbwwggugbwrguguuwgu -ggubwuwwrbrubgrrrurrurwbugggrguggbwbgbwwuwwwgwggbggbwuuuw -rgbggruubugbrurguurggurgwwrgrbubrrrubrwgbrggurguub -rgguwwububrwgwgbguwgurbggrrwwrrbgwrgrubwugu -burwurwrrgggwrwguburubgrrwrurgrbrrrwguguuwwburgwuuuruwgu -wwuwurwrgggrurbbwgrrrrbwgrurrbggguuwuruuugruruuwburwgrwgur -gwrrwruurbwgbuggbgbbgubggwwbuubgruugrwuurgbwuwwu -bgggwrbrrrubbbbwrrrbburwgurbburwugubbggwuburbwbuwwgwwbuggwgu -rgwuwgbbrugrwguguubwguuruubbgwugbguwurgrgbgruuwrwbg -ggbrguguruuugwrgwrwbrbwwwgrwwrubbrwuuurbrwrrb -bgruwubbbwrgwwbuuwrrwwuwubgrbwwurwbbugurgbgrbgggurrrw -uurbugwuwuwwrrrwbbgwgwubwwbrguwuwrgggwuuruwrrgwbwrbbgrbb -gwurwbbwurbbwurubbwwgwwwrrrbuwrgubbwbgrbwwbugrggwu -wrwugwwugurwrwrurwurrgrugrubggwubwgbbguurbugrwubgwgww -gbggrguuwuwgrwgbrgugbwwbbwuwrbwugrguuwururbbgrbwwggu -ggruwrburubgubwurbbwbbwbwrbguubbuwwgwbbwrbbuwgrubrwg -rbwrubrbgwwrgguwwgwrbwuurubbrguwbwrrrubbrrubbruwubwggw -ubbrrubrbwrubbrwwgrbggbgurrwggwbggbrbrrbgurbrbur -bwwurruwugubwrgwrwuwbwbwugurggwbwurruggggbbbrwbggbg -wurgrugwugbuggbbrgrburgguwurgurrubguwrrgbuwwg -buwuwrrurruuruugggggbwurubbggrgwrgrwgwgwgu -bggrbbbgbubuuguwwgubgrgrburrrbwrbwrruwwbuwbwwbwgwgu -gwurbugurwbbbrbburwggruwgrwburruruwuugggggwuuwbur -rrbwgbbwrgwbwuwgwwuwbrubbwrrrubbgruggbggwgu -wrrbruuwubugggbubbubwbgbwwbrwbbgguwrwwwwgugggggwurggggu -gwgggbrrugrugbuugbbrugrbgugrwrbwbwrwbgwrubwubrwbbwguuruguw -wwgbgwruubrbugrwrbuuurbrgwrrbgugugbbrwbubbrrubgrbugw -rbbgwrgbgwgubwrguuugwgrbwurbwbbgwbrggurwugbgbbbuw -brgbgburgbrugbwrwgrrbgugbrwugbgbgwbrgwwwwgg -rgwbugburuwwrrgbgrbgbwrubrwwbgbubrubwurguwu -rugurrgrgrrwgwrbbubrbrwwwuwwwwuurwwwwubbbguwuwggwgu -ruggbwbgbbuwbugrubgugubgruggwrwwbbwgrwugwurwuuru -wbrrwgbwbrbbbgwrgubuuuwwgrgwrbwbggwwwugbwuwwr -rwbgwgwgrrbbbwgwurrrrbrugrbrgubrrwgwwwuwgwrwrbrwuwu -wuwrbgwrbbuguuurubwrrurwwgrugbrurgbrgrubrurrwwur -gugrurgugrwgwgwrwrrggrwgbwwuwurbrbbgbuwuubuggrwuuu -brwwwguwbgrubgrgugruwwrbrugggbggbggbgwrrrguug -buwuwugggwwwrgwrugubugbrugwrwuubgbbbwwbgrubb -wbrguugwrbwgwgggrggbrgurbggrugubbwrbubbwggwrbuubgrrgrwr -wrgrbwgwrbwrwgbrubwgwubbrgrguwrgrbuurgggggg -wbuuggwurbwgwguugbuuuwugrwbwwuuuggwbuuwwbbruubwwu -buwrgbruwbwwrgbbbuwrrrrrugbbrubbgwguuurbrrgrwuubgwguwbb -urbuguubguwuwrwwurwwuuwwbwguugbgbgbububwwbwrwgwugwgu -ggrgbrwrbwuurggbgbgrbugggwuubbwrgwrgbgwrrwgwgwuug -uwwubwurrwgggwbgrbbruuwruuwbgbrgbgrbrubgbwgwwubwgu -rrugububgrbwuguguwrrwwwrgwbwurggruwgbubbruwubuwgbgww -uwgwgwbuwgrbgrgugwwwrwwwbuuwguwwgwuggrwbrrruwwbuuw -bbrgwubwwuwbruuurguuwbgurwurgbgubgbrrbbwwur -bubwrgbuwbuwugbbuburbuwggrrbuwuwrbugbbgrurbwgu -ruubggwrgbubwbwugwrbubrrbrbrwgbwgbbuguwbrgurwgggbbbr -brrggwurbgrrrruugbubruwrrwggugwgwwrbggrwrbguggbbbru -buurwrwwuububbuwwuwwwbgwgubuugbrguugububbgggugbwgu -brwuguwwggwbuggurwbuwubwgurwruuwbrurgurwuwurggbbwurruugwbg -wrbrggrugurwgugwrggrguwrwugubwurwbrgrrbrbwgbrbuwuggbwbru -bbbgrbwwwurubrgwwwbwbrrbbrgrruggbwubgwuwurbugrburwgguurwgwgu -ggrrggwbrgguugbwbwugwrwuuruwubrbrbgwbbgrru -bwggwrbgrgrrwrgwrubggwwrgwwurbwrururubwuwbruwurwgwwuwu -urbrrugruuwbrwwrwurrwrrgbwgubuwwbwgggurrgugbwbrgbugwbggbwu -gwugbwrugrgbbwrrbwbwgbguwggrrurbbbbugrggbgb -brrgwrbwwbuurwuruwbwwwwrwbbbwggwgggugbguwuburr -ruuuwgbguurwgwugwggrwwrbbbwugrbururbwburwwruuwwrugrur -wrbuuwrwggwwrrbgwwrbuuggbgrugwrgugguruguwb -rbrrwwbuubgrrbuwurwwuwgwguubgrgrbubrwgugwrbgruburbrrug -gbwgugrbwbwgrwwbgbrrugwgruubwggbgruuwrwgbwrwrgbuw -rwgrbbbgwgubrbwuubrrubbrguubbuwbgrbguggwugurgbguwrrgbb -rwgbguwuuwgbrbrrgwgrrwuuuguuggbggggbwburugwurg -wgrggbbrbrrruwgguwggrgugbrrbrbwbugbwwrubbbbuwu -wrurbrubuuugugwggbugrubruwbburrrrwuuwgwuwggbbuguw -gbrrwbwruwrrbrruguuwgbwwbugrwwugwbrgubgrur -grrrgguwrrwwrwwgbbrgggwgbguwuuubbwugrrrugrggrb -uurgrwubwbrrgurrguuwrbgwrbrurwrugrgubwwgwbwgbrugbgwbuguwgu -bwbwwgbbgrwwbrbbbrgbrbwwwuruuubgrgguurbuuwgu -grggrwbwgggbrgugrwguwrubwbuwgurrruuwbgbrrgb -bbrruubuurbguubwuugrurbwrbgbwubwubwwrwguwug -uugbrugbgrbugguugwbwbgrgbuurwwbuubgrgrgbrw -wbgrbuuurbbruwwwgwrrbguugbuguggwwwuurruuurbbgwwrbgwg -ggrrbggbbgbgwrbgggrbbbrububuwrrbuwbbwrbgrgbgrwbb -bgwuguuubrwwuwgbbgbbbuurwwwrwwbrgbggrbbwguguwgu -rrbgwruwbbuubbuubrbggbugwwwgbgrwgugbubwbgbbbgbbrgug -rbwbrgbbggbburrrwguwwuwrugrgggggrwruuggrbrgubgwrwbrrubggwgu -guburwgburrgurggurgbgrwwwbuubbwwruwrubbrbbwrgwwrruubbwbu -uwbugwbuwrwurbrwrrrwrwwbrgrbbbwuwrrwrrrbbbwwrwrrbwgbrrgwg -bruwrgwrugwggrgrwgrrrwwgwwugbwurggwbrrwbgwgrgurru -gwuuruurwwguwugwurrgbuwuwwgrwgurgbbrgwurrwwg -wgrbrgurburugugbguwwgwbwwgggbuuugwgwrwbrrrbruburwrwwgwbbrb -uwggwbggwgggrgrbrubrbruubguuwgurggwbbrbbgrrbug -rurbgwgbwuwuwuuubwuguwrbwgbbrururruwbgwwbuwbrrwrrurwgg -ugwuuuurubbgbwrwgbuwrbbrwbwgwuugbrguggbubbggggubgrwuwrbbgg -wbbugbrbgbrruwguuruwwgwgwrguwubguuwurbgwbbguwrrrwwwburguuu -wuugrbbrrgurgbuuuruwbggrggbubwubbrgbuugrugwbgwguwrw -guuwwrbuuurwrrwrwrwrbuugwwbuuuuugugrgbguubrrbggbgu -rbwbbruuwwbwgwbwgugggbwwrwugguubrugubwgbbrgrbgu -bgrgbuugggbugwbbgwurgwguuuruubrubwbubwgwgwgurrgbubrguubr -rbggruugwbuwgugbuubugggwbrwuurgrrbwwbrurbgwbgguugbburgwgwg -guwuurbbwwbbuwwuwwggurguwuubuwwwgrugwrubgruurwgbwggb -gbrgbwwuggwuwgbgwbbgguwrwbwbwrwrwururbuwbgwgrrwrbuubwrrrbu -ggbbwgbbbrbwruggurwguubbwbguwguwgbrwrrruwubrurbuguwgurgu -bbwbwrugbwuwbwwbuugrgugugugrgwwuugwrurruwbgwwbwbwr -gbwwwuwrwwguwburwuggwbruuwbbrubgrbrwrgwrgrgugwgu -rrbwwbrrwgwruwwwrrgwubbugruwguggwwubrrbwwwwggg -urrrgwgggrrrurubwurgurwgugwgrugwbbwbwwgbbrwgurgwgwbubgwgu -rwgbwbrwwbgrbwggwbuuguuuwgbbubrgrggrwguwbrwrbrwrrwwurg -grbrwgbrwgwbwubgrbbgwrgrwuugwbuwuuwbwugrrwg -rgrurbbbggrrguburrwwugbgbbgbbbwuwbwrgwgwwbruuruww -wubbgwgbggwwggwrwubbrbwrwrbruburbgwwwurgguwgr -bbrbgbwrrbgwwwurggwgguwruwbuwbugbubbbbrwbggubuwuwgu -uwubbwwbrurwrrrwwurbgwwrubgugrbbgwbbbrwrrrgrbruubbbburrgg -rugwrbwugrgwwgwbbwguwbuwbugwwbugwwwurwbbguwgbgrwuwrggbgrr -rgwgwwwuwbgwbuuwubbuwbruwgugbbugbbwrbwggwbgbwurubbrrgbrw -urwwgrbbgbuwuubrubruburgugbgbwuurgguuwuwubwbuggbwbggwugwgw -guugrwbbwwbwbwbuguurubuwwwrrbggbrruwwwurwbbbrbbb -ggugbrwbgwrbrbbbrgguggwgrrggwgwrgruurgwurggwwgubgwgu -wruugbgugwwrgbwbrbbbgrubrwbgwwguwbbgubwrguwuuwubgur -bwuwubbugwgbrrwuuwrgbgbguwuurrbbwrwugwwwrbubgrrrwbw -buwrbrgwbgwurrrwguuurbrrbuuurwrgwubbgwbgggguruwbgbggb -uwbggrgwbubrbrwwwguguwrrugbbbugbbgwrrwwwgrwgbugurwrurr -ggurbuwrwgurrgurgbuwrguwbwbrugbgburwuwuuwuubgggwruubgubwgu -gwrrbbbgwbwuwgubbugguwurrwwbrugugwwrwbrgurrrwww -gwruwggwrubugwgubrruruurwrggbwgrubbuubgrruwgrburwbgrrbuwgu -gguugbgwrrbwwrrgrbrwuggrbwbgbgrwrbuwbbubwgubwuwubbg -rruburrrwguwrrgwwuuwwbrgwgrurwurwubrubuurbgbbggrgb -wbrgwrbgbrbwgwbuwurgrrruwbwrugwbbbgwbgwbruuuguwuwwbuguwrub -wwrgrgbuwbbbwwurgugrruuwwwbrrwuwugwwurwgrwurubguwwg -ruburgggurruugrubggwgugbuurgwbbrrggbwggwwrbbgrwb -wwggruwuwwguuwwrrgubgwgbwwbrrrwwuuggugwbuurub -gwrburbbgbrwugbwrbggrwwwwbrrgrrrurggwbbggbgbubgrrbuwrwu -wbuubrwbrgwwubrgrrggrrurwbbwrrgwbrguggwuwwugruw -ugbbuugguuwgwbubrwrwwrwgbbbwrwgburuwrbbuuwbw -uuuuwbwggrrbbwwrwgrwwbwrurrbruubwwwgbgrgrrwggwwuugbgrrb -gbbubwubwbgwubwwgruwbgrburbuwwbgwwgbwrwbwbrgwrrubwwbrug -rwbwwruwwwgurgurrgbgubuuguwbwrugbggrwurbbrbbrbuwwrrwww -wgwrubgwuubgwgwguguugggwwruurwwgguggbuugwbuuwrbr -wwgrwrrgrbbwwwbgbgbubuwrwrbbbrwrgrgguwgwwugggbbgbrbwrgug -urugwubwgubrwrbuubguggrbuuuuuwwurrgbrgbgbwwubruwuuwwwggugr -buwuburbrgugrubggbgbrburgwrgwwgbuuuuuwgbwbrbuugrwbbbwb -uuwgwwbwuurbbggbwrbwrbbruuururwgugwuuurwgrgrwbruwuwru -ugubbwgubrgwgwwurbuurwwrbrwggubbguwrggrubrrbuwuubbwbrbrb -grwwrrgwrubbwggwgwwuuuwwrwbbwbbguwubwgbrgbrgrgguugrrgrgw -wrbrgrgwrwbruruwuwurrbwgwwbrrrwwwwrgrbwgurgrwugwuwgu -uuguwwrbgguuwgubbwrwugbrwbbbrbugubbrbrgruugbggbwbrubwg -wwbwbbwugbggwbguwggwbgrgubgrbrrrgbrugrgwuggubbrrr -brgwbubggbrwbwuggububwbuuwgggrgggwgbwuwguwgwgu -gwbwuwuuwurwguggbrbbrrwubbrbrwuuwrbbbgrgurggrrwrg -ggugugbrgrrrwuurruuwrgbgbgugbbbrwuwbbgrggbwuggugugugb -bgwwurubbguruuuwbuuguwwbbuuggwgbbgrbbubgubruwbgbuwwurgu -uuguwgrrbubwrgruggubggwrgururbrruurwgrgbrgug -ggwubwbwwbwggguugurbwrrbwrrgwrgrgbubuwuurwgbruubbwgu -bwgbguwrgwubgrgbwuwgrggbwwrgbgwbruuwgguggu -wbgbuwrrggwgbubgrbuugrrrwrrwguurubuurbgbrb -wrbwbrurwrubugrrrbugrwugugrugbwuguubbrgrwwgbrruwbbwg -gbuguwgwwgwuggrbggwbrruuwubwrgwbrwgwguwrgbwgu -gggggbbururwbggwgwwrrguurwwgwugrrwuggbubrgrrugubgbugubwgu -wurbgwbuguwbbgubbgwbburbbrwbbubwrbrubgugbbugwuw -uugggbugbwwbrwuguwggrgwrbrgwwrugwgruruwgwubbbwwbbguuwugbr -brugggrwruuuggbgwguuurwubgwuuwbruguwwrgwgbugrrwbbrug -wurrrrbbbggrwurubbruurbrrbwwgrrrrgruubrrwwwr -rugugrwbubrgrwbwwbuugwurrwuuguugrwurwrbbbwrbg -rrurbgrgwrwuguggurbrbgwbgugwrbrugbggrugrrrggrw -ubwwwwbbguugrurbgrwwgruubggbrrwgbgwrwbrgbugbbbbugwbwbb -wwgubgrrruurgrguwrgwuwggbwbwruggrbgrbrbwgguruggwgwuurbbuu -ggguurwuuruguggrrwgrwurbwwbwwbwrbrugbgwrwugbruugbgg -urgbubgwbrwrgrbwgruguwugwbgrgugrgbwubrgrbwrr -uwbwbbbbrwggwrrggwbgbwrgugbrggbwuwgubrwbgbuuwugg -wwgbbgwrwrwrbgubgggbrbguguguubbrbbrurgbbgubbbbwgu -burwbbguggbwwubrbugbrwwbrgwgruwrrbuggugwgu -brrbrguwuwbrrrbuuubwwrbgbubugwwurwugrgrwurbugwwrbugbw -gburrrgwuwrbwugugrrrurwrrrbuugruurbbguggugubwgb -ruugrbbwbubuggbbuwgbbwgwurbrgrbgruwbrburggubrrwuburuugbur -wwbwrbwuwguguuuurwubrwbrburbggrugurwbrrrwwbgurwuwg -urggurrrgbbrgrwrwrbuuurbgwrugggrwbrwbgggrugg -gurrbgbbrugbwrgwwggrururbbgwgwwbwubgwrrbubwbuubggbrbrr -bbwwbgbrbwwrgwwrbgwbgugurugbugwubguwubruurru -wuurbgrrgrwurrguuwuurwbwubrbgwbbbbugrwwwwbbbwwgwgwru -uwgubbbwuwugwbrgwwguubwwugugwbubguugwgbuurgbrwbruuubuurruw -bbruwrwuubwbugbbrbgggbwbwbuwuuubrgugugwbwwrbuwgwuwgu -wgrgrbbgruwrgrwgbrwrwguggguwwwubgbwuwrgrbguwu -bwbrbbwggwrruuguwgwwgubrbgurrgburuuguuguuwggwwbu -ugrbrwugrwbwgbwbwbwrgbgugwurwwgrurrrugbwbggu -grwrwbuuwbbrbbbuwrwubbugbbbwwgbwgruwbgrgbwguwwbwuww -ugrgbwburbwbgrgubbuurwubrgrwubbrrruwubrugrwrwbggb -wwrwwrwrgurgggbrubuuuuurbbrgwrgggwgrwbuwrggruru -gwwbbrburbuuuguruubbbggwgrgrubwgruwwrbrgrgruugwrrww -ugwrwguggubrrwwurwwwbwbwbbwwwwwguubbwwurrgwwgwbwubwb -wburwbggrbgurbwubwubggubrwurguwbbbggbwrbbguwbwbwuurgbgg -rwwgggwwwbubgugbubuuwwrbbuwrwwgwggbbbugwbrgbwuuuuw -brggrwbbwrubburgwwrbburuwuugwrrwuuwgrrrbwwwgguubwwbbbbuwgu -wuwrbwuwbwrugbrwubbbgugbgwgwbubwuurbggwwrrgrbggbw -uwrrgrrwwugrburbbwbwbwbwuurgrgubbwwuwrgrwgbugg -gbuwgwrwbgbgrruwrgugwuwbgwruwrbgbrrwububbrbrrbgugr -bgbbbwwwwbbubwrgwbwrrbgggrwggwgwgbgrbbgggugwru -wwgwwbguuwrbwuuwugwrwbgrwbururbugrrrgwbuuwrwwuuu -brgruuuugrgwuuguwbbwgrwgbggbgrugrwwbbugrwwrrubwgu -wburbrwbwrbwrbrrgggurruuguggwuwbrgwbgbwgbrwubgubugbur -rgurgwgrubuuwwrugugbbggurbbgwwrrubgurwbwbbbrurburwrwwub -wguuuubwubwgwrwuwwuururbggbgwgbubwwrwrwuuwgwbbbrgr -uugubgbguwbggguuggrbwgwwrrguwuwbubwwrgggwgbwgrb -gbubrbggrwwgurbbbbbuwbbwggbuwbuwurrgruwwgub -buwrrwbuwwgwbuwuurguuwbwrbuugwwwuwgrrbubbrgrbubguruwgu -ubruwgrwbwuurrruwbbwwwgrbbbburgwwbbuuwrgwrguburwbuggguw -gwuuuuwgbbgbwgggubuugrbbwrrurbbrburrrgwgbwguwubwuww -rugugrbbwuggrgbbubggubbggbrgwrbrbgubbwgu -uuubbbggurgubgrbguuwwrgbrgrbbrbrubwguwbubwrgwwbugg -gbwrrgubbrwgbugbrrruwubwgrwurrwwurwgwrwbrguwrgwwbrwwuwgu -wwwbwugurwwguugrbwgruurwwrgguwuggwurugrggwguwg -ugbrwwbwwwuwwrgrwuwbuwbgwurubwuwuuwguwubwbburwrwubuw -grwgrggggbgwgbgbrwguugwrwbgrrurwbbwburgrwwbbwwgggrwwgugwgu -gbrbbgbwgburbbbrwbgbuuguuurrrrwwbggbgrubuuwwwwrb -brbugwubbrgbuubwbuguguwuugbrubgbrwwugbuwbgbwuwwbrgubrbwruu -rbwrwurbbwubwrgrwrggrwugbbuwburwuggwgwbgbwrgwbgw -brurwruuubwwruuwuwwwuggugrbruwbgwbugrrwurugrgubrggbwwr -gugrwgubbwbuugwgrgrrrgwbbrguwubruwugbugrbbruuurwgbgur -ggbrgubuwwururggrburuuguguurgubbrugurbwrggrrwbwgu -rwuugubrrurrbguuugguwwwugrrgwgbrguubgrwbrrwguwbw -uwuwrrruwrwwgrwgrbbwwwggwgubgrrrwggubuuuuuubrbbwgu -ruurrrgrugrgrgwwugrwwgrbuuguurgrbrbgrwbwgwu -buubbwwbwwrwbwwbgurgwbbrrgbwbwbuwwbwbggguburrbrrbwgurgu -bgrurgbrrurwwbbrrwbrrrwrgrwbbrugrwbwrrgubbubrrbrgbuuwrgww -rwbbwbgwbggwwgugrguwgbuwwubwuwwwwuwbugrwgrgguu -bggbubgugwbbrurrubwgwbwwwuubbrguuurwruruwrwwubuurr -buwuwbrrubbwuurwbrgwwwwrrgruwggruruggbrgwbwwwbwugrwgr -ubbuguurburrrwggwgbwuwwrgwurgruwwwwbwwgruwbugbuugrrggbu -ubuwrbwgwrbgugrwubbgrbwrggwrgrubbbbgurwrrwuubwbrgbbbbuggww -uruwwuubrbgubrurwbguwrugbwruggbbwwuwuggbrwuwbuggbrbrgrbr -uubuuruwrbbwguugwgubbwgwubbruggrgwrrgruuwuwbgwrrrgr -gwbububbgwbwgggwrwurugrrruwuwurgbrwbgbwuwuggwgbwuwbur -ruguuwwuurgwggbbwgggugugbbuuggwbwbbwgrruuubwrguwrruugwrbb -bwwrugwwrgwruubbwwgbwwrwuwubbwurrrubrwwwubbubugugbuwb -rrbwwggurwuuubgurbbwgbrbruuwbuuwwrbugggugw -rwggguuuwbwuwwubwuuurrubgrguwuwbrgbuwbgugbbbbrwuruuurgrw -uugubuwwwrwwuwguubgrrbrrrwrrgwubbwwbwrbgguguuguuwru -rwugwruubgurrwrbgubuwrwuwugrwggrwwwugbubugwbbwgwburbbubwu -bubbbrgrgbwgubwwruurgrbrbbwgbgrwgggwrbburubwb -brwgbbwrbruggwrrbuuuuuuuuwrgbwuggrrrugwuwgr -wggbubwgwruwrbgrguugwbruuggwbrrwbgwuwrgwwurgugwurbwbb -gwwbrgrrrwrbgwubrwgwrwbgbburgrrwbuwgwgrgwgubbgr -rurgrubwgwrrubburwurgrbrgurbrguwugwurrbbbbwwbbuw -wgwugubruuugbrgrgwgbrurwbgbwbrbuwgrwurrgruwgu -gguwggbrwwugugrbwrbrwgwwgruggurgurwrrrrwbwgu -wwgbrrgwwuwubbuuuggbgwgrwbbrgubwwuwurwrbubggrgguurgw -wrrrgwrubggugwgwburgbbwguguwwgurrwwgggrguguggrugwwwgu -ruwwbrburrrrwgurruwbwgruggrbwuwuurrgbuuwbgbg -rbugurbwgurwwrbwrruwgbgwwrwgwggrrguugrbrgwwgwwurubbrubrg -bbbbguuuwwurwbwbggbrgwwugwbugrugubwuuwggwbwuwwrgbrguuwr -buwubggbrwruburgbubwgbwwrwrgbwgwrwuuurrgrrwwbrrrgubb -ggurrgbrbggggrbgwbuwurwbrguugrbuurwrgubwwubbbbwrwuwbur -ubbwubgbrwwgrgbgrwbrruuurbwrwrgwbgrrgrbgrgwuuwwururrbr -rrugruuwgbwuwgwuwruuwwuuguurrwbwrgugbgwwubbg -gubuubrbbrrurrbrrwguguwrwgbbubrbuwwbuwwgubguburuggrgwr -wguwrwrwruwbbbbwuubwbguuwurwbubgwwwwrbuugww -bbggggggbuwgurgwurbubwubgbgburbwrrbrrrwbwubwwruwuwbggrrugg -ggwrgbwruubwwuurgbbwrgbbgwrubwgbrbbbggbrurgugbbwgbgrugu -ubuwugruwbrwwbbwbbuwwubgrbgbgggurrrrgbbgwbbwuu -rrgwwggwgurgurbbbwubuugbbbgwwrrwrburubgwgu -ugrgugbrgrwuugbuwgugrwrbwbugbwggwbwubgbruuuwbrrwrbwuu -urgwwubwuubruguwwgurgbwgubgggbbwruwrurwwgbuwrrrbwwuw -bgrgubruwrurggrbwuwbbwwugwburbubrrwurwubwrruuurgubrrgub -rgbrrrwwbbuwrbruuurggurubggwbbrrbwbbrbgwrbuwgbgg -rgguwggugruwwwbrbgrrbwugururguwuuubgruubbwwwu -bwwbrrwuurgrruwgrguwwbgrrwrbwuuurgggbrwgbuwbguuuwggwbrrgwgu -rbwwwrbubwggrugguugwwgwbuurburbrubuwgbururwgrgwwb -wwwgubbwbwbgwubrrgbubuwbbbgrrgrwwrbbuwbubrrguuugruwwruwwb -ubrbggrwgrwugwwgrugubrburgggbugwbggbburgugggwbugugguguguw -rrrgrgrwgbgwgrgwrurwuwgurrbwwwgbgrgwwbwbubrrubrru -wbwgrgbwbgwgbuugburrwburbuwrbwgburrgwuwrggwbwuwgbbbguwrbgr -rwgburgwgubuugurwbwbwbuburrrbburgwwwwguwgwwbwbbwwwuwbwgwug -rwbuuguuwrrgrwrrgruruuguwwwgbbruwbbwrbrguwgu -guwbggbgrbbbbuwrwguwguwgrwurrwrbuurrrgruwwurrw -wbwuuuggwbgrwggbrggwbwburgbbrwrrugbbrugurbgwgu -wrrubbwrrwbruruwggugwwgrrwugugrgrguuggrubrggugggbrwu -rugrgguuuubbuugbbrrwuuwgrbrgbgrbbrbugururrg -ugggrgrwgbgwbwwrrgggbwwgbgbwrwwgwubbbrbbbuuwgwbbubbbwubw -gwgwuwuuwgbuubbwwwrrurrbgbubuuguwwbrgwubuuwbgwwuwbg -rurggguuubuuwrbrgwgguurwgrwugruugwwggrbuuugwbwgu -gbburubbgbggrwubgrgrurbwgrrubuwrrbbgrgrwgg -wgrrgwurbguwgbuwrbrurruwrbgrrbrgggguugrbwgwrbwwbrgwgu -rgbwbrwguubrwwrwugbbbwugwurwwgurbbrgwwugbbbwgb -ruwwgugrgrgrwgrwrbrrggwurrrwubrrbbrbwubrbwgu -brbwrrrggrgrggbwbgubgrrugwgwuubrbwwurbwbru -wrbrwgbwbbguburgrrgwrbrwwurugruggwgrrrurggur -gggwrgwwbuwwbrbgbrbbgbbubbuggrgrggbwugugggrbub -urgbwrgbgwwrgbwurgggrwgbbgwbwgrwwuuuguggbrbggw -wwubrgbwrguwrbrurrwwwgrwrbrbrrbrrwwgbbuwwwbbbwbg -rrgugrbrbuwwwuuwwurgubgwbbruuggbbbruuwubur -urguwgrrrgbrrwbggbgurrrrrwggrggrrburrrgggbu -ruwgguwurbbrgbgwgrrubwbwurwrbwgburrbbgrgburgubwwgb -wggwubbrwwwububuugwbwbubrubuguwguwrbbrwbgwgurgu -uubggrubwgrgbrurgbuwubgbuuwugwbuururrururgggrurwwrrgrrgbgwgu -brrwrbrbggggrwrburbrurbuwuuguwbbrgrruwbugwwburuuugubwgu -gbwrruugrgwbgrbruwwgrurbgwwubgwwbbggubgrwubrrburrgwuw -uburgbbwrgrwurwbuwrrwbbbggrruwrugubruwbgwubggurbuwwbbuwgu -wwrwguuwubrbbruguuruugbwwwrbbuubbuuubbbgrgr -uuwgbbgguuggrwwrrrubbbbgurgrruuubwwugwgu -guggrgrbrburubbugbugrgrggggugwgwggrrwwgbbwgu -rbgbbwrbwggugurgubbwwwrggwgwuwgrbrrbgubbbbruw -uuuwgrrrubbrwrbggwgguubbwbrbrwbgrgwbubwggwubgrub -rurwruuwwgwrguwugruburbgbuugugwuubrbbwurgrbrbugwubr -urrruurwuwbbbwububwrgguwbrgrbuubgrwuguwurwrbubrugu -gugwgrrrbrrrgrrwwgrggbuggbwbwgbburbwwggguwrub -wguwwwgwggwwurrrguwuwbgrgbrgwugbwbwwggbugbggr -gwgrwrgwbbburggrbwwurrrgbguurrrgrbrugwgbwurwguwbgbgrbug -rbbrrrbuuurgugwgrrbuwrbrrurwuwgrrrgbugbwgu -urwgwbuuwrgwwrrggwwubbrbwguuwbwrggbbwwwwbwrrrwwgbwwurbrrg -wwbguurugruuwuubugbgrwgwwggrbubrggwrwruubwrgwub -ubgruruguugrwbwbuwbbwruubwgrrurwwruwugwbruuurrwwrrgruugw -grbubwruwubgugggrrgrbwgurbgwugwwggrrbrgrbuwbbbrbwgu -wrgrrubgggrurgwguurubwgggbwuwrrubrugbrgbrbggwgg -gwgbrgrrbbrgubgrubrwrwrugrgubrgruuguwrwubwwwrgbubwwggbbwgu -bwbwgbgwbwwbuuwbrubggggbugwgbgbuuwggrwuwrbr -wugrwurwgrbugrwrwrwrrgwwuugrrwgrgbgbuwgu -urbbubruuggrugwwrbrrguugguuwuuwuuubrbgbbggrgbug -rrugubrbbgbwrbggguugrbrrrbruugruuggrbgwbuuwuururugwruug -burwbgbgruwrurbrwuwrgurgrrbrbbguwwbbrwgbwbgwrwbruuwbgwgww -wbubuuwbrwuwwruggbbugbrrrgbgwguwwgrgurgwrugrguurrrrbbgrbbwgu -rbwrbubggwuubugbrubuurruguwrrwgubwrwwububwrgrguw -gbrgubrugbwrgwwwwrbugwwgwgwrbrgwuuggrubwrbrugwbbruubwgu -wbgrubbrgwgrbrbuuuubuugwubbugwbuggwrburgwugw -grwgrbgwwrubruuubburwgbwgugwugwwrbwbwwrguwbbubuuwguwr \ No newline at end of file diff --git a/Inputs/Day2.txt b/Inputs/Day2.txt deleted file mode 100644 index ded4afe..0000000 --- a/Inputs/Day2.txt +++ /dev/null @@ -1,1000 +0,0 @@ -65 68 71 72 71 -31 34 36 37 37 -80 83 84 86 87 90 92 96 -30 33 36 39 45 -21 22 25 23 24 -66 68 69 71 72 71 72 69 -2 3 5 4 4 -77 78 77 79 82 83 86 90 -6 9 10 7 9 12 17 -25 27 28 28 30 32 -61 63 66 68 68 66 -51 54 54 57 60 60 -50 52 52 53 56 60 -73 75 76 76 83 -19 20 24 26 28 -36 38 41 42 45 49 47 -56 59 63 64 64 -26 29 32 36 40 -70 72 74 75 77 80 84 89 -81 83 88 89 92 95 96 -79 80 85 87 89 92 93 90 -77 80 85 87 89 92 92 -29 31 33 38 40 42 46 -49 52 57 58 59 65 -14 11 14 17 18 19 -43 40 41 44 47 50 51 50 -31 30 32 35 35 -43 40 42 43 46 49 51 55 -9 7 9 12 15 17 18 23 -74 71 74 71 73 76 79 80 -50 49 50 49 52 50 -51 48 51 49 49 -23 22 23 25 22 26 -45 43 44 47 45 50 -42 39 41 43 43 45 48 -97 94 96 98 98 99 97 -48 47 50 51 54 55 55 55 -33 30 31 31 33 37 -17 14 17 19 19 24 -41 40 41 43 45 47 51 52 -65 62 64 67 71 70 -77 76 80 81 84 85 86 86 -18 16 20 22 26 -58 56 59 63 64 65 67 72 -18 17 22 24 26 -27 25 28 29 30 36 39 36 -53 52 58 60 60 -41 40 45 47 49 53 -49 46 47 49 50 57 60 66 -43 43 44 45 47 50 53 56 -79 79 80 81 83 84 81 -68 68 70 71 71 -15 15 17 18 19 20 21 25 -58 58 59 62 64 66 71 -67 67 70 72 73 71 72 75 -83 83 81 83 80 -93 93 95 97 94 94 -5 5 8 7 9 11 15 -8 8 11 8 15 -59 59 62 62 65 -9 9 10 10 13 16 15 -72 72 75 76 76 79 79 -6 6 6 7 9 13 -27 27 29 29 35 -40 40 44 47 49 52 -85 85 87 88 90 94 92 -55 55 59 60 60 -36 36 40 41 42 46 -62 62 66 68 70 75 -44 44 45 46 47 52 55 -85 85 88 95 93 -33 33 35 36 39 44 44 -18 18 19 21 28 29 31 35 -58 58 60 62 69 74 -15 19 22 23 25 27 -20 24 27 28 29 30 29 -44 48 49 52 54 57 57 -41 45 48 50 54 -8 12 15 17 20 27 -48 52 51 53 55 -78 82 81 84 83 -8 12 9 12 15 18 18 -56 60 63 61 62 66 -2 6 8 7 10 13 20 -8 12 12 14 17 18 -52 56 58 59 59 57 -73 77 79 82 82 83 83 -58 62 63 63 67 -44 48 48 51 54 61 -63 67 68 71 73 77 80 82 -65 69 71 75 74 -84 88 90 93 97 97 -62 66 70 73 77 -26 30 34 37 39 45 -31 35 38 41 43 49 51 54 -3 7 13 16 17 20 23 21 -42 46 49 55 55 -71 75 78 84 88 -53 57 60 62 69 71 77 -66 72 74 77 79 80 -46 53 55 56 55 -6 11 12 14 14 -36 41 44 46 49 51 54 58 -66 71 73 75 78 80 81 87 -55 62 63 64 66 63 65 -22 27 28 25 22 -90 95 93 94 95 95 -35 41 43 46 45 49 -74 80 83 86 88 87 88 95 -39 44 46 47 49 49 52 -73 78 80 80 82 81 -81 86 89 91 91 94 95 95 -28 34 37 38 40 43 43 47 -72 77 80 80 82 83 84 91 -76 81 82 84 88 89 91 -36 43 47 49 50 47 -74 79 80 83 84 87 91 91 -48 55 58 62 65 67 69 73 -14 20 24 27 28 31 38 -33 39 40 45 47 50 52 -71 78 84 85 88 89 87 -46 52 59 60 63 65 67 67 -27 32 35 37 40 47 48 52 -66 71 72 78 81 83 90 -42 39 37 35 36 -46 45 43 40 39 36 33 33 -31 28 27 24 22 18 -27 24 23 22 19 14 -51 50 49 52 51 49 46 44 -78 77 75 74 75 77 -14 12 13 12 10 7 5 5 -41 38 35 38 34 -50 48 49 47 40 -70 69 69 67 65 -55 52 52 51 54 -73 70 68 65 65 62 59 59 -99 96 95 95 91 -76 73 70 68 68 63 -13 11 8 4 2 -26 23 22 19 16 12 9 10 -95 92 89 85 85 -25 24 22 18 15 13 10 6 -87 86 82 79 78 73 -92 90 88 85 78 77 75 72 -50 48 47 42 40 42 -75 74 73 67 65 63 60 60 -63 60 59 52 50 47 44 40 -43 40 39 34 27 -27 30 29 28 25 -29 30 27 24 23 21 24 -66 67 65 63 61 61 -93 96 95 93 89 -90 92 91 90 89 88 85 78 -15 17 15 12 9 8 10 8 -23 25 23 22 25 26 -77 78 77 78 75 75 -12 15 13 16 12 -23 26 24 21 22 17 -92 93 93 91 89 88 85 84 -92 93 90 89 88 86 86 88 -29 31 31 29 27 27 -31 34 34 32 28 -87 88 87 85 84 84 77 -74 75 74 72 68 67 -52 54 52 50 46 48 -75 78 75 71 69 69 -28 31 28 25 21 17 -70 72 69 65 58 -80 83 82 76 75 73 71 -9 11 9 3 2 5 -53 56 55 52 47 47 -14 17 15 14 11 6 2 -41 42 37 35 28 -83 83 80 77 74 71 68 65 -20 20 18 17 16 18 -76 76 74 71 69 66 64 64 -40 40 37 34 32 31 27 -63 63 62 59 58 57 55 50 -63 63 60 61 59 -24 24 25 22 21 23 -24 24 22 20 19 21 21 -17 17 15 14 17 16 14 10 -56 56 54 52 51 48 51 46 -41 41 41 39 36 -36 36 34 34 37 -28 28 26 23 23 21 18 18 -69 69 68 65 65 64 61 57 -81 81 79 79 76 74 67 -35 35 33 30 27 23 21 -81 81 80 76 74 73 74 -51 51 47 45 42 41 39 39 -89 89 87 83 79 -27 27 24 22 20 16 13 6 -82 82 79 73 71 68 66 -63 63 60 55 54 52 49 52 -17 17 12 11 9 9 -40 40 39 36 31 28 26 22 -85 85 82 81 79 74 67 -61 57 54 51 49 46 -38 34 32 31 29 27 26 28 -32 28 27 26 26 -49 45 42 40 38 35 31 -36 32 29 27 25 22 16 -73 69 68 67 65 62 65 63 -19 15 14 17 20 -95 91 89 87 88 86 86 -29 25 23 21 19 20 18 14 -21 17 16 13 12 9 10 4 -85 81 80 79 77 74 74 71 -95 91 90 88 88 87 90 -80 76 76 73 70 69 69 -88 84 83 81 79 76 76 72 -67 63 61 61 59 54 -50 46 42 39 38 35 32 -39 35 31 29 26 23 26 -17 13 12 11 8 7 3 3 -96 92 91 87 84 80 -19 15 13 12 8 1 -25 21 19 14 11 9 8 6 -30 26 24 18 19 -45 41 40 33 31 31 -72 68 61 60 58 54 -96 92 91 90 84 82 76 -44 37 36 34 33 32 30 -43 38 35 32 33 -33 27 24 21 18 18 -67 62 59 57 54 52 49 45 -99 92 90 88 82 -64 58 57 59 57 -80 75 74 71 72 69 72 -12 7 4 5 3 3 -13 7 5 6 2 -79 74 75 73 71 68 63 -42 37 36 34 34 33 31 -52 45 43 40 39 39 40 -36 30 30 29 27 27 -27 21 19 16 13 13 12 8 -63 58 58 57 55 52 47 -65 59 56 52 51 49 47 45 -17 10 8 7 3 5 -88 82 80 79 75 75 -26 19 18 14 13 9 -37 32 31 30 26 23 18 -19 12 10 9 3 1 -51 44 41 38 33 32 34 -44 39 36 33 31 25 25 -21 16 14 11 6 2 -53 47 46 44 37 34 28 -35 38 40 42 43 44 41 -83 85 87 89 89 -37 40 42 45 46 47 48 52 -25 27 29 30 32 34 39 -85 87 88 90 92 89 92 93 -71 74 75 73 76 78 76 -34 36 38 35 37 37 -40 42 43 46 44 48 -15 16 18 17 19 20 26 -8 9 11 14 14 15 18 19 -71 73 76 76 73 -17 18 19 21 23 23 26 26 -52 53 55 55 57 58 59 63 -19 21 23 23 30 -4 5 7 8 12 15 18 -58 60 64 66 63 -4 6 10 13 13 -42 45 48 52 53 56 60 -21 24 26 30 32 33 35 40 -75 78 81 87 88 90 -54 56 57 63 61 -42 44 47 48 55 57 60 60 -73 76 77 79 86 90 -45 46 51 52 58 -49 47 50 52 55 56 57 -57 55 58 61 58 -15 13 16 19 21 23 23 -63 62 63 66 68 69 73 -63 61 62 63 65 72 -92 89 87 89 92 -7 6 8 9 12 11 8 -14 11 10 11 11 -26 24 27 28 29 26 30 -32 29 30 32 34 36 35 41 -19 16 16 19 20 -74 73 76 76 75 -65 63 63 64 64 -43 42 42 44 45 48 52 -63 61 62 62 63 66 68 75 -63 61 65 66 68 70 72 73 -21 18 20 24 27 24 -18 16 20 23 24 26 29 29 -30 28 32 33 36 40 -23 20 23 24 28 31 37 -63 61 63 65 72 75 -41 39 40 47 48 49 48 -29 27 32 34 34 -36 34 36 37 38 44 48 -38 37 40 45 46 49 50 56 -49 49 52 55 56 57 -68 68 71 72 73 72 -47 47 48 51 51 -87 87 89 92 95 99 -47 47 48 49 51 52 57 -86 86 88 87 90 -74 74 75 78 79 78 77 -55 55 57 55 57 58 58 -85 85 86 87 86 88 91 95 -46 46 47 46 48 49 54 -80 80 80 83 84 86 89 -73 73 74 76 78 81 81 79 -93 93 95 96 96 96 -28 28 30 30 34 -24 24 27 27 29 30 32 37 -80 80 84 87 89 -48 48 51 55 57 56 -43 43 44 48 49 50 51 51 -78 78 81 85 86 88 89 93 -62 62 65 69 71 74 79 -25 25 27 29 30 37 39 -82 82 85 88 90 96 93 -35 35 36 39 44 44 -48 48 53 55 59 -68 68 70 73 74 80 81 86 -11 15 16 19 20 -78 82 83 84 87 90 91 90 -32 36 37 39 39 -15 19 21 24 28 -21 25 27 28 30 33 40 -16 20 23 26 27 25 26 -8 12 10 11 9 -44 48 47 49 50 50 -2 6 8 11 8 12 -78 82 85 87 89 91 89 95 -58 62 62 64 66 68 -36 40 40 41 42 44 42 -39 43 46 46 46 -38 42 45 46 49 52 52 56 -53 57 57 60 62 67 -15 19 22 23 26 30 33 34 -36 40 44 46 48 45 -54 58 59 60 63 67 67 -54 58 62 64 68 -31 35 38 41 45 48 50 57 -19 23 24 27 29 36 37 38 -23 27 33 36 34 -16 20 21 26 27 30 32 32 -79 83 84 91 94 95 99 -59 63 65 72 78 -34 40 43 46 47 48 -8 14 16 18 19 18 -29 34 36 38 39 40 41 41 -20 25 28 29 30 34 -48 53 55 58 60 65 -38 44 47 46 49 -83 89 91 93 91 94 96 93 -16 22 20 22 22 -78 84 83 84 86 87 90 94 -10 15 18 19 16 18 24 -34 40 40 43 44 -10 15 18 21 24 24 23 -9 15 15 18 21 21 -70 75 76 76 80 -15 22 25 28 29 29 36 -54 59 62 63 67 68 69 -80 85 86 90 88 -45 50 54 57 57 -35 40 44 46 47 51 -2 9 12 13 17 18 23 -69 75 80 81 82 85 87 -3 8 13 16 13 -74 81 88 89 90 90 -35 40 41 43 50 54 -50 55 58 63 66 69 75 -65 62 60 58 61 -17 15 13 11 10 9 8 8 -82 80 79 76 73 71 68 64 -63 61 59 56 54 51 50 43 -44 42 40 42 39 37 34 -43 41 44 42 45 -48 47 45 44 46 44 41 41 -91 88 85 82 79 80 76 -81 78 81 78 75 70 -16 14 13 13 10 7 -69 67 66 66 65 68 -70 67 67 66 66 -89 88 87 85 84 84 83 79 -87 84 84 83 81 74 -15 14 11 7 4 3 2 -26 23 19 17 20 -72 70 68 64 63 63 -46 45 43 41 37 35 31 -27 26 25 24 20 18 17 10 -42 40 37 32 30 29 26 25 -91 89 87 85 80 78 75 77 -83 81 79 77 76 70 70 -95 94 93 90 89 86 80 76 -49 46 39 36 34 31 29 22 -58 59 57 56 55 53 52 49 -88 91 88 86 84 87 -82 84 83 80 77 74 73 73 -22 25 24 21 17 -17 20 19 16 10 -4 5 3 2 5 4 2 -27 29 32 31 32 -52 54 52 49 47 44 47 47 -45 48 46 47 43 -84 86 88 86 83 80 77 72 -9 11 8 8 5 -39 40 37 36 34 34 33 35 -45 47 44 44 44 -38 39 39 38 34 -70 71 69 69 64 -20 23 19 18 17 -27 29 25 23 21 19 22 -15 17 13 11 10 7 7 -96 97 96 92 89 86 82 -62 64 63 59 58 55 49 -53 54 47 44 42 40 37 36 -82 84 79 77 79 -30 32 30 25 24 22 22 -36 37 36 33 27 23 -80 81 80 77 71 68 62 -59 59 58 56 54 53 52 -48 48 45 42 40 38 40 -63 63 62 60 57 55 53 53 -27 27 25 24 20 -28 28 25 23 18 -68 68 67 64 63 64 62 60 -49 49 50 47 46 45 42 44 -39 39 40 38 38 -83 83 81 80 79 77 79 75 -86 86 84 87 84 78 -99 99 99 98 95 92 -34 34 31 31 29 27 24 25 -37 37 34 32 32 32 -16 16 13 12 9 9 5 -25 25 25 22 20 17 11 -70 70 66 64 61 -71 71 68 65 62 58 59 -64 64 60 59 57 57 -89 89 88 84 80 -83 83 79 78 73 -26 26 19 16 13 12 -46 46 39 36 37 -52 52 50 47 40 37 37 -58 58 57 52 49 45 -68 68 65 64 59 57 50 -68 64 63 60 59 57 -21 17 16 15 13 10 8 10 -68 64 63 61 59 58 58 -86 82 79 77 76 72 -49 45 44 42 41 36 -94 90 88 85 84 85 82 79 -86 82 80 78 81 83 -49 45 46 45 43 43 -78 74 75 73 71 68 65 61 -57 53 52 50 48 50 43 -78 74 72 69 69 67 -8 4 3 2 1 1 3 -27 23 23 22 22 -27 23 23 21 20 16 -85 81 80 78 75 74 74 68 -15 11 8 4 3 2 -68 64 62 60 56 55 53 55 -82 78 75 71 68 66 66 -57 53 52 48 47 46 44 40 -38 34 30 29 24 -29 25 20 18 17 14 -28 24 21 16 17 -94 90 83 81 79 77 77 -60 56 53 50 43 39 -36 32 27 26 21 -36 30 29 26 25 23 -16 9 8 6 5 3 2 5 -92 87 84 81 78 75 75 -26 21 20 17 16 13 9 -33 26 23 22 21 18 17 10 -95 89 86 85 83 86 84 -54 47 45 44 43 44 43 45 -22 15 12 9 10 8 8 -92 87 84 85 82 81 77 -88 83 80 79 76 78 75 68 -22 15 15 13 11 9 8 -82 77 77 76 74 76 -90 83 80 79 79 78 78 -70 64 62 60 59 59 55 -87 80 80 78 76 74 71 66 -31 25 21 19 16 -90 85 82 81 79 78 74 75 -64 59 56 52 52 -63 58 57 53 51 47 -64 57 53 51 50 47 45 38 -60 53 52 46 43 -85 78 75 69 67 65 64 66 -35 29 22 20 20 -37 32 27 24 23 22 19 15 -67 60 57 56 54 47 41 -14 17 15 12 12 8 -10 10 11 14 17 20 22 22 -98 96 95 93 92 86 -73 71 72 74 78 -50 54 58 60 62 -57 59 62 62 63 61 -88 84 78 76 73 -49 49 45 44 43 39 -47 47 50 51 52 54 -59 57 56 52 49 -13 12 11 10 10 7 7 -94 90 89 88 87 88 88 -24 24 22 16 14 8 -45 46 48 49 50 52 52 -64 64 64 65 67 69 73 -53 58 60 61 62 64 64 68 -52 55 57 54 53 -71 68 64 62 58 -64 68 70 71 71 74 75 79 -54 55 55 57 57 -89 92 85 82 79 78 78 -81 80 83 84 90 91 -14 20 22 25 29 32 36 -46 46 48 48 49 51 57 -18 14 13 9 7 5 -92 87 84 84 81 82 -50 49 46 46 45 43 44 -82 85 86 87 89 86 -44 49 51 54 56 63 63 -88 90 90 87 85 82 77 -64 71 72 76 75 -97 98 97 95 97 95 94 90 -46 45 48 50 54 54 -24 20 18 16 15 14 13 8 -53 56 59 58 55 58 -49 49 50 55 58 -47 41 38 38 37 33 -25 31 28 30 33 35 37 40 -64 63 65 67 70 67 70 70 -53 49 47 47 44 43 37 -30 37 43 45 44 -53 48 47 45 41 -65 69 73 76 80 -58 52 48 46 45 44 41 43 -9 7 7 10 15 -82 82 83 90 90 -63 63 60 57 53 52 46 -31 27 25 24 20 19 12 -5 4 7 6 5 3 1 -86 82 81 84 80 -86 81 79 76 75 73 69 67 -54 57 59 60 62 66 -52 48 46 41 37 -46 46 43 41 40 39 35 -49 50 51 53 59 64 -25 27 30 32 32 33 -59 62 59 57 56 -16 16 16 13 12 10 8 11 -34 28 24 22 20 17 13 -57 57 57 60 63 62 -53 59 57 58 62 -29 27 25 24 18 16 9 -50 54 57 57 58 60 60 -41 35 32 32 30 29 23 -66 69 68 62 59 56 52 -49 44 45 42 41 37 -61 61 60 57 50 -3 1 2 9 11 11 -29 26 24 23 21 20 19 19 -59 60 61 63 63 65 69 -97 95 91 88 85 82 83 -4 11 13 20 21 22 24 -72 74 69 66 65 59 -62 68 71 74 74 77 78 78 -69 65 62 61 63 61 54 -15 17 14 11 10 12 12 -83 80 79 75 74 74 -75 70 69 63 61 62 -65 69 70 73 76 75 77 77 -34 29 27 25 24 21 18 21 -6 6 7 9 12 16 20 -50 50 47 45 44 45 45 -69 70 72 69 72 76 -80 80 78 74 73 72 71 71 -28 24 20 17 14 15 -51 51 54 56 61 -38 34 33 33 32 -23 23 25 27 31 28 -39 37 39 42 44 46 48 -56 62 63 63 65 67 69 67 -74 74 80 81 78 -73 71 70 67 63 58 -32 36 38 40 43 50 56 -87 83 81 75 69 -69 65 62 62 64 -85 88 89 93 98 -20 13 11 10 10 -52 53 56 60 62 66 -58 58 59 62 62 65 67 -75 81 83 85 87 87 -38 32 29 24 21 19 14 -93 89 82 80 79 77 75 78 -11 11 13 14 13 14 13 -50 50 45 44 43 40 38 -86 82 79 76 72 72 -81 88 89 92 95 96 96 97 -39 37 42 43 42 -22 21 24 21 17 -24 23 22 22 21 -38 35 35 38 42 -61 61 64 66 68 70 67 67 -92 92 90 88 90 89 88 89 -4 4 5 9 15 -78 82 84 87 91 -63 62 61 59 57 54 54 50 -51 55 60 61 63 65 68 -43 48 54 56 58 63 -47 49 53 54 54 -81 85 88 91 96 -44 44 42 44 46 49 52 59 -84 86 85 83 80 78 81 80 -13 13 12 8 7 -66 70 72 73 74 75 74 -85 87 86 83 79 -19 24 25 27 24 27 30 30 -17 20 23 24 30 27 -15 10 11 10 8 5 6 -81 85 91 94 97 94 -75 72 75 78 78 81 83 81 -49 51 48 48 45 44 42 45 -59 57 60 60 62 -91 84 82 77 77 -27 27 25 24 22 24 -52 55 51 49 49 -70 70 72 79 80 84 -74 78 79 83 85 86 88 88 -76 70 73 72 71 69 -47 43 41 40 39 41 39 -82 81 84 86 85 89 -21 25 26 29 26 27 28 25 -41 36 35 33 30 28 22 -37 37 39 41 43 47 -13 20 21 24 26 29 34 -38 38 36 35 30 26 -14 18 19 20 20 27 -85 81 78 74 70 -17 15 16 15 16 18 -96 99 95 94 93 91 88 81 -74 79 80 82 85 83 89 -41 38 39 44 46 51 -23 19 13 11 9 9 -72 79 80 81 78 80 82 80 -93 93 95 98 96 97 99 -27 23 22 20 19 16 16 -83 83 85 88 90 92 89 -58 55 52 49 42 42 -45 39 37 37 35 34 31 -40 44 47 45 46 -3 3 4 1 5 -11 13 8 6 5 3 2 -43 40 42 41 40 39 36 37 -34 31 29 28 24 -25 23 24 25 28 25 23 -94 89 88 84 82 80 79 79 -76 72 75 74 75 -17 20 21 18 21 24 27 28 -59 55 54 51 50 46 -11 11 10 8 8 5 4 3 -15 19 21 24 26 27 28 28 -11 18 20 24 26 27 27 -58 56 58 61 63 64 66 73 -68 67 68 69 72 76 77 79 -2 9 12 16 19 -38 38 37 37 32 -28 28 31 30 23 -67 67 66 65 62 59 -1 7 8 11 12 15 19 -40 39 41 43 47 54 -72 65 62 60 53 49 -98 99 97 93 91 87 -56 59 58 56 54 47 -19 19 15 12 9 11 -36 38 36 39 40 47 -8 9 10 12 13 17 15 -55 62 64 67 70 72 70 -19 21 20 18 19 -78 81 82 86 87 90 93 96 -30 28 31 32 35 34 -42 40 37 32 30 29 27 26 -78 78 81 82 85 85 85 -31 35 37 38 40 41 -72 74 75 78 78 80 82 87 -14 14 11 8 9 6 -1 5 6 7 10 14 16 14 -47 51 54 54 57 54 -3 3 3 2 2 -28 34 35 39 44 -25 25 28 33 39 -82 85 82 81 78 78 -83 87 90 91 93 93 96 97 -80 81 78 74 76 -31 31 31 28 26 23 19 -39 45 48 51 54 60 64 -73 76 73 73 72 69 -55 59 63 66 69 70 72 79 -72 68 65 64 62 62 62 -49 49 44 41 41 -70 74 77 78 77 80 82 87 -49 53 50 52 53 54 57 61 -98 93 91 88 90 89 84 -64 66 61 59 62 -88 86 88 87 82 -46 44 43 40 35 37 -28 24 21 18 15 13 10 7 -53 52 54 55 57 57 -93 89 87 84 82 82 80 76 -93 87 89 86 86 -9 10 11 14 15 13 15 15 -10 11 13 20 21 24 25 29 -71 74 79 80 80 -39 43 46 47 48 55 55 -85 81 78 77 76 73 75 -66 73 76 77 78 78 85 -80 78 79 77 79 85 -33 34 33 31 27 26 -69 66 69 73 75 77 76 -36 30 27 25 23 23 23 -70 67 66 64 62 65 -23 25 23 20 19 20 17 11 -24 24 25 29 30 32 34 35 -76 77 80 83 86 92 94 -62 60 58 55 53 53 51 45 -14 16 13 12 10 10 7 7 -74 74 73 70 69 66 63 63 -50 53 56 59 60 65 -89 88 85 82 81 80 -27 25 22 21 20 -71 72 75 78 80 82 -58 55 54 53 52 51 50 49 -44 41 39 37 34 33 -78 81 84 86 88 91 94 -25 26 28 31 32 34 -47 46 43 40 38 -10 13 14 17 19 22 -80 82 83 84 86 89 -79 80 82 84 85 86 88 -52 55 57 60 61 -58 61 62 64 65 68 69 70 -82 83 86 89 91 93 -24 23 22 21 18 17 -23 26 27 28 31 32 -19 18 16 14 12 9 -70 68 65 62 60 58 57 -50 52 55 56 58 -18 21 23 25 27 29 30 -44 47 50 52 53 -96 95 92 90 87 -43 46 49 50 52 -12 13 16 19 21 22 24 25 -52 55 56 57 58 59 62 63 -25 23 21 18 16 13 -89 86 84 81 80 -55 53 50 47 46 -65 64 63 60 57 54 -14 15 17 18 19 20 22 25 -30 29 26 23 22 21 -29 27 24 21 19 16 15 13 -40 39 38 37 36 33 32 31 -24 25 28 29 32 -87 84 82 79 78 77 -18 21 22 25 27 30 32 35 -81 82 83 84 87 89 92 -7 8 11 13 14 17 19 22 -10 7 6 5 4 1 -66 65 64 61 58 57 -78 76 74 73 71 68 66 -63 65 68 69 71 73 74 77 -63 65 67 69 70 71 72 73 -90 88 86 85 82 81 -49 47 46 45 42 41 38 -76 75 73 72 70 68 67 -79 81 82 83 84 -76 75 73 72 69 -64 61 59 58 56 54 53 52 -87 85 83 80 79 76 -30 29 26 24 22 19 16 14 -56 58 61 64 66 -21 19 17 14 11 -75 78 79 81 84 86 -76 79 80 83 85 -66 65 64 61 58 -56 53 50 48 47 45 43 -34 32 30 27 25 -10 13 16 19 20 23 26 28 -41 44 45 48 50 51 52 53 -28 25 24 21 19 17 14 -36 34 32 30 28 25 24 -38 40 42 44 47 49 50 -1 3 4 6 8 10 -37 35 32 30 28 27 26 -37 35 34 31 29 28 26 24 -94 91 90 89 88 -70 69 68 65 62 60 -81 83 86 88 90 92 95 98 -90 89 86 84 82 80 -52 51 48 47 46 43 -47 44 41 38 37 35 32 -38 37 34 33 30 28 -58 56 55 54 51 -19 17 14 13 11 8 -33 31 29 26 24 23 22 19 -40 42 43 45 46 47 49 50 -77 75 73 71 70 67 64 61 -43 42 39 36 33 -4 6 9 10 12 14 15 18 -14 13 12 9 8 5 -43 41 39 38 37 35 33 -70 72 73 76 77 -80 82 84 85 86 89 -65 66 67 69 72 -17 20 22 23 26 -85 86 87 88 89 -50 47 44 42 41 38 -6 7 9 12 14 16 18 -89 91 92 95 97 -45 47 49 51 53 -61 60 58 56 55 52 51 48 -64 63 60 58 55 -62 64 65 66 69 72 73 76 -57 59 60 63 66 69 -74 71 70 67 65 63 60 58 -51 53 54 57 59 -86 88 90 91 94 -68 71 74 77 79 81 83 -76 74 71 68 67 -81 79 78 76 74 -43 45 48 51 54 55 58 59 -84 82 81 80 79 78 76 75 -49 51 53 54 57 60 -37 39 41 44 47 50 -65 68 69 70 73 74 77 79 -91 90 88 85 82 -23 25 26 29 32 34 -41 42 45 48 50 -64 61 59 57 54 51 50 -23 25 26 29 30 33 35 -19 16 14 12 10 -79 80 81 82 85 -36 37 38 40 43 44 46 49 -60 61 62 63 66 -46 45 43 42 40 -49 52 55 57 60 -14 15 18 19 20 21 -98 96 95 94 93 90 89 86 -76 77 78 79 81 -18 15 13 11 10 7 6 4 -34 35 37 38 41 44 46 48 -35 32 29 28 27 25 -78 80 83 86 88 -87 84 82 80 79 78 77 -75 72 70 69 67 -90 92 94 95 97 98 -36 33 31 28 26 25 23 -50 52 54 56 57 58 59 62 -56 57 58 61 62 63 66 -81 80 79 78 75 74 -20 21 22 23 24 26 -45 47 48 49 51 53 -39 41 43 45 47 49 51 52 -18 20 22 23 26 -18 20 21 24 26 29 -25 23 20 17 14 12 9 6 -12 15 16 18 20 23 25 27 -10 13 16 19 22 23 24 -98 95 92 91 89 86 85 83 -14 16 17 19 21 23 25 -5 6 9 11 12 13 14 -66 64 63 62 60 -50 49 46 45 43 -87 86 83 82 81 80 -34 31 30 29 27 24 21 20 -28 25 24 23 22 19 18 -66 64 62 60 58 -57 56 53 52 50 -48 50 52 54 57 58 61 -65 68 70 72 74 -11 8 6 5 2 -30 29 27 25 22 21 -52 55 56 57 59 62 65 67 -78 76 75 72 70 69 66 63 -5 8 10 13 16 18 19 20 -31 28 27 24 21 19 -32 34 35 38 40 43 -23 26 29 30 32 -87 86 83 81 78 77 75 -35 37 39 42 45 -72 73 76 78 79 82 85 86 -78 75 73 71 70 67 66 63 -72 70 69 66 63 -48 46 43 40 39 36 35 -2 4 6 7 8 10 -88 90 91 93 96 98 -66 69 70 73 75 -28 26 23 22 21 18 15 -12 14 17 19 20 21 24 25 -20 17 16 14 13 11 8 -30 27 25 22 21 19 -50 47 46 44 43 42 40 -91 88 85 83 80 78 -59 60 63 66 68 -42 44 45 46 49 51 53 55 -82 80 77 74 71 70 -13 11 10 9 7 6 3 -69 66 64 61 58 -61 58 55 54 53 52 51 -25 23 20 19 16 -21 23 26 29 32 34 35 -22 23 25 26 29 -25 24 21 20 19 18 -48 51 54 55 57 58 59 -23 25 28 31 34 36 -40 41 44 46 49 50 -83 81 78 75 74 -16 19 20 23 26 29 30 31 -14 13 12 9 6 -77 76 74 71 70 69 -75 73 72 69 66 63 -50 52 54 56 59 60 -53 50 49 46 44 43 41 -18 16 13 12 9 8 -26 24 22 19 16 -44 42 39 36 34 -37 40 41 44 47 49 50 52 -8 9 10 13 14 17 -54 56 57 59 61 62 64 -54 56 59 61 63 -14 13 11 10 9 6 5 2 -63 65 68 69 72 74 75 -70 69 67 66 63 61 58 -64 67 70 73 74 76 -40 39 37 36 35 34 31 30 -45 42 41 39 36 33 30 -61 59 57 54 53 50 -31 33 34 35 37 -38 40 43 44 46 49 -36 38 41 43 44 46 49 50 -63 62 61 60 58 56 -15 12 10 8 7 6 5 -42 45 47 50 53 55 -57 56 54 53 50 48 47 -13 10 8 7 6 -86 85 83 81 78 76 74 71 -44 43 42 40 38 -33 31 28 27 24 22 21 -72 70 69 68 67 66 63 62 -58 60 63 66 68 71 72 73 -29 30 33 36 38 39 -11 8 6 3 1 -33 32 31 29 27 25 24 -53 56 58 61 64 -60 58 56 55 54 51 -67 70 71 73 75 -3 5 7 9 12 13 16 -28 29 30 33 36 -40 37 36 33 32 30 -22 19 16 13 11 -25 28 30 33 34 36 37 -32 34 36 37 40 42 44 -23 22 20 19 18 16 13 -59 61 63 64 66 69 71 -30 29 28 26 25 22 20 -60 61 62 65 68 -61 64 67 70 72 -48 47 45 44 42 39 37 36 -77 79 80 83 85 87 -29 31 33 34 36 38 -6 8 11 13 16 17 18 21 -98 97 94 92 91 88 87 84 -35 34 33 32 30 27 26 -87 89 90 92 95 -10 9 8 5 4 3 -68 69 70 73 74 77 79 -63 60 58 55 53 50 -68 71 72 75 77 -34 36 39 40 43 44 -20 22 23 26 28 -48 46 44 42 39 38 -96 94 91 88 85 83 80 78 -79 76 74 73 71 70 67 64 -26 24 21 20 19 16 -67 69 71 73 76 77 80 -72 71 70 67 65 -60 57 55 54 53 51 50 47 -72 73 76 78 79 80 81 83 -64 67 69 70 72 73 74 -41 42 45 48 49 51 52 55 -85 88 89 90 91 94 95 98 -96 93 91 89 86 85 83 -72 71 68 66 63 -86 89 91 92 95 96 -35 38 39 41 44 45 -12 15 16 18 21 22 24 -65 63 60 59 57 54 52 -37 34 31 29 27 25 22 19 \ No newline at end of file diff --git a/Inputs/Day20.txt b/Inputs/Day20.txt deleted file mode 100644 index e6db4ca..0000000 --- a/Inputs/Day20.txt +++ /dev/null @@ -1,141 +0,0 @@ -############################################################################################################################################# -#.......#...#.......#...#.....#...###...............###.......#...#...#...#.....#.......###.....#...................###.....................# -#.#####.#.#.#.#####.#.#.#.###.#.#.###.#############.###.#####.#.#.#.#.#.#.#.###.#.#####.###.###.#.#################.###.###################.# -#.#...#.#.#.#.....#.#.#.#...#.#.#.#...#...#...#...#...#.....#.#.#.#.#.#.#...#...#.#.....#...#...#.........#.........#...#.................#.# -#.#.#.#.#.#.#####.#.#.#.###.#.#.#.#.###.#.#.#.#.#.###.#####.#.#.#.#.#.#.#####.###.#.#####.###.###########.#.#########.###.###############.#.# -#...#.#.#.#.#...#.#.#.#.....#.#.#.#...#.#...#...#...#...#...#.#.#.#.#.#.....#...#.#...###...#...#.....###.#...#...#...#...###...........#...# -#####.#.#.#.#.#.#.#.#.#######.#.#.###.#.###########.###.#.###.#.#.#.#.#####.###.#.###.#####.###.#.###.###.###.#.#.#.###.#####.#########.##### -#.....#...#...#...#...#.......#.#.###.#.###...#...#.#...#...#.#.#.#.#.#.....#...#.#...#.....#...#.#...#...#...#.#.#.#...#.....#.....#...#...# -#.#####################.#######.#.###.#.###.#.#.#.#.#.#####.#.#.#.#.#.#.#####.###.#.###.#####.###.#.###.###.###.#.#.#.###.#####.###.#.###.#.# -#.....#.......#.....#...#...#...#...#...#...#...#...#.......#.#.#.#.#.#.#.....###.#...#.....#.###.#.#...#...#...#...#...#...#...###...###.#.# -#####.#.#####.#.###.#.###.#.#.#####.#####.###################.#.#.#.#.#.#.#######.###.#####.#.###.#.#.###.###.#########.###.#.###########.#.# -#.....#.#...#...#...#...#.#.#.#.....#...#...............#...#...#.#.#...#...#...#.#...#...#.#.#...#.#.#...###.......#...#...#...#...#...#.#.# -#.#####.#.#.#####.#####.#.#.#.#.#####.#.###############.#.#.#####.#.#######.#.#.#.#.###.#.#.#.#.###.#.#.###########.#.###.#####.#.#.#.#.#.#.# -#.#...#.#.#...#...#...#...#.#.#.#...#.#...#...#.....###...#...#...#.#.......#.#.#.#.#...#.#.#.#...#.#.#.###...#...#.#...#...#...#.#.#.#.#.#.# -#.#.#.#.#.###.#.###.#.#####.#.#.#.#.#.###.#.#.#.###.#########.#.###.#.#######.#.#.#.#.###.#.#.###.#.#.#.###.#.#.#.#.###.###.#.###.#.#.#.#.#.# -#...#...#...#.#.....#...#...#.#.#.#.#...#.#.#.#...#.#.....#...#.....#.......#.#...#...#...#.#...#.#...#...#.#.#.#.#.#...###.#.#...#...#...#.# -###########.#.#########.#.###.#.#.#.###.#.#.#.###.#.#.###.#.###############.#.#########.###.###.#.#######.#.#.#.#.#.#.#####.#.#.###########.# -###...#...#.#.###.......#...#.#...#.###.#.#.#.....#.#.#...#.....#.........#.#.#.......#.#...#...#...#.....#.#.#.#.#.#.#...#.#.#...#.........# -###.#.#.#.#.#.###.#########.#.#####.###.#.#.#######.#.#.#######.#.#######.#.#.#.#####.#.#.###.#####.#.#####.#.#.#.#.#.#.#.#.#.###.#.######### -#...#...#...#...#.........#...#.....#...#.#...#.....#.#.#...###.#.#.....#...#...#.....#...#...#...#.#.....#.#.#.#...#...#...#.#...#...#.....# -#.#############.#########.#####.#####.###.###.#.#####.#.#.#.###.#.#.###.#########.#########.###.#.#.#####.#.#.#.#############.#.#####.#.###.# -#.............#.#...#...#.....#.#...#...#.....#...#...#.#.#.....#.#.#...###.....#.........#...#.#.#.#.....#.#...#...#...#...#...#.....#...#.# -#############.#.#.#.#.#.#####.#.#.#.###.#########.#.###.#.#######.#.#.#####.###.#########.###.#.#.#.#.#####.#####.#.#.#.#.#.#####.#######.#.# -#.............#.#.#.#.#.#.....#...#.###.........#...#...#.....#...#.#.#...#.#...#.......#.#...#.#...#.#...#.#.....#...#...#.#.....#.....#.#.# -#.#############.#.#.#.#.#.#########.###########.#####.#######.#.###.#.#.#.#.#.###.#####.#.#.###.#####.#.#.#.#.#############.#.#####.###.#.#.# -#.............#...#.#.#.#.......#...#...#...###.....#...#.....#.#...#.#.#.#.#...#.#...#...#.###.....#...#...#.........#...#...#...#...#...#.# -#############.#####.#.#.#######.#.###.#.#.#.#######.###.#.#####.#.###.#.#.#.###.#.#.#.#####.#######.#################.#.#.#####.#.###.#####.# -#.........###.....#.#.#...#.....#.#...#...#.....###...#.#.....#.#...#.#.#...#S..#...#.....#.#...###.....#.............#.#.......#...#...#...# -#.#######.#######.#.#.###.#.#####.#.###########.#####.#.#####.#.###.#.#.#################.#.#.#.#######.#.#############.###########.###.#.### -#.#.....#...#.....#.#...#.#.....#.#.......#.....#...#.#...###.#.###.#.#.#######...#.......#.#.#.....#...#.....#...#...#.#...........#...#...# -#.#.###.###.#.#####.###.#.#####.#.#######.#.#####.#.#.###.###.#.###.#.#.#######.#.#.#######.#.#####.#.#######.#.#.#.#.#.#.###########.#####.# -#.#.###.#...#.....#.###.#.#.....#.#...#...#.#...#.#.#.#...#...#.#...#...###...#.#.#...#...#.#.#.....#...#.....#.#.#.#.#.#.....#.....#...#...# -#.#.###.#.#######.#.###.#.#.#####.#.#.#.###.#.#.#.#.#.#.###.###.#.#########.#.#.#.###.#.#.#.#.#.#######.#.#####.#.#.#.#.#####.#.###.###.#.### -#...#...#...#.....#.#...#.#.....#.#.#.#.#...#.#.#.#.#.#.###...#.#.#########.#.#.#.###...#.#.#.#.#...###.#.......#...#...#...#.#.#...#...#...# -#####.#####.#.#####.#.###.#####.#.#.#.#.#.###.#.#.#.#.#.#####.#.#.#########.#.#.#.#######.#.#.#.#.#.###.#################.#.#.#.#.###.#####.# -#...#.....#.#.....#.#...#.#.....#...#...#...#.#.#.#...#.#...#.#...#####.....#.#.#.#.....#.#.#.#...#...#.#.....#.....#.....#...#.#.....#.....# -#.#.#####.#.#####.#.###.#.#.###############.#.#.#.#####.#.#.#.#########.#####.#.#.#.###.#.#.#.#######.#.#.###.#.###.#.#########.#######.##### -#.#.#...#.#.#.....#.....#...#...........#...#.#.#...###.#.#.#.......###...###...#.#...#.#.#...#.......#.#...#.#.#...#.......###.#.......#...# -#.#.#.#.#.#.#.###############.#########.#.###.#.###.###.#.#.#######.#####.#######.###.#.#.#####.#######.###.#.#.#.#########.###.#.#######.#.# -#.#...#...#...#...#.....#.....#...#.....#.#...#.#...#...#.#.#.......#####.....###...#.#.#.....#.........#...#...#...........#...#.........#.# -#.#############.#.#.###.#.#####.#.#.#####.#.###.#.###.###.#.#.###############.#####.#.#.#####.###########.###################.#############.# -#...#.......#...#...###.#.#.....#...#...#.#.###.#.#...#...#.#.......#####.....#...#.#.#.#...#.....#.......#...#...###...#...#.#.....#.......# -###.#.#####.#.#########.#.#.#########.#.#.#.###.#.#.###.###.#######.#####.#####.#.#.#.#.#.#.#####.#.#######.#.#.#.###.#.#.#.#.#.###.#.####### -###...#.....#.###.......#.#.....#...#.#.#...#...#.#...#...#.#.....#.#####...#...#...#.#.#.#.#.....#...#...#.#.#.#.#...#...#...#...#.#.......# -#######.#####.###.#######.#####.#.#.#.#.#####.###.###.###.#.#.###.#.#######.#.#######.#.#.#.#.#######.#.#.#.#.#.#.#.#############.#.#######.# -###.....#...#.#...#.......#...#.#.#...#.....#.#...###...#.#.#.#...#...###...#.....#...#.#.#...###...#...#.#.#...#.#.#.............#.........# -###.#####.#.#.#.###.#######.#.#.#.#########.#.#.#######.#.#.#.#.#####.###.#######.#.###.#.#######.#.#####.#.#####.#.#.####################### -#...#.....#...#.....#...#...#...#.#.........#.#.###.....#.#.#.#...#...###.###.....#.#...#...#.....#.......#.#.....#.#.#.........#...........# -#.###.###############.#.#.#######.#.#########.#.###.#####.#.#.###.#.#####.###.#####.#.#####.#.#############.#.#####.#.#.#######.#.#########.# -#.#...###...#.........#.#.....#...#.....#...#.#...#.....#.#.#.###.#...#E#...#.....#.#.....#.#...............#.......#...#.......#.#.........# -#.#.#####.#.#.#########.#####.#.#######.#.#.#.###.#####.#.#.#.###.###.#.###.#####.#.#####.#.#############################.#######.#.######### -#...#.....#...#.......#.......#.#.......#.#.#.....#.....#.#.#.#...#...#.#...###...#.#.....#.#.................#...#.....#.........#.........# -#####.#########.#####.#########.#.#######.#.#######.#####.#.#.#.###.###.#.#####.###.#.#####.#.###############.#.#.#.###.###################.# -#...#...........#...#...#...#...#.........#.....###.....#.#.#.#...#...#...###...#...#.....#.#.#...#.........#.#.#.#...#...#.....#...........# -#.#.#############.#.###.#.#.#.#################.#######.#.#.#.###.###.#######.###.#######.#.#.#.#.#.#######.#.#.#.###.###.#.###.#.########### -#.#.....#.........#...#...#...#.........#.....#...#...#.#.#.#...#...#...###...#...#.......#.#.#.#...#...#...#...#.#...###...#...#...........# -#.#####.#.###########.#########.#######.#.###.###.#.#.#.#.#.###.###.###.###.###.###.#######.#.#.#####.#.#.#######.#.#########.#############.# -#.....#.#.........#...#...#...#.......#.#.###...#...#.#.#.#.#...###.#...#...#...#...#.....#.#.#.#.....#...#...###...#...#.....#...#...#.....# -#####.#.#########.#.###.#.#.#.#######.#.#.#####.#####.#.#.#.#.#####.#.###.###.###.###.###.#.#.#.#.#########.#.#######.#.#.#####.#.#.#.#.##### -#.....#...#...#...#.....#...#.###.....#...#...#...#...#.#.#.#.....#...###...#...#.#...###...#...#...........#.......#.#.#.#...#.#...#.#.....# -#.#######.#.#.#.#############.###.#########.#.###.#.###.#.#.#####.#########.###.#.#.###############################.#.#.#.#.#.#.#####.#####.# -#...#...#...#...#...#...#...#...#...#...#...#...#...###...#.#.....#...#...#.....#.#.#...###...#.....#...#.........#...#.#...#.#...###.#...#.# -###.#.#.#########.#.#.#.#.#.###.###.#.#.#.#####.###########.#.#####.#.#.#.#######.#.#.#.###.#.#.###.#.#.#.#######.#####.#####.###.###.#.#.#.# -###...#.......#...#...#.#.#...#...#...#.#.#.....#...#...###.#.....#.#...#.#.....#...#.#.#...#.#...#...#...###...#.......###...#...#...#.#...# -#############.#.#######.#.###.###.#####.#.#.#####.#.#.#.###.#####.#.#####.#.###.#####.#.#.###.###.###########.#.###########.###.###.###.##### -#...#...#.....#.###...#...###...#.....#...#.......#...#...#.#...#.#.#.....#.#...#...#.#.#...#...#.............#...#.......#.....#...#...#...# -#.#.#.#.#.#####.###.#.#########.#####.###################.#.#.#.#.#.#.#####.#.###.#.#.#.###.###.#################.#.#####.#######.###.###.#.# -#.#...#...#...#...#.#...#.....#.....#...#...#.....#.......#...#...#.#...#...#.#...#...#.....#...#...........#...#...#.....###...#.....###.#.# -#.#########.#.###.#.###.#.###.#####.###.#.#.#.###.#.###############.###.#.###.#.#############.###.#########.#.#.#####.#######.#.#########.#.# -#.....#...#.#...#.#...#.#...#.#...#...#.#.#.#...#...#.........###...#...#...#...#...........#.###.#.......#...#.......#...#...#.....#...#.#.# -#####.#.#.#.###.#.###.#.###.#.#.#.###.#.#.#.###.#####.#######.###.###.#####.#####.#########.#.###.#.#####.#############.#.#.#######.#.#.#.#.# -#.....#.#...###...###.#.....#...#.....#.#.#...#.###...#.....#.....#...#.....#.....#.......#.#...#.#.#.....#...#...###...#...#.......#.#...#.# -#.#####.#############.#################.#.###.#.###.###.###.#######.###.#####.#####.#####.#.###.#.#.#.#####.#.#.#.###.#######.#######.#####.# -#.....#.#...........#.......#...#...###...###.#.....#...#...#...#...###.......#...#...#...#...#.#...#.......#...#.....#.......###.....#.....# -#####.#.#.#########.#######.#.#.#.#.#########.#######.###.###.#.#.#############.#.###.#.#####.#.#######################.#########.#####.##### -#.....#.#.........#.........#.#.#.#.........#.....#...###.....#...#.........#...#.....#.......#.#...#...................#...#...#.....#.....# -#.#####.#########.###########.#.#.#########.#####.#.###############.#######.#.#################.#.#.#.###################.#.#.#.#####.#####.# -#.......#.........#.........#.#...#...#...#.....#.#.#.............#.......#.#.......#.....#...#...#...#...#...#...#...###.#.#.#.#...#.#.....# -#########.#########.#######.#.#####.#.#.#.#####.#.#.#.###########.#######.#.#######.#.###.#.#.#########.#.#.#.#.#.#.#.###.#.#.#.#.#.#.#.##### -###.......#...#...#.#.......#.#.....#...#.#...#.#...#.#.......#...#...#...#.........#.#...#.#.....#.....#...#...#...#.....#...#...#...#.....# -###.#######.#.#.#.#.#.#######.#.#########.#.#.#.#####.#.#####.#.###.#.#.#############.#.###.#####.#.#######################################.# -#...#.......#...#...#.........#.........#...#...#.....#.....#.#.#...#.#.........#...#.#...#...#...#.#.......#.....#.......#...#...#...#...#.# -#.###.#################################.#########.#########.#.#.#.###.#########.#.#.#.###.###.#.###.#.#####.#.###.#.#####.#.#.#.#.#.#.#.#.#.# -#.....#...#...#...#...#...#...#...#.....#.......#...#.......#...#.#...#.....###...#...###...#.#...#.#.#...#...###...#...#...#.#.#.#.#.#.#...# -#######.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####.#####.###.#.###########.#.###.###.###############.#.###.#.#.#.#.###########.#.#####.#.#.#.#.#.##### -#.......#...#.#.#.#.#...#.#.#...#...#...#.#.....#...#.###.....#...#...#...#.#...#...#...###.#...#.#.#...#.#...........#.....#...#.#.#...#...# -#.###########.#.#.#.#####.#.#########.#.#.#.#####.###.###.###.#.#####.###.#.#.#.#.#.#.#.###.###.#.#.#####.#.###############.#####.#.#####.#.# -#...........#.#.#.#.....#.#.........#.#...#...#...#...#...#...#.....#.#...#.#.#...#.#.#.#...#...#...#.....#.#.......#.....#.....#...#...#.#.# -###########.#.#.#.#####.#.#########.#.#######.#.###.###.###.#######.#.#.###.#.#####.#.#.#.###.#######.#####.#.#####.#.###.#####.#####.#.#.#.# -#.....#...#.#.#.#.#...#.#.....#...#...#.......#...#.###.#...#.......#.#...#.#.....#...#.#...#.#.....#.......#.....#...###.......#.....#...#.# -#.###.#.#.#.#.#.#.#.#.#.#####.#.#.#####.#########.#.###.#.###.#######.###.#.#####.#####.###.#.#.###.#############.###############.#########.# -#...#.#.#...#...#...#...#...#...#.....#...#...#...#...#.#.###.......#.#...#.###...#.....###...#...#.............#...#...#.....#...#.........# -###.#.#.#################.#.#########.###.#.#.#.#####.#.#.#########.#.#.###.###.###.#############.#############.###.#.#.#.###.#.###.######### -#...#.#.........#.....#...#.#.......#...#...#.#.#.....#.#.#...#.....#.#...#.....#...#.....###...#.....#.......#...#...#...#...#.#...#.......# -#.###.#########.#.###.#.###.#.#####.###.#####.#.#.#####.#.#.#.#.#####.###.#######.###.###.###.#.#####.#.#####.###.#########.###.#.###.#####.# -#...#.#.........#.#...#...#...#...#...#.......#.#.###...#.#.#.#.....#.###.......#...#...#...#.#.......#.#.....###...........#...#.....#...#.# -###.#.#.#########.#.#####.#####.#.###.#########.#.###.###.#.#.#####.#.#########.###.###.###.#.#########.#.###################.#########.#.#.# -#...#...#...#...#.#...#...###...#.....###...###.#...#...#.#.#.###...#.#...#...#...#...#.#...#.........#.#.#...###...###.......#.....#...#...# -#.#######.#.#.#.#.###.#.#####.###########.#.###.###.###.#.#.#.###.###.#.#.#.#.###.###.#.#.###########.#.#.#.#.###.#.###.#######.###.#.####### -#.......#.#.#.#.#.#...#.#...#...........#.#...#...#...#.#.#.#...#...#...#...#.###...#...#.#.....#...#...#...#...#.#.#...#.......###.#.......# -#######.#.#.#.#.#.#.###.#.#.###########.#.###.###.###.#.#.#.###.###.#########.#####.#####.#.###.#.#.###########.#.#.#.###.#########.#######.# -#.......#.#...#.#.#.....#.#.###.......#.#...#.#...#...#.#.#...#...#.#.........#.....#.....#...#.#.#...#.........#.#.#.#...#...#...#.#...#...# -#.#######.#####.#.#######.#.###.#####.#.###.#.#.###.###.#.###.###.#.#.#########.#####.#######.#.#.###.#.#########.#.#.#.###.#.#.#.#.#.#.#.### -#...#...#.....#...###.....#.....#...#...###.#.#...#.###.#.###...#.#.#.#...#...#.....#.#...###.#.#...#.#.....###...#...#.....#...#.#.#.#.#...# -###.#.#.#####.#######.###########.#.#######.#.###.#.###.#.#####.#.#.#.#.#.#.#.#####.#.#.#.###.#.###.#.#####.###.#################.#.#.#.###.# -#...#.#...#...#.......#...........#.#...#...#.#...#.#...#.#...#.#...#...#.#.#.#...#.#.#.#...#.#.#...#.#...#...#.#.................#...#.#...# -#.###.###.#.###.#######.###########.#.#.#.###.#.###.#.###.#.#.#.#########.#.#.#.#.#.#.#.###.#.#.#.###.#.#.###.#.#.#####################.#.### -#...#...#...###.....#...#...........#.#.#...#.#.###.#...#...#.#.......#...#.#.#.#.#.#...###...#.#.###.#.#...#...#.###.................#.#...# -###.###.###########.#.###.###########.#.###.#.#.###.###.#####.#######.#.###.#.#.#.#.###########.#.###.#.###.#####.###.###############.#.###.# -###...#.#...........#.#...#...#.....#.#...#.#.#.#...#...###...#...#...#...#.#...#.#.....#.......#...#.#.#...#...#.....#...#...........#...#.# -#####.#.#.###########.#.###.#.#.###.#.###.#.#.#.#.###.#####.###.#.#.#####.#.#####.#####.#.#########.#.#.#.###.#.#######.#.#.#############.#.# -#.....#.#.....#.......#.....#.#.#...#.###.#.#.#.#...#.....#.#...#.#.....#.#...#...#.....#...#...#...#...#...#.#.....#...#.#...###...#...#...# -#.#####.#####.#.#############.#.#.###.###.#.#.#.###.#####.#.#.###.#####.#.###.#.###.#######.#.#.#.#########.#.#####.#.###.###.###.#.#.#.##### -#...#...#.....#...#...........#.#.#...#...#.#...#...#...#.#.#.###.....#.#.#...#...#.......#.#.#.#...#.......#.....#...###...#.....#...#.....# -###.#.###.#######.#.###########.#.#.###.###.#####.###.#.#.#.#.#######.#.#.#.#####.#######.#.#.#.###.#.###########.#########.###############.# -#...#...#.#.......#.........#...#.#...#...#...#...#...#.#.#.#.#.......#.#...#.....#.......#...#.....#.....#.....#.....#.....#...#...........# -#.#####.#.#.###############.#.###.###.###.###.#.###.###.#.#.#.#.#######.#####.#####.#####################.#.###.#####.#.#####.#.#.########### -#...#...#.#.#...............#.#...#...#...#...#...#...#...#.#.#...#...#...###.#...#.....#.......#.........#.#...#...#.#.....#.#.#.........### -###.#.###.#.#.###############.#.###.###.###.#####.###.#####.#.###.#.#.###.###.#.#.#####.#.#####.#.#########.#.###.#.#.#####.#.#.#########.### -#...#.#...#.#.....#.........#.#...#...#...#...###...#.#...#...#...#.#...#...#.#.#.#.....#.#.....#.........#.#...#.#...#...#...#.#...#...#...# -#.###.#.###.#####.#.#######.#.###.###.###.###.#####.#.#.#.#####.###.###.###.#.#.#.#.#####.#.#############.#.###.#.#####.#.#####.#.#.#.#.###.# -#...#.#.#...#.....#.###.....#.#...#...###...#.....#.#...#.....#.#...#...#...#.#.#.#.......#.....#.........#...#.#.......#...#...#.#.#.#...#.# -###.#.#.#.###.#####.###.#####.#.###.#######.#####.#.#########.#.#.###.###.###.#.#.#############.#.###########.#.###########.#.###.#.#.###.#.# -###.#.#.#...#.....#.#...#...#.#...#.#.......#...#.#...#.....#.#...###...#.###...#...#.....#.....#.#...#.....#.#.#.....#.....#.....#.#...#.#.# -###.#.#.###.#####.#.#.###.#.#.###.#.#.#######.#.#.###.#.###.#.#########.#.#########.#.###.#.#####.#.#.#.###.#.#.#.###.#.###########.###.#.#.# -#...#.#.....#...#.#.#.....#...###...#.#...#...#...###.#...#.#.#.........#...#.......#.###.#.....#...#.#.###...#.#...#.#...........#...#.#.#.# -#.###.#######.#.#.#.#################.#.#.#.#########.###.#.#.#.###########.#.#######.###.#####.#####.#.#######.###.#.###########.###.#.#.#.# -#...#.#.......#...#.#.................#.#.#.#.....#...#...#...#...#.....#...#...#.....#...#...#.###...#...#.....#...#.#...........###.#.#.#.# -###.#.#.###########.#.#################.#.#.#.###.#.###.#########.#.###.#.#####.#.#####.###.#.#.###.#####.#.#####.###.#.#############.#.#.#.# -###.#.#...#...#...#.#.........#...#...#.#...#...#.#...#.....#...#...#...#.....#.#.###...#...#.#...#.....#.#.#...#.###...#...###.....#...#...# -###.#.###.#.#.#.#.#.#########.#.#.#.#.#.#######.#.###.#####.#.#.#####.#######.#.#.###.###.###.###.#####.#.#.#.#.#.#######.#.###.###.######### -#...#.###...#...#...#.........#.#.#.#.#.....#...#.....#...#...#.....#...#...#.#.#.#...#...###...#.#.....#.#...#.#.........#.....#...#...#...# -#.###.###############.#########.#.#.#.#####.#.#########.#.#########.###.#.#.#.#.#.#.###.#######.#.#.#####.#####.#################.###.#.#.#.# -#.....#...#...........#.......#.#.#.#...#...#...#...#...#.#.........#...#.#.#.#...#...#.###...#...#.#.....#.....#...#...........#.....#...#.# -#######.#.#.###########.#####.#.#.#.###.#.#####.#.#.#.###.#.#########.###.#.#.#######.#.###.#.#####.#.#####.#####.#.#.#########.###########.# -#.....#.#.#...#...#...#.###...#.#.#.#...#.#.....#.#.#...#.#.....#...#.....#.#.#.......#.....#.#.....#.....#...#...#.#.........#...#.........# -#.###.#.#.###.#.#.#.#.#.###.###.#.#.#.###.#.#####.#.###.#.#####.#.#.#######.#.#.#############.#.#########.###.#.###.#########.###.#.######### -#...#...#.....#.#.#.#.#.#...#...#.#.#...#.#.#...#.#.#...#.#...#...#.......#.#.#...#...#...#...#...#...#...#...#.#...#...#...#...#.#.........# -###.###########.#.#.#.#.#.###.###.#.###.#.#.#.#.#.#.#.###.#.#.###########.#.#.###.#.#.#.#.#.#####.#.#.#.###.###.#.###.#.#.#.###.#.#########.# -###.............#...#...#.....###...###...#...#...#...###...#.............#...###...#...#...#####...#...###.....#.....#...#.....#...........# -############################################################################################################################################# \ No newline at end of file diff --git a/Inputs/Day21.txt b/Inputs/Day21.txt deleted file mode 100644 index dd73dfd..0000000 --- a/Inputs/Day21.txt +++ /dev/null @@ -1,5 +0,0 @@ -029A -980A -179A -456A -379A \ No newline at end of file diff --git a/Inputs/Day22.txt b/Inputs/Day22.txt deleted file mode 100644 index eedb871..0000000 --- a/Inputs/Day22.txt +++ /dev/null @@ -1,2244 +0,0 @@ -15128584 -6068642 -7066151 -16392702 -8788373 -13251978 -15797919 -5732966 -6254127 -14185894 -5032674 -16293660 -4780212 -629716 -7236015 -5891210 -9512401 -3140367 -12220456 -13628379 -9885666 -7035570 -8487857 -13623527 -5341695 -4961233 -316871 -12730720 -916742 -11291897 -15171099 -11772384 -6452140 -5221285 -4123328 -3552893 -11240482 -6886784 -15497562 -13638438 -12443026 -15789873 -5861024 -2875740 -12092840 -3384525 -13227689 -8903326 -11971978 -5427852 -1207235 -10794588 -2618855 -8922199 -8711844 -8400184 -15273604 -829930 -13090055 -2879242 -4623970 -1475844 -5375692 -6394703 -12189086 -15749360 -14227667 -13463915 -11768192 -10713101 -6675395 -2420122 -836758 -3669657 -6430479 -16035181 -10055776 -16306938 -16552298 -5529902 -3965725 -12272912 -1544930 -4344781 -260656 -3950807 -5064115 -14399154 -16320556 -12525173 -3575006 -8988465 -12766186 -9698404 -16375378 -10743364 -7128064 -11770095 -5571944 -12637659 -11679442 -7911498 -13301006 -4384536 -4297416 -10425859 -4365057 -3934111 -3851140 -8098852 -1573362 -9457514 -10979254 -4268688 -1239890 -2828683 -1562370 -6714994 -12193303 -12097218 -16234363 -5353063 -13777275 -14032368 -15650448 -5127465 -4150591 -11096605 -11749589 -3070939 -6909870 -4220202 -14493368 -7102472 -1198085 -7890693 -14207308 -12566862 -9031043 -2871534 -5370212 -13408620 -12868566 -6711335 -2157495 -11749384 -13551623 -13158760 -12910164 -4819895 -8454523 -10670955 -6319516 -15455591 -7980037 -3033334 -9742554 -14250764 -16184921 -14440229 -11462686 -11443374 -7956095 -13172939 -14695730 -1424512 -7467075 -15853923 -379003 -1988993 -604884 -300621 -14702422 -7329138 -12738300 -13980133 -15569864 -9356390 -3695003 -12949101 -2260133 -1093426 -4762169 -13028558 -13627645 -11555895 -8969878 -9869776 -3637571 -478367 -6090324 -10199449 -6994934 -10408197 -14348243 -6234645 -2165112 -4405499 -1033586 -10940250 -14261118 -14605880 -12491623 -9369080 -2729741 -262275 -4597333 -4097249 -2636794 -11203444 -7558343 -11612077 -6074844 -3583252 -15191448 -8216765 -7563240 -998693 -12205622 -13553208 -12651152 -1565301 -1507726 -3041974 -4505261 -3116821 -15801922 -4679691 -7239127 -4489087 -15322244 -2235846 -901609 -7927051 -12494041 -13736632 -3026427 -11903683 -14419100 -6631198 -15948004 -8748746 -1314529 -8782096 -14723107 -4954852 -4236295 -16172098 -2146597 -5547632 -2530009 -8574557 -416307 -500817 -1052623 -8552391 -3680995 -13705616 -8950912 -15334184 -11636109 -13000574 -12056307 -11899329 -10483548 -12062462 -7209204 -7392565 -5110439 -15901788 -5140241 -9047664 -16365241 -9389235 -12986455 -8204826 -10881219 -9552169 -2154327 -10031916 -12688016 -15139517 -15162715 -7950641 -8854690 -4279374 -8136189 -3454766 -8788391 -426391 -16611028 -4572977 -16539812 -14121598 -536568 -10119987 -2095385 -13153261 -11760293 -4627263 -6938639 -13329322 -15332915 -16334986 -6870634 -992542 -1551657 -12184256 -2797311 -16567059 -13860603 -7312795 -8365496 -11149177 -16251770 -3940021 -2107320 -5953553 -10231264 -5167987 -4415122 -15152801 -11913880 -6851322 -9831888 -8304326 -4569037 -6458713 -13781410 -10351607 -9709817 -11834651 -1922815 -10244451 -14437505 -11077898 -2099390 -504966 -11293548 -4910634 -10803443 -932908 -12677696 -5356430 -2198139 -903502 -10813908 -11274310 -15362827 -4753391 -11783131 -6032459 -4104673 -1678442 -5325751 -9879093 -7256651 -7632908 -1887458 -6264149 -8057431 -4980458 -11354142 -2760911 -8666479 -7541446 -15555375 -5410180 -8341360 -11850978 -10461117 -16223110 -15398508 -142336 -10619018 -2412140 -3753890 -5183114 -3525601 -1474277 -998987 -9364508 -12565156 -3577260 -13744275 -6852317 -3244066 -7621952 -9379758 -8101407 -10855199 -6948534 -475920 -13427117 -2322520 -5399406 -1930208 -11413960 -4678888 -10061710 -5688393 -1324175 -5175235 -7791828 -8394183 -15681483 -13774740 -12802193 -9376122 -7034763 -3795442 -2912137 -12914080 -16041944 -6386953 -1981647 -1260165 -13859843 -12955987 -13052651 -15833040 -13715859 -16492831 -9154056 -13471673 -12216753 -7203585 -9224291 -2840757 -6169406 -10958471 -12053708 -7235137 -15315770 -4104873 -6196139 -5631691 -3742247 -4292518 -1262299 -4959861 -3386669 -210218 -8727910 -4940802 -3175064 -8478113 -9700167 -14112397 -5233643 -2405319 -5683276 -5291680 -4220526 -10492775 -1194335 -13626351 -6696537 -10184069 -716479 -3744148 -14240521 -10053076 -2657533 -3902612 -15903953 -8697754 -8483854 -12946313 -13473969 -7214547 -11118646 -6246850 -1328438 -12554619 -553531 -742296 -565044 -3347604 -8282115 -3466391 -14225050 -6198389 -5309060 -6029827 -4586709 -3728808 -8324833 -7136411 -15253607 -7361116 -2335874 -2364093 -2025027 -1809983 -14001671 -2961379 -8596074 -3996222 -1457458 -3641136 -15005629 -801849 -11886375 -11793387 -670911 -13327780 -13137055 -10959892 -8691987 -4549451 -585312 -12563903 -6397940 -3310675 -13948558 -15685551 -14895029 -2937337 -15411541 -2176912 -10682216 -15943688 -6739948 -3773544 -6091628 -4258718 -6188544 -2115919 -4454706 -8299827 -3133517 -15670002 -8176638 -11591735 -7289175 -10103154 -4401315 -10064170 -15144011 -5566219 -9340759 -1631796 -13538100 -5186160 -15921578 -7616971 -764685 -11604231 -8687983 -9831954 -4367018 -12945698 -10130720 -15373841 -14325442 -15148576 -5337233 -5534439 -12751680 -7350162 -8038232 -6890126 -1529182 -10637531 -4145713 -3004076 -12515618 -15955816 -15418347 -13797460 -13966438 -16331351 -9324040 -2346110 -13834199 -8377983 -12208932 -13353017 -4874261 -10145014 -8115850 -1035914 -14800010 -13834186 -5674742 -11798526 -15954850 -8335396 -13510527 -15223020 -3453542 -2980385 -6186744 -11186771 -15498752 -2323628 -4723917 -15265332 -8912160 -11085327 -11224120 -1867306 -10001364 -11509870 -9102656 -11978190 -11221813 -11787075 -4607853 -3585383 -14800117 -165836 -11152983 -13678607 -3155681 -1863098 -10177890 -1168982 -12421446 -8368825 -917482 -7051033 -5423720 -15407682 -15914763 -1965810 -2958895 -13609661 -4401068 -15650658 -958900 -13930868 -4772913 -16561264 -8475517 -517825 -4503128 -8062469 -8141010 -14802873 -10606884 -13366539 -15750154 -8702236 -12253602 -12056230 -8053865 -9244797 -10363220 -5752215 -12391386 -16634770 -3200923 -10935854 -8222368 -12554794 -16626252 -14655428 -7686935 -3298512 -6742453 -16689917 -743572 -3799048 -16692205 -8407453 -13908638 -10707479 -13209364 -2033393 -3786207 -13418136 -12401760 -6206016 -13292676 -7532435 -8247133 -9771752 -14241082 -7810708 -1879973 -9270069 -499775 -10045729 -9363613 -13149948 -10720981 -13525532 -8021036 -8817028 -3692512 -4197621 -13540494 -4568634 -14841435 -7391040 -491361 -15056097 -15538451 -11147496 -1182415 -13029396 -10978364 -1720947 -10022563 -4980482 -8458806 -1874649 -14442313 -6231353 -6217553 -13257488 -14811777 -15388821 -446812 -7906300 -3573092 -5845280 -1723721 -656257 -2261943 -12872913 -11454588 -14696036 -11690563 -2323709 -8631820 -6448688 -12065482 -1581078 -5322658 -8131514 -315814 -12110936 -10939279 -12986320 -12883137 -2867629 -15825761 -9909099 -16032424 -12158727 -3462432 -14673709 -4780243 -4836362 -8371050 -15038001 -2609920 -11153344 -15821507 -8497669 -8664197 -3080867 -11608686 -1727573 -16052468 -9818638 -6189738 -7765541 -15910171 -3078086 -3548742 -4461439 -9495972 -11677133 -4106311 -8936777 -11368143 -12195960 -16381056 -8032374 -12940004 -5988870 -2349590 -4008432 -828336 -15869903 -4576572 -15947945 -14051652 -4953160 -6463646 -15188660 -2583972 -7816907 -13976475 -6797025 -10159231 -11928924 -1152694 -901443 -2216041 -11913501 -497793 -13936108 -3667439 -8773481 -15495339 -8356260 -3365391 -9841389 -3306003 -16628660 -16608828 -12572012 -16184625 -13927877 -2376133 -6848262 -1998738 -11718273 -6746357 -14968612 -10662098 -10760469 -3352195 -12689519 -7276305 -13823451 -9496113 -13322291 -3162569 -11677474 -7012437 -808431 -5592993 -6199259 -9287668 -7013564 -12996584 -13934576 -835801 -3893612 -12478571 -1758025 -7066225 -12880174 -5286275 -5921813 -16433347 -8616112 -6562397 -8062563 -1775601 -2010748 -14390274 -1002056 -3238368 -7731333 -14237656 -3277230 -5980780 -8279933 -11805718 -10082151 -10391160 -6850220 -12602127 -6669730 -4802194 -8914869 -13264666 -12003746 -8097931 -13515424 -12849529 -592285 -8394099 -9316152 -5065923 -16490215 -10345673 -9054380 -14278673 -12810728 -9245540 -15426288 -9737609 -5148191 -5459635 -1883727 -10750397 -1180214 -1721429 -10404859 -9605112 -13834848 -4117713 -1770082 -5740188 -10307952 -4032328 -3617880 -664667 -3550897 -13442418 -3610368 -14583960 -12829497 -7947275 -5255854 -10982358 -3764347 -4797905 -10919603 -3464942 -1207025 -2336746 -15168088 -2450817 -5774908 -13096729 -13097431 -356377 -14769056 -7206787 -725121 -15679875 -13068197 -3907122 -6255794 -14995147 -526253 -14521693 -8249979 -520140 -8246194 -2399416 -15667785 -3783766 -15979172 -10626693 -7023907 -11556191 -2146532 -15766300 -4957011 -13641806 -7159551 -3520451 -1364089 -11477204 -9040684 -10532163 -9079915 -2714278 -12960068 -12251047 -2268722 -8641546 -7436973 -14687398 -7176662 -12600093 -14981457 -12333842 -4795780 -15355555 -16516594 -982094 -3724026 -11744837 -12964413 -3484514 -6687196 -11305542 -10676647 -3558558 -16425707 -3153389 -15841433 -8279799 -10261959 -2248519 -7196548 -12318303 -6766362 -14299200 -9877119 -4601402 -6448832 -10034606 -14161264 -7112166 -2320529 -8543840 -234562 -8208583 -13842979 -15563829 -14511507 -7413978 -16316368 -10795205 -3841048 -5445631 -3927812 -1987655 -6309717 -3725932 -312999 -9864507 -15535772 -4351373 -1518622 -11720581 -1503483 -4690821 -5914415 -16244668 -10073491 -11238952 -9274529 -3721448 -5388544 -13522364 -14504503 -3874039 -12923313 -13646382 -13896207 -9468165 -7052715 -3770785 -322370 -11252430 -6479833 -10714947 -8733932 -6992508 -7196966 -15370788 -9714556 -7350436 -647586 -11579306 -11372927 -7399722 -10649483 -4450467 -14837932 -4357804 -6878336 -4234622 -15894865 -15811609 -16243748 -2111094 -151711 -9869609 -10048115 -15120752 -14212546 -1347534 -13599323 -5921398 -730367 -1608129 -1365652 -654922 -16585546 -7457774 -11185816 -4741724 -13149989 -14225115 -790357 -889801 -14055626 -4709586 -6404742 -10490217 -10141387 -16338479 -8898528 -12406035 -5153163 -13889297 -15736822 -3706700 -10226212 -8236395 -2416994 -14680160 -6497331 -12210319 -12258543 -10275746 -15587686 -6601006 -8590500 -15810322 -14396525 -8120346 -969483 -15793164 -1690398 -15484971 -11101138 -339678 -15790207 -1575459 -1237943 -6106167 -5239408 -14710202 -3122119 -14298679 -12289926 -16723614 -14942848 -16758994 -12587939 -10464429 -13603762 -12093345 -3537047 -5177751 -6626808 -12124116 -13833990 -5163171 -5732743 -13418791 -8889986 -1535360 -7563095 -13171196 -11359648 -3822012 -15214849 -13700744 -6846325 -4887512 -13232252 -3769092 -2938545 -16647145 -12761753 -3675740 -5194544 -6630936 -4624214 -15128416 -16644209 -8269991 -2557781 -3445719 -6630934 -6784657 -7384424 -4014089 -7819798 -16193402 -11222464 -1468495 -2499273 -5447219 -7383409 -15271472 -2547869 -16060135 -9343984 -9595192 -13014934 -7350737 -16500962 -7510608 -6865738 -12928325 -8468969 -2793669 -11974763 -2381549 -13602352 -416639 -9236571 -6553122 -7880528 -4509902 -10021261 -16366995 -3551406 -12426620 -5725685 -10911393 -8593069 -8180019 -8348372 -15174238 -10824192 -9661778 -4267709 -6576252 -2494516 -6151266 -5136032 -6275354 -1948867 -1123850 -189722 -618771 -14165336 -15140401 -8782666 -1343017 -13217675 -7284820 -9716642 -14024519 -6061596 -7336619 -706888 -11489829 -14958293 -14612878 -2020516 -9685096 -2926692 -11758609 -12757956 -12499156 -1081340 -8761374 -15545944 -15475214 -1141056 -9810086 -7924955 -6046202 -6887135 -3794051 -16481442 -4631587 -16306027 -9190020 -9019977 -15583241 -9123651 -3498000 -2841846 -16471018 -8027646 -11558163 -11901629 -7800398 -1208987 -10253239 -14281794 -5439053 -1416594 -5201250 -10123139 -6096285 -14535242 -4408017 -5196404 -7288131 -3330499 -16360444 -266713 -12594175 -5301754 -1728338 -11405951 -13263253 -1175659 -8081529 -12676751 -10502529 -12461355 -9295447 -7506290 -7567317 -2819943 -5558365 -5414471 -15167909 -1673872 -6569325 -8239753 -4951241 -9600338 -4727945 -1963009 -11941502 -4798294 -12743314 -1651136 -4424478 -10537222 -15940065 -14808881 -11546631 -16667640 -13800007 -9660901 -2486699 -12016447 -10560328 -7234084 -4009932 -15260593 -11610285 -6645400 -2326293 -6415693 -5708983 -7428327 -14956119 -15451954 -8442898 -2352711 -13253913 -1648400 -10160257 -1757295 -15320456 -14781107 -1339617 -14834578 -7670601 -15654467 -10326401 -12376377 -4964435 -8831736 -16545876 -2808094 -7386770 -1265740 -1197653 -11807793 -1644022 -11682930 -14384358 -12975694 -8218695 -7616391 -12180312 -6616059 -16690230 -12486409 -5218530 -10667742 -2753805 -6200414 -8800900 -3954811 -5988773 -15900849 -6522109 -14803677 -11688294 -8737286 -901608 -5623239 -15111817 -2795632 -3178102 -5828610 -16015151 -2256457 -8272605 -6394683 -9007207 -6845147 -255373 -12554456 -12223713 -2433836 -6172073 -5778171 -2687428 -925888 -12451546 -15397311 -8563923 -16441555 -14491323 -8707472 -11576609 -5369856 -16409433 -8769334 -7313492 -8820103 -5553192 -7444710 -13643721 -4859465 -1825960 -14386295 -10264556 -12796198 -1239967 -4236637 -13313650 -4900035 -11693139 -10882263 -8779650 -8773867 -13533809 -2279222 -2020159 -9239366 -10462890 -10827235 -8800961 -15726570 -355046 -10776076 -4391478 -3672390 -10857216 -8422344 -12270465 -13608965 -12956552 -12226456 -933556 -7496191 -11392201 -4291820 -12269952 -15101660 -2322059 -9287305 -8958430 -1343752 -10338938 -6763840 -10373177 -3156331 -10051842 -5482896 -2504622 -8053735 -4423836 -10356042 -14325030 -10551510 -16534286 -10869374 -6219165 -10491071 -166148 -12409940 -5455413 -8540708 -15731632 -1607823 -10818426 -694708 -13162378 -14782673 -11490754 -7242323 -4394091 -273597 -8846452 -4518953 -5609280 -2127200 -15797975 -4194211 -9648741 -16278073 -8668140 -13083239 -14539909 -8342647 -10029584 -12611688 -1858604 -7801061 -16584467 -10636758 -4293100 -12285997 -6158554 -10239813 -14273748 -16374506 -15792612 -2094934 -16551772 -7665433 -13843052 -4478008 -3116690 -16259652 -16511883 -11406054 -11441229 -6185679 -10990389 -11524409 -10895493 -10311277 -4326326 -11258658 -4657066 -4962284 -5696796 -11561186 -13552855 -13080041 -5840873 -5012676 -14180637 -13611827 -6917197 -2880746 -16227810 -3173105 -7310691 -14361012 -14143831 -10027698 -4805104 -2167261 -1823366 -2467315 -643475 -12610262 -5963808 -8973681 -10765189 -8266974 -9913180 -16479278 -11200690 -1363747 -7305395 -2516898 -4987713 -13381594 -1061871 -13026327 -14704528 -8351273 -10112583 -13946062 -1368871 -8824842 -6636715 -10339535 -9831193 -1346461 -4158508 -16166147 -1280574 -8446481 -14132141 -7291231 -13507999 -1575179 -2295413 -15809908 -16605340 -2043557 -4756511 -16020482 -2207617 -7686724 -4057492 -14815371 -767131 -2867728 -14560586 -3258655 -2340389 -5400747 -12126417 -12631276 -15550729 -2224238 -13610001 -8734033 -3631591 -7897341 -5442828 -6622823 -788881 -5187582 -6019831 -6401312 -12148984 -12992165 -5744312 -1195846 -15351867 -13001320 -16248423 -3451051 -10664648 -8425287 -2324344 -14715914 -5086266 -5014865 -7519327 -4000012 -646396 -7053455 -4344133 -10761982 -1153003 -6838804 -11497523 -11751586 -14409848 -15462901 -6722199 -9421993 -2767167 -12018694 -2081934 -11455239 -6591135 -15620982 -15550574 -6872470 -10470752 -519196 -419684 -1268969 -10937404 -3568117 -635054 -11261298 -5623272 -3938378 -7369972 -14585735 -443690 -14985560 -7882941 -9657071 -15203172 -3527809 -2814105 -3446532 -11780430 -7928828 -8250824 -12076927 -10430077 -12038814 -14732158 -5652063 -10696931 -767639 -12907935 -9496909 -10989201 -3257905 -10445569 -3456818 -11649965 -14176056 -538774 -15037821 -6719998 -10633326 -13396424 -15374090 -10695702 -3007840 -11038285 -16159781 -12012025 -5308453 -4253790 -16017294 -7849165 -6303989 -14368990 -15674122 -4864309 -13887785 -4418404 -14080549 -3752166 -8404235 -10173256 -15708045 -3070500 -1492460 -495381 -5921644 -3566614 -4739895 -6867340 -16604110 -13522725 -4912584 -13033790 -8736293 -16094722 -6681463 -14754417 -13149819 -4781158 -8673716 -11701343 -15405288 -14620999 -13999186 -1936461 -6312012 -16203977 -8802517 -12347413 -908615 -10980396 -16023125 -3125182 -10042793 -12427408 -9434565 -12248204 -15671983 -3514020 -3276148 -8035539 -2958953 -842285 -9538784 -8376333 -7572147 -7800471 -13245051 -1951864 -3467581 -5933807 -12600191 -2502501 -2838533 -1732872 -14190123 -6134179 -2032555 -579300 -14090104 -7949139 -1244381 -11678757 -14825240 -1056547 -13718308 -16204981 -6360514 -3321497 -13762812 -2913222 -11330276 -11286659 -3725105 -8225745 -5242514 -11278823 -12966681 -12423025 -9745144 -5496303 -2404390 -4184230 -13692119 -16608338 -7720165 -12650084 -10941531 -15680636 -461157 -13899846 -11587179 -8726639 -13253737 -16221116 -15227312 -9854413 -12911022 -12286508 -14498258 -8427480 -13500668 -12352054 -11841039 -8037237 -8910691 -3347590 -11226601 -15374379 -5956995 -11050155 -14585541 -147472 -3727958 -3314875 -2430819 -8640076 -13477192 -14849472 -5892510 -2062697 -1939476 -8303502 -5828453 -14722557 -8426511 -3974880 -6657232 -9683122 -14547740 -4653456 -15719978 -9026947 -5832120 -10767367 -16604458 -10813229 -16263440 -4781640 -6556670 -3270283 -11670814 -6334316 -941720 -9672490 -10796887 -14461383 -2144892 -11874027 -7800178 -8342944 -2056873 -7873243 -16597284 -8670726 -10493784 -15617401 -1729748 -13438996 -13129759 -2178008 -4885863 -12999370 -14993826 -2541721 -16638556 -7313840 -11845172 -3639238 -140959 -6384740 -391637 -13891003 -11113812 -12916340 -3347884 -4646928 -7918098 -10228503 -9208975 -6562402 -15781601 -1356977 -9769291 -2948115 -13748050 -11681393 -4749134 -12198138 -6863575 -10064885 -3233488 -2303674 -2313382 -15043934 -9225744 -13110542 -1275883 -7842586 -9971986 -13957601 -9973827 -11245893 -9685045 -11953180 -8559369 -12801186 -16272215 -15420293 -13439436 -15421434 -9255538 -297389 -7752975 -11306457 -13161861 -16009741 -5038886 -15244758 -973634 -10581721 -1465745 -6175435 -12421186 -16492219 -12937999 -12977849 -2983587 -2273010 -835839 -10835624 -16086952 -14769807 -7137146 -416319 -2618758 -695404 -13171673 -531849 -9280167 -2476965 -6500645 -9792778 -11138245 -12464828 -6420519 -16155196 -5371048 -817769 -3339633 -3518027 -15795968 -14162782 -10464780 -8505364 -3188378 -15384462 -13811434 -15961719 -12842048 -4181409 -2483080 -7827015 -801786 -14892347 -14522502 -11204959 -15845804 -3324522 -9769805 -9961460 -524287 -8546134 -2104083 -697212 -7093065 -4402849 -2115016 -14301522 -921200 -11118683 -15509450 -12359617 -2701567 -4962415 -16274212 -1439757 -4139871 -9374116 -5404311 -13586614 -2086879 -10925292 -11575425 -13279862 -4207685 -12727194 -4518383 -439600 -4419559 -4732297 -10286625 -14423672 -13776050 -1522606 -16489946 -7638633 -589378 -13280699 -755644 -1558248 -315426 -10225555 -10779398 -555732 -4225852 -5931830 -3781568 -7566147 -3590681 -2231958 -8485506 -15203935 -3793636 -15799369 -10967474 -15719256 -13106458 -4977557 -16460281 -401036 -15347370 -11620761 -11137911 -8254971 -10553503 -15782756 -14369806 -325147 -10317263 -15282655 -13097142 -6719285 -15033763 -6042924 -6243255 -1235344 -16026134 -16134099 -15286029 -817178 -5531878 -14240659 -13729059 -13632366 -7804288 -6437882 -15574376 -8259514 -2687358 -8693557 -12489249 -9784425 -10599800 -6313333 -14640153 -11653699 -5421520 -957499 -12802956 -14954840 -8695622 -9158280 -10229518 -10928353 -11446428 -3829400 -11441318 -12473924 -3954989 -10234630 -7307968 -13449822 -6592287 -16701899 -8894714 -14734151 -2786056 -16015422 -14118964 -6971937 -1157376 -5094030 -12818589 -10872223 -13744323 -2328491 -6277040 -7198851 -6572561 -2392681 -469620 -7609520 -2977938 -12185347 -3468667 -8865041 -15011214 -1420938 -6821715 -1624137 -15873595 -10623450 -331593 -12384458 -2195949 -2538714 -8674441 -8014585 -15234130 -7791226 -6139045 -15477720 -2540508 -13241262 -2701268 -4718779 -5911493 -10285357 -12660742 -16105443 -6410895 -15774220 -13586987 -2402246 -940430 -10160792 -7268820 -3671416 -216819 -1945572 -14340715 -15050448 -13666801 -7446352 -13773335 -2672791 -13592295 -1562422 -12297299 -3090832 -3926036 -827491 -9408774 -10673656 -2307345 -2261126 -2282458 -6085064 -12216412 -5694970 -15465020 -6262800 -13817204 -6979214 -10575952 -10025121 -2644833 -2911927 -10002886 -10526812 -7394905 -2414241 -2186825 -2083247 -16398035 -1206286 -10898895 -202504 -10912944 -15434906 -13738709 -7183966 -1012029 -12405041 -12804887 -7852153 -14342785 -16646869 -8029679 -6446615 -4097258 -6837193 -12637706 -6593989 -3247489 -5599254 -3247548 -8004849 -9952728 -3835687 -10872212 -10609318 -11985787 -16449219 -14813041 -10715178 -13604372 -9796619 -11827337 -15130869 -6916497 -13818482 -6272643 -1895751 -8680275 -8566978 -16110028 -13784890 -10990347 -6939163 -13817337 -13274644 -8755243 -4708025 -2169595 -3259738 -5389230 -14120687 -3386237 -7635299 -12176072 -1788972 -14745810 -13582318 -4026721 -6304062 -3923721 -14286276 -6623859 -14997046 -16730128 -4431958 -13467670 -16682568 -6335940 -10823951 -9288908 -4282575 -15260935 -9262350 -10896038 -6658939 -3465728 -7451913 \ No newline at end of file diff --git a/Inputs/Day23.txt b/Inputs/Day23.txt deleted file mode 100644 index c201f20..0000000 --- a/Inputs/Day23.txt +++ /dev/null @@ -1,3380 +0,0 @@ -tb-pd -gf-oz -er-od -fj-jc -fp-zt -cf-xp -uq-kr -vj-us -ks-xq -dv-hn -zt-jd -oc-tn -te-hg -yz-ep -vj-jd -si-qc -av-va -hl-xg -ef-xq -tj-tl -cx-rs -fm-ui -dp-yr -io-bw -no-wt -vm-ny -aq-gl -tg-vz -ac-kt -hu-cf -al-ur -wb-wm -nr-mk -db-wz -xg-wj -al-zh -xs-ft -ud-fh -hd-my -jw-mf -ug-jb -vp-za -uo-cg -dk-xl -cd-kn -ho-gv -ic-ql -er-ke -ds-sg -ec-xt -fw-hp -wb-cw -zs-bk -pd-ow -xr-tg -mc-yg -fh-sy -dg-op -vm-bw -xs-ev -ib-hi -yh-an -xe-qr -pa-fj -tj-vt -ct-zz -xs-nr -rf-gi -xg-wx -br-ce -ym-rq -uo-xm -pa-qx -qo-hr -uo-ym -sj-vu -al-re -ba-og -ik-cb -ay-rp -iz-df -hc-jf -uc-dy -lc-se -ah-nh -lu-qq -au-ni -ft-lh -yn-ax -vh-ue -uy-gj -nf-zh -bb-mz -hn-fi -mx-sc -bp-xy -mv-ld -dp-zf -er-fe -kk-ww -ei-ao -if-kh -al-tu -xf-mq -ha-ts -jn-cl -da-bj -sr-kl -je-ah -cm-qk -um-wa -fj-qx -do-zj -kc-ob -ef-bt -cx-vb -en-xm -as-ry -tb-vb -vg-ms -xh-tr -dc-gi -ib-cl -pv-kn -zx-pj -hr-kg -wj-rr -vx-wt -ho-jr -og-an -qc-qv -vs-pg -fg-rf -bt-lt -je-ig -bg-dr -mc-ek -mh-ze -vz-an -ki-wz -go-hc -ij-kh -jr-gv -kh-ry -qw-nw -re-cm -qg-rx -qg-do -uk-mk -ix-rm -ss-bi -oz-ne -jh-xq -io-sz -uj-ln -xc-kr -jk-ok -gs-gy -wp-go -ln-ar -jp-br -qy-og -lt-sd -qq-wb -dt-ac -kj-kh -mh-te -mk-ze -yr-ru -hp-bo -fo-py -ru-dp -uj-ux -vv-aj -rt-ww -gt-oo -hy-ll -ip-rr -pw-bo -la-bn -dc-yk -mv-py -ws-hc -ww-zp -bt-ei -nz-dr -lc-uo -qr-yi -wv-oz -cx-qq -hi-rw -iy-qr -lw-qb -ri-mf -za-rn -sz-ny -kx-uv -bo-ci -xe-hy -uz-ap -nz-tt -fu-cy -wz-ud -by-yz -yh-fb -vn-rt -zz-rn -lo-dr -qq-vb -ku-jy -sh-dz -rr-fr -rm-mx -mj-si -sy-ud -cn-xm -te-wo -la-wu -ik-fq -fo-bk -hg-fu -ce-ac -so-kc -cl-si -ag-vs -ot-xo -kj-iv -fi-uu -pd-vb -rc-jf -ke-od -bj-vg -qi-gm -zk-hb -ym-jy -lt-zm -vj-ec -nr-ci -gl-rx -ct-za -ks-gs -ao-vw -kh-ro -sb-mx -oo-ed -pz-mh -hc-mc -ay-xg -dc-hk -hh-vj -dh-xr -jz-id -ah-dg -wf-bg -wx-hx -mb-gj -cr-ry -jy-qb -fr-kp -qx-hd -ia-qb -pz-hg -mf-hb -ox-pc -na-pj -ba-dh -py-hq -sv-es -vc-uf -kv-ej -jp-dt -lm-cv -kj-cr -mo-ox -rd-fu -cb-hl -qq-tb -vz-ba -gi-zf -ap-sr -dk-qm -ux-yi -su-nx -my-qs -rh-wj -mp-il -wu-uo -aq-vc -wf-lo -iz-ei -ko-mi -tr-nx -pn-gt -kc-jh -ru-nn -ks-ob -hg-zj -vt-vf -jp-mz -hk-zx -bo-qo -ln-uu -gd-iv -mx-dp -gt-fe -zp-oa -ro-ni -xy-mb -rf-dp -cm-sc -lw-vu -wa-ew -qk-cs -vp-no -ar-da -rc-fp -uc-fs -qm-yi -xk-ey -bq-zj -sf-zl -ur-sc -sf-yg -ql-so -wj-wx -pw-pq -qr-ll -bb-ss -na-ep -sd-zk -if-ro -sn-oz -ao-oj -hr-dx -xl-gf -zx-yz -xo-mv -hy-wq -pw-hp -nz-mo -sy-wz -fp-nm -yz-yw -ap-dw -tb-mr -id-ys -xf-af -vi-zw -bp-wi -fj-we -li-pb -hh-xv -gm-cx -eg-er -um-eh -tc-jz -qm-ll -ok-ny -wp-sf -gz-ni -ix-va -lu-wm -wn-vf -cc-ej -hq-ot -az-cg -ay-hx -sd-hb -fm-vd -il-xm -tu-sk -az-ym -es-zl -si-ai -ze-hg -qb-kt -ui-lk -le-kp -es-wp -oq-kz -bp-sw -gx-fo -ig-dg -nf-sc -vf-ti -td-ko -ab-tt -vb-lu -nu-ue -it-pg -fb-wa -lq-uj -xk-do -de-sf -uu-pg -vx-ng -zo-ll -wq-qr -ru-fg -pb-ty -yq-cp -wa-eq -zt-bh -ft-qe -lk-fm -on-gv -hk-dx -gj-ki -ra-ue -ib-rk -ks-ef -ms-kb -nx-vq -bd-bi -we-um -oa-xh -tj-wn -nf-qk -uq-wq -fx-ej -tb-rs -zb-xm -yp-vo -qy-ns -ag-uh -vm-qt -fn-lv -xc-ll -hz-tp -eq-eh -yp-ub -vx-fn -al-cs -mk-pz -jl-hv -if-kj -mr-md -es-xj -cs-re -cn-wu -ba-fa -hl-wx -ak-qf -tl-tc -bg-tt -fu-uk -jg-wv -py-xo -hb-ha -qj-br -fa-dn -gc-oe -qo-hp -hh-fs -nk-bx -mp-if -jq-dw -cj-gt -lu-gm -jr-lm -gs-ly -hl-hx -qr-hy -xt-ey -pb-ok -pc-ys -gi-mg -dh-tg -db-ej -kt-dy -ri-hb -sn-ne -ac-la -ul-qx -kp-fb -uj-ar -wo-uk -ug-bi -xr-gv -ld-va -mh-rd -hi-mr -rs-vb -cr-gz -mj-qh -nf-ur -ww-tr -jn-qh -db-ow -qs-hd -kd-yk -mf-ve -wz-xy -ki-mb -mh-hg -ka-ch -xq-jt -hx-ik -nu-gw -ak-db -tp-wu -gv-lm -vn-ww -nn-rf -xb-qd -eu-ds -db-yp -kx-on -vv-vx -gr-ws -nu-cj -kv-dj -jr-sg -sq-lz -uu-hn -bi-xb -gd-as -bh-og -ij-ec -cm-cs -jz-hv -ji-jr -il-tp -io-ti -gd-kj -za-fn -rc-zl -jw-ve -gx-ai -co-yc -ll-uq -rc-xj -dw-ax -hc-sf -vv-vp -xo-lv -mi-ja -yp-ty -ny-fn -vt-ly -ix-ld -il-en -kd-ai -ah-xf -ip-le -ng-aj -jz-eg -yg-jf -uq-wd -cj-ke -yc-uh -fg-zf -ct-wt -vv-za -au-as -ik-xw -ns-an -az-hz -mh-fu -ku-zj -no-zz -ly-sm -lm-ji -lr-hu -it-ev -dh-ns -lk-qx -cd-oz -fs-nm -af-mq -yf-lr -fm-hd -rs-cw -no-gn -xy-wi -zb-df -ia-lw -wm-rs -pd-lu -kk-rt -ow-lb -fe-ef -vk-mx -fl-ic -zs-dx -kx-gv -oz-jg -eg-od -ak-ub -ew-wc -uq-qr -pp-hq -dw-vi -aq-ja -pd-gm -jm-qf -ja-rx -sy-gj -yf-qv -hs-fw -uo-tp -sw-xy -my-qx -bt-ic -yz-dj -zo-hy -qq-cw -qc-zc -lk-ga -ds-gv -xv-fs -es-go -zm-kc -as-mp -oc-rl -rd-cy -kg-ci -ih-tl -cd-im -wj-hx -bx-ch -rc-ws -ty-db -dj-zx -re-ur -ga-ht -ap-ct -qe-xs -qc-kv -yt-td -sr-zw -gr-rc -pq-bo -de-mb -lm-uv -bt-xq -kl-yq -fh-ki -lb-ub -ye-ri -jr-cv -yb-zk -gz-ro -xe-fk -rs-qi -ww-jt -nl-ts -rh-hx -np-wm -nu-gt -kk-tr -fj-hd -as-kj -pd-qq -wq-fk -xs-hp -qc-zx -tu-nf -nl-ve -ih-gy -ft-qo -kd-zs -lk-rv -uk-cy -lr-np -nk-ka -lz-qd -uz-os -vs-nz -nu-od -pj-ep -ye-nl -ct-fn -hl-xw -rm-vk -gv-vr -pa-ui -dp-gi -cg-cn -kg-qe -us-xv -jc-qx -jp-nk -wc-xe -xl-im -qk-rj -xk-jc -ua-ys -kd-hk -va-vj -dt-dy -kc-bt -cn-en -ku-qg -uo-cn -cp-dw -ki-ux -rj-te -cb-hx -lw-do -sq-ug -ga-bj -ul-hb -mq-dz -zh-tu -dz-et -fj-lk -ms-ln -mf-yb -pp-oc -ce-bx -ev-ag -im-pv -ti-ny -ys-ed -on-eu -zw-fc -nr-pw -bd-lc -wi-ry -gm-wb -jm-ub -au-kh -hu-yf -ny-jk -fl-so -zk-ha -id-ei -fi-uh -vz-ns -jk-mg -gn-tu -zn-zw -wp-xj -km-kz -qm-fk -lo-ys -mj-mr -kx-ji -rh-cb -sj-xk -ax-sr -lh-ci -wd-wf -jb-sq -um-ew -jp-bx -nk-uc -gt-eg -fn-vp -rv-jc -tp-xm -pa-hd -ru-rf -ke-ue -oz-xl -tu-tn -hg-uk -im-wv -yb-sd -zt-vj -ki-de -jg-ne -xs-lh -gx-dx -hb-ye -ct-ng -sb-nn -zf-nn -pq-cx -oa-vn -jy-do -nw-ii -ga-kb -mi-vh -ih-vt -sg-wq -xj-go -ht-kb -tt-lo -rk-jn -tg-nn -ev-vs -jm-ej -rn-vx -vs-uh -iv-as -gn-re -nu-ra -zp-kn -yw-ep -kn-dk -ue-eg -ba-xc -fb-ip -na-kv -ji-cv -bd-sq -ub-qf -ze-ju -yt-gl -ix-oc -pq-lh -as-ni -uv-gv -cy-kd -do-jo -ni-mp -fl-ob -wq-iy -si-rk -ip-yg -rn-wt -xf-gc -io-pb -hs-mj -kv-yw -sk-tn -vk-dp -ap-yn -ow-fx -ay-hl -yk-dx -ze-te -xt-ij -im-dk -gc-fl -jm-os -uy-de -fh-uy -zo-yi -nl-yb -yg-go -cg-hz -ds-on -zs-uz -ox-wd -fw-mr -vz-zr -dc-bk -jb-bi -me-tc -qh-rw -yr-sb -rq-wb -lu-rs -mz-ss -wc-wa -uf-yt -ei-tv -qy-ba -mt-kz -zq-ik -ti-li -ne-pv -ia-jy -hd-ui -sd-ve -ek-fi -la-il -su-zp -vz-xr -xe-wq -yf-mt -ku-vu -tr-rt -au-kj -lq-ea -oc-va -lh-nr -kn-wv -vi-jq -bp-ki -pz-te -li-qw -ux-vg -jt-oa -ic-jh -zb-tv -yi-xe -fx-ak -tx-kv -la-en -xk-jo -jb-lc -ww-su -qf-vo -ji-eu -av-mv -de-gj -kb-vg -fc-dw -sm-wn -df-jl -cd-pv -fb-zc -vq-sh -rh-rp -jb-ss -rm-nn -hl-ug -vw-oj -eg-ke -ni-gd -uf-rx -ng-wt -ra-er -yh-wc -mc-es -mj-rk -nn-mx -my-rv -xy-fh -pr-ix -en-ym -jz-oj -yc-uu -cd-sv -zz-wt -mi-yt -hr-pw -dn-zr -hc-es -wx-qr -vh-td -xl-cd -fj-fm -sj-ia -gd-ro -yq-zw -ki-xy -ne-cd -ju-pz -mb-rv -ij-xv -wx-ik -pj-kv -iz-oz -ok-li -cp-sr -ud-wi -ys-mo -va-py -oq-mt -so-ef -xr-ba -sr-ze -gd-gz -ak-lb -pn-vr -ay-xr -rf-sb -go-jf -qg-bq -ii-qw -ox-nz -gz-mp -ip-fr -en-bn -gl-mi -ko-ja -al-sc -vp-wt -fr-wa -cw-tb -iy-hy -ql-ro -nh-op -gi-sb -ac-qj -qb-jo -ye-sd -ks-ic -wz-gj -sm-tc -tl-gy -mt-nw -ih-vf -yk-ai -fe-cj -dy-br -yg-ws -od-fe -jo-lw -ys-wd -su-qr -fx-ub -uc-ka -su-xh -mt-xp -wo-hg -ax-ap -bj-lq -zn-vi -im-jg -je-dg -lq-ga -tg-fa -si-fw -rx-vc -tx-zx -hi-fq -qg-ia -qs-lk -qg-jo -pv-xl -br-nk -ww-sh -sw-gj -wi-sy -ko-gl -hk-xn -uy-sw -zr-ns -yr-rf -yb-ts -sn-cd -ln-ux -ij-hh -ah-ig -rn-vv -zf-vk -dn-bh -je-gc -ii-mt -vn-kk -kb-uj -uh-ek -bk-ct -fp-fs -zl-fk -xl-wv -vu-do -zb-hv -wp-jf -ek-vs -rn-no -zj-sj -wu-en -oc-ot -ei-ma -pv-sn -gz-ry -li-io -cl-fw -gm-mv -bi-mz -zn-fc -wp-rc -wv-pv -ui-jc -hz-bn -kl-yn -dg-nh -na-yw -wn-ly -ra-rt -zh-qk -bk-yk -ih-vn -vr-cv -cm-al -zf-rm -yb-ve -al-tn -ht-ln -ft-hr -eg-ra -md-rk -gy-sm -ia-xk -kv-qv -za-no -vu-jy -hy-kr -nr-qe -lq-ht -og-fa -kk-sh -cw-rq -vc-gg -cw-lu -dj-ep -da-ms -yf-km -fg-sb -lo-ox -tb-qi -mf-ul -bn-uo -pp-np -cu-li -mo-dr -ts-ri -il-cn -nr-qo -fr-um -fg-gi -fe-ue -fi-it -ef-kc -cu-kg -hv-ma -zt-xv -pc-bg -bd-bb -ai-xn -oj-ea -ld-ot -zm-xq -jl-ei -hz-pc -ga-ea -la-xm -bk-os -jk-bw -sg-lm -lz-mz -rm-mg -ic-so -kp-yh -ek-co -xo-pr -de-wi -ni-ry -pn-gw -vn-jt -hv-vw -ev-co -ue-gt -bw-pb -tv-df -zq-rh -xb-se -ht-ar -uc-br -ra-pn -qt-sf -mk-rj -ly-at -bp-ud -oc-xo -vr-kx -hd-jc -kp-um -cg-ym -kl-ap -jf-mc -ii-cf -ma-df -kg-qo -an-zr -yf-nw -ah-et -mz-sq -os-yk -xy-xg -zf-mx -gr-hc -ly-tl -io-ok -xv-fp -il-hz -tc-at -gw-oe -vv-ct -vq-tr -qm-uq -dn-xr -au-ha -nm-us -rd-wf -vg-lq -md-hi -wo-ju -lv-vv -hv-ig -qi-wm -iz-zb -cr-ro -wf-pc -mv-ot -hs-hi -qv-bo -zl-yg -kc-ks -sr-vi -hb-ve -tx-qv -np-qw -cy-vm -se-qd -gn-sc -ww-oa -rp-dt -go-fm -rk-cl -ja-yt -ho-lm -dh-dn -lt-fl -yp-kl -lr-yp -zz-vv -jl-id -va-rl -pq-ci -fx-jn -by-yw -wb-rs -cr-au -ry-kj -yf-ii -xf-je -mk-ju -xt-nm -ak-ow -vi-kl -qd-ss -ju-hg -bq-do -ql-jh -iv-if -ax-jq -so-uf -bq-jy -vk-fg -hy-yi -lu-gx -vv-pd -ay-wx -cp-zw -on-cv -wt-xs -ib-qh -ow-ej -fc-pw -wd-dr -iy-xc -mo-jo -id-ma -ui-en -cx-pd -rm-gi -dj-by -ch-ac -eq-sq -qg-jy -zt-fs -bo-nr -oe-nh -pq-kg -hh-ey -bg-ox -pa-my -vw-jl -db-ub -ja-td -tg-qy -cr-as -ni-kj -en-az -as-kh -km-qw -ux-bj -hq-av -md-qh -cm-zh -lb-cc -ok-fv -au-if -ow-yp -ss-bd -op-dn -nl-ha -lw-sj -we-jc -bj-nm -sq-qd -dc-os -pp-mv -ba-zr -vs-co -rd-mk -qs-vd -ok-vm -sc-tn -li-jk -vg-ea -sw-sy -qh-hs -fx-lb -hr-xs -rq-vb -na-qc -uf-aq -cv-uv -mz-bd -zx-qv -hr-hp -tg-an -lc-bb -sm-vt -mj-fw -jm-ow -fx-vo -hz-wn -eh-yh -ot-av -qw-mt -sk-al -le-wc -dt-qj -wa-rr -ne-ho -hq-qh -op-et -er-oo -nx-sh -sd-mf -sb-zf -jt-rt -si-ib -ka-ac -qf-ej -by-zx -xw-fq -an-bh -ke-fe -ly-tc -pa-fm -vs-it -df-hv -sv-ne -fg-dp -fe-oo -jm-db -ng-no -ah-jg -wv-sn -kr-qm -dy-bx -oo-eg -zo-xc -kd-dc -da-ea -yr-gi -rt-zp -vc-ja -lv-aj -ab-rx -ss-sq -rl-xo -pp-xo -sw-wi -gt-gw -we-fm -ly-ih -fc-jq -wz-de -bp-gj -tt-ed -ew-eq -mv-hq -tu-qk -pa-rv -ld-oc -ar-ux -xq-ob -mb-wz -va-ot -fb-eq -yz-tx -uo-la -nf-tn -kr-ft -su-rt -ht-vg -vv-ng -qj-ce -jl-ma -zq-wj -ul-zk -bd-qd -op-xf -mj-jn -yh-ew -vv-wt -vu-ve -kc-lt -qs-we -kr-xe -wp-hc -nm-vj -sz-cu -ag-uu -oa-nx -zh-re -kn-xl -xs-pw -sh-jt -tx-jq -gm-cw -yq-sr -ye-ts -yr-rm -uz-xn -ag-hn -wb-pd -qf-vk -tj-vf -ag-fi -er-gt -fe-ra -qt-bw -vr-lq -gf-ne -hq-oc -nu-er -fn-rn -aq-ab -ha-mf -zr-tg -td-ab -bp-le -qk-tn -wc-eq -ap-yq -ek-it -ib-rw -kv-zx -uj-ii -ro-au -xk-vu -tj-gy -do-if -xo-ld -xt-fs -qv-dj -vq-su -ig-gc -tt-ua -dt-kt -cy-rj -ix-pp -bd-se -rp-hl -yz-nf -fj-xb -jz-ma -mv-ix -od-pn -ei-vw -rn-aj -oq-lr -ws-es -ve-ri -az-tp -gj-ud -rh-xg -ll-fk -gm-vb -fq-xg -ok-cu -ap-zn -ke-ra -hg-rj -vd-my -bo-qe -kg-vo -lw-qg -qe-hp -xp-oq -dj-tx -kp-ji -af-gc -yf-oq -rf-mg -ma-yc -ig-af -sg-on -ec-fs -dz-je -ay-zq -ma-ao -nz-bg -rq-pj -lu-qi -ud-mb -ar-ga -mo-lo -gm-tb -ss-lc -ob-zm -yw-tx -jk-cu -fb-rr -zm-ef -vq-xh -na-by -gs-we -vd-fj -fv-vm -sy-bp -fq-cb -sd-ws -mi-uf -zc-ep -vw-zb -hl-fq -qs-ui -uc-qj -hv-ei -zt-ey -py-av -es-gr -qm-xe -gm-rs -ti-jk -no-lv -df-hy -cj-oo -dg-oe -nm-jd -ew-ip -ab-yt -os-zs -mg-lh -fk-xt -me-gy -ti-fv -ft-pq -gy-xb -fv-cu -cs-ur -kh-iv -eq-ip -xw-hx -vs-dv -nh-et -ly-gy -rp-wx -fo-ai -wz-wi -vq-zp -lc-sq -je-mq -sh-rt -ga-da -jw-hb -ow-cc -ig-nh -vw-ma -mx-qh -yh-eq -rr-eq -uq-fk -iy-zo -ll-xe -xk-jy -wa-nh -zr-qy -ng-lv -ve-zk -la-ym -jf-xj -ev-uh -gl-vc -ql-bt -bn-tp -zj-lw -os-kd -wb-cx -dp-mg -gl-uf -on-vw -bb-lz -rn-lb -pj-yw -vf-tc -cg-mf -cw-wm -uy-xy -bq-sj -ly-ox -vt-gs -ru-sb -al-nf -mr-qh -ib-jn -ec-xv -rn-fu -xl-sn -kb-da -iy-qm -rv-qs -wt-aj -mz-ug -jm-fx -dy-ce -cd-jg -en-cg -id-oj -oe-mq -us-ij -qt-cu -ot-rl -od-cj -lk-hd -rs-pd -wf-ed -yn-fc -ed-dr -an-xr -bo-xs -gj-wi -xr-ns -er-cj -qb-zj -gr-go -pj-yz -rw-mr -vx-kz -ni-kh -qd-bb -vh-rx -lo-ed -hh-nm -ew-kp -wm-qq -qh-rk -cx-rq -ig-xf -kb-ln -pw-ft -cv-sg -ob-ef -sf-mc -vz-sy -fn-no -tn-ur -vi-ap -xm-az -mf-ye -bn-az -li-bw -ye-ha -hn-pg -ic-kc -kt-uc -iy-yi -uk-te -ch-qj -tc-gs -ic-ua -qh-fw -dj-zc -iz-oj -ax-fc -hs-ib -bb-bi -xl-jg -uu-co -gn-qk -kh-gd -wn-me -zr-xr -tl-ia -gv-cv -xh-kk -pn-cj -fo-zs -zo-wq -ce-ka -qf-ty -cv-kx -vg-da -xk-lw -fr-fb -km-ii -sg-ho -na-zx -qg-xk -ug-xb -kl-fc -gg-ja -fl-zm -ts-ve -pp-rl -ek-hn -if-ni -fe-gw -np-kz -qw-oq -jr-on -xj-hc -co-hn -as-if -wx-fq -cp-ap -gg-uf -bn-cj -ua-ed -db-cc -kr-yi -ko-aq -dj-yw -ke-gw -fa-qy -sj-ku -ts-sd -lu-rq -cu-io -bn-xm -cm-zw -uq-hy -ej-ak -ql-xq -qt-io -fx-qf -pz-wo -op-ah -wv-cd -mq-gc -mi-ab -ka-br -kj-qs -rp-ik -vg-ln -kj-mp -hk-os -ye-sy -eh-kp -qb-sj -xw-ay -ve-ul -dv-it -zm-ql -lc-lz -nx-jt -jh-zm -mo-ed -sk-cs -nu-fe -im-sv -qo-pw -gr-sf -dx-kd -jy-lw -nl-ul -vf-tl -dc-fo -ln-ga -ng-rn -hg-rd -ks-so -cr-gt -nh-je -vm-cu -sf-xj -tr-bg -gf-dk -gx-os -go-zl -ea-uj -ju-mh -ro-ry -ur-cm -cw-qi -ey-vj -xm-cg -gs-tj -wx-zq -gn-tn -hc-rc -mg-vk -lh-qe -ti-cu -pg-yc -gg-gl -eg-fe -te-mk -vr-uv -qv-yw -we-my -au-gd -ui-we -og-pv -xf-oe -xn-dc -pq-hp -ze-cy -at-tl -bw-sz -kr-qr -jd-pa -hq-ix -ra-oo -oz-pv -xy-sy -sr-yn -if-cr -ef-ic -ob-ic -jb-bd -oa-su -bg-ed -ec-zt -df-id -jn-mr -dr-pc -fk-hy -re-nf -ke-pn -qm-hy -ch-uc -qc-pj -ao-jl -mr-si -lz-ug -bh-qy -qy-an -za-lv -wf-tt -ry-iv -mq-ll -qo-xs -nn-yr -ax-zn -zo-qr -uk-mh -si-rw -nw-oq -hi-mj -wx-cb -jc-qs -yt-ko -qy-dn -tg-bh -gr-zl -cx-qi -fa-an -ak-yp -yk-fo -ul-sd -mr-ib -nr-kg -cb-xw -gg-dy -cf-vi -qs-pa -lu-tb -sh-su -sv-kn -at-wn -fe-pn -ch-ce -ri-zk -ts-zk -gg-td -xh-ww -jf-zl -qo-ci -td-uf -eu-kx -jl-tv -ju-uk -jz-jl -hl-ik -cj-eg -ia-ku -rp-xw -ue-od -pb-fv -xw-kx -fg-mg -hl-zq -ab-vh -if-gz -mx-rf -gn-cm -gz-as -tt-dr -cb-xj -oe-dz -fg-zz -vt-wn -aj-fn -mp-ry -ft-hp -ev-dv -uy-ki -zb-ei -lz-bi -um-ip -jg-gf -ar-ea -bq-lw -vc-yt -cn-az -aj-ct -pw-ci -ot-pp -vz-dh -cl-mr -ng-za -qw-lr -ma-oj -ah-mq -qi-rq -ri-sd -sb-mg -bi-sq -kg-pw -df-oj -ag-dv -lo-nz -it-ag -dj-pj -dx-dc -uh-gf -yh-ip -au-mp -pg-ek -pp-va -xn-kd -me-gs -zw-ax -iy-hn -ef-lt -zc-yz -ev-fr -ak-cc -ot-ix -lr-cf -fg-yr -dt-br -dg-mq -hg-mk -ru-mx -et-af -xe-xc -tg-og -jq-sr -wu-az -pq-qe -xw-zq -yk-hk -cg-il -gg-mi -ob-ql -sr-dw -gc-dg -os-dx -zs-dc -qe-mt -ah-gc -tv-oj -ro-as -wp-mc -fm-qs -qi-vb -by-tx -zb-id -de-bp -nx-kk -ks-ql -cw-vb -jm-ak -fh-mb -ji-vr -qi-pd -ru-rm -rh-xw -gc-et -vc-mi -dj-na -dy-ob -ry-gd -za-md -hc-bd -td-aq -ug-bb -ja-mp -gc-op -pj-tx -wd-tt -vd-jc -vf-gy -tr-zp -xm-wu -gr-mc -zm-bt -al-qk -fg-nn -hv-ao -uf-ko -ha-ve -nh-mq -qi-qq -xc-fk -fh-at -fr-eh -oo-od -ia-jo -py-ld -fq-wj -lh-hr -og-vz -yr-zf -zh-sk -vx-zz -mg-ru -fl-ks -re-sk -yb-ha -bg-wd -mh-rj -md-cl -ks-bt -nn-dp -ej-yp -kk-oa -uz-dc -oe-af -bi-lc -wx-xw -ui-vd -zr-og -dj-ju -og-xr -lt-ic -kd-uz -hp-lh -kh-gz -lt-ks -sy-uy -ha-kb -vj-fs -sn-im -by-qc -fm-rv -xy-gj -mo-wf -fu-ze -qe-ci -gs-ih -yf-kz -ju-rj -au-gz -hq-rl -nx-it -ye-jw -jf-je -sw-ud -lr-nw -jp-kt -tl-sm -dp-sb -hz-cn -ug-se -zq-cb -yk-uz -py-pp -tv-iz -zw-kl -yk-gx -oo-pn -lb-rl -wz-fh -zj-ia -ft-bo -mq-et -fh-wi -uv-ho -se-lz -bo-lh -uz-dx -fu-pz -uc-dt -nx-xh -rt-oa -rw-hs -ha-ri -ij-fs -ww-zh -gt-od -rh-ik -xv-nm -fk-zo -mz-lc -uv-eu -my-br -ri-jw -vx-vp -ay-rh -rj-uk -ly-vf -ej-ty -tc-wn -qv-ep -rm-dp -ws-sf -ry-au -hq-pr -zb-oj -jd-xt -uc-ce -za-zz -gv-sg -uz-fo -fl-kc -ar-bj -jl-iz -ih-tj -ei-df -ul-ye -sv-gf -vh-vc -aj-no -ua-bg -ru-wb -qb-xk -zj-eg -qt-ti -ep-qc -dt-nk -fa-dh -wc-eh -bh-ba -vb-wm -ln-lq -cg-la -ok-bw -ea-ms -xm-ym -fq-zq -yn-dw -fn-zz -rk-fw -lt-jh -jo-sj -qd-jb -jr-ds -hn-uh -gd-cr -kd-fo -qy-vz -xp-yf -yk-ur -xt-us -bb-jb -nr-ft -aq-yt -ht-bj -qj-ka -wb-tb -lh-kg -ey-ij -ax-cp -hz-xm -wv-gf -vd-lk -na-tx -yf-cf -jw-ha -ym-il -lk-pa -eu-lm -qj-bx -iz-hv -li-ny -cu-pb -jr-eu -ne-im -zk-jw -my-lk -rl-ix -xs-ci -ub-cc -yr-yw -um-ec -cn-la -nn-mg -dx-bk -ht-dg -cc-ty -oe-op -oc-pr -iv-mp -vm-sz -ti-ib -hs-ri -ab-gl -uc-bx -yq-zn -cv-ds -zp-jt -rw-fw -jp-ce -eh-rr -hd-vd -tu-cs -rm-fg -ef-fl -la-hz -jq-cp -pn-er -vp-lv -ns-tg -hz-uo -bp-uy -vh-uf -mo-wd -np-cf -kd-bk -jz-tv -en-tp -ey-nm -zw-yn -vu-ia -bj-uj -wq-ll -ep-zx -uj-ht -gr-wp -ko-gg -yz-na -cj-ue -tt-ys -sq-xb -hi-qh -lv-rn -dn-tg -xw-wj -gf-pv -gs-wn -tj-jw -xp-km -fv-qt -uv-ds -ht-ux -uz-hk -hr-ci -os-ai -ln-ea -kt-ce -ka-dt -za-vx -jr-aq -qy-xr -uq-xe -ax-vi -ho-on -so-av -de-co -wt-lv -nn-vk -hh-fp -zs-yk -et-ax -mo-pc -hc-zl -wj-hl -vf-gs -pr-av -bn-cg -gt-ke -ju-rd -ig-oe -xc-qr -bq-xk -co-it -kp-rr -fa-vz -yg-rc -nz-wd -fp-xt -ia-do -by-pj -ox-ua -vr-sg -gn-zh -rc-go -ui-rv -ba-ns -qb-do -vk-ru -ug-bd -lt-ob -jq-zn -jb-gj -fo-xn -rd-te -io-tu -mj-rw -dc-gx -uj-ms -hv-tv -zo-xe -no-ct -yp-cc -zf-yn -ac-br -pc-ed -cx-lu -ab-uf -iz-jz -ro-mp -zb-ao -ys-wf -ur-sk -qm-zo -jr-ys -do-ku -cp-fc -kt-br -ch-dy -ef-ql -er-gw -xy-de -jh-ks -sm-tj -vg-ar -fa-bh -sk-cm -vc-ko -wn-gy -kt-bx -vc-ab -eq-le -al-lm -kt-qj -jb-mz -dw-kl -bd-lz -jb-lz -uv-on -gw-od -pc-wd -eg-nu -yg-es -eu-cv -vp-zz -cf-mt -wt-fn -zf-rf -tx-ep -ua-nz -ow-ub -yh-rr -br-bx -it-yc -lm-on -vq-oa -rk-hs -vo-lb -pr-cp -cw-qx -pb-ti -ms-bj -op-af -gg-yt -ii-oq -cs-zh -fb-le -se-bi -zl-wp -wu-ym -wu-cg -rx-mi -cp-kl -xc-uq -dt-ce -ei-oj -xo-va -wo-rj -kd-gx -zo-kr -ed-ox -ew-fr -fk-yi -xg-xw -sv-oz -ty-jm -qc-yz -sm-me -nm-zt -bx-dt -ej-lb -zw-dw -jc-lk -pv-sv -hr-qe -lv-zz -td-vc -yf-np -nl-zk -xg-hx -pd-wm -ek-dv -se-mz -ai-dx -cy-wo -yq-dw -uq-yi -ka-dr -ii-kz -iz-ao -et-je -zn-dw -nk-kt -db-vo -ah-dz -qb-vu -fa-xr -yt-kk -fh-bp -lq-ux -hu-ii -jp-ch -ny-io -ts-eq -tb-rq -ba-an -vi-cp -tb-wm -se-bb -qx-ui -by-kv -lu-wb -pr-va -ub-ty -bw-ny -mj-oq -jt-vq -wo-fu -vz-dn -wf-ua -jh-ef -do-sj -jw-ul -dv-uu -xc-wq -by-zc -ld-ci -xj-zl -ib-mj -lz-ss -qx-fm -bp-wz -rx-td -ho-kx -tu-ur -hk-ai -my-ui -td-gl -at-gs -ey-fp -vh-ja -mc-ws -ne-kn -lc-ug -zr-fa -fc-ap -mh-wo -pb-qt -xh-zp -cs-sc -wm-cx -jm-vo -zk-mf -sv-gw -rh-hl -jw-nl -mf-nl -re-tn -er-ue -af-dz -cs-nf -rw-uk -zc-yw -db-qf -cr-ni -oo-nu -ym-cn -mh-mk -ay-cb -cm-nf -fi-co -da-ln -fl-bt -jf-gr -ye-ve -fk-kr -pz-rj -ch-kt -dz-dg -um-fb -at-tj -lt-so -ic-xq -xp-nw -hp-nr -sn-bg -pq-qo -ht-da -qd-lc -kn-jg -fq-ay -wp-ds -fs-us -gx-zs -nk-ce -ze-uk -hp-ci -ur-zh -so-xq -qd-mz -ko-ab -we-vd -gn-al -ec-nm -xn-yk -lk-we -kk-vq -bw-cu -se-nl -ul-ts -xt-vj -og-dh -de-sw -qt-sz -jy-jo -ul-yb -dg-xf -mc-zl -rd-pz -us-fp -aj-vx -pr-rl -ru-zf -ms-dh -fq-rh -ow-vo -mh-cy -yq-fc -dk-sv -vk-gi -tp-cg -ns-dn -ss-dp -ns-bh -bk-uz -cc-qf -ag-oe -cv-ho -kr-iy -lb-db -eq-fr -jb-xb -ux-ea -mo-tt -bn-wu -ns-og -gl-vh -sf-rc -nh-dz -nh-af -vu-bq -ku-bq -ab-ja -mz-xb -hn-vs -fp-ec -ns-fa -bx-ka -lw-ku -op-mq -qb-qg -ke-oo -rd-uk -av-xo -cm-tu -eu-sg -np-km -jw-ts -dx-fo -ll-yi -ws-go -ze-pz -kl-jq -kv-yz -qs-qx -yq-vi -lz-us -me-at -tr-su -xl-sv -ry-if -ym-tp -kx-ds -zq-rp -tv-vq -ev-ek -ko-rx -ob-jh -ac-bx -zk-ye -ms-ar -ql-lt -dn-an -ro-iv -pg-fi -uh-co -mo-ua -zk-nk -pp-av -kn-sn -hu-km -us-ey -de-ud -xv-ey -cy-te -me-tl -ow-ty -py-rl -vp-ke -gl-vt -wa-kp -us-hh -wj-ay -ne-wv -kz-lr -yn-vi -my-fj -mi-aq -iy-ll -fn-ng -uu-vs -mj-md -ev-fi -pq-hr -rf-pz -fr-wc -xh-jt -gx-xn -wu-xh -dk-wv -qf-lb -lr-mt -ug-qd -nz-pc -wx-rh -rk-mr -yb-zq -ih-tc -xp-hu -ac-nk -go-sf -mx-yr -kc-cn -cx-cw -oz-dk -au-iv -wo-ze -nw-wo -zz-aj -vt-tl -ep-by -ao-jz -jk-qt -hz-en -jy-sj -lm-ds -zm-ss -fo-hk -ts-hb -wa-yh -vq-rt -ys-dr -rv-we -wf-dr -df-ao -zo-uq -ai-bk -sv-wv -qw-kz -ox-dr -jp-dy -rn-vp -ni-iv -od-me -iv-cr -jg-dk -ra-od -ym-bn -vd-rv -yc-vs -ln-bj -es-rc -av-ix -ax-yq -ek-ag -xn-xp -pg-ev -td-mi -ox-ys -nz-wf -lo-pc -vb-wb -tc-tj -zm-lw -hd-fq -wv-gl -le-rr -ds-vr -uy-qj -on-ji -qw-hu -ar-lq -sh-oa -uv-jr -ew-fb -li-qt -xf-ja -li-fv -vv-fn -zn-cp -kt-ka -ik-wj -ox-wf -yg-gr -tu-re -ju-te -vm-pb -ju-fu -go-mc -kr-wq -fh-sw -rf-rm -ao-tv -zc-na -cy-ju -xp-lr -xj-ws -ma-tv -fu-rj -hy-xc -nr-hr -cb-wj -jo-zj -jp-qj -vv-no -jd-xv -kg-hp -vu-zj -vm-ti -qd-er -mt-hu -xb-bb -rl-mv -ki-sy -ai-zs -ej-vo -yn-zn -fr-le -kz-cf -cc-fx -vg-ga -ao-id -wi-mb -sc-sk -rp-ij -jt-su -nl-ri -kl-ax -hc-yg -sb-vk -ac-uc -xq-fl -pr-ot -km-mt -ng-vp -wd-ua -nk-ch -cy-pz -nu-ch -ku-xk -ra-gt -at-sm -ce-sm -mb-bp -co-ag -nu-ke -sc-zh -zn-td -fg-mx -gf-kn -ok-ti -gf-cd -az-il -lr-ii -md-fw -av-ld -hi-fw -ap-zw -pa-jc -ho-ds -il-bn -vf-sm -xj-mc -hd-we -qf-yp -re-vb -yp-fx -me-tj -iz-ma -wp-ws -so-bt -uz-gx -vf-at -ny-pb -dk-ne -pb-sz -ij-zt -dy-qj -ey-fs -jy-zj -qm-qr -eu-gv -dn-ba -bo-hr -db-fx -ob-bt -tr-oa -ha-ul -cs-gn -qw-cf -fi-vs -dk-pv -ik-ay -sz-ok -xg-cb -qi-yq -ea-bj -fp-jd -zb-jl -tr-sh -us-jd -fp-sw -fr-yh -rd-ze -uu-uh -hz-wu -ox-tt -uu-rh -ly-tj -hx-fq -vp-ct -af-ah -zz-ng -mr-hs -sn-dk -gm-qq -sq-se -vw-iz -ih-wn -li-sz -oo-ue -me-vf -sj-bb -yp-jm -ly-me -lr-km -rs-qq -pg-dv -qw-yf -ev-yc -jn-hs -qv-na -fl-ql -ss-ug -ma-zb -gn-ur -zp-sh -py-oc -hu-tu -op-dz -ew-ga -zw-jq -je-op -qx-vd -ku-qb -hq-by -iv-ng -ho-ji -qs-fj -jp-ac -zh-tn -gr-vg -iv-gz -zt-xt -kk-su -vx-ct -bw-zs -ep-kv -yq-jq -vo-ak -si-hs -ih-sm -mb-sy -dh-bh -ud-xy -jk-pb -ql-kc -oo-gw -mp-kh -vp-aj -wo-rd -sc-re -os-xn -ko-ao -rt-xh -xf-dz -um-yh -ti-sz -le-wa -dy-ka -nw-km -jk-sz -gd-ac -ai-uz -af-dg -fi-dv -eq-kp -kg-bo -ix-py -zx-zc -kx-lm -gy-at -qd-bi -at-vt -fl-jh -ua-lo -vx-no -le-ew -hh-fi -bx-ak -xj-yg -zc-kv -dz-ig -vn-nx -km-cf -um-rr -df-vw -dv-yc -rk-dw -ts-mf -vc-zo -sw-ki -an-dh -yr-mg -cl-sk -yh-le -dn-og -cb-rp -bq-ia -dx-xn -pq-nr -rd-rj -nz-ys -wc-um -xg-rp -cl-mj -ze-rj -gg-aq -iy-fk -ec-us -zm-ic -py-pr -jo-vu -nh-xf -vw-id -dh-qy -xg-zq -fx-ty -id-iz -vn-tr -ui-fj -vr-eu -hq-xo -ak-ty -ny-fv -ki-wi -uj-vg -bb-sq -ea-kb -te-fu -et-xf -az-la -rk-hi -fo-os -ft-ci -cl-hi -ib-md -qv-pj -gg-vh -yi-wq -lt-xq -qg-zj -qh-cl -zp-kk -ih-me -il-uo -cj-gw -gr-xj -oe-ah -xt-xv -zs-hk -ku-oa -hb-nl -jg-tp -fh-gj -pr-mv -nn-gi -wp-yg -jp-ka -lq-kb -ru-gi -ij-nm -cx-tb -ho-eu -qv-by -xq-kc -ld-pp -bh-vd -sz-zc -ek-uu -eh-ip -uv-dv -sk-gn -jw-sd -ba-tg -lq-ms -rr-ew -je-af -jr-kx -ag-yc -si-md -lz-xb -ro-kj -pz-uk -dy-nk -md-hs -bk-xn -tv-id -kl-zn -ud-ki -ja-uf -jk-fv -qk-sk -jh-so -qq-rq -nk-qj -fv-jq -iy-xe -io-vm -km-xl -vm-li -jo-bq -ux-da -zc-tx -fa-jf -wd-ed -eg-pn -ob-so -cv-sh -xv-vj -tx-qc -gm-wm -ld-rl -kz-hu -vn-xh -gz-ik -yw-zx -ch-br -jz-vw -sn-gf -hq-ld -it-hn -ip-wc -fh-de -df-jz -aq-rx -mg-zf -sc-qk -tv-vw -cs-tn -pg-uh -wb-qi -cr-sm -jq-yn -km-oq -ho-vr -bg-lo -um-le -bw-rs -sw-mb -qx-rv -oz-kn -tl-wn -sn-sv -eh-wa -yc-hn -bw-fv -mi-az -wi-uy -pr-pp -ko-vh -sd-nl -sz-fv -ns-pg -we-pa -es-jf -yc-fi -hi-jn -ji-ds -wj-rp -pa-vd -jm-lb -ey-jd -ed-nz -yn-cp -qo-lh -aj-ep -jh-bt -pr-ld -nf-gn -rw-rk -lq-da -ip-wa -oq-hu -gd-if -hg-cy -qv-yz -cr-kh -rs-rq -lc-xb -ux-kb -oq-np -bq-ud -uo-en -np-nw -jn-si -yi-xc -yt-rx -cn-tp -ig-et -qw-xp -bg-mo -sn-jg -gg-ab -cw-pd -dt-ch -pg-co -bk-hk -es-sf -yw-qc -qg-vu -la-tp -jt-kk -mv-oc -zr-vn -hb-xv -qm-xc -vj-fp -jd-fs -mp-gd -fj-rv -bj-kb -rw-jn -my-fm -cc-jm -wm-rq -yr-vk -dr-ua -wo-mk -ne-xl -hh-ec -vo-ub -pc-tt -vq-ww -jf-ws -fb-wc -jt-tr -bk-gx -ot-py -wc-rr -ny-cu -hd-rv -ra-cj -hk-gx -gc-nh -af-lo -iy-uq -aj-za -da-uj -ea-ht -rc-mc -za-wt -ws-zl -uy-wz -hs-cl -dg-et -na-jl -dh-zr -uo-az -av-rl -ga-uj -nf-sk -cd-dk -fw-jn -ji-uv -qe-qo -ev-hn -im-oz -zp-nx -gy-tc -lv-ct -gy-vt -co-dv -il-wu -ij-jd -gv-ji -si-hi -uy-mb -ip-kp -rt-nx -vj-ij -ll-kr -lm-vr -gs-tl -cc-vo -hu-nw -me-vt -gw-ue -hx-rp -kp-wc -it-uh -it-uu -ms-ga -oc-av -bd-xb -mk-qq -bh-zr -lb-ty -va-mv -eh-ew -qb-bq -vn-su -ub-cs -hx-zq -us-zt -gw-ra -gi-mx -cf-nw -ue-pn -kb-ar -va-ok -ks-zm -mq-ig -rw-md -ni-eh -nw-kz -jg-pv -gz-kj -ii-xp -wq-qm -uy-ud -vh-yt -rq-gm -fb-eh -jc-my -jp-uc -se-ss -xp-np -im-da -nu-pn -cc-te -le-eh -se-jb -sh-xh -xt-hh -ik-xg -ft-kg -oq-cf -as-bi -zb-jz -zp-vn -oe-je -pg-ag -vx-lv -dj-qc -mh-ot -ec-ey -ri-ul -fc-vi -gg-rx -vt-tc -gf-im -pc-ua -fc-sr -wd-lo -ei-qy -at-ih -re-qk -vk-rf -sb-rm -lh-pw -vo-ty -vq-vn -qt-ok -vh-aq -cd-jh -jd-ec -rw-cl -xn-zs -sw-wz -bn-cn -ny-qt -qf-ow -ye-yb -ur-qk -jl-oj -ri-yb -sr-zn -cm-tn -np-hu -hh-zt -sc-qo -mk-fu -op-ig -sg-kx -np-mt -pq-xs -uv-sg -yn-yq -jk-vm -kz-xp -fw-ib -vr-on -ms-ux -yc-ek -ub-ej -ix-xo -id-hv -jc-fm -dv-uh -ai-dc -hx-ar -jo-ku -md-jn -yb-hb -bh-vz -pj-zc -jw-yb -ms-ht -eu-et -pw-qe -io-fv -sb-ii -gc-dz -hv-oj -sj-qg -hh-jd -io-jk -im-kn -ji-sg -ww-nx \ No newline at end of file diff --git a/Inputs/Day24.txt b/Inputs/Day24.txt deleted file mode 100644 index ff4240e..0000000 --- a/Inputs/Day24.txt +++ /dev/null @@ -1,313 +0,0 @@ -x00: 1 -x01: 0 -x02: 1 -x03: 1 -x04: 0 -x05: 0 -x06: 1 -x07: 1 -x08: 0 -x09: 1 -x10: 1 -x11: 1 -x12: 1 -x13: 1 -x14: 0 -x15: 1 -x16: 0 -x17: 1 -x18: 0 -x19: 1 -x20: 1 -x21: 0 -x22: 0 -x23: 0 -x24: 1 -x25: 1 -x26: 1 -x27: 0 -x28: 1 -x29: 1 -x30: 1 -x31: 0 -x32: 0 -x33: 1 -x34: 1 -x35: 0 -x36: 0 -x37: 0 -x38: 1 -x39: 0 -x40: 0 -x41: 0 -x42: 0 -x43: 1 -x44: 1 -y00: 1 -y01: 0 -y02: 0 -y03: 1 -y04: 1 -y05: 0 -y06: 0 -y07: 0 -y08: 0 -y09: 0 -y10: 0 -y11: 1 -y12: 0 -y13: 0 -y14: 0 -y15: 0 -y16: 1 -y17: 0 -y18: 0 -y19: 1 -y20: 0 -y21: 1 -y22: 0 -y23: 1 -y24: 0 -y25: 0 -y26: 1 -y27: 0 -y28: 0 -y29: 1 -y30: 0 -y31: 0 -y32: 0 -y33: 1 -y34: 0 -y35: 0 -y36: 0 -y37: 1 -y38: 0 -y39: 0 -y40: 1 -y41: 0 -y42: 1 -y43: 1 -y44: 1 - -x44 XOR y44 -> drc -phq OR frm -> hjs -vdh AND nwn -> gqd -y40 XOR x40 -> vkn -x21 XOR y21 -> cnb -cnb AND wmb -> vvk -dfb XOR bfn -> hbk -bhd XOR mmh -> z06 -fkc XOR bwj -> z22 -gnj AND jfw -> spq -dwh AND kqn -> fhp -x19 AND y19 -> kkg -drc XOR qqt -> z44 -fkc AND bwj -> jbb -y32 XOR x32 -> qwt -y37 AND x37 -> kgg -x07 AND y07 -> dqn -dsp AND bvp -> hff -pmv OR pkn -> wmt -cjf OR pfk -> z45 -hgq XOR phb -> z27 -qnq OR dpc -> djp -x32 AND y32 -> nbb -qwt AND jqm -> fdk -x18 XOR y18 -> grp -vkf OR hdm -> kqn -cqv AND jss -> bwd -x00 AND y00 -> jfw -cjb XOR srm -> z19 -jss XOR cqv -> z35 -ntt OR spq -> ndd -cqm XOR qqj -> z43 -x01 AND y01 -> ntt -y14 XOR x14 -> dfb -nbk XOR wrk -> z05 -dvw AND rpg -> z23 -vvc OR kcv -> qqj -bqc XOR fwr -> z26 -dwh XOR kqn -> z41 -x15 XOR y15 -> bkb -rjm XOR gjr -> z24 -x22 XOR y22 -> bwj -y22 AND x22 -> hpj -x08 XOR y08 -> hnf -y27 AND x27 -> frm -wrw OR swr -> fds -gtm AND rmt -> mkv -kdh AND qvq -> ghr -fgv AND mfm -> kcv -hnf AND gqs -> pmv -kkg OR qvs -> vdh -fdk OR nbb -> rmt -y29 AND x29 -> cwd -hjk OR bts -> vkg -vtk AND npm -> tqb -dvw XOR rpg -> dbb -y39 XOR x39 -> mnm -y05 XOR x05 -> wrk -djd AND fds -> dqt -tvh OR sqm -> npm -cdr XOR cmt -> z10 -x28 XOR y28 -> hgd -x33 XOR y33 -> gtm -mnm XOR vhv -> z39 -fbv XOR bwg -> z38 -hqs AND nhr -> vbt -kth OR qcp -> hgq -wjj OR scs -> bfn -bkv OR vvk -> fkc -cmt AND cdr -> pph -dqt OR gqb -> bqc -y35 XOR x35 -> jss -vkb OR krd -> cdr -mqf AND cvh -> trj -x36 XOR y36 -> dsp -y41 XOR x41 -> dwh -y38 XOR x38 -> bwg -ghr OR tpc -> jqm -ckn XOR hqq -> z07 -vkn AND vkg -> vkf -y28 AND x28 -> wkc -x31 XOR y31 -> qvq -rjm AND gjr -> swr -gcb OR dbb -> rjm -y18 AND x18 -> z18 -y24 AND x24 -> wrw -x17 XOR y17 -> kbh -y24 XOR x24 -> gjr -x26 XOR y26 -> fwr -y43 AND x43 -> bvm -y15 AND x15 -> sbt -y12 XOR x12 -> fvh -kvn OR ffb -> cjb -y31 AND x31 -> tpc -y37 XOR x37 -> bnh -y11 AND x11 -> scv -hgd AND hjs -> phr -jfw XOR gnj -> z01 -fvh XOR sfk -> z12 -fds XOR djd -> z25 -qwt XOR jqm -> z32 -bvp XOR dsp -> z36 -phr OR wkc -> jdq -y07 XOR x07 -> hqq -y43 XOR x43 -> cqm -bnh XOR kss -> z37 -trg OR vbt -> kdh -cwd OR pkc -> nhr -y19 XOR x19 -> srm -dkd AND jdq -> pkc -wrk AND nbk -> fnk -hjs XOR hgd -> z28 -rnt AND qbs -> rcp -djp XOR mft -> z03 -cht OR mkv -> mqf -hbk XOR bkb -> z15 -x44 AND y44 -> pfk -x26 AND y26 -> qcp -ndd XOR jgw -> z02 -x06 AND y06 -> dhs -ckn AND hqq -> cpt -y13 AND x13 -> wjj -x10 AND y10 -> tvr -ffr OR gqd -> wmb -y09 XOR x09 -> tjb -nhr XOR hqs -> z30 -hgq AND phb -> phq -x00 XOR y00 -> z00 -y16 AND x16 -> prt -dqn OR cpt -> gqs -x23 AND y23 -> gcb -mft AND djp -> tvh -bkb AND hbk -> qtw -kfk AND chk -> vgb -vhv AND mnm -> hjk -y42 XOR x42 -> mfm -x25 XOR y25 -> djd -fgv XOR mfm -> z42 -grp XOR fgr -> kvn -x16 XOR y16 -> chk -x09 AND y09 -> krd -cqb OR rmg -> mqm -y30 XOR x30 -> hqs -kss AND bnh -> dvf -y11 XOR x11 -> rnt -x04 AND y04 -> ptm -y13 XOR x13 -> cbr -rnt XOR qbs -> z11 -hff OR fjf -> kss -x25 AND y25 -> gqb -kdh XOR qvq -> z31 -y06 XOR x06 -> mmh -cnb XOR wmb -> z21 -y02 XOR x02 -> jgw -x17 AND y17 -> hkn -y34 AND x34 -> cvh -x27 XOR y27 -> phb -x42 AND y42 -> vvc -x03 XOR y03 -> mft -y35 AND x35 -> nvg -x10 XOR y10 -> cmt -y20 AND x20 -> ffr -x30 AND y30 -> trg -ptm OR tqb -> nbk -bfn AND dfb -> sjr -jgw AND ndd -> qnq -y39 AND x39 -> bts -y38 AND x38 -> knq -npm XOR vtk -> z04 -prt OR vgb -> jqc -kfk XOR chk -> z16 -rvd OR dhs -> ckn -fnk OR wkv -> bhd -y03 AND x03 -> sqm -x08 AND y08 -> pkn -y02 AND x02 -> dpc -bwg AND fbv -> pdw -mqf XOR cvh -> z34 -tjb AND wmt -> vkb -jdq XOR dkd -> z29 -x34 XOR y34 -> tfn -y21 AND x21 -> bkv -tfn OR trj -> cqv -fgr AND grp -> ffb -bwd OR nvg -> bvp -cjv OR hkn -> fgr -fhp OR rnc -> fgv -sjr OR tck -> z14 -vkn XOR vkg -> z40 -kbh XOR jqc -> z17 -kgg OR dvf -> fbv -tjb XOR wmt -> z09 -tvr OR pph -> qbs -qqj AND cqm -> gsg -pdw OR knq -> vhv -gqs XOR hnf -> z08 -y20 XOR x20 -> nwn -kbh AND jqc -> cjv -bqc AND fwr -> kth -rcp OR scv -> sfk -sbt OR qtw -> kfk -bhd AND mmh -> rvd -nwn XOR vdh -> z20 -y29 XOR x29 -> dkd -y23 XOR x23 -> rpg -jbb OR hpj -> dvw -cbr XOR mqm -> z13 -y33 AND x33 -> cht -y12 AND x12 -> rmg -mqm AND cbr -> scs -sfk AND fvh -> cqb -y14 AND x14 -> tck -x04 XOR y04 -> vtk -y05 AND x05 -> wkv -rmt XOR gtm -> z33 -y01 XOR x01 -> gnj -srm AND cjb -> qvs -x36 AND y36 -> fjf -drc AND qqt -> cjf -y40 AND x40 -> hdm -y41 AND x41 -> rnc -gsg OR bvm -> qqt \ No newline at end of file diff --git a/Inputs/Day25.txt b/Inputs/Day25.txt deleted file mode 100644 index 7f7a950..0000000 --- a/Inputs/Day25.txt +++ /dev/null @@ -1,3999 +0,0 @@ -..... -.#..# -.#.## -.#.## -.#.## -##### -##### - -##### -##### -##### -##### -.###. -.#.#. -..... - -..... -..... -..#.. -..#.. -.##.# -.##.# -##### - -..... -..... -.#... -.#... -.#.#. -##.#. -##### - -..... -..#.. -.##.# -.##.# -.##.# -##### -##### - -..... -.#... -.#.#. -##.#. -##.#. -####. -##### - -##### -##### -.#### -.#.#. -...#. -...#. -..... - -##### -###.# -###.. -###.. -.#... -..... -..... - -..... -..... -.#... -.#... -.#.#. -.#.#. -##### - -..... -#.... -#...# -##.## -##.## -##### -##### - -##### -##### -#.#.# -..#.# -..#.# -..#.# -..... - -##### -##### -#.#.# -#...# -....# -..... -..... - -..... -...#. -...#. -.#.## -##.## -##.## -##### - -..... -....# -.#..# -.#..# -.#..# -###.# -##### - -..... -.#... -.#..# -.#..# -.##.# -.##.# -##### - -##### -.#### -.#### -.#.#. -.#.#. -...#. -..... - -..... -.#.#. -.#.#. -.#.#. -.#.## -##### -##### - -..... -#...# -#...# -#.#.# -#.#.# -#.### -##### - -##### -##### -.###. -.###. -.##.. -..#.. -..... - -##### -#.#.# -#.#.# -#.#.# -..#.. -..... -..... - -..... -#.... -##.#. -##.#. -##.#. -##.## -##### - -##### -##### -##### -##.#. -##.#. -#.... -..... - -..... -..... -.#... -.#... -.#.#. -.###. -##### - -..... -..... -#.... -##... -###.. -####. -##### - -..... -#.... -#...# -#...# -#.#.# -#.### -##### - -##### -##### -.#.## -...## -....# -..... -..... - -..... -#.... -#...# -#...# -#...# -#.#.# -##### - -..... -.#..# -.#..# -.#..# -.##.# -.#### -##### - -..... -..... -..... -...#. -#..## -#.### -##### - -##### -#.##. -..##. -...#. -..... -..... -..... - -##### -##### -#.### -..#.# -..#.. -..#.. -..... - -##### -####. -####. -.#.#. -.#... -..... -..... - -##### -###.# -.##.# -.##.. -..#.. -..#.. -..... - -..... -...#. -...## -#..## -##.## -##.## -##### - -##### -##.#. -.#.#. -.#.#. -...#. -...#. -..... - -..... -#.... -#.... -#..#. -#.### -#.### -##### - -##### -##### -.#### -.##.# -..#.. -..... -..... - -##### -##### -##### -#.#.# -#.#.# -#.#.# -..... - -##### -.##.# -.#..# -.#..# -.#... -.#... -..... - -##### -##### -#.##. -..##. -..##. -..#.. -..... - -..... -..... -..#.. -..#.. -.###. -.#### -##### - -##### -##### -.#.## -.#.## -.#.#. -.#... -..... - -##### -.##.# -.##.# -.##.# -..#.# -....# -..... - -##### -##### -##.## -#...# -#.... -..... -..... - -..... -#.#.. -#.#.# -#.#.# -###.# -###.# -##### - -##### -##### -##### -.##.# -.##.. -..#.. -..... - -..... -.#.#. -.#.#. -##.## -##.## -##.## -##### - -##### -##### -##### -###.# -#.#.# -#...# -..... - -##### -####. -#.#.. -#.#.. -..#.. -..#.. -..... - -##### -##.## -##..# -##... -##... -#.... -..... - -##### -#.#.# -#.... -#.... -..... -..... -..... - -##### -##### -#.##. -#.#.. -..... -..... -..... - -..... -..... -..... -.#... -.#.#. -####. -##### - -##### -##.## -.#.## -...## -...## -....# -..... - -##### -##### -.#### -.#.## -.#.## -....# -..... - -##### -###.# -###.. -##... -##... -#.... -..... - -##### -#.### -..#.# -..#.# -..#.. -..... -..... - -##### -.#.## -.#.## -.#.#. -...#. -...#. -..... - -..... -..... -.#... -##.#. -##.#. -##.#. -##### - -##### -##### -#.##. -..#.. -..#.. -..#.. -..... - -..... -..... -...#. -...#. -.#.#. -.#.## -##### - -##### -###.# -###.# -###.# -.#..# -.#..# -..... - -##### -##.## -##..# -.#... -.#... -..... -..... - -##### -##### -##### -#.### -#.#.# -#...# -..... - -##### -##### -.##.# -.#..# -....# -..... -..... - -..... -#.... -#...# -##.## -##### -##### -##### - -..... -..#.# -#.#.# -#.### -#.### -#.### -##### - -##### -##### -####. -.#.#. -...#. -..... -..... - -..... -.#.#. -.#.#. -.#.## -##.## -##### -##### - -##### -##### -##### -.#### -.#### -.#.#. -..... - -..... -.#... -.#.#. -.#.## -.#.## -.#.## -##### - -##### -##### -##### -##### -.##.# -.#... -..... - -##### -.#.## -.#.## -.#..# -.#..# -..... -..... - -..... -..... -..... -#.#.. -#.##. -####. -##### - -..... -.#.#. -##.#. -####. -####. -####. -##### - -..... -....# -#..## -#..## -##.## -##.## -##### - -##### -#.### -...## -...## -...#. -...#. -..... - -..... -..... -..#.. -..#.. -.##.# -##### -##### - -##### -.###. -.###. -..#.. -..#.. -..... -..... - -..... -..... -...#. -..### -..### -.#### -##### - -##### -##### -.#### -.#### -.#.#. -.#.#. -..... - -##### -#.#.# -#.#.# -#.#.# -#.#.# -#...# -..... - -##### -##.## -#..## -#..## -#...# -#...# -..... - -##### -##### -.#.## -.#..# -.#..# -.#..# -..... - -##### -##### -##### -####. -##.#. -#.... -..... - -##### -##### -##### -###.# -###.# -.#... -..... - -..... -..... -.#... -.#.#. -.#.#. -##.#. -##### - -##### -.###. -..#.. -..#.. -..#.. -..... -..... - -##### -#.### -#.#.# -#.#.. -#.... -..... -..... - -..... -..... -#.... -#.... -##.#. -####. -##### - -..... -..... -..#.. -..#.. -..##. -#.### -##### - -..... -..#.. -.##.# -.##.# -###.# -###.# -##### - -..... -.#... -.#... -###.. -###.# -##### -##### - -..... -..... -.#..# -###.# -##### -##### -##### - -..... -...#. -..##. -..##. -.#### -.#### -##### - -##### -.###. -.##.. -.##.. -.#... -.#... -..... - -##### -####. -#.##. -...#. -..... -..... -..... - -##### -.#### -.#.## -...## -....# -....# -..... - -##### -.#### -.#.## -.#.## -.#..# -.#..# -..... - -..... -..... -#..#. -#..#. -##.## -##### -##### - -##### -###.# -###.# -.##.# -.##.# -.#..# -..... - -..... -..#.. -..#.# -..#.# -.##.# -###.# -##### - -..... -.#... -.#..# -##.## -##### -##### -##### - -..... -..#.. -#.#.. -#.##. -#.##. -##### -##### - -##### -###.# -##... -.#... -..... -..... -..... - -..... -..#.. -.##.. -.###. -.#### -##### -##### - -##### -####. -.###. -.#.#. -.#... -..... -..... - -##### -#.### -#.##. -#.##. -..#.. -..... -..... - -##### -##### -.#### -.#.## -.#.#. -...#. -..... - -..... -....# -#..## -#..## -#.### -#.### -##### - -..... -.#... -.##.. -.##.. -.###. -####. -##### - -..... -..... -#.... -#...# -##.## -##.## -##### - -..... -..... -..#.. -.##.# -.##.# -###.# -##### - -..... -..... -#.#.. -#.#.. -####. -##### -##### - -##### -.#### -.#.#. -.#.#. -..... -..... -..... - -..... -..... -...#. -#.##. -##### -##### -##### - -##### -.##.# -.##.# -.#... -..... -..... -..... - -..... -#.... -#.#.# -#.#.# -#.#.# -#.### -##### - -##### -##### -#.##. -#.##. -#..#. -#..#. -..... - -##### -##### -###.# -###.# -#.#.# -..#.. -..... - -..... -..... -.#... -##... -##.#. -##.## -##### - -..... -.#... -.#..# -.#..# -.##.# -.#### -##### - -##### -#.##. -#.##. -..##. -...#. -...#. -..... - -..... -#.... -#.#.# -#.### -##### -##### -##### - -..... -.#.#. -.#.#. -.#.#. -##### -##### -##### - -##### -#.### -#.##. -#.##. -#.#.. -..#.. -..... - -..... -.#... -.#... -.#... -.#..# -.##.# -##### - -..... -....# -....# -#...# -#.#.# -##### -##### - -##### -###.# -###.# -#.#.. -..#.. -..... -..... - -##### -#.### -#.### -#.#.# -#.#.# -..#.# -..... - -##### -####. -#.##. -#.##. -#.##. -...#. -..... - -##### -###.# -###.# -#.#.# -#.#.# -....# -..... - -..... -#.#.. -#.#.. -#.#.. -#.##. -#.##. -##### - -##### -#.#.# -..#.# -..#.. -..#.. -..#.. -..... - -..... -..... -..... -..... -...#. -#.### -##### - -..... -..... -..... -#.... -#...# -#.#.# -##### - -##### -###.# -.##.. -.##.. -.#... -..... -..... - -..... -..... -....# -#.#.# -#.#.# -#.#.# -##### - -..... -....# -.#..# -.#.## -##.## -##.## -##### - -##### -.#### -.#### -.#### -..#.# -....# -..... - -..... -..... -.#... -##.#. -##.## -##### -##### - -##### -##### -.#### -..##. -..##. -...#. -..... - -..... -..... -#.#.. -#.#.. -#.#.. -####. -##### - -##### -#.### -#.### -#.#.# -#.#.. -..#.. -..... - -##### -####. -####. -####. -.#.#. -..... -..... - -##### -##.## -##.#. -#..#. -...#. -...#. -..... - -..... -...#. -...#. -...#. -..##. -.###. -##### - -..... -..... -..... -#..#. -#..#. -##.#. -##### - -##### -##### -####. -.#.#. -.#.#. -...#. -..... - -##### -####. -.###. -.###. -..##. -..#.. -..... - -##### -.###. -..##. -...#. -...#. -...#. -..... - -..... -....# -....# -..#.# -#.#.# -##### -##### - -..... -..#.. -..#.# -..#.# -.##.# -.##.# -##### - -..... -#..#. -#.##. -#.##. -#.### -#.### -##### - -##### -#.#.# -#.#.# -..#.# -..... -..... -..... - -..... -.#... -###.# -###.# -##### -##### -##### - -..... -..... -#.#.. -###.. -###.. -####. -##### - -..... -.#... -.#..# -##..# -###.# -###.# -##### - -##### -#.### -#.### -..### -..### -...#. -..... - -..... -..... -..#.# -..#.# -.#### -.#### -##### - -##### -##### -#.### -#..## -#...# -..... -..... - -..... -.#.#. -.#.#. -.#.## -.#.## -.#### -##### - -##### -##### -##### -.##.# -..#.# -..#.# -..... - -..... -.#... -##..# -###.# -##### -##### -##### - -##### -##### -#.### -#.#.# -#.#.# -..#.. -..... - -..... -.#... -##... -##.#. -##.## -##### -##### - -..... -#.... -##.#. -##.#. -##### -##### -##### - -..... -..... -..#.. -..#.# -..#.# -#.### -##### - -..... -..... -#.... -#.#.# -#.### -#.### -##### - -..... -....# -.#..# -.#.## -.#.## -.#### -##### - -..... -....# -....# -...## -...## -#.### -##### - -..... -#.... -#.... -#...# -#.#.# -###.# -##### - -..... -..#.. -..##. -..##. -..### -.#### -##### - -..... -#...# -#...# -#.#.# -#.### -##### -##### - -..... -.#..# -.#..# -.#..# -.##.# -###.# -##### - -..... -#.... -#...# -#...# -#..## -##.## -##### - -##### -.###. -.###. -.#.#. -...#. -..... -..... - -##### -##### -.#### -.##.# -.#... -.#... -..... - -##### -#.### -#.#.# -#.#.# -#.#.# -..... -..... - -##### -##.## -##.## -#..## -#..#. -..... -..... - -..... -..... -..#.# -.##.# -###.# -###.# -##### - -##### -##### -###.# -###.# -#.#.. -..#.. -..... - -##### -#.### -..##. -...#. -..... -..... -..... - -##### -##### -.#### -.#.## -.#.## -...#. -..... - -##### -##### -#.##. -#.##. -..#.. -..... -..... - -##### -##.## -##.## -##.#. -#.... -..... -..... - -##### -###.# -##..# -#...# -#.... -#.... -..... - -##### -#.### -#..#. -#..#. -#..#. -#.... -..... - -..... -..#.. -..#.. -.##.# -.##.# -###.# -##### - -##### -##### -.#### -.#### -.##.# -..#.. -..... - -##### -#.##. -#.##. -#.##. -#..#. -#..#. -..... - -..... -.#... -.#..# -.#.## -.#.## -##.## -##### - -..... -..... -#.... -#.... -#.... -#.#.# -##### - -..... -.#... -##... -###.. -####. -##### -##### - -##### -#.#.# -#.#.. -#.#.. -#.#.. -..#.. -..... - -##### -.###. -.#.#. -.#.#. -..... -..... -..... - -##### -##.## -##.## -##.#. -##.#. -.#... -..... - -..... -#.#.. -#.##. -#.### -#.### -##### -##### - -..... -..... -..... -#..#. -##.#. -##### -##### - -..... -..... -..#.# -#.#.# -##### -##### -##### - -##### -##### -##.#. -#..#. -#.... -#.... -..... - -..... -.#... -.#..# -##.## -##.## -##.## -##### - -..... -..#.. -..#.. -#.##. -#.### -##### -##### - -..... -...#. -...#. -.#.#. -.#.## -.#### -##### - -..... -....# -#...# -#...# -##.## -##.## -##### - -..... -#.... -#.#.# -#.#.# -##### -##### -##### - -##### -###.# -.##.# -..#.# -..#.. -..#.. -..... - -..... -..... -#.#.# -#.#.# -#.#.# -#.### -##### - -..... -..... -..... -..... -#.#.. -#.##. -##### - -##### -##### -#.### -..##. -..##. -...#. -..... - -..... -..... -.#..# -.#..# -##..# -##.## -##### - -..... -#...# -##..# -##..# -##.## -##.## -##### - -##### -##### -#.### -...## -...#. -..... -..... - -..... -..#.. -.##.. -###.# -###.# -##### -##### - -..... -.#.#. -.#.## -.#.## -##.## -##.## -##### - -##### -##.## -##.## -##.## -#..## -#...# -..... - -##### -####. -####. -#.#.. -#.#.. -#.... -..... - -##### -.#.## -.#..# -.#... -.#... -.#... -..... - -..... -..... -#.... -#.#.. -#.#.. -###.# -##### - -##### -##### -.###. -.#.#. -.#... -.#... -..... - -##### -###.# -###.# -##..# -.#... -.#... -..... - -..... -.#..# -.#..# -.##.# -.##.# -.#### -##### - -..... -..#.. -.##.. -.##.. -.##.. -####. -##### - -##### -#.### -#..## -#...# -..... -..... -..... - -..... -..... -...#. -...#. -.#.## -##### -##### - -##### -.#### -.#.#. -.#... -.#... -..... -..... - -..... -...#. -.#.#. -.#.## -.#.## -.#.## -##### - -..... -....# -#...# -#..## -#..## -##.## -##### - -##### -.##.# -.##.# -.##.# -..#.# -..#.. -..... - -##### -##### -.##.# -.##.. -.##.. -..#.. -..... - -##### -#.### -#.#.# -#.#.. -#.#.. -..#.. -..... - -..... -.#... -.##.# -.##.# -.##.# -.#### -##### - -..... -..#.# -..#.# -..#.# -.#### -##### -##### - -..... -....# -....# -..#.# -..#.# -#.### -##### - -..... -#...# -#...# -##.## -##.## -##### -##### - -..... -...#. -#..#. -#..## -#.### -##### -##### - -##### -###.# -.##.# -.##.# -..#.. -..... -..... - -##### -###.# -.##.# -.##.# -.##.# -..#.# -..... - -##### -#.### -#..#. -#..#. -#.... -#.... -..... - -..... -#..#. -#..## -#..## -##.## -##### -##### - -##### -.#### -..### -..### -..#.# -..#.# -..... - -##### -##### -##### -##### -##.## -.#..# -..... - -..... -..... -....# -....# -..#.# -#.#.# -##### - -##### -##.## -##.## -#..## -#..## -....# -..... - -##### -##.## -#..## -#...# -..... -..... -..... - -..... -..... -..... -...#. -#..#. -#.### -##### - -..... -...#. -...#. -#..#. -#.##. -#.##. -##### - -..... -..... -.#..# -.#.## -##### -##### -##### - -##### -.#### -.#### -.###. -.###. -.#.#. -..... - -##### -##### -.#.## -.#.## -.#.## -.#..# -..... - -##### -##.## -##.#. -##.#. -#..#. -#.... -..... - -##### -#.##. -#.##. -#.##. -#.##. -...#. -..... - -..... -.#... -.##.. -###.. -###.# -###.# -##### - -..... -..#.. -#.#.. -#.#.. -###.. -####. -##### - -..... -#.... -#..#. -#..#. -##.#. -####. -##### - -##### -.#.## -.#.#. -.#... -..... -..... -..... - -##### -##### -##.## -#..## -#..#. -#..#. -..... - -..... -#.#.. -#.##. -#.##. -#.##. -##### -##### - -##### -.#### -.###. -..##. -..#.. -..... -..... - -..... -.#... -.#..# -.##.# -.#### -.#### -##### - -..... -#.#.. -#.#.. -#.##. -#.##. -##### -##### - -..... -.#... -.#... -.#..# -##.## -##.## -##### - -..... -...#. -...#. -#..#. -#..#. -##.#. -##### - -##### -##### -###.# -.##.# -.#..# -....# -..... - -..... -.#... -.##.. -####. -####. -##### -##### - -..... -..... -....# -.#..# -.#.## -##.## -##### - -##### -##### -###.# -.#..# -....# -..... -..... - -##### -##### -###.# -.##.. -.#... -..... -..... - -##### -#.### -#.### -#.##. -#.##. -#..#. -..... - -..... -.#... -.##.. -.##.# -.##.# -.#### -##### - -##### -#.### -#.##. -..#.. -..#.. -..... -..... - -..... -#.#.. -#.#.# -##### -##### -##### -##### - -..... -...#. -#..#. -#..#. -##.#. -##.## -##### - -##### -.#### -.#.## -.#.#. -.#.#. -.#... -..... - -..... -...#. -#..#. -#..#. -##.## -##.## -##### - -..... -..... -..... -...#. -.#.#. -.#### -##### - -..... -#.... -##..# -###.# -###.# -##### -##### - -##### -.#### -..##. -...#. -..... -..... -..... - -..... -#...# -#...# -#.#.# -###.# -###.# -##### - -..... -...#. -#..#. -#.##. -#.### -##### -##### - -..... -...#. -...#. -#..#. -##.## -##### -##### - -..... -#.... -##..# -##..# -##.## -##### -##### - -##### -#.### -#.### -#.##. -#.#.. -..#.. -..... - -##### -.#### -.#.#. -.#.#. -...#. -..... -..... - -##### -#.### -#..#. -#..#. -#..#. -..... -..... - -..... -#...# -#.#.# -#.### -##### -##### -##### - -##### -###.# -###.# -###.# -##..# -#.... -..... - -..... -..... -...#. -...## -#.### -##### -##### - -..... -#.... -#.... -#.... -##.#. -##.## -##### - -##### -##.## -##.## -##.#. -.#... -.#... -..... - -##### -##### -#.#.# -#.#.# -#.#.# -..... -..... - -..... -.#.#. -.#.#. -.###. -####. -##### -##### - -..... -..#.. -..#.. -.##.# -.#### -##### -##### - -##### -##### -.##.# -..#.# -..... -..... -..... - -..... -...#. -...#. -...## -#.### -##### -##### - -..... -...#. -#..#. -##.#. -##### -##### -##### - -##### -##### -##### -#.#.# -#.#.# -....# -..... - -..... -..#.. -#.##. -#.### -#.### -##### -##### - -..... -.#.#. -.#.#. -.#.#. -.#.#. -.#.#. -##### - -..... -#...# -#.#.# -#.#.# -#.### -##### -##### - -##### -##.## -##.## -##..# -.#... -..... -..... - -..... -...#. -...#. -.#.#. -.#.#. -####. -##### - -##### -##### -##### -.#.## -.#.## -....# -..... - -..... -#..#. -#.##. -#.### -##### -##### -##### - -##### -.##.# -.##.. -.#... -..... -..... -..... - -..... -.#... -.#.#. -.#### -.#### -##### -##### - -##### -#.### -...## -...## -....# -..... -..... - -..... -.#... -.#.#. -.#.#. -.#.#. -##.## -##### - -##### -#.#.# -#.#.# -#.#.. -..#.. -..#.. -..... - -..... -..... -.#.#. -##.#. -##.## -##### -##### - -##### -.#### -.###. -.#.#. -.#.#. -.#... -..... - -..... -..... -#..#. -#..## -##.## -##.## -##### - -..... -...#. -...## -...## -..### -.#### -##### - -..... -.#... -.##.. -####. -##### -##### -##### - -##### -##### -#.### -#..#. -...#. -...#. -..... - -##### -#.### -#.### -..### -..#.# -..#.. -..... - -##### -.#### -..#.# -..#.# -....# -..... -..... - -##### -##### -###.# -.##.# -.##.# -.#..# -..... - -..... -..... -#.#.. -#.#.# -#.#.# -#.### -##### - -##### -##### -####. -#.#.. -#.#.. -..#.. -..... - -##### -##### -#.### -#.##. -#.##. -..#.. -..... - -..... -..... -...#. -..##. -#.### -#.### -##### - -..... -...#. -.#.#. -.#.#. -.###. -##### -##### - -..... -..... -#.... -#.#.. -#.#.. -#.##. -##### - -##### -##### -##.#. -##.#. -#.... -#.... -..... - -##### -#.#.# -#.#.# -#.#.. -#.#.. -#.#.. -..... - -##### -.#.## -.#..# -.#..# -.#..# -....# -..... - -##### -##.#. -#..#. -#..#. -...#. -...#. -..... - -##### -##### -##.#. -.#... -..... -..... -..... - -..... -..... -...#. -#..#. -#..## -##.## -##### - -##### -##### -.#### -.###. -.##.. -..#.. -..... - -##### -.##.# -.#..# -.#..# -.#..# -.#... -..... - -..... -#...# -#..## -#..## -#.### -#.### -##### - -..... -#...# -##..# -##..# -###.# -###.# -##### - -##### -##.## -#..## -...#. -..... -..... -..... - -##### -##### -###.# -###.. -##... -#.... -..... - -..... -#.... -#.#.. -###.. -####. -##### -##### - -##### -####. -#.##. -#.##. -#..#. -#.... -..... - -##### -##### -.#### -.#.## -.#..# -....# -..... - -..... -..#.. -..#.. -..##. -.###. -.#### -##### - -##### -##.## -#..#. -...#. -...#. -...#. -..... - -..... -..#.. -..#.. -..#.. -.##.. -####. -##### - -..... -#.... -#.#.. -###.# -###.# -##### -##### - -..... -..#.. -..#.. -..#.# -#.#.# -#.### -##### - -..... -..#.# -#.#.# -###.# -###.# -###.# -##### - -##### -##.## -##.## -##..# -.#..# -....# -..... - -##### -.#### -.#### -.#### -.##.# -..#.. -..... - -##### -####. -.###. -.###. -.#.#. -..... -..... - -##### -##### -##### -#.### -#.#.# -#.#.# -..... - -##### -##### -#.### -#.### -..#.# -..#.# -..... - -##### -#.### -#..## -#..## -....# -..... -..... - -##### -##### -##.## -##.## -#...# -#...# -..... - -##### -##### -#.##. -#.#.. -#.... -..... -..... - -..... -..#.. -..#.. -..#.. -#.##. -####. -##### - -..... -..#.. -..#.. -..#.# -.##.# -###.# -##### - -..... -.#... -.##.. -###.. -####. -##### -##### - -..... -....# -...## -#..## -##.## -##.## -##### - -..... -..... -....# -#.#.# -#.### -##### -##### - -##### -.#### -.#### -..### -...## -....# -..... - -##### -##.## -##.## -.#.## -...## -....# -..... - -..... -...#. -...#. -#..#. -#..#. -#.##. -##### - -##### -##### -####. -####. -##.#. -.#... -..... - -##### -##### -#.#.# -#...# -#.... -#.... -..... - -..... -..... -..... -.#.#. -.#.#. -.###. -##### - -..... -...#. -...#. -...## -.#.## -##.## -##### - -..... -...#. -#.##. -#.##. -#.### -#.### -##### - -..... -#...# -##.## -##.## -##.## -##.## -##### - -..... -..... -..#.. -.###. -.#### -.#### -##### - -##### -#.### -..#.# -....# -....# -....# -..... - -##### -##.## -##.## -#..#. -...#. -...#. -..... - -##### -.###. -.###. -.###. -.#.#. -.#... -..... - -##### -.#### -.#### -.#.## -.#.## -....# -..... - -..... -..... -..... -.#... -.##.# -###.# -##### - -..... -..#.. -..#.. -#.#.# -###.# -##### -##### - -##### -.###. -..##. -..#.. -..#.. -..#.. -..... - -##### -####. -.##.. -..#.. -..#.. -..#.. -..... - -##### -##.## -##.## -.#.#. -..... -..... -..... - -##### -#.### -#.##. -#.##. -#..#. -#..#. -..... - -..... -..... -..... -..#.. -..#.# -.#### -##### - -..... -..... -#.... -#.#.. -#.#.. -####. -##### - -##### -##.## -.#.## -.#..# -.#..# -..... -..... - -..... -...#. -...#. -..##. -#.##. -#.##. -##### - -##### -.###. -.###. -.##.. -.##.. -..#.. -..... - -..... -#.... -#.... -##.#. -##.## -##### -##### - -..... -..... -.#... -##... -##... -###.# -##### - -..... -..... -#.... -##..# -###.# -###.# -##### - -##### -###.# -.##.. -.##.. -..#.. -..... -..... - -..... -..#.. -..#.. -.##.. -####. -##### -##### - -..... -..... -#..#. -##.#. -##.## -##.## -##### - -##### -.###. -.##.. -..#.. -..#.. -..... -..... - -##### -#.### -#.### -..##. -..#.. -..#.. -..... - -##### -##### -##### -##.## -#..#. -..... -..... - -##### -####. -###.. -###.. -###.. -.#... -..... - -##### -.#### -..##. -..#.. -..... -..... -..... - -##### -#.### -#..## -#..#. -#.... -#.... -..... - -..... -.#... -.#... -.##.. -.###. -##### -##### - -##### -#.### -#..## -#..## -#...# -..... -..... - -##### -##.## -.#.#. -.#.#. -.#.#. -.#... -..... - -##### -###.# -###.# -###.# -#.#.. -#.... -..... - -##### -##.## -##.## -##..# -#...# -#...# -..... - -..... -..... -..#.. -#.##. -#.##. -#.##. -##### - -##### -##.## -##.## -##.#. -#..#. -...#. -..... - -..... -..#.# -..#.# -..#.# -#.### -#.### -##### - -..... -.#... -.#... -.#.#. -.#.## -##### -##### - -##### -#.### -#..## -#...# -#...# -#...# -..... - -##### -##### -###.# -###.# -.##.. -..#.. -..... - -##### -####. -###.. -.##.. -..#.. -..... -..... - -##### -###.# -###.. -#.#.. -..#.. -..... -..... - -..... -..... -#.#.. -#.#.# -###.# -###.# -##### - -##### -##### -###.# -##..# -##... -.#... -..... - -##### -##### -##### -##.## -##..# -.#... -..... - -..... -..#.. -.##.# -###.# -###.# -##### -##### - -##### -#.##. -#.#.. -#.#.. -#.#.. -..#.. -..... - -##### -#.### -#.### -..##. -...#. -...#. -..... - -..... -..... -..... -.#..# -##..# -###.# -##### - -..... -.#..# -.#..# -.#..# -###.# -###.# -##### - -##### -##### -.##.# -.#..# -.#... -..... -..... - -##### -#.##. -#.##. -#..#. -#.... -#.... -..... - -..... -.#... -.#.#. -.#.## -.#### -##### -##### - -##### -.#### -.###. -.##.. -..#.. -..#.. -..... - -..... -..... -...#. -#.##. -####. -##### -##### - -..... -.#... -.#... -##..# -##..# -###.# -##### - -..... -...#. -..### -#.### -#.### -##### -##### - -..... -..... -.#.#. -.###. -.#### -##### -##### - -##### -####. -####. -####. -##.#. -.#... -..... - -##### -.#.## -.#.## -.#.## -.#..# -.#... -..... - -##### -####. -##.#. -##.#. -.#... -.#... -..... - -##### -###.# -#.#.# -#...# -#...# -..... -..... - -##### -.###. -.#.#. -.#.#. -.#... -.#... -..... - -##### -##### -###.# -.##.# -..#.# -..... -..... - -##### -##### -##.## -#..## -....# -..... -..... - -##### -#.### -#.#.# -#...# -#.... -..... -..... - -..... -.#... -.#..# -.##.# -.##.# -.#### -##### - -..... -..... -..... -#..#. -##.## -##.## -##### - -##### -##### -##.## -#..#. -#..#. -...#. -..... - -##### -###.# -###.. -.##.. -.##.. -..#.. -..... - -##### -##.## -##.## -#..#. -#..#. -...#. -..... - -..... -.#... -.#... -##... -##.#. -####. -##### - -##### -#.### -#..## -...## -....# -..... -..... - -##### -##### -#.#.# -..#.# -..#.. -..#.. -..... - -..... -#.#.# -#.#.# -#.#.# -#.### -##### -##### - -##### -##.## -##.#. -##.#. -#.... -..... -..... - -..... -.#... -.#... -.#..# -##.## -##### -##### - -..... -..... -..#.# -.##.# -.##.# -###.# -##### - -..... -#.... -##... -##... -##.#. -##.## -##### - -..... -..#.# -..#.# -#.#.# -#.### -##### -##### - -..... -..... -..... -....# -..#.# -.##.# -##### - -##### -.###. -.##.. -.##.. -.##.. -.#... -..... - -..... -..... -...#. -.#.#. -.#.#. -####. -##### - -..... -...#. -...#. -..### -#.### -#.### -##### - -..... -..#.. -..#.. -..#.# -.#### -.#### -##### - -..... -..... -.#.#. -####. -####. -##### -##### - -..... -.#... -.#..# -.#.## -##### -##### -##### - -##### -#.### -#.#.# -#.#.. -#.... -#.... -..... - -##### -###.# -#.#.# -#.#.# -#.#.# -....# -..... - -..... -..... -#.... -#.... -#.#.# -#.### -##### - -..... -#.... -#.... -#.#.. -#.#.. -#.##. -##### - -..... -..... -.#... -.#... -.#..# -##.## -##### - -..... -..... -.#... -.##.. -###.# -###.# -##### - -..... -#.... -#.#.# -#.### -#.### -#.### -##### - -..... -..... -.#..# -.#..# -##.## -##.## -##### - -##### -##.#. -.#.#. -.#.#. -.#... -.#... -..... - -##### -##.## -##.## -##.## -##.#. -#..#. -..... - -..... -.#... -.##.. -.##.. -.###. -.###. -##### - -..... -..... -..... -#.#.. -#.#.. -###.# -##### - -##### -#.### -#.#.# -..#.# -..#.# -..... -..... - -##### -##### -##### -###.# -###.. -.#... -..... - -##### -#.### -#.#.# -#.#.. -#.#.. -#.... -..... - -##### -##### -.#.## -...#. -...#. -..... -..... - -..... -.#.#. -.#### -##### -##### -##### -##### - -##### -#.#.# -#...# -#...# -....# -..... -..... - -..... -....# -.#..# -.#..# -##..# -###.# -##### - -..... -..... -...#. -#.##. -#.##. -####. -##### - -##### -##### -##### -#.### -...#. -...#. -..... - -..... -..... -.#... -.#.#. -.#.#. -##### -##### - -..... -..#.. -.##.. -.##.. -.###. -.#### -##### - -..... -.#... -.#... -.#..# -.#.## -.#.## -##### - -..... -#.... -#...# -##.## -##.## -##.## -##### - -##### -##.#. -##.#. -.#.#. -..... -..... -..... - -##### -##### -###.# -##..# -##..# -#.... -..... - -##### -.#.#. -.#.#. -.#.#. -.#... -.#... -..... - -..... -..#.. -..#.. -.##.. -.##.# -.#### -##### - -##### -.#### -..#.# -..#.# -..#.# -..#.# -..... - -##### -.#### -.#### -.##.# -..#.. -..... -..... - -..... -#..#. -#..## -#.### -#.### -##### -##### - -..... -...#. -...## -.#.## -##.## -##.## -##### - -..... -..... -..#.# -.##.# -.#### -.#### -##### - -..... -..... -....# -#.#.# -###.# -###.# -##### - -..... -..#.. -#.#.. -#.#.. -#.##. -#.### -##### - -..... -..... -.#... -.#... -.#.#. -##.## -##### - -..... -.#.#. -.#.#. -.#.## -.#### -##### -##### - -##### -##### -##.## -##.#. -#..#. -...#. -..... - -..... -..#.. -..#.. -..#.. -.##.# -.##.# -##### - -##### -##### -#.### -#.##. -..##. -...#. -..... - -##### -#.### -#.### -..#.# -..#.# -....# -..... - -##### -##.## -##.#. -##.#. -#.... -#.... -..... - -..... -#.... -#.... -#.... -#..#. -##.## -##### - -##### -##.## -#..#. -#..#. -#.... -..... -..... - -##### -###.# -###.. -###.. -#.#.. -..#.. -..... - -..... -..... -...#. -..##. -..##. -.###. -##### \ No newline at end of file diff --git a/Inputs/Day3.txt b/Inputs/Day3.txt deleted file mode 100644 index 82f8857..0000000 --- a/Inputs/Day3.txt +++ /dev/null @@ -1,6 +0,0 @@ -where())what()@)select()why()?mul(371,776)/%how()'~+:how()mul(977,266)@$@mul(749,170)how()<;$^#what()select()mul(338,975)>from()+,{select()!!mul(626,938)%/>^{((}]mul(733,977)>)() +$)mul(695,376)!%#how()mul(767,788)<(mul(876,501)mul(18,72)[*when(625,65)*('what()mul(491,884)from()?{>how()mul(645,385)/[when(){what()why()mul(802,476)#'select()who(327,719)+-,##mul(103,807)#(mul(192,909):@'^where(247,392)!who()^mul(875,344)why()mul(205,505)?;?when()!],mul(165,670),#$++'>)'mul(503,815):mul(483,302)~+*}!$where()why()&mul(785,794)/,{why();where(218,722)}when()don't();!mul(405,577)where()@mul(521,472){how()what()'what() where(55,484)mul(360,384)%mul(176,384)}%when()-$%what(436,501)mul(652,387)mul(758,52)-~@,*-@mul(343,835)when()select()](;#mul(76,425)from()>})]mul(720,464)#~)why()why()mul(619,682))mul(15,67)mul(569,569)]where()++&@:[#mul(844,620)select()+^*what()why(197,509) mul(280,807)%^mul(233,435)}?*:+^^what()!when()mul(69,464)& )]$mul(393,827)@]^mul(64,552):^)*<&where()?#mul(51,727)mul(159,242),+what())>+mul(140,116)do()~?mul(590,950)};[*;;when()mul(186,556)]&;#&##*!mul(806,651)^select()who()[mul(820,386);?from()mul(771,404)-$+#]&where()}mul(473,823)don't()when(874,250)'}mul(916,835)mul(432,92)how(), :mul(2,546)who(61,440), -mul(486,858)where(869,462)do()'select()&?+&why()where()>>mul(796,512){~(when():^>*&'mul(927,22)%;where()who()^$mul(203,851)%how()mul(820,954)from())~#mul(741,967)select()what()+[[why()&]mul(42,517)>]why(),select(297,821):mul(324,191);%{->:!#mul(567,73)don't()?why():^{$*]why()mul(504,229)'mul(40,787)/select()?who();[who()where();$mul(537,42)[#@&*~<@mul(418,58);{}how()*-don't()[<'@from() mul(38,329)-*mul(381,685)what()?+,,*%)mul(740,7)#)#)?^mul(211,355){~#who()<]who()@>~mul(135,667)-^)]'mul(165,161)<;,mul(350,311);%?~}$how(768,325)*mul(773,359)~!(select()?{why()mul(269,149)when()}*who()}mul(536,90)don't()>$ &!where()*who()&mul(405,425)!+mul(304,694)'<#$<<,#select()):%:* -why()#mul[who()when(918,883){ ^''mul(907,968)what()when()[who()>mul(81'how()+what()select();&'']+how()mul(745,379)]^-mul(403,82)mul(840,830)when()+what()how()[!select()mul(827,564)?:]mul(602,333){what()[[mul(606,272) -,who()>}who():#from()mul(960,322)where()')?,+when() mul(59,855)'mul(308,433)~[;$;:mul(486@!>mul(508,605)what()from()mul(597,956)>#' *mul(834,240)}![{who(983,119)]#what()where()mul(533,711))}what()'/-mul(189,207)^*--$?mul(424,618)mul(407,288)why()<[+mul(170,906)&select()[,#who()+,mul(508,516)?who()!}+select()mul(963,397)*/]mul(129,895)$select()'when()^?mul(604,838)>mul(38,524)?why()~)[#*+:mul(793,697))what();}who())]mul(286,779)--where()![@(/}:mul(156-<%mul(862,26)select()mul(679,658);+mul(492,253)/;?$&}#mul(761&'[/*?mul(31,877)^where()mul(366,701)#mul(519,128)what()select():when()* mul](mul(46,247);mul(864,153)*mul(93,786)[$&&+mul(349,493,'~mul(161,724)~+$what():mul(326,607)what()select()mul(108,288)@(where(287,297)~how()mul(15,832)select()!%( mul(233,322*;%],&@why(660,737)mul(47,778)?mul(68,311)}do()^/>[mul(572,909)^(,$,*~?mul(550,192){select()$${mul(949,906)?[^]@@^what()do()'mul(581,669)who()how()$~;(where())how()what();<>^mul(859,756)mul(323,125%?}%where()mul(694,499),[mul(290,758)how()from()-/*who()&'where()what()where()when()mul(286,592);: how(824,40)^mul(341,311)'&how()};^how()mul(479,155)-&when()%>!from() mul(743,297)/+% mul(785,803)~&/}#($?select()from()mul(378,606)/%when()mul(304,253)who())mul(19 mul(358,187)!/mul(61,423):%: )mul(773,349)select()mul(380,503)where()#%;do()who()$!(:&where()where()mul(25,688who()mul(539,689)?[/(>mul(915,247)how()@ when()why();;from()mul(192,625)?how()who()why()+<~where()!mul(922,457)how()@:+}[&{don't()mul(663,641)& :*]select()from()^>who(646,961)mul(302,499)mul(779,59)#+ /~;}mul(489]mul(883,556)from()#what()#:when():@$^mul(857,680)why(836,2)[mul(815,638)&why()~:why()~mul(960,833)<>from()where()where()$:who()mul(853,356)%;)+ where()from())do()<]mul(139,315){&+why(765,155),what()>@mul(281,247)mul(797,456) <>/:mul(785,173)when()$~-?:select()when()&mul(185,8)mul(510,671)%,when()how()where()from()who()mul(654,885)*who()mul(227,178)} !mul(256,394) -mul(888,165);]~mul(93,961)do();where(449,598)*-& #mul(364,267)how()what()where()&@%mul(173,845)+?>({]^-}!mul(500,764)why() , ;where()}mul(509,958)~#when()&'^(#*}mul(567,675)!why()%:(~where(){mul(659,362/<@+mul(442,603)where(232,716)!how()!;)$what()mul(47,742)don't()&{ what()mul(201,59)-how()where()&select()mul(564,724)&when(){><{who(56,63)>#mul(750,782)$,mul(713,443)(^>*who()mul(255,743)+< what()mul(13,455^when()%';how()<<&'%mul(909,623)[?%when()~[$mul(647,666)+why()mul(303,514)mul(866,565)why()*@what()(mul(528,440)mul(580,935)mul(621,192)(from()?who(),!*-mul(834,426),!]/)how()]why()do()how()}!{why()'@~^who()mul(114,512[#^~ select()*who(){^;mul(813,830)+;[#/[do()select()}/^(@!;*mul(667,761;#why()!(+(mul(427,964)why()^where()!;mul(816,813)&select()what()why()$>from()mul(204,891)*#^[-how()how(275,54)mul(862,293)^^/~>,*)mul(858,212)[how()?>where()mul(45,936)select())select() <)where()how()mul(617,746)/ ~%from()~mul(466,629)mul(604,220)why(235,921)^what()^select()who(540,898)what()>mul(893,561),%~(who()how())#+#mul(845};mul(795,975)who(),',mul(988,400)/$+,!$~mul(931,322)( <:%+when()mul+%<&mul#'mul(892,416)what()why()mul(369,579)''mul(384,303)when()where()[what()-?$[when()mul(179,420):?:select()}when()when();,mul(246,209)select()mul(966,243)[mul(153,599)when()mul(914,433)[from()when()[--#;'!mul(810,766)select()why()$>!when()mul(931,687);select()how()@&mul(98,464)]mul(652,409)#:mul(516,121){<{() @~;how()mul(123,360))^](mul(277,239)mul(840,613)what()%mul(586,205)^]@#/don't()'[;^,$ from()mul(628,557)<)>];+who()mul(878,975from()mul(143,987)+when()*])%what()mul(603,174-from()~?mul(943,847)where(170,904)&#%]who(888,776)mul(302,183)mul(443,591),why():]~:%mul(77,426)when()where()mul(950,995)&mul(274,396)?[from()where()from()mul(409,518)$do()#^{why()mul(613,963)&^ >>;^how()mul(925,923);}mul(852,446*;& mul(743,312)do()%/who()*$]?mul(475,555)(>select();when()[mul(976,68)select()]what() +when()from()>why()mul(976#>>how():''%what()mul(828,766)!@(mul(798,719)$]*mul(646,954)@why()}from():$why()%/select()mul(741,161)+mul(91,115)^-}when()%++mul(933,749)from()<{when()(mul(909,579)#>;where()mul(211,740)$where()from()who()&mul(255,95)mul(511,373)&@!who()when()$@$?select()mul(2,521)^{)#mul(294,886)why()(!@mul(7,438)%*~(#{'$mul(234,87){+,how()how()mul(890,233)mul(801,729),;&(&mul(421@/+/from()when()/don't()/mul(672,498)what()mul(14,796)^![*what()when()# mul{!where()$where(871,580)}mul(717,476)&)'%?why(905,632)when()what()mul(815,617),how()mul(827,71)>?mul(837,520)*how()select()what())select(),how()$from()mul(952,273 &@mul(106,964)-[where()mul(778,265)}$'mul(947,970)who()?>mul(780,897) -/,mul(904,917)how()from()] :%where()why(824,519)$}mul(433,689)-/{where()%>how()mul(232,555)&'@mul(170,145)?-{#?[mul(130?from()mul(575,167;~,${;-/)what()when()mul(688,24)&)#^*mul(251,895)(>from()#}]select()?}%mul(583,40)@what()!-mul(396',)!>%%when()}mul(127,975)#mul(986,310)what();from() <{'?from()[&who()when()when()[mul(910,515)$mul(261,324)~-mul(124,305)~select()mul(323,359)*~~mul(524}(;mul(145,708) %}what(487,689)%from()mul(371,88)~!)mul(883,681)why(621,555)from()-mul(175,888)&{];-what(569,630):?mul(229,850)&>'where()'mul(269,654]-why()//from()select()}mul(545,830)[?:}mul(849,642)/;(:)}<~mul(928,739)mul(216,77)select():;(when()@(}*]mul(113,497)(!~~;^[!mul(447,997);select()~[>]}~who()don't());}#why(326,879)+)-<(mul(581,152)> ;mul+how(771,784)+&why(582,346)'select()~what()<,mul(239,575)<(]+*from()]~'<}@who()<-mul(473,971),:($when()from(41,290)what()];do())@^[@ from()mul(603,541)}mul(811,508)*?/!what()[-{mul(994,800 ?/!where()who()where()what()}:what(){^[do()when(284,569)}>mul(150,172,]/when()^mul(231,419)/do()select() }-#mul(671,892)<>/how(789,349)from()@what()#@)mul(315,222)from()}when()/}mul(930,682)>'where()?who()mul(132,978);;:@/#^}do()+mul(447,390): mul(723,622)?(how();$select()mul(980,864);>^why()[?#mul(734,179)# where(),@how()mul(838,788)/{++%mul(272,849):*%/^%mul(466,441how()who()who()'@(mul(692,669)#&mul(39,354)-where()from()who()~don't()*( {where();what()#mul(526,300)select(552,879), when()where()select()&-mul(283,140)&&?^ mul(243,254)how()/}who()mul(282,199)select()!](?'what()@&+mul(31,366)}who()mul(640,530)mul(565,470)mul(290,665){what(445,299)}<#%~ ][mul(320,303)-~from()(who()>[('why()don't()~&{)]mul(720,131)#~!!select()mul(3,408)-[where()from()who()}&}mul(558,189)!?[&(do()-^>mul(429,22)$!:>how()<,select()select(629,810)mul(748,450)(/<]?select()!//mul(679,551)how()who();?what()from()-mul(225,868)@{why()mul(177,830),{?^what())mul(229,827)~what()]'how(958,802)?who() (mul(676,215)[)mul(999,210)?]$*,?]-$,mul(661,825) -from()<#from()[@>?$(mul(631,608),+mul(946,420),( (^[^+/{mul(569,409),what()who()~mul(702,265);mul(88,623)}who()what()&mul(676,744)from() !+[do():who()^?mul(336,740)?mulwhy()from()!}where()%%mul(571,353)>$,& }>{*mul(276,415)><-do()~(]}mul(308,489)/from()when(579,867)what()~when()?&mul(633,256)how(){?~mul^why()who()>mul(223,473);why()when(),mul(722,306)from()^mul(200,701)!select()?,mul(711,878)how()where())##'+}#@mul(56,894)@[what()mul&-who()when()when()[%>?mul(281,311)where()where()how(){select()'%mul(949#[?:mul(895,313)/mul(25,736)mul*&):-/%who())mul(301,39)what()(mul(767,317)&!what()mul(271,721)(:where() :*&/mul(881,552)mul(117,678)> #),where()%)&$mul(394,101)<)>&who()what()'+mul(496,283)mul*]@+mul(331,181)select()'?:how()!what()-how()]mul(629,183){{(mul(980,656)! when()@{'-,what(),mul(93,847)++where();@select()when()mul(544,305)'#'<,from()>why()>mul(219,755)what(){ ~]}don't()-when();^^when())?~how()mul(590,547)(!from()when()[?}where()mul(930,301)where()^+when()what(733,168){>mul(899,94);:?mul(928,368)mul'what()how() >($mul(625,960)%'&where()select()~mul(584,72)^!mul(55,527);mul(492,224)?($:,',*select()mul(180,326)select():{where()mul(824,130)what()mul(683,478)from(918,839)what()mul(582,660)<@*how()*(mul(681,373)(~~>@::]$mul(873,698)<@+when()-^mul(100,128)[^+:where()how(542,879)&{mul(327,603) $+!when()$mul(505,966) ,$~)>mul(193,642){!/,}* mul(784,245)}?what()when()#mul(4,692)<+&%!)mul(184,826)+mul(469,907)from()how(601,83)mul(307,230),@}where(318,472)from()}:})-mul(898,829?$^@where();what()(mul(258,499)mul(212,108){{!&what()who()who()mul(983,25)*);who()!, [don't()select();-%*@mul(798,455)when()$>from()where():do()mul(707,598)how())!:select()how()#do()mul(81,685)who()+where()mul(292,774)?/mul(80,716who()*{#;;*do()&%why()+mul(554,30)!select()],{%/what()mul(600,514)#when())do()@what()'%when()mul(955,368)[#/>:?-how() select()mul(170@?)mul(584,682)what()^,?]#@mul(623,37) ;mul(650,391)/%mul(535,768)how()when()mulwhere()when()when()*(mul(193,547)$)[why()'select()$$who()]mul(446,367),what()~@%*mul(675,581)mul(637,187){mul(727,146)}where())mul(896,767)select()'-mul(980,725)select()[ *#mul(159,247)!what()who(560,832){-why()what()~&#mul(567,372)-:!]?/why()+:{mul(277,161)-where()'-who()$how()who()from()'how(),$$when()mul(429,870):@;<#mul(587,942*&;*do()$$select()mul(3,25)when(),-%+:# from(872,943)}mul(782,821) -!>mul(851,461)+!where()$!{@!:)mul(93,494):!mul(951,143)+>)why()-{from()what()mul(988,791)mul(931,510)(:where(245,25){'mul(117,354)'what(); [[@how()select()do()when()?:from()mul(778,261):,+,mul(314,222);,^what(190,985)select() ?*,[who()+:-mul(796,495)~/>do()<,}who()^mul(187,492)>'*$!what()mul(991,172)^&}:-mul(458,567)?mul(883,842)mul(755,150),!:%why()}mul(428,866)why()%why()where() (~:mul(352,708)what(370,596)$mul(898select()$why()~from()select()-when()mul(160,761)who(700,128)*mul(944,190)*#}^}from()where()mul(530,978):,+where()[?>mul(553,289)*$@/mul(286,141)what()@':~mulhow(116,291)%[mul(151,627)mul(362,891)~ %-/:%mul(275,35)@?&mul(276,797)who()/;who())why()when() ~)mul(400,219)where(757,508)}+'+>do()~?from()]~?why()${mul(674,313)]/!#select()^>how()&[do()mul(763,291)[?}>$:;]/ @]mul(923,77)+:/,mul(974,68)}^<}*?(mul(573,391)?^mul(882,854)what()(from(){%!@+when()mul(263,665)'%/<[who(257,651)mul(131,306)#+[why()&,@{who()!mul(378,207)mul(830,423)how(180,743)[<$-)}-don't()mul(104,63)'$~+)/!(do()(?*when()/<:mul(184,312)-mul(457,714)?how()&where():!<(who()mul(832,385)?;&>select(),'[}-mul(409,111)<'who()who()}what(39,120)!<(@mul(466,625))from()'{:;what(),mul(833,127)$+!]mul(107,815)/ {what()what()mul(37,91)[-, what(812,83)?&mul(376,103)};-mul(640,727)select()[$-mul(64,181)mul(734,97)&@why()<#select()/?/mul(164,82)mul(786,473)@{'}mul(206,560)&~mul(784,62)@*^+what():!from()^[mul(206,626)what()[(,{where()from()why()?who()mul(533,212)#where()+how()']}where()((mul(301,424):what()#what()@ >'!do()@what()mul(965,812)mul(3,550)from()who()!mul(965,728)#>#!)where()*)mul(497,530):when()#mul(352,808)!~{how()*!&mul(552,920)/where()+where()@-#/?mul(896,130)mul(347,579)~@ /^mul(727,709)#-how()&!&&@why()]mul(475,103)*how()/)~who()mul(542,160)mul(743,692)mul(561,997)why()mul(124,866)+}{why() mul(278,696)how()'what()$;?//where()when()mul(17,188)-+where()why();don't()--%<@why()+mul(356,107)%what()^,select()select(607,736):how()-mul(633,572)who()from()/;}select()mul(772,944)]@+/<]select()*?where()mul(858,850)(select()select()where()mul(181,712)~mul(979,178)#?}%?%do():who(268,689)*mul(941,59))-{&&(mul(296,702):@)where()don't()why()when(),mul(405,639)~$),who(575,232),%mul(671,828) \ No newline at end of file diff --git a/Inputs/Day4.txt b/Inputs/Day4.txt deleted file mode 100644 index 02f3ae5..0000000 --- a/Inputs/Day4.txt +++ /dev/null @@ -1,140 +0,0 @@ -MSAMXXMASXSXMMSASXMASMXMASXSXSSMSSSMMMSSSSMSAMXASAMXXAXMSMMMAXMAMSAMXAMXMXXMXMASMXSAXMXMAMXSXSXXMSSXMSSMMSSMMMMXSXAXMXMAMMASMSXSXSSXMSSMSSMM -MSASASAAXSMAMMSAMXSXXMAMXSASAAAASMSASAASAAAMMMSXXMMMSMMXAAASMMMMSAMXSAXASMMSSMMXAXXMSSXXMSMMASMXMASXAAXAAAAAAMAASXSAMAXSMSMMASAXAXAAAAAMAAAS -ASAMASMMMASXMAMAMXXAXSMSAMAMMMMMMAMMMMXXMMMMSASXXMAXAASXSSMSASAMXMSAMXSASAMAASAMXMAAAMXMASAMAMXMMASMMMSMMSSMMMMMSAAASMSMAAMSAMAMXMXMMXSMXXMM -MMAMAMAAAMAMMASMMXMMMXAAMMXMMXXXMXSXASXSMSXXMASAMSSSMSMAAMASXMASAAMASXSAMXMSSMMXSMMMXSAXAXAMSSMAMASXMASXMAMMSMMASAMXMMAMMMMMXSXMSMXMASMXSASA -XSAMAXSMSXAMSASASXMAAXSSMXXXAXMXSAAXXSAAASASMAMAXAXAMXMSMMMMMSAMMMSXMMMAMXAXAAAAMXMSAXMSSMSMASASMAMXMASXMAXAAAMMSAXXSSXMXSXMXXAMXMMMSMAASMMS -MSXMMXMXXMMMMASAMMSMXXAAXXSASMMAMAMMXMMMMMAMMASAMMSAMSXMASXXXSAXSXSMSAMASXMSSMMSXAXMASMXMAXMMXSAMSSSMXSASAMXSSMXSASAMXMAXMASMSSMASAXAMMMSMAM -XMAMSAMMSAMXMMMMMAASMMSAMXXMMAMASMXSAMASXMXMXASASXAAASASAMMMASXMSXMASXSASAMAMXAMMSMMXMXAMAMAMSMMSAMAAMSAMXSAAXMASAMXMXMASMXMASASASXSMAXAXMAS -SMAMXASAMAMXMMXAMSSSXAMASXXXXXSASAAXASASXMAXMXXXMMXMXSAMXSXAXSMMMAMAMAMMSXMMSMASAAAMXSSMMXSXMAAXMASMMMMAMAMMMMMXSXXAAASAMXAXXSAMXSAMXSMMXSAS -XSXSSMMXSAMXMMMMMMAMMXSAMMMMSXMAMMMSAMASASMSSSXAXMAMXMMMMMXSAMAAXAMASXSAMXXSAMXMMSMMAXASAAMASXSMSMMMAAXAMSMSAMSASXSMSMSAMSMMMMMMSMMMAMASXMAS -MAMXAAAAXMMAMAAMAMSMSXMASAAAAAMXMAASXMMMMMAAAXSXASAXMXMAXSAMXSSMSSSXSXMXSAXXMSAMXXXMXSAMMMSAMAAAAMASXMXMMMAMAMSAMAXAMASMMAMASAMXAAAMAMAMAMAM -SAAMSMMSSXXAXSMSAXXASXMXSXMMSAMXMMMSXSXSAMMMSMMSMMAXSASASMAMAXAAAAAAMMSXMXSXASMSAMAMAMAMXAMAXXXMAMASAMASAMAMMAMAMSMMMAMASXSASASAMSMSMSSSSMAM -SXMAAXXAAMSXXAASMMMMMAXMSAMXXAMXXMXMXXAXAXXMAAMXXMSMSASXXMSMMSAMMSMAMAMAMAMMXMXMAXAMASAMMMXSMXMASMMSASASASXSMMMMAAAXMASMSAMXXAMMXAXAMXMAMSAS -SAASAXSMXMAMMMMMMAXASXMASMMMSAMMSMAMSMSMSMAMSXXASMMAMMMMSMMAMSXXAXXXMMSAMASASXSXMMXMAMASAMAAMMMAAAASXMASMMXXXXAASXXMXAAXMMMSMMSAMXSMSSMAMSXS -SAMAAMSXSMMSMAAXMMSMMMAMSXAAXSMSASASXAAAMSSMMMSXSAMXMAMASASAMXMMMSAMXAMASXXASMSAMSSMSSXMAMSSSXMXSMMSXXXSAMXAXMMMMASXSMMXXSAMXAAAMAAXAXMAXXAM -MAXXSXSAMMXAXMSSMMMXMMSMMMSSXXXSAXXXMXMXMAXXAXMASMMSSSMASMMAMAAMAXAMMSSMMXMMMAMAMAAAAXAMMMXAMMMMXXAMXMMSAMMMMAMSMAMAAAMMMMAMMXSMMMXMASMMSMAM -XMMMXMMAMSSMSXAXMAASMAXAXAAXMMMMSMASXXSAMAMSMSMAMXSXAAMAMMXMSSMSMSAMAAXAAXMASMSAMSMMMXMMAXMAMAAMMMXXAAAXXMAMMAXXMASMMMMAMMAMSMMAAXSAMXXAAMXM -AMAXAMSMMMAASMMSXMXMMAMMMSXMAAAAMMMMAASASAAAAAMXXXMMMMMSMSAMXMAAXSAMMSSMMSSMMAXXMAMASAXMMMSAXMSSMAAXSXMSASXSMMXSAMXMXSXSMMAMXASXMSXXMAMXXSXM -XXAMXMAAASMMMAMAMSMSMSSXAXMASXMSMMXMXMXASASMSMSSXSMSXSAXXXASAMXMMMAMAMXAXAMXMASXSMSASXSAAXSMSMXAMMSXMAXXMAMAAAMAMXASXSAXAMMSMXMAXXMSMSSSSMAX -MXSXMMSSMSAMXSMMMAASAXMMXSAMAAMAXSAMXXMAMAXAXAAXAXAAAMXSMSMMASAMXSXMASXSMSMXMMSAAAMASASMMMMAAXMXMMMAMXMASMSSMSSSMSXSAMAMMXMAMXXMMSMSAAAMXSMM -SAMAAAAAXSXMAXAXSMSMXMASMSXSXXMAXSASMSXMMSMAMMMMMMMMSMMXMAMXAMASAAXSSSMMAMAAMXMMMMMAMXMAAASXMMXMMXMXMSMXAAAAAXAMXXAMAMAMXXSASMMXAMAMAMSAAAMA -MASXMMXSMMMMMSXMASXMMAAXASAMXSXSASAMMXXAAAASXMMXMXMAXAAASASMASXMXSXXAXAMAMSSSSSXMAMAMAXSMXXAASMASAXMXAXAXXMXSMSMXMSMASXSAXMASAAASMXMXXXMSSMS -MAMMXSAMASXAMXASMMMASMSMMMXMMMAMMMAMAMSMSSXXAXSAMMSMMSSMSASXXSMSAMMMMMSSXXAMMAXMMMXAXXXXMMSMMAASMXXAXMSMSXSAMMXSXXXSMSAMMSMAMMMSMAMXXMSXMAXA -MMSMAMXMXMMMMMAMAXMAXMAMXSXSAMMMXSAMAMXAMXASAMSASAMXAXAMXXMASMAMMMMAXXXMMMASMSMMXMASMSXSAAXASMSMSMMXAXAXMXMASXAAMXMMMMXMSXMXMMXXXXSXASMASMMM -MSAMMSMSSSXSAAAXXMMAMSAMASASAMMSXMXSAMMAMMMMMXSAMXAMXSAMXMXXXMSMXXMMSMSMXSSMAXAXAMAMAXAXMMSXMXAMAMASASMXSAXMMMMSMASAMXAXXAMASMMSMMSXMXSXMXAX -MXASAAAXAAASXXMXSAMXAMASXMMMXSSMMSASAXSSMSXASMMXMMXMMSAMMXSMMMXMAXSAAAAAAMAMMMMSASXMSMSMMAXXXMXSAXMAMXMASMMMXAMAXXSXSXMASAMASAAAAAMAMMMMMSSM -SSMMXXSMMMMMAMSASXSMMSASXMAMMMXAASMMSMAAXASAXASXSMSXASASAMXAMSAXAMMSMSMSXXAAMXXMAXAAMMMAMXSSSSMSMXMAMAMMMXAXSXSASMSAMXXAMAXASMMMSMXAMAAAXAAS -XAMXMMMAXXXMXMMASAXAAMXMASMSASMMMSXAXMSMMMAXSAMXSAXMXSAMMMSXMXMXASAXXAAAXSSSMXXXMMMMMASAMXAAMSASASXSSSSMSMMXAAMASXSAXAMMSSMMSMSXMMSSSSSSMMSM -SAMXSASXSXSMMXMAMAMMMSASXMASMSAAAMMSSMXAMXAAMAMAMXMMMXXMAMXSAAMSXMASXMSMMMMAMXMMMASXSMSASXMXMMXMAMAAXAAAAASMXMMXMASXMMSMAMAXMAMAXMAMXMAMXXAM -MMSMMMSASAMXAXMASXSXSAMXAMMMXSXMMXAXAAXMAXMXMAMASAMMASASXXAAXMMASMAMAXXXAASAMASASASAXXXXMAXSMSMMMMMMMSMMMAMAAXMSAMXMXAAMMSSMMAXMMMASMMSMSMMS -MAAXAXMAMXMASXMXMMXMAXXSAMXSMSMMMMXXMMMSSSMXXASAXXXAMXAXAMSSMSXASMXSXMXASMXASMSASAMXMMSMSXMMAAXAXXXMAXXXMASMMSAMMMAXMASMMMASXAASASASMAMASAMX -MSSMMSXXAAMXXXMAAMMSSXMMXXMSAXMAASMSMXXAAAASMMMMSMSSSMXMMMMAAXMASXMAMXMMMXMAMXMMMMXMSXAASXSMSMSMSSMMSMMXMAXMASASXSMSXAXAASAMXXSAAMASMXMASAMM -XAMAXMMXSXSASMMSSMAAMXMAASAMMMMSXMAAXAMMSMMMAXMXAAXAAXMAMASMMMMXMASXSXXSAXXAMXSXASAAMMMMMASAMASAAAMMAAMSSMMAMSXMAMSSXMMSMMASMMMMAMXMXAMAMASX -MAXSASXAMAMMSSMXAMMSSXMAMMAMXXAXAMSMSXXAMAXSXMASMSMSMMMXSASASAXASXMAMAMMASAAMAXSAMMSMMAAXAMAMAMMSSMSMSMAAAXSXSAMMMASASAXXSAMXSASMSAMSMSMSAMX -MMMMAXMMMAMASAXSAMAMMMMXSSSMMMMSMMAAMAMASMMMMMXXAMAMAMSAMMSASMSASAMAMAMXAMMSMAMSMSMXASMSMASXMAMMAMAXAAXSSMMMASMMXMASXMASAMSSMSASASAMSXAMMASX -SASMSMAAMXMXSAMSAMXXAAAMMAMMMAMAASMMMAAXMAMAAXMMXMASAMMASAMMMAXAMAMXSMSMSSXMMXXMAAASAMAAMAXXSXXMAMSMSMXMMMAMXMXMXMASAMAMAMMXMMXMMSAMMMSXSMMM -MASAXSSMXSMAMMMMXAXSSXXAMAMXSSSSMMAMSMSSSXSSSSMSASXSASMXMMSAMSMMSASASXAXAMAXMMMMSMXMSMSMSMSASAXSXMMMMMMSXSASXXAMSMMSAMXMXMMMSXSAXMAMAAXMMSAS -MSMMMMMSAAMXXAAMAMXXMAXSSMSMMMAMXMAMAMAAXAMXAXAMMSXSXMASXXMAAMAMSAMASXMMMMMMMAXAXXSAMXXAMAMAMXMMAMXAASAAASASAMASXAXMXXSXSMSAMAMXMSSMMMSAMMXM -SAAXXAAMSSMMSSSSSMXMMMMMAMXAMMSMASXSSSSMMSMMSMSMXMAXASAMMASAMMAMMAMAMAMAXAAMXXMASAMXMXMAMSMAMMMSAMXSSSMMMMXMMSMXXMMASMSAMAAXMSMAMAXAMAMAMAAM -ASMMSMXMAMXAAAAAMXAMAXASXMMSXAAMXSAAAAMXAXASXAAXMASXXMASMMMSMSMXSAMXXAMXMSMSASMMSAMXSXSXMXSAXAMSXMXMAMAMSMSSXAMMMSMMMAMSMAMSMAXAMMSMMAMXMSAS -MMMXXXXAASMSMMMMMMXSMSASAAAMMSMSAMMMMMMMSXMMMSMSMAMXMXXMAAAMMAAXMMXXXASAMMASMXAASXMXSAMAMAMMMSMMMSMMAMAAAAXASASAASAMMMAAXAMAMMSMMXAXMSSMXMAA -XMMXMASMXSAXMXMXSAMAAMXSXMXSAXAMMXXASXSAXAMXAAMAMXMAMMSMSMMXSMMMAMAXMMMMXSASXMMMMAMAMAMAMSSMAAAAAXXMASMSMMMMSXMAMSAMAMSSSXSXXXAXASMSMMAMAMXM -AMXMSAAXAMXMSXSASAXXXXXXMSMMMMAMSSMXSAMASAMSSMSXSASASAXAASMMSAXSSMSMXAAXAMXMAXSXSAMMSMSMSXAMSSSMSSXAMAMXAMSXMASXMSAMXMXAXASAMSAMXSXAMSAMAMMX -SAAMMSSMMSASXSMASMMSSMMSAMXAMSSMMAMAMXMASAMAXXAMSASASMMSMXSAMXMMAAAASXMMMSAMXMAASXSXAAAMMMAMXMMAXMAXSAMXSAXMAMXMASXMXXMMMMMAMMMMMMMAXMXMAMXM -MXMMAMXAXSXSXAMAMAXAAAAASMMAXAXXXAMXSXSASXMASXSMMAMAMXAAAXMMMAAXMMMMMAAMASXSMAMXMMMXMSMSAMMSMSMMMSAXSASAMMMSAMAAMMMMXMMMSMMMMMAAASXMMSMMAMAA -SAMMSMXAMXMMXAMASMMSXMXSMMMSMASMSMSASMMASMSAMXMAMSMMMMASAMXSMXSXSMXXXSMMASXMAXMXMAAAXMAMXSAAMMASAMXMSAMXSXAXAMSSXAASAAAASAAAAXMXMMAAAAMMSSXS -SAMMAASXMSAXSXXXAMAXXMMXASAAMAMMAXMASAMAMMXXMASAMAAAXMAMAXAXSAXMASXMAXAMXMAXXASXSMSSSMAMAMXXSSMMXSXMMMMMSMMSSXMXMSSXMMMXSAMSASXSSSSMMXXMXAMX -SAMMMMMAASMMXASMXMASAMXXAMSMMSXSXSMMMXMXSSSMSASMXSSMAMASMMSSMXXAMXMAMXAXSSSMMMAAXMAXXMAMMXSXAAXAXSMMAAAMXAAAMXAMMMAMMASAMXMMXXAAAMXXSMSXMASX -SMMXSASMMMAMMMMXAMAXAMXMSMMXAXAXAMXSAXXSMAMAMXMAAXAMXSXSXAMAXSMSXXXASMSMAAMXASMAMMMSSSXMSASMSMMMSMASXSSSSMMSSMMMAXMASASASMXXMMMMMMMAAAAXSAMM -SAMXSAXAASAMAMASXMASXSSXAASMMMXMASAMXSMMMAMSMAMMMXAMASASMSSMMSAMASMAMAAMMMMSASAAMAMMAMAAMAMAAAMMMMMMAAAMAASXMAXSMSXAMASAMAAXXAAAAAXXMXMMMASA -SAMXMAMSMSSXXMMAMXXMAAASMSMASAMSMMASMMXMAMMXMXSASXMMMMMXAXMAAMAMAMMSMSMMMAASXSXMMAXSAMXMMMMSSMMMAMXMXXSXSMMASMMMASXMMAMAMSMSMMMXXSSXMXSASAMX -SSMXMAMAAXAXSMSMSMMMMMMXMXMAMMMAAXXMAXMAASMSXMXXMASMSMXMSMXMMSAMXSAAAAXMXMXMAMXSSSXSASMSASAAAAMMAXXXMXMAMXMXMAMMAMAXMAXXMAMSASMSMAMXMAXMXMAS -SAXMMMSXSMMMXAAAAAASXSASMAMMMASXSMSSSMASMSAMASXMSMMAAMAMAMXXMXASMMMSSMXSAMXMSMAXAMASAMAAAMMSSMMSSSMASAMXMSSMSMMMASMMSASAMXXSAMAAMAMMMASMXSSM -SMMSAMXMMAXAMSMSMSMSASAMMXSASMSAXAXXXAXXAMMSAMMAAMMSMSXXAXXMSSMMAMMMAXAMAXMMMAMMMMMMAMMMMMAMXXMAMAAMMASMAAAAAAASXMXMXMAXMMASMMXMSMXSMASMAMAM -SXASMSAMSSMSAMAMAXAMXMAMAXSXSAMMMXMXMSMMMMAMASXMASAXXAASMSMAAXMASAASXMMSAMSASAMAAAXSAMASXMASMMAMMMMXMAMMMMMSMSMSAMXMAMAAXSASMSMXMMAXMXMMAXMM -XMAMXMAMAXAXMMAMXSAXXAMMMXMASASMSAAXAAXAXMXSMMAMMMXSXMAMAAMMMMXAASAMXAMMMMSASMMXMXXSASAMASXSAMMMASXMSSXXAXXXMMASAMAMAMXMMMAXAASAAMMSSMMSSSXS -SSMMSSSMMSXMASXMASAMSSMAXASASAMAMXXXSSSMXAMXXMMSAAAXAXMMSAMXSMMMMMSSMSAXAAMMMAASXMMSMMXSXMASMMASMSAMAMASMSMAMMMMSSMSMSAXMMSMSMSMSAAMAAXAASMS -AAAXAAXMAXAAXXAMXMAMAAXXMAMXMMMAMMMMAAAMMSASAMAMMSMMMMXAMASAMXAMXAAXXAMMMMXAMXAAAAMXMAXXAMAMASAMXSAMAMXMAAMAMAMMASMAASAMXAMXMAXAMMXSSMMMSMXX -SXMMMMMMMSSSXSXXXMAMMSMXAAMAAAXAXSAAXMAMAAMSAMASXMXAMXMAMAMASMSSMMSSSMXAAMSMSMSMSXMAMMMSMMASXMMSMMXMAMAXXMSSSMSMAXSMXMMMMAMAMMMMMAXMASASAMMS -MASAMXAXXAAXXAMXSMMMAAAXMASMXMSMSAMMMXMMSSMSAMXXAAMMSAXXMSSMMAMXMAMXMXAXMXAAXXXAXMMXSAAAASASMSMAASMSSSSMMXMXAAAMSMXXMASXXAMSMSAMMSMMASXSASAX -SAMASXMMMMSMSXMASAAMSSSMSMXMXXAMAMSXSAXAAAAXXAMSMMMXMASXXAAAMSSSSSSSSXSSSSMSXMMSMMSAMMMSMMASAAXMXMAAXSAASMXSMMMAMASXMXAAMMMXASXSAAMMXSMSMMXS -MXSAMMSAAXMAMXMAXAMXXAXAXXAMXMASAXAAMAMMSMMMSXMAMASXMASXMMSXMMAAXAAAXAXAAXMMAMMAASXSMAXXAMXMMMXSAMMMMSSMMMASXMXASMMAMXMMAAAMXMMMMSSMXSAMAMAS -MMMMSASXSMMAMMMMSSXSSMMMMMSMSSMMMMXMMAXMAXSAXAMMSASAMSMMAXAAMMMMMMMMMXMMSMASAMSMSMAMMXMXAMMMMSAMMXXMXMAXAMASASMMSXXAMAXXSMMSMMXSAMXMAMSMAMAS -AAAMMASXXASAMMAMXMAXAXAXSAAAAMSAXMMMSXSMXMMMSSMMMMXAMAAXSMMSMMASAMAXAMXXXMASXMAXAMXMSSSSSMAAAMAXSAMSMMMSMMASMMAMSMMMMXMMXMXXAMASAMXMMMAXSXMS -SMSSMSXMMAMAXSXSAMSMXMMMAXMXMMSMMSAMAMXMAMXMAMAXAMSSSMSMAMAAMMASASXMXAXSXMASASAXMAMXSAXAAXXMXXXMMASAAAAAAMAXMSSMMAASMMXSAMXSSMASMSMMMMMSMAAX -XAMXMMAMSSXMAAASMXAAASXSSSSXXXXAASXSSSMSSSMMASMMSAAAMAMXAMSSSMASAMXXASAMAMAMMMMSXAASMMMSMMSMSMAMSMMXSMSSSMSSXAXMMMMMAAAMASMAXMASAAAAAASAMAMS -MAMAMSMMAXAMXMXMASMSMSAXMAMMMSMMMSAXXAMXAAAMAMAAMMSMSMSSXXXAMMAMASAXMMASAMMMSAASMSMMAXAXMXAAASXMAXMAMMMAMAMAMMSMMSMSMMMSAMMMMMAMMMSMSXSAXSSM -AXSAMAMMMMXMMMMSMMXAAMMMMAMAAXAASMMMSMMMSMMMASMXMAMASAAMXMMMMMMSAMMMXSAMASXAXMXSAXAMXMMSSSMMMSXMMMMMMXMAMSMXMXAMXAAAAMXMMMAMXMSXXMAXXMMMMXAX -SASMSXSAAMSMMAASXSSMSMSXSXSMSSSMSAAMMAMMMMXSXSXXMMSAMMMMAMMXSAMMASXMAMMSXMMXSXMMMMMASMMAAAASXMAMAASXMASXMAMMXMAMSMSMMSAMSSSXMAMAAASAMXASXSSM -XXSXMMSMSMSAXMMXAAAAAAMXXMSAMAAAMXMMSAMMAMASAMAXSMMASXMXMSAASAMSAMAMASAAXSMXAXMAXSMAAAMMSMMMAAXMAMSAXXSASXSAAMXMSXMAAMXXAXMAMAMSMMMXSSSSXAXX -MMSAMASMMAMAMSMMSMMSMSMAXAMAMSMMMAMMSXMMAXAMAMMMSASAMXSAMMMXSAMMSSXMXSMMMAMMMXXAAXMAXXXAXMASMMMAMSMXMAMASAMMXSAMXAMMMSMSMSSXMAXAAASAMMMMMMMM -AAMXMASAMMMSMMAAXAXXAMAMXSMMMMXAMAXAXSSSSMSXMMMXSAMASAMMSXMMMXMAMMMSAMXXSAMAAMASXMSSMMMSSSMMMASXMAAAMXMSMAMAMSASMSMSXAAAXAAXSSSSSMSAMXAMAAAX -SSMAMAMMXSAXAMMMSMMMSMMXAXAXXXMMMSMMMMMAXAMXSAMMMMSXMASAMXSSXMMMSAAMAXXASMSMMSAMAMAAAAXAAXAXSASXSMSMSXMAMXMAXSAMAAAMAMXMMMMMAMXXMASAMXMXSSSX -AAXSMXMXXMASXMSXSXMAXAMMMSSMMAASAXASXAAAMXMAXASMAAAAMAMMSAAMSMAAMMMSAMSXMXAXMMASXMMSMMMMSMMMMASXMXXAMMXAMMSXMXMMSMSMXMAAAAXXXXAMXASXMASAMAMX -SSMMAMSMSMAMAMSAMXSASAMSMAMXASMSASAMXMMXMAMMSMXMMXSAMASXMMMMASMSSMAMAXMASXMSXSAMXSXXXAXXAAXXXMSAMAMASMSXMAXSXAMXXAXMASXSMSSSMMSSMXMASASAMAMM -MMAMXMAASMSXSMMAMAMXSXMXMASMXXAXAMAMXSAXSAMXAMSMMMXMXMXAXSXSAMSAXMXMXAXXMAAAXMASAASMSSSMMSMSAMXAMMSAMMAXASMMSXMAMMMMXAMXMXAAXAAAXSMMSMMMMMSS -MMMMSSMSMAXSMASXMXSASAASMXSAMMMMMMXXXAAXMMSSMXAAAAMAAMXMMMAMASAMXASXMMSSSMMMSXAXXAMXAASAAMASMASAMXMASMSMMXAMSMSXSASXSMSASASMMMSSMSAMMAXMSAAA -MAAAAXXMMAMAXXMXAAMASXMAXMXXMAXMSAMXSMMMMAAMMSSSMSSSMXAAAXSMMMMXXMASAAAAMMMXXMMSMXAMMSSSMMAMMMAAXAXXMAXXXSAMXASXSASXAASMSAAXMAMAASMXMSMAXMAS -SSSMMSSMMSSMMSMXMXMAMASXSSSMSSSXMASAXXSXMSSMAAMXAAAAAXSXMSMMSAXSASASMMMMMASASXAAASMSMAMAMMXMASMMMSMAMMMMMSXMASMAMMMMMMMAMMMMMMSMMMXMSMAMAXSM -XAAXXAMAAXAXAAXAMSMMSAMMAAAAAAMXSAMXSAMXAAAMMSXXMMXMMMMASAMAMASXXMASXSXXMAXMXMMXMAAAMAMAXXMMXMAMAXMASAAAMXMAMAMXMASAMMMMMMXAAMXXXMAMAASXMSAS -MSMMMASMMSMMSSSXSAAXMASAMSMMMXMAMXMAMXAMMMSMMAXXASXAMSSMMAMXMMSAMXXMASMMMSSMAMSSMXMMSSSXSAXXASAMXXSASMSSSMXMMSMXSASMSAAMAXSXMSASMSSSSSMAMAMX -AAXMAMMXMAXAXXMXAXXMMXMXMXMXMAMAMAMSSSXSAAXMMSSMAMXSXAAXSAMXSMMMSSMMXMSXAAAXASAAXSXXMAAASMMMXSXSAAMXSAMAAAASXXAAMMSXSXSSMXSASMAMAXMAMXMXMMXX -XSAMXMXSMMSMMMXXMAMMMXXAMAMASASASAMAAXAMMMMAAAAMAMMMMSSMSASXSAAAXMAMXXAMMSXMMMXSMMASMMMMMXSXMMMSXXXAMXMSMSMSASMMSXMASXMAMAMMMAMMSMMSAMXMXXXX -MXXMASASAMMMAMMMXSAASMSASASMSXSMSASMSMMMSMSMMSMSASXAAXAMXXMASMMMSSSMSSMSAMMSXAAMAMAMAXXXXAXAAAAXAXMXSAAXAXXMXMASXASAMASXMASAMXMAXXXMMMAMXMMM -MMSMXMASXMSMXSASAMSMAASASASASAMASAMAXXXXAAAXXMASASXMSSMSAAMXMASXMAAAMMXMAMASMMXSAMASXMSXMASXMMSMMXMASMSMSMXXASMMSXMAMXMAMXMXXSMXXSXMASAMXASX -AAAAAMXMMXSAASMMXMASMAMAMXMXMMMAMMMSMMMAMSMMAMXMAMAMXMASXXSASAMAMSMMMXMMAMMMAAAXASASAMXAMASASMXAXASAMAAAAXMXXMSAMXMSSMMSMMMSMMMMMSASASAXSAMX -MMSSXSMMSAMMMMMSMXMSXAMSMSMSMXMXSXAAAAXXXMMSSSMMXSAMXMXMMMSXMASAMAMSMAXSAMXSMMSSMMASMMASMASMMAMMXMMAXSMSMMMSMMMMSAMAAXAAMAAAAAAAXSAMAMXXMASX -SXMMASAXMMSMXAXXASMMXSSXAXAAMASMMMSSSMSXAXAAAAXSASASXMMAAAXMAMXMXMXAMAMSASXSXAMAXMMMASAXXXMMMSMSSMMSMXAMXSASAAAASAMXSMSSXMSSXSSSMMMMMMSXMMSA -XAASAMSXXXMXSMSMXMXAAXMMMMSMSASAXXAAXAMMMMMMMSMSASAMASMXMXSAMXXMASXMXSASAMAMMMSMMMXSAMMSMMSMXMAMAAAMAXXMXMAXSMMMSAMXXAXAAXAMAMAMAMXMSAMASAMM -SXMMAMMMMSXAMSAXASMXMMXAAXXAMMSXMMMXMXMAXAXMMXASXMAMAMMMSAMXMXMMAXAXXMAMAMAMSAAMASAMSSMAMMAMMMAMXMMSSMXAXMSMXMSAXMSSMMMSMMASXMAMASAXMASXMASX -AMSXSMAAAAMXSAMSXSAAMMMSMSMAMASASXXXAASASXSXAMAMAMXMAXAMXXMASAAMXSSMSMAMXSSXMSAXAMASAXXASXASXSMMXSAMAMMXSAMXAXMMMMSXASAMXMMMMSMSAMXSXAXASAMA -SASAXXSMSXAXAXMAAXXSAAAAXMMMMMSAMAMMSMMMAMMMXMAMAMXXMSMSMMSASMSMMXMAMSASAMXAMMXMASMMMMMMMMAMXAMXAMXSAMMMSAMMMSASXMXXAMXAAXAAXAAMMSMMMMSMMMSS -MAMAMAXAMXSASXMSSMMXAMSSSMSMMMMMMXMAAXMMMXAMAXSMSMSMAAMAAAMASAXXAAMAMMXSAMSMMAAXMMXAAAASXSASXSAMXSAMASAAXAMXAXAXMASMSSMSMSMSSSSMAAAXAMAMAXAA -MXMSMSMSAAXSMAXAAAXSSXAMMAAAAAMMSXMSSXMASMSSSXMAXASMSMSMMMSASASASMXMXSXMXMAMMMXAAASXMSAXXMAMAMMXMXMSMSMSSSMXMMSSMXMAMAMXXXXAXAMMXXXXMMMMXSSM -MXMXAXAMMMSASMMSSMMMMMXSMSMXMXXASAMXAMSSMAAAMAMXMXMAXAXXXXSAXAAMXMASAAAAMSXMAAMMMMSAMMMMMMSMMMMSMMXAMXAAAAAXXAAAAXMMSSMXXSMSSMXMSSSSMXSAMXAX -MXMMMMXMMXMMAMXAXAMXXMMMAMAMSSMMSAMMMMXAMXMAMMMXAXMXMXMMSMMMMMMXMSXMASXMAMMSMXSXAAMMXAAMMAAAASAAAXSMSMMMSMXSMMSSMMSAAXMXMMAAXXXMAAAXAAMAMXMX -SXMAMSMXXMMMSAMXSXMXAMXSMMAMAAAMMAMMXMSXMASMXAMXSAMASAXMAXAMXAXAXXAMAMXAXXAAXAXXMMMXXMMMMSMSMSXSMMXXAAAAXAAAMAMAAASMSMSAMMMMSSSMMSMMMMMAAAMM -AMMAMMXXASMAMXSXMASMMAAXMSXMSSMMSSMSAMXAMASAMXAMXMSASMSSMXXSSSSMASAMSSMSMMSSMMMAMXXSXXAXMMMMASAXMSSSXSMSSMMXMASMMMXAAMMAMXMASMAAAAXXXAXSSMSA -MSSMSAAMSMMMSMMASAMASAMXMMMMAAAXAMASXSXSMMSMAMAXAXMXSAXAMSMXMMAMMAMMMAAMXXAMXXAMXSMSASMMMAAMAMAXMAAMMMXMXMSXSASXSMMMMSSSMMMSSSSMMMXAMMXMAMAX -XMAMXMASXAAAAAXXMASXMMMAAXSSSMXSAMXMASAMAMXXMASMMXSAMXMAMAAAMSXMMMXAXAMXXMSMASXMMXAMAMAASMMSAMXMMMSMASAXMXMAMAMAAXMAXXAAAMSMMXXAXXMXXMAMAMMS -SMMMSXMAXXMMXMXSSMMASASXSMAAAXASAMXAASASMMSXMAMAMXMMSXSAMMSSXMASXXSXXSAMXSAMXXAAMXMMAMXMMAASAMXSMMMXAMAXXSMMMXMSMSXMXMXMMMMAMXSXMXMASMMSMSAS -MAAAXMAMAMSXSMXMAASMMAAAMMMMMMASAMXMAMAMAXXAMASAMMSXXAXAXXMAXSAMMXMASMAAXSMSXSSMMMASXSASMXMSAMAAAAAMMXSASAAXXMAMAAXAMSAMXMXAMMMSAXMXXAAXAMAM -SAMSSXXXMAMAAXAMMMMXMSMAMAAMXSASXXXXXXSSMMMXMASAMASAMXMMMSAMXXSXXAMXMSMSMMXAAXMASXMMASASAMASXMASMMSSMAMXAXMMMSAMXMXXAXMXASMXSAXXSXSMSMMMMMSM -MXAAMMMXMAMXMSXSXMASAMXXMXMSASAMXSMMMMMAMMSAMXSAMSXMXAXMAXXXMMMMSSSSXMXAAMMMMMSXMAXMAMASAMXMXMAXAAAXMXMSXXSXMASAXSMSSXMMMXAASXMXMXMAAXMXSAMX -MMMASXSSSSSSXAASXSAMASXSSMAMAXAMAMMAAAXXMASASASXMAMXSMSMSSXXMASASAAMMSMSXMAAAAXMMXMMXSASXMSSMXAXMMSMMSXMAXXAMXMMSXAAXAMASMMMMXMASAMXMSAXMASA -XASAMAMAAXAAMMSMAMXSAMAAAMAMMXMMXXASMMSAMXXMMMMXSSMXAAXXMXMXMSSSMMMMAXMMMMSSMSSSMSAXAMAMAAAAAMSSXAMAAXAMXMSSMMAXMMMMSXSAMAAMXSMMSASAAMMMMXMX -SXMMMAMMMMMMXSAMXMMMXMMSMMMSMXSASAAXAXMASAXSASXMAMASXAMXAAAXMAMMMMMMSSXSAXAXXAAAASXMMSSSMMMMMMMAMSSMMSSMXMAMASXXAAAXXMMMSSMSAAMAXAMMXMXASAMX -MMSASXSAMXMMXMXXXSXMXSAMXSAXAAMAMMXMMMSAMXMMASMMAXAAXAAMSMSMMASAAMAMXMASXMMSAMMMMMXSXAAAAMXMAXXAXXAAXAMXXMXXMSMSSSSSMXAMAXXMASMSSMMMMMSXXASX -AAXAMASMSMSMMMSSMMAMASAMXMMMMMSASXXMXAMXSSSMAMXSMMSSSMSMMMAASMSMSMSSMMAMAMAXMXSXXXSAMSSXMMXXAMSXMSXMMSSMMMSXXMAXAAXAXSSSMSMSXXAMXXAXAAMXSAMA -MMSAMXMXAAAXXAAAASXMASAMXXAAAASXSASAMXSXMAAMMMXAXAMAMXAAXSSXMMSXMAXXAMXSAMXXXASXMMXMAXMASMSMXXMAMAASAMAAAAXXAMXMMMMSMMXAXSAMXMAMXSSSXSAAMAMX -XXAXXXMSMSMSMMSSMMAMXXXAMXSMMMSMMAMSAMXAMXMMMSSMMMMMAXXMMXXXMASAMMMSMMXSMSMSMMMAXAAXMXMASAAXMASXMSSMASMMMSSXSMMXXXAAAXSXMMSMXSAMXMXSAMXXSAMM -XMASMAMMXMXXXAXXMSXSMSXMXAAMMAMAMXMXXMXAMAXAXAAASASXSSSSXMAXSXMMMAAAAAAMXMAAMXSMMSMMSASAMXMMSAMXXXAMXMXMSAMAXASXSMSSSMXASAMXMSXSMSAMXMSASASM -MXAXMAMMMSXMMMMMXXAAXMASMSSXMASXMMSXXMASXMSMSSSMMASAAAAXMXSXMAXAMXMMSMXXAMSMSMMSAAMAXXXASXMAMMSSXXMMSMAMMAMMXAMMAAMMXMSSMMSSMMXMAMAXSAMXSAMX -SXMSSMXSAAAAASASMMMMAMXMAAAASXMXMASXMASXAXAAMMMAMSMMMMMMAAXASMSMSXSAXXXXMXAMXMAASXMASMSMMAMXSXAXASAMXMASMXMXMSMMMXMMAMXMASAMAXSMASMMXXSAMXMX -SASAMXAMMXXMAMASMAAXSSSMSMSMMASXMASMAXMSMMMMMASAMAMSMMMSMMSAMAAXAAMMMXSAMSAMAMXMXXMAMXAMXXSSMMXSMAAMXSMSAASXMAAXXMASASMSMMMSMMAXAXXAMMMXSMSS -SXMASMMXXXSXSMAMMSSMMAMAAXMASAMAAXSMMMMXXAAASXXMMAXMAAAAAXMXMMMMMSMSAMXAMAASMSMSSXMXSSMMSMMAAMAMXAAXMSAMMMSASMXMSSMMAMMAXAAAXAMMSXSAAASXMMAS -SMSAMAXMSMMAMMXMAXXASAMMMMSAMMSMMMMXAAMSMXSMSAMXMMSMMMXXSMMASXSAXAAMSSMSMMXMAAAXMXSAAAXAAAMSXMXSMSSXAXXXXXSMMSAAAMXMSMSSMMSXSSXAMMSXSMSASMAM -SAMXSSMMSAMXMASMMSSXMAMXAMMASASMSMAXMSMAMMMAMMMAASAMXXSAMXSXSAASXMXMMXAXMAXMSMMMMAMMSMMSSMMMSMMXMAMMSMSMSMXSAXMMMSAMXASAAAAXSXMXSAMMXASAMMSS -MAMXAXMASMMMAMMAAXMMSAMSSMMAMXMAXMMSMAXXSAMAMAMSSMASAAMMMXMMMMMMMMMXMMSMAXXMXXMXMASAMXXMAASAMXAAMASMAXAAAXMMSSMSXSASXMMSMMSSMAMAMMMAMMMXMAMX -SAMMMXMAMAMMAMSMMSAAMAXMAAMSSSMSMMAAXMASMMSSMMXMAMAMMSMAMSASXSXAAAXMMAXXASMMAXAASXMASMSMSMMASMSXSAXXMMMSMMSAAMXMASMMAMXXXXXXMAMASXMXSXMSMSMM -XAXASXMASAMSAXAAMMMMSMMMMXMAAXAMAMSMSMMAMXAAXXASXMXSXAXAXSAMAMXMSMSASAMSXSASAMSASAMXXAXXMASAMXMAMMSMSAAAAAMMMSAMMMAMAMAMMASMXXSAXAMAMAAMAAMA -SMSMSASASAMSXSMSMXAAXAAXXSAMXMAMSMMAAXXMMMMSMSXSAMXMXMMMXMSMSMAMAMSXMAMAAMMMXXXAMMSSMMMMXMAMXAMAMSAASMSMMMSAXSXSMSSMASASXASASXMMSMMASAMMMMSS -AXAAXAMXSXMSAXMMMMMSSSMSAMAXMMXMAAMSMMXXAAMXAMXMAMASAXASAMXMAXMMAMMXSXMMMMASXSMSMAAXAAASAMMMMMXAMMMMMAAXXXMMXMXSXAXXXMAAMAMXAXSAAASASXXSAAXX -MSMSMXMXSMMMXMAMSASAMXAAASAMXSASMSMMXMSMSMSMSMSSMSASASASASXSMSXSXMXAMMMSXSAMAMAMMMMSSMXXASXMASMMSXMAMMMXSMMSXMASMMMMMMSMMASAMXMMSXMASXAXMXMX -XAXAAXMASAXAMMXAAMMSSMMSMMMMXSASAMXMAMAMMAMAXXMAMSXSXMASMMAAAAXAXSMSXSAAXMASAMAMASMMMSMSMMMMXSAAAASXSMXAAAAXAMASXXAAMAXXMASAXAXMMMMXMMMXMAAX -SSSMSXSAXXMMMSAMMXMAXAXMASXSMMAXXAAMSSSXSAMAMXSXMMAMXMXMXMSMMMSMSMAMAMMSSMXAMSASASASAMXAXAMSASMMMMMMAAMSSMMSAMXSMMMSMASXSMSMSMSMAAAAXAXAXXSA -MAMAMMMAXSAMASXXAAMXXSASMXAAXMAMMSXAAAMASASMMASMMMAMMMMSAMXMAMAXAMAMXMAXAXMAXAXXXSAMXSSMXMSMASASXXAMMMMXAXAAASAMASAAMXMASAMAMXAMMMXMMMMAASMX -MAMAMAMAMXAMASXMSXSMMMASXMSMMXXMMAAMMSMASMMAMAXAASASAASMMMXSAXSSSMSSSMSSSMSAMXMXMMMMXMXXAMAMXMASMSSSXXSXMMXXXMAMAMSSSSMMMAMAMMSSMSAMSSSMMXAX -SXMAXMMASXMMMXMAAAXAAMAMAXXAAAMSXMMSAXMASMSASMSSMSASMSMMXSAXMSMAAAXAMAMAMAXMAAMAAAAMSMSAMMAMXSAXMAXMAMSXSASMSSSMAMAMAAASMXMXSXAAAMASAAAXXMXM -SMSMSASAMAMAMSXXMSMMSSMSSMMSXXAAAAAMXXMXSASXMAXMASXXMMXXSMAXSAMMMMMAMXMAMMMMMSSMSSXSAAXASXSMMMASMMXSMMMXMASAAAMAXMASMXMMAAXAMMMMMSSMMSMASMMM -MAAAAAMMMASASAAMXMAXAAXAMXAXMASXSMMSMSMXMAMAMXMMMMMSXMASMMMMMASMMSMSMMSAMMASAMAXAAMMMXMAMAAMSMMMMMASAXSAMAMMMMSSMSMMXSMXXMMASAXXAXAAMAMAXXAX -MXMSMMMSSXMXXMXAAXXMSSMSSMMSSMXAMMMAAAAMMXMMSMAMMAAXAAXAMASXSMMAMSAAAASAMSAMASXMMSSMASAMMSMMXAXSAMMSAMMAMXSAMXAAAXXSAMSAAMSAXMSMMXMXSASMSSSS -XSXXXXAXMMSSSXSSSSMMXMAMAXMAASMMMMXMSMSAMXMAAXMMSMSSSMSMSASAAXMAMMMMMMSAMMASAMAAXAMXMMMSAMAXSMMSASAMAMSXMAXAMXSMMXXMAMXSSMMMSXAASAXMSXSAAXAA -MAAMAMXXAXAAAAAXMAMMAMMMAXMSMMXMASAMXMAXXAMXMMSAAXXAMAAXMASMMMSSSMSSSMXAMSMMMXSXMMSMSMXMASMMMAASXMMSMMAMMSSMMMXAMAMSSMAMXMASAMXMMASAMXMMMMMM -AMXSMMXSMMMSMMMMMAMXAMAMASXMAAMMASASAMXMSMSSXAMXSSMMMMMMSASASAXAAMAAMASAMXMAMMMASXMAAAASMMXAXSMSMMAMAXMXAAXAAASAMXAAXXXMASXMXSSSSXMXXMMAXASX -SXAAXMAAAAMAAAXAMSSSXSXSSMMSMMSMASAMXMAMXAAXMMMXXMAXAXSXMASXMAMMMMSSMMMXMASASMSAMMMMMSMMSASMMXAXAMAXMMXMMSXXMXSMASMSXMMMMMSMXAAXAXAXMMSAMXSS -MMXMAMSSSMSSSMXSXXAMAAXSAMAXAAXMAMXMASXMMMMXSAAMSSMMMXMAMXMASXMSXAAXAXMASMSASAMXMASXMMAAMMMMSMSMSSMSAMXAAMMSMMMXAXXMASASAAMXMMXMMMXSXAMXMMXX -MSMSMAAXAXMXMMSMMMAMXMXSAMSMMMMMAMXXAMAXXMAASAAXXAXMMASAMASAMAASMMSSMAXASAMXMAMXSAMXSSMMMSAAAAAAAAXSAMXMXSAXAAAMMSMXMMASMXMAXXASXSMAMXMSAMXM -SAAAAMMSMMSAMXAAASAMAXAXXMAMASASMSSMSSMMSMMXSMSXSAMXSASASMSAMMMMAMMAMAMSMMMXSXMMMXSMXASAAMMSSSMSMSMMAMAMMMASMMMMSAAAMSASASMSMMASAMAMSMAMXMSM -SMSMSMAAXAMASXSSMSASXMMSMSMSASXSAAMAMAXAAASAXAAXXMAMMASAMXSAMXAASMXAMASAAAMAMAAASAMXSAMMMSAAAAAXMAXSASASAMXMMAAXSMSMXAAXASAMXMAMAMSXXMASAXAX -XMAXXMMSMMSXMXMAXSXMXXXAXSXMXSXMMMMASXMASAMXMXMMAXSAMXMXMASAMSSSXASXSXSMSMMXSMMSMXSAMXMSAAMMSMMMXAASXSXSXSMMSMMMMXAXAMXMXMAMXMASAMAXXMASXSAS \ No newline at end of file diff --git a/Inputs/Day5.txt b/Inputs/Day5.txt deleted file mode 100644 index 53df5e5..0000000 --- a/Inputs/Day5.txt +++ /dev/null @@ -1,1379 +0,0 @@ -91|88 -92|39 -92|57 -32|64 -32|59 -32|77 -79|66 -79|42 -79|89 -79|37 -74|32 -74|92 -74|83 -74|66 -74|41 -39|91 -39|81 -39|11 -39|71 -39|72 -39|78 -89|92 -89|35 -89|44 -89|19 -89|57 -89|42 -89|17 -78|96 -78|64 -78|44 -78|47 -78|38 -78|83 -78|63 -78|43 -28|94 -28|39 -28|89 -28|19 -28|92 -28|41 -28|35 -28|66 -28|37 -61|81 -61|96 -61|44 -61|71 -61|19 -61|63 -61|57 -61|59 -61|91 -61|77 -33|37 -33|93 -33|27 -33|79 -33|29 -33|41 -33|34 -33|97 -33|28 -33|26 -33|61 -67|78 -67|72 -67|41 -67|37 -67|17 -67|97 -67|57 -67|39 -67|42 -67|19 -67|92 -67|96 -77|27 -77|29 -77|88 -77|81 -77|11 -77|38 -77|57 -77|64 -77|63 -77|47 -77|95 -77|34 -77|28 -98|81 -98|44 -98|94 -98|54 -98|72 -98|47 -98|61 -98|71 -98|57 -98|53 -98|17 -98|11 -98|93 -98|96 -97|96 -97|19 -97|94 -97|17 -97|44 -97|64 -97|77 -97|39 -97|55 -97|37 -97|72 -97|61 -97|98 -97|92 -97|71 -42|39 -42|96 -42|64 -42|98 -42|32 -42|57 -42|35 -42|26 -42|44 -42|11 -42|19 -42|93 -42|37 -42|63 -42|94 -42|53 -19|74 -19|34 -19|79 -19|64 -19|18 -19|43 -19|11 -19|63 -19|91 -19|47 -19|83 -19|88 -19|59 -19|38 -19|81 -19|96 -19|95 -55|44 -55|71 -55|72 -55|39 -55|96 -55|98 -55|93 -55|63 -55|32 -55|61 -55|94 -55|54 -55|35 -55|26 -55|57 -55|17 -55|78 -55|81 -64|38 -64|43 -64|81 -64|67 -64|63 -64|83 -64|27 -64|29 -64|56 -64|53 -64|95 -64|33 -64|59 -64|28 -64|79 -64|66 -64|47 -64|88 -64|11 -43|26 -43|89 -43|34 -43|66 -43|97 -43|56 -43|83 -43|18 -43|32 -43|42 -43|88 -43|28 -43|27 -43|41 -43|92 -43|79 -43|37 -43|67 -43|55 -43|95 -44|74 -44|64 -44|28 -44|63 -44|53 -44|57 -44|95 -44|59 -44|29 -44|43 -44|77 -44|54 -44|83 -44|81 -44|18 -44|33 -44|79 -44|11 -44|56 -44|88 -44|47 -59|89 -59|97 -59|34 -59|27 -59|37 -59|28 -59|74 -59|88 -59|42 -59|83 -59|55 -59|29 -59|67 -59|43 -59|56 -59|33 -59|41 -59|92 -59|66 -59|26 -59|18 -59|98 -83|37 -83|29 -83|55 -83|35 -83|97 -83|56 -83|88 -83|33 -83|92 -83|28 -83|66 -83|79 -83|42 -83|89 -83|41 -83|61 -83|67 -83|32 -83|17 -83|39 -83|98 -83|26 -83|27 -37|47 -37|63 -37|93 -37|64 -37|98 -37|81 -37|11 -37|57 -37|26 -37|96 -37|32 -37|54 -37|35 -37|77 -37|71 -37|19 -37|53 -37|44 -37|94 -37|72 -37|78 -37|17 -37|39 -37|61 -57|64 -57|38 -57|29 -57|83 -57|59 -57|18 -57|79 -57|33 -57|81 -57|54 -57|27 -57|53 -57|34 -57|91 -57|66 -57|47 -57|88 -57|74 -57|28 -57|95 -57|63 -57|43 -57|11 -57|56 -53|33 -53|74 -53|18 -53|67 -53|56 -53|89 -53|43 -53|95 -53|88 -53|66 -53|63 -53|54 -53|59 -53|27 -53|34 -53|83 -53|11 -53|91 -53|47 -53|38 -53|28 -53|29 -53|81 -53|79 -54|28 -54|33 -54|43 -54|38 -54|97 -54|27 -54|89 -54|67 -54|88 -54|74 -54|42 -54|29 -54|59 -54|34 -54|18 -54|91 -54|81 -54|95 -54|79 -54|56 -54|66 -54|41 -54|83 -54|47 -63|56 -63|28 -63|67 -63|34 -63|95 -63|79 -63|33 -63|83 -63|27 -63|54 -63|88 -63|81 -63|66 -63|91 -63|89 -63|29 -63|43 -63|97 -63|38 -63|74 -63|59 -63|18 -63|47 -63|11 -71|19 -71|94 -71|91 -71|88 -71|59 -71|77 -71|33 -71|44 -71|18 -71|53 -71|38 -71|96 -71|57 -71|81 -71|43 -71|74 -71|72 -71|64 -71|83 -71|54 -71|63 -71|95 -71|11 -71|47 -94|81 -94|63 -94|91 -94|33 -94|96 -94|43 -94|57 -94|53 -94|29 -94|54 -94|19 -94|72 -94|95 -94|64 -94|11 -94|18 -94|59 -94|47 -94|88 -94|83 -94|74 -94|44 -94|38 -94|77 -47|74 -47|56 -47|29 -47|28 -47|67 -47|95 -47|91 -47|97 -47|92 -47|18 -47|59 -47|55 -47|41 -47|38 -47|42 -47|79 -47|27 -47|89 -47|43 -47|88 -47|34 -47|33 -47|83 -47|66 -93|78 -93|96 -93|38 -93|43 -93|11 -93|64 -93|72 -93|44 -93|77 -93|19 -93|59 -93|95 -93|94 -93|53 -93|71 -93|83 -93|47 -93|18 -93|91 -93|54 -93|74 -93|81 -93|57 -93|63 -26|61 -26|32 -26|19 -26|72 -26|78 -26|39 -26|54 -26|93 -26|53 -26|71 -26|38 -26|91 -26|81 -26|94 -26|44 -26|77 -26|57 -26|35 -26|17 -26|11 -26|64 -26|96 -26|63 -26|47 -56|71 -56|67 -56|93 -56|32 -56|42 -56|39 -56|55 -56|97 -56|27 -56|28 -56|61 -56|41 -56|89 -56|17 -56|19 -56|35 -56|26 -56|66 -56|37 -56|92 -56|72 -56|98 -56|78 -56|94 -34|39 -34|66 -34|98 -34|89 -34|78 -34|37 -34|94 -34|17 -34|67 -34|92 -34|71 -34|35 -34|32 -34|27 -34|93 -34|26 -34|42 -34|97 -34|61 -34|56 -34|28 -34|41 -34|55 -34|79 -18|88 -18|32 -18|83 -18|34 -18|27 -18|79 -18|67 -18|74 -18|28 -18|26 -18|33 -18|37 -18|41 -18|42 -18|98 -18|92 -18|97 -18|39 -18|29 -18|89 -18|66 -18|95 -18|56 -18|55 -95|41 -95|26 -95|56 -95|79 -95|92 -95|28 -95|39 -95|88 -95|97 -95|42 -95|89 -95|27 -95|34 -95|83 -95|35 -95|37 -95|55 -95|67 -95|74 -95|66 -95|32 -95|98 -95|29 -95|33 -66|67 -66|17 -66|94 -66|42 -66|61 -66|93 -66|97 -66|19 -66|71 -66|32 -66|98 -66|37 -66|96 -66|35 -66|89 -66|72 -66|77 -66|39 -66|44 -66|92 -66|41 -66|26 -66|55 -66|78 -38|74 -38|88 -38|92 -38|59 -38|34 -38|79 -38|29 -38|89 -38|42 -38|33 -38|95 -38|41 -38|66 -38|97 -38|18 -38|91 -38|56 -38|37 -38|28 -38|43 -38|83 -38|67 -38|55 -38|27 -72|11 -72|83 -72|59 -72|96 -72|53 -72|57 -72|34 -72|81 -72|77 -72|47 -72|33 -72|88 -72|38 -72|63 -72|19 -72|95 -72|64 -72|91 -72|54 -72|29 -72|74 -72|18 -72|44 -72|43 -81|41 -81|88 -81|66 -81|74 -81|95 -81|43 -81|18 -81|56 -81|38 -81|91 -81|27 -81|59 -81|42 -81|28 -81|33 -81|92 -81|34 -81|47 -81|79 -81|67 -81|83 -81|97 -81|89 -81|29 -88|93 -88|55 -88|32 -88|97 -88|27 -88|41 -88|61 -88|66 -88|28 -88|34 -88|26 -88|79 -88|33 -88|29 -88|39 -88|98 -88|89 -88|17 -88|37 -88|42 -88|35 -88|56 -88|67 -88|92 -17|94 -17|96 -17|93 -17|38 -17|81 -17|44 -17|53 -17|54 -17|59 -17|47 -17|63 -17|78 -17|95 -17|72 -17|43 -17|57 -17|18 -17|64 -17|61 -17|91 -17|71 -17|77 -17|19 -17|11 -27|41 -27|55 -27|92 -27|39 -27|42 -27|93 -27|72 -27|89 -27|66 -27|97 -27|67 -27|35 -27|37 -27|98 -27|71 -27|17 -27|78 -27|26 -27|96 -27|94 -27|19 -27|44 -27|61 -27|32 -35|81 -35|71 -35|11 -35|17 -35|57 -35|19 -35|77 -35|72 -35|59 -35|91 -35|54 -35|44 -35|78 -35|18 -35|64 -35|47 -35|53 -35|94 -35|61 -35|96 -35|38 -35|43 -35|93 -35|63 -29|32 -29|42 -29|28 -29|78 -29|67 -29|61 -29|17 -29|27 -29|35 -29|92 -29|26 -29|79 -29|66 -29|34 -29|55 -29|71 -29|37 -29|56 -29|93 -29|97 -29|39 -29|89 -29|41 -29|98 -96|53 -96|79 -96|56 -96|44 -96|91 -96|57 -96|83 -96|64 -96|54 -96|33 -96|47 -96|34 -96|18 -96|59 -96|95 -96|81 -96|43 -96|77 -96|88 -96|11 -96|74 -96|29 -96|63 -96|38 -11|28 -11|47 -11|67 -11|41 -11|34 -11|89 -11|97 -11|56 -11|95 -11|88 -11|38 -11|79 -11|81 -11|27 -11|91 -11|74 -11|33 -11|18 -11|29 -11|54 -11|66 -11|83 -11|43 -11|59 -41|17 -41|39 -41|53 -41|94 -41|61 -41|44 -41|98 -41|32 -41|92 -41|78 -41|63 -41|77 -41|57 -41|42 -41|71 -41|96 -41|35 -41|64 -41|37 -41|72 -41|19 -41|26 -41|93 -41|55 -91|59 -91|66 -91|92 -91|79 -91|18 -91|67 -91|97 -91|56 -91|95 -91|89 -91|28 -91|83 -91|98 -91|37 -91|27 -91|43 -91|55 -91|33 -91|29 -91|42 -91|41 -91|34 -91|74 -92|78 -92|44 -92|55 -92|26 -92|77 -92|11 -92|54 -92|19 -92|53 -92|72 -92|17 -92|32 -92|37 -92|71 -92|35 -92|94 -92|61 -92|63 -92|93 -92|96 -92|98 -92|64 -32|96 -32|94 -32|35 -32|19 -32|53 -32|11 -32|93 -32|61 -32|47 -32|57 -32|44 -32|78 -32|71 -32|54 -32|91 -32|38 -32|81 -32|63 -32|17 -32|72 -32|39 -79|94 -79|32 -79|56 -79|93 -79|92 -79|71 -79|17 -79|27 -79|39 -79|55 -79|78 -79|41 -79|97 -79|98 -79|61 -79|72 -79|67 -79|26 -79|35 -79|28 -74|55 -74|67 -74|56 -74|26 -74|98 -74|37 -74|17 -74|79 -74|33 -74|28 -74|97 -74|89 -74|88 -74|42 -74|27 -74|29 -74|34 -74|35 -74|39 -39|47 -39|64 -39|35 -39|63 -39|54 -39|96 -39|38 -39|19 -39|44 -39|77 -39|59 -39|94 -39|53 -39|17 -39|61 -39|43 -39|93 -39|57 -89|97 -89|77 -89|72 -89|94 -89|39 -89|78 -89|93 -89|26 -89|37 -89|98 -89|71 -89|96 -89|41 -89|61 -89|55 -89|64 -89|32 -78|74 -78|19 -78|18 -78|95 -78|94 -78|91 -78|72 -78|59 -78|53 -78|88 -78|54 -78|77 -78|11 -78|57 -78|71 -78|81 -28|17 -28|71 -28|97 -28|27 -28|93 -28|78 -28|98 -28|72 -28|67 -28|96 -28|55 -28|26 -28|42 -28|32 -28|61 -61|93 -61|74 -61|11 -61|43 -61|18 -61|94 -61|64 -61|38 -61|47 -61|78 -61|72 -61|95 -61|54 -61|53 -33|32 -33|78 -33|92 -33|55 -33|66 -33|39 -33|35 -33|89 -33|17 -33|42 -33|67 -33|56 -33|98 -67|93 -67|61 -67|98 -67|55 -67|44 -67|77 -67|26 -67|71 -67|94 -67|32 -67|89 -67|35 -77|43 -77|33 -77|54 -77|79 -77|83 -77|56 -77|18 -77|53 -77|74 -77|91 -77|59 -98|38 -98|35 -98|63 -98|77 -98|39 -98|19 -98|26 -98|64 -98|32 -98|78 -97|57 -97|78 -97|53 -97|26 -97|35 -97|93 -97|42 -97|41 -97|32 -42|55 -42|17 -42|78 -42|77 -42|92 -42|71 -42|72 -42|61 -19|29 -19|33 -19|57 -19|53 -19|54 -19|44 -19|77 -55|19 -55|11 -55|77 -55|37 -55|64 -55|53 -64|34 -64|18 -64|91 -64|74 -64|54 -43|74 -43|33 -43|29 -43|98 -44|34 -44|38 -44|91 -59|79 -59|95 -83|34 - -33,27,67,97,92,32,93 -26,11,53,72,61,92,17,77,37 -63,95,74,83,33,79,56,28,89 -89,26,32,39,61,71,19 -41,26,61,19,57,64,53 -96,43,78,17,63,81,54,64,72,53,35 -81,38,59,43,18,83,88,29,79,56,27,66,67,41,42 -17,55,97,71,77,37,78,94,39,89,44,42,35,32,19 -32,33,92,39,42,37,61,98,17,66,41,79,67,35,26,29,34,89,93,55,27 -66,55,26,93,78,72,44 -92,55,37,32,35,17,61,93,71,94,19,57,64,53,11 -59,43,18,74,83,88,33,29,34,79,67,89,41,42,92,37,98 -67,98,26,35,17,93,94 -32,39,35,78,19,77,63,38,91 -96,44,77,57,63,54,81,47,43,18,88,33,29 -47,54,63,83,43,88,96,94,81,33,57 -26,32,27,17,94,41,66 -95,74,83,34,79,56,28,27,66,97,41,42,55,37,98,32,39 -26,32,93,78,96,44,63,47,38 -95,74,83,88,33,29,34,79,56,28,27,66,67,89,97,41,42,92,55,37,26,32,39 -77,28,91,38,11,64,34 -96,91,47,74,53,43,34,38,81,54,44,77,95,19,64 -83,18,89,43,28,95,34,41,97,79,98,27,67,92,37,66,74,42,29,56,88,55,26 -39,61,35,96,17,92,66,32,72,67,89,71,97,78,42,93,98,26,94,41,37 -19,77,97,78,37,64,98,92,96,61,17,71,72,26,93,94,55,57,39 -81,47,38,91,59,43,18,95,74,83,88,33,29,34,56,28,27,66,67,89,97,41,42 -64,53,63,81,43,18,95,74,29,34,66 -71,42,98,17,37,97,96,55,89,39,78,35,66,19,44,92,94,32,72,41,93,26,61 -79,34,37,28,66,97,32,26,42,71,92,55,39 -57,11,81,47,38,91,59,43,18,83,88,34,79,28,27 -56,34,35,66,28,32,55,42,98,97,92,17,37,41,29,39,79,88,26,61,27 -53,27,63,95,29,38,67 -29,34,56,66,67,97,41,55,37,98,26,32,61 -61,64,53,71,37,19,39,72,42,78,26,57,92 -33,29,79,41,39,35,17,61,93 -35,74,83,55,89,41,66,32,79,56,88,92,27,34,29,97,33 -35,44,77,53,63,17,11,71,43 -28,27,66,67,97,55,37,32,39,35,17,61,78,94,19 -33,29,56,28,66,67,89,97,41,42,92,55,98,26,32,39,35,17,93 -98,32,39,78,71,19,96,57,53,63,11,81,47 -55,37,32,17,78,71,72,19,63 -71,97,17,92,67,93,27,56,78,41,61,79,28,42,34,39,66,37,35,26,98,89,32 -55,92,56,67,29,38,33 -35,17,61,93,78,71,94,72,19,96,44,77,64,53,11,54,81,47,38,91,43 -95,83,88,33,29,79,67,89,92,55,37,26,32 -88,33,29,79,27,66,41,42,55,37,26,32,61 -96,26,71,41,53,42,94,19,77 -32,29,79,42,39 -92,55,37,98,26,32,39,35,17,61,93,78,71,94,72,19,44,77,57,64,53,63,11 -67,97,42,55,98,26,32,39,35,61,93,78,19,96,77 -43,88,33,29,34,79,28,27,66,89,97,41,92 -72,98,67,89,92,77,26 -54,91,59,74,88,34,28 -88,77,19,95,53 -39,61,93,78,71,94,19,96,44,77,57,64,53,63,11,54,81,47,91 -19,44,77,57,64,11,81,38,91,43,88,33,34 -74,42,29,59,34,41,97,66,38,83,56,89,79,28,18 -53,63,11,54,47,38,59,43,18,95,74,29,34,79,27 -37,98,32,35,17,93,71,19,44,53,63,11,81 -38,91,59,43,18,95,74,83,88,33,34,79,56,28,27,66,67,89,97,41,42,92,55 -77,57,64,53,63,11,81,38,91,59,43,18,74,83,88,29,34,56,28 -54,81,47,59,43,95,74,83,88,33,29,34,79,67,89,97,41 -93,19,44,57,64,53,63,47,38,91,18,95,74 -59,43,18,74,83,88,33,79,56,28,27,66,67,89,97,41,42,92,55,37,98 -97,41,78,67,71,27,92,94,61,17,26,96,93,37,98 -61,78,77,53,63,11,54,47,59,18,95 -28,27,66,67,89,97,41,92,55,37,98,32,39,35,61,93,78,71,94,72,19 -11,81,59,18,95,34,97 -26,35,19,77,54,47,38 -59,33,18,91,88,97,28,41,43,74,54 -81,38,43,18,95,74,83,88,29,34,79,56,28,27,66,67,89 -57,53,47,59,74,88,56,28,27 -17,61,93,78,94,72,19,96,44,77,57,64,53,11,81,47,91,43,18 -98,26,39,35,17,61,71,94,72,19,96,77,57,64,53,63,54,81,47 -38,91,59,18,29,79,27,66,89,97,41 -44,64,33,95,94,72,54 -18,74,27,89,92,98,32 -53,64,11,93,38,43,72,47,71,54,94,81,77,91,95,19,63 -57,64,81,47,38,91,95,74,33,34,27 -78,61,66,27,56 -42,55,37,98,26,32,39,17,61,93,78,94,72,19,44,77,57,64,63 -19,18,47,59,64,54,74,72,78,57,91,43,96,94,95,77,71,53,11,38,81 -53,54,47,83,34,56,67 -29,95,74,54,38,88,83,27,59,28,91,33,66,43,11,53,34,56,64 -26,28,71,97,92,32,56,67,61,72,89,55,39,27,98,17,35,37,93,78,66,41,42 -42,55,37,98,26,32,39,35,17,61,93,71,94,72,19,77,64,53,63 -39,93,94,72,44,64,47,91,59 -72,19,96,57,64,11,54,81,38,91,18,83,88,33,29 -33,29,34,79,56,28,27,67,89,97,41,92,37,98,26,32,17,61,93 -64,53,63,54,81,47,38,91,43,18,74,83,33,29,79,56,28 -47,34,81,56,88,91,57,29,77,28,74 -56,92,37,93,78,71,72 -96,32,72,57,93,71,19,81,37 -91,43,18,95,74,88,29,34,56,28,27,67,89,97,41,42,92,55,37 -38,43,18,95,33,29,34,79,56,28,27,66,97,42,55 -72,19,96,57,53,11,81,38,91,59,43,95,74,88,29 -79,56,28,27,67,89,97,41,92,37,98,39,17,93,94 -19,39,97,72,35,92,93,17,37,64,61,41,94 -54,81,47,38,91,59,43,18,95,74,83,88,33,29,34,79,66,67,89,97,41 -81,47,38,95,74,83,88,33,29,34,79,56,28,66,67,89,97,41,42 -53,71,95,38,59,83,77,78,47 -44,83,63,74,29,19,47,72,88,54,81,53,43,96,95,59,33,11,57 -77,64,11,54,47,91,43,95,74,83,33 -64,61,35,63,98,72,55,44,57 -67,18,88,98,55,41,97 -91,59,43,18,95,74,83,88,33,29,34,79,56,28,27,66,67,89,97,41,42,55,37 -32,35,17,61,19 -83,33,29,28,27,67,37,98,17 -74,89,28,27,83,92,79,59,41,56,95,18,38,34,97,42,29,67,47,33,91 -95,74,83,88,33,29,79,28,27,66,67,89,97,41,42,92,55,37,26,32,39 -47,26,19,11,57,61,81,94,78,39,72,38,77,63,17,53,64 -33,11,34,19,44,77,83 -81,38,91,59,18,95,83,88,33,29,34,79,56,28,27,66,67,89,97 -55,98,39,35,17,93,78,94,19,77,64,53,63,11,54 -28,17,35,32,42,97,71 -19,94,61,96,67,41,44,97,42,26,71,72,39,37,35 -63,83,38,77,59,53,57,28,18,64,56 -77,64,53,63,54,81,38,91,59,95,74,83,88,33,34,56,28 -28,66,89,97,92,37,98,39,35,17,93,71,19 -39,32,29,95,33,37,28,27,26,66,89 -94,72,44,77,57,64,53,11,38,59,43,18,74,83,33 -57,64,63,11,81,38,91,59,43,18,95,74,83,88,33,29,34,79,56,28,27 -55,98,26,35,17,61,93,71,94,19,44,77,57,64,53,63,54 -61,72,63,53,64,71,96,44,38,93,57,94,17,26,19,54,47 -96,44,53,81,59,43,95 -33,11,77,81,96,47,38,91,43,83,57,44,29,54,63,19,88,53,18,59,74,64,72 -47,95,83,66,89 -37,98,26,32,39,61,93,78,71,94,72,19,96,44,77,57,64,63,11,54,81 -63,18,95,79,33,81,44,77,88,59,29,74,47,11,34,56,43,53,57 -29,95,33,59,64,18,81,53,28,43,63,34,56,74,91,54,57,11,47,83,27,79,38 -91,43,95,88,56,66,67,89,97,92,55 -35,61,93,71,94,72,19,96,57,64,53,63,81,47,91,59,43 -28,66,55,98,26,39,17,61,78,71,94 -74,28,81,97,47,59,88,38,67,18,34,54,11,79,95,89,91 -78,97,55,19,37,27,93,39,94,98,32,35,42,28,89,92,72 -71,94,72,96,44,77,57,64,53,63,11,91,59,18,95,83,88 -95,74,33,34,79,28,89,41,39 -71,94,96,57,63 -28,18,92,29,26,67,97,32,74,27,89 -56,27,66,67,89,97,42,92,55,37,26,32,35,17,61,93,78,94,72 -47,95,96,54,63,77,29,88,18,91,74,83,81,57,59,38,64,34,44,33,79 -53,63,11,54,81,47,38,91,59,43,18,88,79,56,28,66,67 -44,77,53,63,11,81,47,38,91,59,43,18,95,74,83,88,33,29,34,79,56 -63,11,81,18,74,28,89 -34,56,66,89,42,92,17,61,71 -79,74,43,38,27,55,29 -96,78,11,81,83,77,71 -57,77,11,44,38,34,53,88,47,91,56 -74,29,34,79,56,28,66,67,89,41,42,92,55,37,98,26,32,39,35 -63,47,81,17,53,72,94,39,35,64,77,61,93,78,11,98,57 -96,44,77,57,64,53,63,11,54,81,38,91,59,43,18,95,74,83,88,33,29,34,79 -67,89,97,41,42,92,55,37,98,26,32,39,35,17,61,93,71,94,72,19,96,44,77 -19,44,77,53,81,47,38,91,43,18,95,74,83,88,29 -94,96,93,63,57,81,95,78,44,53,11,77,71,54,43,64,19,91,59,47,74,72,38 -56,28,27,97,41,42,37,26,32,39,35,17,61,93,78 -17,93,78,94,72,53,11,43,18 -29,54,18,59,63,34,38,74,83,28,57,95,77,79,81,47,91 -66,92,55,26,17,72,44 -28,61,92,97,56,29,67,27,78,98,55,26,42,79,17,41,39,89,34 -95,74,83,33,29,34,79,56,67,89,41,42,92,55,98,32,39 -67,89,92,55,98,32,17,78,71 -71,72,44,77,63,54,47,38,59,43,18,74,88 -35,17,61,93,78,71,94,72,96,44,77,57,64,53,63,11,54,81,47,38,91,59,43 -17,71,19,44,77 -18,64,47,59,72,93,94,95,57,54,38,81,91,44,63,53,78,61,71,43,11 -83,56,98,95,55,28,97,59,34,27,18,79,43,74,37 -78,57,44,61,39,59,38,63,17,81,72 -64,18,95,74,88,34,66 -66,67,37,98,61 -64,47,38,91,59,43,74,88,34,28,66 -71,94,72,19,96,44,77,53,63,54,47,38,59,43,18,95,74,83,88 -47,38,59,43,18,95,74,83,88,33,29,34,79,56,28,27,66,67,89,97,41,42,92 -97,41,92,26,61,93,71,94,19,44,64 -41,55,53,61,44,42,39,77,37,98,72,92,94 -19,59,74,78,47,71,94,95,38,91,53,93,64,11,57,43,44 -78,71,19,44,77,57,64,63,11,54,81,47,38,91,43,74,83 -17,66,27,88,28,35,56,33,67,32,92,89,34,37,41,26,83,29,79,42,97,98,39 -39,42,32,17,92,27,98,55,41,71,67,96,35 -26,32,35,17,61,93,78,72,19,96,44,77,57,64,53,63,11,54,81,47,38 -44,11,93,43,74,53,91,54,95,64,63,81,96 -42,18,83,88,27 -39,17,93,44,57,64,63,81,59 -89,98,17,78,19,96,57 -55,98,89,71,93,42,35,92,79,61,37,66,97,78,39,26,34 -53,63,11,54,81,47,38,91,59,43,95,74,83,88,33,29,34,79,56,28,27,66,67 -96,42,17,35,92,44,89,55,94,57,61 -79,64,96,63,54,47,83,88,18,43,74,44,59 -39,35,41,61,97,42,37 -56,28,97,42,92,37,26,17,78 -27,55,18,88,74,38,56,67,91,83,42,79,41,43,28,66,92 -42,92,26,61,93,72,19 -44,77,53,63,11,54,47,38,91,43,18,95,83,88,34 -32,39,35,17,61,93,78,71,94,72,19,96,44,77,57,53,63,11,54,81,47,38,91 -53,83,29,33,63,34,27,56,79,81,47 -44,93,89,32,61,92,94,26,66,42,55,78,96,97,17 -92,55,98,61,94,96,77,57,53,63,11 -42,88,92,89,74,27,98,28,33,41,83,18,66,79,97,43,55,59,34,37,29,56,95 -44,77,57,53,63,54,43,18,95,88,34 -41,93,26,42,39,35,97 -18,64,74,88,96,59,81,38,95,83,77 -56,28,27,67,89,97,41,42,92,55,37,98,39,35,17,61,93,78,71,94,72 -98,39,55,19,78,67,27,96,72,37,66 \ No newline at end of file diff --git a/Inputs/Day6.txt b/Inputs/Day6.txt deleted file mode 100644 index d562b74..0000000 --- a/Inputs/Day6.txt +++ /dev/null @@ -1,130 +0,0 @@ -........#...........................#...........#............................................................................#.... -...........#..............................................##.#....................##.......#.............##..............#........ -...................#..#........#..#..##.................#......##..................#.....#....#.............#...........#...##.... -..........#......#..................................................#...................#........#..#.....#....................... -.........#...#......#...................................#............#...#........#.............#..#........................#..... -..##.#...........#......#.....#.#...#..............#.#......#.......#..............#.............#..................#.......#..... -...#.................................####...........#..........#..#.....#........#...........................................#.... -..........#......................#............................#....................#..............#......#....#.................#. -...#.................#.........#.........#.#.....#....#.................................................................#.#....... -.......#.......................#...........#..................................#.............#..................#......#.#......... -....................#.#.........#.........#................................#........#.#.........................#..#....#......... -........#.............#....#.....#................................##.....#..................#.....................#............... -..............#...................#..........................................#..........#........................#................ -...........#...................................................................................#..........#.........##.#.......... -............#....................#...................#.................................#.......#............#.......#............. -..........................................#.....#.............#.#.......................##......#.....#........................... -........................#...#..................#......................................................#.#..#...................... -...#.....#.....................#..........................................#................................................#.....# -..##....................................#.....................#.............#.......#............................................. -........#..................#......#................................#.......................................................#...... -.........#................#...............................##.#.....................#...........................#...........#.#.... -............#.....#..................................#.....#........#................#............................................ -.....................................................##..............#.....#.....#.......#........................................ -..........#..#..............#..#...#.......................#..........................................#........................... -...............#.............................................................#..#......#.......#..#....................#.......... -.#......................#....##.#....................#..#...#............................#............................#....#....#. -...#...................................................................................................................#.......#.. -.#....#..............#....................#......................................#.......................#....#..#................ -........#.....................#............................................#...............#...................................... -....#........#..........................................................................#..............................###.......# -........#..#.....................#..................#..................##..........#.............................................. -..........................#...#................#....................................................#..#............#............. -......#..............#................................#.....................#.................................#............#...... -...................................................#....................#.................#.....#................................# -..........................#...............#....#........................#.............................................#........... -##..............#..............................#....#.......................#.................................................#... -...........................#.............................................................#.#................#......#........#.##.. -........#..................#...#..............#..............................#.....#..........#................................... -..........#......#.##..#.....#.......##.....#......................................................#..................#........... -....#.........#................#............................................#..#...#............#.....#..#........................ -#.......#..............#.....................#..........#....#......#......................................#........#............. -.........#..........................................................................#.........#............................#...... -..........................#...#.......#...............#..............#.......................#...#................................ -.......................................................................#.........................................#...............# -...................#.....#.......................................................#.............................................#.. -...##.....................#....#................................#........#...#....#.......##...................................... -.................................................................#.......#................................#.........#............. -#..........................#.#........................#............................................#...#.........#................ -................#.#........#...................#...............................#.........#............#.........#................. -...#...................................#.....................................................................#..#......#.......... -.................................................#..........................................#....#................................ -..............##.#...............................................#......................................................##........ -...........#..............................................#.....................................##.....#.........#................ -#.......................#..........................#......#...................#.#................................................. -..............##..........................#............................................................#................#......... -.......................#...#.........#....................................................................#............#.......... -.....#.................##.................................................#...........#..............#....#.................#..... -.........#................................................#....................#.......#.........................##.#............. -...........#............#...#...................#.........#....................................................#.................. -....................#.....................................................................#..........#.#.......................... -............................##..#.......................#.......#...................#.#..........#..........................#...#. -..................#...........#.......#.............................................................#............................. -...##......................#....##..................................#...............#.#..#........................................ -..#..............................##..................................................................#.......#.................... -...#.......#..........#.#.................................................##....#...............#...............#..........#.....# -.....................................................##....................#..#..#...........................#.................... -...#......................#........#..................#.##..............#..............#....................................#..... -...............#..........................#..........................................................#.#..#..............#........ -....................##....................#..#...................................#................................................ -...........................#..............#.....................................#.........................##...................... -...............#.................................................................#.....................#.......................... -......#..........#...#...........#................................................#...#.................................#..#...... -..........#............................#.............#.....................#........#............#.........#...................... -...........#...........#..........#....#......................................................................#........#.........# -......................#...............##.................................................................................#.....#.. -...#................#........#..........#...................#............^...........#.................#.#......##.#.............# -.......................##..............#......#.....................................#.....#.........................#.#.#......... -.................#..#..........................................#...................#...#.........#................................ -..#.#.....#.............................................................#.#....................................................... -..............................#...............###...............#..........##..........................#...#..#..........##....... -.................................#.....#.........#......................................................#................#........ -...............##.#..................................................#........................#...................#.........#..##. -.........#.................................#......#............................................................................... -..................#......................#.#.........................................................#.....#...................... -.#..................#.............................#............................................................................... -...................#...................#.#........#......#...........................#......................#..........#.......... -.............#...................................................................................................#................ -..........................#................................................#........#..#.......................................... -.#........................................................#.......#......#..#..................................................... -..................##..............#.............#................#...............................#......#......#........#....#.#.. -#.............#....................................#.....................................................#........................ -............................#................................................................#....#.....#................#........ -.........#.......................................................................................................................# -..#.........................................................................................#........#.#...........#.............. -...........#......................#.......#................................#...#.......#...............#.......................... -.......................#...#..#.......#..................#........#.....#.........#............................................... -..#..##...................#..........#................................................#.........#...................#............. -........................##..........................#.......#..........................#...#.#.................................... -..........................................................................................#.............#...........#............# -..............................#.............................................................................................#.#..# -.............#..........#...........................#.........................#........#.....................#............#......# -....................................#..........................................................................................#.. -.........#.................................#...........................................................................#.......... -.#..............................#......#......#.#................................#.................#......#....#..#..#...........# -.#...#................#.......#............#.........#...#..........#......#.........................#....................#....... -..............#........................#................................................................................#......... -.........#........#..#.........#........#......#..#..............................................#................#............... -...........#......................#.......#..................................#....#...#......#..........#......................... -...........#........................................................#.#...........#................#.............................. -.#...........................#...................#...#..................................................................#........# -....................................................................#...................#.....#......#...........................# -...#..#..............#......................#......#..#...............#..............#..............#..............#.............. -...........#........................#............#.#...........#.................................................................. -............#........................#.................................................#..............#.#....................#.... -............................#...........................#............................#........#..........................#........ -#................................................................#...........................#.............#.#........#.#.......#. -............#..........#..............#.......#...#................................#.........#.#................#........#....#... -...#.....................#..........#.............#....................................................#.#........................ -...............#..................................................#......................#...............#........................ -......#............................#..................#.....#...........................................................#...#.#... -#................#..........................................................................................#..........#.......#.. -.................................................................#..............#...................#...................#.#....... -...............#..............................................#.................#...............#...........................#..... -.............................#...#........................#....................#........#.....................................#.## -...............##..#.....#..#....#.#...#...........................................#.#........#........#.......#.................. -.......#........................#....#..#............................................................#.......#.................... -........#....................#........#....#.................#........................#.............#............................. -#...#...........#......................................................#...............#...........#..#..#....#................#.. -................................#........................................................#...#..#......#....#.....#....#...#...... -..#..............#............................#........#....#......#.................................................#............ \ No newline at end of file diff --git a/Inputs/Day7.txt b/Inputs/Day7.txt deleted file mode 100644 index a2bb6a9..0000000 --- a/Inputs/Day7.txt +++ /dev/null @@ -1,850 +0,0 @@ -453693978: 7 219 8 44 2 9 3 2 6 4 1 6 -61192589: 81 8 83 9 879 6 4 2 6 7 9 -6066: 65 29 87 9 14 5 21 3 -1957116: 171 37 224 6 42 -198050: 342 577 3 2 711 -41665119255: 7 7 8 124 371 3 6 2 51 5 -3166026: 5 33 9 66 6 -1662321: 5 4 7 622 17 6 1 52 43 2 -265653132: 630 1 4 9 22 8 498 8 5 7 -1060: 88 9 55 4 39 73 -157494755: 3 1 4 98 951 5 -1952833595452: 7 234 5 550 3 483 3 82 -467: 2 71 5 251 5 64 -7316189440: 6 2 6 443 1 512 7 4 8 8 7 -33138: 4 8 8 8 7 1 49 99 2 6 5 1 -913284: 2 89 585 39 270 2 1 3 6 -1215195700: 81 4 79 913 52 4 -298632108: 6 6 3 6 15 73 210 5 -318936618: 150 160 832 403 693 -2102812: 3 323 434 5 82 -3848880609: 716 5 82 59 651 -4940008: 658 1 935 55 31 -311641: 23 9 1 6 8 7 6 7 3 5 1 586 -722421: 81 9 30 3 8 -33606277360: 672 5 6 277 36 1 -13106566: 2 73 2 1 24 38 63 66 -54290459591: 4 9 7 1 554 6 7 2 62 859 -4886125: 1 56 5 829 2 7 5 1 1 4 9 2 -274540788: 6 3 715 6 3 68 51 3 3 2 3 -34447941395840: 3 1 852 309 9 70 2 4 7 5 -4575402861600: 15 153 1 35 5 6 68 740 -13778598989: 459 3 85 989 89 -105779: 3 6 584 993 7 -146019901569: 1 460 1 98 94 1 5 6 9 69 -1993182: 51 58 924 451 460 -6265483638730: 9 93 62 2 98 7 570 89 -196996630250: 7 2 76 3 3 1 3 8 57 56 3 4 -3944294: 2 21 4 7 4 996 1 5 7 3 -1427032798: 13 9 65 228 823 178 1 -480: 7 4 5 30 -356848870313: 574 635 862 9 69 8 -4991679: 9 6 6 59 9 79 1 1 29 81 2 -96014924: 2 899 48 230 3 10 34 -530314220: 68 99 15 786 18 -27235017: 353 75 890 751 -28227685247: 1 8 889 21 8 8 5 6 3 7 8 -23386943686: 7 5 3 54 2 9 12 7 5 5 3 49 -4671109: 7 7 85 18 6 -65643: 8 55 6 9 449 1 6 3 -28442705797959: 9 2 8 7 507 6 579 795 9 -604412418874: 85 90 73 6 79 8 8 62 8 6 -142652179: 24 680 578 6 82 82 7 9 -318206557831966: 3 24 7 98 55 7 83 1 966 -940: 1 33 4 93 6 9 2 2 79 1 67 -5659883: 5 285 2 661 9 5 6 310 7 -462378: 66 6 319 910 244 -16578901: 69 8 624 6 3 1 -58541640192: 4 9 4 7 92 907 8 6 9 1 8 -7340642493: 67 5 39 72 39 8 7 95 -452912147: 461 214 982 -48011225806: 4 80 112 25 556 249 -994133176: 5 7 9 7 3 5 696 3 31 68 5 -1671942: 6 5 943 3 41 4 59 -2011: 854 1 663 74 419 -2350244: 39 17 3 2 2 2 -599522955: 1 6 3 192 1 733 89 298 -150499563: 3 660 5 348 118 -1974967: 405 9 758 5 82 -1526491271: 309 9 717 22 817 4 6 -291350: 32 91 81 72 1 -2331564579753: 4 208 7 8 5 6 542 4 7 7 6 -9094800: 3 50 44 53 26 -8558953: 3 82 5 89 50 -5818: 578 3 8 -101507885: 3 65 33 89 9 10 5 77 5 -234179567: 8 3 993 765 301 62 -13394703: 4 615 99 55 3 -12726838: 50 6 7 8 3 4 2 936 83 2 9 -159408: 4 908 174 1 720 -257838: 444 5 58 28 -134142820: 6 8 99 1 9 7 28 3 4 3 4 7 -99344148: 2 1 788 29 5 9 6 544 7 9 -2522113308: 5 331 6 9 1 6 3 4 39 99 2 -140321: 4 3 5 4 31 9 -20942125931928: 68 562 429 219 8 89 -253357107: 361 41 7 341 2 19 7 58 -2576029514834: 5 1 3 605 83 1 4 834 -3812481: 8 507 2 74 1 -38667377388: 3 5 77 23 47 73 32 6 47 -154599952490: 3 2 3 671 64 6 87 8 3 1 -6771960: 3 9 66 3 3 337 6 90 3 1 8 -43692: 90 7 45 4 2 -318124: 1 8 497 80 44 -172874771: 2 8 9 1 3 9 7 63 2 7 63 8 -4129352: 502 4 4 8 511 4 2 469 1 -30132480: 4 148 672 59 5 -390439859: 29 8 6 4 6 9 81 9 9 27 2 7 -65515806624: 5 663 155 373 639 98 -5014677: 2 758 9 202 633 -1490: 81 7 16 78 3 -23528003: 4 9 8 6 6 7 5 7 83 13 5 1 -7929094: 23 407 7 2 121 85 -276945: 37 5 91 94 5 -561691819: 1 6 7 682 5 5 7 9 86 17 -12070408538: 9 163 43 3 5 1 1 8 7 5 38 -14816: 4 37 3 6 54 16 544 -9301982: 903 906 6 857 18 89 -236: 7 8 131 90 -924816: 14 66 8 16 -94248002483: 6 8 22 816 165 247 8 3 -775651572420: 98 383 3 6 3 73 210 2 -31344: 4 4 8 5 821 6 8 59 4 388 -30930: 6 15 50 119 62 -154217932: 22 13 1 719 67 6 8 498 -23474981: 3 65 250 41 18 65 81 -178893876: 3 7 7 8 96 9 33 33 4 7 2 6 -618737127839: 39 61 312 801 195 -4517: 6 3 1 1 5 236 925 52 -1014255: 7 727 51 99 9 3 1 856 7 -1588: 87 7 32 9 671 -112938355813: 21 9 573 9 5 580 4 3 5 -12794721648: 3 99 764 6 65 2 8 8 2 48 -784111270947: 4 542 47 29 35 9 970 -133997465978: 4 69 2 4 4 31 3 2 1 5 97 5 -16625917453: 222 5 591 66 8 6 2 4 13 -145: 70 69 4 -1756138126: 20 15 121 1 5 7 81 126 -928811: 7 190 65 680 986 -21408695: 2 9 5 690 8 6 1 3 47 2 2 5 -368451: 66 302 4 4 8 -27863124: 3 19 5 1 995 89 216 7 4 -957338381: 354 2 3 9 6 3 823 7 8 1 1 -44521661: 48 680 341 4 1 76 625 -10437926: 148 585 4 89 10 2 3 2 -88019880: 3 312 7 30 884 -791624: 8 79 5 8 9 -89138231364: 274 609 3 533 609 -4293432: 3 6 4 5 9 5 8 9 528 72 39 -6358683: 4 1 6 21 5 8 31 37 4 -3764592: 51 1 324 4 591 -19530679599: 882 5 415 5 2 26 53 3 6 -87417: 3 280 24 19 99 -533489: 4 9 37 4 1 5 90 -5011: 3 6 5 22 490 -73338720: 293 93 52 23 91 80 -126: 9 1 1 1 13 1 93 9 -3615788: 90 4 1 57 85 -147888: 4 79 17 485 78 -193516984: 487 87 2 76 6 65 8 68 -2589283728: 2 58 9 2 19 5 46 9 4 730 -64553362: 645 533 60 -22331998272: 2 642 77 7 845 4 23 2 -8657594: 778 86 6 6 5 5 9 4 -5562082: 2 88 21 180 82 -44600739: 88 9 78 223 3 25 2 89 -1175: 8 2 6 68 87 -77262: 97 784 353 4 857 -1958152581: 847 682 3 1 231 -89632318: 9 7 56 145 172 6 20 -29470: 459 49 58 4 5 -5458120200000: 4 6 815 6 65 36 90 530 -683299: 7 276 8 5 59 44 419 -7405744: 25 715 574 2 1 -15815402: 3 546 7 1 7 8 7 4 5 4 9 9 -4153776591: 13 577 8 2 88 320 271 -5994590716: 99 787 8 926 1 73 -1905139223188: 945 8 6 457 6 95 42 -154417: 193 8 17 -168145522524: 957 766 7 66 38 96 7 -4795006: 2 21 5 204 9 59 47 -7043070062: 6 8 1 6 85 8 33 7 4 2 9 2 -62697036236: 28 3 70 82 722 3 236 -12178755: 8 8 77 4 3 558 5 3 81 5 -32779766156: 693 473 93 773 156 -115249713: 90 243 4 29 2 596 -68054: 73 4 951 2 1 4 52 2 1 9 -802077409221: 92 7 3 17 848 2 2 3 1 5 3 -142074998208: 640 71 85 7 8 44 719 -8632: 5 9 7 58 4 -2624715: 4 1 5 8 619 8 1 1 4 3 4 8 -4759740: 937 8 357 79 9 60 -4635323000: 9 8 284 8 368 2 7 79 77 -248375402756: 2 34 2 32 3 910 68 9 4 -125065077: 8 41 531 78 6 35 79 4 7 -182358: 4 182 3 855 30 8 1 2 -3812369: 77 29 2 2 493 -1609831: 218 737 251 7 654 -2024734: 756 4 8 37 9 94 -552808080: 8 72 93 12 626 22 5 -52118327: 2 161 674 6 790 4 9 -160697381: 2 89 8 7 39 16 10 2 6 53 -275832: 26 8 34 39 24 -144618480: 398 5 757 8 3 8 11 3 3 4 -2550199: 6 8 7 8 41 137 79 -212959799662: 2 660 8 15 979 9 661 -173540566353: 22 8 3 9 180 6 2 1 8 7 51 -4867527232: 4 46 54 108 9 7 9 6 4 8 2 -30630: 6 36 258 6 30 -912202863: 5 86 2 15 1 5 286 1 -400914580: 371 29 914 5 80 -43596216103: 768 89 2 2 2 3 7 9 9 5 9 -8946096736: 4 2 710 32 23 3 4 5 -15609768411359: 9 707 567 4 4 8 67 60 -4122784380: 280 748 89 165 -10977874: 68 6 1 16 3 7 2 81 91 -2908919: 99 976 2 315 30 1 689 -29609: 1 4 19 17 3 86 681 28 4 -245700: 12 1 351 5 3 45 -367: 1 3 3 55 37 -62951499517: 9 32 5 73 8 364 520 -734005: 73 39 74 24 6 -124853195948528: 88 69 9 482 698 6 79 9 -3636750240572: 5 6 5 9 5 5 210 6 6 4 5 74 -112035399: 651 10 169 326 3 99 -84854: 9 4 8 831 89 3 -233936125149: 9 6 811 648 97 261 44 -5809: 5 5 7 17 5 62 2 -87092610443: 9 9 84 1 8 78 4 14 4 4 3 1 -15382371424083: 9 6 3 8 919 69 92 95 85 -117071: 291 4 1 57 1 2 90 -487732407: 6 4 63 10 8 973 4 406 1 -1157798799: 5 82 8 78 383 798 799 -11910216899: 5 69 842 1 7 13 6 8 6 3 9 -906: 4 5 6 87 803 -7607716138743: 73 89 98 986 911 486 -8026454: 2 91 49 28 9 -987004: 1 8 2 274 5 8 26 474 44 -402628876: 5 7 82 2 409 833 77 76 -30661956: 8 6 491 5 81 9 20 9 3 13 -33657773: 4 7 13 803 39 770 -23941915: 73 49 5 4 3 98 5 12 -19880498446: 763 46 620 1 7 2 2 3 -1382284: 91 83 9 7 79 24 -20366858: 45 1 5 731 84 102 4 5 6 -93755256: 30 71 7 1 44 5 7 -164884487835: 850 4 722 4 4 487 835 -1341603775: 52 860 1 3 775 -1072: 16 225 1 88 742 -7246685: 74 704 4 97 9 -1427830680364: 48 392 9 5 2 590 358 6 -47410058: 39 84 17 2 4 5 7 -428546912: 2 9 3 971 6 4 6 7 3 3 5 12 -9674801499: 276 42 29 4 875 -33994953: 679 868 31 5 3 -10034366578321: 4 3 6 27 6 80 7 753 23 -21580: 8 37 695 90 26 -2831604330: 7 831 8 39 3 9 3 6 5 56 -103563266: 6 9 7 7 5 6 2 4 1 98 64 8 -34404349: 1 772 7 1 40 9 8 9 7 4 4 7 -59764: 1 66 90 1 32 34 569 67 -3837946112: 4 1 7 9 320 9 7 884 308 -392845: 490 4 80 59 467 -2237: 354 6 6 93 3 2 11 -530442: 22 1 6 4 41 -667875343107: 1 9 540 5 5 76 3 28 2 1 7 -27334270016: 77 6 74 857 80 68 1 7 -9133: 64 4 493 8 34 -1093: 1 6 63 471 184 -2345410: 2 3 45 407 3 -698287110552: 775 867 7 5 672 9 2 70 -18068437: 4 104 61 20 956 37 -368540: 2 606 3 43 6 41 -864: 9 6 9 -1418: 75 9 1 16 74 -30118881: 6 5 1 4 4 9 992 1 3 88 5 1 -311278809: 432 33 2 4 9 4 1 9 3 4 3 -46589936700: 88 21 8 9 58 5 7 75 4 -8569194: 4 15 54 8 3 58 7 2 3 -481417: 937 5 73 8 1 7 -2397863: 6 80 45 286 8 2 8 23 -24256960: 5 28 442 4 98 -22569840: 94 68 6 36 645 -42699365540: 6 70 4 37 656 6 554 10 -38737384769: 8 5 392 5 2 863 7 8 94 -2389502926: 95 2 805 6 2 60 24 52 7 -5752: 86 9 3 579 82 4 -63029652680: 1 7 3 3 50 701 5 7 6 683 -3090035: 3 7 5 618 35 -1373: 28 1 4 6 247 -2919: 7 6 3 9 34 385 -67269: 9 4 5 6 6 5 9 680 7 157 5 -6172980: 6 1 944 59 9 2 55 -161860638588: 3 56 58 473 38 5 89 -664801: 1 3 8 9 490 979 60 -3317827: 8 42 394 1 348 -187757: 872 5 43 220 57 -12552562: 5 25 525 62 -29106: 4 4 6 10 9 5 2 4 12 4 62 7 -202769: 18 2 25 2 65 4 -481787: 489 31 82 23 8 -243818: 72 72 815 43 9 9 3 9 3 8 -255915710: 365 584 9 8 4 7 6 18 -649896756: 40 922 81 675 6 -90209784: 86 4 8 4 8 2 9 41 7 553 4 -1938043461875: 585 2 316 1 60 6 6 46 -344395030560: 68 321 1 8 570 346 -68445524: 58 9 95 45 5 24 -101817063790: 29 7 5 5 1 74 9 1 2 758 5 -8208761: 5 5 5 5 8 5 6 617 69 7 1 -120768: 98 9 6 8 17 -3116048: 3 3 11 4 1 7 1 7 8 6 253 6 -2514187687609: 251 41 876 87 607 2 -816971: 99 6 3 82 3 -1132216: 92 246 837 148 4 -22172: 7 6 3 37 633 31 7 -2749313: 6 218 82 3 1 112 7 -4280: 385 42 2 5 5 -2653814829: 9 3 9 176 3 37 7 19 54 -2862201: 9 7 5 80 67 6 133 3 4 4 9 -3370: 5 3 21 85 560 5 -33510727: 5 336 55 7 745 4 8 3 5 2 -8542478027: 7 9 6 423 8 1 96 973 54 -625114645518: 598 7 791 132 1 51 7 -94520255: 14 36 8 9 30 8 7 603 5 3 -269825453: 8 5 54 424 5 94 333 -8990: 54 35 90 -1939417840: 58 41 62 83 40 -25841539: 82 340 8 764 8 -5583873650: 5 3 508 2 6 4 3 1 3 4 9 48 -2487933: 8 69 8 5 3 11 1 3 -1270416845906: 973 680 98 91 1 211 -46166671264: 4 54 5 8 601 4 83 871 -115632308: 472 81 410 51 8 -206282: 293 1 6 9 7 -21933071: 57 5 579 1 846 35 775 -1729624: 4 27 1 1 1 328 9 5 4 6 5 6 -75757: 941 8 2 60 412 -1352210: 1 598 3 777 83 7 6 8 1 2 -347983: 5 8 4 832 9 2 53 4 -53321843: 8 9 1 555 117 69 5 7 40 -509941350: 8 160 89 2 5 73 4 510 -16749548152: 933 6 735 9 548 152 2 -182715414753: 653 6 6 453 7 658 7 53 -22751389220402: 34 82 726 135 6 90 2 -7477875: 53 6 73 255 75 -17145951: 557 66 95 16 465 6 -29997394: 688 436 5 93 1 -830276218: 88 468 801 8 93 99 21 -413822746: 4 902 530 227 46 -8475989: 61 731 55 523 5 3 751 -213173385: 7 419 5 82 91 143 244 -8476: 315 34 6 16 9 1 4 -215132022208: 651 865 7 571 33 382 -1737558: 5 8 9 328 1 3 4 42 2 6 3 9 -7212898: 98 8 92 74 27 -3376916: 422 8 323 579 9 7 -21912156: 22 6 166 15 7 2 -2424528990: 7 4 84 7 410 39 -399686: 7 4 27 2 84 -479369: 51 9 87 6 6 2 34 1 68 -5366794: 3 264 201 94 2 -24942: 917 2 938 9 9 3 4 766 7 -45408317: 82 66 264 8 318 -955693: 41 3 911 6 93 -1763: 11 7 8 32 5 2 -7137940: 7 8 86 68 6 46 50 123 4 -375924: 644 6 5 97 631 -51789: 970 83 5 409 9 1 724 -4633540: 927 4 891 1 336 8 3 5 5 -3827074: 2 4 7 5 3 3 9 6 234 8 53 3 -174783: 8 76 5 59 7 525 798 -18220965653: 3 5 796 308 2 6 6 929 -450081: 923 64 456 1 8 -1580629050: 6 907 7 60 4 7 8 975 7 6 -53908033: 71 857 9 97 8 90 883 -200570582525: 8 532 2 2 6 6 770 3 34 8 -2049329780118: 75 90 11 9 2 667 3 10 9 -335240782: 85 493 8 78 5 -515973: 2 7 3 30 63 -491045376: 520 8 93 5 378 -52900144900: 730 2 89 93 37 22 -411113430: 485 53 6 4 9 1 5 909 7 -428079459263: 850 1 6 5 7 945 8 9 3 6 3 -10267334400: 2 8 1 1 29 879 4 6 911 8 -1148385886: 4 2 5 3 9 8 8 49 4 3 91 8 -5042966021: 6 59 634 1 4 8 955 6 2 9 -153826991: 64 742 8 3 99 -84651: 1 84 54 6 5 1 -38009515: 36 7 791 6 328 743 6 -10646: 5 20 4 361 98 82 -58142385: 3 6 4 8 6 4 1 4 1 8 7 63 -11447010: 899 6 590 85 82 32 90 -148080024328: 16 411 9 662 417 1 6 -415528025: 1 29 2 8 3 7 7 117 7 178 -940546890: 3 62 7 237 68 183 31 3 -9075990043624: 8 9 28 76 525 41 2 626 -424464: 424 459 5 -8532951: 73 18 762 29 51 -9591544: 83 491 557 30 4 -34543862: 6 864 32 5 1 9 1 537 6 2 -335: 23 11 82 -30000: 5 561 53 -228530406544: 5 2 952 2 1 4 60 65 4 7 -117821: 34 38 9 9 4 730 -294451: 985 78 277 -67315140: 54 2 1 4 6 963 188 4 2 -767382521: 1 5 3 186 1 5 385 6 4 1 8 -72: 5 1 2 9 -4199365273188: 5 307 59 92 758 86 -36909183: 9 205 3 5 3 6 91 6 6 3 7 3 -4228426: 86 9 2 3 79 44 3 351 6 -3101601: 5 1 31 88 1 5 6 594 5 2 -14125920447: 5 92 1 8 3 3 397 7 771 -74256718132: 9 9 44 403 5 8 939 423 -14732109: 8 501 4 408 9 3 42 -881310249: 979 9 2 10 251 1 -126469: 9 45 4 715 98 471 -674696887: 2 4 842 4 55 7 88 26 5 2 -1665232268: 1 6 65 2 3 138 8 6 802 -2499735: 51 574 42 56 5 2 95 -134637242: 138 8 97 503 739 -18438: 15 82 960 391 53 7 -121068: 158 1 3 76 -139306754996: 5 4 62 6 25 283 4 9 1 9 6 -12209400: 8 2 3 9 48 918 95 2 -6913282747: 864 5 7 1 5 8 52 9 6 4 6 7 -18079451: 451 8 9 8 9 4 316 7 7 -358746938735: 7 751 8 51 6 29 6 8 2 6 2 -354669920028: 510 3 31 715 84 972 -38034: 607 48 58 1 44 -349019647: 2 2 974 479 2 8 64 32 -15031: 6 74 619 5 5 21 8 64 70 -31157828: 519 2 587 4 68 3 -121029120588: 29 1 4 824 4 85 5 7 8 9 9 -5203105: 518 2 30 65 38 -1787278: 102 584 5 6 235 -1818: 51 327 53 2 956 -23589640: 24 54 2 91 9 5 5 5 38 2 -11185866008155: 3 54 5 984 659 3 81 5 4 -5159414: 12 8 8 1 258 37 26 -943: 27 4 6 8 5 26 -1507815: 218 56 55 3 68 10 5 -781435: 2 6 3 1 436 -404002479853: 4 8 5 6 6 9 921 8 6 1 1 74 -117808: 7 3 1 90 119 -13344: 76 61 1 1 96 -29321: 291 1 40 69 9 -8616607: 2 78 583 60 86 524 -7794317578: 9 2 3 9 9 5 8 43 4 6 35 -2845227: 2 2 845 809 78 22 9 90 -415532023: 9 50 35 9 3 41 7 8 75 1 -24380364: 405 3 3 7 394 6 -5561933: 2 64 71 612 77 -43868704: 69 4 3 3 27 538 3 4 88 8 -2030282568: 6 2 7 5 9 43 5 7 7 680 24 -27749412203: 360 5 76 9 408 3 1 201 -27842: 64 7 5 60 662 -767760: 457 20 4 7 3 -58361: 88 829 4 500 7 2 9 -817389: 28 193 15 1 2 36 95 9 -696008: 26 73 83 239 2 5 8 -1586875: 9 90 30 110 65 225 -22312441922: 8 3 4 60 2 488 3 75 5 45 -153426394832: 27 4 311 1 4 7 2 4 4 7 3 2 -205905: 25 9 795 -55771301: 94 593 6 23 301 -76140038424: 47 2 300 5 9 62 5 6 92 4 -19026558: 2 27 9 9 639 2 3 4 5 4 12 -10591093: 7 3 6 5 5 1 82 6 7 4 65 4 -34476157: 8 38 67 38 86 156 -236957826051: 383 42 690 3 618 -41953947120: 6 962 46 6 57 8 95 -91726: 9 364 4 7 -103501474: 5 906 6 136 28 25 8 -2306986833: 233 33 95 610 3 -5183417876687: 4 89 106 178 766 85 -1613979: 1 160 3 9 80 -6211199231: 97 252 8 63 21 192 -1075782: 2 8 30 1 78 20 452 22 -97694735: 3 2 370 47 96 72 5 7 7 5 -137890590151: 1 3 9 7 67 7 6 489 6 80 9 -2910853: 3 2 292 60 5 178 9 10 9 -231046: 19 16 660 5 43 -3745: 89 2 5 4 2 5 -1244: 7 438 68 9 6 223 493 -1590: 55 908 46 581 1 -9887612034: 318 619 910 5 1 203 4 -648753846: 700 57 89 856 6 -69616: 1 69 6 41 102 4 7 304 -726504624: 72 6 504 607 14 -7366176: 9 9 1 7 938 7 8 8 43 7 5 -961848: 957 9 39 51 -1207774165: 6 6 3 93 5 3 83 7 416 1 4 -2179548541632: 21 7 426 173 56 264 -2520: 21 19 3 21 1 -1360262: 90 7 2 182 80 48 7 90 -1927043167: 29 662 72 43 167 -10689713431: 9 6 4 83 6 57 4 83 923 7 -946187: 1 38 24 10 185 -8362219: 96 26 19 867 4 -264: 13 2 4 -2784905: 5 8 5 44 388 552 905 -78379479: 38 5 9 3 2 456 7 6 2 8 79 -76: 4 6 3 60 5 -10715175424869: 855 4 225 17 66 84 71 -1509802788: 2 7 6 4 9 64 70 7 7 83 4 -132789652: 9 154 89 44 9 5 2 -17956425: 46 399 387 5 8 -660210: 4 2 1 3 22 22 631 961 -192932438388: 304 366 382 3 578 -239253759: 4 8 136 13 4 5 8 757 -732994: 739 16 97 64 7 -26087: 4 62 72 814 401 -160480426: 89 15 579 18 1 -379310: 35 31 30 4 34 74 -207366390: 5 898 893 46 268 385 -15765: 1 7 563 4 -2266789870: 4 341 73 557 997 9 3 6 -96665484: 2 964 43 13 9 484 -365768: 79 3 7 121 768 -142963608282: 2 6 9 5 7 8 22 380 8 2 83 -2498: 2 850 2 729 37 30 -11935499: 3 6 323 852 5 4 54 43 -71923: 222 576 3 9 77 -3431484: 240 3 68 21 -100190754049: 555 31 52 42 41 992 -5751501: 5 7 51 223 275 -122835227404: 89 1 373 37 63 27 404 -4837305: 432 8 95 3 454 5 9 829 -3649109600: 4 7 2 21 9 3 365 20 152 -655120053: 27 478 2 84 5 129 2 -3576368741749: 946 7 8 1 6 3 9 4 175 1 1 -2893325: 78 22 2 42 177 40 5 -1924937835: 20 3 2 5 4 307 9 5 66 5 4 -643751: 650 99 24 7 4 -45: 3 3 26 9 3 -660: 2 4 87 559 8 -2539: 4 403 892 35 1 -3674: 362 8 46 -1162251792: 62 6 5 7 36 39 474 542 -2368091154: 3 2 8 575 13 858 -66120: 64 4 5 8 10 19 -7486826365: 4 5 4 7 31 205 3 4 3 7 2 7 -386307741: 9 1 70 7 1 63 675 4 7 9 6 -10230561458: 8 9 14 10 69 5 8 9 7 821 -154794180: 85 6 226 79 17 -159148110: 81 246 4 235 93 22 -984556511: 62 9 27 1 97 4 18 978 -23606766469: 389 4 446 5 5 25 3 42 4 -5939892044: 54 700 81 2 970 3 41 -32603669: 649 9 21 5 3 200 2 470 -980: 58 7 512 60 4 -140631198724: 2 5 7 4 92 39 217 8 724 -122630144587: 4 41 1 589 3 28 94 590 -28426054754: 61 237 9 10 699 951 3 -26993694: 9 260 1 8 36 94 -5508: 56 4 83 37 491 -2566794: 47 946 3 1 83 838 -730292037: 9 5 3 89 783 725 5 4 37 -7719: 4 61 95 388 738 -1371461493: 150 71 91 4 79 2 9 -305217: 8 54 1 66 26 91 3 -33935249: 5 75 1 9 2 6 95 3 459 1 4 -16749: 8 7 937 712 98 -151413850: 1 6 650 7 3 13 4 745 5 1 -8008143: 773 5 3 7 5 69 -121022047: 3 2 6 3 3 702 4 3 4 3 60 6 -3488486358: 329 31 654 1 523 -184688494: 1 1 3 1 6 89 2 127 4 2 9 5 -1711196664021: 63 980 41 26 328 5 22 -6581064: 76 10 5 24 86 -137584: 5 10 98 4 7 384 -3890756: 1 29 363 1 99 57 -24153773792: 8 69 616 19 752 2 8 3 6 -16858296: 6 738 83 39 7 -12071831817: 9 5 9 2 5 210 5 7 5 384 7 -1675: 96 335 312 8 2 173 -713182: 701 5 7 18 2 -1462: 2 2 7 1 30 6 7 9 2 8 2 993 -4012: 434 9 66 6 1 5 1 3 8 4 5 7 -2509636115739: 883 3 449 211 573 8 -441509: 734 2 9 282 251 -1587801154: 494 29 6 3 801 1 52 1 -423094: 6 389 3 89 27 31 251 4 -1757133170: 872 31 764 54 65 -247757499: 147 3 8 3 4 4 9 88 42 1 1 -1727313: 65 11 28 5 2 809 98 -70450601: 99 3 4 89 20 372 5 55 2 -4541108057: 805 161 564 1 8 -24042847: 9 5 9 3 243 4 7 9 2 9 83 6 -2108110977: 398 1 23 93 1 999 23 -5610241: 6 935 2 39 -72098: 1 60 19 9 99 -1197518856112: 9 9 8 84 8 3 76 6 10 1 4 -158774: 7 3 97 37 3 711 62 -11060285775: 8 1 4 836 3 7 10 7 7 25 3 -8140: 27 96 1 3 3 2 95 7 3 727 -10121438: 1 436 9 92 70 -860403: 710 4 3 6 302 5 -927083: 542 74 7 5 43 -16882215034: 57 894 9 5 5 9 1 4 9 6 3 1 -63578: 7 2 1 563 77 -4088249760043: 32 12 234 760 70 20 2 -31374736: 6 5 364 6 2 8 1 -4399214: 936 47 13 -23925060150: 53 16 68 60 2 75 -2543: 6 547 3 5 871 8 -122579998: 3 78 11 7 748 -291594: 444 470 57 97 3 -2409360: 343 3 3 3 9 824 7 4 5 -1238038362: 5 5 509 92 5 36 9 7 97 -525001557: 8 4 1 7 7 140 3 5 1 434 3 -390649328: 477 8 1 90 44 5 328 -17363355: 77 26 6 289 3 7 806 -19956: 97 24 2 20 486 -91153855713: 2 3 1 3 6 6 7 7 989 7 34 3 -5739997: 951 603 4 418 59 65 4 -626980232: 6 202 67 80 18 5 2 -4747733: 47 321 8 147 95 38 -107928: 5 9 3 170 2 6 4 61 508 4 -23558102: 7 2 16 4 7 5 6 6 5 9 1 99 -3185485154: 88 48 4 6 6 1 2 593 6 55 -23136: 238 3 96 1 -638: 1 4 6 487 5 -1708208892: 2 9 45 187 58 43 1 2 -14968528167: 8 579 51 5 28 167 -9945460932: 6 9 5 6 8 5 916 360 4 33 -5557436: 4 1 3 63 44 7 73 1 2 1 6 9 -862: 674 190 1 -250758036025: 3 330 120 753 27 -3525594141: 71 8 8 6 1 1 2 8 9 49 44 -7239: 721 2 9 1 -9508: 479 638 2 36 4 421 7 -103: 3 1 1 5 98 -390780: 49 452 4 195 1 -363428: 790 17 41 116 377 -155757666973: 7 2 2 8 8 44 9 6 66 9 7 5 -7060895263377: 38 393 7 47 43 559 7 -691906033: 3 6 48 49 33 6 247 7 8 -34158764: 853 835 4 536 4 -80088635: 23 201 42 96 2 1 3 5 -13013: 18 7 77 3 332 -50774459: 837 8 35 80 5 2 91 6 2 -327169: 390 7 824 33 8 -376192: 43 970 80 9 79 3 -730012804: 78 709 2 165 8 1 -4787861: 477 823 956 7 1 -2115126258: 787 5 79 756 9 789 9 -10684275841: 9 98 3 1 4 79 6 7 48 40 9 -8744258566: 152 1 94 34 6 82 3 4 1 3 -57560529: 5 49 985 234 40 -91086832317: 3 7 91 8 68 318 4 6 5 4 1 -10313078819: 515 650 2 7 875 6 6 -134021197048: 40 67 423 94 5 45 -3004143: 6 9 8 43 5 269 3 -29492: 6 649 28 696 4 -2597274: 6 4 395 9 9 626 -68091255: 6 714 82 12 5 5 3 9 86 5 -2845: 7 4 44 1 -104652062010: 95 153 72 620 10 -1170739907: 282 106 415 2 5 -1267124: 2 239 86 545 -73548167869: 5 8 41 3 762 2 7 742 4 8 -97610: 536 45 168 -30385962006: 5 45 2 157 5 4 6 9 5 5 5 6 -34136389: 1 453 7 836 9 -2859663: 6 641 303 7 83 4 4 9 3 -831006074: 220 4 26 58 65 54 -5595: 3 78 66 3 246 -19003371840: 39 10 44 2 9 5 895 192 -1551347724: 2 5 950 622 9 3 3 1 1 3 6 -13541596: 728 186 7 93 2 -649502: 76 4 3 468 4 6 24 9 2 1 -19761: 9 12 941 -795078: 107 4 894 2 9 6 9 6 2 6 -837304819: 6 834 6 4 83 4 5 3 4 3 4 -5986344: 2 36 8 25 8 2 9 7 6 8 78 -88505841: 436 3 5 9 7 2 9 816 8 41 -24532: 82 32 8 94 9 -467483: 9 13 512 25 2 -6636537605: 3 53 1 8 1 56 5 40 4 33 5 -8150: 56 25 53 -689417616: 2 334 21 41 7 616 -639347: 63 90 3 38 9 -3941: 16 7 16 4 3 -55039: 417 64 8 7 54 39 -46002735: 89 813 51 718 17 -456590: 43 6 1 34 47 37 587 7 8 -1991724104: 18 3 2 1 4 1 136 4 1 10 4 -59472469157: 3 33 12 6 469 157 -714290736: 868 1 991 1 8 9 9 7 7 8 6 -3612781652: 2 7 3 3 73 274 427 410 -15855368368: 3 321 62 77 914 368 -1785304: 1 3 4 9 7 3 9 339 56 6 3 8 -248248: 1 409 22 33 8 -85008: 73 2 408 8 22 -275270328357: 9 6 8 9 9 2 6 930 54 6 34 -5663910: 79 34 7 500 671 -11127: 79 967 3 4 630 -179132250: 9 5 3 3 69 909 2 7 8 962 -4158095: 7 9 35 58 93 8 62 499 -3554470140: 6 5 2 73 324 99 4 3 23 -24449671: 8 7 5 8 83 29 4 2 1 4 70 1 -13718997648: 507 762 349 27 650 -1149: 3 51 11 406 149 -364809367069: 4 2 5 95 4 3 9 4 117 7 6 7 -78161431493: 76 2 161 35 3 2 49 495 -149614581: 149 60 78 1 66 84 -147777: 829 5 602 20 31 -767044338: 451 3 9 345 9 632 6 79 -36147907: 3 6 14 76 72 238 -3552: 8 8 5 1 32 960 1 -127596066: 3 7 20 343 66 -525466393: 3 93 4 82 45 8 6 66 394 -67036412837: 6 6 9 321 543 161 645 -49566812: 486 9 620 47 6 5 49 1 -36941: 2 4 614 8 92 -232740: 7 13 69 7 2 4 56 8 4 6 36 -103981615845: 259 984 9 8 51 6 38 6 1 -192070: 305 15 2 22 3 1 3 -668719800: 41 7 906 13 3 2 611 5 8 -93386: 2 25 79 881 -4979436: 65 5 9 415 714 -1514021: 16 43 1 1 2 858 365 -6538594: 90 8 9 2 7 4 9 54 6 9 11 4 -23056640: 9 70 2 74 493 5 8 1 -1530672212: 1 78 4 2 3 6 663 9 1 4 7 2 -4062698: 577 89 61 90 3 8 -28841858187: 331 51 87 48 8 18 7 -267849863: 666 3 62 464 4 5 -50616209: 7 1 6 666 209 -51813: 5 17 6 9 44 -43065: 69 12 6 96 74 -1265168131485: 8 6 8 4 41 9 95 5 8 8 9 9 -277830795: 1 371 7 735 795 -670242195: 1 69 551 81 95 -351738: 878 88 6 41 4 1 -60511327: 9 160 6 4 5 6 7 25 876 3 -8723027848: 3 49 34 74 62 481 8 -376702259433: 76 970 413 109 429 8 -981338733: 3 845 75 9 387 -332372089: 217 4 14 4 93 7 65 6 7 7 -13062184: 32 55 7 55 35 4 28 5 85 -555428252: 8 226 8 48 5 7 2 4 7 8 1 9 -153435: 6 11 35 84 778 387 3 -8052295745: 67 6 44 705 48 8 63 -9637546: 23 1 419 470 73 -235413707139: 8 7 89 17 2 326 64 71 -152664989: 9 2 6 861 5 54 2 2 67 8 9 -10599157: 47 425 401 7 520 -321048168: 437 4 8 91 168 -6133466570: 613 338 4 82 570 -364395: 2 670 5 3 4 4 71 9 9 651 -96144271: 93 41 273 426 6 3 -296100266: 7 416 700 262 7 -12: 3 4 5 -316640576: 765 5 3 80 3 8 10 69 64 -3742903512: 440 341 55 4 85 -2424885: 999 485 97 365 5 -1109686976: 3 564 542 680 6 9 73 -130649102: 87 2 180 48 2 813 2 -351996258059: 1 841 90 8 12 3 31 5 56 -19712180: 69 7 5 3 2 42 952 6 1 61 -161820433: 174 6 500 62 85 5 6 -1751: 893 698 6 11 7 136 -865218480617: 7 3 564 5 4 7 840 3 1 5 4 -29024: 56 2 173 5 24 -137761920: 77 281 755 384 -234: 18 2 6 9 -85892: 8 749 98 99 249 5 39 -6668277571: 6 9 7 140 8 20 139 986 -58381: 138 21 556 4 872 -39749790: 2 659 9 5 2 6 5 2 8 331 3 -16910718: 54 86 5 73 726 -196244: 2 301 436 924 44 -680: 3 1 76 7 46 3 5 -24098: 21 3 8 5 651 9 -72406081: 76 1 987 9 964 4 2 7 -401310: 9 4 69 824 4 441 -482255395: 9 533 25 55 395 -336753: 86 5 76 995 3 -2009631: 2 7 488 4 70 6 1 50 878 -39840: 7 32 108 6 20 -5677304803: 3 8 989 803 48 8 759 7 -109641032174: 3 61 289 561 76 40 14 -509254455841: 4 26 69 895 172 461 -30807424: 1 489 63 42 4 -1305895444: 65 557 83 24 6 -36122860: 7 665 97 80 60 -432561944: 465 50 6 465 1 6 5 8 8 -1598755: 13 2 1 1 6 8 5 3 6 7 295 5 -214270585186: 5 2 479 31 90 3 8 497 -820817: 5 250 3 227 94 11 9 2 -87935: 6 8 8 81 5 34 384 5 4 8 1 -3181124: 4 2 356 6 5 79 45 -57558: 9 306 260 55 1 -469698: 3 376 14 76 698 -427158: 348 601 75 18 6 -259325: 47 42 9 54 99 8 32 3 -1854090496: 3 7 6 2 7 70 27 3 1 48 1 6 -951: 8 7 21 93 109 4 -805719131: 6 7 8 2 6 3 102 7 23 9 7 7 -3719908556832: 499 91 4 1 2 4 640 8 8 4 -144066: 29 108 3 559 39 -258758334: 2 586 1 58 1 334 -12025: 665 7 2 662 9 -87559383: 9 179 7 2 32 7 6 90 3 -288550536146: 5 476 74 4 2 606 145 -275093262: 4 430 760 7 834 860 4 -6227179152: 5 496 7 872 73 17 -254426: 31 350 1 453 8 -28668: 6 3 3 6 246 317 4 5 3 4 -204246: 7 8 1 34 2 460 5 3 7 6 1 -966451: 533 5 8 36 933 5 43 3 -1000614359: 1 8 794 8 4 2 908 7 3 -54277578: 180 4 5 252 6 3 -960344059020: 8 5 1 745 7 4 1 47 5 4 9 8 -1794254145263: 84 471 547 987 84 -61238: 3 50 359 7 96 38 -262072: 1 76 9 4 7 34 238 -163767141: 35 56 9 1 9 4 178 1 8 1 -4278695529: 62 69 695 526 3 1 -657492404523: 491 13 72 355 65 2 62 -12144984: 121 3 5 9 986 -2877557499: 57 484 9 129 531 -588122: 5 6 3 48 65 -6876603: 176 5 719 1 21 43 -1275198662: 2 83 751 6 662 -12739432716: 53 290 76 543 6 5 9 5 9 -412298231633: 9 34 9 4 5 3 3 25 5 63 1 7 -277472967211: 41 445 9 5 4 76 4 7 209 -20790: 45 7 15 9 7 -48961044215: 8 5 8 80 4 7 6 9 1 26 84 5 -270911: 2 83 25 215 518 -1640: 795 3 8 7 6 805 2 3 1 7 3 -111034: 33 35 5 37 7 41 6 -72864: 61 91 55 4 11 8 -5341448448: 1 88 5 8 7 4 9 3 7 6 4 392 -849: 801 3 1 45 -1677855061: 414 49 9 919 1 -1954728: 839 9 384 93 52 6 60 6 -3579938: 8 838 89 6 2 -54951093321: 5 495 109 332 3 -779284807: 9 463 784 5 234 5 2 65 -295479: 2 312 5 47 4 4 297 6 -86113396: 5 877 30 976 5 908 -417248766: 6 6 84 542 8 26 14 61 6 -7928: 7 925 6 -2561662: 88 3 24 3 76 39 90 676 -17824: 126 3 9 947 45 62 4 -474147901: 10 53 1 4 2 5 30 90 5 9 -332807: 61 5 135 318 6 6 599 -248428: 9 46 15 7 4 -5058558453: 35 239 55 261 2 -203986: 44 83 9 124 161 -5566: 602 8 1 9 8 5 29 4 7 3 6 5 -71442: 904 36 38 2 -52410: 5 2 90 6 3 9 -9126793: 39 2 520 67 93 -285020268: 315 28 3 59 358 39 \ No newline at end of file diff --git a/Inputs/Day8.txt b/Inputs/Day8.txt deleted file mode 100644 index 9fc6357..0000000 --- a/Inputs/Day8.txt +++ /dev/null @@ -1,50 +0,0 @@ -.....wV....q.....................................n -.......w......q.h.....Vn.........................D -............w.S..G.....................DT......... -......S........h......e..T.....y......D........... -......m.......Ae.......T........o................. -....m....S........................................ -...m..........................n........8.......... -.........2...G......................n............. -..2........V.......h................Q............. -............................o..................... -.Z......I..U....e...u.....G....o.................. -...N..G.........................................y. -.....I............q.......h...................s... -......U........qI....o.V..Rz........8........k.... -......d.Z.........................R.......8y...... -.........e..............T.....l................... -.......2.........................u...R............ -.....d.............................Q.............. -...................v.....................s.Q....M. -........2..........4.....................8..7.k... -...........x..N..................A..........k..... -...........ZN...........v...............K......... -...d.......N.....................Ky.6............. -...........................l6..................... -....L....g.................4.......k..K.......0... -..............L...........4R................s..... -U......r..............H.4......................... -.......U.............a.......H.............u...... -......xY...............l.......................... -...................................6..u........... -........Y......L......l............0.............. -......9..L...........A.....v..HEa........K........ -..................v........6.EX.............z..... -d..Y.............m......A......................... -......................a.i......M...........z...... -...................g.......................0...... -...............................H.........i........ -..........3................W........E...i...0..... -.................t.a....g.................5....... -.r...t...........................7.....5.......... -....................................7....5........ -....................g.Y...wMz..................... -9..........O....3................W.7..E..XD...1... -t..............3.x.....9..........W.M............. -...9............W................................. -Z.............x................X.i......5......... -...........3.....................................1 -...................O.......s....X................. -..............r................................... -..........................O.................1..... \ No newline at end of file diff --git a/Inputs/Day9.txt b/Inputs/Day9.txt deleted file mode 100644 index 343a7f9..0000000 --- a/Inputs/Day9.txt +++ /dev/null @@ -1 +0,0 @@ -5470796627976884269274912312534478497740857229903867252027701560453168811177359825165712921772414633734975365834978818338483457568344530317648212052611174481374376817985956168867953397151223328148382513134467482659871211605373538899532380897266151644381033667237314871401718428886885599467741414150471427591019626182366535429822877899197382849644363073162561982715223999137232739499236059288630316212911017487494969778672830857392388635632365462513302831946826989288582984685888312489978354947441371388617389863430694466664018809723222630932540907975564140257481587488551563255912868187763868795276792068597830736238645198147327227716219443652628649199201438775573383618717721859779529292467632403913728280783018504874339618752191975768837977626020764664236592483462735715322994651272612086474390269796513338983775402270232286963133527274887431882610428881523272223533928764868195325748699274603328168493549563204177368960853759189844523052671143722955508668506847296078613380913888126582479718908223735849206361882460506422646732245828882774465386642586951255755277326828179843495376203128211868259385262954258358106746629269566135568297678463142678677559791211493345292219926558504334664615292043624189225531257848996957292897285584647871582597699413285782549520108569859332659059608355236267295228908499175580147374249316233323672891198630616248917129652528259867323858668515387464628961281783861271191916163512646438849629798347226998123896667530597751461822267198839542179746171549787755276131681358462112515665773139608576768633345745445886998746467070235096606769764047541748451665775010334691914642598257305655662032106636412087208262745127106172457546761853479290289461429873942938875962815113176898507362918963516074697229504968348649104489177132256553453596342744252235156746786035719649123585834522842829661524156360956451698785237883447353478412212690592874893055197960982710528272522767413789763557692851275245548945572945813120664790827837238256921633619582226834837838911853495591157880388012399637448348187425461368501481907336792342455377193384409726755073283989109060338826848299837555525873534212221843334762294462772582943512404617906569102774291936912784759315763420661073227757892117625660328521761278618813334810627846577843102945655267963989208849188817654957127357462828354770613258396688911744957963968339501296852336894598245530182819613791204059683780281158373753519127743113926910359927143072695795784763248663103470518766187850488526996818164041845335282361429961276964133922437930424656746072117450675611435436515136139793262885181759438494761292729230558435526683275533258714333913234479196156636712602148729870765072897148935492945831483397181353372720916382213854144120559418822639827686678858525850169334624128751678394883556063145290726131464843427812981718347524924217325572665128619323609229858730639936539222321879186936369134966312251017619055571653186211774770375348235721773883112242412015377950471676237078589173417348972070253693119958643847954253322122917414299541346877518060616556816353239730666340942099149633187371847379473482589638215281972453303765523549918056511388738326806287679615346231706292473199889455863246744592488533406748381597166112459078238936758851288610966066986773659546323233646297956699963728332478531292536135189461655484579257952848399393317813975318654022128911119433761578934185373178675070292263619266707069257653513857833229374277919675519435582789647099724012594810934515444429478378288185635647894646283130416575625514136476365514957137731164253052755636167363658522557336732027368473215576876098783248775982976841737621912350816674633359479985936256271799181273125654627530542278537722634752678198499699533295548114526484801845209018876922117648391944919147736521281635508772139698733112234270739016415251389766741351196735838770413412785925427719792838752094795545226942139917581544711945669372699589182896164355257766863692698092633433893156433061149875651369183951625724967339208992729223239549987738531812606017612658675422595796173087898039386426217328173628885645143731166866611984144655773747316882205462394958279996728975913294644028123492353829299493593498952690986616448654891190735564727388901166594851839743921458666859763632342756512827819771124964472731745934863146993872465465513416223247661267503067627850964633656224352340581898305472107198209913223334608377601958735534605380168849852474359474637123703137123412373117587571575459518179922921551695227656368373483435505616348426787977498917116591126275157186388483627042909053653682417892225018228777885995166569835928322426345462339357931477997734639797348444405795812664881243242163555369925083258846385651179581599953397886277840556961606646406736227315649213587386212226938863312354529820573746526625572637976914212222745653191076123846791312461811301997833699301255715354236027745191402729794790899012251697984090126669591467231049519676546411981521372735443362701143143791414148702792949638476313112332251279124469502263517448472184727774878739762577961117522415866817391098973083151895855650591063713793451458188573643960909254578068619565844216231926148061971887989492207921552863687393131919936755384730817140697297342042979256499526477287401054997133809498499740474918284080621528554012868987793522269125519465798816141671338433248284327927887026348432225383322873977831913015826443601582434752733016851011352629309997156780658711593379265267977968966113852368119448321941675752176470859122564752932447724726637290605266851541182521165428536145942348359894322590198465418568734998314387174395849720359892258320269443514399906140542521368863647120695222291535962139917330768968548681351525228621524662763370609815617051721896626228327795101719208287267479452486564476199026765693368023519070815164603186209938193235521272609936575534441761794455201138578047709074424035378575392370254167537097265322197041929180806738261259739326342821321666542525351572994385668817622242936049153368615348273932502475108667106155372197646619514852428423819174526372359087711410836715907878243710153534668831912013135326516435468057725397213657581090605999815834579224634695814386925012575351754860463274638018815054991184917952398094766193694087572491575393157762734210539760875079905226232619694498456216407185896178628336526382749930919884195292589242693660437370511031558474285187393632366258821126544798861227337745761668436981242627755014465268882044331354361095316466774493535521816566737945725287891614393855169395734426149577873246621896564097295161403145927681784448769991992068818764348789775634215887805983816019367432406668117012829370203854171390997697875433869814371887922464224132625377918392392770337178873286938697165113191525705829162693157495688315643825874412522552614044357815309583109354347541597785563331623127687336351368639853203693657311331840777680857550195722984390956032753772525514919894609872487977427319947463791931682776654559182525993668577628595289725026477323573521395521954684968893178217138080656150849664325015147520819389795386626482156259876611399923187642323799162871769742211868512870604589353252783810469289864298181491841150936135438665843122688796992566877563962243382245354782813266584470492686326188149847727162522113985154943225574147181521248665199015586569714626777045553952393018735471994498764316103014511282758329695738339613551579369377342773451032692376318341144472997727972524846191419984802266908854171115262969186334744257811669728427145174801661109872178794508532714124471595449061945266946452498675809837315924653290212128525143174517529062734152778392393914798078969469487048715091649620423663623043147794661555398829498750914235506596505732415798992724706096866968134629917680534457149118228425962837741973216675558352604774221146294527905860563289757248762245186766293683494589791277958522964159639512684793146865342743167561178270505330316580104316206223712044933740602389763634453957256669243018251376196036575946622445288415911686357738464244288035931313339869584024631619581013307285118226634686683067515115703651382535928133276859976852805695286292721225492070441878757497313098794323155396263799134133565879267269109115721163513591846727285811161022976637102732623281543929643713554853379380128235405792961581929041295856789973276040543581531047789243334161548669847265666771563642681139601268322394936987889521479422506847673956517789246634784764669226126719699862665250549993731460918667252228122367129024818392237930451145547293459746906695243234639255387538834866642197327614205814269463424364593045722070524346791149383268933253233055982757635624849598351567943857931759651591795724966180858563174813582561771736347658935329479614385068541394713188862336608773419461731079701961822013848788724947238586635548812422948114167625558717245160407653895735541122226448807024962829997749484198238644747880791358248357416016151414746325743534307677894993117674229092488995548958566916502296318065435227293966828238493641203731399361878574507917522928466657389247676917231393842086424385491675103753927223496284411574955415673233392635515955836112749816578599666233768614727671855862282464639349422750593166894719958971931943418372271373328921708789669574378574244041164464534398498868708895688124693859606362449590438937106035801022471965587330598982583720205184956714856018274936213214648677387211533628872572499620431645638846934085541781605341771883877144676462928671675062726362973032436685822468954043193645695462814188415097247699708121278018916139502153913769676617565732843852391666429726867054286233459659884148906185638791178597423691614264924189243844109628581381729894813312459662635683866333754393469483792181942870381323792325698366145788959782291372439665666693901456169085285689735173169923636098428538321464558228705437422591381464657744905054863413369434783890552959817993714744816367652642295383191389634579152899809255718413323812338164332250464857544928315112746265264011722676918218853217576877833356625013404539654413788131653417227267938015903284979786214470263659185359386534487860634862615949394398998288603849234577721952912947405745992564976593146685943248932332164383406260634023155342725089551517408497764757139366224363947796536916451098557071993680386066388179435610402088544236978752931321159395439363161993638899733357877579779376344728423274974234741684474065833245524794842726268650125483868550266513242027608982903321794431415113702768878943702192683888123377255213216054567063886448339571113975965611775841464240751329722517371013779996797961643240256824379684227954928865844046279340843126507218413182996487888687795062536659563965988269471116662465556290353856969887718062736685461886557768368929337129733386257377881893219478643175741723248687747797374168779725932286814344811135574422475383561826338416626214179660432083649810389187919894445968647561479765601956618516728383816833995228364110828918703195335859156840447834323160654198511596683939776132114194865884953655195953541238953317391497486392612766761866802383943660878272411864341417907339989863894965119526689767106960173641445829407549831758762751251958704836678368581768563183664066665486732260179520321666918623263982967590513323576091787097321725405578317989424466434057911537538666487542193576662545796736217456996387959656756746345523359023797081102843423112244769835534776060397714279536798092848694138028163138471350785096159884122092756049709113658815236123356034406075411177593842811541729817818585606474673964859848534962455248516145796799986175785415114020294390531691922883336454899951468032584693921451519910511081655225602747606057874943807691201227502729195466154848957284398552667113538379147533172193947053245537713978915477498534545998267174538747394783917750129679764341882061424234564557373152779551527824934242986744156450331635275477391945204424235419863696617065344495136371491568605682333632389680157413552441299234707110462113248491953236116946549227178336111187794221281249353729405354975158812292543017238853129391204422625518635615844382423677411780855573303944446359483784706387698090445758806715499060444177211867122639705718463738212030656687558862254345402079767494629325391676504260357128696910839241359884175886812688527394576537258287669161872045586250807322789696374717687233391780501145697579317595503243557980196424331277791946277914733778306290767888374767387573735850372589292226212790814297953538784034624234957715611960609167901488378819216372606932187993989252978228154778567080577135204994965046174653743793453541874957115264253034441964213733606610751628229497314748103612144545651511157573562469421324914376997371922831522948791935862295471919911212504367294414406312555817482690402667837758327264971683974910902512122440137111921884612592647648836147509137994437895928716674485211292557583773906588588681667696771025782399793835713326765067818447489734225460459385435769214161234319939420493584596284968147986761544043325639694082947694383170861153782292534850778941568371592654228345196614842553382466273235888823556327633018491127417697765219913754261497117845553919585466395413461611609765387195988540395044994443189599903467232186904813423566883071639069144712122693574322321949703712422559529463204533572976537216625985376423384617845535717942543928252877363367546346565747555557499335692151595766173076664269638231634197616949474812911324634686543578843530967583596950484811495541229483937936595645762644693421784516497164309524509896826620368650758020457367358569843187782919653273684642866737128984661460565928203220127520978335354394585182526039872478541721259715954826251114991580437677691454283325125060464511351098477629657523561436716143428512106139631676161864292124898596269910543551991117729154213736186357536129865352505854723962393885608628773982873441244063653657779461335724654811799128657532928092774852233120805641328428813625839975997147114918721589368674149943836957503932435041124317907615451038917895921931242497174926715341157957271945661499786346131083769835516523498065645671739610819328514559904315419212267664194573315863756031753180217818642976185315385720811296884311262354757836295789877362637697827273455615156424415727613998895565268879876518689981916127597092181781369950929257962489503665133628826195857642535253349537171321816239202764295496909972868186728537804436322551884511522319271846684474419557296899813055902163238385977656452246803021749615115249968821731077479272977198958617412861358482479952363827301718668312541578901171461441919982243379397821965122441658607639566424951751398746188613158199689537969378102863651590487556265871468510883934953314869740455991668053804735841128684563801868313135309767138622644218427698488673726815721167372814112634235322832750463071636745782551255467858642304788646862102650106860232955493858672781119729728355897522674770974865126771826454213223614296746920789270276323899230616652267011739841973594231456111581796975936394962611997856638542386833911753196784319145824059841145942568528855794254379326316332166434638237791778732812379087154430219059588037886492886531804727908918299335409587606874286098834938415678603486426872626293713855203795531211372828478354417939677646348083205285984161506470207247233722385428616120893469158426757924615178952838124536181618911453628124514960533667577983733826844254852045569071423961623698691936787199119792798856372463951788254696854963585142237262297799726562892115284138273925115436942297528519111779717394423655955167839340842951846465784251949021148043708750562550634460111478655495266674352431718432811719273282597345606127966447888011335295166674405361263678242488823564627486727271441039788854711826143216178747498285802170684387277440245697478671674317372781806030725866915384309088615330992654294538952298434933477580931719522446722561176262341691123975692669961983813383752229837446163148595918214551383586314276963098769221872766732440713739558165984838241526441529943566147041355916198620967649522184458441223177277696163268938339315471636127109738733793432451113338493082758645562093507127494647172630353342761327499445306435362214901864255714493354377024724877564322618748979150644178953630175667706598149851194842312824724871408589262821252442327760111311204747614249671764702391909928529920828144526576323819808348213518419253919251471455918029358328325522794356336499684981794857351824533941141153274613284752402155562884277872486977212157707432524011962115461663602373375253883254767734348231883473657013372813501335774398378756105065977288796195249950752655327711973760914328784423287669835322369077112890519295425138105768771999458555242093484252885393267898274066481954735485766263332119688592656587618426163384846890109877948164133748772177633819532212617595959426893626822572163557469932319893504435768823215740511958412290197114849543698354303336428540423829536894546642123751707917707677314770246233491122887753932389597567692178875196254359761088165315122942809028592710759531362954586441513037824063338341225391657922812228288827295726505062837373816599381028179513745628499477562936714525637539611399867289372465417673296635929323517387166827365559136139314058416317812523981122533219507554514949547337319049935149667185607379599321543394453976592949812987594097137031798316586969276762214211877185941132603356288332316047897182743923426618245383426939778728475357212480382435433729736484778074882898651233835726161311794322844727643715258649815671547343355720833589478312175352497131142749102671654843636689101788629346849755773316754350694253244276199956687274619165212088945572489140538875852569267772179140856157761159143066106979619291945025754062301336572849255191393089756130274061227583271580675426486682548051454317976847132315757416195677167769466118832437511445448647436464312949165083715051454247439165776120988332448148363572258314745145637374906273266373346383989427194672316531295553974581457288992337712532258951942465472873811246488188843823435169722676691393573735259490172652162648874398224730276987664070363291786757718965885987456913894871547510257364325756147061617644165183181766287956143062777490479931878455622714704579128340325384185684108474834425552339293519959262791784232557851320209970771072453035872015227451105489342615483064315827791593361860779081296380514348392985341821804659373397493156225155695998315341527459484256243881661869833975342033774313452190106153638611231988972748346980788477427951927551882632553030989226346739179450832195474340701651145731801766811330666662462083824753563698587734504276157877534650216117123991939588726734647511355866952625405265602441202951978227599736619273188290284388632767497277906489886948637017804879784692336148891275983792175932997855816841267969429356272621783649455199336381658129924685266259215177136648738023864882968883236877364635231220963992663158872757369727724655266112196522671917937277859722757525354889913854455128604567767197778387158181623291439843819980989359312066407575536930843617503210903912426777102748488197915033347363117855426018206176937093876699743433551276472173291635912428657457835450615722536047905554733288279529616616681475405230639853406532678165605540321769485137581472924450722113593574601734781747145935904170628781825250689589946923201074967783932941372579723058232197472613474461281779519097925692787942324149867494398287946077787665347855684247298938977051525357588994364452744424128743433033678282122399604043151991183679684850422379904231958298527539726449276575234056387151772765381711919923592754386218308147851056474274393015642456503312292299184432124866591218278491526733679076778872423625233254497146721618276022905838253637142053262966707741917298494427344830643160939117949730121791222139458865507855446942879876356568775639867688157164942135149683348498141257729476937543169169985974375816424318679969178829682776224940507875977833624283701290606527751538566795174457752069202396534023627188672871166543441838971643672294433218902821367850565751268214328090106514978876151457775369619955394311389079687366394138959340129296383959522830932922724371425461433 \ No newline at end of file