#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;

struct Lnode
{
    int val;
    struct Lnode*next;
    Lnode(int x):val(x),next(nullptr){};
};

int main() {
    int n;
    while(cin>>n)
    {
        int val;
        Lnode* L=new Lnode(-9999);
        Lnode* pre=L;
        for(int i=0;i<n;i++)
        {
            cin>>val;
            Lnode* temp=new Lnode(val);
            if(val>pre->val)
            {
                pre->next=temp;
                pre=pre->next;
            }
            else 
            {
                Lnode* p=L;
                while(p->next->val<val)
                {
                    p=p->next;
                }
                temp->next=p->next;
                p->next=temp;
            }

        }
        while(L->next)
        {
            L=L->next;
            cout<<L->val<<" ";
        }
        cout<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")