Nim game

You are encouraged to solve this task according to the task description, using any language you may know.
Nim is a simple game where the second player ─── if they know the trick ─── will always win.



The game has only 3 rules:

   start with   12   tokens
   each player takes   1,  2,  or  3   tokens in turn
  the player who takes the last token wins.


To win every time,   the second player simply takes 4 minus the number the first player took.   So if the first player takes 1,   the second takes 3 ─── if the first player takes 2,   the second should take 2 ─── and if the first player takes 3,   the second player will take 1.



Task

Design a simple Nim game where the human player goes first, and the computer always wins. The game should enforce the rules.




var tokens = 12
 
while tokens != 0 {
  print("Tokens remaining: \(tokens)\nPlease enter a number between 1 and 3: ", terminator: "")
 
  guard let input = readLine(), let n = Int(input), n >= 1 && n <= 3 else {
    fatalError("Invalid input")
  }
 
  tokens -= n
 
  if tokens == 0 {
    print("You win!")
 
    break
  }
 
  print("I'll remove \(4 - n) tokens.")
 
  tokens -= 4 - n
 
  if tokens == 0 {
    print("I win!")
  }
 
  print()
}