#include #include #include using namespace std; vector> g; vector r, s; void dfs(int i, int x){ s.push_back(i); while(!s.empty()){ int j = s.back(); s.pop_back(); if(r[j]) continue; r[j] = x; for(int k: g[j]) s.push_back(k); } } int main(){ int n, m, q, a, b; cin >> n >> m >> q; set> u; for(int i=0; i> a >> b; u.emplace(a-1, b-1); } vector> e; for(int i=0; i> a >> b; u.erase({a-1,b-1}); e.emplace_back(a-1, b-1); } g.resize(n); for(auto p: u){ int i = p.first, j = p.second; g[i].push_back(j); g[j].push_back(i); } r.resize(n); dfs(0, -1); while(q--){ int i = e[q].first, j = e[q].second; g[i].push_back(j); g[j].push_back(i); if(!(r[i]==0&&r[j]==0)){ dfs(i, q+1); dfs(j, q+1); } } for(int i=1; i