# your code goes here
class TreeNode():
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class Solution():
def insert(self, root, val):
if root is None:
root = TreeNode(val)
return root
else:
if val <= root.val:
root.left = self.insert(root.left, val)
else:
root.right = self.insert(root.right, val)
return root
def display(self, root):
if root is None:
return
self.display(root.left)
print(root.val)
self.display(root.right)
root = None
s = Solution()
root = s.insert(root, 5)
root = s.insert(root, 3)
root = s.insert(root, 2)
root = s.insert(root, 8)
s.display(root)
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmNsYXNzIFRyZWVOb2RlKCk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsKToKICAgICAgICBzZWxmLnZhbCA9IHZhbAogICAgICAgIHNlbGYubGVmdCA9IE5vbmUKICAgICAgICBzZWxmLnJpZ2h0ID0gTm9uZQoKY2xhc3MgU29sdXRpb24oKToKCiAgICBkZWYgaW5zZXJ0KHNlbGYsIHJvb3QsIHZhbCk6CgogICAgICAgIGlmIHJvb3QgaXMgTm9uZToKICAgICAgICAgICAgcm9vdCA9IFRyZWVOb2RlKHZhbCkKICAgICAgICAgICAgcmV0dXJuIHJvb3QKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiB2YWwgPD0gcm9vdC52YWw6CiAgICAgICAgICAgICAgICByb290LmxlZnQgPSBzZWxmLmluc2VydChyb290LmxlZnQsIHZhbCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHJvb3QucmlnaHQgPSBzZWxmLmluc2VydChyb290LnJpZ2h0LCB2YWwpCiAgICAgICAgICAgIHJldHVybiByb290CiAgICBkZWYgZGlzcGxheShzZWxmLCByb290KToKICAgICAgICBpZiByb290IGlzIE5vbmU6CiAgICAgICAgICAgIHJldHVybgogICAgICAgIHNlbGYuZGlzcGxheShyb290LmxlZnQpCiAgICAgICAgcHJpbnQocm9vdC52YWwpCiAgICAgICAgc2VsZi5kaXNwbGF5KHJvb3QucmlnaHQpCgoKcm9vdCA9IE5vbmUKcyA9IFNvbHV0aW9uKCkKcm9vdCA9IHMuaW5zZXJ0KHJvb3QsIDUpCnJvb3QgPSBzLmluc2VydChyb290LCAzKQpyb290ID0gcy5pbnNlcnQocm9vdCwgMikKcm9vdCA9IHMuaW5zZXJ0KHJvb3QsIDgpCnMuZGlzcGxheShyb290KQo=