description: You are given n integers a_1, a_2, …, a_n. Find the maximum value of max(a_l, a_{l + 1}, …, a_r) ⋅ min(a_l, a_{l + 1}, …, a_r) over all pairs (l, r) of integers for which 1 ≤ l < r ≤ n.
  
  Input
  
  The first line contains a single integer t (1 ≤ t ≤ 10 000) — the number of test cases.
  
  The first line of each test case contains a single integer n (2 ≤ n ≤ 10^5).
  
  The second line of each test case contains n integers a_1, a_2, …, a_n (1 ≤ a_i ≤ 10^6).
  
  It is guaranteed that the sum of n over all test cases doesn't exceed 3 ⋅ 10^5.
  
  Output
  
  For each test case, print a single integer — the maximum possible value of the product from the statement.
  
  Example
  
  Input
  
  
  4
  3
  2 4 3
  4
  3 2 3 1
  2
  69 69
  6
  719313 273225 402638 473783 804745 323328
  
  
  Output
  
  
  12
  6
  4761
  381274500335
  
  Note
  
  Let f(l, r) = max(a_l, a_{l + 1}, …, a_r) ⋅ min(a_l, a_{l + 1}, …, a_r).
  
  In the first test case, 
  
    * f(1, 2) = max(a_1, a_2) ⋅ min(a_1, a_2) = max(2, 4) ⋅ min(2, 4) = 4 ⋅ 2 = 8. 
    * f(1, 3) = max(a_1, a_2, a_3) ⋅ min(a_1, a_2, a_3) = max(2, 4, 3) ⋅ min(2, 4, 3) = 4 ⋅ 2 = 8. 
    * f(2, 3) = max(a_2, a_3) ⋅ min(a_2, a_3) = max(4, 3) ⋅ min(4, 3) = 4 ⋅ 3 = 12. 
  
  
  
  So the maximum is f(2, 3) = 12.
  
  In the second test case, the maximum is f(1, 2) = f(1, 3) = f(2, 3) = 6.
solution: //package Codeforces;
  import java.util.*;
  import java.math.*;
  import java.io.*;
  public class A
  {
  	static final int mod=(int)1e9+7;
  	static final int inf=(int)1e9;
  	static final long INF=(long)1e18;
  	public static void main(String[] args) {
  		FastScanner fs=new FastScanner();
  		PrintWriter out = new PrintWriter(System.out);
  		int T=fs.nextInt();
  		while(T-->0)
  		{
  			int n=fs.nextInt();
  			int arr[]=new int[n];
  			for(int i=0;i<n;i++) {arr[i]=fs.nextInt();}
  			long ans=0;
  			for(int i=0;i<n-1;i++)
  			{
  			//	System.out.println((long)arr[i]*arr[i+1]);
  				ans=Math.max(ans,(long)arr[i]*arr[i+1]);
  			}
  			out.println(ans);
  		}
  		out.close();
  	}
  	public static int lower_bound(int arr[],int key)
  	{
  		int index=inf,num=0;
  		int left=0,right=arr.length-1;
  		while(left<=right)
  		{
  			int mid=left+(right-left)/2;
  			if(arr[mid]>=key) {index=mid;num=arr[mid];right=mid-1;}
  			else 
  				left=mid+1;
  		}
  		return index==inf ? arr.length:index;
  	}
  	public static int upper_bound(int arr[],int key)
  	{
  		int index=inf,num=0;
  		int left=0,right=arr.length-1;
  		while(left<=right)
  		{
  			int mid=left+(right-left)/2;
  			if(arr[mid]<=key) {index=mid;num=arr[mid];left=mid+1;}
  			else 
  				right=mid-1;
  		}
  		return index==inf ? arr.length:index;
  	}
  }
  class FastScanner 
  {
  		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  		StringTokenizer st = new StringTokenizer("");
  		public String next() 
  		{
  			while (!st.hasMoreTokens())
  				try {
  					st=new StringTokenizer(br.readLine());
  				} catch (IOException e) {
  					e.printStackTrace();
  				}
  			return st.nextToken();
  			
  		}
  		public String nextLine() throws IOException
  		{
  		    return br.readLine();
  		}
  		int[] sort(int arr[])
  		{
  			ArrayList<Integer> list = new ArrayList<Integer>();
  			for(int i:arr)list.add(i);
  			Collections.sort(list);
  			for(int i=0;i<arr.length;i++)
  			{
  				arr[i]=list.get(i);
  			}
  			return arr;
  		}
  		char[] charsort(char arr[])
  	        {
  	    	ArrayList<Character> list = new ArrayList<>();
  	    	for(char c:arr)list.add(c);
  	    	Collections.sort(list);
  	    	for(int i=0;i<list.size();i++)
  	    	{
  	    		arr[i]=list.get(i);
  	    	}
  	    	return arr;
  	        }
  		long[] longsort(long arr[])
  		{
  			ArrayList<Long> list = new ArrayList<Long>();
  			for(long i:arr)list.add(i);
  			Collections.sort(list);
  			for(int i=0;i<arr.length;i++)
  			{
  				arr[i]=list.get(i);
  			}
  			return arr;
  		}
  		public int nextInt() 
  		{
  			return Integer.parseInt(next());
  		}
  		public int[] readArray(int n)
  		{
  			int[] arr=new int[n];
  			for (int i=0; i<n; i++) arr[i]=nextInt();
  			return arr;
  		}	
  		public long nextLong()
  		{
  			return Long.parseLong(next());
  		}
  		public long[] longreadArray(int n) 
  		{
  			long[] a=new long[n];
  			for (int i=0; i<n; i++) a[i]=nextLong();
  			return a;
  		}
  }
  