protected override string Solve(IEnumerable <string> inputs) { var program = inputs.First().ToProgram(); var cpu = ServiceProvider.GetRequiredService <IntCodeCpu>(); var maze = new MazeWalker(cpu, program); maze.Run().Render(); var data = new StringBuilder(); foreach (var tile in maze.Tiles.Values.OrderBy(x => x.Position.X).ThenBy(x => x.Position.Y)) { data.AppendLine($"{tile.Position.X},{tile.Position.Y},{tile.TileType}"); } SaveToFile(data.ToString()); return("Maze Rendered"); }