#!/usr/bin/python3 class train: def __init__ (self,c): self.connected=False self.cool=c def remodel(self): self.cool=self.cool+1 def connect (self): self.connected=True def disconnect (self): self.connected=False N,Q=input().split() trains=[] for t in input().split(): trains.append(train(int(t))) for i in range(int(Q)): q,x=input().split() x=int(x) if q=="1": trains[x-1].connect() elif q=="2": trains[x-1].disconnect() elif q=="3": trains[x-1].remodel() elif q=="4": def cnct_max(N): if N+1==len(trains): return N if trains[N].connected: return cnct_max(N+1) else: return N def cnct_min(N): if N==0: return 0 if trains[N-1].connected: return cnct_min(N-1) else: return N s=0 for i in range(cnct_min(x-1),cnct_max(x-1)+1): s=s+trains[i].cool print(s)