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: /*
   
      /$$$$$  /$$$$$$  /$$    /$$  /$$$$$$                                                                  
     |__  $$ /$$__  $$ |$$    |$$ /$$__  $$                                                                 
            | $$| $$  \ $$|    $$|$$| $$  \ $$                                                                 
            | $$| $$$$$$$$|  $$ / $$/| $$$$$$$$                                                                 
  / $$  | $$| $$__  $$ \  $$ $$/ | $$__  $$                                                                 
  | $$  | $$| $$  | $$  \  $$$/  | $$  | $$                                                                 
  |  $$$$$$/| $$  | $$   \  $/   | $$  | $$                                                                 
   \______/ |__/  |__/    \_/    |__/  |__/    
   
  /$$$$$$$  /$$$$$$$   /$$$$$$   /$$$$$$  /$$$$$$$   /$$$$$$  /$$      /$$ /$$      /$$ /$$$$$$$$ /$$$$$$$ 
  | $$__  $$| $$__  $$ /$$__  $$ /$$__  $$| $$__  $$ /$$__  $$| $$$    /$$$| $$$    /$$$| $$_____/| $$__  $$
  | $$  \ $$| $$  \ $$| $$  \ $$| $$  \__/| $$  \ $$| $$  \ $$| $$$$  /$$$$| $$$$  /$$$$| $$      | $$  \ $$
  | $$$$$$$/| $$$$$$$/| $$  | $$| $$ /$$$$| $$$$$$$/| $$$$$$$$| $$ $$/$$ $$| $$ $$/$$ $$| $$$$$   | $$$$$$$/
  | $$____/ | $$__  $$| $$  | $$| $$|_  $$| $$__  $$| $$__  $$| $$  $$$| $$| $$  $$$| $$| $$__/   | $$__  $$
  | $$      | $$  \ $$| $$  | $$| $$  \ $$| $$  \ $$| $$  | $$| $$\  $ | $$| $$\  $ | $$| $$      | $$  \ $$
  | $$      | $$  | $$|  $$$$$$/|  $$$$$$/| $$  | $$| $$  | $$| $$ \/  | $$| $$ \/  | $$| $$$$$$$$| $$  | $$
  |__/      |__/  |__/ \______/  \______/ |__/  |__/|__/  |__/|__/     |__/|__/     |__/|________/|__/  |__/
                                                                                                             
                                                                                                                                                                                                                   
                                                                                                                                                                                                                  
   
  */
  ////solution at bottom 
  import java.util.*;
  import java.lang.*;
  import java.io.*;
  import java.math.*;
  
   
  /* Name of the class has to be "Main" only if the class is public. */
         public   class test
  {
      static void shuffle( int arr[])
      {
          int n = arr.length;
          Random r = new Random();
           
         for (int i = n-1; i > 0; i--) {
             int j = r.nextInt(i+1);
               
              int temp = arr[i];
              arr[i] = arr[j];
              arr[j] = temp;
          }
      }
      static void shuffle( long arr[])
      {
          int n = arr.length;
          Random r = new Random();
           
         for (int i = n-1; i > 0; i--) {
             int j = r.nextInt(i+1);
               
              long temp = arr[i];
              arr[i] = arr[j];
              arr[j] = temp;
          }
      }
      static void shuffle( int arr[][])
      {
          int n = arr.length;
          Random r = new Random();
           
         for (int i = n-1; i > 0; i--) {
             int j = r.nextInt(i+1);
               
              int[] temp = arr[i];
              arr[i] = arr[j];
              arr[j] = temp;
          }
      }
      
      static class FastReader 
      { 
          BufferedReader br; 
          StringTokenizer st; 
    
          public FastReader() 
          { 
              br = new BufferedReader(new
                       InputStreamReader(System.in)); 
          } 
    
          String next() 
          { 
              while (st == null || !st.hasMoreElements()) 
              { 
                  try
                  { 
                      st = new StringTokenizer(br.readLine()); 
                  } 
                  catch (IOException  e) 
                  { 
                      e.printStackTrace(); 
                  } 
              } 
              return st.nextToken(); 
          }
           
          int[][] tdiarr(int m , int n){
              int[][] a = new int[m][n];
              for(int i=0;i<m;i++){
                  for(int j=0;j<n;j++){
                      a[i][j]=Integer.parseInt(next());
                  }
              }
              return a;
          }
          long[][] tdlarr(int m , int n){
              long[][] a = new long[m][n];
              for(int i=0;i<m;i++){
                  for(int j=0;j<n;j++){
                      a[i][j]=Long.parseLong(next());
                  }
              }
              return a;
          }
   
          int[] niarr(int n)
          {
              int[] a = new int[n];
              for(int i=0;i<n;i++)a[i]=Integer.parseInt(next());
              return a;
          }
          long[] nlarr(int n)
          {
              long[] a = new long[n];
              for(int i=0;i<n;i++)a[i]=Long.parseLong(next());
              return a;
          }
          char[] ncarr(){
              return next().trim().toCharArray();
              
              
          }
          
    
          int ni() 
          { 
              return Integer.parseInt(next()); 
          } 
    
          long nl() 
          { 
              return Long.parseLong(next()); 
          } 
    
          double nd() 
          { 
              return Double.parseDouble(next()); 
          } 
    
          String nstr() 
          { 
              String str = ""; 
              try
              { 
                  str = br.readLine(); 
              } 
              catch (IOException e) 
              { 
                  e.printStackTrace(); 
              } 
              return str; 
          } 
      }
      
       
      static boolean checkbound(int x , int y , int m , int n){
          if(x<0 || x>=m || y<0 || y>=n)return false;
          return true;
      }
      static void printarr(int[][] a){
          int m = a.length , n = a[0].length;
          for(int i=0;i<m;i++){
              for(int j=0;j<n;j++){
                  System.out.print(a[i][j]+" ");
              }
              System.out.println();
          }
      }
      static void printarr(char[][] a){
          int m = a.length , n = a[0].length;
          for(int i=0;i<m;i++){
              for(int j=0;j<n;j++){
                  System.out.print(a[i][j]+" ");
              }
              System.out.println();
          }
      }
      static void printarr(int[] a){
          int n = a.length;
          StringBuilder sb = new StringBuilder();
              for(int j=0;j<n;j++){
                  sb.append(a[j]+" "); 
              }
              System.out.println(sb);
   
          
      }
      static void printarr(long[] a){
          int n = a.length;
          StringBuilder sb = new StringBuilder();
              for(int j=0;j<n;j++){
                  sb.append(a[j]+" "); 
              }
              System.out.println(sb);
   
          
      }
   
      static void revarr(int[] a ){
          int i=0,j=a.length-1;
          while(i<j){
              int tem = a[i];
              a[i]=a[j];
              a[j]=tem;
              i++;j--;
          }
           
      }
     
      
   
       static boolean[] sieveOfEratosthenes(int n)
      {
           
          boolean prime[] = new boolean[n + 1];
          for (int i = 0; i <= n; i++)
              prime[i] = true;
   
          for (int p = 2; p * p <= n; p++)
          {
               if (prime[p] == true)
              {
                   for (int i = p * p; i <= n; i += p)
                      prime[i] = false;
              }
          }
          prime[1]=false;
   
          return prime;
      }
   
      static int gcd(int a, int b)
      {
          if (a == 0)
              return b;
           
          return gcd(b%a, a);
      }
   
      static int lcm(int a, int b)
      {
          return (a / gcd(a, b)) * b;
      }
   
      static long gcd(long a, long b)
      {
          if (a == 0L)
              return b;
           
          return gcd(b%a, a);
      }
   
      static long lcm(long a, long b)
      {
          return (a / gcd(a, b)) * b;
      }
   
      public static class Pair{
          int x;
          int y;
   
          public Pair(int x, int y){
              this.x = x;
              this.y = y;
          }
   
           
      }
      
      static int[] st;
      static FastReader br=new FastReader();
  /*
   
  */
  ///////////////////////////////////////////////////////////
   
   
   
   
   
      public static void main (String[] args) throws java.lang.Exception
      {
          // your code goes here
          try{
               System.setIn(new FileInputStream("input.txt"));
               System.setOut(new PrintStream(new FileOutputStream("output.txt")));
          }
          catch(Exception e){
                 
          }
           
          int t=1;
          br=new FastReader();
                                    t=br.ni();
          
    
       in1 :   for(int TC = 1; TC <= t ; TC++)
          {
               //sb.append(solve()+"\n");
           //   System.out.print("Case "+TC+": ");
             
                  solve();
   
   
       
          }
            
              //          System.out.println("OUTPUT:::");
      
          System.out.println(sb);
      }
      ///end main
      static StringBuilder sb = new StringBuilder();
      
      static void solve() throws Exception{
                  
                    int n = br.ni();
                    long[] a = br.nlarr(n);
                    long ans = a[0] * a[1];
                    for(int i=1;i<n;i++)ans = Math.max(ans , a[i] * a[i-1]);
                      sb.append(ans+"\n");
  
               }
      //end solve
                
                
      
   
              
   
      }
      //end class  
   
      /* stuff you should look for
      * int overflow, array bounds
      * special cases (n=1?)
      * do smth instead of nothing and stay organized
      * WRITE STUFF DOWN
      * DON'T GET STUCK ON ONE APPROACH
    
   TC:
     
   
   
        */