#include <bits/stdc++.h>
using namespace std;
struct Node {
int data;
Node* left;
Node* right;
Node(int val) {
data = val;
left = right = NULL;
}
};
// Example construction
int main() {
Node* root = new Node(1); // Root
root->left = new Node(2); // Left child of root
root->right = new Node(3); // Right child of root
root->left->left = new Node(4); // Left child of 2
root->left->right = new Node(5); // Right child of 2
// এখন Tree structure:
// 1
// / \
// 2 3
// / \
// 4 5
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTm9kZSB7CiAgICBpbnQgZGF0YTsKICAgIE5vZGUqIGxlZnQ7CiAgICBOb2RlKiByaWdodDsKICAgIE5vZGUoaW50IHZhbCkgewogICAgICAgIGRhdGEgPSB2YWw7CiAgICAgICAgbGVmdCA9IHJpZ2h0ID0gTlVMTDsKICAgIH0KfTsKCi8vIEV4YW1wbGUgY29uc3RydWN0aW9uCmludCBtYWluKCkgewogICAgTm9kZSogcm9vdCA9IG5ldyBOb2RlKDEpOyAgICAgIC8vIFJvb3QKICAgIHJvb3QtPmxlZnQgPSBuZXcgTm9kZSgyKTsgICAgICAvLyBMZWZ0IGNoaWxkIG9mIHJvb3QKICAgIHJvb3QtPnJpZ2h0ID0gbmV3IE5vZGUoMyk7ICAgICAvLyBSaWdodCBjaGlsZCBvZiByb290CiAgICByb290LT5sZWZ0LT5sZWZ0ID0gbmV3IE5vZGUoNCk7ICAvLyBMZWZ0IGNoaWxkIG9mIDIKICAgIHJvb3QtPmxlZnQtPnJpZ2h0ID0gbmV3IE5vZGUoNSk7IC8vIFJpZ2h0IGNoaWxkIG9mIDIKCiAgICAvLyDgpo/gppbgpqggVHJlZSBzdHJ1Y3R1cmU6CiAgICAvLyAgICAgICAgMQogICAgLy8gICAgICAvICAgXAogICAgLy8gICAgIDIgICAgIDMKICAgIC8vICAgIC8gXAogICAgLy8gICA0ICAgNQp9Cg==