
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
// D
public class BuyingLunch {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scn=new Scanner(System.in);
		int n=scn.nextInt();
		int m=scn.nextInt();
		ArrayList<HashSet<Integer>> dp=new ArrayList<>(); 
		int []arr=new int[n];
		for(int i=0;i<n;i++) {
			arr[i]=scn.nextInt();
		}
		HashMap<Integer,HashSet<Integer>> hmap=new HashMap<>();
		for(int i=0;i<m;i++) {
			int x=scn.nextInt();
			int y=scn.nextInt();
			if(hmap.containsKey(y)) {
				HashSet<Integer> al=hmap.get(y);
				al.add(x);
				hmap.put(y, al);
			}else {
				HashSet<Integer> al=new HashSet<>();
				al.add(x);
				hmap.put(y, al);
			}
		}
		dp.add(new HashSet<Integer>());
		for(int i=1;i<n;i++) {
			if(hmap.containsKey(arr[i])) {
				dp.add(new HashSet<Integer>());
				//System.out.println(hmap.get(arr[i])+" "+arr[i-1]);
				if(hmap.get(arr[i]).contains(arr[i-1])) {
				//	System.out.println(arr[i]);
					dp.get(i).add(arr[i-1]);
				}
					Iterator<Integer> itr=hmap.get(arr[i]).iterator();
					while(itr.hasNext()) {
						int z=itr.next();
						if(dp.get(i-1).contains(z)) {
							dp.get(i).add(z);
						}
					}
			}else {
				dp.add(new HashSet<Integer>());
			}
			
		}
//		System.out.println(hmap);
//		System.out.println(dp);
//		System.out.println(dp.get(dp.size()-1).size());
	}

}
