#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
//英语 看博友分析 抄博友程序 巧妙 没掌握
int n;
int mp[100][100];//抄博友程序
int vis[100];
int dis;
bool check(int x,int y)
{
dis=0;
for(int i=0;i<n;i++)
{
if(vis[i]==0&& x!=i && y!=i)//抄博友程序
{
if(dis==0)
{
dis=mp[i][x]-(mp[i][x]+mp[i][y]-mp[x][y])/2;
}else
{
if(dis!=mp[i][x]-(mp[i][x]+mp[i][y]-mp[x][y])/2)
{
return false;
}
}
}
}
return true;
}
int main()
{
while(1)
{
cin>>n;
if(n==0)
{
break;
}
memset(mp,0,sizeof(mp));
memset(vis,0,sizeof(vis));
for(int i=0;i<n;i++)
{
mp[i][i]=0;
for(int j=i+1;j<n;j++)
{
cin>>mp[i][j];
mp[j][i]=mp[i][j];
}
}
int jg=0;
while(1)
{
int x,y;
int flag=0;
for(int i=0;i<n;i++)
{
if(vis[i]==0&&flag==0)
for(int j=i+1;j<n;j++)
{
if(vis[j]==0)
if(check(i,j))
{
flag=1;
x=i;
y=j;
break;
}
}
}
if(flag==0)
{
break;
}
vis[x]=1;
vis[y]=1;
jg+=mp[x][y];//抄博友程序
for(int i=0;i<n;i++)
{
if(vis[i]==0)
{
mp[i][n]=mp[n][i]=mp[i][x]-dis;
}
}
n++;
}
cout<<jg<<endl;
}
return 0;
}