func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( Ofast,unroll-loops )   #pragma GCC target(         sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native,avx2 )   using namespace std;   mt19937 mrnd(time(0));   const int INF = 1000000007;   const long long INF_LL = 1152921504606846977;   void solve() {     int n, m;     cin >> n >> m;     vector<set<int>> g(n);     for (int i = 0; i < m; ++i) {       int u, v;       cin >> u >> v;       --u, --v;       if (u > v) swap(u, v);       g[u].insert(v);     }     set<int> dead;     for (int i = 0; i < n; ++i) {       if (!g[i].empty()) {         dead.insert(i);       }     }     int q;     cin >> q;     auto upd = [&](int node) {       if (g[node].empty()) {         dead.erase(node);       } else {         dead.insert(node);       }     };     for (int i = 0; i < q; ++i) {       int z, u, v;       cin >> z;       if (z == 1) {         cin >> u >> v;         --u, --v;         if (u > v) swap(u, v);         g[u].insert(v);         upd(u), upd(v);       } else if (z == 2) {         cin >> u >> v;         --u, --v;         if (u > v) swap(u, v);         g[u].erase(v);         upd(u), upd(v);       } else {         cout << n - int(dead.size()) <<   n ;       }     }   }   signed main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout << fixed << setprecision(20);     int tests = 1;     while (tests--) {       solve();     }   }   