private static async Task RunDay(int dayNumber, IDay day) { string dayId = $"Day{dayNumber:00}"; lock (ConsoleSync) { Console.SetCursorPosition(0, dayNumber); Console.Write(dayId); } var input = File.ReadAllText($"Calendar/{dayId}/Input.txt"); day.Parse(input); await Task.WhenAll( RunPart(day.PartA, day.FunctionalPartA, day.FastPartA, dayNumber, 7), RunPart(day.PartB, day.FunctionalPartB, day.FastPartB, dayNumber, (Console.WindowWidth - 7) / 2)); }