//#pragma GCC optimize("O3", "unroll-loops")
//#pragma GCC target("avx2", "bmi", "bmi2", "lzcnt", "popcnt")
#include <bits/stdc++.h>
#define ldb long double
//#define double ldb
#define db double
#define unomap unordered_map
#define unoset unordered_set
#define endl '\n'
#define str string
#define strstr stringstream
#define sz(a) (int)a.size()
#define ll long long
#define int ll
#define pii pair <int, int>
#define pll pair <ll, ll>
#define Unique(a) a.resize(unique(all(a)) - a.begin())
#define ull unsigned ll
#define fir first
#define sec second
#define idc cin.ignore()
#define lb lower_bound
#define ub upper_bound
#define all(s) s.begin(), s.end()
#define rev reverse
#define gcd __gcd
#define pushb push_back
#define popb pop_back
#define pushf push_front
#define popf pop_front
#define mul2x(a, x) a << x
#define div2x(a, x) a >> x
#define lcm(a, b) (a / __gcd(a, b) * b)
#define log_base(x, base) log(x) / log(base)
#define debug cerr << "No errors!"; exit(0);
#define forw(i, a, b) for (int i = a; i <= b; ++i)
#define forw2(i, a, b) for (ll i = a; i <= b; ++i)
#define fors(i, a, b) for (int i = a; i >= b; --i)
#define fors2(i, a, b) for (ll i = a; i >= b; --i)
#define pqueue priority_queue
#define sqrt sqrtl
#define i128 __int128
#define popcount __builtin_popcountll
#define BIT(x, i) (((x) >> (i)) & 1)
#define MASK(x) ((1LL) << (x))
#define want_digit(x) cout << fixed << setprecision(x);
#define excuting_time 1000.0 * clock() / CLOCKS_PER_SEC
using namespace std;
const int MOD = 1e9 + 7; // 998244353
const int inf = 1e9;
const ll INF = 1e18;
const int N = 5e4;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll random(const ll &L, const ll &R) {
return uniform_int_distribution<ll> (L, R) (rng);
}
int n, p[N + 5];
ll pre[N + 5], suf[N + 5], ans, sum[N + 5];
ll get(int l, int r) {
if (l > r) swap(l, r);
return sum[r] - sum[l - 1];
}
ll square(ll x) {
return x * x;
}
template <class X, class Y>
bool minimize(X &x, const Y &y) {
return x > y ? x = y, true : false;
}
void solve() {
cin >> n;
forw (i, 1, n) cin >> p[i], sum[i] = sum[i - 1] + p[i];
forw (i, 2, n - 2) {
pre[i] = INF;
ll goal = sum[i] / 2;
int pos = lb(sum + 1, sum + i, goal) - sum;
if (1 <= pos && pos < i)
pre[i] = square(sum[pos]) + square(get(pos + 1, i));
--pos;
if (1 <= pos && pos < i)
minimize(pre[i], square(sum[pos]) + square(get(pos + 1, i)));
}
fors (i, n - 1, 3) {
suf[i] = INF;
ll goal = get(i, n) / 2;
int pos = lb(sum + i, sum + n, sum[i - 1] + goal) - sum;
if (i <= pos && pos < n)
suf[i] = square(get(i, pos)) + square(get(pos + 1, n));
--pos;
if (i <= pos && pos < n)
minimize(suf[i], square(get(i, pos)) + square(get(pos + 1, n)));
}
ans = INF;
forw (i, 2, n - 2)
ans = min(ans, pre[i] * suf[i + 1]);
cout << ans << endl;
}
signed main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
srand(time(NULL));
#define name "test"
if (fopen(name".INP", "r")) {
freopen(name".INP", "r", stdin);
freopen(name".OUT", "w", stdout);
}
bool testCase = false;
int numTest = 1;
// cin >> numTest;
forw (i, 1, numTest) {
if (testCase) cout << "Case " << i << ": ";
solve();
}
return 0;
}
Ly8jcHJhZ21hIEdDQyBvcHRpbWl6ZSgiTzMiLCAidW5yb2xsLWxvb3BzIikKLy8jcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIiLCAiYm1pIiwgImJtaTIiLCAibHpjbnQiLCAicG9wY250IikKCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGxkYiBsb25nIGRvdWJsZQovLyNkZWZpbmUgZG91YmxlIGxkYgojZGVmaW5lIGRiIGRvdWJsZQojZGVmaW5lIHVub21hcCB1bm9yZGVyZWRfbWFwCiNkZWZpbmUgdW5vc2V0IHVub3JkZXJlZF9zZXQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBzdHIgc3RyaW5nCiNkZWZpbmUgc3Ryc3RyIHN0cmluZ3N0cmVhbQojZGVmaW5lIHN6KGEpIChpbnQpYS5zaXplKCkKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBpbnQgbGwKI2RlZmluZSBwaWkgcGFpciA8aW50LCBpbnQ+CiNkZWZpbmUgcGxsIHBhaXIgPGxsLCBsbD4KI2RlZmluZSBVbmlxdWUoYSkgYS5yZXNpemUodW5pcXVlKGFsbChhKSkgLSBhLmJlZ2luKCkpCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxsCiNkZWZpbmUgZmlyIGZpcnN0CiNkZWZpbmUgc2VjIHNlY29uZAojZGVmaW5lIGlkYyBjaW4uaWdub3JlKCkKI2RlZmluZSBsYiBsb3dlcl9ib3VuZAojZGVmaW5lIHViIHVwcGVyX2JvdW5kCiNkZWZpbmUgYWxsKHMpIHMuYmVnaW4oKSwgcy5lbmQoKQojZGVmaW5lIHJldiByZXZlcnNlCiNkZWZpbmUgZ2NkIF9fZ2NkCiNkZWZpbmUgcHVzaGIgcHVzaF9iYWNrCiNkZWZpbmUgcG9wYiBwb3BfYmFjawojZGVmaW5lIHB1c2hmIHB1c2hfZnJvbnQKI2RlZmluZSBwb3BmIHBvcF9mcm9udAojZGVmaW5lIG11bDJ4KGEsIHgpIGEgPDwgeAojZGVmaW5lIGRpdjJ4KGEsIHgpIGEgPj4geAojZGVmaW5lIGxjbShhLCBiKSAoYSAvIF9fZ2NkKGEsIGIpICogYikKI2RlZmluZSBsb2dfYmFzZSh4LCBiYXNlKSBsb2coeCkgLyBsb2coYmFzZSkKI2RlZmluZSBkZWJ1ZyBjZXJyIDw8ICJObyBlcnJvcnMhIjsgZXhpdCgwKTsKI2RlZmluZSBmb3J3KGksIGEsIGIpIGZvciAoaW50IGkgPSBhOyBpIDw9IGI7ICsraSkKI2RlZmluZSBmb3J3MihpLCBhLCBiKSBmb3IgKGxsIGkgPSBhOyBpIDw9IGI7ICsraSkKI2RlZmluZSBmb3JzKGksIGEsIGIpIGZvciAoaW50IGkgPSBhOyBpID49IGI7IC0taSkKI2RlZmluZSBmb3JzMihpLCBhLCBiKSBmb3IgKGxsIGkgPSBhOyBpID49IGI7IC0taSkKI2RlZmluZSBwcXVldWUgcHJpb3JpdHlfcXVldWUKI2RlZmluZSBzcXJ0IHNxcnRsCiNkZWZpbmUgaTEyOCBfX2ludDEyOAojZGVmaW5lIHBvcGNvdW50IF9fYnVpbHRpbl9wb3Bjb3VudGxsCiNkZWZpbmUgQklUKHgsIGkpICgoKHgpID4+IChpKSkgJiAxKQojZGVmaW5lIE1BU0soeCkgKCgxTEwpIDw8ICh4KSkKI2RlZmluZSB3YW50X2RpZ2l0KHgpIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKHgpOwojZGVmaW5lIGV4Y3V0aW5nX3RpbWUgMTAwMC4wICogY2xvY2soKSAvIENMT0NLU19QRVJfU0VDCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OyAvLyA5OTgyNDQzNTMKY29uc3QgaW50IGluZiA9IDFlOTsKY29uc3QgbGwgSU5GID0gMWUxODsKY29uc3QgaW50IE4gPSA1ZTQ7CgptdDE5OTM3XzY0IHJuZyhjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwpsbCByYW5kb20oY29uc3QgbGwgJkwsIGNvbnN0IGxsICZSKSB7CiAgICByZXR1cm4gdW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPGxsPiAoTCwgUikgKHJuZyk7Cn0KCmludCBuLCBwW04gKyA1XTsKbGwgcHJlW04gKyA1XSwgc3VmW04gKyA1XSwgYW5zLCBzdW1bTiArIDVdOwoKbGwgZ2V0KGludCBsLCBpbnQgcikgewogICAgaWYgKGwgPiByKSBzd2FwKGwsIHIpOwogICAgcmV0dXJuIHN1bVtyXSAtIHN1bVtsIC0gMV07Cn0KCmxsIHNxdWFyZShsbCB4KSB7CiAgICByZXR1cm4geCAqIHg7Cn0KCnRlbXBsYXRlIDxjbGFzcyBYLCBjbGFzcyBZPgpib29sIG1pbmltaXplKFggJngsIGNvbnN0IFkgJnkpIHsKICAgIHJldHVybiB4ID4geSA/IHggPSB5LCB0cnVlIDogZmFsc2U7Cn0KCnZvaWQgc29sdmUoKSB7CiAgICBjaW4gPj4gbjsKICAgIGZvcncgKGksIDEsIG4pIGNpbiA+PiBwW2ldLCBzdW1baV0gPSBzdW1baSAtIDFdICsgcFtpXTsKCiAgICBmb3J3IChpLCAyLCBuIC0gMikgIHsKICAgICAgICBwcmVbaV0gPSBJTkY7CiAgICAgICAgbGwgZ29hbCA9IHN1bVtpXSAvIDI7CiAgICAgICAgaW50IHBvcyA9IGxiKHN1bSArIDEsIHN1bSArIGksIGdvYWwpIC0gc3VtOwogICAgICAgIGlmICgxIDw9IHBvcyAmJiBwb3MgPCBpKQogICAgICAgICAgICBwcmVbaV0gPSBzcXVhcmUoc3VtW3Bvc10pICsgc3F1YXJlKGdldChwb3MgKyAxLCBpKSk7CgogICAgICAgIC0tcG9zOwogICAgICAgIGlmICgxIDw9IHBvcyAmJiBwb3MgPCBpKQogICAgICAgICAgICBtaW5pbWl6ZShwcmVbaV0sIHNxdWFyZShzdW1bcG9zXSkgKyBzcXVhcmUoZ2V0KHBvcyArIDEsIGkpKSk7CiAgICB9CiAgICBmb3JzIChpLCBuIC0gMSwgMykgewogICAgICAgIHN1ZltpXSA9IElORjsKICAgICAgICBsbCBnb2FsID0gZ2V0KGksIG4pIC8gMjsKICAgICAgICBpbnQgcG9zID0gbGIoc3VtICsgaSwgc3VtICsgbiwgc3VtW2kgLSAxXSArIGdvYWwpIC0gc3VtOwogICAgICAgIGlmIChpIDw9IHBvcyAmJiBwb3MgPCBuKQogICAgICAgICAgICBzdWZbaV0gPSBzcXVhcmUoZ2V0KGksIHBvcykpICsgc3F1YXJlKGdldChwb3MgKyAxLCBuKSk7CgogICAgICAgIC0tcG9zOwogICAgICAgIGlmIChpIDw9IHBvcyAmJiBwb3MgPCBuKQogICAgICAgICAgICBtaW5pbWl6ZShzdWZbaV0sIHNxdWFyZShnZXQoaSwgcG9zKSkgKyBzcXVhcmUoZ2V0KHBvcyArIDEsIG4pKSk7CiAgICB9CgogICAgYW5zID0gSU5GOwogICAgZm9ydyAoaSwgMiwgbiAtIDIpCiAgICAgICAgYW5zID0gbWluKGFucywgcHJlW2ldICogc3VmW2kgKyAxXSk7CiAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwp9CgpzaWduZWQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSwgY2luLnRpZShudWxscHRyKTsKICAgIHNyYW5kKHRpbWUoTlVMTCkpOwogICAgI2RlZmluZSBuYW1lICJ0ZXN0IgogICAgaWYgKGZvcGVuKG5hbWUiLklOUCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKG5hbWUiLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4obmFtZSIuT1VUIiwgInciLCBzdGRvdXQpOwogICAgfQogICAgYm9vbCB0ZXN0Q2FzZSA9IGZhbHNlOwogICAgaW50IG51bVRlc3QgPSAxOwovLyAgICBjaW4gPj4gbnVtVGVzdDsKICAgIGZvcncgKGksIDEsIG51bVRlc3QpIHsKICAgICAgICBpZiAodGVzdENhc2UpIGNvdXQgPDwgIkNhc2UgIiA8PCBpIDw8ICI6ICI7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==