#include <iostream>
using namespace std;
int n;
struct node{
int v;
struct node* next;
};
typedef struct node* list;
int main() {
while(cin >> n)
{
list head = (list)malloc(sizeof(list));
head->v = 0;
head->next = NULL;
list tail = head;
for (int i = 1; i <= n; i++)
{
list tmp = (list)malloc(sizeof(list));
cin >> tmp->v;
if(tmp->v > tail->v)
{
tmp->next = NULL;
tail->next = tmp;
tail = tail->next;
}
else
{
list l = head;
while(l->next->v <= tmp->v)
{
l = l->next;
}
tmp->next = l->next;
l->next = tmp;
}
}
while(head->next)
{
cout << head->next->v << " ";
head = head->next;
}
cout << endl;
}
}