#include <bits/stdc++.h>
using namespace std;
long long n, m, lista[300000];
set<long long> v[300000];
set<long long> s;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    cin >> lista[i];
  }
  long long x, y;
  for (int i = 0; i < m; i++) {
    cin >> x >> y;
    v[x].insert(y);
    v[y].insert(x);
    if (x == lista[n])
      s.insert(y);
    else if (y == lista[n])
      s.insert(x);
  }
  if (v[lista[n]].size() == 0) {
    cout << 0;
    return 0;
  }
  if (v[lista[n]].size() == n - 1) {
    cout << n - 1;
    return 0;
  }
  long long vracanje = 1;
  for (int i = n - 1; i > 0; i--) {
    if (i <= vracanje) break;
    if (s.count(lista[i]) == 0) {
      long long temp = i - 1;
      x = i;
      while (v[lista[x]].count(lista[temp])) {
        swap(lista[x], lista[temp]);
        temp--;
        x--;
      }
      if (temp == i - 1)
        vracanje = i;
      else
        vracanje = max(vracanje, x);
    }
  }
  cout << n - vracanje + 1;
  return 0;
}
