input: Write a function to simulate a rock-paper-scissors game and determine the winner based on the inputs of two players. Return a string indicating the result of the game, such as 'Player 1 wins!', 'Player 2 wins!', or 'It is a draw!'. If unexpected input is provided, return 'Invalid input!'.
  def play_game(player1, player2):
      rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'}
      if player1 not in rules or player2 not in rules:
          return 'Invalid input!'
      if player1 == player2:
          return 'It is a draw!'
      elif rules[player1] == player2:
          return 'Player 1 wins!'
      else:
          return 'Player 2 wins!'
  
  assert play_game('rock', 'scissors')=='Player 1 wins!'
  assert play_game('scissors', 'paper')=='Player 1 wins!'
  assert play_game('paper', 'rock')=='Player 1 wins!'
  assert play_game('rock', 'rock')=='It is a draw!'
  assert play_game('scissors', 'rock')=='Player 2 wins!'
  assert play_game('paper', 'scissors')=='Player 2 wins!'
  assert play_game('rock', 'moon')=='Invalid input!'
  assert play_game('sun', 'scissors')=='Invalid input!'
output: def play_game(player1, player2):
      rules = {'rock': 'scissors', 'scissors': 'paper', 'paper': 'rock'}
      if player1 not in rules or player2 not in rules:
          return 'Invalid input!'
      if player1 == player2:
          return 'It is a draw!'
      elif rules[player1] == player2:
          return 'Player 1 wins!'
      else:
          return 'Player 2 wins!'