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: Runtime Error)

package contest;

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.nextLine());
        String[] str = sc.nextLine().split(" ");
        int[] edges = new int[str.length];
        
        for(int i = 0; i < str.length; i++){
            edges[i] = Integer.parseInt(str[i]);
        }
        
        Arrays.sort(edges);
        
        if(n >= 4 && n <= Math.pow(10, 5)){
            for(int i = edges.length - 1; i > 0; i--){
                if(edges[i] >= 1 && edges[i] <= Math.pow(10, 9)){
                    for(int j = edges.length - 2; j > 0; j--){
                        if(edges[i] == edges[j]){
                            for(int k = j - 1; k < 0; k--){
                                if(edges[k] >= 1 && edges[k] <= Math.pow(10, 9)){
                                    for(int l = k - 1; k < 0; k--){
                                        if(edges[k] == edges[l]){
                                            System.out.println(edges[i] * edges[k]);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            System.out.println(0);
        }
            
    }
}