#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
class Node{
public:
int data;
Node* left;
Node* right;
Node(int val){
data = val;
left = NULL;
right = NULL;
}
};
Node* insert(Node* root, int val){
if(root==NULL)
return new Node(val);
if(val < root->data)
root->left = insert(root->left, val);
if(val > root->data)
root->right = insert(root->right, val);
return root;
}
int main(){
Node* root = NULL;
insert(root, 50);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKY2xhc3MgTm9kZXsKCXB1YmxpYzoKCWludCBkYXRhOwoJTm9kZSogbGVmdDsKCU5vZGUqIHJpZ2h0OwoJTm9kZShpbnQgdmFsKXsKCQlkYXRhID0gdmFsOyAgICAgICAgICAgCgkJbGVmdCA9IE5VTEw7CgkJcmlnaHQgPSBOVUxMOwoJfQp9OwpOb2RlKiBpbnNlcnQoTm9kZSogcm9vdCwgaW50IHZhbCl7CglpZihyb290PT1OVUxMKQoJCXJldHVybiBuZXcgTm9kZSh2YWwpOwoJaWYodmFsIDwgcm9vdC0+ZGF0YSkKCQlyb290LT5sZWZ0ID0gaW5zZXJ0KHJvb3QtPmxlZnQsIHZhbCk7CglpZih2YWwgPiByb290LT5kYXRhKQoJCXJvb3QtPnJpZ2h0ID0gaW5zZXJ0KHJvb3QtPnJpZ2h0LCB2YWwpOwoJCQoJcmV0dXJuIHJvb3Q7Cn0KCmludCBtYWluKCl7CglOb2RlKiByb290ID0gTlVMTDsKCWluc2VydChyb290LCA1MCk7Cn0KCgo=