human
Solve the following python programming problem given the following code:
# 2017 MMCPC rehearsal problem-D

class BinTreeNode():
    def __init__(self, val):
        self.val = val
        self.parent = None
        self.left = None
        self.right = None

    def add_left(self, left):
        left.parent = self
        self.left = left

    def add_right(self, right):
        right.parent = self
        self.right = right

    def add_child(self, child):
        if child.val < self.val:
            if self.left == None:
                self.add_left(child)
            else:
                self.left.add_child(child)
        else:
            if self.right == None:
                self.add_right(child)
            else:
                self.right.add_child(child)
                
                
    def print_node(self):
        if self.parent: print('Parent:', self.parent.val, end=' ')
        if self.left: print('Left:', self.left.val, end = ' ')
        if self.right: print('Right', self.right.val, end = ' ')
        print('Node val:', self.val)
        if self.left: self.left.print_node()
        if self.right: self.right.print_node()

root_node = BinTreeNode(11)

for val in (6, 19, 4, 8, 17, 43, 5, 10, 31,49):
    node = BinTreeNode(val)
    root_node.add_child(node)
    
root_node.print_node()
Given the above code, generate some markdown instructions for it.
assistant
#Here is the Python code you requested.

Class usage sample (Binary Tree)