#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.h"
#else
#define dbg(...) 47
#endif
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<vector<int>> g(n);
vector<vector<set<int>>> c(n, vector<set<int>>(n));
vector<array<int, 3>> e;
for (int i = 0; i < m; i++) {
int u, v, w;
cin >> u >> v >> w;
u--; v--;
c[u][v].insert(w);
c[v][u].insert(w);
g[u].push_back(v);
g[v].push_back(u);
e.push_back({u, v, w});
}
int q;
cin >> q;
while (q--) {
int t;
cin >> t;
if (t == 1) {
int b, r;
cin >> b >> r;
b--;
auto &[u, v, w] = e[b];
c[u][v].erase(w);
c[v][u].erase(w);
w = r;
c[u][v].insert(r);
c[v][u].insert(r);
} else {
int s, w;
cin >> s >> w;
s--;
queue<int> q;
vector<bool> vis(n);
int res = 1;
vis[s] = true;
q.push(s);
while (!q.empty()) {
int u = q.front();
q.pop();
for (int v : g[u]) {
if (*c[u][v].rbegin() >= w && !vis[v]) {
vis[v] = true;
res++;
q.push(v);
}
}
}
cout << res << '\n';
}
}
return 0;
}