#include <stdio.h>  /*入出力*/
#include <stdlib.h> /*標準ライブラリ*/
#include <string.h> /*文字列*/
#include <math.h>   /*計算*/
#include <assert.h> /*確認*/
#include <ctype.h>  /*文字操作*/
#include <stdbool.h>/*bool型*/
#include <limits.h>/*限界*/
//---------------------------------------------------
#define rep(i, n) for(int  i = 0; i < (n); i++)
#define ABS(a) (((a)>(0))?a:-(a))
#define LL long long
#define MOD 1000000007//10^9+7(素数)
//---------------------------------------------------
LL max(LL a, LL b){
  if (a > b) {
    return a;
  }else return b;
}

void swap(LL *a, LL *b)
{
  LL temp;
  temp = *a;*a = *b;*b = temp;
}



int main(void)
{
  LL n;
  LL m;
  LL a;
  LL b;
  LL *h;
  LL *ans;
  LL sum = 0;

  scanf("%lld %lld", &n, &m);
  h = (LL *)malloc(sizeof(LL) * (n+2));
  if (h == NULL) {
    exit(0);
  }
  ans = (LL *)malloc(sizeof(LL) * (n+2));
  if (ans == NULL) {
    exit(0);
  }

  for (LL i = 0; i < n; i++) {
    scanf("%lld", &h[i]);
    ans[i] = 0;
  }

  for (LL i = 0; i < m; i++) {
    scanf("%lld %lld", &a, &b);
    if (h[a] > h[b]) {
      ans[a] = h[a];
    }else ans[b] = h[b];
  }

  for (LL i = 0; i < n; i++) {
    if (ans[i] == h[i]) {
      sum++;
    }
  }
  printf("%lld\n", sum);


  free(h);
  return 0;
}
