#include<stdio.h>

int main(){
	int n_nodes, n_edges;
	scanf("%d", &n_nodes);
	scanf("%d", &n_edges);
	long int height[n_nodes+1];
	//塔が良い->1;でない->0
	int is_tallest[n_nodes+1];
	for(int node_i = 1; node_i <= n_nodes; node_i++){
		scanf("%ld", &height[node_i]);
		is_tallest[node_i] = 1;
	}
	//ペア(edge_iで繋がるnode1, 2_i)で比較、tallestになり得るか判定
	for(int edge_i = 1; edge_i <= n_edges; edge_i++){
		int node1_i, node2_i;
		scanf("%d", &node1_i);
		scanf("%d", &node2_i);
		if(height[node1_i] > height[node2_i])
			is_tallest[node2_i] = 0;
		else if(height[node2_i] > height[node1_i])
			is_tallest[node1_i] = 0;
		else
			is_tallest[node1_i] = is_tallest[node2_i] = 0;
	}
	int ans = 0;
	for(int node_i = 1; node_i <= n_nodes; node_i++)
		ans += is_tallest[node_i];
	printf("%d", ans);
	return 0;
}