#include<iostream.h>
typedef char TElemtype;
typedef struct Btree
{
TElemtype data;
struct Btree *Lchild,*Rchild;
}BTnode,*btree;
void create_btree(btree &root)
{
int i,j;
btree s,p[100];
cin>>i;
while(i!=0)
{
s=new BTnode;
cin>>s->data;
s->Lchild=s->Rchild=NULL;
p[i]=s;
if(i==1)
root=s;
else
{
j=i/2;
if(i%2==0)
p[j]->Lchild=s;
else
p[j]->Rchild=s;
}
cin>>i;
}
}
void create_btree2(btree &root,char str[])
{
char ch;
static int i=0;
ch=str[i++];
if(ch=='.')
{
root=NULL;
}
else
{
root=new BTnode;
root->data=ch;
create_btree2(root->Lchild,str);
create_btree2(root->Rchild,str);
}
}
void preorder(btree root)
{
if(root)
{
cout<<root->data;
preorder(root->Lchild);
preorder(root->Rchild);
}
}
void inorder(btree root)
{
if(root)
{
inorder(root->Lchild);
cout<<root->data;
inorder(root->Lchild);
}
}
void postorder(btree root)
{
if(root)
{
postorder(root->Lchild);
postorder(root->Lchild);
cout<<root->data;
}
}
void main()
{
btree root;
//create_btree(root);
char str[30];
cin>>str;
create_btree2(root,str);
preorder(root);
}