semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int a[100][100];
    int sum[100],n,i,j,k,l,min,m;
    cin>>n;
    for(i=0;i<n;i++)
       sum[i]=0;
    for(i=0;i<n;i++)
      {
          for(j=0;j<n;j++)
            for(k=0;k<n;k++)
            cin>>a[j][k];
          for(j=0;j<n-1;j++)
          {
                for(k=0;k<n-j;k++)
                 {
                   min=a[k][0];
                   for(l=0;l<n-j;l++)
                   if(min>a[k][l]) min=a[k][l];
                   for(l=0;l<n-j;l++)
                      a[k][l]=a[k][l]-min;
                 }
                for(k=0;k<n-j;k++)
                {
                    min=a[0][k];
                    for(l=0;l<n-j;l++)
                    if(a[l][k]<min) min=a[l][k];
                    for(l=0;l<n-j;l++)
                    a[l][k]=a[l][k]-min;
                }
                sum[i]=sum[i]+a[1][1];
                for(k=0;k<n-j;k++)
                   for(l=1;l<n-j-1;l++)
                   a[k][l]=a[k][l+1];
                for(k=0;k<n-j-1;k++)
                   for(l=1;l<n-j-1;l++)
                   a[l][k]=a[l+1][k];
          }
      }
    for(i=0;i<n;i++)
       cout<<sum[i]<<endl;
    return 0;
}
int main()
{
	int n;
	int m=0;

	int a[100][100];
	int (*p)[100];
	cin>>n;
	for (int k=0;k<n;k++) 
	{

		int sum=0;

		p=a;

		for (int i=0;i<n;i++)    //??
		{
			for (int j=0;j<n;j++)
			{
				cin>>*(*(p+i)+j);
			}
		}

		int min1=*(*(p+0)+0);
		for (int count=0;count<n;count++)  //??n?
		{


			m=n-count;
			for (int i=0;i<m;i++)   //???
			{
				min1=*(*(p+i)+0);
				for (int j=0;j<m;j++) // ??????
					if (*(*(p+i)+j)<min1) min1=*(*(p+i)+j);
				for (int j=0;j<m;j++) // ?
					*(*(p+i)+j)-=min1;

			}
			for (int j=0;j<m;j++)   //???
			{
				min1=*(*(p+0)+j);
				for (int i=0;i<m;i++) // ??????
					if (*(*(p+i)+j)<min1) min1=*(*(p+i)+j);
				for (int i=0;i<m;i++) // ?
					*(*(p+i)+j)-=min1;
			}

			//cout<<a[1][1];
			sum+=*(*(p+1)+1);

			for (int i=2;i<m;i++)   //??
			{
				for (int j=0;j<m;j++) 
					*(*(p+i-1)+j)=*(*(p+i)+j);
			}
			for (int j=2;j<m;j++)   //??
			{
				for (int i=0;i<m;i++) 
					*(*(p+i)+j-1)=*(*(p+i)+j);
			}





		}
		sum-=*(*(p+1)+1);

		cout<<sum<<endl;




	}








	return 0;
}
int main()
{
	int m[100][100],min = 100000,sum = 0,r;
	int (*p)[100];
	int n;
	cin >> n;
	p = m;
	int i,j;
	int time;
	for (time = 1; time <= n;time++)
	{
		sum = 0;
		for (i = 0; i < n;i++)
		{
			for (j = 0;j < n;j++)
			{
				cin >> m[i][j];
			}
		}
		for(r = n;r > 1;r--)
		{
			for (i = 0; i < r;i++)
			{
				min = 100000;
				for (j = 0; j < r;j++)
				{
					if (*(*(p+i)+j) < min)
						min = *(*(p+i)+j);
				}
				for (j = 0; j < r;j++)
				{
					*(*(p+i)+j) -= min;
				}
			}
			for (i = 0; i < r;i++)
			{
				min = 100000;
				for (j = 0; j < r;j++)
				{
					if (*(*(p+j)+i) < min)
						min = *(*(p+j)+i);
				}
				for (j = 0; j < r;j++)
				{
					*(*(p+j)+i) -= min;
				}
			}
			sum += *(*(p+1 )+1);
			for (j = 0; j < r;j++)
			{

				for (i = 2; i < r;i++)
				{
					*(*(p + j)+i - 1) = *(*(p + j)+i);
				}
			}
			for (j = 2; j < r;j++)
			{
				for (i = 0; i < r;i++)
				{
					*(*(p + j - 1)+i) = *(*(p + j)+i);
				}
			}
		}
		cout << sum << endl;
	}
	return 0;
}
int main(){
	int n;
	int w[100][100];
	cin>>n;
	for(int nn=0;nn<n;nn++){
		for(int i=0;i<n;i++)
			for(int j=0;j<n;j++)
				cin>>w[i][j];
		int s=0;
		for(int t=0;t<n-1;t++){
			for(int i=0;i<n;i++)
				if((!i)||(i-t>0)){
					int m=w[i][0];
					for(int j=t+1;j<n;j++)m=min(m,w[i][j]);
					w[i][0]-=m;
					for(int j=t+1;j<n;j++)w[i][j]-=m;
				}
			for(int j=0;j<n;j++)
				if((!j)||(j-t>0)){
					int m=w[0][j];
					for(int i=t+1;i<n;i++)m=min(m,w[i][j]);
					w[0][j]-=m;
					for(int i=t+1;i<n;i++)w[i][j]-=m;
				}
			s+=w[t+1][t+1];
		}
		cout<<s<<endl;
	}
	return 0;
}
int a[100][100]={0};
int b[100][100]={0};
int i,j,n;
int num=0;
void m(int n)//????
{
	int min;
	for(i=0;i<=n-1;++i)
	{
		min=a[i][0];
		for(j=0;j<=n-1;++j)
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		for(j=0;j<=n-1;++j)
			a[i][j]=a[i][j]-min;
	}
	for(j=0;j<=n-1;++j)
	{
		min=a[0][j];
		for(i=0;i<=n-1;++i)
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		for(i=0;i<=n-1;++i)
			a[i][j]=a[i][j]-min;
	}
}
void del(int n)//?????
{
	b[0][0]=a[0][0];
	for(j=1;j<=n-2;++j)
		b[0][j]=a[0][j+1];
	for(i=1;i<=n-2;++i)
		b[i][0]=a[i+1][0];
	for(i=1;i<=n-2;++i)
	{
		for(j=1;j<=n-2;++j)
		{
			b[i][j]=a[i+1][j+1];
		}
	}
	for(i=0;i<=n-1;++i)
	{
		for(j=0;j<=n-1;++j)
		{
			a[i][j]=b[i][j];
		}
	}
}
int s(int n)//????
{
	m(n);
	num=num+a[1][1];
	del(n);
	if(n!=2) s(n-1);//??
	return num;
}
int main()
{
	int k;
	cin>>n;
	for(k=1;k<=n;++k)
	{
		for(i=0;i<=n-1;++i)
		{
		for(j=0;j<=n-1;++j)
		{
			cin>>a[i][j];
		}
	}
		num=0;
		cout<<s(n)<<endl;
	}
	return 0;
}
int main()
{
	int n=0,t=0,m=0;
	cin>>n;
	
	for(t=0;t<n;t++)//n???
	{
		int arr[100][100];
		int i=0,j=0,k=0,sum=0,m=n;//m???????????
		for(i=0;i<n;i++)//??
			for(j=0;j<n;j++)
				cin>>arr[i][j];
		for(i=1;i<n;i++)//n-1???
		{
			for(j=0;j<m;j++)//???????
			{
				int min=arr[j][0];
				for(k=0;k<m;k++)
					if(arr[j][k]<min)
						min=arr[j][k];
				for(k=0;k<m;k++)
					arr[j][k]-=min;
			}
			for(j=0;j<m;j++)//???????
			{
				int min=arr[0][j];
				for(k=0;k<m;k++)
					if(arr[k][j]<min)
						min=arr[k][j];
				for(k=0;k<m;k++)
					arr[k][j]-=min;
			}
			sum+=arr[1][1];//?2,2???????
			for(j=2;j<m;j++)//?????????
			{
				arr[0][j-1]=arr[0][j];
				arr[j-1][0]=arr[j][0];
			}
			for(j=2;j<m;j++)
				for(k=2;k<m;k++)
				{
					arr[j-1][k-1]=arr[j][k];
				}
			m--;//???????1
		}
		cout<<sum<<endl;//
	}
	return 0;
}
int main()
{
	int a[100][100][100],b[100][100],n,i,j,k;
	int c,l,o,p,q,r,s,t;
    int min;
	int w,x,y,z;
	int h,g,m;
	cin>>n;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{
				cin>>a[i][j][k];
			}
		}
	}
	for(c=1;c<=n-1;c++)
	{
		for(l=0;l<n;l++)
		{


			for(o=0;o<=n-c;o++)
			{
				min=a[l][o][1];
			    for(p=0;p<=n-c;p++)
				{
					if(a[l][o][p]<min)min=a[l][o][p];
				}
				for(q=0;q<=n-c;q++)
				{
				    a[l][o][q]-=min;
				}
			}
		    for(r=0;r<=n-c;r++)
			{
				min=a[l][1][r];
				for(s=0;s<=n-c;s++)
				{
					if(a[l][s][r]<min)min=a[l][s][r];
				}
				for(t=0;t<=n-c;t++)
				{
					a[l][t][r]-=min;
				}
			}
			b[l][c]=a[l][1][1];
            for(w=1;w<=n-c-1;w++)
			{
				for(x=0;x<=n-c;x++)
				{
					a[l][w][x]=a[l][w+1][x];
				}
			}
			for(y=1;y<=n-c-1;y++)
			{
				for(z=0;z<=n-c;z++)
				{
					a[l][z][y]=a[l][z][y+1];
				}
			}
		}
	}
	for(h=0;h<n;h++)
	{
		m=0;
		for(g=1;g<=n-1;g++)
		{
			m+=b[h][g];
		}
		cout<<m<<endl;
	}
	
	return 0;
}
void f1(int *p,int n,int k)
{
	int i,m=*p;
	for(i=0;i<n;i++)
	{if(*(p+i)<m)
	m=*(p+i);}
	for(i=0;i<n;i++)
	*(p+i)=*(p+i)-m;
	if(k>1) f1(p+100,n,(k-1));
}
void f2(int *p,int n,int k)
{
	int i,m=*p;
	for(i=0;i<n;i++)
	{if(*(p+i*100)<m)
	m=*(p+i*100);}
	for(i=0;i<n;i++)
		*(p+i*100)=*(p+i*100)-m;
	if(k>1) f2(p+1,n,(k-1));
}
int main()
{
	int *p,a[100][100],n,i,j,t,m,h;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			for(t=0;t<n;t++)
				scanf("%d",&a[j][t]);}
		p=a[0];
		h=0;
		for(j=n;j>1;j--)
		{f1(p,j,j);
		f2(p,j,j);
		h+=a[1][1];
		for(t=0;t<j;t++)
		{
			for(m=1;m<(j-1);m++)
				a[t][m]=a[t][m+1];}
		for(t=0;t<(j-1);t++)
		{
			for(m=1;m<(j-1);m++)
				a[m][t]=a[m+1][t];}}
		printf("%d\n",h);}
	return 0;
}
/*
 * juzhenguiling.cpp
 *
 *  Created on: 2012-11-26
 *      Author: 12198
 */
int n,a[201][201];
int i,j,sum;
int min1[201],min2[201];
void read();
void del(int);
void move(int);
int main()
{
    cin>>n;
    int i,j;
    for ( i = 0;i <n ; ++i)
    {
        read();
        sum = 0;
        for (j = 0; j < n-1 ;++j)
        {

               del(n-j);         //?n-j+1??????
               sum=sum+a[1][1];       //??
               move(n-j);         //?????????
        }
        cout << sum << endl;
    }
    return 0;
}
void read()
{
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			cin>>a[i][j];
}
void del(int n)
{
	for(i=0;i<n;i++)
		{min1[i]=a[i][0];
			for(j=0;j<n;j++)
				if(a[i][j]<min1[i])
					min1[i]=a[i][j];
			//cout<<min1[i]<<"min1"<<endl;
		}
	for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				a[i][j]=a[i][j]-min1[i];
	/*for(i=0;i<n;i++)
				{for(j=0;j<n;j++)
					cout<<a[i][j]<<" ";
		            cout<<endl;}*/
	for(i=0;i<n;i++)
			{min2[i]=a[0][i];
				for(j=0;j<n;j++)
					if(a[j][i]<min2[i])
						min2[i]=a[j][i];
				//cout<<min2[i]<<"min2"<<endl;
			}
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
		   a[j][i]=a[j][i]-min2[i];
	/*for(i=0;i<n;i++)
			{for(j=0;j<n;j++)
				cout<<a[i][j]<<" ";
	            cout<<endl;}*/
}
void move(int n)
{
    for(i=2;i<n;i++)
    	for(j=0;j<n;j++)
    		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];
}
int main()
{
	int n,arr[100][100],i,j,k,l,min,sum=0;
	cin>>n;
	for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				cin>>arr[i][j];
			}
		} //??
		for(l=n;l>1;l--)
		{
			for(i=0;i<l;i++)
			{
				min=arr[i][0];
				for(j=1;j<l;j++)
				{
					if(arr[i][j]<min)
					{
						min=arr[i][j];
					}
				}
				for(j=0;j<l;j++)
				{
					arr[i][j]=arr[i][j]-min;
				}
			}
			for(j=0;j<l;j++)
			{
				min=arr[0][j];
				for(i=1;i<l;i++)
				{
					if(arr[i][j]<min)
					{
						min=arr[i][j];
					}
				}
				for(i=0;i<l;i++)
				{
					arr[i][j]=arr[i][j]-min;
				}
			} //??
			sum=sum+arr[1][1]; //?????arr[1][1]
			for(i=1;i<l;i++)
			{
				for(j=0;j<l;j++)
				{
					arr[i][j]=arr[i+1][j];
				}
			}
			for(j=1;j<l;j++)
			{
				for(i=0;i<l-1;i++)
				{
					arr[i][j]=arr[i][j+1];
				}
			} //??
		}
		cout<<sum<<endl;
	    memset(arr,0,sizeof(arr));
		sum=0;
	}
	return 0;
}
int main()
{
	int n,i,j,k,l,m,sum,min,z;
	int a[100][100];
	cin>>n;
	for(k=0;k<n;k=k+1)
	{
		sum=0;
		for(i=0;i<n;i=i+1)
			for(j=0;j<n;j=j+1)
				cin>>a[i][j];
		for(l=n;l>1;l=l-1)
		{
			for(i=0;i<l;i=i+1)
			{
				min=a[i][0];
				for(j=1;j<l;j=j+1)
				{
					if(a[i][j]<min)
						min=a[i][j];
				}
				for(j=0;j<l;j=j+1)
					a[i][j]=a[i][j]-min;
			}
			for(i=0;i<l;i=i+1)
			{
				min=a[0][i];
				for(j=1;j<l;j=j+1)
				{
					if(a[j][i]<min)
						min=a[j][i];
				}
				for(j=0;j<l;j=j+1)
					a[j][i]=a[j][i]-min;
			}
			sum=sum+a[1][1];
			if(l!=2)
			{
				for(i=1;i<l;i=i+1)
					a[0][i]=a[0][i+1],a[i][0]=a[i+1][0];
				for(i=1;i<l;i=i+1)
					for(j=1;j<l;j=j+1)
						a[i][j]=a[i+1][j+1];
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}
/*
 ********************************************************************
 ****** FileNm : app.cpp		
 ****** CreatT : 2012-12-27			
 ****** Author : Tom JIASHENG LUO ** Mail Me : CrysTom@163.com ******
 ****** Teacher: XUANZHE LIU ******* School	: Peking University	*****
 ********************************************************************
 */

int main() {
	int n, i, j, k, total;
	cin >> n;
	int a[n][n];
	int numbers = n;
	for (k = 0; k < numbers; k++) {
		total = 0;
		for (i = 0; i < numbers; i++)
			for (j = 0; j < numbers; j++)
				cin >> a[i][j];
		for (n = numbers; n > 1; n--) {
			for (i = 0; i < n; i++) {
				int temp = a[i][0];
				for (j = 1; j < n; j++)
					if (a[i][j] < temp)
						temp = a[i][j];
				for (j = 0; j < n; j++)
					a[i][j] -= temp;
			}
			for (j = 0; j < n; j++) {
				int temp = a[0][j];
				for (i = 1; i < n; i++)
					if (a[i][j] < temp)
						temp = a[i][j];
				for (i = 0; i < n; i++)
					a[i][j] -= temp;
			}
			total += 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 - 1; j++)//?????
				for (i = 1; i < n - 1; i++)
					a[i][j] = a[i + 1][j];
		}
		cout << total << endl;
	}
	return 0;
}
/*
 * Matrix.cpp
 *
 *  Created on: 2010-12-31
 *      Author: user
 */



int matrix[100][100], sum = 0;

void SUM(int n) {
	if (n == 1)
		return;
	int i, j;

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

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

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

	sum += matrix[1][1];

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

	for (i = 1; i < n - 1; i++)
		matrix[i][0] = matrix[i + 1][0];

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

	SUM(n - 1);

}

int main() {
	int n, i, j, k;
	cin >> n;

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

		SUM(n);
		cout << sum << endl;
		sum = 0;
	}

	return 0;
}
/**
* ??????
* ???1000012847
* ???????????? 
**/


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

	cin >> n;            //?????
	for (k = 0; k < n; k++)     
	{
		for (i = 0; i < n; i++)
			for (j = 0; j < n; j++)
				cin >> a[i][j];     //????n?n*n???

		cout << sum(a , n) << endl;  //???????????
	}
	return 0;
}

int sum(int a[][101] ,int n)
{
	int i , j , temp , min;  //??i?j??????temp????????min??????????
	for (i = 0; i < n; i++)
	{
		min = a[i][0];          //?min???????????
		for (j = 0; j < n; j++)
			if (a[i][j] < min)
				min = a[i][j];  //???????

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

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

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

	if (n == 1)                           //?n??1????0
		return 0;
	else
		return temp + sum(a , n - 1);    //????
}
/*
 * ????practice6.cpp
 * ??????
 * ?????2012-12-27
 * ?????????????
 */



int a[100][100], n;

int sum(int n) {
	if (n == 1)
		return 0;
	else {
		int i, j, m;
		for (i = 0; i < n; ++i) {
			m = 1000;
			for (j = 0; j < n; ++j)
				if (a[i][j] < m)
					m = a[i][j];
			for (j = 0; j < n; ++j)
				a[i][j] -= m;
		}
		for (i = 0; i < n; ++i) {
			m = 1000;
			for (j = 0; j < n; ++j)
				if (a[j][i] < m)
					m = a[j][i];
			for (j = 0; j < n; ++j)
				a[j][i] -= m;
		}
		int num = a[1][1];
		for (i = 0; i < n; ++i)
			for (j = 2; j < n; ++j)
				a[i][j - 1] = a[i][j];
		for (i = 0; i < n - 1; ++i)
			for (j = 2; j < n; ++j)
				a[j - 1][i] = a[j][i];
		return num + sum(n - 1);
	}
}

int main() {
	int 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];
		cout << sum(n) << endl;
	}
	return 0;
}
int main()
{
	int num;
	int (*p)[100];
	int jz[100][100];
	cin>>num;
	int x=num;
	int min=9999;
	p=jz;
	for(int i=1; i<=num; i++)
	{   x=num;
		int sum=0;
		for(int k=0; k<x; k++)
			for(int j=0; j<x; j++)
				cin>>*(*(p+k)+j);
		
		while(x>=0)
		{


			for(int k=0; k<x; k++)
			{
				for(int j=0; j<x; j++)
				{
					if(*(*(p+k)+j)<min) min=*(*(p+k)+j);
				}
				for(int j=0; j<x; j++)
				{
					*(*(p+k)+j)=*(*(p+k)+j)-min;
					
				}
                min=9999;
			}

			for(int j=0; j<x; j++)
			{
				for(int k=0; k<x; k++)
				{
					if(*(*(p+k)+j)<min) min=*(*(p+k)+j);
				}
				for(int k=0; k<x; k++)
				{
					*(*(p+k)+j)=*(*(p+k)+j)-min;
					
				}
                min=9999;
			}
			
			if(x>1)
			sum=sum+*(*(p+1)+1);
			
			for(int k=0; k<x; k++)
				for(int j=1; j<x-1; j++) *(*(p+k)+j)=*(*(p+k)+j+1);
			for(int j=0; j<x; j++)
				for(int k=1; k<x-1; k++) *(*(p+k)+j)=*(*(p+k+1)+j);
			x--;
		}
	
		cout<<sum<<endl;

	}
	return 0;
}
int a[100][100];

int sum(int[100][100], int);

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

int sum(int a[100][100], int n)
{
	int p, i, j, min;
	if(n == 1)
		return 0;
	for(i =	0; i < n; i++)
	{
		min = a[i][0];
		for(j = 1; j < n; j++)
		{
			if(min > a[i][j])
				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(min > a[j][i])
				min = a[j][i];
		}
		for(j = 0; j < n; j++)
		{
			a[j][i] -= min;
		}
	}
	p = a[1][1];
	for(i = 0; i < n; i ++)
		for(j = 1; j < n - 1; j++)
		{
			a[i][j] = a[i][j+1];
		}
	for(i = 1; i < n - 1; i++)
		for(j = 0; j < n - 1; j++)
		{
			a[i][j] = a[i + 1][j];
		}
	return p + sum(a, n - 1);
}
int main()
{
  int n,i,j,a[105][105],sum=0,min,p;
  cin>>n;
  p=n;
  for (int k=1;k<=n;k++)//n??? 
  {
  for (i=0;i<=n-1;i++)
  {for (j=0;j<=n-1;j++)
   cin>>a[i][j];
  }
  
  for (int m=1;m<=n-1;m++){
  for(i=0;i<=p-1;i++)
  {
   min=10000;
   for (j=0;j<=p-1;j++)
   {
   if (a[i][j]<min)
   min=a[i][j];}
   for (j=0;j<=p-1;j++) 
   a[i][j]-=min;}
   for (j=0;j<=p-1;j++)
   {
    min=10000;
    for(i=0;i<=p-1;i++){
    if (a[i][j]<min)
    min=a[i][j];
     }
     for (i=0;i<=p-1;i++)
     a[i][j]-=min;}
     sum+=a[1][1];
    // cout<<a[1][1]<<endl;
    
     
     for (i=2;i<=p-1;i++){//??2?2? 
     for (j=0;j<=p-1;j++)
     a[i-1][j]=a[i][j];}
     for (j=2;j<=p-1;j++){
     for (i=0;i<=p-1;i++)
     a[i][j-1]=a[i][j];}
     
  }
 cout<<sum<<endl;
 sum=0;
 }
 return 0;
 
}
int main()
{
    int n, a[100][100], sum=0, i, j, k, m, z, x, p=0, min1[100],min2[100];
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        for(j=0;j<n;j++)
        {
            for(k=0;k<n;k++)
            {
                scanf("%d",&a[j][k]);
            }
        }
        sum=0;
        p=0;
        while(p<n)
        {
            for(m=0;m<n-p;m++)
            {
                min1[m]=a[m][0];
                for(k=0;k<n-p;k++)
                {
                    
                    if(min1[m]>a[m][k])
                    {
                        min1[m]=a[m][k];
                    }
                }
            }
            for(z=0;z<n-p;z++)
            {
                for(x=0;x<n-p;x++)
                {
                    a[z][x]=a[z][x]-min1[z];
                }
                
            }
            for(m=0;m<n-p;m++)
            {
                min2[m]=a[0][m];
                for(k=0;k<n-p;k++)
                {
                    
                    if(min2[m]>a[k][m])
                    {
                        min2[m]=a[k][m];
                    }
                }
            }
            for(z=0;z<n-p;z++)
            {
                for(x=0;x<n-p;x++)
                {
                    a[z][x]=a[z][x]-min2[x];
                }
            }
            sum=sum+a[1][1];
            for(z=0;z<n-p;z++)
            {
                for(m=1;m<n-p;m++)
                {
                    a[z][m]=a[z][m+1];
                }
            }
            for(z=0;z<n-p;z++)
            {
                for(m=1;m<n-p;m++)
                {
                    a[m][z]=a[m+1][z];
                }
            }
            p++;
        }
        printf("%d\n",sum);
    }
    return 0;
}
int change( int a[][100], int n );

int main()
{
		int n, k = 0;
		int a[100][100], sum = 0;
		int m = 0; //count the number of cut the matrix
		
		cin >> n;
		while ( k < n )
		{
				sum = 0;
			  m = 0;
				for ( int i = 0; i < n; i++ )
				{
					for ( int j = 0; j < n; j++ )
					{
							cin >> a[i][j];
					}
				}
		
				while ( m < n - 1 )
				{
					sum += change( a, n - m );
					
					for ( int i = 0; i < n - m; i++ ) //cut the matrix's colomn
					{
							for ( int j = 2; j < n - m; j++ )
							{
									a[i][j-1] = a[i][j];
							}
					}
					
					for ( int j = 0; j < n - m; j++ ) //cut the matrix's row
					{
							for ( int i = 2; i < n - m; i++ )
							{
									a[i-1][j] = a[i][j];
							}
					}
					m++;
				}	
				
				cout << sum << endl;
				
			k++;
		}

		return 0;
}

int change( int a[][100], int n ) //matrix to zero= =
{
		int minx[100], miny[100]; //minx is the minum of the row, miny is the minum of the column
		int num;
		
		for ( int l = 0; l < 100; l++ )
		{
				minx[l] = INT_MAX;
				miny[l] = INT_MAX;
		}
		
		for ( int i = 0; i < n; i++ )
		{
				for ( int j = 0; j < n; j++ )
				{
						if ( a[i][j] < minx[i] )
							minx[i] = a[i][j];
				}
		}
		
		for ( int i = 0; i < n; i++ )
		{
				for ( int j = 0; j < n; j++ )
				{
						a[i][j] -= minx[i];
				}
		}
		
		for ( int i = 0; i < n; i++ )
		{
				for ( int j = 0; j < n; j++ )
				{
						if ( a[i][j] < miny[j] )
							miny[j] = a[i][j];
				}
		}
		
		for ( int i = 0; i < n; i++ )
		{
				for ( int j = 0; j < n; j++ )
				{
						a[i][j] -= miny[j];
				}
		}
		num = a[1][1];
		return num;
}
int minline(int n,int u,int **a)
{
	int temp=a[0][u];
	for(int i=1;i<n;i++)
	{
		if(temp>a[i][u])
		{
			temp=a[i][u];
		}
	}
	return temp;
}
int mincross(int n,int a[])
{
	int temp=a[0];
	for(int i=0;i<n;i++)
	{
		if(temp>a[i])
		{
			temp=a[i];
		}
	}
	return temp;
}

int ans(int n,int ** pp)
{
	
		int sum=0;
		
		for(int y=0;y<n-1;y++)
		{
				for(int i=0;i<n-y;i++)
				{
					int minTemp=mincross(n-y,pp[i]);
					for(int j=0;j<n-y;j++)
					{
					pp[i][j]=pp[i][j]-minTemp;
					}
				}
				for(int i=0;i<n-y;i++)
				{
					int minTemp=minline(n-y,i,pp);
					for(int j=0;j<n-y;j++)
					{
					pp[j][i]=pp[j][i]-minTemp;
					}
				}
				sum=sum+pp[1][1];

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

				for(int i=0;i<n-1-y;i++)
				{
					for(int j=1;j<n-y-1;j++)
					{
						pp[j][i]=pp[j+1][i];
					}
				}
				
		}
	return sum;
}

int main (void)
{
	int n=0;
	scanf("%d",&n);
	int **pp;
	pp=(int **)malloc(n*sizeof(int *));
	for(int i=0;i<n;i++)
	{
		pp[i]=(int *)malloc(n*sizeof(int));
	}

	
	
	for(int w=0;w<n;w++)
	{
			for(int i=0;i<n;i++)
			{
				for(int j=0;j<n;j++)
				{
					scanf("%d",&pp[i][j]);
				}
			}
		printf("%d\n", ans(n,pp) );
	}

	for(int i=0;i<n;i++)
	{
		free(pp[i]);
	}
	free(pp);
	
	return 0;
}
int a[103][103];
int FindMin(int x, int y)
{
	int  ret = 100000;	
	for(int i = 0; i < y; i++)
		if(a[x][i] < ret)
			ret = a[x][i];
	return ret;
}
int FindMin1(int x, int y)
{
	int  ret = 100000;	
	for(int i = 0; i < y; i++)
		if(a[i][x] < ret)
			ret = a[i][x];
	return ret;
}
int main()
{
	int n, q;
	cin >> n;
	int sum = 0;
	q = n;
	for(int k = 0; k < n; k++)
	{
		sum = 0;
		q = n;
		for(int h = 0; h < n; h++)
			for(int l = 0; l < n; l++)	
				cin >> a[h][l];
		while(1)
		{
			if(q == 1)
			{
				cout << sum << endl;
				break;
			}
			// ?? 
			int t;
			for(int i = 0; i < q; i++)
			{
				t = FindMin(i,q);
				for(int j = 0; j < q; j++)
					a[i][j] -= t;
			}
			for(int j = 0; j < q; j++)
			{
				t = FindMin1(j,q);
				for(int i = 0; i < q; i++)
					a[i][j] -= t;
			}
			sum += a[1][1];
			//??
			for(int i = 1; i < q - 1; i++)
				for(int j = 0; j < q; j++)	
					a[i][j] = a[i+1][j];
			for(int j = 1; j < q - 1; j++)
				for(int i = 0; i < q; i++)
					a[i][j] = a[i][j+1];
			q --;
		}

	}
	return 0;	
}
int sum;
int a[100][100],b[100];
void cut(int);
int main()
{
	int n,i,j,k;
	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];}
		}
		cut(n);
		cout<<sum<<endl;
	}
	return 0;
}


void cut(int n)
{
	if(n>1)
	{
		int j,k;
		for(j=0;j<n;j++)
		{
			b[j]=a[j][0];
			for(k=1;k<n;k++)
			{
				if(a[j][k]<b[j])
				{b[j]=a[j][k];}
			}
		}
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{a[j][k]=a[j][k]-b[j];}
		}
		for(j=0;j<n;j++)
		{
			b[j]=a[0][j];
			for(k=1;k<n;k++)
			{
				if(a[k][j]<b[j])
				{b[j]=a[k][j];}
			}
		}
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{a[k][j]=a[k][j]-b[j];}
		}
		sum+=a[1][1];
		for(j=1;j<n-1;j++)
		{
			for(k=0;k<n;k++)
			{a[j][k]=a[j+1][k];}
		}
		for(j=1;j<n-1;j++)
		{
			for(k=0;k<n-1;k++)
			{a[k][j]=a[k][j+1];}
		}
		cut(n-1);
	}
}