#include using namespace std; #define FOR(a, b, c) for(int a = (b); a < (c); a++) #define SZ(a) (int)((a).size()) #define SIZE(a) (int)((a).size()) #define ALL(a) (a).begin(), (a).end() using ll = long long; #define LL long long #define PB push_back const int N = 1e5 + 7; vector graf[N]; bitset act, vis; void dfs(int u) { vis[u] = 1; for(auto& v : graf[u]) { if(not vis[v] and act[v]) { dfs(v); } } } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, p; cin >> n >> m >> p; while(m--) { int a, b; cin >> a >> b; a--, b--; graf[a].PB(b); graf[b].PB(a); } while(p--) { int k; cin >> k; vector x(k); for(auto& i : x) { cin >> i; i--; act[i] = 1; } int res = 0; for(auto& i : x) { if(not vis[i]) { dfs(i); res++; } } for(auto& i : x) { act[i] = 0; vis[i] = 0; } cout << res << "\n"; } }