#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() template bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template bool chmax(T &a,T b){if(a> n >> m; unordered_map> mp; rep(i,0,m){ ll u,v; cin >> u >> v; mp[u].insert(v); } set lock; int q; cin >> q; while(q--){ int t; ll a,b; cin >> t >> a >> b; if(t == 1){ if(mp[a].count(b)) mp[a].erase(b); else mp[a].insert(b); } else{ if(lock.count(a)) lock.erase(a); else lock.insert(a); } ll ans=n-1; for(auto v:lock){ if(v != a && !mp[a].count(v)) ans--; } cout << ans << '\n'; } }