object Solution { def largestValue(A: Array[Int]): Long = { // Return the largest value of any of A's nonempty subarrays. val l = A.toList var max = 0 var i = 0 while (i < l.length) { var j = i+1 while (j < l.length) { if (i-j == 1) { if (l(i) > max){ max = l(i) } } else { val value = l.combinations(2).toList.map(x => x(0) * x(1)).sum if (value > max) max = value } j=j+1 } i=i+1 } return max } def main(args: Array[String]) { val sc = new java.util.Scanner (System.in); var n = sc.nextInt(); var A = new Array[Int](n); for(A_i <- 0 to n-1) { A(A_i) = sc.nextInt(); } val result = largestValue(A); println(result) } }