#include<stdio.h>
#include<string.h>
struct cmp
{
	int high, y;
};
int main()
{
	struct cmp x[100010];
	int n, m, i, j=0, a, b;
	scanf("%d%d", &n, &m);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &x[i].high);
		x[i].y = 1;
	}
	for (i = 0; i < m; i++)
	{
		scanf("%d%d", &a, &b);
		if (x[a - 1].high < x[b - 1].high)
		{
			x[a - 1].y *= 0;
		}
		else if(x[a - 1].high > x[b - 1].high)
		{
			x[b - 1].y *= 0;
		}
		else
		{
			x[a - 1].y *= 0;
			x[b - 1].y *= 0;
		}
	}
	for (i = 0; i < n; i++)
	{
		if (x[i].y == 1)
		{
			j++;
		}
	}
	printf("%d", j);
	return 0;
}