#include<iostream>
#include<cstring>//处理memset()
using namespace std;
bool visited[2200];//定义是否访问过该城市
int v[2000][2000];
void jk(int index,int n){
visited[index]=1;
for(int i=1;i<=n;i++){
if(!visited[i]&&v[i][index]==1){
jk(i,n);
}
}
}
int main(){
int n,m,k;//n是城市总数,m是铁路数量,k是要处理的城市
cin>>n>>m>>k;
//保证两条铁路是联通的
for(int i=0;i<m;i++){
int a,b;
cin>>a>>b;
v[a][b]=1;
v[b][a]=1;
}
//处理城市
for(int i=0;i<k;i++){
memset(visited,0,sizeof(visited));
int city;
cin>>city;
int sum=0;
visited[city]=1;
for(int j=1;j<=n;j++){
if(!visited[j]){
sum++;
jk(j,n);
}
}
cout<<sum-1<<endl;
}
return 0;
}