#include using namespace std; using ll=long long; using Graph = vector>; #define yes (cout<<"Yes"< #define vl vector #define vs vector #define vb vector #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define Sort(v) sort(v.begin(),v.end()); #define rev(v) reverse(v.begin(),v.end()); #define uniq(v) v.erase( unique(v.begin(), v.end()), v.end() ); ll INF=9223372036800000000; int inf=200000000; ll mod=998244353; ll mod2=1000000007; int dx[8]={-1,-1,-1,0,0,1,1,1}; int dy[8]={-1,0,1,-1,1,-1,0,1}; int dtt[4]={1,3,4,6};//dx,dyを4方向にする ll two_billion=2000000000000; int ohm=100000000; string alpha="abcdefghijklmnopqrstuvwxyz"; int main(){ int n,q;cin>>n>>q; int m=0; set> paken; set dnf; while(q--){ int i;cin>>i; if(i==1){ string s;cin>>s; int r;cin>>r; m++; paken.insert({r,s}); dnf.insert(s); } if(i==2){ int x;cin>>x; n-=x; n=max(n,0); } if(i==3){ string s;cin>>s; int x;cin>>x; n+=x; dnf.erase(s); //cout<n){ int ki=m-n; for(auto j:paken){ if(dnf.count(j.second)){ cout<