# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#
# 
# @param root TreeNode类 the root of binary tree
# @return int整型二维数组
#
class Solution:
    def threeOrders(self , root ):
        # write code here
        res, tmp = [], []
        def preOrder(root): # 前序
            if not root: return []
            tmp.append(root.val) # 根
            preOrder(root.left) # 左
            preOrder(root.right) # 右
        def inOrder(root): # 中序
            if not root: return []
            inOrder(root.left) # 左
            tmp.append(root.val) # 根
            inOrder(root.right) # 右
        def postOrder(root): # 后序
            if not root: return []
            postOrder(root.left) # 左
            postOrder(root.right) # 右
            tmp.append(root.val) # 根
        preOrder(root)
        res.append(tmp)
        tmp = []
        inOrder(root)
        res.append(tmp)
        tmp = []
        postOrder(root)
        res.append(tmp)
        return res