output_description: Print the maximum possible area of the rectangle. If no rectangle can be
  formed, print 0.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 A_2 ... A_N
attempt: #include <bits/stdc++.h>
  using namespace std;
  #define rep(i,N) for(int i=0,i##_max=(N);i<i##_max;++i)
  #define repp(i,l,r) for(int i=(l),i##_max=(r);i<i##_max;++i)
  #define per(i,N) for(int i=(N)-1;i>=0;--i)
  #define perr(i,l,r) for(int i=r-1,i##_min(l);i>=i##_min;--i)
  #define all(arr) (arr).begin(), (arr).end()
  #define SP << " " <<
  #define SPF << " "
  #define SPEEDUP cin.tie(0);ios::sync_with_stdio(false);
  #define MAX_I INT_MAX //1e9
  #define MIN_I INT_MIN //-1e9
  #define MAX_UI UINT_MAX //1e9
  #define MAX_LL LLONG_MAX //1e18
  #define MIN_LL LLONG_MIN //-1e18
  #define MAX_ULL ULLONG_MAX //1e19
    typedef long long ll;
    typedef pair<int,int> PII;
    typedef pair<char,char> PCC;
    typedef pair<ll,ll> PLL;
    typedef pair<char,int> PCI;
    typedef pair<int,char> PIC;
    typedef pair<ll,int> PLI;
    typedef pair<int,ll> PIL; 
    typedef pair<ll,char> PLC; 
    typedef pair<char,ll> PCL; 
  
  inline void YesNo(bool b){ cout << (b?"Yes" : "No") << endl;}
  inline void YESNO(bool b){ cout << (b?"YES" : "NO") << endl;}
  inline void Yay(bool b){ cout << (b?"Yay!" : ":(") << endl;}
  
  int main(void){
    SPEEDUP
    cout << setprecision(15);
    int N;cin >> N;
    ll max1,max2;
    map<ll,int> mp;
    max1 = max2 = 0;
    rep(i,N){
      ll x;cin >> x;
      if(mp.count(x) && mp[x]&1){
        if(x>max1){
          max2 = max1;
          max1 = x;
        }else if(x>max2) max2 = x;
      }else mp[x] = 0;
      ++mp[x];
    }
    cout << max1*max2 << endl;
    return 0;
  }
  
problem_description: Statement
  
  We have N sticks with negligible thickness. The length of the i-th stick is
  A_i.
  
  Snuke wants to select four different sticks from these sticks and form a
  rectangle (including a square), using the sticks as its sides. Find the
  maximum possible area of the rectangle.
samples: [{"input": "6\n    3 1 2 4 2 1", "output": "2\n    \n\n1 \\times 2 rectangle can be formed.\n\n* * *"}, {"input": "4\n    1 2 3 4", "output": "0\n    \n\nNo rectangle can be formed.\n\n* * *"}, {"input": "10\n    3 3 3 3 4 4 4 5 5 5", "output": "20"}]