#include <iostream>
using namespace std;

struct Node
  {
    int info;
    Node *ll;
    Node *rl;
  };

void traverse(Node *r)
  {
    if (r->ll) traverse(r->ll);
    cout << r->info << ' ';
    if (r->rl) traverse(r->rl); 
  }

int main()
  {
    Node * root=NULL;
    int N = 9;
    int x;
    Node *p, *t;

    for (int i=0; i < N; i++)
      {
        cin >> x;
	p = new Node;
        p->info = x; 
	p->ll = p->rl = NULL;

        // insert into the tree
        if (root==NULL) root = p;
        else
          {
            t = root;
            int done = 0;
            while ( !done)
              {
                if (p->info < t->info)
                  if (t->ll==NULL)
                    { t->ll = p, done = 1; }
                  else
                    t = t->ll;
                else
                  if (t->rl == NULL)
  		{ t->rl = p, done = 1; }
                  else
                    t = t->rl;
              }
          }
      }
    traverse(root);
    cout << endl;
  }