#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n,poz,m,v[100001],e,c,i,j;
int cautbinar(int s,int d,int x,int v[])
{
int mij=(s+d)/2;
if(x<v[mij])
return cautbinar(s,mij-1,x,v);
else if(x>v[mij])
return cautbinar(mij+1,d,x,v);
else
return mij;
}
int main()
{
in>>n;
for(i=1; i<=n; i++)
in>>v[i];
in>>m;
for(i=1; i<=m; i++)
{
in>>c>>e;
poz=cautbinar(1,n,e,v);
if(c==0)
{
while(v[poz+1]==e)
poz++;
if(poz!=0)
out<<poz<<'\n';
else
out<<-1<<'\n';
}
else
if(c==1)
{
poz=poz-2;
while(v[poz+1]<=e)
poz++;
out<<poz<<'\n';
}
else
{
poz=poz+2;
while(v[poz-1]>=e)
poz--;
out<<poz;
}
}
return 0;
}