#include "bits/stdc++.h"
using namespace std;
#define f1(n) for(int i=0;i<n;i++)
#define f2(m,n,q) for(int i=m;i<n;i+=q)
#define int long long
#define pb push_back
constexpr int N=3e5+5,inf=1e18;
using pr=pair<int,int>;
using ar=array<int,3>;
int n,m,q;
int u[N],v[N],d[N];
bool vis[N];
void dfs(int node,int w){
vis[node]=1;
f1(m){
if(d[i]<w) continue;
int ch=-1;
if(u[i]==node)ch=v[i];
else if(v[i]==node)ch=u[i];
if(ch!=-1 &&!vis[ch]){
dfs(ch,w);
}
}
}
signed main(){
ios::sync_with_stdio(false);cin.tie(nullptr);
cin>>n>>m;
f1(m) {
cin>>u[i]>>v[i]>>d[i];
}
int q;cin>>q;
while (q--) {
int t,x,y;cin>>t>>x>>y;
if (t==1)d[x-1]=y;
else {
memset(vis,0,sizeof vis);
dfs(x,y);
int ans=0;
f2(1,n+1,1)ans+=(vis[i]);
cout<<ans<<'\n';
}
}
}