class Node:
    def __init__(self, key):
            self.key = key
                    self.left = None
                            self.right = None

                            def find_level_and_parent(root, target, level=0, parent=None):
                                if root is None:
                                        return None
                                            if root.key == target:
                                                    return (level, parent)
                                                        
                                                            left = find_level_and_parent(root.left, target, level + 1, root)
                                                                if left:
                                                                        return left
                                                                            
                                                                                return find_level_and_parent(root.right, target, level + 1, root)

                                                                                def find_cousins(root, target):
                                                                                    if root is None or root.key == target:
                                                                                            return []

                                                                                                target_info = find_level_and_parent(root, target)
                                                                                                    if not target_info:
                                                                                                            return []

                                                                                                                target_level, target_parent = target_info

                                                                                                                    cousins = []
                                                                                                                        queue = [(root, 0, None)]  # (node, level, parent)

                                                                                                                            while queue:
                                                                                                                                    node, level, parent = queue.pop(0)

                                                                                                                                            if level == target_level and parent != target_parent:
                                                                                                                                                        cousins.append(node.key)

                                                                                                                                                                if node.left:
                                                                                                                                                                            queue.append((node.left, level + 1, node))
                                                                                                                                                                                    if node.right:
                                                                                                                                                                                                queue.append((node.right, level + 1, node))

                                                                                                                                                                                                    return cousins