import java.io.*; import java.util.*; public class MaxPairProduct { int numberOfIntegers; int biggest; int bigger; public MaxPairProduct(int size) { numberOfIntegers = size; } public int getCount() { return numberOfIntegers; } public static void main(String[] args) { FastScanner s = new FastScanner(System.in); int n = s.nextInt(); MaxPairProduct mpp = new MaxPairProduct(n); for (int i = 0; i < n; i++) { mpp.newNumber(s.nextInt()); } System.out.println(mpp.getProduct()); } public int getBiggest() { return biggest; } public int getBigger() { return bigger; } public void newNumber(int i) { if (i > biggest) { bigger = biggest; biggest = i; } else if (i == biggest) { bigger = i; } else if (i > bigger) { bigger = i; } } public long getProduct() { if (numberOfIntegers == 0) { return (long) 0; } else if (numberOfIntegers == 1) { return (long) biggest; } return (long) biggest * (long) bigger; } static class FastScanner { BufferedReader br; StringTokenizer st; FastScanner(InputStream stream) { try { br = new BufferedReader(new InputStreamReader(stream)); } catch (Exception e) { e.printStackTrace(); } } String next() { while (st == null || !st.hasMoreTokens()) { try { st = new StringTokenizer(br.readLine()); } catch (IOException e) { e.printStackTrace(); } } return st.nextToken(); } int nextInt() { return Integer.parseInt(next()); } } }