import java.util.*;
/**
* @author bty
* @date 2022/8/28
* @since 1.8
**/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int t = in.nextInt();
for (int i = 0; i < t; i++) {
int n = in.nextInt();
int[] nums = new int[n];
for (int j = 0; j < n; j++) {
int curj = in.nextInt();
nums[j] = curj;
}
calc(nums);
}
}
public static void calc(int[] nums) {
if (nums.length == 1) System.out.println(nums[0]);
int max = Integer.MIN_VALUE;
int maxLeft = 0;
int maxRight = 0;
int right = 0;
int left;
int start = 0;
while (right < nums.length) {
if (nums[right] == 0) {
right++;
// 如果nums[right] == 0,left直接从新的start开始
start = right;
continue;
}
left = start;
while (left <= right) {
if (left == right) {
if (nums[right] == max && left < maxLeft) {
maxLeft = left;
maxRight = right;
} else if (nums[right] == max && left == maxLeft && right < maxRight) {
maxRight = right;
}
if (nums[right] > max) {
max = nums[right];
maxLeft = left;
maxRight = right;
}
break;
}
int curMax = 1;
for (int i = left; i <= right; i++) {
curMax *= nums[i];
}
if (curMax == max && left < maxLeft) {
maxLeft = left;
maxRight = right;
} else if (curMax == max && left==maxLeft && right<maxRight){
maxRight = right;
}
if (curMax > max) {
max = curMax;
maxLeft = left;
maxRight = right;
}
left++;
}
right++;
}
// 样例输出都是索引+1,这个不是错误的地方
System.out.println((maxLeft + 1) + " " + (maxRight + 1));
}
}
#字节23秋招笔试太难了吧#