Queue from two stacks, and stack from one queue
===============================================

QueueViaStacks (stacks shown top first)
  enqueue(1)    in=[1]  out=[]
  enqueue(2)    in=[2, 1]  out=[]
  enqueue(3)    in=[3, 2, 1]  out=[]
  dequeue() = 1  in=[]  out=[2, 3]   transfers so far: 3
  enqueue(4)    in=[4]  out=[2, 3]
  dequeue() x3 = 2, 3, 4  in=[]  out=[]   transfers so far: 4

StackViaQueue
  push(1)       queue(front=top)=[1]   rotations so far: 0
  push(2)       queue(front=top)=[2, 1]   rotations so far: 1
  push(3)       queue(front=top)=[3, 2, 1]   rotations so far: 3
  pop() x2 = 3, 2   queue(front=top)=[1]
