#include <stdio.h>
#include <stdlib.h>
//定义二叉树结构
typedef char BTDateType;
typedef struct BinaryTreeNode
{
    BTDateType val;
    struct BinaryTreeNode* left;
    struct BinaryTreeNode* right;
}BTNode;
BTNode* CreateBTNode(char* a,int* k)
{
    if (a[*k] == '#') {
        (*k)++;
        return NULL;
    }
    BTNode* root = (BTNode*)malloc(sizeof(BTNode));
    root->val = a[(*k)++];
    root->left = CreateBTNode(a,  k);
    root->right = CreateBTNode(a, k);

    return root;
}
//中序遍历
void InOrder(BTNode* root)
{
    if (root == NULL) {
        return;
    }
    InOrder(root->left);
    printf("%c ",root->val);
    InOrder(root->right);
}
int main() {
    char a[100];
    scanf("%s",a);
    int k = 0;
    BTNode* root = CreateBTNode(a, &k);
    //中序遍历
    InOrder(root);
    return 0;
}