#include <fstream>
using namespace std;
ifstream f1("cautbin.in");
ofstream f2("cautbin.out");
int v[110000], mid, lb, ub, i, optiune, x, N, M;
void catareBinara(int x){
lb = 1;
ub = N;
while(lb <= ub)
{
mid = (lb + ub) / 2;
if(v[mid] == x)
break;
else if(v[mid] > x)
ub = mid - 1;
else if(v[mid] < x)
lb = mid + 1;
}
}
int main()
{
f1 >> N;
for(i = 1; i <= N; i++)
{
f1 >> v[i];
}
f1 >> M;
for(i = 1; i <= M; ++i)
{
f1 >> optiune >> x;
if(optiune == 0)
{
catareBinara(x);
if(v[mid] == x)
{
while(v[mid + 1] == x)
mid++;
f2 << mid << endl;
}
else
f2 << -1 << endl;
}
if(optiune == 1)
{
catareBinara(x);
if(v[mid] == x)
{
while(v[mid + 1] == x)
mid++;
}
else if(v[mid] > x)
mid--;
f2 << mid << endl;
}
if(optiune == 2)
{
catareBinara(x);
if(v[mid] == x)
{
while(v[mid - 1] == v[mid])
mid--;
}
else if(v[mid] < x)
mid++;
f2 << mid << endl;
}
}
f1.close();
f2.close();
return 0;
}