#!/usr/bin/python3 class train: def __init__ (self,c): """ Class initialiser """ 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): for m in range(_N,len(trains)): if trains[m].connected: continue else: break return m def cnct_min(_N): for m in range(0,_N+1)[::-1]: if trains[m-1].connected: continue else: break return m s=0 for i in range(cnct_min(x-1),cnct_max(x-1)+1): s=s+trains[i].cool print(s)