#include <fstream>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int v[100000];
int n;
void cautbin(int x,int cer)
{
int st=0,dr=n;
while(st<dr)
{
int mij=(st+dr)/2;
if(v[mij]<x)
st=mij+1;
else
dr=mij;
}
//cout<<st<<" "<<dr<<'\n';
if(cer==0)
{
if(v[st]!=x)
{
cout<<-1<<'\n';
return;
}
while(v[st]==x)
st++;
cout<<st<<'\n';
return ;
}
if(cer==1)
{
if(v[st]!=x)
{
cout<<st<<'\n';
return;
}
while(v[st]==x)
st++;
cout<<st<<'\n';
return ;
}
if(cer==2)
{
cout<<st+1<<'\n';
return;
}
}
int main()
{
int m;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>v[i];
}
cin>>m;
int t,x;
for(int i=0;i<m;i++)
{
cin>>t>>x;
cautbin(x,t);
}
return 0;
}