#include <iostream>
using namespace std;
class node
{
public:
int data;
node*left;
node*right;
node(int d)
{
data=d;
left=NULL;
right=NULL;
}
};
node* buildTree()
{
int d;
cin>>d;
if(d==-1)
{
return NULL;
}
node *root=new node(d);
root->left=buildTree();
root->right=buildTree();
return root;
}
void print(node *root)
{
if(root==NULL)
{
return;
}
cout<<root->data<<" ";
print(root->left);
print(root->right);
}
int main() {
node* root=buildTree();
print(root);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBub2RlCnsKICAgIHB1YmxpYzoKICAgIGludCBkYXRhOwogICAgbm9kZSpsZWZ0OwogICAgbm9kZSpyaWdodDsKICAgIG5vZGUoaW50IGQpCiAgICB7CiAgICAgICAgZGF0YT1kOwogICAgICAgIGxlZnQ9TlVMTDsKICAgICAgICByaWdodD1OVUxMOwogICAgfQp9Owpub2RlKiBidWlsZFRyZWUoKQp7CiAgICBpbnQgZDsKICAgIGNpbj4+ZDsKICAgIGlmKGQ9PS0xKQogICAgewogICAgICAgIHJldHVybiBOVUxMOwogICAgfQogICAgbm9kZSAqcm9vdD1uZXcgbm9kZShkKTsKICAgIHJvb3QtPmxlZnQ9YnVpbGRUcmVlKCk7CiAgICByb290LT5yaWdodD1idWlsZFRyZWUoKTsKICAgIHJldHVybiByb290Owp9CnZvaWQgcHJpbnQobm9kZSAqcm9vdCkKewogICAgaWYocm9vdD09TlVMTCkKICAgIHsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBjb3V0PDxyb290LT5kYXRhPDwiICI7CiAgICBwcmludChyb290LT5sZWZ0KTsKICAgIHByaW50KHJvb3QtPnJpZ2h0KTsKfQppbnQgbWFpbigpIHsKICAgIG5vZGUqIHJvb3Q9YnVpbGRUcmVlKCk7CiAgICBwcmludChyb290KTsKICAgIHJldHVybiAwOwp9Cg==