import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
class Main {
int cau (int[] v, int l,int h, int val){
int mid = l + (h-l)/2 ;
if (l > h)
return -1;
if (v[mid] == val){
if (mid+1 == v.length || v[mid+1] != val)
return mid+1;
else return cau(v,mid+1,h,val);
}
if (v[mid] < val){
int x = cau(v,mid+1,h,val);
if (x == -1)
return mid+1;
return x;
}
else { int x = cau(v,l,mid-1,val);
if (x == -1)
return mid;
return x;}
}
int cautam(int[] v, int l,int h, int val){
int mid = l + (h-l)/2 ;
if (l > h)
return -1;
if (v[mid] == val){
if (mid-1 == 0 || v[mid-1] != val)
return mid+1;
else return cautam(v,1,mid-1,val);
}
if (v[mid] < val){
int x = cautam(v,mid+1,h,val);
if (x == -1)
return mid+1;
return x;
}
else { int x = cautam(v,l,mid-1,val);
if (x == -1)
return mid;
return x;}
}
int cauta(int[] v, int l,int h, int val){
int mid = l + (h-l)/2 ;
if (l > h)
return -1;
if (v[mid] == val)
if (v[mid+1] != val)
return mid+1;
else return cauta(v,mid+1,h,val);
if (v[mid] < val)
return cauta(v,mid+1,h,val);
else return cauta(v,l,mid-1,val);
}
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new FileReader ("cautbin.in"));
PrintWriter out = new PrintWriter(new FileWriter("cautbin.out"));
int nr = in.nextInt();
int[] a = new int[nr];
for (int i = 0 ; i < nr ; i ++)
a[i] = in.nextInt();
int nrcom = in.nextInt();
for (int i = 0; i < nrcom ;i++){
int com = in.nextInt();
if (com == 0)
out.println(new Main().cauta(a,0,a.length-1,in.nextInt()));
else
if (com == 1)
out.println(new Main().cau(a,0,a.length-1,in.nextInt()));
else out.println(new Main().cautam(a,0,a.length-1,in.nextInt()));
}
in.close();
out.close();
}
}