#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Node{
    public:
    Node *next;
    int data;
    Node(int data){
        this->data=data;
        this->next=nullptr;
    }
};
class LinkedList{
    public:
    Node *head=nullptr;
    Node *tail=nullptr;
    void add(int num){
        Node *newnode=new Node(num);
        if(head==nullptr){
            head=newnode;
            tail=newnode;
        }
        else{
            tail->next=newnode;
            tail=newnode;
        }
    }
    void display(){
        Node *ptr=head;
        while(ptr!=nullptr){
            cout<<ptr->data<<" ";
            ptr=ptr->next;
        }
    }
    void sort(){
        vector<int> list;
        Node *ptr=head;
        while(ptr!=nullptr){
            list.push_back(ptr->data);
            ptr=ptr->next;
        }
        sort(list.begin(),list.end());
        for(int i=0;i<list.size();i++){
            cout<<list[i]<<" ";
        }
    }
};
int main(){
    int n;
    LinkedList obj;
    while(cin>>n){
        obj.add(n);
    }
    obj.display();
    obj.sort();
}