#include #define endl '\n' using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int t,k; cin>>t>>k; vector scor(t+1,0); map> maya; vector fink(t+1,0); int jdid=0; while(k--){ int a,b,c; cin>>a>>b>>c; if(a==1){ if (fink[b]==0 && fink[c]==0){ int m=jdid+1; fink[b]=m; fink[c]=m; maya[m]={b,c}; } else { int moul=((maya[fink[b]].size()>=maya[fink[c]].size())? b:c); int mach=((moul==b)? c:b); if (fink[mach]==0){ maya[fink[moul]].insert(mach); fink[mach]=fink[moul]; } else{ for(auto e:maya[fink[mach]]){ fink[e]=fink[moul]; maya[moul].insert(e); } } } } else if(a==2){ if (fink[b]==0){ fink[b]=++jdid; maya[fink[b]].insert(b); } for(auto e:maya[fink[b]]) scor[e]+=c; } else if(a==3){ cout<