semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int  main()
{
	int n,a[102][102]={0},sum=0;
	cin>>n;
	

	int i,j,k,cc;
	for(i=0;i<n;i++)
	{sum=0;
		for(j=1;j<=n;j++)
		{
			for(k=1;k<=n;k++)
			{
				cin>>*(*(a+j)+k);
			}
		}
		cc=n;







		while(cc>1)
		{
		int min=10000;
		for(j=1;j<=cc;j++)
		{
			for(k=1;k<=cc;k++)
		{
			if(min>*(*(a+j)+k)) min=*(*(a+j)+k);
		}
			for(k=1;k<=cc;k++)
			{
				*(*(a+j)+k)=*(*(a+j)+k)-min;
			}
			min=10000;
		}
		min=10000;
        for(j=1;j<=n;j++)
		{
			for(k=1;k<=cc;k++)
		{
			if(min>*(*(a+k)+j)) min=*(*(a+k)+j);
		}
			for(k=1;k<=cc;k++)
			{
				*(*(a+k)+j)=*(*(a+k)+j)-min;
			}
			min=10000;
		}
         sum+=*(*(a+2)+2);
		 
		for(j=3;j<=cc;j++)
		{
			for(k=1;k<=cc;k++)
		{
				*(*(a+j-1)+k)=*(*(a+j)+k);
			}
		}
		for(j=1;j<=cc;j++)
		{
			for(k=3;k<=cc;k++)
			{
				*(*(a+j)+k-1)=*(*(a+j)+k);
			}
		}
		cc--;
		}
		cout<<sum<<endl;
	}
	return 0;
}
int Min(int a[],int n)
{
	int i,min;
	min=a[0];
	for(i=1;i<n;i++)
	{
		if(a[i]<min)
		{
			min=a[i];
		}
	}
	return min;
}

int main()
{
	int n,i,N,dd1,dd2,j,min;
	int row[100][100],col[100][100],sum[100];
	scanf("%d\n",&n);
	N=n;
	for(i=0;i<N;i++)
	{
		for(dd1=0;dd1<N;dd1++)
		{
			for(dd2=0;dd2<N;dd2++)
			{
				scanf("%d",&row[dd1][dd2]);
			}
		}
		sum[i]=0;
		n=N;
		for(j=0;j<N-1;j++)
		{
			for(dd1=0;dd1<n;dd1++)
			{
				if(Min(row[dd1],n)!=0)
				{
					min=Min(row[dd1],n);
					for(dd2=0;dd2<n;dd2++)
					{
						row[dd1][dd2]-=min;
					}
				}
			}
			for(dd1=0;dd1<n;dd1++)
			{
				for(dd2=0;dd2<n;dd2++)
				{
					col[dd2][dd1]=row[dd1][dd2];
				}
			}
			for(dd1=0;dd1<n;dd1++)
			{
				if(Min(col[dd1],n)!=0)
				{
					min=Min(col[dd1],n);
					for(dd2=0;dd2<n;dd2++)
					{
						col[dd1][dd2]-=min;
					}
				}
			}
			for(dd1=0;dd1<n;dd1++)
			{
				for(dd2=0;dd2<n;dd2++)
				{
					row[dd1][dd2]=col[dd2][dd1];
				}
			}
			sum[i]+=row[1][1];
			for(dd1=0;dd1<n-1;dd1++)
			{
				for(dd2=0;dd2<n-1;dd2++)
				{
					if(dd1>=1&&dd2==0)
					{
						row[dd1][dd2]=row[dd1+1][dd2];
					}
					if(dd2>=1&&dd1==0)
					{
						row[dd1][dd2]=row[dd1][dd2+1];
					}
					if(dd1>=1&&dd2>=1)
					{
						row[dd1][dd2]=row[dd1+1][dd2+1];
					}
				}
			}
			n--;					
		}
	}
	for(i=0;i<N;i++)
	{
		printf("%d\n",sum[i]);
	}
	return 0;
}
int main()
{
	int n, a[100][100], i, k, l, min, sum = 0, j;
	cin >> n;
	for (l = 1; l <= n; l++)
	{
		for (i = 0; i < n; i++)
			for (j =0; j < n; j++)
				cin >> a[i][j];
		for (k = n;; k--)
		{
			for (i = 0; i < k; i++)
			{
				min = a[i][0];
				for (j = 0; j < k; j++)
				{
					if (a[i][j] < min)
						min = a[i][j];
				}
				for (j = 0; j < k; j++)
					a[i][j] -= min;
			}
			for (i = 0; i < k; i++)
			{
				min = a[0][i];
				for (j = 0; j < k; j++)
				{
					if (a[j][i] < min)
						min = a[j][i];
				}
				for (j = 0; j <  k; j++)
					a[j][i] -= min;
			}
			sum += a[1][1];
			if (k == 2)break;
			for (i = 1; i <= k-2; i++)
			{
				a[0][i] = a[0][i+1];
				a[i][0] = a[i+1][0];
				for (j = 1; j <= k-2; j++)
					a[i][j] = a[i+1][j+1];
			}
		}
		cout << sum << endl;
		sum = 0;
	}
	getchar();
	getchar();	
	return 0;
}
void jian(int a[100][100],int n)
{
	int i,j,min;
	for(i=0;i<n;i++)
	{
		min=a[i][0];
		for(j=0;j<n;j++)
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		if(min!=0)
		{
			for(j=0;j<n;j++)
		    a[i][j]-=min;
		}
	}
		for(i=0;i<n;i++)
	{
		min=a[0][i];
		for(j=0;j<n;j++)
		{
			if(a[j][i]<min)
				min=a[j][i];
		}
		if(min!=0)
		{
			for(j=0;j<n;j++)
		    a[j][i]-=min;
		}
	}
}
	void move(int a[100][100],int n)
	{
		int i,j;
		if(n>2)
		{
			for(i=1;i<(n-1);i++)
				for(j=0;j<n;j++)
					a[i][j]=a[i+1][j];
			for(i=1;i<(n-1);i++)
				for(j=0;j<(n-1);j++)
					a[j][i]=a[j][i+1];
		for(i=0;i<n;i++)
		{a[n-1][i]='\0';a[i][n-1]='\0';}
		}
		
	}
int main()
{
	int n,i,j,k,a[100][100]={'\0'},sum,n1;
	cin>>n;
	for(k=0;k<n;k++)
	{
		sum=0;n1=n;
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];
		while(n1>1)
		{
		jian(a,n1);
		sum+=a[1][1];
		move(a,n1);
		n1--;
		}
		cout<<sum<<endl;
		
	}
	return 0;
}
void r(int m);
void l(int m);
void fun(int m);
void Try(int i);                                                       //&para;¨&Ograve;&aring;4&cedil;&ouml;&ordm;&macr;&Ecirc;&yacute;
int a[100][100], n, s[100] = {0};
int main()
{
	int i, j, k, sum;
	cin>>n;
	for(i = 0; i < n; i++)
	{
		sum = 0;
		for(j = 0; j < n; j++)
		{
			for(k = 0; k < n; k++)
				cin>>a[j][k];
		}
		Try(0);                                                       //±&raquo;&micro;÷&Oacute;&Atilde;&ordm;&macr;&Ecirc;&yacute;
		for(j = 0; j < n - 1; j++)
			sum = sum + s[j];                                         //sum&micro;&Auml;×&Uuml;&ordm;&Iacute;
		cout<<sum<<endl;
	}
	return 0;
}
void r(int m)                                                         //&ordm;&macr;&Ecirc;&yacute;&Oacute;&Atilde;&Agrave;&acute;&Aacute;&ETH;&sup1;é&Aacute;&atilde;
{
	int x, y, min;
	for(x = 0; x < m; x++)
	{
		min = a[x][0];
		for(y = 0; y < m; y++)
		{
			if(a[x][y] < min)
				min = a[x][y];
		}
		for(y = 0; y < m; y++)
			a[x][y] = a[x][y] - min;
	}
}
void l(int m)                                                        //&ordm;&macr;&Ecirc;&yacute;&Oacute;&Atilde;&Agrave;&acute;&ETH;&ETH;&sup1;é&Aacute;&atilde;
{
	int x, y, min;
	for(y = 0; y < m; y++)
	{
		min = a[0][y];
		for(x = 0; x < m; x++)
		{
			if(a[x][y] < min)
				min = a[x][y];
		}
		for(x = 0; x < m; x++)
			a[x][y] = a[x][y] - min;
	}
}
void fun(int m)                                                      //&ordm;&macr;&Ecirc;&yacute;&Oacute;&Atilde;&Agrave;&acute;&Iuml;&ucirc;&frac14;&otilde;
{
	int i, j;
	for(i = 0; i < m; i++)
	{
		for(j = 2; j < m; j++)
	 		a[i][j - 1] = a[i][j];
	}
	for(j = 0; j < m - 1; j++)
	{
		for(i = 2; i < m; i++)
			a[i - 1][j] = a[i][j];
	}
}
void Try(int i)
{
	r(n - i);
	l(n - i);
	s[i] = a[1][1];
	fun(n - i);
	if(i < n - 1)
		Try(i + 1);
}
int main(){
int n,t,sum,m;
int a[100][100];     //????????
int i,j,k;           //????
cin>>n;
for(k=0;k<n;k++){
sum=0;
m=n;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];           //??n?n???
while(m>1){
for(i=0;i<m;i++){
t=a[i][0];
    for(j=1;j<m;j++)
{if(a[i][j]<t)
t=a[i][j];
}
    for(j=0;j<m;j++){
     a[i][j]=a[i][j]-t;
    }}                             //???????
for(i=0;i<m;i++){
t=a[0][i];
    for(j=1;j<m;j++)
{if(a[j][i]<t)
t=a[j][i];
}
    for(j=0;j<m;j++){
     a[j][i]=a[j][i]-t;
    }}                            //???????
sum=sum+a[1][1];
for(i=0;i<m;i++){
for(j=1;j<m;j++){
a[i][j]=a[i][j+1];
}}
for(i=0;i<m;i++){
for(j=1;j<m;j++){
a[j][i]=a[j+1][i];
}}                            //????
m--;                            //??????-1
}
cout<<sum<<endl;}            //???
return 0;
}
int a[200][200],sum=0;
void xj(int n)
{
	int i,j;
	if(n>=2)
	{
		for(i=1;i<n;i++)
			for(j=0;j<n;j++)
				a[i][j]=a[i+1][j];
		for(i=1;i<n;i++)
			for(j=0;j<n;j++)
				a[j][i]=a[j][i+1];
	}
}

void gl(int n)
{
	int i,j;
	if(n>=2)
	{
		for(i=0;i<n;i++)
		{
			int min=a[i][0];
			for(j=1;j<n;j++)
			{
				if(a[i][j]<min)
					min=a[i][j];
			}
			for(j=0;j<n;j++)
				a[i][j]-=min;
		}
		for(i=0;i<n;i++)
		{
			int min=a[0][i];
			for(j=1;j<n;j++)
			{
				if(a[j][i]<min)
					min=a[j][i];
			}
			for(j=0;j<n;j++)
				a[j][i]-=min;
		}
		sum+=a[1][1];
		xj(n);
		gl(n-1);
	}
	else
		return;
}
int main()
{
	int n,k;
	cin>>n;
	for(k=0;k<n;k++)
	{
		sum=0;
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
				cin>>a[i][j];
		gl(n);
		cout<<sum<<endl;
	}
	return 0;
}
//********************************
//*???2.cpp   **
//*?????? 1200012768 **
//*???2012.11.21  **
//*????????????  **
//********************************
int sum = 0, r_small[100] = {0}, c_small[100] = {0};

int fun(int num[][100], int n);

void small1(int num[][100], int n);

void small2(int num[][100], int n);

int main()
{
	int n, i, j, num[100][100];
	cin >> n;
	for (int p = 0; p < n; p++)
	{
		for (i = 0; i < n; i++)
			for (j = 0; j < n; j++)
				cin >> num[i][j];
		fun(num, n);
		cout << sum << endl;
		sum = 0;					//??????????? 
	}
	return 0;
}

int fun(int num[][100], int n)
{
	if (n == 1)
		return sum;
	int i, j;
	small1(num, n);				//???????? 
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
			num[i][j] = num[i][j] - r_small[i];	//????????????
	small2(num, n);				//????????????
	for (j = 0; j < n; j++)
		for (i = 0; i < n; i++)
			num[i][j] = num[i][j] - c_small[j];	//????????????
	sum += num[1][1];			//??sum 
	for (i = 0; i < n; i++)
		for (j = 1; j < n - 1; j++)
			num[i][j] = num[i][j + 1];	//?? 
	for (j = 0; j < n - 1; j++)
		for (i = 1; i < n - 1; i++)
			num[i][j] = num[i + 1][j];
	fun(num, n - 1);					//?? 
}

void small1(int num[][100], int n)	//????????
{
	int i, j;
	for (i = 0; i < n; i++)
	{
		r_small[i] = num[i][0];
		for (j = 1; j < n; j++)
			r_small[i] = (r_small[i] < num[i][j]) ? r_small[i] : num[i][j];
	}
}

void small2(int num[][100], int n)	//????????
{
	int i, j;
	for (j = 0; j < n; j++)
	{
		c_small[j] = num[0][j];
		for (i = 1; i < n; i++)
			c_small[j] = (c_small[j] < num[i][j]) ? c_small[j] : num[i][j];
	}
}
int n,i,j,k,l,len=0,sum=0;
int array[100][100];
void guilinhang(int a)
{
	int min=array[a][0];
	for(l=0;l<len;l++)
	{
		if(array[a][l]<min)
			min=array[a][l];
	}
	for(l=0;l<len;l++)
		array[a][l]=array[a][l]-min;
}
void guilinlie(int a)
{
	int min=array[0][a];
	for(l=0;l<len;l++)
	{
		if(array[l][a]<min)
			min=array[l][a];
	}
	for(l=0;l<len;l++)
		array[l][a]=array[l][a]-min;
}
void xiaojian(int a)
{
	if(a==2)
		return;
	else if(a>2)
	{
		for(i=1;i<a-1;i++)
		{
			for(j=0;j<a;j++)
				array[j][i]=array[j][i+1];
		}
		for(i=1;i<a-1;i++)
		{
			for(j=0;j<a;j++)
				array[i][j]=array[i+1][j];
		}
	}
}
int main()
{
	cin>>n;
	for(k=0;k<n;k++)
	{
		len=n;
		sum=0;
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				cin>>array[i][j];
			}
		}
		while(len>=2)
		{
		    for(i=0;i<len;i++)
		    {
			    guilinhang(i);
		    }
		    for(i=0;i<len;i++)
		    {
		    	guilinlie(i);
		    }
		    sum=sum+array[1][1];
		    xiaojian(len);
		    len--;
		}
		cout<<sum<<endl;
	}
	return 0;
}
int mat[100][100], n, sum = 0;
int rmin(int a[][100], int x)
{
	int i, rsmall = a[x][0];
	for(i = 0; i < n; i++)
	{
		if(rsmall > a[x][i])
		{
			rsmall = a[x][i];
		}
	}
	return rsmall;
}
int cmin(int a[][100], int y)
{
	int i, csmall = a[0][y];
	for(i = 0; i < n; i++)
	{
		if(csmall > a[i][y])
		{
			csmall = a[i][y];
		}
	}
	return csmall;
}
void caculate(int mat[][100])
{
	int i, j, rsmall, csmall;
	for(i = 0; i < n; i++)
	{
		rsmall = rmin(mat, i);
		for(j = 0; j < n; j++)
		{
			mat[i][j] -= rsmall;
		}
	}
	for(i = 0; i < n; i++)
	{
		csmall = cmin(mat, i);
		for(j = 0; j < n; j++)
		{
			mat[j][i] -= csmall;
		}
	}
}
void change(int a[][100], int x)
{
	int i, j;
	sum += a[1][1];
	for(i = 0; i < x; i++)
		for(j = 1; j < x - 1; j++)
		{
			a[i][j] = a[i][j + 1];
		}
	for(i = 1; i < x - 1; i++)
		for(j = 0; j < x - 1; j++)
		{
			a[i][j] = a[i + 1][j];
		}
}
int main()
{
	int m, i, j, num;
	cin >> num;	
	for(m = 1; m <= num; m++)
	{
		n = num;
		sum = 0;
		for(i = 0; i < num; i++)
			for(j = 0; j < num; j++)
			{
				cin >> mat[i][j];
			}
		while(n != 1)
		{
			caculate(mat);
			change(mat, n--);
		}
		cout << sum << endl;
	}cin>>i;
	return 0;
}
main()
{
    int n,m=0,min,sum=0;
    int i,j,k,q;
    scanf("%d",&n);
    int **a=(int **)calloc(n,sizeof(int *));
    for(k=0;k<n;k++)
    {
        for(i=0;i<n;i++)
        {
            a[i]=(int *)calloc(n,sizeof(int));
            for(j=0;j<n;j++)
            {
                scanf("%d",&a[i][j]);
                if(a[i][j]>m)
                m=a[i][j];
            }
        }
        min=m;
        for(q=0;q<n-1;q++)
        {
        for(i=0;i<n-q;i++)
        {
            for(j=0;j<n-q;j++)
            {
                if(a[i][j]<min)
                min=a[i][j];
            }
            for(j=0;j<n-q;j++)
            {
                a[i][j]=a[i][j]-min;
            }
            min=m;
        }
        for(j=0;j<n-q;j++)
        {
            for(i=0;i<n-q;i++)
            {
                if(a[i][j]<min)
                min=a[i][j];
            }
            for(i=0;i<n-q;i++)
            {
                a[i][j]=a[i][j]-min;
            }
            min=m;
        }
        sum=a[1][1]+sum;
        for(i=0;i<n-q;i++)
        {
            for(j=1;j<n-q-1;j++)
            {
                a[i][j]=a[i][j+1];
            }
        }
        for(i=1;i<n-q-1;i++)
        {
            for(j=0;j<n-q;j++)
            a[i][j]=a[i+1][j];
        }
        }
        printf("%d\n",sum);
        sum=0;

    }

}
/*****************************************************
/* ?  ?: ?????????
/* ?  ?: ????n*n????3<=n<=100?????????????
/*         ??n-1???????????????????1*1???????????? 
/*         ???????????????????????????????????????????????????
/*         ??????????????????????????????????0? 
/*         ????????????n*n????????????
/*         ????????n? ???n?n*n???????????a[1][1]????
/* ?  ?: ???  1200012861
/* ?  ?: 2012?11?19?
*****************************************************/


void row_deduct (int array[101][101], int n)         //???????????
{
	int i, j, min;
	for (i = 0; i < n; i++)
	{
		min = array[i][0];
		for (j = 1; j < n; j++)
			if (array[i][j] < min)
				min = array[i][j];
		for (j = 0; j < n; j++)
			array[i][j] -= min;
	}
}

void col_deduct (int array[101][101], int n)        //???????????
{
	int i, j, min;
	for (i = 0; i < n; i++)
	{
		min = array[0][i];
		for (j = 1; j < n; j++)
			if (array[j][i] < min)
				min = array[j][i];
		for (j = 0; j < n; j++)
			array[j][i] -= min;
	}
}

void delete22 (int array[101][101], int n)         //?????????
{
	int i, j;
	for (i = 0; i < n; i++)
		for (j = 2; j < n; j++)
			array[i][j - 1] = array[i][j];
	for (i = 0; i < n; i++)
		for (j = 2; j < n; j++)
			array[j - 1][i] = array[j][i];
}

int main()
{
	int n, i, j, k, sum;
	int array[101][101];
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		sum = 0;                                  //??????a[1][1]??
		for (j = 0; j < n; j++)
			for (k = 0; k < n; k++)
				cin >> array[j][k];
		for (j = n; j >= 2; j--)
		{
			row_deduct (array, j);
			col_deduct (array, j);
			sum += array[1][1];                   //????a[1][1]??
			delete22 (array, j);
		}
		cout << sum << endl;
	}
	return 0;
}
/*
 * 6.cpp
 *
 *  Created on: 2011-12-31
 *      Author: 2011
 */
int main(){
	int num,i,j,sum;
	cin>>num;
	int n=num,min,t=num;
	while(num>0){
		n=t;
		int a[n][n];
		sum=0;
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];
		while(n>1){
		for(i=0;i<n;i++){
			min=a[i][0];
			for(j=0;j<n;j++)
				if(a[i][j]<min)
					min=a[i][j];
			for(j=0;j<n;j++)
				a[i][j]=a[i][j]-min;
		}
		for(i=0;i<n;i++){
			min=a[0][i];
			for(j=0;j<n;j++)
				if(a[j][i]<min)
					min=a[j][i];
			for(j=0;j<n;j++)
				a[j][i]=a[j][i]-min;
		}
		//for(i=0;i<n;i++)
			//for(j=0;j<n;j++)
			//	cout<<a[i][j]<<' ';
		sum=sum+a[1][1];
		//cout<<a[1][1]<<endl;
		//cout<<sum<<" ";
		for(i=0;i<n;i++)
			for(j=1;j<n;j++)
				a[i][j]=a[i][j+1];
		for(i=0;i<n;i++)
			for(j=1;j<n;j++)
				a[j][i]=a[j+1][i];
		n--;
		}
		cout<<sum<<endl;
		num--;
	}
}
/**
*@file		1000012767_1.cpp
*@author	??
*@date		2010.12.01
*@description
*			????????????????
*/

int g_a;					//???? g_a ????
int g_Matrix[100][100];		//???? g_Matrix ???????

int Operation(int);			//Operation ?????????
void lineDel(int);			//lineDel ?????
void rowDel(int);			//rowDel ?????
void Transform(int);		//Transform ??????

void lineDel(int times)
//?????
							//times ???????????????????????????
{
	int i, j, min, post;	//min ?????????post ???????????
	for (i = 1; i <= times; i++)	//??????
	{
		min = g_Matrix[i][1];		//?????????
		post = 1;
		for (j = 1; j <= times; j++)	//????????????????
		{
			if (g_Matrix[i][j] < min)
			{
				min = g_Matrix[i][j];
				post = j;
			}
		}
		g_Matrix[0][j] = 0;				//????????????????????????? 0???????????????????
		for (j = 1; j <= times; j++)	//???
			g_Matrix[i][j] -= min;
	}
}

void rowDel(int times)
//?????
							//times ???????????????????????????
{
	int i, j, min, post;	//min ?????????post ???????????
	for (j = 1; j <= times; j++)	//??????
	{
		if (g_Matrix[0][j])			//??? 0 ??????????
		{
			min = g_Matrix[1][j];	//?????????
			post = 1;
			for (i = 1; i <= times; i++)	//????????????????
			{
				if (g_Matrix[i][j] < min)
				{
					min = g_Matrix[i][j];
					post = i;
				}
			}
			for (i = 1; i <= times; i++)	//???
				g_Matrix[i][j] -= min;
		}
	}
}

void Transform(int times)
//??????
							//times ???????????????????????????? 1
{
	int i, j;
	for (i = 1; i <= times; i++)		//????????????????
	{									//???????????????
		for (j = 1; j <= times; j++)
		{
			if (i == 1 && j > 1)
				g_Matrix[i][j] = g_Matrix[i][j + 1];	//???????????
			if (j == 1 && i > 1)
				g_Matrix[i][j] = g_Matrix[i + 1][j];	//???????????
			if (i > 1 && j > 1)
				g_Matrix[i][j] = g_Matrix[i + 1][j + 1];	//???????????????
		}
	}
}

int Operation(int times)
//?????????
//?????????????? [1][1] ????????
							//times ??????????
{
	int j, num;
	if (times != 1)			//????? 1 * 1 ?????
	{
		for (j = 1; j <= times; j++)	//?? 0 ?????
			g_Matrix[0][j] = 1;
		lineDel(times);					//???
		rowDel(times);					//???
		num = g_Matrix[2][2];			//????? [1][1] ??????
		Transform(times - 1);			//????
		return num + Operation(times - 1);	//????????? [1][1] ?????????????????
	}
	else
		return 0;						//?????? 1 * 1 ????
}

int main()
{
	int n, i, j;
	cin >> n;
	g_a = n;
	while (n--)
	{
		for (i = 1; i <= g_a; i++)		//????
			for (j = 1; j <= g_a; j++)
				cin >> g_Matrix[i][j];
		cout << Operation(g_a) << endl;	//????
	}
	return 0;
}
int a[100][100]={0};//????
int n=0;
void find()
{
	int i,j;
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			cin>>*(*(a+i)+j);
	int sum=0;

	int l=0;
	int m=10000;

	for(l=n;l>1;l--){
	for(i=0;i<l;i++){m=10000;
		for(j=0;j<l;j++)
		m=min(m,*(*(a+i)+j));
		for(j=0;j<l;j++)
			*(*(a+i)+j)=*(*(a+i)+j)-m;}
	for(j=0;j<l;j++){
		m=10000;
		for(i=0;i<l;i++)
			m=min(m,*(*(a+i)+j));
		for(i=0;i<l;i++)
			*(*(a+i)+j)=*(*(a+i)+j)-m;}
	sum=sum+*(*(a+1)+1);
	for(i=1;i<l;i++)
		for(j=0;j<l;j++)
		*(*(a+i)+j)=*(*(a+i+1)+j);
	for(j=1;j<l;j++)
		for(i=0;i<l;i++)
			*(*(a+i)+j)=*(*(a+i)+j+1);}
	cout<<sum<<endl;

}



int main()
{
	cin>>n;
	int i,j;
	for(i=0;i<n;i++)
	find();
	//for(i=0;i<n;i++){		for(j=0;j<n;j++)			cout<<a[i][j];cout<<endl;}



  	return 0;
}
int main(){
    int n;
    int i,j,k;
    cin>>n;
    for(i = 0;i<n;++i){
		int sum =0;
		int t[101][101] = {0};
        for(j=0;j<n;++j){
            for(k=0;k<n;++k){
                cin>>t[j][k];        
            }    
        }     
        
        int cnt = n;
        while(cnt > 1){
			for(j=0;j<cnt;++j){
	            int min = t[j][0];
	            for(k=1;k<cnt;++k){
	                if(t[j][k]<min)min=t[j][k];        
	            }
	            for(k=0;k<cnt;++k){
	                t[j][k]-=min;        
	            }
	        }
	        
	        for(j=0;j<cnt;++j){
	            int min = t[0][j];
	            for(k=1;k<cnt;++k){
	                if(t[k][j]<min)min=t[k][j];        
	            }
	            for(k=0;k<cnt;++k){
	                t[k][j]-=min;        
	            }
	        }
	        
			sum +=t[1][1]; 
			/*
			for(j=0;j<cnt;++j){
            	for(k=0;k<cnt;++k){
            	    cout<<t[j][k]<<" ";       
            	}    
            	cout<<endl;
        	}
        	*/
			for(j=0;j<n;++j){
            	for(k=1;k<n;++k){
            	    t[j][k] = t[j][k+1];       
            	}    
        	} 
        	for(j=0;j<n;++j){
            	for(k=1;k<n;++k){
            	    t[k][j] = t[k+1][j];       
            	}    
        	} 
        	/*
        	for(j=0;j<cnt-1;++j){
            	for(k=0;k<cnt-1;++k){
            	    cout<<t[j][k]<<" ";       
            	}    
            	cout<<endl;
        	}
        	cout<<endl;
        	*/
        	cnt--;
	    }   
		cout<<sum<<endl;     
    } 
        return 0;
}
int sum (int);
int a[100][100];
int main ()
{
	int n, i, j, k;
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		for (j = 0; j < n; j++)
		{
			for (k = 0; k < n; k++)
				cin >> a[j][k];
		}
		cout << sum(n) << endl;
	}
	return 0;
}

int sum (int n)
{
	int i, j, min;
	for (i = 0; i < n; i++)
	{
		min = a[i][0];
		for (j = 1; j < n; j++)
		{
			if (a[i][j] < min)
				min = a[i][j];
		}
		for (j = 0; j < n; j++)
			a[i][j] -= min;
	}
	for (i = 0; i < n; i++)
	{
		min = a[0][i];
		for (j = 1; j < n; j++)
		{
			if (a[j][i] < min)
				min = a[j][i];
		}
		for (j = 0; j < n; j++)
			a[j][i] -= min;
	}
	if (n == 2)
		return a[1][1];
	int k = a[1][1];
	for (i = 1; i < n - 1; i++)
	{
		a[0][i] = a[0][i + 1];
		a[i][0] = a[i + 1][0];
		for (j = 1; j < n - 1; j++)
			a[i][j] = a[i + 1][j + 1];
	}
	return k + sum (n - 1);
}
//********************************
//*????????????   **
//*?????? 1200012827 **
//*???2012.11.24  **
//********************************
int board[100][100];
void Subduction(int);          //???? 
void Turn(int); 
int n;              //???? 
int sum;
int main()
{
    int i;
    cin >> n;
    for (i = 0;i <= n-1;i++)
    {
        sum = 0;
        int j,k;
        for (j = 0;j <= n-1;j++)               //???? 
        {
            for (k = 0;k <= n-1;k++)
            {
                cin >> board[j][k];
            }
        }
       
        Subduction(n);                     //?N????????? 
    }        return 0;
}

void Subduction(int m)
{
     if (m == 1)                                    //???????? 
     {
         cout << sum << endl;
     }
     else
     {
     int rowmin[100];
     int colmin[100];
     int p,q;
     for (p = 0; p <= m-1; p++)                   //????? 
     {
         rowmin[p] = board[p][0];
         for (q = 0; q <= m-1; q++)
         {
             if (board[p][q]<rowmin[p])
             {
                 rowmin[p] = board[p][q];
             }
         }
     }
     
     for (p = 0; p <= m-1; p++)                  //??? 
     {
         for (q = 0; q <= m-1; q++)
         {
             board[p][q] -= rowmin[p];
         }
     }
     for (q = 0; q <= m-1; q++)                 //????? 
     {
         colmin[q] = board[0][q];
         for (p = 0; p <= m-1; p++)
         {
             if (board[p][q] < colmin[q])
             {
                 colmin[q] = board[p][q];
             }
         }
     }
     
     for (q = 0;q <= m-1; q++)                       //??? 
     {
         for (p = 0; p <= m-1; p++)
         {
             board[p][q] -= colmin[q];
         }
     }
     sum += board[1][1];                          //?? 
     Turn(m);
     Subduction(m-1);
     }
}


void Turn(int m)                                 //?? 
{
     int p,q;
     for (q = 1; q <= m-2; q++)                       //????????????? 
     {
         board[0][q] = board[0][q+1];
     }
     for (p = 1; p <= m-2; p++)                       //?????????????
     {
         board[p][0] = board[p+1][0];
     } 
     for (p = 1; p <= m-2; p++)                        //????????? 
     {
         for (q = 1; q <=m-2; q++)
         {
             board[p][q] = board[p+1][q+1];
         }
     }
}
int main()
{
	int n,k,i,j,a[200][200],x,p,q,min,sum;
	cin>>n;
	for (k=1;k<=n;k++)
	{
		sum=0;
		for (i=1;i<=n;i++)
		 for (j=1;j<=n;j++)
		 {
			 cin>>a[i][j];
		 }
	for (x=n;x>=2;x--)
	 {
		for (p=1;p<=x;p++)
		{
		 min=10000;
		 for (q=1;q<=x;q++)
		  if (min>=a[p][q]) min=a[p][q];
		 for (q=1;q<=x;q++)
		 a[p][q]=a[p][q]-min;
		}
		for (q=1;q<=x;q++)
		{
		min=10000;
		for (p=1;p<=x;p++)
		 if (min>=a[p][q]) min=a[p][q];
		for (p=1;p<=x;p++)
		 a[p][q]=a[p][q]-min;
		}
		sum=sum+a[2][2];
		for (p=1;p<=x;p++)
		 for (q=2;q<=x-1;q++)
		 a[p][q]=a[p][q+1];
		for (q=1;q<=x-1;q++)
		 for (p=2;p<=x-1;p++)
			a[p][q]=a[p+1][q];
	 }
	cout<<sum<<endl;
	}
	return 0;
}