class TreeNode:
    __slots__ = ("left", "right", "val")

    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right


def same_binary_tree(
    p: TreeNode | None, 
    q: TreeNode | None
) -> bool:
    # your move
