#include <bits/stdc++.h>
using namespace std;
vector<long long int> v[300005];
long long int checker[300005];
long long int ans = 0, pk;
void check(long long int x) {
  if (checker[x] == 1 && x != pk) return;
  if (x == pk) ans++;
  checker[x] = 1;
  long long int i;
  for (i = 0; i < v[x].size(); i++) {
    check(v[x][i]);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) {
    long long int n, m, i;
    cin >> n >> m;
    long long int arr[n + 5];
    for (i = 0; i < n; i++) {
      cin >> arr[i];
    }
    long long int a, b;
    for (i = 0; i < m; i++) {
      cin >> a >> b;
      v[b].push_back(a);
      v[a].push_back(b);
    }
    memset(checker, 0, sizeof(checker));
    pk = arr[n - 1];
    check(pk);
    cout << ans - 1 << endl;
  }
  return 0;
}
