semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int n,k = 0,flag = 0,i,j,a[200][200],o[4][2]={{0,1},{0,-1},{1,0},{-1,0}},l,ans = 0,min;
    double b[1000],t,p,q;
    cin >>n;
    for (t = 1;t<=n;t++)
    {
    ans = 0;
    for (i = 0; i<= n-1; i++)
     for (j = 0; j<= n-1; j++)
     cin >>*(*(a+i)+j);
    for (k = 1;k<=n -1;k++)
    {
     for (i = 0; i<= n-k; i++)
       {
       min=**(a+i);
       
     for (j = 1; j<= n-k; j++)
     if (*(*(a+i)+j)<min)
     min =*(*(a+i)+j);
      for (j = 0; j<= n-k; j++)
      *(*(a+i)+j)= *(*(a+i)+j) -min;
      }
      
      for (j = 0; j<= n-k; j++)
       {
       min=*(*a+j);
     for (i = 1; i<= n-k; i++)
     if (*(*(a+i)+j)<min)
     min =*(*(a+i)+j);
      for (i = 0; i<= n-k; i++)
      *(*(a+i)+j)= *(*(a+i)+j) -min;
      }
       ans = ans + *(*(a+1)+1);
       for (i = 1; i<= n-k-1; i++)
       for (j = 0;j <= n-k;j++)
       *(*(a+i)+j) = *(*(a+i+1)+j);
       for (j = 1; j<= n-k-1; j++)
       for (i = 0;i<=n-k;i++)
        *(*(a+i)+j) = *(*(a+i)+j + 1);
       
       }
       cout<<ans<<endl;
        
    }


}
int a[110][110];
int rmin[110],cmin[110];
void clear(int n)
{
	for(int i=0;i<n;i++)
	{
		rmin[i]=a[i][0];
		for(int j =0;j<n;j++)
		{
			if(a[i][j]<rmin[i])
				rmin[i]=a[i][j];
		}
	}
	for(int i=0;i<n;i++)
		for(int j =0;j<n;j++)
			a[i][j]=a[i][j]-rmin[i];
	for(int i=0;i<n;i++)
	{
		cmin[i]=a[0][i];
		for(int j=0;j<n;j++)
		{
			if(a[j][i]<cmin[i])
				cmin[i]=a[j][i];
		}
	}
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			a[j][i]=a[j][i]-cmin[i];
}
void del (int n)
{
	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;j++)
			a[j][i]=a[j][i+1];
}
int main ()
{
	int n;
	cin>>n;
	int sum;
	for(int m=0;m<n;m++)
	{
		sum=0;
		for(int j=0;j<n;j++)
			for(int k=0;k<n;k++)
				cin>>a[j][k];
		for(int i=n;i>1;i--)
		{
			clear(i);
			sum+=a[1][1];
			del(i);
		}
		cout<<sum<<endl;
	}
	return 0;
}
int func(int a[100][100],int rank,int sum)
{
if(rank==1)
return(sum);
int i,j,k,min=1000;//i?????j????
for(i=0;i<=rank-1;i++)
{
for(j=0;j<=rank-1;j++)
{
if(a[i][j]<min)
min=a[i][j];
}
for(j=0;j<=rank-1;j++)
a[i][j]-=min;
min=1000;
}//??????
for(j=0;j<=rank-1;j++)
{
for(i=0;i<=rank-1;i++)
{
if(a[i][j]<min)
min=a[i][j];
}
for(i=0;i<=rank-1;i++)
a[i][j]-=min;
min=1000;
}//??????
sum+=a[1][1];
for(j=1;j<=rank-2;j++)
a[0][j]=a[0][j+1];
for(i=1;i<=rank-2;i++)
a[i][0]=a[i+1][0];
for(i=1;i<=rank-2;i++)
{
for(j=1;j<=rank-2;j++)
a[i][j]=a[i+1][j+1];
}
func(a,rank-1,sum);
}
int main()
{
int n,i,j,k;//i?????j?????k?????
int matrix[100][100]={{0}},sum=0;
scanf("%d",&n);
for(k=1;k<=n;k++)
{
sum=0;
for(i=0;i<=n-1;i++)
{
for(j=0;j<=n-1;j++)
scanf("%d",&matrix[i][j]);
}
printf("%d\n",func(matrix,n,sum));
}
}
int main()
{
	int i=0,j=0,k=0,m=0,n=0;
	int num;
	cin>>num;
	int an[100][100];
	for(int c=0;c<num;c++)
	{
		
		for(int i=0;i<num;i++)
		{
			for(j=0;j<num;j++)
				cin>>*(*(an+i)+j);
		}
		int sum=0;
		int hang;
		for(hang=num;hang>1;hang--)
		{
			int a=0,b=0;
			for(m=0;m<hang;m++)
			{
				a=*(*(an+m)+0);
				for(n=0;n<hang;n++)
				{
					if(*(*(an+m)+n)<a)
						a=*(*(an+m)+n);
				}
				for(n=0;n<hang;n++)
				*(*(an+m)+n)=*(*(an+m)+n)-a;
			}


			for(m=0;m<hang;m++)
			{
				b=*(*(an+0)+m);
				for(n=0;n<hang;n++)
				{
					if(*(*(an+n)+m)<b)
						b=*(*(an+n)+m);
				}
				for(n=0;n<hang;n++)
					*(*(an+n)+m)=*(*(an+n)+m)-b;
			}
			sum=sum+an[1][1];
			for(i=0;i<hang;i++)
			{
				for(j=1;j<hang;j++)
					*(*(an+i)+j)=*(*(an+i)+j+1);
			}
			for(i=0;i<hang;i++)
			{
				for(j=1;j<hang;j++)
					*(*(an+j)+i)=*(*(an+j+1)+i);
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}
int m;
int a[100][100];
int sum=0;

void d(int n)
{
	int min;

	for(int i=0;i<n;i++)
	{
		min=a[i][0];
		for(int j=0;j<n;j++)
		{
			if(min>a[i][j])
				min=a[i][j];
		}
		for(int j=0;j<n;j++)
			a[i][j]-=min;
	}
	for(int j=0;j<n;j++)
	{
		min=a[0][j];
		for(int i=0;i<n;i++)
		{
			if(min>a[i][j])
							min=a[i][j];
		}
		for(int i=0;i<n;i++)
		{
			a[i][j]-=min;
		}
	}
	sum+=a[1][1];
	for(int i=0;i<n;i++)
		for(int j=1;j<n-1;j++)
			a[i][j]=a[i][j+1];
	for(int j=0;j<n-1;j++)
		for(int i=1;i<n-1;i++)
			a[i][j]=a[i+1][j];
	if(n>2) d(n-1);


}
int main()
{

	cin>>m;
	int s[m+1],p=1;
	for(int t=1;t<=m;t++)
	{
		for(int i=0;i<m;i++)
    	  for(int j=0;j<m;j++)
    		  cin>>a[i][j];
		d(m);
		s[p++]=sum;
		sum=0;

	}
	for(int i=1;i<=m;i++)
		cout<<s[i]<<endl;
	return 0;
}
/*************************************************************************************************************
* @file .cpp
* @author ????
* @date 1119
* @description
*         ???0
*/

int i, j, k, l;
int a[100][100];
int xiao(int n)
{
	int min, s;
	for(j = 0; j < n; j++)
	{
		min = a[j][0];
		for(k = 1; k < n; k++)
			min = (a[j][k] < min) ? a[j][k] : min; 
		for(k = 0; k < n; k++)
			a[j][k] -= min;
	}
	for(j = 0; j < n; j++)
	{
		min = a[0][j];
		for(k = 1; k < n; k++)
			min = (a[k][j] < min) ? a[k][j] : min; 
		for(k = 0; k < n; k++)
			a[k][j] -= min;
	}
	if (n == 2)
		return a[1][1];
	s = 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];
	}
	n -= 1;
	return (s + xiao(n));
}
int main()
{
	
	int n, result[100];
	cin >> n;
	for (l = 0; l < n; l++)
	{
		for(j = 0; j < n; j++)
		{
			for(k = 0; k < n; k++)
				cin >> a[j][k];
		}
		result[l] = xiao(n);
	}
	for(l = 0; l < n ; l++)
		cout << result[l] << endl;
	return 0;
}
int main()
{
	int a[1000][1000],sum=0,p=1,z,k,w,l,min;
	int i,j,n;
	cin >>n;
	for(w=0;w<n;w++)
	{
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
				cin >> a[i][j];
		}
		for(z=0;z<n-1;z++)
		{
		for(i=0;i<n;i++)
		{
			min =1000;
			for(j=0;j<n;j++)
			{

				if(a[i][j]<min)
					min=a[i][j];
			}
			for(k=0;k<n;k++)
				a[i][k]-=min;
		}
		for(i=0;i<n;i++)
		{
			min =1000;
			for(j=0;j<n;j++)
			{

				if(a[j][i]<min)
					min=a[j][i];
				
			}
			for(k=0;k<n;k++)
				a[k][i]-=min;
		}
		sum+=a[p][p];
		for(l=0;l<n;l++)
			a[l][p]=100000;
		for(l = 0;l<n;l++)
			a[p][l] = 100000;
		p++;
		}
		cout << sum <<endl;
		p=1;
		sum=0;
		memset(a,1000000,sizeof(a));
	}

	return 0;
}
int main()
{
	int array[L][L];
	int n , i , j , k;

	cin >> n;
	for (k = 1; k <= n; k++)
	{
		for (i = 0; i < n; i++)
			for (j = 0; j < n; j++)
				cin >> array[i][j];

		int lenth , min , sum;
		lenth = n-1;
		sum = 0;
        while (lenth >=1)
		{
			for (i = 0; i <= lenth; i++)
			{
				//??
				min = 2147483647;
				for (j = 0; j <= lenth; j++)
				{
					if (array[i][j] < min)
						min = array[i][j];
				}
				for (j = 0; j <= lenth; j++)
					array[i][j] = array[i][j] - min;
			}
			for (j = 0; j <= lenth; j++)
			{
				//??
				min = 2147483647;
				for (i = 0; i <= lenth; i++)
				{
					if (array[i][j] < min)
						min = array[i][j];
				}
				for (i = 0; i <= lenth; i++)
					array[i][j] = array[i][j] - min;
			}
			sum = sum + array[1][1];
			//??
			for (i = 0; i <= lenth; i++)
				for (j = 1; j < lenth; j++)
					array[i][j] = array[i][j+1];
			for (j = 0; j <= lenth; j++)
				for (i = 1; i < lenth; i++)
					array[i][j] = array[i+1][j];
			lenth = lenth - 1;
		}
		cout << sum;
		if (k < n)
			cout << endl;
	}

	return 0;
}
int main()
{
    int i,n,j,k,sum=0,s2;
    cin>>n;                                                                              //n?????
	s2=n;
    for(i=1;i<=s2;i++)
    {
		n=s2;
		sum=0;
        int a[100][100];
        for(j=0;j<n;j++)
            for(k=0;k<n;k++)
                cin>>a[j][k];/*????n*n???*/                                       //??100*100????
        while(n>1)/*?????2???*/
        {
            int s[100];/*?????????????????*/
            for(j=0;j<n;j++)
                s[j]=a[j][0];/*????????????????*/
            for(j=0;j<n;j++)
                for(k=0;k<n;k++)
                    if(a[j][k]<s[j])
                        s[j]=a[j][k];/*???????*/
            for(j=0;j<n;j++)
                for(k=0;k<n;k++)
                    a[j][k]-=s[j];/*???????*/

			int t[100];
            for(j=0;j<n;j++)
                t[j]=a[0][j];
            for(j=0;j<n;j++)
                for(k=0;k<n;k++)
                    if(a[k][j]<t[j])
                        t[j]=a[k][j];
			for (j=0;j<n;j++)
				for (k=0;k<n;k++)
					a[k][j]-=t[j];


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

                n--;/*????*/
        }
        cout<<sum<<endl;
    }
return 0;
}
int main()
{
	int n,q,i,j,min1[100],min2[100],a[100][100],d,w;
	cin>>n;w=n;
	for(q=0;q<w;q++)
	{
		
		d=0;n=w;
		for(i=0;i<w;i++)
		{
			for(j=0;j<w;j++)		
			{	cin>>a[i][j];
			}
		}while(n>=2){
			for(i=0;i<n;i++)min1[i]=1000;
			for(i=0;i<n;i++)min2[i]=1000;
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				if(min1[i]>a[i][j])
				{
					min1[i]=a[i][j];//cout<<min1[i]<<endl;
				}
			}
		}
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				a[i][j]-=min1[i];
			}
		}
		for(j=0;j<n;j++)//
		{
			for(i=0;i<n;i++)
			{
				if(min2[j]>a[i][j])
				{
					min2[j]=a[i][j];//cout<<min2[j]<<endl;
				}
			}
		}
		for(j=0;j<n;j++)
		{
			for(i=0;i<n;i++)
			{
				a[i][j]-=min2[j];
			}
		}
		d+=a[1][1];
		for(j=0;j<n;j++)
		{
			for(i=2;i<n;i++)
			{
				a[i-1][j]=a[i][j];
			}
		}
		for(i=0;i<n;i++)
		{
			for(j=2;j<n;j++)
			{
				a[i][j-1]=a[i][j];
			}
		}
		n--;
		}
		cout<<d<<endl;
	}



		



return 0;
}
int main()
{
	int a[100][100],e,sum=0;
	int n,m,i,j,k,l;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{
				scanf("%d",&a[j][k]);
			}
		}
		m=n;
		for(l=0;l<m-1;l++)//??N-1???
		{
			for(j=0;j<n;j++)//???
			{
				e=a[j][0];
				for(k=0;k<n;k++)
				{
					if(a[j][k]<e)
					{
						e=a[j][k];
					}
				}
				for(k=0;k<n;k++)
				{
					a[j][k]-=e;
				}
			}
			for(k=0;k<n;k++)//???
			{
				e=a[0][k];
				for(j=0;j<n;j++)
				{
					if(a[j][k]<e)
					{
						e=a[j][k];
					}
				}
				for(j=0;j<n;j++)
				{
					a[j][k]-=e;
				}
			}
			sum+=a[1][1];//??
			for(j=0;j<n;j++)//??
			{
				for(k=1;k<n;k++)
				{
					a[j][k]=a[j][k+1];
				}
			}
			for(k=0;k<n-1;k++)
			{
				for(j=1;j<n;j++)
				{
					a[j][k]=a[j+1][k];
				}
			}
			n-=1;
		}
		printf("%d\n",sum);
		sum=0;
		n=m;
	}
	return 0;
}
main()
{
      int n,i,j,k,c[100],a[100][100],sum,l;
      scanf("%d",&n);
      for(i=0;i<n;i++)
      {
              sum=0;
              for(j=0;j<n;j++)
              {
                      for(k=0;k<n;k++)
                      scanf("%d",&a[j][k]);
              }
              for(l=1;l<=n-1;l++)
              {
                    
                    c[0]=a[0][0];
                    for(k=l;k<n;k++)
                    {
                        if(c[0]>a[0][k])
                        c[0]=a[0][k];
                    }
                    for(k=0;k<n;k++)
                    {
                         a[0][k]=a[0][k]-c[0];
                    }
                    c[0]=a[0][0];
                    for(j=l;j<n;j++)
                    {
                        c[j]=a[j][0];
                        for(k=l;k<n;k++)
                        {
                            if(c[j]>a[j][k])
                            c[j]=a[j][k];
                        }
                        for(k=0;k<n;k++)
                        {
                             a[j][k]=a[j][k]-c[j];
                        }
                    }
                    for(k=l;k<n;k++)
                    {
                        c[k]=a[0][k];
                        for(j=l;j<n;j++)
                        {
                            if(c[k]>a[j][k])
                            c[k]=a[j][k];
                        }
                        for(j=0;j<n;j++)
                        {
                             a[j][k]=a[j][k]-c[k];
                        }
                    }
                    for(j=l;j<n;j++)
                    {
                        if(c[0]>a[j][0])
                        c[0]=a[j][0];
                    }
                    for(j=0;j<n;j++)
                    {
                         a[j][0]=a[j][0]-c[0];
                    }
                    sum=sum+a[l][l];
              }
              printf("%d\n",sum);
        } 
        getchar();
        getchar();
}
int mx[200][200];
int nn,n,ans;
int main(){
	cin>>nn;
	for(int q=1;q<=nn;q++){
		ans=0;
		n=nn;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				cin>>mx[i][j];
			}
		}
		for(;n>=2;n--){
			int smin;
			for(int i=1;i<=n;i++){
				smin=mx[i][1];
				for(int j=1;j<=n;j++)smin=smin<mx[i][j]?smin:mx[i][j];
				for(int j=1;j<=n;j++)mx[i][j]-=smin;
			}
			for(int i=1;i<=n;i++){
				smin=mx[1][i];
				for(int j=1;j<=n;j++)smin=smin<mx[j][i]?smin:mx[j][i];
				for(int j=1;j<=n;j++)mx[j][i]-=smin;
			}
			ans+=mx[2][2];
			for(int i=1;i<=n;i++){
				for(int j=2;j<n;j++)mx[i][j]=mx[i][j+1];
			}
			for(int i=1;i<=n;i++){
				for(int j=2;j<n;j++)mx[j][i]=mx[j+1][i];
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
void sub(int a[M],int n)
{
	int i,min=a[0];
	for(i=1;i<n;i++)
	{
		if(min>a[i])
			min=a[i];
	}
	for(i=0;i<n;i++)
		a[i]-=min;
}
int main()
{
	int n,k,i,j,count,sum;
	scanf("%d",&n);
	for(k=0;k<n;k++)
	{
		int a[M][M],temp[M];
		sum=0;
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
				scanf("%d",&a[i][j]);
		}
		for(count=0;count<n-1;count++)
		{
			for(i=count;i<n;i++)
			{
				for(j=count;j<n;j++)
					temp[j-count]=a[i][j];
				sub(temp,n-count);
				for(j=count;j<n;j++)
					a[i][j]=temp[j-count];
			}
			for(j=count;j<n;j++)
			{
				for(i=count;i<n;i++)
					temp[i-count]=a[i][j];
				sub(temp,n-count);
				for(i=count;i<n;i++)
					a[i][j]=temp[i-count];
			}
			sum+=a[count+1][count+1];
			for(i=0;i<n;i++)
				a[i][count+1]=a[i][count];
			for(j=0;j<n;j++)
				a[count+1][j]=a[count][j];
		}
		printf("%d\n",sum);
	}
	return 0;
}
//????????? ??? 20130112

int n,A[111][111];

void sum()
{
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        cin>>A[i][j];

    int S=0;
    for(int t=n;t>1;t--)
    {
        for(int i=0;i<t;i++)
        {
            int min=999999;
            for(int j=0;j<t;j++)
            {
                if(A[i][j]<min) min=A[i][j];
            }
            for(int j=0;j<t;j++)
            {
                A[i][j]-=min;
            }
        }

        for(int i=0;i<t;i++)
        {
            int min=999999;
            for(int j=0;j<t;j++)
            {
                if(A[j][i]<min) min=A[j][i];
            }
            for(int j=0;j<t;j++)
            {
                A[j][i]-=min;
            }
        }

            S+=A[1][1];

            for(int i=1;i<t;i++)
            for(int j=0;j<t;j++)
                A[i][j]=A[i+1][j];

            for(int i=1;i<t;i++)
            for(int j=0;j<t;j++)
                A[j][i]=A[j][i+1];
    }
    cout<<S<<endl;
}

int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
        sum();
}
/*
 * ???:06.cpp
 * ???:???
 * ????:2011-11-06
 * ??:??n?n???????????????????a[1][1]???
 */

int main( )
{
    int n,i,j,k,l,d,c,s,t,min1,min2;     //????
    cin>>n;     //??n
    int a[n][n][n],b[n][n];     //????
    for (i=0;i<n;i++)     //?????
    {
    	int h=0;     //????a[1][1]????
	    for(j=0;j<n;j++)     //????
		    for(k=0;k<n;k++)
			    cin>>a[i][j][k];
	    for(l=0;l<n-1;l++)     //????????
    	{
            for(j=0;j<n-l;j++)
            {
                min1=a[i][j][0];
                for(k=1;k<n-l;k++)
                {
            	    if(min1>a[i][j][k])
            	    	min1=a[i][j][k];
                }
                for(k=0;k<n-l;k++)
                a[i][j][k]=a[i][j][k]-min1;     //???????????
            }
            for(d=0;d<n-l;d++)     //????????
            {
            	min2=a[i][0][d];
            	for(c=1;c<n-l;c++)
            	{
            		if(min2>a[i][c][d])
            			min2=a[i][c][d];
            	}
            	for(c=0;c<n-l;c++)
            		a[i][c][d]=a[i][c][d]-min2;     //???????????
            }
            b[i][l]=a[i][1][1];     //?????a[1][1]
            for(s=1;s<n-1-l;s++)
            	for(t=0;t<n-l;t++)
            		a[i][s][t]=a[i][s+1][t];     //????
            for(t=1;t<n-l-1;t++)
            	for(s=0;s<n-l-1;s++)
            		a[i][s][t]=a[i][s][t+1];     //????
        }
	    for(l=0;l<n-1;l++)     //??
	    	h=h+b[i][l];
	    cout<<h<<endl;     //??
    }
	return 0;
}
/*
 * 201311291.cpp
 *
 *  Created on: 2013-11-29
 *      Author: 13248
 */

int x[1000][1000];
int juzheng(int y)
{   if(y==1) {return 0;}
	for(int i=1;i<=y;i++)
		{
		int min=100000;
		for(int j=1;j<=y;j++)
		{if(x[i][j]<min) min=x[i][j];}
		for(int j=1;j<=y;j++)
			x[i][j]=x[i][j]-min;
		}
	for(int i=1;i<=y;i++)
			{
			int min=100000;
			for(int j=1;j<=y;j++)
			{if(x[j][i]<min) min=x[j][i];}
			for(int j=1;j<=y;j++)
				x[j][i]=x[j][i]-min;
			}
	int min1=x[2][2];
	for(int i=2;i<y;i++)
		x[1][i]=x[1][i+1];
	for(int i=2;i<y;i++)
			x[i][1]=x[i+1][1];
	for(int i=3;i<=y;i++)
		for(int j=3;j<=y;j++)
      x[i-1][j-1]=x[i][j];

	return  min1+juzheng(y-1);
}
int main()
{
	int n;
	cin>>n;

	for(int i=1;i<=n;i++)
		{
		for(int j=1;j<=n;j++)
		   for(int k=1;k<=n;k++)
			   cin>>x[j][k];
		//cout<<juzheng(b,n)<<endl;
		cout<<juzheng(n)<<endl;
		}

			return 0;
}
int main()
{
	int ml(int a[101],int m);
	void guiling(int a[101][101],int m);
    void xiaojian(int a[101][101],int m);
    int n;
	int i,j,k;
	int sum;
	int a[101][101];
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
         for (j=0;j<n;j++)
		 {
			 for (k=0;k<n;k++)
			 {
			 scanf("%d",&a[j][k]);
			 }
		 }
		 sum=0;
		 for (j=n;j>1;j--)
		 {
			 
			 guiling(a,j); 
			 sum=sum+a[1][1];
			 xiaojian(a,j);
			 
		 }
		 printf("%d\n",sum);
	}

	return 0;
}

int ml(int a[101],int m)
{
	int i;
	int n=a[0];
	for (i=0;i<m;i++)
	{
		if (a[i]<n)
			n=a[i];
	}
	return n;
}

void guiling(int a[101][101],int m)
{
	int ml(int a[101],int m);
	int i,j;
	int minc,minl;
	for (i=0;i<m;i++)
	{
        minl=ml(a[i],m);
		for (j=0;j<m;j++)
		{
             a[i][j]=a[i][j]-minl;
		}
	}
	for (j=0;j<m;j++)
	{
		minc=a[0][j];
		for (i=0;i<m;i++)
		{
			if (a[i][j]<minc)
				minc=a[i][j];
		}
		for (i=0;i<m;i++)
		{
			a[i][j]=a[i][j]-minc;
		}
	}
}

void xiaojian(int a[101][101],int m)
{
	int i,j;
	if (m>1)
	{
		for (i=0;i<m;i++)
		{
			for (j=1;j<m-1;j++)
			{
				a[i][j]=a[i][j+1];
			}
		}
		for (j=0;j<m-1;j++)
		{
			for (i=1;i<m-1;i++)
			{
				a[i][j]=a[i+1][j];
			}
		}
	}
}
int calc(int s[ ][100], int n)
{
	int min;
	for (int i = 0; i < n; i++)
	{
		min = s[i][0];
		for (int j = 1; j < n; j++)               //?????????
			if (s[i][j] < min) min = s[i][j];
		for (int j = 0; j < n; j++)               //?????
			s[i][j] -= min;
	}
	for (int j = 0; j < n; j++)
	{
		min = s[0][j];
		for (int i = 1; i < n; i++)               //?????????
			if (s[i][j] < min) min = s[i][j];
		for (int i = 0; i < n; i++)               //?????
			s[i][j] -= min;
	}
	return s[1][1];                               //??s[1][1]
}

int main( )
{
	int s[100][100];
	int n, sum, m;
	cin >> n;
	for (int k = 1; k <= n; k++)
	{
		for (int i = 0; i < n; i++)                 //??
			for (int j = 0; j < n; j++)
				cin >> s[i][j];
		m = n;
		sum = 0;
		for (int order = 1; order < n; order++)
		{
			sum += calc(s, m);                      //??????s[1][1]
			m--;
			for (int i = 1; i < n - 1; i++)         //?????
				for (int j = 0; j < n; j++)
					s[i][j] = s[i + 1][j];
			for (int j = 1; j < n - 1; j++)         //?????
				for (int i = 0; i < m; i++)
					s[i][j] = s[i][j + 1];
		}
		cout << sum << endl;
	}
	return 0;
}
int main()
{
    int n,i,j,k,count,min;
    cin >>n;
    int input[n][n],sum[n];
    for (i=0;i<n;i++)
       {
          count=n;
          sum[i]=0; 
          for (j=0;j<n;j++)
             for (k=0;k<n;k++)
                cin >>input[j][k];
                
          while (count!=1)
          { 
          for (j=0;j<count;j++)
           {
             min=input[j][0]; 
             for (k=1;k<count;k++)
                if (input[j][k]<min)
                   min=input[j][k];                  
             for (k=0;k<count;k++)
                input[j][k]-=min;                                         
           }//??? 
           for (j=0;j<count;j++)
           {
             min=input[0][j]; 
             for (k=1;k<count;k++)
                if (input[k][j]<min)
                   min=input[k][j];                  
             for (k=0;k<count;k++)
                input[k][j]-=min;                                         
           }//??? 
           
           sum[i]+=input[1][1];
           for (k=0;k<count;k++) 
               for (j=1;j<count-1;j++)
                input[j][k]=input[j+1][k];
             for (k=0;k<count-1;k++) 
               for (j=1;j<count-1;j++)
                input[k][j]=input[k][j+1];//?? 
           count--; 
           } 
       } 
    for (i=0;i<n;i++)
      cout <<sum[i] <<endl; 
    return 0;
}
int main()
{
	int i, j, k, n, m, a[101][101], mini[101], minj[101], ans[101];	//????
	cin >> n;														//??????????????
	for (k=1; k<=n; k++)
	{
		memset(a,0,sizeof(a));
		memset(ans,0,sizeof(ans));
		for (i=1; i<=n; i++)
			for (j=1; j<=n; j++)
				cin >> a[i][j];
		m=n;														//??????
		while (m>1)
		{
			memset(mini,21474836,sizeof(mini));
			for (i=1; i<=m; i++)
				for (j=1; j<=m; j++)
					if (a[i][j]<mini[i])
						mini[i]=a[i][j];
			for (i=1; i<=m; i++)
				for (j=1; j<=m; j++)
					a[i][j]=a[i][j]-mini[i];						//???????
			memset(minj,21474836,sizeof(minj));
			for (j=1; j<=m; j++)
				for (i=1; i<=m; i++)
					if (a[i][j]<minj[j])
						minj[j]=a[i][j];
			for (j=1; j<=m; j++)
				for (i=1; i<=m; i++)
					a[i][j]=a[i][j]-minj[j];						//???????
	
			ans[k]=ans[k]+a[2][2];									//???????
			for (i=2; i<=m; i++)
				a[i][1]=a[i+1][1];
			for (j=2; j<=m; j++)
				a[1][j]=a[1][j+1];
			for (i=2; i<=m; i++)
				for (j=2; j<=m; j++)
					a[i][j]=a[i+1][j+1];
			m--;													//???????
		}
		cout << ans[k] << endl;										//???????
	}
	return 0;														//main???????0
}
int minih(int numh,int *p)/*???????*//*??numh???*//*?????*p*/
{
	int min;
	min=*p;
	int i;
	for(i=1;i<=numh;i++)
	{
		if(min>*(p+i-1))
		{
			min=*(p+i-1);
		}
		else
		{}
	}
	return min;
}
int minil(int numl,int *p)/*???????*//*??numh???*//*?????*p*/
{
	int min;
	min=*p;
	int i;
	for(i=1;i<=numl;i++)
	{
		if(min>*(p+101*(i-1)))
		{
			min=*(p+101*(i-1));
		}
		else
		{}
	}
	return min;
}
int main()
{
	int a[101][101];
	int *p;
	p=&a[0][0];
	int i,j,k,n;
	int minor;
	int sum;
	scanf("%d",&n);
	int hang,lie;
	for(i=1;i<=n;i++)
	{	
		/*??????sum???   hang   lie   ?n    */
		hang=n;
		lie=n;
		sum=0;
		/*??????
		????*/
		for(j=1;j<=n;j++)
		{
			for(k=1;k<=n;k++)
			{
				scanf("%d",p+101*(j-1)+k-1);
			}
		}
		/*?????????????????*/
		for(minor=1;lie>1;minor++)
		{
			/*???????*/
			for(j=1;j<=hang;j++)
			{
				int minihang;
				/*?j????*(p+101*(j-1))*/
				minihang=minih(lie,(p+101*(j-1)));
				for(k=1;k<=lie;k++)
				{
					*(p+101*(j-1)+k-1)-=minihang;
				}
			}
			/*???????*/
			for(j=1;j<=lie;j++)
			{
				int minilie;
				/*?j????*(p+(j-1))*/
				minilie=minil(hang,(p+(j-1)));
				for(k=1;k<=hang;k++)
				{
					*(p+(j-1)+101*(k-1))-=minilie;
				}
			}
			sum+=*(p+102);
			/*????????????????hang-1   */
			for(j=2;j<=hang;j++)
			{
				for(k=1;k<=lie;k++)
				{
					*(p+101*(j-1)+k-1)=*(p+101*j+k-1);
				}
			}
			hang--;
			/*????????????????lie-1   */
			for(j=2;j<=lie;j++)
			{
				for(k=1;k<=hang;k++)
				{
					*(p+101*(k-1)+j-1)=*(p+101*(k-1)+j);
				}
			}
			lie--;
		}
		printf("%d\n",sum);
	}
	return 0;
}