Implement a queue using only two stacks.
The queue has the following operations:
push(): put an item at the end of the queue.
pop(): remove an item from the front of the queue.
top(): get an item from the front of the queue, but does not remove the item.
Implement by using two stacks, do not use any other data structure and
top() should be O(1) by AVERAGE.
pop() // return 1
top() // return 2
pop() // return 2