#include<stdio.h>
int max(int a, int b);

int main(void) {
	int N,M,i,d;
	int H[100000]; int B[100000]; int A[100000]; int new[100000];
	d = 0;
	scanf("%d", &N);
	scanf("%d",&M);
	for (i = 0; i < N; i++) {
		scanf("%d", &H[i]);
	}
	for (i = 0; i < N; i++) {
		new[i] = H[i];
	}
	for (i = 0; i < M; i++) {
		scanf("%d", &A[i]);
		scanf("%d", &B[i]);
	}
	
	for (i = 0; i < M; i++) {
		
			H[A[i]-1]= max(H[A[i]-1], H[B[i]-1]);
			H[B[i]-1] = max(H[A[i]-1], H[B[i]-1]);
			

		}
	
	
	for (i = 0; i <M; i++) {
		

		if (new[i]==H[i]) {
			d++;
			
		}
			
		
	}
	
	printf("%d",d);
	return 0;
}
int max(int a, int b) {
	if (a > b) {
		return a;
	}
	else {
		return b;
	}
}
