День народження#3205

День народження

4 секунди
122,174 мегабайта
Складна

Стиві подарував Стену на день народження магічний масив. Цей масив уміє робити дві речі: змінювати будь-який елемент і відповідати на запити вигляду: «скільки різних чисел є на відрізку від до ?»

Стен був дуже вражений подарунком, але й насторожений, адже Стіві має репутацію жартівника. На перший погляд усе здавалося добре: Стен виконав кілька простих операцій, і масив дав правильні відповіді.

Щоб повністю перевірити цей магічний масив і розвіяти всі сумніви, Стен просить вашої допомоги: він буде виконувати послідовність операцій, а ви маєте надати правильні відповіді, щоб Стен міг переконатися, чи дійсно масив магічний.

Вхідні дані

У першому рядку містяться два цілі числа і (1 \leq n, m \leq 50000). У другому рядку — чисел — початковий вміст масиву. Кожен з наступних рядків описує операцію:

  • Операція оновлення: , де (0 \leq x < n) — індекс елемента в масиві, який потрібно змінити, а — нове значення.

  • Операція-запит: , де (0 \leq x \leq y < n) — межі відрізка, на якому потрібно порахувати кількість різних чисел.

Усі числа в масиві — невід'ємні цілі, що не перевищують 10^9.

Вихідні дані

Для кожного запиту типу "" надрукуйте відповідь у окремому рядку так, як її обчислив магічний масив Стена.

Приклади

Приклад 1

Loading
Loading