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: M = int(input())
  A = list(map(int,input().split()))
  B = [0]*(M+1)
  C = [0]*2
  D = [0]*2
  
  for i in range(len(A)):
  	B[ A[i] ] += 1 # カウント
  
  for i in range(len(B)):
  	# 一個しかなかったら条件を満たさないのでするー
  	if B[i] < 2: 
          continue
  
  	# 2個以上あれば長方形にスタック
  	C.append(i)
  
  	# 4個以上あれば正方形にスタック
  	if B[i] >= 4: 
          D.append(i)
  # C を降順でソート
  C = sorted(C, reverse=True)
  
  rect = C[0] * C[1]
  s = max(D)
  square = s * s
  
  print(max(rect,square))
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"}]