//第一感觉只有前序没法确定序列,但是问题在于他把空用#表示出来了,当遇到#时,表示之后的一定不是孩子的
#include <bits/stdc++.h>
using namespace std;
struct TreeNode {
char data;
TreeNode* leftChild;
TreeNode* rightChild;
};
TreeNode* Build(int& i, string str) {
char c = str[i++];
if (c == '#') return NULL;
//为字符构建结点
TreeNode* pNewNode = new TreeNode;
pNewNode->data = c;
pNewNode->leftChild = Build(i, str);
pNewNode->rightChild = Build(i, str);
return pNewNode;
}
void InOrder(TreeNode* root) {
if (root == NULL) return;
InOrder(root->leftChild);
printf("%c ", root->data);
InOrder(root->rightChild);
}
int main() {
string str;
while (cin >> str) {
int i = 0;
TreeNode* root = Build(i, str);
InOrder(root);
cout << endl;
}
return 0;
}