만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

결혼식

면접 대비

시간 제한2초메모리 제한1024 MB

요약
도착, 퇴장, XOR 춤이 섞인 사건이 일어날 때마다 현재 참석한 요정들의 사교성 총합을 구합니다.
난이도

보통10점 중 5점

유형
비트 연산, 구현
정답자
아직 제출이 없습니다

문제

오늘 필립과 오로라의 결혼식이 열리고, 늪지대의 모든 요정이 초대되었습니다. 오로라는 조금 지루해져서 요정들이 어떻게 교류하는지 지켜보기로 했습니다.

처음에 결혼식장에는 nn명의 요정이 있으며, 오로라는 이들에게 11부터 nn까지 번호를 매겼습니다. ii번 요정은 음이 아닌 정수인 사교성 aia_i를 가집니다.

관찰하는 동안 오로라는 qq개의 흥미로운 순간을 보았습니다. jj번째 순간에는 다음 세 가지 중 하나의 사건이 일어났습니다.

  1. 사교성이 vjv_j인 요정이 도착합니다. 오로라는 그 요정에게 지금까지 한 번도 쓰이지 않은 번호 중 가장 작은 번호를 줍니다. 처음 도착한 요정은 n+1n + 1번, 다음 요정은 n+2n + 2번을 받습니다.
  2. pjp_j번 요정이 결혼식장을 떠납니다.
  3. 음이 아닌 정수인 표현력 eje_j의 춤이 선포됩니다. 춤이 끝나면 모든 요정의 사교성이 바뀝니다. 춤 전에 사교성이 bb였던 요정은 b⊕ejb \oplus e_j가 되며, 여기서 ⊕\oplus는 두 수의 비트별 XOR입니다.

오로라는 요정들이 얼마나 활발하게 교류하는지 알고 싶어 합니다. 각 사건 후에 결혼식장에 있는 모든 요정의 사교성 합을 구해 주세요.

입력

첫 줄에 처음 결혼식장에 있는 요정의 수 nn과 순간의 수 qq가 주어집니다 (1≤n,q≤100 0001 \le n, q \le 100\,000).

둘째 줄에 처음 있던 요정들의 사교성 aia_i가 nn개 주어집니다 (1≤ai≤1091 \le a_i \le 10^9).

이후 qq개의 줄에는 각각 사건 유형 tjt_j (tj∈{1,2,3}t_j \in \{1, 2, 3\})가 주어집니다.

  • tj=1t_j = 1이면, 도착하는 요정의 사교성 vjv_j가 이어서 주어집니다 (1≤vj≤1091 \le v_j \le 10^9). 도착한 요정은 지금까지 쓰이지 않은 번호 중 가장 작은 번호를 받습니다.
  • tj=2t_j = 2이면, 떠나는 요정의 번호 pjp_j가 이어서 주어집니다. 그 시점에 해당 요정이 결혼식장에 있음이 보장됩니다.
  • tj=3t_j = 3이면, 춤의 표현력 eje_j가 이어서 주어집니다 (1≤ej≤1091 \le e_j \le 10^9).

출력

각 사건 후에 결혼식장에 있는 모든 요정의 사교성 합을 출력합니다.

예제1

  1. 예제 1

    입력
    6 5
    2 3 9 5 6 6
    1 3
    3 5
    2 2
    3 2
    2 7
    
    예상 출력
    34
    37
    31
    27
    23