input: 
  def play_game(moves: List[List[int]]) -> str:
      """ Simulates a TicTacToe game by applying a sequence of moves to the board.
      Each move is a list of two integers representing the row and column (0-based index)
      where the 'x' or 'o' will be placed. The game alternates turns between 'x' and 'o'.
      The function returns 'x' if 'x' wins, 'o' if 'o' wins, and 'draw' if no player wins.
      Example:
      >>> play_game([[0,0], [1,1], [0,1], [1,2], [0,2]])
      'x'
      >>> play_game([[0,0], [1,1], [0,1], [2,2], [1,0], [1,2], [2,0], [2,1]])
      'draw'
      """
  
output:     board = [['' for _ in range(3)] for _ in range(3)]
      players = ['x', 'o']
      for i, move in enumerate(moves):
          row, col = move
          board[row][col] = players[i % 2]
          if check_winner(board, players[i % 2]):
              return players[i % 2]
      return 'draw'
  
  def check_winner(board, player):
      for row in board:
          if all(cell == player for cell in row):
              return True
      for col in range(3):
          if all(board[row][col] == player for row in range(3)):
              return True
      if all(board[i][i] == player for i in range(3)):
          return True
      if all(board[i][2 - i] == player for i in range(3)):
          return True
      return False