#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
FILE *in=fopen("cautbin.in","r");
FILE *out=fopen("cautbin.out","w");
int a[100001];
int cautbin(int s, int d,int x)
{
int m=-1;
if(s>d) return -1;
else
{
m=(s+d)/2;
if(x==a[m])
return m;
else
if(x<a[m]) return cautbin(s,m-1,x);
else return cautbin(m+1,d,x);
}
return m;
}
int main()
{
int n,nrc,c,r,poz;
fscanf(in,"%d",&n);
for(int i=1;i<=n;i++)
fscanf(in,"%d",&a[i]);
fscanf(in,"%d",&nrc);
for(int i=0;i<nrc;i++)
{
fscanf(in,"%d%d",&c,&r);
if(c==0)
{
poz=cautbin(1,n,r);
if(poz==-1) fprintf(out,"-1\n");
else
{
while(a[poz]==a[poz+1]) poz++;
fprintf(out,"%d\n",poz);
}
}
else
{
if(c==1)
{
poz=cautbin(1,n,r);
while(poz==-1)
{r--; poz=cautbin(0,n,r);}
while(a[poz]==a[poz+1]) poz++;
fprintf(out,"%d\n",poz);
}
else
{
poz=cautbin(1,n,r);
while(poz==-1)
{r++; poz=cautbin(0,n,r);}
while(a[poz]==a[poz-1]) poz--;
fprintf(out,"%d\n",poz);
}
}
}
fclose(in); fclose(out);
return 0;
}