#include <iostream>
#include <vector>
using namespace std;
int a[1001], tot[1001], vis[1001];
vector <int> graph[1001];
int u, v, k, n, m, r;
void search(int num){
vis[num] = 1;
++ tot[num];
for(int i = 0; i < graph[num].size(); ++ i){
if(not vis[graph[num][i]]){
search(graph[num][i]);
}
}
}
int main(){
cin >> k >> n >> m;
for(int i = 1; i < n + 1; ++ i){
cin >> a[i];
}
for(int i = 0; i < m; ++ i){
cin >> u >> v;
graph[u].push_back(v);
}
for(int i = 1; i < k + 1; ++ i){
for(int j = 1; j < n + 1; ++ j){
vis[j] = false;
}
search(a[i]);
}
for(int i = 1; i < n + 1; ++ i){
if(tot[i] == k){
++ r;
}
}
cout << r << '\n';
}
测试点信息:√×√√√×√×√×帮帮忙