#include<iostream>
#include<math.h>
#include<set>
using namespace std;
set<int> s;
int n, m, d[100010][25];
int main(){
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
int a, b, c, i;
cin>>n>>m;
while(m--){
cin>>a;
if(a==1){
cin>>b>>c;
if(d[b][c]==0){
d[b][c]=1;
d[b][0]+=pow(2.0, c);
}
}
if(a==2){
cin>>b>>c;
if(d[b][c]){
d[b][c]=0;
d[b][0]-=pow(2.0, c);
}
}
if(a==3){
cin>>b;
if(d[b][20]) d[b][0]-=pow(2.0, 20);
d[b][20]=0;
for(i=19; i>=1; i--)
if(d[b][i]){
d[b][i]=0;
d[b][i+1]=1;
}
d[b][0]*=2;
}
else{
cin>>b;
if(d[b][1]) d[b][0]-=2;
d[b][1]=0;
for(i=20; i>=2; i--)
if(d[b][i]){
d[b][i]=0;
d[b][i-1]=1;
}
d[b][0]/=2;
}
}
for(i=1; i<=n; i++) cout<<d[i][0]<<" ";
cout<<s.size();
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPG1hdGguaD4KI2luY2x1ZGU8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzZXQ8aW50PiBzOwppbnQgbiwgbSwgZFsxMDAwMTBdWzI1XTsKCmludCBtYWluKCl7CgljaW4udGllKE5VTEwpOwoJY291dC50aWUoTlVMTCk7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWludCBhLCBiLCBjLCBpOwoJY2luPj5uPj5tOwoJd2hpbGUobS0tKXsKCQljaW4+PmE7CgkJaWYoYT09MSl7CgkJCWNpbj4+Yj4+YzsKCQkJaWYoZFtiXVtjXT09MCl7CgkJCQlkW2JdW2NdPTE7CgkJCQlkW2JdWzBdKz1wb3coMi4wLCBjKTsgCgkJCX0KCQl9CgkJaWYoYT09Mil7CgkJCWNpbj4+Yj4+YzsKCQkJaWYoZFtiXVtjXSl7CgkJCQlkW2JdW2NdPTA7CgkJCQlkW2JdWzBdLT1wb3coMi4wLCBjKTsKCQkJfQoJCX0KCQlpZihhPT0zKXsKCQkJY2luPj5iOwoJCQlpZihkW2JdWzIwXSkgZFtiXVswXS09cG93KDIuMCwgMjApOwoJCQlkW2JdWzIwXT0wOwoJCQlmb3IoaT0xOTsgaT49MTsgaS0tKQoJCQkJaWYoZFtiXVtpXSl7CgkJCQkJZFtiXVtpXT0wOwoJCQkJCWRbYl1baSsxXT0xOwoJCQkJfQoJCQlkW2JdWzBdKj0yOwoJCX0KCQllbHNlewoJCQljaW4+PmI7CgkJCWlmKGRbYl1bMV0pIGRbYl1bMF0tPTI7CgkJCWRbYl1bMV09MDsKCQkJZm9yKGk9MjA7IGk+PTI7IGktLSkKCQkJCWlmKGRbYl1baV0pewoJCQkJCWRbYl1baV09MDsKCQkJCQlkW2JdW2ktMV09MTsKCQkJCX0KCQkJZFtiXVswXS89MjsKCQl9Cgl9Cglmb3IoaT0xOyBpPD1uOyBpKyspIGNvdXQ8PGRbaV1bMF08PCIgIjsKCWNvdXQ8PHMuc2l6ZSgpOwp9