def BinaryTree(root):
    return [root,[],[]]

def insertLeft(tree, val):
    t = tree.pop(1)
    if t == []:
        tree.insert(1,[val,[],[]])
    else:
        tree.insert(1,[val,t,[]])
        
    return tree

def insertRight(tree, val):
    
    t = tree.pop(2)
    if t == []:
        tree.insert(2,[val,[],[]])
    else:
        tree.insert(2,[val,[],t])
    return tree

def getRootValue(tree):
    return tree[0]

def getLeftChild(tree):
    return tree[1]

def getRightChild(tree):
    return tree[2]
