#include<stdio.h>
using namespace std;
struct TreeNode{
char data;
TreeNode* left;
TreeNode* right;
};
TreeNode* ReTree(int& i,char str[]){
char c=str[i];
i++;
if(c=='#'){
return NULL;
}
else{
TreeNode* pNew=new TreeNode;
pNew->data=c;
pNew->left=ReTree(i,str);
pNew->right=ReTree(i,str);
return pNew;
}
}
void InOrder(TreeNode *proot){
if(proot==NULL){
return;
}
InOrder(proot->left);
printf("%c ",proot->data);
InOrder(proot->right);
}
int main(){
char str[1000];
while(scanf("%s",str)!=EOF){
int i=0;
TreeNode* proot=ReTree(i,str);
InOrder(proot);
printf("\n");
}
return 0;
}