TLE*2
#include <bits/stdc++.h>
using namespace std;
inline int rd()
{
register int ans=0;
char ch;
while(ch<'0'||ch>'9')ch=getchar();
while(ch>='0'&&ch<='9'){ans=ans*10+ch-'0';ch=getchar();}
return ans;
}
bool k;
int q[10010],n,z[300010],c,m,l,r,x,y;
int main()
{
n=rd(),c=rd();//scanf("%d%d",&n,&c);
for(register int i=1;i<=n;i++)z[i]=rd();//scanf("%d",&z[i]);
m=rd();//scanf("%d",&m);
m++;
while(--m)
{
l=rd(),r=rd();//scanf("%d%d",&l,&r);
for(register int j=l;j<=r;j++)
{
q[z[j]]++;
if(q[z[j]]>x)
{
x=q[z[j]];
y=z[j];
}
if(x>(r-l+1)>>1)
{
printf("yes %d\n",y);
k=1;
break;
}
}
if(k==0)printf("no\n");
k=0;
for(register int i=1;i<=c;i++)
{
q[i]=0;
}
x=0;y=0;
}
return 0;
}