#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,a[100001],i,ex,v,m,x,poz;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x;
a[i]=x;
}
fin>>m;
for(i=1;i<=m;i++)
{
fin>>ex>>x;
if(ex==0)
{
poz=upper_bound(a+1,a+n+1,x)-a-1;
if(a[poz]==x && poz<=n && poz>=1)
fout<<poz<<'\n';
else
fout<<-1<<'\n';
}
if(ex==1)
{
poz=upper_bound(a+1,a+n+1,x)-a-1;
fout<<poz<<'\n';
}
if(ex==2)
{
poz=lower_bound(a+1,a+n+1,x)-a-1;
if(a[poz]==x)
fout<<poz<<'\n';
else
fout<<poz+1<<'\n';
}
}
}