# Requirement change

A few of our users want to play with three people instead of two, taking turns in whatever order
they're sitting in. The board and the winning line are exactly the same as before — nobody
changes what counts as a win — there are just more players sharing it, and the person who moves
third has to wait for the other two before their turn comes back around.

Your contract folder has a third mark and a new way to start a game with it:

    Entry.create(int size, int winLength, List<Mark> players)

- `Mark` now has three constants: `X`, `O`, and `Z`. The two-player game is unaffected — nothing
  about `Entry.create()` or `Entry.create(int, int)` changes.
- `players` is the turn order, first to last, and repeats once it runs out: with three players it
  goes player 1, player 2, player 3, player 1, player 2, player 3, and so on for as long as the
  game continues.
- Everything else about how a game is played stays the same: a line of `winLength` in a row
  still wins, a move onto an occupied cell or off the board is still rejected without costing a
  turn, a win is still checked before a draw, and once the game ends the turn still does not pass
  — whoever just moved is still reported as the current player afterwards.

Drop the updated `Entry` and `Mark` over the ones you were given.
