input: Write a python function to implement a stack using two queues.
  assert s.pop() == None
  s.push(1)
  s.push(2)
  s.push(3)
  assert s.pop() == 3
  assert s.pop() == 2
  assert s.pop() == 1
  assert s.pop() == None
output: from collections import deque
  
  class StackUsingQueues:
      def __init__(self):
          self.q1 = deque()
          self.q2 = deque()
      
      def push(self, x):
          self.q1.append(x)
      
      def pop(self):
          if not self.q1:
              return None
          while len(self.q1) > 1:
              self.q2.append(self.q1.popleft())
          popped_item = self.q1.popleft()
          self.q1, self.q2 = self.q2, self.q1
          return popped_item
  
  # Example usage:
  s = StackUsingQueues()
  assert s.pop() == None
  s.push(1)
  s.push(2)
  s.push(3)
  assert s.pop() == 3
  assert s.pop() == 2
  assert s.pop() == 1
  assert s.pop() == None