#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
typedef int ElemType;
class SeqQueue { //顺序栈类定义
protected:
int rear, front;
ElemType *elements; //数组存放栈元素
int maxSize; //栈最大容量
public:
SeqQueue(int sz); //构造函数
~SeqQueue() { delete[]elements; }; //析构函数
bool Enqueue(ElemType x); //入队
bool DeQueue(ElemType &x); //出队
bool getFront(ElemType &x);
int IsEmpty() const { return rear == front; }
int IsFull() const { return (rear + 1) % maxSize == front; }
int GetSize() const { return (rear - front + maxSize) % maxSize; }
};
SeqQueue::SeqQueue(int sz) {
front=rear=0;
maxSize=sz;
elements=new ElemType [sz];
if (elements==NULL) {
cout << "空间申请错误!" << endl;
exit(1);
}
}
bool SeqQueue::Enqueue(ElemType x) {
if (IsFull() == 1) return 0;
elements[rear] = x;
rear = (rear + 1) % maxSize;
return 1;
}
bool SeqQueue::DeQueue(ElemType &x) {
if (IsEmpty()) return 0;
x = elements[front];
front = (front + 1) % maxSize;
return 1;
}
int main() {
int n;
SeqQueue *result = new SeqQueue(1050);
cin >> n;
for (int i = 1, x; i <= n; i++) {
cin >> x;
result->Enqueue(x);
}
while (result->IsEmpty() == 0) {
int x;
result->DeQueue(x);
cout << x << endl;
}
}