import java.util.*;
class Node{
int data;
Node lchild;
Node rchild;
Node(int a)
{
data=a;
lchild=null;
rchild=null;
}
}
public class InOrderTravereseFeidigui{
private static final Stack<Node> Node = null;
static Node root=null;
static Node creatTree(Node root)
{
Scanner in=new Scanner(System.in);
int a=in.nextInt();
if(a==0){
return null ;
}
else{
root=new Node(a);
root.lchild=creatTree(root.lchild);
root.rchild=creatTree(root.rchild);
return root;
}
}
static void InOrderTraverseFeidigui(Node root){
Node temp=root;
Stack<Node> stack=new Stack<Node>();
while(temp!=null||!stack.isEmpty()){
while(temp!=null){
stack.push(temp);
temp=temp.lchild;
}
Node node=stack.pop();
System.out.print(node.data);
temp=node.rchild;
}
}
public static void main(String[] args) {
Node tree1=creatTree(root);
InOrderTraverseFeidigui(tree1);
}
}