public override void ReadInput(string input) { var parts = input.Split(':'); var command = parts[0]; switch (command) { case "A": _list.Add(parts[1]); break; case "H": _list.AddToHead(parts[1]); break; case "R": _list.RemoveAt(int.Parse(parts[1])); break; case "P": foreach (var i in _list) { Output += i + " "; } break; case "B": foreach (var i in _list.ReadReverse()) { Output += i + " "; } break; case "T": Output = _list.RemoveTail(); break; default: Output = $"invalid input: {InstructionText}"; break; } }