#include <bits/stdc++.h>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,x,y,i,aa,bb,j,l,r,m,poz,ok,a[100001],mm;
int binar(int x,int a[],int l,int r)
{ //int m;
if(l<=r) {m=(l+r)/2;
if(a[m]==x) return m;
else if(a[m]>x) return binar(x,a,l,m-1);
else if(a[m]<x) return binar(x,a,m+1,r);
}
return -1;
}
int main()
{
fin>>n;
for(i=0;i<=n-1;i++)
{
fin>>x;
a[i]=x;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<=n-1;j++)
if(a[i]>a[j]) swap(a[i],a[j]);
fin>>mm;
for(i=1;i<=mm;i++)
{fin>>x>>y;
poz=binar(y,a,0,n-1);//cout<<poz<<' ';
if(x==0){
if (poz==-1) fout<<-1<<endl;
else
{
while(a[poz]==y) poz++;
fout<<poz<<endl;
}
}
else if (x==1)
{
if(poz==-1)
{while(binar(y,a,0,n-1)==-1) y--;
fout<<binar(y,a,0,n-1)<<endl;
}
else {
while(a[poz]==y) poz++;
fout<<poz<<endl;
}
}
else if(x==2)
{
if(poz==-1)
{while(binar(y,a,0,n-1)==-1) y++;
fout<<binar(y,a,0,n-1)<<endl;
}
else {
while(a[poz]==y) poz--;
fout<<poz+2<<endl;
}
}
}
return 0;
}