Лосяш вирішив зробити навчання більш доступним для Смішариків і відкрив школу. Як і в будь-якій школі, тут є вчителі (наприклад, Пін і Совунья) та учні (наприклад, Крош і Їжачок). І, звісно, Лосяш - директор. Загалом у школі Смішариків (включаючи викладачів та учнів). Для зручності, пронумеруємо їх натуральними числами від до .
Для спілкування між учнями та вчителями був створений месенджер, який дозволяє надсилати повідомлення будь-якому іншому користувачу, але з певними правилами:
Якщо учень пише вчителю, копія цього повідомлення відправляється всьому викладацькому складу, тобто директору і всім вчителям. Іншими словами, директор і кожен вчитель отримають це повідомлення.
Якщо вчитель пише учню, повідомлення отримують цей учень і директор.
Коли користувач отримує повідомлення, воно потрапляє в непрочитані.
Коли вчитель читає непрочитане повідомлення, надіслане учнем, воно зникає з непрочитаних у всіх вчителів, але не у директора.
В усіх інших випадках, коли користувач читає отримане непрочитане повідомлення, воно видаляється з непрочитаних лише у нього.
Зверніть увагу, що коли директор читає непрочитане повідомлення, надіслане учнем, воно видаляється з непрочитаних лише у нього (але не у вчителів).
Лосяш хоче оптимізувати навчальний процес, тому в певні моменти його цікавить, скільки непрочитаних повідомлень є у конкретного користувача.
Вам надано послідовність з подій у тому порядку, в якому вони відбувалися. Для кожної події, що відповідає питанню Лосяша, виведіть відповідь.
У першому рядку дано два цілих числа і (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