#include<cstdio>
#include <iostream>
using namespace std;
int n,m,pa;
int v[100005];
int tip1(int val,int tip)
{
int p=pa,poz;
for(poz=0;p>0;p>>=1)
{
if(poz+p<=n)
if(v[poz+p]<=val) poz+=p;
}
if(tip==0)
{
if(v[poz]!=val) return -1;
if(poz==0) return -1;
}
return poz;
}
int tip2(int val)
{
int poz=n,p=pa;
for(;p>0;p>>=1)
if(poz-p>0)
if( v[poz-p]>=val) poz-=p;
return poz;
}
int main()
{
int i,t,a;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&v[i]);
for(pa=1;pa<=n;pa<<=1);
scanf("%d",&m);
for(;m;m--)
{
scanf("%d%d",&t,&a);
if(t==1 || t==0) printf("%d\n",tip1(a,t));
if(t==2) printf("%d\n",tip2(a));
}
fclose(stdin);
fclose(stdout);
return 0;
}