#include <iostream>
#include <stack>
using namespace std;
class MyQueue
{
public:
bool empty();
int front();
void push(int a);
int pop();
private:
stack<int> S;
};
bool MyQueue::empty()
{
return S.empty();
}
int MyQueue::front()
{
return S.top();
}
int MyQueue::pop()
{
int i = S.top();
S.pop();
return i;
}
void MyQueue::push(int a)
{
stack<int> temp;
while(!S.empty())
{
temp.push(S.top());
S.pop();
}
temp.push(a);
while(!temp.empty())
{
S.push(temp.top());
temp.pop();
}
}
int main()
{
MyQueue Queue;
for(int i = 0; i < 5; i++)
{
Queue.push(i);
cout << Queue.front() << endl;
}
Queue.pop();
Queue.pop();
Queue.pop();
Queue.pop();
cout << Queue.front() << endl;
return 0;
}