import java.util.Scanner;publicclassMain{publicstaticvoidmain(String[] args){
Scanner in =newScanner(System.in);int T = in.nextInt();while(T -->0){int n = in.nextInt();
num =newint[100000+10][20];
lg =newint[n +5];
lg[0]=-1;for(int i =1; i <= n; i ++){
num[i][0]= in.nextInt();
lg[i]= lg[i /2]+1;}int m = in.nextInt();for(int j =1; j <= lg[n]; j ++){for(int i =1; i +(1<< j)-1<= n; i ++){
num[i][j]= Math.max(num[i][j -1], num[i +(1<< j -1)][j -1]);}}int a, b;for(int i =0; i < m; i ++){
a = in.nextInt();
b = in.nextInt();
System.out.println(query(a, b));}}}staticint[][] num;staticint[] lg;staticintquery(int l,int r){int len = lg[r - l +1];return Math.max(num[l][len], num[r -(1<< len)+1][len]);}}
ST表模板ST表求区间最大值模板import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int T = in.nextInt(); while(T -- > 0) { int n = in.nextInt(); num = new int[100000 + 10][20]