semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int juzhen(int);
int zhen[100][100];
int main()
{
	int n, i, j, k;
	cin >> n;
	for( k = 0; k < n; k++)
	{
		memset(zhen, 0, sizeof(zhen));
		for(i = 0; i < n; i++)
		{
			for(j = 0; j < n; j++)
			{
				cin >> zhen[i][j];
			}
		}
		cout << juzhen(n) << endl;
	}
	return 0;
}
int juzhen(int n)
{
	int i, j, min, num;
	if( n == 1 )
		return 0;
	for( i = 0; i < n; i ++)
	{
		min = zhen[i][0];
		for(j = 0; j < n; j++)
		{
			if( zhen[i][j] < min )
				min = zhen[i][j];
		}
		for(j = 0; j < n; j ++)
		{
			zhen[i][j] -= min;
		}
	}
    for( j = 0; j < n; j++ )
	{
		min = zhen[0][j];
		for( i = 0; i < n; i++ )
		{
			if( zhen[i][j] < min )
				min = zhen[i][j];
		}
		for( i = 0; i < n; i++ )
		{
			zhen[i][j] -= min;
		}
	}
	num = zhen[1][1];
	for( i = 0; i < n; i++ )
	{
		for( j = 0; j < n; j++ )
		{
			if( i > 1 && j > 1 )
				zhen[i - 1][j - 1] = zhen[i][j];
			if( i > 1 && j < 1 )
				zhen[i - 1][j] = zhen[i][j];
			if( i < 1 && j > 1 )
				zhen[i][j - 1] = zhen[i][j];
		}
	}
	return num + juzhen(n - 1);
}
/*
 * test5.cpp
 *
 *  Created on: 2013-12-19
 *      Author: ???
 */
int a[100][100],sum;
int del(int m)
{
	if(m==1)
		return sum;
	int min;
	for(int i=0;i<m;i++)
	{
		min=a[i][0];
		for(int j=1;j<m;j++)
		{
			if(min>a[i][j])
				min=a[i][j];
		}
		for(int j=0;j<m;j++)
			a[i][j]-=min;
	}
	for(int j=0;j<m;j++)
	{
		min=a[0][j];
		for(int i=1;i<m;i++)
		{
			if(min>a[i][j])
				min=a[i][j];
		}
		for(int i=0;i<m;i++)
			a[i][j]-=min;
	}
	sum+=a[1][1];
	for(int j=1;j<m-1;j++)
		a[0][j]=a[0][j+1];
	for(int i=1;i<m-1;i++)
		a[i][0]=a[i+1][0];
	for(int i=1;i<m-1;i++)
		for(int j=1;j<m-1;j++)
			a[i][j]=a[i+1][j+1];
	return del(m-1);
}
int main()
{
	int n,i,j,k;
	cin>>n;
	for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];
		sum=0;
		cout<<del(n)<<endl;
	}
	return 0;
}
int main()
{
	int i,j,k,m,n,sum,min;
	int a[101][101];
	scanf("%d",&n);
	for(m=0;m<n;m++)
	{
		sum=0;
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				scanf("%d",&a[i][j]);
		for(k=n;k>1;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]=a[i][j]-min;
			}
			for(j=0;j<k;j++)
			{
				min=a[0][j];
				for(i=0;i<k;i++)
				{
					if(a[i][j]<min)
						min=a[i][j];
				}
				for(i=0;i<k;i++)
					a[i][j]=a[i][j]-min;
			}
			sum=sum+a[1][1];
			for(i=2;i<k;i++)
				for(j=0;j<k;j++)
					a[i-1][j]=a[i][j];
			for(j=2;j<k;j++)
				for(i=0;i<k-1;i++)
					a[i][j-1]=a[i][j];

		}
		printf("%d\n",sum);
	}


	
	return 0;
}
int cut(int num[100][100],int n)
{
	int m=0,i=0,k=0,sum=0,j=0;
	int l[100],s[100];
	for(i=1;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			l[j]=0;
			s[j]=0;
		}
		for(j=0;j<n;j++)
		{
			if(num[j][0]>=0)
			{	
				l[j]=num[j][0];
				for(k=0;k<n;k++)
				{
					if(num[j][k]>=0&&num[j][k]<l[j])
						l[j]=num[j][k];
				}
				for(k=0;k<n;k++)
				{
					num[j][k]=num[j][k]-l[j];
				}
			}
		}
		cout<<endl;
		for(j=0;j<n;j++)
		{
			if(num[0][j]>=0)
			{	
				s[j]=num[0][j];
				for(k=0;k<n;k++)
				{
					if(num[k][j]>=0&&num[k][j]<s[j])
						s[j]=num[k][j];
				}
				for(k=0;k<n;k++)
				{
					num[k][j]=num[k][j]-s[j];
				}
			}
		}
		sum=sum+num[i][i];
		for(j=0;j<n;j++)
		{
			num[i][j]=-10;
			num[j][i]=-10;
		}
	}
	return sum;
}
int main()
{
	int n=0,i=0,j=0,k=0,sum=0;
	int num[100][100];
	cin>>n;
	for(i=1;i<=n;i++)
	{
		for(j=0;j<100;j++)
			for(k=0;k<100;k++)
				num[j][k]=-10;
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
				cin>>num[j][k];
		sum=cut(num,n);
		cout<<sum<<endl;
	}
	return 0;
}
/*
 * ??????????????
 * ??          ???
 * ????: 2011-11-6
 * ??????????????????????a[1][1]???
 */

int main()
{
    int i,j,k,n,min,sum=0,num=0;
    int a[101][101];
    int minr[101];
    int minc[101];
    cin>>n;

    for(k=1,num=0,sum=0;k<=n;k++)
    {

    	for(i=1;i<=n;i++)            //??? ????
    	{
    		for(j=1;j<=n;j++)
    		{
    			cin>>a[i][j];
    		}
    	}
        num=0;
        sum=0;
    	while(num<n-1)
    	{
    		memset(minr,0,101*4);
    		memset(minc,0,101*4);
    		for(i=1;i<=n-num;i++)                            //??????????
    		{ 											//?????
    			min=a[i][1];
    			for(j=1;j<=n-num;j++)
    			{
    				if(a[i][j]<min)
        			min=a[i][j];
    			}
    			minr[i]=min;
    		}

    		for(i=1;i<=n-num;i++)                           //?????
    		{
    			for(j=1;j<=n-num;j++)
    			{
    				a[i][j]=a[i][j]-minr[i];
    			}
    		}

    		for(j=1;j<=n-num;j++)
                { 											//?????
                	min=a[1][j];
                	for(i=1;i<=n-num;i++)
                	{
                		if(a[i][j]<min)
                			min=a[i][j];
                	}
                	minc[j]=min;
                }

           for(j=1;j<=n-num;j++)                          //?????
                {
                	for(i=1;i<=n-num;i++)
                	{
                		a[i][j]=a[i][j]-minc[j];
                	}
                }

                sum=sum+a[2][2];
                //??

                //????
                for(i=1;i<=n-num;i++)                        //???
                {
                	for(j=2;j<=n-num-1;j++)
                	{
                		a[i][j]=a[i][j+1];
                	}
                }

                for(j=1;j<=n-num-1;j++)
                {
                	for(i=2;i<=n-num-1;i++)
                	{
                		a[i][j]=a[i+1][j];
                	}
                }

                num++;                                       //???????1
    	}
     cout<<sum<<endl;
    }

	return 0;
}
int a[1001][1001];
int r[1001],c[1001],s=0;
void f(int n)
{   
	for(int i=0;i<n;i++)
    {
		r[i]=a[i][0];
		for(int j=0;j<n;j++)
		if(a[i][j]<r[i])r[i]=a[i][j];
		for(int j=0;j<n;j++)
		a[i][j]-=r[i];
	}
	for(int i=0;i<n;i++)
    {
		r[i]=a[0][i];
		for(int j=0;j<n;j++)
		if(a[j][i]<r[i])r[i]=a[j][i];
		for(int j=0;j<n;j++)
		a[j][i]-=r[i];
	}
	s+=a[1][1];
	if(n==2){cout<<s<<endl;return;}
	for(int i=1;i<n-1;i++)
	for(int j=0;j<n;j++)
		a[i][j]=a[i+1][j];
   for(int i=1;i<n-1;i++)
	for(int j=0;j<n-1;j++)
		a[j][i]=a[j][i+1];
		f(n-1);
}
		
int main()
{int n;
	cin>>n;
	int t=n;
	while(t--)
	{  s=0;
		memset(a,0,sizeof(a));
		for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
		cin>>a[i][j];
		f(n);
	}
	

}
int main()
{
int n,i,j,k,min,sum,m;
cin>>n;
int a[101][101]={0};
m=n;
while(m)
{  m--;
   for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
         cin>>a[i][j];                                                           //???? 
   sum=0;
for(k=n;k>1;k--)
   {
   
   for(i=1;i<=k;i++)
      {
	  min=98000; 				
      for(j=1;j<=k;j++)
         if(a[i][j]<min)
            min=a[i][j];
      for(j=1;j<=k;j++)
          a[i][j]=a[i][j]-min;
      }
   for(i=1;i<=k;i++)
       {
       min=98098;
	   for(j=1;j<=k;j++)
	         if(a[j][i]<min)
			    min=a[j][i];
		for(j=1;j<=k;j++)
		    a[j][i]=a[j][i]-min;                                            //???????? 
	   }
  sum=sum+a[2][2];                                                             //??sum 
   if(k>=3)
      {for(i=3;i<=k;i++)
         for(j=1;j<=k;j++)
            a[i-1][j]=a[i][j];
      for(i=3;i<=k;i++)
         for(j=1;j<=k;j++)
            a[j][i-1]=a[j][i];                                             //???????? 
      }
   }
cout<<sum<<endl;                                                           //??sum 
}
return 0;
}
int main(){
	int n,number[100][100],i,p,o,u,count,min;
	scanf("%d",&n);
	for(o=0;o<n;o++){
		for(i=0;i<n;i++){for(p=0;p<n;p++){scanf("%d",&number[i][p]);}}
               count=0;
		for(u=0;u<n-1;u++){
		for(i=0;i<n-u;i++){min=999999;for(p=0;p<n-u;p++){if(min>number[i][p]){min=number[i][p];}}for(p=0;p<n-u;p++){number[i][p]-=min;}}
		for(p=0;p<n-u;p++){min=999999;for(i=0;i<n-u;i++){if(min>number[i][p]){min=number[i][p];}}for(i=0;i<n-u;i++){number[i][p]-=min;}}
		count+=number[1][1];
		for(i=1;i<n-u-1;i++){number[i][0]=number[i+1][0];}
		for(p=1;p<n-u-1;p++){number[0][p]=number[0][p+1];}
		for(p=1;p<n-u-1;p++){for(i=1;i<n-u-1;i++){number[i][p]=number[i+1][p+1];}}
		}
		printf("%d\n",count);	
	}


	 return 0;
}
int n = 0, a[101][101] = {{0}}, sum = 0, k = 0;
void zerorow(int k)
{
	int min = 0;
	for (int i = 0; i < k; i ++)//every row
	{
		min = a[i][0];
		for (int j = 1; j < k; j ++)//find min
			if (a[i][j] < min)
				min = a[i][j];
		if (min)
			for (int j = 0; j < k; j ++)//to zero
				a[i][j] -= min;
	}
}
void zerocol(int k)
{
	int min = 0;
	for (int i = 0; i < k; i ++)//every col
	{
		min = a[0][i];
		for (int j = 1; j < k; j ++)//find min
			if (a[j][i] < min)
				min = a[j][i];
		if (min)
			for (int j = 0; j < k; j ++)//to zero
				a[j][i] -= min;
	}
}
void jian(int k)
{
	for (int i = 2; i < k; i ++)//row move up
		for (int j = 0; j < k; j ++)
			a[i - 1][j] = a[i][j];
	for (int j = 2; j < n; j ++)//col move left
		for (int i = 0; i < k - 1; i ++)
			a[i][j - 1] = a[i][j];
}
int main()
{
	cin >> n;//cin
	while(cin>>a[0][0])
	{
		sum = 0;
		for (int i = 0; i < n; i ++)
			for (int j = 0; j < n; j ++)
			{
				if (i + j)
					cin >> a[i][j];
			}
		for (k = n; k > 1; k --)
		{
			zerorow(k);
			zerocol(k);
			sum += a[1][1];
			jian(k);
		}
		cout << sum << endl;
	}
	return 0;
}
int main() {
	int i, k, n, j;
	int sum = 0;
	cin >> n;
	int a[n][n];
	int minh[n], minl[n];
	for (k = 0; k < n; k++) {
		for (i = 0; i < n; i++) {//????
			for (j = 0; j < n; j++)
				cin >> a[i][j];
		}
		int t = 1;//t????????
		sum = 0;
		while (t < n) {
			for (i = 0; i < n; i++) {//minh?minl??????????
				minh[i] = 10000;
				minl[i] = 10000;
			}
			for (i = 0; i < n; i++) {//??????
				for (j = 0; j < n; j++) {
					if (a[i][j] != 10000 && minh[i] > a[i][j])
						minh[i] = a[i][j];
				}
			}
			for (i = 0; i < n; i++) {//??????????
				for (j = 0; j < n; j++) {
					if (a[i][j] != 10000)
						a[i][j] = a[i][j] - minh[i];
				}
			}
			for (i = 0; i < n; i++) {//??????
				for (j = 0; j < n; j++) {
					if (a[i][j] != 10000 && minl[j] > a[i][j])
						minl[j] = a[i][j];
				}
			}
			for (i = 0; i < n; i++) {//??????????
				for (j = 0; j < n; j++) {
					if (a[i][j] != 10000)
						a[i][j] = a[i][j] - minl[j];
				}
			}

			sum = sum + a[t][t];
			for (i = 0; i < n; i++) {
				for (j = 0; j < n; j++) {
					if (i == t || j == t)//???t???t?
						a[i][j] = 10000;
				}
			}

			t++;

		}
		cout << sum << endl;
	}

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

int minr(int u,int n)
{
	int i, minn = a[u][1]; 
	for (i = 1; i <= n; i++)
	{
		if (minn >= a[u][i])
			minn = a[u][i];
	}
	return minn;
}

int minc(int v, int n)
{
	int i, minn = a[1][v];
	for (i = 1; i <= n; i++)
	{
		if (minn >= a[i][v])
			minn = a[i][v];
	}
	return minn;
}

//* ???? *//
void f2(int n)
{
	int u, v;
	for (u = 2; u <= n - 1; u++)
	{
		for (v = 1; v <= n; v++)
		{
			a[u][v] = a[u + 1][v];
		}
	}
	for (v = 2; v <= n - 1; v++)
	{
		for (u = 1; u <= n; u++)
		{
			a[u][v] = a[u][v + 1];
		}
	}
	return;
}


//* ???? *//
void f1(int n)
{
	if (n == 1)
	{
		cout << sum << endl;
		return;
	}
	int u, v;
	//* row cancle *//
	for (u = 1; u <= n; u++)
	{
		int temp = minr(u, n);
		for (v = 1; v <= n; v++)
		{
			a[u][v] = a[u][v] - temp;
		}
	}
	//* col cancle *//
	for (v = 1; v <= n; v++)
	{
		int temp = minc(v, n);
		for (u = 1; u <= n; u++)
		{
			a[u][v] = a[u][v] - temp;
		}
	}
	sum = sum + a[2][2];
	f2(n);
	f1(n - 1);
}


int main()
{
	int n, i, u, v;
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		sum = 0;
		for (u = 1; u <= n; u++)
		{
			for (v = 1; v <= n; v++)
			{
				cin >> a[u][v];
			}
		}
		f1(n);
	}
	return 0;
}
/**
 * ????????.cpp
 * ????????????
 * ??????
 * ???2010.12.1
 */


int changeSum(int, int, int[][100]);
int main()
{
	int n, i;
	cin >> n;
	for (i = 1; i <= n; i++)
	{
		int j, k, a[100][100]; 
		for (j = 0; j < n; j++)
			for (k = 0; k < n; k++)
				cin >> a[j][k];
		cout << changeSum(n, 0, a) << endl;
	}
	return 0;
}

int changeSum(int n, int sum, int a[][100])
{
	if (n == 1)
		return sum;
	else
	{
		int j, k, minrow, mincol;
		for (j = 0; j < n; j++)
		{
			minrow = a[j][0];
			for (k = 1; k < n; k++)
				if (a[j][k] < minrow)
					minrow = a[j][k];
			for (k = 0; k < n; k++)	
				a[j][k] -= minrow;
		}
		for (k = 0; k < n; k++)
		{
			mincol = a[0][k];
			for (j = 1; j < n; j++)
				if (a[j][k] < mincol)
					mincol = a[j][k];
			for (j = 0; j < n; j++)	
				a[j][k] -= mincol;
		}
		sum += a[1][1];
		for (j = 2; j < n; j++)
			for (k = 0; k < n; k++)
				a[j-1][k] = a[j][k];
		for (j = 0; j < n; j++)
			for (k = 2; k < n; k++)
				a[j][k-1] = a[j][k];
		n--;
		changeSum(n, sum, a);
	}
}
//
// ????3.cpp
// ????????????
// ?????? 1200012943
// ??:2012.11.21
//
int a[100][100]; 
void shrink(int n)
{
	for (int i = 1; i < n - 1; i++) // ?n??????n-1???
	{
        a[0][i] = a[0][i + 1];
        a[i][0] = a[i + 1][0];
        for (int j = 1; j < n - 1; j++)
        a[i][j] = a[i + 1][j + 1];
	}
}
int Sum(int n)
{
	int i;
    for (i = 0; i < n; i++)
	{
        int min = a[i][0], j;
        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], j;
        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) // n?2?????a[1][1]
    return a[1][1];
	int k = a[1][1];
	shrink (n);
    return k + Sum(n - 1);
}
int main()
{
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
	{
        for (int j = 0; j < n; j++)
            for (int k = 0; k < n; k++)
                cin >> a[j][k];  //????
            cout << Sum(n) << endl;
	}
    return 0;
}
/*
 * juzhenboss__006.cpp
 *?????????
 *  Created on: 2011-11-6
 *      Author: ???
 */
int main ()//?????
{
	int a[50][50][50];
	int max[101]={0};
	int i,j,k,m,n,min,t=0;
	cin>>n;//???????
	for (i=1;i<=n;i++)
		for (j=1;j<=n;j++)
			for (k=1;k<=n;k++)
				cin>>a[i][j][k];//??n?n???
	for (i=1;i<=n;i++)//?n?????????????????
	{
	  for (t=0;t<n-1;t++)//t??????
	  {
	  for (j=1;j<=n-t;j++)//?????????????????,?t????????
	  {
		  min=a[i][j][1];

		  for (k=1;k<=n-t;k++)
		  {
			 if (min>a[i][j][k])
				 min=a[i][j][k];

		  }
		  for (k=1;k<=n-t;k++)
			  a[i][j][k]=a[i][j][k]-min;

	  }
	  for (k=1;k<=n-t;k++)//?????????,?????
	  {
		  min=a[i][1][k];//???
		  for (j=1;j<=n-t;j++)
		  {
			  if (min>a[i][j][k])
				  min=a[i][j][k];
		  }
		  for (j=1;j<=n-t;j++)
			  a[i][j][k]=a[i][j][k]-min;
      }
	  max[i]=max[i]+a[i][2][2];//?????????
	  for (j=2;j<=n-t-1;j++)//??2????
	  {
		 for (k=1;k<=n-t;k++)
		 {
			 a[i][j][k]=a[i][j+1][k];
		 }
	  }
	  for (k=2;k<=n-t-1;k++)//???????
	  {
		  for (j=1;j<=n-t;j++)
			  a[i][j][k]=a[i][j][k+1];
	  }


	}
	}
	for (i=1;i<=n;i++)//??
		cout<<max[i]<<endl;
	return 0;
}
int main()
{
	int n;
	cin>>n;
	for (int k=0;k<n;k++)
	{
		int a[100][100];
		for (int i=0;i<n;i++)
			for (int j=0;j<n;j++)
				cin>>a[i][j];
		int ans=0;
		for (int nn=n;nn>1;nn--)
		{
			for (int i=0;i<nn;i++)
			{
				int min=a[i][0];
				for (int j=1;j<nn;j++)
					if (min>a[i][j]) min=a[i][j];
				for (int j=0;j<nn;j++)
					a[i][j]-=min;
			}
			for (int i=0;i<nn;i++)
			{
				int min=a[0][i];
				for (int j=1;j<nn;j++)
					if (min>a[j][i]) min=a[j][i];
				for (int j=0;j<nn;j++)
					a[j][i]-=min;
			}
			ans+=a[1][1];
			for (int i=1;i<nn;i++)
				for (int j=0;j<nn;j++)
					a[i][j]=a[i+1][j];
			for (int j=1;j<nn;j++)
				for (int i=0;i<nn;i++)
					a[i][j]=a[i][j+1];
		}
		cout<<ans<<endl;
	}
	return 0;
}
/*
 * ????6.cpp
 * ????????????
 *  Created on: 2011-11-6
 *      Author: LTY
 */
int main(){
	int n,i,j,min,sum=0,t,m;//????
	int a[105][105];//????
	cin>>n;//??n
	t=n;
	m=n;
	while(t>0)//??n???
	{
		n=m;
		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(min>a[i][j])
					min=a[i][j];
			for(j=0;j<n;j++)
				a[i][j]=a[i][j]-min;
		}

		for(j=0;j<n;j++)//???
		{
			min=a[0][j];
			for(i=0;i<n;i++)
				if(min>a[i][j])
					min=a[i][j];
			for(i=0;i<n;i++)
				a[i][j]=a[i][j]-min;
		}

		sum=sum+a[1][1];//??a[1][1]
		for(i=0;i<n;i++)
			for(j=1;j<n-1;j++)
				a[i][j]=a[i][j+1];//???
		for(j=0;j<n;j++)
			for(i=1;i<n-1;i++)
				a[i][j]=a[i+1][j];//???

		n--;
		}
		cout<<sum<<endl;//???
		t--;
	}
}
/*
 * ????????.
 *  ????: 2010-12-31
 *    ??????
 */
int juzhen[101][101];
int sum;
void xiaochu(int n) {
	if (n == 1);
	else {
		int minj[101];
		for (int i = 0; i < n; i++)
			minj[i] = 1000;
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (juzhen[i][j] < minj[i])
					minj[i] = juzhen[i][j];
			}
			for (int j = 0; j < n; j++)
				juzhen[i][j] = juzhen[i][j] - minj[i];
		}
		for (int i = 0; i < n; i++)
			minj[i] = 1000;
		for (int j = 0; j < n; j++) {
			for (int i = 0; i < n; i++) {
				if (juzhen[i][j] < minj[j])
					minj[j] = juzhen[i][j];
			}
			for (int i = 0; i < n; i++)
				juzhen[i][j] = juzhen[i][j] - minj[j];
		}
		sum = sum + juzhen[1][1];
		for (int j = 1; j < n - 1; j++) {
			juzhen[0][j] = juzhen[0][j + 1];
			juzhen[j][0] = juzhen[j + 1][0];
		}
		for (int i = 1; i < n - 1; i++)
			for (int j = 1; j < n - 1; j++)
				juzhen[i][j] = juzhen[i + 1][j + 1];
		xiaochu(n - 1);
	}
}

int main() {
	int n;
	cin >> n;
	for (int z = 0; z < n; z++) {
		for (int i = 0; i < n; i++)
			for (int j = 0; j < n; j++)
				cin >> juzhen[i][j];
		sum=0;
		xiaochu(n);
		cout << sum << endl;
	}
}
//============================================================================
// Name        : 5.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================


int n,m,imin;
int matrix[110][110];
void submin(int x, int y, int dx, int dy) {
	if (x == m || y == m) return;
	if (matrix[x][y] < imin)  {
		imin = matrix[x][y];
	}
	submin(x + dx, y + dy, dx, dy);
	matrix[x][y] =matrix[x][y]- imin;
}
void sub() {
	int i, j;
	for (i = 0; i < m; i++)
		for (j = 1; j < m; j++)
			{
			matrix[i][j] = matrix[i][j + 1];
			}
	for (i = 0; i < m; i++)
		for (j = 1; j < m; j++)
			{
			matrix[j][i] = matrix[j + 1][i];
			}
}
int main() {
	int i, j, sum, t;
	for (cin >> n, t = 0; t < n; t++) {
		for (i=0;i<n;i++)
			for (j = 0; j < n; j++)
				cin >> matrix[i][j];
		for (sum = 0,m=n; m >= 1; m--) {
			for (i = 0; i < 2 * m; i++) {
				imin = 10000;
				submin((i%m)*(1-i/m),(i%m)*(i/m), i / m, 1 - i / m);
			}
			sum =sum+ matrix[1][1];
			sub();
		}
		cout << sum << endl;
	}
}
void main()
{
    int n,a[100][100],b[100],c[100],i,j,k;
	scanf("%d",&n);
	for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			scanf("%d ",&a[i][j]);
		}
		int sum=n,l=0;
		while(sum>1)
		{
        for(i=0;i<sum;i++)
		{
			b[i]=a[i][0];
			for(j=0;j<sum;j++)
			{
				if(a[i][j]<b[i]) b[i]=a[i][j];
			}
			for(j=0;j<sum;j++)
				a[i][j]=a[i][j]-b[i];
		}
		for(j=0;j<sum;j++)
		{
			c[j]=a[0][j];
			for(i=0;i<sum;i++)
			{
				if(a[i][j]<c[j]) c[j]=a[i][j];
			}
			for(i=0;i<sum;i++)
				a[i][j]=a[i][j]-c[j];
		}
		l=l+a[1][1];
		for(i=0;i<sum;i++)
		{
			for(j=1;j<sum-1;j++)
				a[i][j]=a[i][j+1];
		}
		for(j=0;j<sum;j++)
		{
			for(i=1;i<sum-1;i++)
				a[i][j]=a[i+1][j];
		}
		sum--;
		}
		printf("%d\n",l);
	}
}
int n,a[200][200],temp,sum[200];

void zero(int i) {
	int mi=1000;
	for(int j=i;j<=n;j++) {
		for(int k=i;k<=n;k++)
			mi=min(*(*(a+j)+k),mi);
		for(int k=i;k<=n;k++) 
			*(*(a+j)+k)=*(*(a+j)+k)-mi;
		mi=1000;
	}
	mi=1000;
	for(int k=i;k<=n;k++) {          
		for(int j=i;j<=n;j++) 
			mi=min(*(*(a+j)+k),mi);
		for(int j=i;j<=n;j++) 
			*(*(a+j)+k)=*(*(a+j)+k)-mi;
		mi=1000;
	}
}

int main() {
	cin>>n;
	for(int l=1;l<=n;l++) {
		sum[l]=0;
		for(int j=1;j<=n;j++) 
			for(int k=1;k<=n;k++)
				cin>>*(*(a+j)+k);
		for(int i=1;i<=n;i++) {
			temp=*(*(a+1)+i);
			*(*(a+1)+i)=*(*(a+2)+i);
			*(*(a+2)+i)=temp;
		}
		for(int i=1;i<=n;i++) {
			temp=*(*(a+i)+1);
			*(*(a+i)+1)=*(*(a+i)+2);
			*(*(a+i)+2)=temp;
		}
		for(int i=1;i<=n-1;i++) {
			zero(i);
			sum[l]+=*(*(a+i)+i);
			for(int k=i+1;k<=n;k++) {
				temp=*(*(a+i+1)+k);
				*(*(a+i+1)+k)=*(*(a+i+2)+k);
				*(*(a+i+2)+k)=temp;
			}
			for(int j=i+1;j<=n;j++) {
				temp=*(*(a+j)+i+1);
				*(*(a+j)+i+1)=*(*(a+j)+i+2);
				*(*(a+j)+i+2)=temp;
			}
		}
		cout<<sum[l]<<endl;
	}
	return 0;
}
//***********************************
//*?????????
//***********************************
int main()
{
	int a[100][100];
	int k=1,n=0;
	cin>>n;
	for(k=1;k<=n;k++)                //??k?????n???????
	{
		int i=0,j=0,m;
		int result=0;
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];     //??n???
		int min=0;
		for(m=n;m>1;m--)          //??m?????n-1???????
		{
            for(i=0;i<m;i++)
			{
				min=a[i][0];
				for(j=0;j<m;j++)
				{if(min>a[i][j])
				min=a[i][j];
				}              //????????
				for(j=0;j<m;j++)
					a[i][j]=a[i][j]-min;
			}                          //?????????
			for(j=0;j<m;j++)
			{
				min=a[0][j];
				for(i=0;i<m;i++)
				{if(min>a[i][j])
				min=a[i][j];
				}                    //????????
                for(i=0;i<m;i++)
					a[i][j]=a[i][j]-min;
			}                     //?????????
			result=result+a[1][1];         //?????a[1][1]??
			for(j=1;j<m-1;j++)
			a[0][j]=a[0][j+1];
			for(i=1;i<m-1;i++)
			{
				a[i][0]=a[i+1][0];
				for(j=1;j<m-1;j++)
					a[i][j]=a[i+1][j+1];
			}

		}                //???????
		
		cout<<result<<endl;
	}
	return 0;
}
int a[100][100] = {0};

void function(int n)
{
	int i, j, k, min, num = 0;
	for (i = 0 ; i < n ; i++)
	{
		for (j = 0 ; j < n ; j++)
		{
			cin >> a[i][j];
		}
	}
	for (i = n ; i > 1 ; i--)
	{
		for (j = 0 ; j < i ; j++)
		{
			min = a[j][0];
			for (k = 0 ; k < i ; k++)
			{
				if (a[j][k] < min)
				min = a[j][k];
			}
			for (k = 0 ; k < i ; k++)
			{
				a[j][k] = a[j][k] - min;
			}
		}
		for (j = 0 ; j < i ; j++)
		{
			min = a[0][j];
			for (k = 0 ; k < i ; k++)
			{
				if (a[k][j] < min)
				min = a[k][j];
			}
			for (k = 0 ; k < i ; k++)
			{
				a[k][j] = a[k][j] - min;
			}
		}
		num = num + a[1][1];
		for (j = 0 ; j < i ; j++)
		{
			for (k = 0 ; k < i ; k++)
			{
				if (j == 0 && k > 1)
				a[j][k - 1] = a[j][k];
				if (k == 0 && j > 1)
				a[j - 1][k] = a[j][k];
				if (j > 1 && k > 1)
				a[j - 1][k - 1] = a[j][k];
			}
		}
	}
	cout << num << endl;
}

int main()
{
	int n, i;
	cin >> n;
	for (i = 1 ; i <= n ; i++)
	{
		function(n);
	}
	return 0;
}
int main()
{ 
	int ma[120][120];
	int i;
	int j;
	int sum[120];
	int time;
	int t;
	int n;
	int min[120];
	cin>>n;
	for(t=0;t<=n-1;t++)
	{
		
    	for(i=0;i<=n-1;i++)
			for(j=0;j<=n-1;j++)
				cin>>ma[i][j];
				//??

				sum[t]=0;
		for(time=n-1;time>=1;time--)
		{
				for(i=0;i<=time;i++)
				{
					min[i]=ma[i][0];
					for(j=0;j<=time;j++)
						if(min[i]>ma[i][j])
							min[i]=ma[i][j];
					for(j=0;j<=time;j++)
							ma[i][j]=ma[i][j]-min[i];
				}
				for(j=0;j<=time;j++)
				{
					min[j]=ma[0][j];
					for(i=0;i<=time;i++)
						if(min[j]>ma[i][j])
							min[j]=ma[i][j];
					for(i=0;i<=time;i++)
						ma[i][j]=ma[i][j]-min[j];
				}


		 sum[t]=sum[t]+ma[1][1];
		 if(time>=2)
		 {
		 for(i=1;i<=time-1;i++)
			 for(j=0;j<=time;j++)
				 ma[i][j]=ma[i+1][j];
		for(j=1;j<=time-1;j++)
			for(i=0;i<=time;i++)
				ma[i][j]=ma[i][j+1];
		 }

		}
	
	
	}

	for(i=0;i<=n-2;i++)
		cout<<sum[i]<<endl;
	cout<<sum[n-1];


return 0;
	

}