func_code_string: #include <bits/stdc++.h>   using namespace std;   ofstream file( debug.txt );   template <typename Int>   ostream &operator<<(ostream &s, const vector<Int> &v) {     s <<  [ ;     for (auto i = v.begin(); i != v.end(); i++) {       s << *i;       if (i != prev(v.end())) s <<  ,  ;     }     s <<  ] ;     return s;   }   template <typename Int, typename INT>   ostream &operator<<(ostream &s, const map<Int, INT> &mp) {     s <<  [ ;     for (auto &i : mp) {       s <<  [  << i.first <<  ,   << i.second <<  ] ;       if (i != *mp.rbegin()) s <<  ,  ;     }     s <<  ] ;     return s;   }   template <typename Int>   ostream &operator<<(ostream &s, const set<Int> &st) {     s <<  [ ;     for (auto &i : st) {       s << i;       if (i != *st.rbegin()) s <<  ,  ;     }     s <<  ] ;     s <<   n ;     return s;   }   template <typename Int, typename INt>   ostream &operator<<(ostream &s, const pair<Int, INt> &x) {     s <<  [  << x.first <<  ,   << x.second <<  ] ;     return s;   }   template <typename T>   void print(T *x, int n) {     for (int i = 0; i < n; i++) {       file << x[i] <<    n [i == n - 1];     }   }   template <typename T>   ostream &operator<<(ostream &s, const complex<T> &a) {     s <<  (  << a.real() <<  ,   << a.imag() <<  ) ;     return s;   }   template <typename T>   T debug(const T &x, const string &s =   ) {     file << s <<   =   << x <<   n  << flush;     return x;   }   const int dr[]{-1, -1, 0, 1, 1, 1, 0, -1};   const int dc[]{0, 1, 1, 1, 0, -1, -1, -1};   const int N = 2e5 + 10;   int n, m, q, ans;   bool dead[N];   set<int> edg[N];   void add(int u, int v) {     if (!dead[u]) {       dead[u] = 1;       ans--;     }     edg[u].insert(v);   }   void rem(int u, int v) {     if (dead[u] && edg[u].size() == 1) {       dead[u] = 0;       ans++;     }     edg[u].erase(v);   }   int main() {     cin.tie(0);     ios_base::sync_with_stdio(0);     cin >> n >> m;     ans = n;     for (int i = 0, u, v; i < m; i++) {       cin >> u >> v;       if (u > v) swap(u, v);       add(u, v);     }     cin >> q;     while (q--) {       int t;       cin >> t;       if (t < 3) {         int u, v;         cin >> u >> v;         if (u > v) swap(u, v);         if (t == 1)           add(u, v);         else           rem(u, v);       } else         cout << ans <<   n ;     }   }   