# 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:
    preLi = []
    midLi = []
    postLi = []
    def threeOrders(self , root ):
        # write code here
        if root:
            self.preOrders(root)
            self.midOrders(root)
            self.postOrders(root)
        return [self.preLi, self.midLi, self.postLi]
    def preOrders(self, root):
        self.preLi.append(root.val)
        if root.left:
            self.preOrders(root.left)
        if root.right:
            self.preOrders(root.right)
    def midOrders(self, root):
        if root.left:
            self.midOrders(root.left)
        self.midLi.append(root.val)
        if root.right:
            self.midOrders(root.right)
    def postOrders(self, root):
        if root.left:
            self.postOrders(root.left)
        if root.right:
            self.postOrders(root.right)
        self.postLi.append(root.val)