#include <stdio.h>
#include <stdlib.h>
typedef struct TNode{
char data;
struct TNode *left,*right;
}TNode,*BTree;
int index=0;
char c[101];
void create(BTree *t){
if (c[index]=='#'||c[index]==' ')
{
index++;
*t=NULL;
}else{
*t=(TNode*)malloc(sizeof(TNode));
(*t)->data=c[index];
index++;
create(&(*t)->left);
create(&(*t)->right);
}
}
void remove_tree(BTree t){
if (t)
{
remove_tree(t->left);
remove_tree(t->right);
free(t);
}
}
void inorder(BTree t){
if (t)
{
inorder(t->left);
printf("%c ",t->data);
inorder(t->right);
}
}
int main(){
BTree t;
// freopen("1.txt","r",stdin);
while (scanf("%s",c)!=EOF)
{
index=0;
create(&t);
inorder(t);
remove_tree(t);
printf("\n");
}
// fclose(stdin);
return 0;
}
/**************************************************************
Problem: 2215
User: admin
Language: C
Result: Accepted
Time:14 ms
Memory:1144 kb
****************************************************************/