#include <iostream>
using namespace std;
class Node{
    public:
    int data;
    Node *left;
    Node *right;
    Node(int data){
        this->data=data;
        left=nullptr;
        right=nullptr;
    }
};
Node *add(Node *root,int data){
    if(root==nullptr){
        root=new Node(data);
        return root;
    }
    else{
        if(root->data>data){
            root->left=return add(root->left,data);
            return root;
        }
        else{
            root->right=return add(root->right,data);
            return root;
        }
    }
    return root;
}
void disp(Node *root){
    if(root==nullptr){
        return;
    }
    disp(root->left);
    cout<<root->data<<" ";
    disp(root->right);
}
int main(){
    int n;
    cin>>n;
    Node *root=nullptr;
    for(int i=0;i<n;i++){
        int k;
        cin>>k;
        root=add(root,k);
    }
    disp(root);
}