#include #include #include #include using namespace std; void solve() { int x,y,m; cin >> x >> y >> m; vector> uv(m); for(int i=0;i> uv[i].first >> uv[i].second; --uv[i].first; --uv[i].second; } sort(uv.begin(), uv.end()); uv.erase(unique(uv.begin(), uv.end()), uv.end()); if(x<=y){ cout << 0 << " " << y << endl; for(int i=0;i u(m_); vector v(m_); vector b_deg(x); vector r_deg(y); for(int i=0;i0){ ++odd_stars; } } if((odd_stars+y)*2>=x+y){ cout << odd_stars << " " << y << endl; for(int i=0;i0){ cout << i+1 << " "; } } cout << endl; for(int i=0;i adj_even_stars(y); for(int i=0;iadj_even_stars[removed_star]*2-r_deg[removed_star]){ removed_star=i; } } for(int i=0;i0){ --odd_stars; } else { ++odd_stars; } --b_deg[u[i]]; } } cout << odd_stars << " " << y-1 << endl; for(int i=0;i0){ cout << i+1 << " "; } } cout << endl; for(int i=0;i> t; while(t--){ solve(); if(t>0){ cout << endl; } } return 0; }