//若字符后面不是#,则一定为左子树,左子树递归完后(##结束),递归右子树即可
#include "stdio.h"
#include "string"
using namespace std;
struct TreeNode{
char data;
TreeNode *leftChild;
TreeNode *rightChild;
};
TreeNode *RebuildTree(string &preList){
if (preList.size()==0)
return NULL;
else{
if(preList[0] == '#'){
preList = preList.substr(1);
return NULL;
} else{
TreeNode *node = new TreeNode;
node->data = preList[0];
preList = preList.substr(1);
node->leftChild = RebuildTree(preList);
node->rightChild = RebuildTree(preList);
return node;
}
}
}
void InOrder(TreeNode *root){
if (root!=NULL){
InOrder(root->leftChild);
printf("%c ",root->data);
InOrder(root->rightChild);
}
return;
}
int main(){
char preList[101];
while (scanf("%s",preList)!=EOF){
string str = preList;
TreeNode *root = RebuildTree(str);
InOrder(root);
printf("\n");
}
}