#include<stdio.h>
#include<stdlib.h>
#define rep(i,n) for(i=0;i<n;i++)
int max(int a,int b){
    if(a<b) a=b;
    return a;
}
int main(){
    long int i,n,m;
    scanf("%ld%ld",&n,&m);
    int h[100010],ma[100010];
    for(i=1;i<=n;i++){
        scanf("%d",&h[i]);
        ma[i]=0; //n個の0
    }
    rep(i,m){
        int a,b;
        scanf("%d%d",&a,&b);
        ma[a]=max(ma[a],h[b]);//展望台aに繋がる展望台の最大値が残る
        ma[b]=max(ma[b],h[a]);
    }
    int ans=0;
    for(i=1;i<=n;i++){
        if(ma[i]<h[i]) ans++;
    }
    printf("%d",ans);
}