def __insert(node, value, priority=None): if node is None: return TreapNode(value, priority) if node.value < value: node.right = MutableTreap.__insert(node.right, value, priority) if node.right.priority > node.priority: node = Treap.__rotateLeft(node) else: node.left = MutableTreap.__insert(node.left, value, priority) if node.left.priority > node.priority: node = Treap.__rotateRight(node) return node