文件目录

#include <bits/stdc++.h>
using namespace std;
// 如果根节点标为1,对于任意节点x,左右子节点分别是2x、2x+1
char tree[1000050];
string s;
int is = 0;
void buildtree(int id)
{
    tree[id] = s[is++];
    if (s[is - 1] == '.')
        return;
    buildtree(id * 2);
    buildtree(id * 2 + 1);
}
void zx(int id)
{
    if (tree[id] == '.')
        return;
    zx(id * 2);
    cout << tree[id];
    zx(id * 2 + 1);
}
void hx(int id)
{
    if (tree[id] == '.')
        return;
    hx(id * 2);
    hx(id * 2 + 1);
    cout << tree[id];
}
int main()
{
    cin >> s;
    buildtree(1);
    zx(1);
    cout << endl;
    hx(1);
    return 0;
}