#include<stdio.h>

/*プロトタイプ宣言*/
void CmpLight(int *road_num);
void CountGood(int *light_num);

/*グローバル変数宣言*/
int light_good[100000] = {1}; 	/*良い灯台フラグ 0:不良/1:良*/
int light_height[100000] = {0}; /*灯台の高さ*/
int light_a; 					/*灯台Aの番号*/
int light_b; 					/*灯台Bの番号*/
int good_cnt = 0; 				/*良い灯台数*/

int main(void)
{
  int light_num;
  int road_num;
  int i;
  
  /*灯台数、道の本数入力*/
  scanf("%d %d", &light_num, &road_num );
  
  /*灯台の高さ入力*/
  for(i = 0; i < light_num; i++)
  {
    scanf("%d ", &light_height[i] );
  }
  
  /*灯台の高さ比較*/
  CmpLight(&road_num);
  
  /*良い灯台をカウント*/
  CountGood(&light_num);
  
  /*結果出力*/
  printf("%d\n", good_cnt );
  
  return 0;
}

void CmpLight(int *road_num)
{
  int i;
  
  for(i = 0; i < *road_num; i++)
  {
    /*灯台A, Bの入力*/
    scanf("%d %d", &light_a, &light_b); 
    
    /*灯台Aの高さ > 灯台Bの高さ*/
    if ( light_height[light_a] > light_height[light_b] )
    {
      light_good[light_a] = 1;
      light_good[light_b] = 0;
    }
    /*灯台Aの高さ < 灯台Bの高さ*/
    else if ( light_height[light_a] < light_height[light_b] )
    {
      light_good[light_a] = 0;
      light_good[light_b] = 1;
    }
    /*灯台Aの高さ = 灯台Bの高さ*/
    else
    {
      light_good[light_a] = 0;
      light_good[light_b] = 0;
    }
  }
}

void CountGood(int *light_num)
{
  int i;
  
  for(i = 1; i <= *light_num ; i++)
  {
    /*良い灯台をカウント*/
    if ( light_good[i] == 1 )
    {
      good_cnt++;
    }
  }
}