#include <iostream>
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
struct node *lchild,*rchild;
int data;
}treeno,*treenode;
void cretree(treenode &root){
int x;
cin>>x;
if(x){
root=new treeno;
root->data=x;
cretree(root->lchild);
cretree(root->rchild);
}else{
root=NULL;
}
}
void doublevisit(treenode root){
if(root){
cout<<root->data<<" ";
doublevisit(root->lchild);
cout<<root->data<<" ";
doublevisit(root->rchild);
}
}
int main()
{
treenode root;
cretree(root);
doublevisit(root);
return 0;
}//1 2 3 0 0 4 5 0 6 0 0 7 0 0 0