#include #define MAXN 100005 using namespace std; int n, e, p; vector g[MAXN]; int status[MAXN]; int pozicije[MAXN+10]; int visited[MAXN]; int identifier = 1; void flood(int pos){ visited[pos] = identifier; for(auto const &u: g[pos]){ if(visited[u] == identifier)continue; if(status[u] != identifier)continue; flood(u); } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> e >> p; for(int i=0; i < e; i++){ int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } for(int prop=0; prop < p; prop++){ int result = 0; int M; cin >> M; for(int i=0; i < M; i++){ int u; cin >> u; status[u] = identifier; pozicije[i] = u; } for(int i=0; i < M; i++){ if(visited[pozicije[i]] == identifier)continue; flood(pozicije[i]); result++; } cout << result << endl; identifier++; } return 0; }