#include"stdio.h"
#include"string.h"
int dp[3][1<<16];
int max(int a,int b)
{
a=a>b?a:b;
return a;
}
int main()
{
int len,m,i,j,k,q,sum,ss,p;
char a[1000];
int b[100][100],s[1000];
while(gets(a))
{
len=strlen(a);
if(len==0)
break;
m=0;
for(i=0;i<len;i=i+3)
{
b[0][m++]=10*(a[i]-'0')+a[i+1]-'0';
}
for(i=1;i<m;i++)
{
gets(a);k=0;
for(j=0;j<len;j=j+3)
{
b[i][k++]=10*(a[j]-'0')+a[j+1]-'0';
}
}
k=0;
for(i=0;i<(1<<m);i++)
{
if(!(i&(i<<1)))
s[k++]=i;
}
memset(dp,0,sizeof(dp));
q=0;
for(i=0;i<m;i++)
{
q=q^1;
for(j=0;j<k;j++)
{
sum=0;
for(p=0;p<m;p++)
if(s[j]&(1<<p))
sum+=b[i][p];
for(p=0;p<k;p++)
{
if(s[p]&s[j])
continue;
if((s[j]<<1)&s[p])
continue;
if((s[j]>>1)&s[p])
continue;
dp[q][s[j]]=max(dp[q][s[j]],dp[1-q][s[p]]+sum);
}
}
}
ss=0;
for(i=0;i<k;i++)
ss=max(ss,dp[q][s[i]]);
printf("%d\n",ss);
getchar();
}
return 0;
}