//
// File:   unique.cc
// Author: cteam21
//
// Created on November 13, 2011, 9:20 AM
//

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

//
//
//
int main(int argc, char** argv) {
    char bits[134217800];
    //int bits[1250];
    int pole[1000000];
    //int pole[1000];
    int interval[1000000][2];
    //int interval[1000][2];
    int n, q, start;
    int low, high;
    
    int count;
    while (42){
        scanf("%d%d", &n, &q);
        if(n==0) return 0;
        count=0;
        start=0;
        memset(bits, 0, 134217800);
        //memset(bits, 0, 1250);
        for(int i=0;i<n;i++){
            int temp;
            scanf("%d", &temp);
            if(bits[temp/8]&(1<<(temp%8))){
                //printf("testy");
                for (int j=start; j<i; j++){     
                    //printf(".");
                    if (temp==pole[j]){
                        interval[count][0]=start;
                        interval[count][1]=i-1;
                        start=j+1;
                        
                        count++;
                        break;
                    }
                    else bits[pole[j]/8]&=(255-(1<<(pole[j]%8)));
                }
            }
            else {
                bits[temp/8]+=(1<<(temp%8));
            }
            pole[i]=temp;
//            for (int k=0; k<10; k++){
//                printf("%d ", bits[k/8]&(1<<(k%8)));
//            }
//            printf("\n");
        }
        interval[count][0]=start;
        interval[count][1]=n-1;
        count++;
//        for (int i=0; i<n; i++){
//            printf("%d ", pole[i]);
//            
//        }
//        printf("\n");
//        for (int i=0; i<count; i++){
//            printf("%d - %d\n", interval[i][0], interval[i][1]);
//        }
        for (int i=0; i<q; i++){
            scanf ("%d%d", &low, &high);
            low--;
            high--;
            int j;
            for (j=0; j<count; j++){
                if (interval[j][0]>low){
                    if (high<=interval[j-1][1]){
                        printf("OK\n");
                        break;
                    }
                    else{
                        printf("%d\n", pole[interval[j-1][1]+1]);                        
                        break;
                    }
                    
                }                
            }
            if (j==count) printf("OK\n");
        }
        printf("\n");
        
    }
    return 0;
}