def list_longest_path(node):
    """
    List the value in a longest path of node.

    @param BinaryTree|None node: tree to list longest path of
    @rtype: list[object]

    >>> list_longest_path(None)
    []
    >>> list_longest_path(BinaryTree(5))
    [5]
    >>> b1 = BinaryTree(7)
    >>> b2 = BinaryTree(3, BinaryTree(2), None)
    >>> b3 = BinaryTree(5, b2, b1)
    >>> list_longest_path(b3)
    [5, 3, 2]
    """
    # node is None
    if node is None:
        return []

    # base case, no left and right children
    elif node.left is None and node.right is None:
        return [node.value]

    # have children
    else:
        longest = []
        path = list_longest_path(node.left)
        if len(path) > len(longest):
            longest = path

        path2 = list_longest_path(node.right)
        if len(path2) > len(longest):
            longest = path2
        return [node.value] + longest