public override string Part1() { codeList = File.ReadAllText("Input/7.txt").Split(',').Select(s => int.Parse(s)); int highestResult = 0; for (int a = 0; a < 5; a++) { for (int b = 0; b < 5; b++) { for (int c = 0; c < 5; c++) { for (int d = 0; d < 5; d++) { for (int e = 0; e < 5; e++) { int[] inputs = new int[2]; int[] signals = new int[] { a, b, c, d, e }; if (signals.Distinct().Count() != 5) { continue; } int result = 0; for (int i = 0; i < 5; i++) { inputs[0] = signals[i]; inputs[1] = result; ICVM vm = new ICVM(codeList.ToArray()); vm.AddInputs(inputs); result = vm.GetCodeResult(out bool stop); } if (result > highestResult) { highestResult = result; } } } } } } return(highestResult.ToString()); }