Problem:
Score : 300 points

Problem 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.

Constraints

4 \leq N \leq 10^5

1 \leq A_i \leq 10^9

A_i is an integer.

Input

Input is given from Standard Input in the following format:

N
A_1 A_2 ... A_N

Output

Print the maximum possible area of the rectangle.
If no rectangle can be formed, print 0.

Sample Input 1

6
3 1 2 4 2 1

Sample Output 1

2

1 \times 2 rectangle can be formed.

Sample Input 2

4
1 2 3 4

Sample Output 2

0

No rectangle can be formed.

Sample Input 3

10
3 3 3 3 4 4 4 5 5 5

Sample Output 3

20

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

//                                ,.へ 
//___ 　　　　　　　 　 　 　 　 　　　　　　　　　　　　ﾑ　　i 
//「 ﾋ_i〉　　　 　 　　　　　　 　 　　　　　　　　　　　　 ゝ　〈 
//ﾄ　ノ 　　　　　　　　　　　　　　　　　　　　　　　　　　iニ(() 
//i 　{ 　 　　　　　　　 　　　＿＿＿_ 　 　　　　　　　　| 　ヽ 
//i　　i　　　 　　　　　　　／__,　 , ‐-＼ 　 　 　 　 　　i 　　} 
//|　　 i　　　　　　 　　／（●) 　 ( ● )＼　　　　　　 {､　 λ 
//ト－┤.　　　　　　／ 　 　（__人__） 　　　＼　　　 ,ノ　￣ ,! 
//i　　　ゝ､_ 　　　　|　　　　　´￣` 　 　　　　|　,. '´ﾊ　　　,! 
//.　ヽ、 　　　｀`　､,__＼ 　　 　 　　　　　 　 ／"　＼ 　ヽ／ 
//＼ノ　ﾉ　　　ﾊ￣r/:::r―--―/::７　　 ﾉ　　　　／ 
//ヽ.　　　　　　ヽ::〈； . '::. :' |::/　　 /　　　,. " 
//`ｰ ､　　　　＼ヽ::. ;::：|/　　　　　ｒ'" 
//／￣二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二 
/*| 答*/ import java.util.Arrays;import java.util.Scanner;public class Main{public static void main(String[]args){Scanner scan=new Scanner(System.in);int a=scan.nextInt();long w=0,h=0;int d[]=new int[a];int e[]=new int[a];int count=0;for(int i=0;i<a;i++) {d[i]=scan.nextInt();}Arrays.sort(d);for(int i=0;i<a;i++) {e[i]=d[a-i-1];}for(int i=1;i<a;i++) {if(e[i]==e[i-1]) {i++;if(count==0) {w=e[i-1];count++;}else {h=e[i-1];break;}}}System.out.println(w*h);}}//|| 
//＼＿二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二