#include<bits/stdc++.h>
using namespace std;
int mp[10005][10005],l[1000005],sum[1000005];
int k,n,m;
bool d[10000005];
void dfs(int u){
++sum[u];
d[u]=false;
for(int i=1;i<=n;i++){
if(mp[u][i]==1 and !d[u]){
dfs(i);
}
}
}
int main(){
cin>>k>>n>>m;
if(k==1){
int p;
cin>>p;
cout<<p<<endl;
}
for(int i=1;i<=k;i++){
cin>>l[i];
}
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
mp[u][v]=1;
}
for(int i=1;i<=k;i++){
memset(d,true,sizeof(d));
d[l[i]]=false;
dfs(l[i]);
}
int ans=0;
for(int i=1;i<=n;i++){
if(sum[i]==k) ans++;
}
cout<<ans;
}