#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0;
bool f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-')f=0;
c=getchar();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+(c^48);
c=getchar();
}return f?x:-x;
}
int k,n,m,sum;
int a[101];
vector<int> s[1001];
int vis[1001];
void dfs(int r){
for(int i=0;i<s[r].size();i++){
int d=s[r][i];
vis[d]++;
dfs(d);
}
}
int main(){
k=read(),n=read(),m=read();
for(int i=1;i<=k;i++)a[i]=read(),vis[a[i]]++;
while(m--){
int x=read(),y=read();
s[x].push_back(y);
}
for(int i=1;i<=k;i++)dfs(a[i]);
for(int i=1;i<=n;i++){
if(vis[i]==k)sum++;
}printf("%d",sum);
return 0;
}