import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; // INFO class Task { public void solve(int testNumber, InputReader in, PrintWriter out) { int n = in.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; ++i) { a[i] = in.nextInt(); } long[] sum = new long[n * (n - 1) / 2]; int cnt = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { sum[cnt++] = a[i] + a[j]; } } Arrays.sort(sum); long ret = sum[0]; for (int k = 1; k < n * (n - 1) / 2; ++k) { if (sum[k] != sum[k - 1]) { ret += sum[k]; } } out.println(ret); } } public class Main { public static void main(String[] args) { InputStream inputStream = System.in; OutputStream outputStream = System.out; InputReader in = new InputReader(inputStream); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream))); Task solver = new Task(); while (in.hasMoreTokens()) { solver.solve(1, in, out); } out.close(); } } class InputReader { BufferedReader br; StringTokenizer st; public InputReader(File f) { try { br = new BufferedReader(new FileReader(f)); } catch (FileNotFoundException e) { e.printStackTrace(); } } public InputReader(InputStream f) { br = new BufferedReader(new InputStreamReader(f)); } String next() { while (st == null || !st.hasMoreTokens()) { String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if (s == null) return null; st = new StringTokenizer(s); } return st.nextToken(); } boolean hasMoreTokens() { while (st == null || !st.hasMoreTokens()) { String s = null; try { s = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if (s == null) return false; st = new StringTokenizer(s); } return true; } int nextInt() { return Integer.parseInt(next()); } long nextLong() { return Long.parseLong(next()); } double nextDouble() { return Double.parseDouble(next()); } }