#include using namespace std; #define len(x) (int((x).size())) typedef pair pii; template ostream& operator<<(ostream &out, vector cont) { for(auto it=cont.begin(); it != cont.end(); ++it) out << (it==cont.begin()?"":" ") << *it; return out; } int bfs(vector &start, vector &ok, vector> &E) { int res=0; for(int st: start) { //cerr << "bfs st:" << st << endl; if(!ok[st]) continue; //cerr << "bfs st ok" << st << endl; res++; stack stak; stak.push(st); while(!stak.empty()) { int curr = stak.top(); stak.pop(); ok[curr] = false; for(int nex: E[curr]) { if(!ok[nex]) continue; ok[nex] = false; stak.push(nex); } } } return res; } int main() { int N, M, Qn; scanf("%d%d%d", &N, &M, &Qn); int sq=int(sqrt(N)); vector> E(N); for(int i=0; i> small; vector> Q(Qn); vector> small_E(N); for(int qi=0; qi sq) continue; for(int i=0; i{Q[qi][i], Q[qi][j], qn, i*qn+j}); small_E[qi].resize(qn*(qn-1)/2, false); } sort(small.begin(), small.end()); // for(int i=0; i inform; for(int qi=0; qi ok(N, false); vector> Es(N); vector res(Qn); for(int qi=0; qi