import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class unique
{
	public static void main(String[] args)
	{
		StringTokenizer st;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		String line1;
		String line2;
		while(true)
		{
		try{
			st = new StringTokenizer(br.readLine());
			int rad = Integer.parseInt(st.nextToken());
			int dvoj = Integer.parseInt(st.nextToken());
			if(rad == 0 && dvoj == 0) break;
			
			ArrayList<Hashtable<Integer,Integer>> list = new ArrayList<Hashtable<Integer,Integer>>();
			list.add(new Hashtable<Integer,Integer>());
			
			Hashtable<Integer,Integer> ack =new Hashtable<Integer,Integer>();
			for(int i = 0; i < rad;i++)
			{ 
				int cislo = Integer.parseInt(br.readLine());
				//System.out.println(ack.contains(new Integer(cislo)));
				if(ack.containsKey((cislo)))
				{
					ack.put((cislo),ack.get(cislo)+1);
				} else
				{
					ack.put(cislo,1);
				}
				list.add((Hashtable<Integer,Integer>)ack.clone());
				
			}
			
			for(int i = 0; i < dvoj;i++)
			{ 
				int a,b;
				st = new StringTokenizer(br.readLine());
				a = Integer.parseInt(st.nextToken());
				b = Integer.parseInt(st.nextToken());
				//System.out.println("a= "+a);
				Hashtable<Integer,Integer> aa = list.get(a-1);
				Hashtable<Integer,Integer> bb = (Hashtable<Integer,Integer>)list.get(b).clone();
				
				
				Set<Integer> set = aa.keySet();
				Iterator<Integer> it = set.iterator();
				while(it.hasNext())
				{
					int key = (int)it.next();
					//sb.append("key: "+key+", num:"+aa.get(key)+"\n");
					bb.put(key,bb.get(key)-aa.get(key));
				}
				
				set = bb.keySet();
				it = set.iterator();
				boolean tt = true;
				while(it.hasNext())
				{
					int key = (int)it.next();
					//sb.append("key: "+key+", num:"+bb.get(key)+"\n");
					//System.out.println("key: "+key+", num:"+aa.get(key));
					/*
					if(bb.get(key) == 1){
						if(aa.containsKey(key))
						{
							sb.append(key).append("\n");
							tt =false;
							break;
						}
						
					}
					*/
					if(bb.get(key) > 1){
						sb.append(key).append("\n");
						tt =false;
						break;
					}
				}
				if(tt) sb.append("OK\n");
				
			}
			
			sb.append("\n");
			br.readLine();
			} catch(Exception e)
			{}
		}
		System.out.println(sb.toString().trim());
		System.out.println();
		sb = new StringBuilder();
		
	}
}