# your code goes here
class BinaryTree:
def __init__(self, root):
self.key = root
self.left_child = None
self.right_child = None
def insert_left(self, new_node):
if (self.left_child is None):
self.left_child = BinaryTree (new_node)
else:
t = BinaryTree(new_node)
t.left_child = self.left_child
self.left_child = t
def insert_right(self, new_node):
if self.right_child is None:
self.right_child = BinaryTree(new_node)
else:
t = BinaryTree(new_node)
t.right_child = self.right_child
self.right_child = t
def get_right_child(self):
return self.right_child
def get_left_child(self):
return self.left_child
def set_root_val(self, obj):
self.key = obj
def get_root_val(self):
return self.key
r = BinaryTree('a')
print("-1", r.get_root_val())
print("-2",r.get_left_child())
r.insert_left('b')
print("-3",r.get_left_child())
print("-4", r.get_left_child().get_root_val())
r.insert_right('c')
print("-5", r.get_right_child())
print("-6", r.get_right_child().get_root_val())
r.get_right_child().set_root_val('hello')
print("-7",r.get_right_child().get_root_val())
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmNsYXNzIEJpbmFyeVRyZWU6CiAgICBkZWYgX19pbml0X18oc2VsZiwgcm9vdCk6CiAgICAgICAgc2VsZi5rZXkgPSByb290IAogICAgICAgIHNlbGYubGVmdF9jaGlsZCA9IE5vbmUgCiAgICAgICAgc2VsZi5yaWdodF9jaGlsZCA9IE5vbmUgCgogICAgZGVmIGluc2VydF9sZWZ0KHNlbGYsIG5ld19ub2RlKToKICAgICAgICBpZiAoc2VsZi5sZWZ0X2NoaWxkIGlzIE5vbmUpOgogICAgICAgICAgICBzZWxmLmxlZnRfY2hpbGQgPSBCaW5hcnlUcmVlIChuZXdfbm9kZSkgCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdCA9IEJpbmFyeVRyZWUobmV3X25vZGUpIAogICAgICAgICAgICB0LmxlZnRfY2hpbGQgPSBzZWxmLmxlZnRfY2hpbGQgCiAgICAgICAgICAgIHNlbGYubGVmdF9jaGlsZCA9IHQgCiAgICBkZWYgaW5zZXJ0X3JpZ2h0KHNlbGYsIG5ld19ub2RlKToKICAgICAgICBpZiBzZWxmLnJpZ2h0X2NoaWxkIGlzIE5vbmU6CiAgICAgICAgICAgIHNlbGYucmlnaHRfY2hpbGQgPSBCaW5hcnlUcmVlKG5ld19ub2RlKSAKICAgICAgICBlbHNlOgogICAgICAgICAgICB0ID0gQmluYXJ5VHJlZShuZXdfbm9kZSkKICAgICAgICAgICAgdC5yaWdodF9jaGlsZCA9IHNlbGYucmlnaHRfY2hpbGQgCiAgICAgICAgICAgIHNlbGYucmlnaHRfY2hpbGQgPSB0IAogICAgZGVmIGdldF9yaWdodF9jaGlsZChzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5yaWdodF9jaGlsZCAKICAgIGRlZiBnZXRfbGVmdF9jaGlsZChzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5sZWZ0X2NoaWxkIAogICAgZGVmIHNldF9yb290X3ZhbChzZWxmLCBvYmopOgogICAgICAgIHNlbGYua2V5ID0gb2JqIAogICAgZGVmIGdldF9yb290X3ZhbChzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5rZXkKCnIgPSBCaW5hcnlUcmVlKCdhJykgCgpwcmludCgiLTEiLCByLmdldF9yb290X3ZhbCgpKSAKCnByaW50KCItMiIsci5nZXRfbGVmdF9jaGlsZCgpKSAKCnIuaW5zZXJ0X2xlZnQoJ2InKSAKCnByaW50KCItMyIsci5nZXRfbGVmdF9jaGlsZCgpKSAKCnByaW50KCItNCIsIHIuZ2V0X2xlZnRfY2hpbGQoKS5nZXRfcm9vdF92YWwoKSkKCnIuaW5zZXJ0X3JpZ2h0KCdjJykKCnByaW50KCItNSIsIHIuZ2V0X3JpZ2h0X2NoaWxkKCkpIAoKcHJpbnQoIi02Iiwgci5nZXRfcmlnaHRfY2hpbGQoKS5nZXRfcm9vdF92YWwoKSkgCgpyLmdldF9yaWdodF9jaGlsZCgpLnNldF9yb290X3ZhbCgnaGVsbG8nKSAKCnByaW50KCItNyIsci5nZXRfcmlnaHRfY2hpbGQoKS5nZXRfcm9vdF92YWwoKSk=