input: Write a python function to create a deck of cards, shuffle it, and draw the top card.
  assert Deck(['Hearts', 'Diamonds', 'Clubs', 'Spades'], ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']).draw_card() in [('Hearts', '2'), ('Diamonds', '3'), ('Clubs', '4'), ('Spades', '5')]
  assert Deck(['Hearts'], ['2']).draw_card() == ('Hearts', '2')
  assert Deck(['Hearts', 'Diamonds'], ['A']).draw_card() in [('Hearts', 'A'), ('Diamonds', 'A')]
output: import random
  
  class Deck:
      def __init__(self, suits, ranks):
          self.suits = suits
          self.ranks = ranks
          self.cards = [(suit, rank) for suit in suits for rank in ranks]
          self.shuffle()
  
      def shuffle(self):
          random.shuffle(self.cards)
  
      def draw_card(self):
          return self.cards.pop()