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: 
  /*
   
      /$$$$$  /$$$$$$  /$$    /$$  /$$$$$$                                                                  
     |__  $$ /$$__  $$ |$$    |$$ /$$__  $$                                                                 
            | $$| $$  \ $$|    $$|$$| $$  \ $$                                                                 
            | $$| $$$$$$$$|  $$ / $$/| $$$$$$$$                                                                 
  / $$  | $$| $$__  $$ \  $$ $$/ | $$__  $$                                                                 
  | $$  | $$| $$  | $$  \  $$$/  | $$  | $$                                                                 
  |  $$$$$$/| $$  | $$   \  $/   | $$  | $$                                                                 
   \______/ |__/  |__/    \_/    |__/  |__/    
   
  /$$$$$$$  /$$$$$$$   /$$$$$$   /$$$$$$  /$$$$$$$   /$$$$$$  /$$      /$$ /$$      /$$ /$$$$$$$$ /$$$$$$$ 
  | $$__  $$| $$__  $$ /$$__  $$ /$$__  $$| $$__  $$ /$$__  $$| $$$    /$$$| $$$    /$$$| $$_____/| $$__  $$
  | $$  \ $$| $$  \ $$| $$  \ $$| $$  \__/| $$  \ $$| $$  \ $$| $$$$  /$$$$| $$$$  /$$$$| $$      | $$  \ $$
  | $$$$$$$/| $$$$$$$/| $$  | $$| $$ /$$$$| $$$$$$$/| $$$$$$$$| $$ $$/$$ $$| $$ $$/$$ $$| $$$$$   | $$$$$$$/
  | $$____/ | $$__  $$| $$  | $$| $$|_  $$| $$__  $$| $$__  $$| $$  $$$| $$| $$  $$$| $$| $$__/   | $$__  $$
  | $$      | $$  \ $$| $$  | $$| $$  \ $$| $$  \ $$| $$  | $$| $$\  $ | $$| $$\  $ | $$| $$      | $$  \ $$
  | $$      | $$  | $$|  $$$$$$/|  $$$$$$/| $$  | $$| $$  | $$| $$ \/  | $$| $$ \/  | $$| $$$$$$$$| $$  | $$
  |__/      |__/  |__/ \______/  \______/ |__/  |__/|__/  |__/|__/     |__/|__/     |__/|________/|__/  |__/
                                                                                                                                                                                                                  
                                                                                                                                                                                                                  
   
  */
  
  import java.util.*;
  import java.lang.*;
  import java.io.*;
  
  public class Cherry {
      public static void main(String[] args) throws java.lang.Exception {
          // your code goes here
          // try {
          // Scanner sc=new Scanner(System.in);
          FastReader sc = new FastReader();
          int t = sc.nextInt();
          ArrayList<Long> al = new ArrayList<>();
          while (t-- > 0) {
              int n = sc.nextInt();
              long[] arr = new long[n];
              for(int i=0;i<n;i++){
                  arr[i]=sc.nextLong();
              }
              long mans=-1l;
              for(int i=0;i<n-1;i++){
                  mans=Math.max(arr[i]*arr[i+1],mans);
              }
              
              al.add(mans);
  
          }
          for (long l : al) {
              System.out.println(l);
          }
          /*
           * } catch (Exception e) { return; }
           */
  
      }
  
      static int BS(int[] arr, int l, int r, int element) {
          int low = l;
          int high = r;
          while (high - low > 1) {
              int mid = low + (high - low) / 2;
              if (arr[mid] < element) {
                  low = mid + 1;
              } else {
                  high = mid;
              }
          }
          if (arr[low] == element) {
              return low;
          } else if (arr[high] == element) {
              return high;
          }
          return -1;
      }
  
      static int lower_bound(int[] arr, int l, int r, int element) {
          int low = l;
          int high = r;
          while (high - low > 1) {
              int mid = low + (high - low) / 2;
              if (arr[mid] < element) {
                  low = mid + 1;
              } else {
                  high = mid;
              }
          }
          if (arr[low] >= element) {
              return low;
          } else if (arr[high] >= element) {
              return high;
          }
          return -1;
      }
  
      static int upper_bound(int[] arr, int l, int r, int element) {
          int low = l;
          int high = r;
          while (high - low > 1) {
              int mid = low + (high - low) / 2;
              if (arr[mid] <= element) {
                  low = mid + 1;
              } else {
                  high = mid;
              }
          }
          if (arr[low] > element) {
              return low;
          } else if (arr[high] > element) {
              return high;
          }
          return -1;
      }
  
      public static long gcd_long(long a, long b) {
          // a/b,a-> dividant b-> divisor
          if (b == 0)
              return a;
          return gcd_long(b, a % b);
      }
  
      public static int gcd_int(int a, int b) {
          // a/b,a-> dividant b-> divisor
          if (b == 0)
              return a;
          return gcd_int(b, a % b);
      }
  
      public static int lcm(int a, int b) {
          int gcd = gcd_int(a, b);
          return (a * b) / gcd;
      }
  
      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 nextInt() {
              return Integer.parseInt(next());
          }
  
          String nextLine() {
              String s = "";
              try {
                  s = br.readLine();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              return s;
          }
  
          Long nextLong() {
              return Long.parseLong(next());
          }
      }
  }
  
  /*
   * public static boolean lie(int n,int m,int k){ if(n==1 && m==1 && k==0){
   * return true; } if(n<1 || m<1 || k<0){ return false; } boolean
   * tc=lie(n-1,m,k-m); boolean lc=lie(n,m-1,k-n); if(tc || lc){ return true; }
   * return false; }
   */
  