#include<stdio.h>
int a[1212],na[1212],d[1212],nd[1212];
int main() {
int n, i, j;
scanf("%d", &n);
for (i = 0; i < n; i++)scanf("%d", &a[i]);
for (i = 0; i < 2*n; i++) {
for (j = 0; j < n; j++) {
if (a[j]&&!a[(j + 1) % n]) {
na[(j + 1) % n] = 1;
na[j] = a[j] - 1;
nd[(j + 1) % n] = d[j] + 1;
}
else if(a[j])na[j] = a[j], nd[j]=d[j];
}
for (j = 0; j < n; j++) {
a[j] = na[j];
d[j] = nd[j];
}
}
long long ans = 0;
for (i = 0; i < n; i++)ans += d[i] * d[i];
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IGFbMTIxMl0sbmFbMTIxMl0sZFsxMjEyXSxuZFsxMjEyXTsKaW50IG1haW4oKSB7CglpbnQgbiwgaSwgajsKCXNjYW5mKCIlZCIsICZuKTsKCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspc2NhbmYoIiVkIiwgJmFbaV0pOwkKCWZvciAoaSA9IDA7IGkgPCAyKm47IGkrKykgewoJCWZvciAoaiA9IDA7IGogPCBuOyBqKyspIHsKCQkJaWYgKGFbal0mJiFhWyhqICsgMSkgJSBuXSkgewoJCQkJbmFbKGogKyAxKSAlIG5dID0gMTsKCQkJCW5hW2pdID0gYVtqXSAtIDE7CgkJCQluZFsoaiArIDEpICUgbl0gPSBkW2pdICsgMTsKCQkJfQoJCQllbHNlIGlmKGFbal0pbmFbal0gPSBhW2pdLCBuZFtqXT1kW2pdOwoJCX0KCQlmb3IgKGogPSAwOyBqIDwgbjsgaisrKSB7CgkJCWFbal0gPSBuYVtqXTsKCQkJZFtqXSA9IG5kW2pdOwoJCX0KCX0KCWxvbmcgbG9uZyBhbnMgPSAwOwoJZm9yIChpID0gMDsgaSA8IG47IGkrKylhbnMgKz0gZFtpXSAqIGRbaV07CglwcmludGYoIiVkIiwgYW5zKTsKCXJldHVybiAwOwp9