Шкільні переписки#11064

Шкільні переписки

1 секунда
128 мегабайтів
Дуже легка

Лосяш вирішив зробити навчання більш доступним для Смішариків і відкрив школу. Як і в будь-якій школі, тут є вчителі (наприклад, Пін і Совунья) та учні (наприклад, Крош і Їжачок). І, звісно, Лосяш - директор. Загалом у школі Смішариків (включаючи викладачів та учнів). Для зручності, пронумеруємо їх натуральними числами від до .

Для спілкування між учнями та вчителями був створений месенджер, який дозволяє надсилати повідомлення будь-якому іншому користувачу, але з певними правилами:

Зверніть увагу, що коли директор читає непрочитане повідомлення, надіслане учнем, воно видаляється з непрочитаних лише у нього (але не у вчителів).

Лосяш хоче оптимізувати навчальний процес, тому в певні моменти його цікавить, скільки непрочитаних повідомлень є у конкретного користувача.

Вам надано послідовність з подій у тому порядку, в якому вони відбувалися. Для кожної події, що відповідає питанню Лосяша, виведіть відповідь.

Вхідні дані

У першому рядку дано два цілих числа і (1 \le n, q \le 2 \cdot 10^5) - кількість Смішариків у школі і кількість подій, відповідно.

У другому рядку дано цілих чисел t_i (t_i \in \{0, 1, 2\}) - ролі Смішариків. Якщо t_i = 0, то -й Смішарик - це директор Лосяш. Якщо t_i = 1 - це вчитель. Інакше - учень. Гарантується, що рівно одне число серед t_i дорівнює .

У наступних (1 \le i \le q) рядках дано опис подій. Подія номер може мати один з трьох типів:

  • "1 a_i b_i" - користувач a_i надіслав повідомлення користувачу b_i (1 \le a_i, b_i \le n, a_i \ne b_i).

  • "2 a_i x_i" - користувач a_i прочитав повідомлення, надіслане під час події номер x_i (1 \le a_i \le n, 1 \le x_i < i).

  • "3 a_i" - потрібно вивести кількість непрочитаних повідомлень у користувача a_i (1 \le a_i \le n).

Для всіх подій другого типу гарантується, що під час події номер x_i було надіслано повідомлення, яке потрапило в непрочитані до користувача номер a_i. А також, що це повідомлення ще знаходиться у нього в непрочитаних.

Вихідні дані

Для кожної події третього типу виведіть на новому рядку кількість непрочитаних повідомлень у користувача a_i.

Приклади

Приклад 1

Loading
Loading