#include using namespace std; #define PB push_back #define ZERO (1e-10) #define INF int(1e9+1) #define CL(A,I) (memset(A,I,sizeof(A))) #define DEB printf("DEB!\n"); #define D(X) cout<<" "<<#X": "<B&&A-ZERO pll; typedef vector vi; typedef pair ii; typedef vector vii; #define IN(n) int n;scanf("%d",&n); #define FOR(i, m, n) for (int i(m); i < n; i++) #define F(n) FOR(i,0,n) #define FF(n) FOR(j,0,n) #define FT(m, n) FOR(k, m, n) #define aa first #define bb second void ga(int N,int *A){F(N)scanf("%d",A+i);} #define MX 100001 #define SQ 333 vi g[MX]; bitset B,E[MX]; vii G; int N,M,Q,a,b,F[MX],A[MX],T,O; void dfs(int u){ if(F[u]++)return; for(auto&h:g[u])dfs(h); } int main(void){ scanf("%d%d%d",&N,&M,&Q); F(M)scanf("%d%d",&a,&b),E[--a][--b]=1,E[b][a]=1,G.PB(minmax(a,b)); F(Q){ scanf("%d",&T),ga(T,A),O=0; FF(T)B[--A[j]]=1,g[A[j]].clear(),F[A[j]]=0; for(auto&h:G)if(B[h.aa]&&B[h.bb])g[h.aa].PB(h.bb),g[h.bb].PB(h.aa); F(T)if(!F[A[i]])dfs(A[i]),++O; printf("%d\n",O); FF(T)B[A[j]]=0; } return 0; }