class Solution
{
public:
    void push(int element) {
        if(queue1.empty()){
            queue1.push(element);
        }
        else{
            while(!queue1.empty()){
                int tmp = queue1.front();
                queue2.push(tmp);
                queue1.pop();
            }
            queue1.push(element);
            while(!queue2.empty()){
                int tmp = queue2.front();
                queue1.push(tmp);
                queue2.pop();
            }
        }
    }

    int pop() {
        int res = queue1.front();
        queue1.pop();
        return res;
    }

    int top() {
        return queue1.front();
    }

    bool empty() {
        return queue1.empty();
    }

private:
    queue<int> queue1;
    queue<int> queue2;
};