#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
int data;
struct node *next;
}myqueuenode;
typedef struct{
myqueuenode *front,*rear;
}myqueue;
void init(myqueue &m){
m.front=m.rear=new myqueuenode;
m.front->next=NULL;
}
void enqueue(myqueue &m,int x){
myqueuenode *p=new myqueuenode;
p->data=x;
p->next=NULL;
m.rear->next=p;
m.rear=p;
}
void dequeue(myqueue &m){
myqueuenode *p;
p=m.front->next;
cout<<p->data<<" ";
m.front->next=p->next;
if(p==m.rear) m.rear=m.front;
delete p;
}
int main()
{
myqueue m;
int x;
init(m);
cin>>x;
while(x){
enqueue(m,x);
cin>>x;
}
while(m.front!=m.rear){
dequeue(m);
}
// cout << "Hello world!" << endl;
return 0;
}