#include <stdio.h>
#include <stdlib.h>

int main(void) {

    int N; // 展望台
    int M; // 道

    char tenbodai_yoshi[100000];
    int tenboudai_height[100000];

    scanf("%d %d",&N,&M);

    for(int i = 0;i < N;i++){
        tenbodai_yoshi[i] = 1; //みちがつながってないときは1のままになる
        tenboudai_height[i] = 0;
    }
    int temp_h;

    for(int j = 0;j < N;j++){
        scanf("%d",&tenboudai_height[j]);
    }

    int tembodai_a;
    int tembodai_b;
    for(int i = 0;i < M;i++){
        scanf("%d %d",&tembodai_a,&tembodai_b);
        if(tenboudai_height[tembodai_a - 1] > tenboudai_height[tembodai_b - 1]){
            tenbodai_yoshi[tembodai_b - 1] = 0;
        }else if(tenboudai_height[tembodai_a - 1] < tenboudai_height[tembodai_b - 1]){
            tenbodai_yoshi[tembodai_a - 1] = 0;
        }else if(tenboudai_height[tembodai_a - 1] == tenboudai_height[tembodai_b - 1]){
            tenbodai_yoshi[tembodai_a - 1] = 0;
            tenbodai_yoshi[tembodai_b - 1] = 0;
        }
    }

    // 展望台の数表示
    int count = 0;
    for(int i = 0;i < N;i++){
        if(tenbodai_yoshi[i] == 1)count++;
    }
    printf("%d\n",count);

    return 0;
}