#include <stdio.h>
#include <stdlib.h>
using namespace std;
int v[100000];
int n;
int bin(int elem){
int st=0, dr=n-1, ok;
while(st<=dr){
int mij=(st+dr)/2;
if(v[mij]<=elem){
ok=mij;
st=mij+1;
}else{
dr=mij-1;
}
}
return ok;
}
int main()
{
FILE *fin, *fout;
int m,i,tip,p;
fin=fopen("cautbin.in","r");
fout=fopen("cautbin.out","w");
fscanf(fin,"%d",&n);
for(i=0;i<n;i++){
fscanf(fin,"%d",&v[i]);
}
fscanf(fin,"%d",&m);
for(m;m>0;m--){
fscanf(fin,"%d%d",&tip,&i);
p=bin(i);
if(tip==0){
if(v[p]==i)
fprintf(fout,"%d\n",p+1);
else
fprintf(fout,"-1\n");
}
else if(tip==1){
fprintf(fout,"%d\n",p+1);
}else{
if(v[p]==i){
while(v[p]==i)
p--;
p++;
fprintf(fout,"%d\n",p+1);
}
else
fprintf(fout,"%d\n",p+2);
}
}
fclose(fin);
fclose(fout);
return 0;
}