#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); int n, m; cin >> n >> m; map> fl; rep(_, m) { int u, v; cin >> u >> v; fl[v].insert(u); } set priv; int q; cin >> q; while (q--) { int t, a, b; cin >> t >> a >> b; if (t == 1) { if (fl[b].contains(a)) fl[b].erase(a); else fl[b].insert(a); } if (t == 2) { if (priv.contains(a)) priv.erase(a); else priv.insert(a); } int ans = n - 1; for (int x : priv) if (x != a && !fl[x].contains(a)) --ans; cout << ans << '\n'; } return 0; }