#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;
}