#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=50005;
int a[maxn],n,cnt,i,res;
void deal(int k)
{
int tmp=a[k]+a[k-1],j;
res+=tmp;
for(int i=k;i<cnt-1;i++)
a[i]=a[i+1];
cnt--;
for(j=k-1;j>0&&a[j-1]<tmp;j--)
a[j]=a[j-1];
a[j]=tmp;
while(j>=2&&a[j]>=a[j-2])
{
int d=cnt-j;
deal(j-1);
j=cnt-d;
}
}
int main()
{
while(scanf("%d",&n)!=EOF&&n)
{
for(i=cnt=res=0;i<n;i++)
scanf("%d",a+i);
for(i=0;i<n;i++)
{
a[cnt++]=a[i];
while(cnt>=3&&a[cnt-1]>=a[cnt-3])
deal(cnt-2);
}
while(cnt>1)
deal(cnt-1);
printf("%d\n",res);
}
return 0;
}