410500: GYM104030 A Ace Arbiter
Description
Alice and Bob are playing a friendly game of ping pong. The game consists of several rounds. At the end of each round, exactly one player gets one point. The first player to 11 points wins. When that happens, the game immediately ends. Alice start serving the first round, then Bob serves for the next two rounds, then Alice serves twice, then Bob serves twice, and so on.
At any time in the game, the current score is written $$$X$$$-$$$Y$$$, where $$$X$$$ is the number of points of the player who is currently serving, and $$$Y$$$ is the number of points of the other player. This constant switching of the scores back and forth can be a little bit error-prone. Eve is the umpire, and she wrote down a log of the current scores at a few different times during the game. But since Eve is a bit unreliable, you worry that she wrote down the wrong scores. Write a program which, given the list of scores Eve wrote down, checks whether or not this list of scores can appear in an actual game.
InputThe first line of input contains an integer $$$n$$$ ($$$1 \le n \le 100$$$), the number of lines in the log. Then follow $$$n$$$ lines, each containing a string of the from $$$X$$$-$$$Y$$$ ($$$0 \le X,Y \le 11$$$), the list of scores Eve wrote down, in chronological order.
OutputIf the input is a valid log of a not necessarily finished game, output "ok". Otherwise, output "error $$$i$$$", where $$$1 \le i \le n$$$ is the largest value such that the list of the first $$$i-1$$$ entries is valid, but the list of the first $$$i$$$ entries is invalid.
ExamplesInput5 0-0 1-0 1-0 2-0 1-2Output
okInput
2 1-0 0-0Output
error 2Input
4 11-0 11-0 11-1 11-11Output
error 3Input
4 0-0 1-0 0-2 2-1Output
error 3