public Solution GetSolution(IInput input) { Character iam = new Character(); foreach (string command in input.GetCommaSeparatedValues()) { Movement movement = CreateMovement(command); iam.MakeMove(movement); } return(new Solution(iam.GetTaxicabDistance(), iam.DistanceFirstRevisitedPosition)); }