#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 4e2 + 5;
template<typename T>
void minimize(T& a, const T& b) {
if (b < a) a = b;
}
int n;
int a[N];
ll pref[N];
ll getSum(int l, int r) {
return pref[r] - pref[l - 1];
}
// dp(l, r) = Chi phí ít nhất để gộp các phần tử trong đoạn [l, r] về thành 1 phần tử duy nhất
ll memo [N][N];
ll dp(int l, int r) {
if (l == r) return 0;
if (l + 1 == r) return a[l] + a[r];
ll& ans = memo[l][r];
if (ans != -1) return ans;
ans = LINF;
for (int k = l; k < r; k++) {
minimize(ans, dp(l, k) + dp(k + 1, r) + getSum(l, r));
}
return ans;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
pref[i] = pref[i - 1] + a[i];
}
memset(memo, -1, sizeof memo);
cout << dp(1, n) << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKY29uc3QgaW50IE4gPSA0ZTIgKyA1OyAKCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnZvaWQgbWluaW1pemUoVCYgYSwgY29uc3QgVCYgYikgewoJaWYgKGIgPCBhKSBhID0gYjsgCn0KCmludCBuOyAKaW50IGFbTl07IApsbCBwcmVmW05dOyAKCmxsIGdldFN1bShpbnQgbCwgaW50IHIpIHsKCXJldHVybiBwcmVmW3JdIC0gcHJlZltsIC0gMV07IAp9CgovLyBkcChsLCByKSA9IENoaSBwaMOtIMOtdCBuaOG6pXQgxJHhu4MgZ+G7mXAgY8OhYyBwaOG6p24gdOG7rSB0cm9uZyDEkW/huqFuIFtsLCByXSB24buBIHRow6BuaCAxIHBo4bqnbiB04butIGR1eSBuaOG6pXQKbGwgbWVtbwlbTl1bTl07IAoKbGwgZHAoaW50IGwsIGludCByKSB7CglpZiAobCA9PSByKSByZXR1cm4gMDsgCglpZiAobCArIDEgPT0gcikgcmV0dXJuIGFbbF0gKyBhW3JdOyAKCglsbCYgYW5zID0gbWVtb1tsXVtyXTsgCglpZiAoYW5zICE9IC0xKSByZXR1cm4gYW5zOyAgIAoKCWFucyA9IExJTkY7ICAKCWZvciAoaW50IGsgPSBsOyBrIDwgcjsgaysrKSB7CgkJbWluaW1pemUoYW5zLCBkcChsLCBrKSArIGRwKGsgKyAxLCByKSArIGdldFN1bShsLCByKSk7IAkJCgl9CgoJcmV0dXJuIGFuczsgCn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAKCWNpbi50aWUobnVsbHB0cik7IAkKCWNpbiA+PiBuOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJY2luID4+IGFbaV07IAoJCXByZWZbaV0gPSBwcmVmW2kgLSAxXSArIGFbaV07IAoJfQoKCW1lbXNldChtZW1vLCAtMSwgc2l6ZW9mIG1lbW8pOyAKCgljb3V0IDw8IGRwKDEsIG4pIDw8ICdcbic7IAp9