Двійкове дерево пошуку 2#4147

Двійкове дерево пошуку 2

2 секунди
256 мегабайтів
Середня

Реалізуйте збалансоване двійкове дерево пошуку.

Вхідні дані

Вхідний файл містить опис операцій з деревом, їх кількість не перевищує . Формат операцій дивіться у попередній задачі. У кожному рядку знаходиться одна з таких операцій:

  • insert x - додати у дерево ключ . Якщо ключ уже в дереві, нічого робити не потрібно.

  • delete x - видалити з дерева ключ . Якщо ключа у дереві немає, нічого робити не потрібно.

  • exists x - якщо ключ є у дереві, виведіть "true", інакше "false".

  • next x - виведіть мінімальний елемент у дереві, строго більший за , або "none", якщо такого немає.

  • prev x - виведіть максимальний елемент у дереві, строго менший за , або "none", якщо такого немає.

  • kth k - виведіть -ий за величиною елемент (нумерація з одиниці). Якщо такого не існує, виведіть "none".

Усі числа у вхідному файлі цілі і за модулем не перевищують 10^9.

Вихідні дані

Виведіть послідовно результати виконання усіх операцій exists, next, prev. Дотримуйтеся формату вихідного файлу, наведеного у прикладі.

Приклади

Приклад 1

Loading
Loading