semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
//
//  main.cpp
//  juzhen
//
//  Created by blues cookie on 12-11-21.
//  Copyright (c) 2012? blues cookie. All rights reserved.
//

int a[100][100];
int result=0;
int min1;
int minh(int n,int j)//???J?n?????????
{
    int i,min_a;
    min_a=a[j][0];
    for(i=0;i<n;i++)
    {
        if(min_a>a[j][i])
        {
            min_a=a[j][i];
        }
    }
    return min_a;
}
int minl(int n,int j)//????
{
    int i,min_a;
    min_a=a[0][j];
    for(i=0;i<n;i++)
    {
        if(min_a>a[i][j])
        {
            min_a=a[i][j];
        }
    }
    return min_a;
}
int dec(int n)//??
{
    int m,p,q;
    if(n==1)
    {
        cout<<result<<endl;
        return 0;
    }
    if(n>1)
    {
        for(m=0;m<n;m++)//???????
        {
            min1=minh(n,m);
           for(p=0;p<n;p++)
           {
               a[m][p]=a[m][p]-min1;
           }
        }
        for(m=0;m<n;m++)//???????
        {
            min1=minl(n,m);
            for(p=0;p<n;p++)
            {
                a[p][m]=a[p][m]-min1;
            
            }
        }
        result=result+a[1][1];
        for(m=0;m<n;m++)//?????
        {
            for(p=1;p<n-1;p++)
            {
              a[m][p]=a[m][p+1];
            }
         }
       for(m=0;m<n-1;m++)//?????
        {
            for(p=1;p<n-1;p++)
            {
              a[p][m]=a[p+1][m];
            }
        }
        dec(n-1);
    }
}
int main(int argc, const char * argv[])
{

    int n;
    cin>>n;
    int w,s,t;
    for(w=1;w<=n;w++)
    {
        for(s=0;s<n;s++)//????
        {
            
            for(t=0;t<n;t++)
            {
                cin>>a[s][t];
            }
        }
        result=0;
        dec(n);
    }
    return 0;
}
int main()
{
	int nq,times,i,j,min,m;

	cin>>nq;
	const int n=nq;
	int sum[n];
	int a[n][n][n];
	for(times=0;times<n;times++)
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[times][i][j];//??n?????
	for(times=0;times<n;times++)
	{sum[times]=0;
		for(m=n;m>1;m--)

		{
		for(i=0;i<m;i++)

				{
				min=a[times][i][0];
				for(j=1;j<m;j++)
				if(a[times][i][j]<min)
				min=a[times][i][j];
				for(j=0;j<m;j++)
					a[times][i][j]-=min;

				}//????
		for(j=0;j<m;j++)
		{
			min=a[times][0][j];
			for(i=1;i<m;i++)
				if(a[times][i][j]<min)
				min=a[times][i][j];
			for(i=0;i<m;i++)
				a[times][i][j]-=min;
		}//????
	sum[times]+=a[times][1][1];
		for(i=2;i<m;i++)
			for(j=0;j<n;j++)
				a[times][i-1][j]=a[times][i][j];//?????
		for(i=2;i<m;i++)
			for(j=0;j<n-1;j++)
				a[times][j][i-1]=a[times][j][i];//?????
        }
	}
for(i=0;i<n;i++)
	cout<<sum[i]<<endl;
return 0;

}
//**************************
//*??????????? **
//*?????? **
//*???2012-11-25 **
//*???1200012957 **
//**************************

int a[100][100];

int sum(int n)
{
	if (n == 1)
	{
		return 0;
	}
	int i, j, p, min, a11;
	for (i = 0; i < n; i++ )
	{
		p = 0;
		for (j = 0; j < n; j++ )
		{
			if (a[i][j] < a[i][p])
			{
				p = j;
			}
		}
		min = a[i][p];
		for (j = 0; j < n; j++ )
		{
			a[i][j] -= min;
		}
	}
	for (i = 0; i < n; i++ )
	{
		p = 0;
		for (j = 0; j < n; j++ )
		{
			if (a[j][i] < a[p][i])
			{
				p = j;
			}
		}
		min = a[p][i];
		for (j = 0; j < n; j++ )
		{
			a[j][i] -= min;
		}
	}
	a11 = a[1][1];
	for (i = 2; i < n; i++ )
	{
		for (j = 0; j < n; j++ )
		{
			a[i - 1][j] = a[i][j];
		}
	}
	for (i = 2; i < n; i++ )
	{
		for (j = 0; j < n - 1; j++ )
		{
			a[j][i - 1] = a[j][i];
		}
	}
	return a11 + sum(n - 1);
}

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 a[100][100];
int f(int n,int a[][100])//???????a[1][1]?????
{
        int i,j,k;
        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];
                if(min>0)
                for(j=0;j<n;j++)
                        a[i][j]-=min;
        }
        for(j=0;j<n;j++)//???
        {
                int min=a[0][j];
                for(i=1;i<n;i++)
                        if(a[i][j]<min)min=a[i][j];
                if(min>0)
                        for(i=0;i<n;i++)
                                a[i][j]-=min;
        }
		int z=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];
		}
        if(n==2)return z;
        else return z+f(n-1,a);
}
int main()
{
        int n;
        int i,j,k;//????
        cin>>n;
        for(i=0;i<n;i++){
                for(j=0;j<n;j++)
                        for(k=0;k<n;k++)
                                cin>>a[j][k];
                cout<<f(n,a)<<endl;
        }
        return 0;
}
int main()
{
	int n,i,j,y,m1,m2,p;
	int a[103][103],s=0;
	cin >> n;
	for(y=1;y<=n;y++)
	{
		p=n;
		s=0;m1=999999;m2=999999;
		for(i=1;i<=p;i++)
			for(j=1;j<=p;j++)
				cin >> a[i][j];
		while(p>1)
		{
			
			//for(i=1;i<=p;i++)for(j=1;j<=p;j++)cout << a[i][j];
			for(i=1;i<=p;i++)
			{
				m1=a[i][1];
				for(j=1;j<=p;j++)
					if(m1>a[i][j])
						m1=a[i][j];
				for(j=1;j<=p;j++)
					a[i][j]-=m1;
			}
			//for(i=1;i<=p;i++)for(j=1;j<=p;j++)cout << a[i][j];
			for(i=1;i<=p;i++)
			{
				m2=a[1][i];
				for(j=1;j<=p;j++)
					if(m2>a[j][i])
						m2=a[j][i];
				for(j=1;j<=p;j++)
					a[j][i]-=m2;
			}
			//for(i=1;i<=p;i++)for(j=1;j<=p;j++)cout << a[i][j];
			s+=a[2][2];
			for(i=2;i<=p-1;i++)
				for(j=1;j<=p;j++)
					a[i][j]=a[i+1][j];
			//for(i=1;i<=p;i++)for(j=1;j<=p;j++)cout << a[i][j];
			for(i=2;i<=p-1;i++)
				for(j=1;j<=p-1;j++)
					a[j][i]=a[j][i+1];
			//for(i=1;i<=p;i++)for(j=1;j<=p;j++)cout << a[i][j];
			p--;
			//cout << s<<p;
		}
		cout << s <<endl;
	}
	return 0;
}
int main()
{
    int a[102][102] , i , k , j , l , n , s , (*p)[102] , (*q)[102] , min ; 
    cin >> n ; 
    for (k = 1 ; k <= n ; k ++ )
    {
    for (i = 0 , s = 0 , p = &a[0] ; i < n ; i ++ )
        for (j = 0 ; j < n ; j ++ )
            cin >> *(*(p + i) + j) ; 
    for (i = 0 , p = &a[0] , q = &a[n] ; i < n ; i ++ )
        *(*q + i) = *(*p + i) ; 
    for (i = 0 , p = &a[1] ; i < n ; i ++ )
        *(*(p + i) + n) = **(p + i) ; 
    for (l = 1 ; l < n ; l ++ )
    {
        for (i = l , p = &a[0] ; i <= n ; i ++ )
        {
            for (j = l + 1 , min = *(*(p + i) + l) ; j <= n ; j ++ )
                if (*(*(p + i) + j) < min)
                    min = *(*(p + i) + j) ; 
            for (j = l; j <= n ; j ++ )
                *(*(p + i) + j) -= min ; 
        }
        for (i = l , p = &a[0] ; i <= n ; i ++ )
        {
            for (j = l + 1 , min = *(*(p + l) + i) ; j <= n ; j ++ )
                if (*(*(p + j) + i) < min)
                    min = *(*(p + j) + i) ; 
            for (j = l ; j <= n ; j ++ )
                *(*(p + j) + i) -= min ;
        }
        s += *(*(p + l) + l) ; 
    }
    cout << s << endl ; 
    }
    return 0 ; 
}
/*
 * ???2.cpp
 * Created on: 2012-11-13
 * Author: ???
 * ??:?????????
 */
int a[100][100];            //??????
int sum;        //??????
int f(int n)   //????
{
	if(n==1) return 0;   //?n?1???0
      int i,j,min=0,sum=0;     //????
      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;   //????????
            }
      sum=sum+a[1][1];          //????????????
       for(i=0;i<n;i++)         //?????
       {
    		   for(j=2;j<n;j++)  //?????
    		   {
    			   a[i][j-1]=a[i][j];   //????????
    		   }
       }
       for(i=2;i<n;i++)       //?????
       {
    	   for(j=0;j<n-1;j++)  //?????
    	   {
            a[i-1][j]=a[i][j];   //??????
           }
       }
       return sum+f(n-1);      //???????
}
int main(){
	int i,n,j,k,x,sum;           //????
	cin>>n;          //??n
    for(i=0;i<n;i++) //????
    {
    	x=0;          //?X?0
    	sum=0;        //?sum???0
    	for(j=0;j<n;j++)            //?????
    		for(k=0;k<n;k++)        //?? ???
    			cin>>a[j][k];       //?????
                 x=f(n);            //?????
             cout<<x<<endl;         //??sum
    }
return 0;    //????
}
int minrow(int a[100][100],int i,int m)
{
	int b=a[i][0],j;
	for(j=0;j<m;j++)
	{
		if(a[i][j]<b)
			b=a[i][j];
	}
	return b;
}
int mincolumn(int a[100][100],int j,int m)
{
	int b=a[0][j],i;
	for(i=0;i<m;i++)
	{
		if(a[i][j]<b)
			b=a[i][j];
	}
	return b;
}
void row(int a[100][100],int m)
{
	int i,j,b;
	for(i=0;i<m;i++)
	{
		b=minrow(a,i,m);
		for(j=0;j<m;j++)
		{
			a[i][j]=a[i][j]-b;
		}
	}
}
void column(int a[100][100],int m)
{
	int i,j,b;
	for(j=0;j<m;j++)
	{
		b=mincolumn(a,j,m);
		for(i=0;i<m;i++)
		{
			a[i][j]=a[i][j]-b;
		}
	}
}
void del(int a[100][100],int m)
{
	int i,j;
	for(i=1;i<m;i++)
		for(j=0;j<m;j++)
			a[i][j]=a[i+1][j];
	for(i=0;i<m;i++)
		for(j=1;j<m;j++)
			a[i][j]=a[i][j+1];
}
void print(int a[100][100],int m)
{
	int i,j;
	for(i=0;i<m;i++)
	{
		for(j=0;j<m;j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
}
int main()
{
	int n,i,j,k,a[100][100]={0},m;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		int b=0;
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
			{
				scanf("%d",&a[j][k]);
			}
		m=n;
		for(j=0;j<n-1;j++)
		{
			row(a,m);
			column(a,m);
			b=b+a[1][1];
			del(a,m);
			m--;
		}
		printf("%d\n",b);
	}
	return 0;
}
int main()
{
	int a[100][100];
	int i,j,k,n,sum,min=0,m;
	cin>>n;
	for(m=0;m<n;m++)
	{
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				cin>>a[i][j];
			}
		}
		sum=0;
		for(k=0;k<n-1;k++)
		{
			for(i=0;i<n-k;i++)
			{
				min=a[i][0];
				for(j=0;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[0][j];
				for(i=0;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;
			}
			sum=sum+a[1][1];
			for(i=0;i<n;i++)
			{
				for(j=1;j<n-1;j++)
					a[i][j]=a[i][j+1];
				a[i][n-1]=0;
			}
			for(j=0;j<n-1;j++)
			{
				for(i=1;i<n-1;i++)
					a[i][j]=a[i+1][j];
				a[n-1][j]=0;
			}

		}
		cout<<sum<<endl;
	}
	return 0;
}
//1000012915???

int GL(int,int [][101]);           //????a[1][1]???
void Delete(int,int [][101]);       //???????????
int min(int,int);                //??????

int main()
{
	int Sum[101],n,a[101][101],i,j,k; //????????Sum

	cin>>n;                           //??n

	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)              //????
		{
			for(k=0;k<n;k++)
				cin>>a[j][k];
		}
		cout<<GL(n,a)<<endl;         //????
	}

	//for(i=0;i<n;i++)
	//	cout<<Sum[i]<<endl;//????
	return 0;
}

int GL(int n,int a[][101])
{
	int Sum=0,i,j,MIN;

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

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

	Sum+=a[1][1];                         //????a[1][1]

	if(n==1)                             //??
	{
		return 0;
		
	}
	else
	{
		Delete(n,a);
		Sum+=GL(n-1,a);
		return Sum;
	}                     //????
}


int min(int a, int b)                    //??????
{
	if(a>=b)
		return b;
	else
		return a;
}
void Delete(int n,int a[][101])           //???????????
{
	int i,j;
	for(i=0;i<n;i++)
	{
		for(j=1;j<n-1;j++)
			a[i][j]=a[i][j+1];
		a[i][n-1]=0;
	}

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

}
int a[200][200][200];

int main()
{
	int n,sum[200];
	int p,k,i,j;
	int min;

	cin>>n;

	for (p=0;p<n;p++)
	{
		sum[p]=0;

		for (i=0;i<n;i++)
			for (j=0;j<n;j++)
				cin>>a[p][i][j];

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

			sum[p]=sum[p]+a[p][1][1];
			//???
			
			for (i=1;i<n-k;i++)
				a[p][i][0]=a[p][i+1][0];
			for (j=1;j<n-k;j++)
				a[p][0][j]=a[p][0][j+1];
			for (i=1;i<n-k;i++)
				for (j=1;j<n-k;j++)
					a[p][i][j]=a[p][i+1][j+1];
			//??
		}
	}
	
	for (p=0;p<n-1;p++)
		cout<<sum[p]<<endl;
	cout<<sum[n-1];

	return 0;
}
int main()
{
	int n;
	cin >> n;
	int matrix[100][100] = {0};
	int time, min, sum = 0, k;
	for (k = 1; k <= n; k++)
	{
		int i, j;
		for (i = 0; i < n; i++)
			for (j = 0; j < n; j++)
				cin >> *(*(matrix + i) + j);
		sum = 0;
		for (time = 1; time < n; time++)
		{
			for (i = 0; i <= n - time; i++)
			{
				min = *(*(matrix + i));
				for (j = 0; j <= n - time; j++)
					if (*(*(matrix + i) + j) < min) min = *(*(matrix + i) + j);
				for (j = 0; j <= n - time; j++)
					*(*(matrix + i) + j) -= min;
			}
			for (j = 0; j <= n - time; j++)
			{
				min = *(*(matrix) + j);
				for (i = 0; i <= n - time; i++)
					if (*(*(matrix + i) + j) < min) min = *(*(matrix + i) + j);
				for (i = 0; i <= n - time; i++)
					*(*(matrix + i) + j) -= min;
			}
			sum += *(*(matrix + 1) + 1);
			for (i = 1; i <= n - time; i++)
			{
				for (j = 0; j <= n - time; j++)
					*(*(matrix + i) + j) = *(*(matrix + i + 1) + j);
			}
			for (j = 1; j <= n - time; j++)
			{
				for (i = 0; i <= n - time; i++)
					*(*(matrix + i) + j) = *(*(matrix + i) + j + 1);
			}
		}
		cout << sum << endl;
	}
	return 0;
}
int main() {
	int n, k, i, j, sum, min,anw=0;
	int test[100][100];
	cin >> n;
	sum = n;
	for (k = 0; k < sum; k++) {
		n=sum;
		for (i = 0; i < sum; i++)
			for (j = 0; j < sum; j++) {
				cin >> test[i][j];
			}
		anw=0;
		while (n != 1) {
			for (i = 0; i < n; i++) {//?????
				min = test[i][0];
				for (j = 0; j < n; j++) {
					if (min > test[i][j])
						min = test[i][j];
				}
				for (j = 0; j < n; j++) {
					test[i][j] -= min;
				}
			}
			for (i = 0; i < n; i++) {//?????
				min = test[0][i];
				for (j = 0; j < n; j++) {
					if (min > test[j][i])
						min = test[j][i];
				}
				for (j = 0; j < n; j++) {
					test[j][i] -= min;
				}
			}
			anw+=test[1][1];
			n--;
			for (i = 1; i < n; i++) {//?????
				for (j = 0; j <= n; j++)
					test[i][j] = test[i + 1][j];
			}
			for (j = 1; j < n; j++) {//?????
				for (i = 0; i < n; i++)
					test[i][j] = test[i ][j+1];
			}

		}
		cout<<anw<<endl;

	}
	return 0;

}
int main()
{
    int nn,n; cin>>nn; //nn??????n

    int a[101][101];
    for (int k=0;k<nn;k++)
    {
        int ans=0;
        for (int i=0;i<nn;i++)
            for (int j=0;j<nn;j++)
                cin>>a[i][j];
        for (int n=nn;n>1;n--)
        {
                int minh[101],minl[101];
                for (int i=0;i<n;i++) minh[i]=1000000;
                for (int i=0;i<n;i++) minl[i]=1000000;

                for (int i=0;i<n;i++)
                    for (int j=0;j<n;j++)
                        if (a[i][j]<minh[i]) minh[i]=a[i][j];
                for (int i=0;i<n;i++)
                    for (int j=0;j<n;j++)
                        a[i][j]=a[i][j]-minh[i];

                        /* for (int i=0;i<n;i++){
                    for (int j=0;j<n;j++)
                        cout<<a[i][j]<<' '; cout<<endl;}
                cout<<endl;*/
                for (int i=0;i<n;i++)
                    for (int j=0;j<n;j++)
                        if (a[j][i]<minl[i]) minl[i]=a[j][i];
                for (int i=0;i<n;i++)
                    for (int j=0;j<n;j++)
                        a[j][i]=a[j][i]-minl[i];
            //???????

           /*     for (int i=0;i<n;i++){
                    for (int j=0;j<n;j++)
                        cout<<a[i][j]<<' '; cout<<endl;}
                cout<<endl;*/

                ans+=a[1][1];

                for (int i=2;i<n;i++) a[0][i-1]=a[0][i];
                for (int i=2;i<n;i++) a[i-1][0]=a[i][0];

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

             /*   for (int i=0;i<n-1;i++){
                    for (int j=0;j<n-1;j++)
                        cout<<a[i][j]<<' '; cout<<endl;}
                cout<<endl;*/
            }
            cout<<ans<<endl;


    }







    return 0;
}
int n, m, the_min;
int a[110][110];

void reduce_min(int x, int y, int dx, int dy)
{
    if (x == m || y == m) {
        return;
    }
    if (a[x][y] < the_min) {
        the_min = a[x][y];
    }
    reduce_min(x + dx, y + dy, dx, dy);
    a[x][y] -= the_min;
}

void reduce()
{
    int i, j;
    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];
        }
    }
}

int main() {
    int i, j;
    int t;
    int sum;
    scanf("%d", &n);
    for (t = 0; t < n; t++) {
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                scanf("%d", &a[i][j]);
            }
        }
        sum = 0;
        for (m = n; m >= 1; m--) {
            for (i = 0; i < 2 * m; i++) {
                the_min = 10000;
                reduce_min((i%m)*(1-i/m),(i%m)*(i/m), i / m, 1 - i / m);
            }
            sum += a[1][1];
            reduce();
        }
        printf("%d\n", sum);
    }
}
int	main()
{
	int	n;
	cin >> n;
	for( int c = 0 ; c < n ; c ++ )
	{
		int	mat[n][n];
		for( int i = 0 ; i < n ; i ++ )
		for( int j = 0 ; j < n ; j ++ )
			cin >> mat[i][j];

		int	s = 0;
		for( int r = n ; r > 1 ; r -- )
		{
			int	m;
			//row
			for( int i = 0 ; i < r ; i ++ )
			{
				m = mat[i][0];
				for( int j = 1 ; j < r ; j ++ )
					m = min( m , mat[i][j] );
				for( int j = 0 ; j < r ; j ++ )
					mat[i][j] -= m;
			}
			//column
			for( int j = 0 ; j < r ; j ++ )
			{
				m = mat[0][j];
				for( int i = 1 ; i < r ; i ++ )
					m = min( m , mat[i][j] );
				for( int i = 0 ; i < r ; i ++ )
					mat[i][j] -= m;
			}

			s += mat[1][1];
			for( int i = 1 ; i < r - 1 ; i ++ )
			for( int j = 0 ; j < r ; j ++ )
				mat[i][j] = mat[i + 1][j];
			for( int j = 1 ; j < r - 1 ; j ++ )
			for( int i = 0 ; i < r - 1 ; i ++ )
				mat[i][j] = mat[i][j + 1];
		}
		cout << s << endl;
	}

	return 0;
}
//?????????
int a[100][100],b[100],c[100];
int xiao(int n)
{
	int x;
	for (int i = 0; i < n;i++)
	{
		int min = INT_MAX;
		for (int j = 0; j < n; j++)
		{
			if (a[b[i]][c[j]] < min)
				min = a[b[i]][b[j]];
		}
		for (int j = 0; j < n; j++)
		{
			a[b[i]][c[j]] -= min;
		}
	}
	for (int i = 0; i < n;i++)
	{
		int min = INT_MAX;
		for (int j = 0; j < n; j++)
		{
			if (a[b[j]][c[i]] <= min)
				min = a[b[j]][b[i]];
		}
		for (int j = 0; j < n; j++)
		{
			a[b[j]][c[i]] -= min;
		}
	}
	x = a[b[1]][c[1]];
	if (n > 2)
	{
		for (int i = 1; i < n - 1; i++)
		{
			b[i] = b[i + 1];
			c[i] = c[i + 1];
		}
		return (x + xiao(n - 1));
	}
	else
		return x;
}
int main()
{
	int n;

	cin >> n;
	for (int i = 1; i <=n; i++)
	{
		for(int i = 0; i < n; i++ )
		{
			b[i] = c[i] = i;
		}
		for (int j = 0; j < n; j++)
			for (int k = 0; k < n; k++)
			{
				cin >> a[j][k];
			}
		cout << xiao(n) << endl; 
	}
	
	return 0;
}
void Sort(int a[][100],int n)
{
	int i, j;
	for (i = 0;i < n ;i++)
	{
		for (j = 1;j < n - 1;j++)
		{
			a[i][j] = a[i][j + 1];
		}
	}
	for (i = 0;i < n;i++)
	{
		for (j = 1;j < n - 1;j++)
		{
			a[j][i] = a[j + 1][i];
		}
	}
	
}


void Change(int a[][100],int n)
{
	int i, j, l[100] = {0}, r[100] = {0};
	for (i = 0;i < n;i++)
		{
			l[i] = a[i][0];
			for (j = 1;j < n;j++)
			{
				l[i] = l[i] > a[i][j] ? a[i][j] : l[i];
			}
		}
		for (i = 0;i < n;i++)
		{
			for (j = 0;j < n;j++)
			{
				a[i][j] = a[i][j] - l[i];	
			}
		}
		for (i = 0;i < n;i++)
		{
			r[i] = a[0][i];
			for (j = 1;j < n;j++)
			{
				r[i] = r[i] > a[j][i] ? a[j][i] : r[i];
			}
		}
		for (i = 0;i < n;i++)
		{
			for (j = 0;j < n;j++)
			{
				a[j][i] = a[j][i] - r[i];	
			}
		}
		
}

int main()
{
	int a[100][100],i, j, n, l ,r;
	cin >> n;
	for (int k = 1;k <= n;k++)
	{
		int sum = 0;
		for (i = 0;i < n;i++)
		{
			for (j = 0;j < n;j++)
			{
				cin >> a[i][j];
				
			}
		}


	
		
		for (i = n;i >= 2;i--)
		{
			Change(a, i);
			
			sum+= a[1][1];
		    Sort(a, i);
			
		}
		cout << sum << endl;
	}
	
	return 0;
}
/*
*????.cpp
*??
*2011?11?15?
*?????a[1][1]????
*/
int main()
{
    int n,i,j,m,sum=0;
    cin>>n;
	for (int k=1;k<=n;k++)
	{
    	sum=0;                               
    	int a[n+1][n+1];                     
    	for (i=0;i<n;i++)
    		for (j=0;j<n;j++)
        		cin>>a[i][j];                   
    	a[n][n]=a[0][0];                   
    	for (i=1;i<n;i++)
        	a[i][n]=a[i][0];
    	for (j=1;j<n;j++)
        	a[n][j]=a[0][j];
   		for (int l=1;l<n;l++)
  			{
    			for (i=l;i<=n;i++)
       				{
           				m=a[i][l];
           				for (j=l+1;j<=n;j++)                            //?????
           					{
              					if (m>a[i][j])
                    				m=a[i][j];
           					}
           				for (j=l;j<=n;j++)                           //??
               			a[i][j]=a[i][j]-m;
       				}
    			for (j=l;j<=n;j++)                       
        			{
            			m=a[l][j];
             			for (i=l+1;i<=n;i++)                 //?????
             				{
               					if (m>a[i][j])
                    			m=a[i][j];
             				}
             			for (i=l;i<=n;i++)            
                			a[i][j]=a[i][j]-m;
        			} 
    			sum=sum+a[l][l];
  			}
    	cout<<sum<<endl;
	}
	return 0;    
}
int main(){
	int n,t,i,j,k,iTemp;	//???????n??n?n????tijk???????iTemp???????????????
	cin>>n;	//??n
	int a[n][n][n],iSum[n];	//??n?n???????????????????
	memset(iSum,0,sizeof(iSum));
	for (i=0;i<=n-1;i++){	//?i???
		for (j=0;j<=n-1;j++){	//?j?
			for (k=0;k<=n-1;k++){	//?k?
				cin>>a[i][j][k];	//??????
			}
		}
	}
	for (i=0;i<=n-1;i++){  //??i???????
	    for (t=1;t<=n-1;t++){	//??????t???
	    	for (j=0;j<=n-1;j++){	//??j?????
	    		if (a[i][j][0]<0){	//???j??????????
	    			continue;	//???????
	    		}
	    		else{	//???iTemp??????
	    			iTemp=a[i][j][0];
	    		}
	    		for (k=0;k<=n-1;k++){	//???????????
	    			if ((a[i][j][k]<iTemp)&&(a[i][j][k]>=0)){
	    				iTemp=a[i][j][k];
	    			}
	    		}
	    		for (k=0;k<=n-1;k++){	//????????????????????
	    			a[i][j][k]=a[i][j][k]-iTemp;
	    		}
	    	}
	    	for (k=0;k<=n-1;k++){	//??k?????
	    		if (a[i][0][k]<0){	//???k??????????
	    			continue;	//???????
	    		}
	    		else{
	    			iTemp=a[i][0][k];	//???????????iTemp
	    		}
	    		for (j=0;j<=n-1;j++){
	    			if ((a[i][j][k]<iTemp)&&(a[i][j][k]>=0)){	//???k???????
	    				iTemp=a[i][j][k];
	    			}
	    		}
	    		for (j=0;j<=n-1;j++){	//???????????????????
	    			a[i][j][k]=a[i][j][k]-iTemp;
	    		}
	    	}
	    	iSum[i]=iSum[i]+a[i][t][t];	//??t,t?????????
	    	for (k=0;k<=n-1;k++){	//???t????
	    		a[i][t][k]=-1;
	    	}
	    	for (j=0;j<=n-1;j++){	//???t????
	    		a[i][j][t]=-1;
	    	}
	    }
	}
	cout<<iSum[0];	//???????????????
	for (i=1;i<=n-1;i++){
		cout<<endl<<iSum[i];
	}
	return 0;
}
//------------------------
//   ?????????
//      2010/12/5
//        ADE
//------------------------



int GuiLing(int a[][101],int n,int sum)
{
	int min,i,j;
	for(i=0;i<n;i++)
	{
		min=a[i][0];
		for(j=0;j<n;j++)
			min=(min<a[i][j])?min:a[i][j];
		for(j=0;j<n;j++)
			a[i][j]-=min;
	}  //???
	for(j=0;j<n;j++)
	{
		min=a[0][j];
		for(i=0;i<n;i++)
			min=(min<a[i][j])?min:a[i][j];
		for(i=0;i<n;i++)
			a[i][j]-=min;
	}  //???
	if(n>2) //????2*2
	{
		sum=sum+a[1][1];
		for(i=2;i<n;i++)
			for(j=0;j<n;j++)
				a[i-1][j]=a[i][j];   //??????
		for(j=2;j<n;j++)
			for(i=0;i<n-1;i++)
				a[i][j-1]=a[i][j];  //??????
		return GuiLing(a,n-1,sum);
	}
	else return sum+a[1][1];
}

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