#include <iostream>
#include <vector>
using namespace std;
int n, ans = 0;;
vector<int> a(n, -1);
void find_tow_min() {
// 找出最小的一组数
int min = 9999999, x = 0;
for (int i = 1; i < n; i ++) {
if (a[i] + a[i - 1] < min) {
min = a[i] + a[i - 1];
x = i - 1;
}
}
// 合并最小的一组数
for (int i = 0; i < n; i ++) {
if (i == x) {
a[i] = a[i] + a[i + 1];
}
else if (i > x) {
a[i] = a[i + 1];
}
}
// 缩短长度+记录答案
ans += min;
a[n - 1] = -1;
n --;
}
int main() {
cin >> n;
for (int i = 0; i < n; i ++) {
int m;
cin >> m;
a.push_back(m);
// cin >> a[i];
}
while (a[1] != -1) {
find_tow_min();
}
cout << ans;
return 0;
}
/*
6
20
44
354
20
102
*/