#include <iostream>
#include <vector>
using namespace std;
inline int leftChild(int i)
{
return 2*i+1;
}
template <typename Comparable>
void percDown(vector<Comparable>& a,int i,int n)
{
int child;
Comparable tmp;
for(tmp = a[i];leftChild(i) < n;i = child)
{
child = leftChild(i);
if(child != n-1 && a[child] < a[child+1])
child++;
if(tmp < a[child])
a[i] = a[child];
else
break;
}
a[i] = tmp;
}
template <typename Comparable>
void heapSort(vector<Comparable>& a)
{
for(int i =a.size()/2-1;i>=0;--i) //buildHeap
percDown(a,i,a.size());
for(int j=a.size()-1;j>0;--j)
{
swap(a[0],a[j]); //delete Max
percDown(a,0,j);
}
}
int main()
{
vector<int> arr;
int data;
cin >> data;
while(data != -1)
{
arr.push_back(data);
cin>>data;
}
vector<int>::iterator iter = arr.begin();
for(;iter != arr.end();++iter)
cout << *iter << ' ';
cout << endl;
return 0;
}