#include <stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int BTreeData;
typedef struct BTreeNode
{
BTreeData data;
struct BTreeNode* left;
struct BTreeNode* right;
}BTNode;
BTNode* BuyBTNode(BTreeData x)
{
BTNode* node = (BTNode*)malloc(sizeof(BTNode));
if(node == NULL)
{
perror("malloc fail");
return NULL;
}
node->data = x;
node->left = node->right = NULL;
return node;
}
BTNode* CreateBinaryTree(char* arr,int* pi)
{
if(arr[*pi] == '#')
{
(*pi)++;
return NULL;
}
BTNode* root = BuyBTNode(arr[*pi]);
(*pi)++;
root->left = CreateBinaryTree(arr,pi);
root->right = CreateBinaryTree(arr,pi);
return root;
}
void InOrder(BTNode* root)
{
if(root == NULL)
{
return;
}
InOrder(root->left);
printf("%c ",root->data);
InOrder(root->right);
}
int main()
{
char arr[100];
scanf("%s",arr);
int i = 0;
BTNode* root = CreateBinaryTree(arr,&i);
InOrder(root);
return 0;
}