#include<stdio.h>
int main(){
    int n,m;
scanf("%d%d",&n,&m);
int elevation[n];
for(int i=0;i<n;i++){
    scanf("%d",&elevation[i]);
}
int a[n][n];
for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        a[i][j]=0;
    }
}
int start,end;
for(int k=0;k<m;k++){
        scanf("%d%d",&start,&end);
        a[start][end]=1;
        a[end][start]=1;
}
int good_obs=0;
for(int i=0;i<n;i++){
    int flag1=0;
    int flag2=0;
    int j=0;
    while((j<n)&&((flag1==0)||( flag2==0))){
        if(a[i][j]==1){
            flag1=1;
        }
        if((elevation[j]>elevation[i])&&(a[i][j]==1)){
            flag2=1;
        }
        if((flag1==1)&&(flag2==1)){
            break;
        }
        j++;
    }
    if((flag1==0) || (flag2==0)){
            good_obs++;
    }
}
printf("%d",good_obs);
return 0;
}

