#include <iostream>
#include<vector>
#include<algorithm>
#include<cstring>
//1013,bfs
using namespace std;
const int N = 1005;
bool vis[N]={0};
vector<int> G[N];
int n, m, k;
int delPoint ;
void dfs(int v){
if(v==delPoint) return;
vis[v] =1;
for(int i = 0;i < G[v].size();i++){
if(vis[G[v][i]] == 0){
dfs(G[v][i]);
}
}
}
int main()
{
freopen("1013.txt","r",stdin);
cin>>n>>m>>k;
int a, b;
while(m--){
cin>>a>>b;
G[a].push_back(b);
G[b].push_back(a);
}
while(k--){
int block = 0;//必須放在循環裏面
cin>>delPoint;
memset(vis,0,sizeof(vis));//不能漏了
for(int i = 1; i <= n; i++){//遍歷圖裏的所有點
if(i!=delPoint && vis[i]==0){
dfs(i);
block++;
}
}
printf("%d\n",block-1);
}
//cout << "Hello world!" << endl;
return 0;
}