using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int[] maxTransform(int[] A) { var B = new List(); for (long k = 0, n = A.Length; k < n; k++) { for (long i = 0, o = A.Length - k; i < o; i++) { var j = i + k; var numEls = j - i + 1; int[] c = new int[numEls]; for (var x = 0; x < numEls; x++) { c[x] = A[i + x]; } B.Add(c.Max()); } } return B.ToArray(); } static Int64 solve(Int32[] A) { var B = maxTransform(A); var C = maxTransform(B); Int64 sum = 0; for (long i = 0, j = C.Length; i < j; i++) { sum += C[i]; } return sum; } static void Main(String[] args) { int n = Convert.ToInt32(Console.ReadLine()); string[] a_temp = Console.ReadLine().Split(' '); Int32[] a = Array.ConvertAll(a_temp,Int32.Parse); Int64 result = solve(a); Console.WriteLine(result); } }