Школьные переписки

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Лосяш решил сделать обучение более доступным для Смешариков и открыл школу. Разумеется, как и в любой другой школе, в этой школе есть учителя (например, Пин и Совунья) и есть ученики (например, Крош и Ёжик). Ну и, конечно же, Лосяш --- директор. Всего суммарно в школе nn Смешариков (преподавательского состава и учеников). Для удобства, пронумеруем их натуральными числами от 11 до nn.

Для общения между учениками и учителями был создан мессенджер, который позволяет написать сообщение любому другому пользователю, но с некоторыми дополнительными правилами:

  1. Если ученик пишет учителю, то копия этого сообщения отправляется всему преподавательскому составу. То есть, директору и всем учителям. Иными словами, директор и каждый учитель получат это сообщение.
  2. Если учитель пишет сообщение ученику, то сообщение получат этот ученик и директор.
  3. Когда пользователю приходит сообщение, оно попадает в непрочитанные.
  4. Когда учитель читает непрочитанное сообщение, отправленное учеником, это сообщение исчезает из непрочитанных у всех учителей, но не у директора.
  5. Во всех остальных случаях, когда пользователь читает полученное непрочитанное сообщение, оно удаляется из непрочитанных только у него.

Обратите внимание, что когда директор читает непрочитанное сообщение, отправленное учеником, оно удаляется из непрочитанных только у него (но не у учителей).

Лосяш хочет оптимизировать учебный процесс, поэтому в некоторые моменты времени ему интересно, сколько непрочитанных сообщений есть у какого-то конкретного пользователя.

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

입력

В первой строке даны два целых числа nn и qq --- количество Смешариков в школе и количество событий, соответственно (1n,q21051 \le n, q \le 2 \cdot 10^5).

Во второй строке даны nn целых чисел t_it\_i --- роли Смешариков (t_i0,1,2t\_i \in \\{0, 1, 2\\}). Если t_i=0t\_i = 0, то ii-й Смешарик --- это директор Лосяш. Если t_i=1t\_i = 1 --- это учитель. Иначе --- ученик. Гарантируется, что ровно одно число среди t_it\_i равно 00.

В следующих qq строках дано описание событий. Событие номер ii может иметь один из трех типов (1iq1 \le i \le q):

  1. <<1,a_i,b_i1\\,a\_i\\,b\_i>> --- пользователь a_ia\_i отправил сообщение пользователю b_ib\_i (1a_i,b_in1 \le a\_i, b\_i \le n; a_ib_ia\_i \neq b\_i).
  2. <<2,a_i,x_i2\\,a\_i\\,x\_i>> --- пользователь a_ia\_i прочитал сообщение, отправленное во время события номер x_ix\_i (1a_in1 \le a\_i \le n, 1x_i<i1 \le x\_i < i).
  3. <<3,a_i3\\,a\_i>> --- требуется вывести количество непрочитанных сообщений у пользователя a_ia\_i (1a_in1 \le a\_i \le n).

Для всех событий второго типа гарантируется, что во время события номер x_ix\_i было отправлено сообщение, попавшее в непрочитанные к пользователю номер a_ia\_i. А также, что это сообщение еще находится у него в непрочитанных.

출력

Для каждого события третьего типа выведите на новой строке количество непрочитанных сообщений у пользователя a_ia\_i.