#include<iostream>
#include<cstdio>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#include<cmath>

using namespace std;

int key[1001000];
int closest[1001000];
int best[1001000];

int main()
{
	int m,q;
	cin>>m>>q;
	bool start=true;
	while(m!=0 || q!=0)
	{
		if(!start)
			cout<<endl;
		start=false;
		for(int i=1;i<=m;i++)
		{
			cin>>key[i];
			closest[i]=0;
		}
		map<int,int> mii;
		for(int i=1;i<=m;i++)
		{
			closest[i]=mii[key[i]];
			mii[key[i]]=i;
		}
		int k=0;
		for(int i=1;i<=m;i++)
		{
			k=max(closest[i],k);
			best[i]=k;
		}
		for(int i=0;i<q;i++)
		{
			int a,b;
			cin>>a>>b;
			if(best[b]>=a)
				cout<<key[best[b]]<<endl;
			else
				cout<<"OK"<<endl;
		}
		cin>>m>>q;
	}
	return 0;
}
