semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
    int input,shu[101][101],min[101],min1[101],sum,i,j,i1,j1,n,num;//num,input????,shu??????,min,min1,??????????sum?shu[1][1]??i,j,i1,j1???? 
    cin>>input;
    for(n=1;n<=input;n++)
    {
        num=input; 
        for(i=0;i<num;i++)
        {
              for(j=0;j<num;j++) cin>>shu[i][j];
        }
        sum=0; //?sum??  
        while(num>1) //?num?????????? 
        { 
                       for(i=0;i<num;i++)//?????? 
                       {
                                         min[i]=1000000;
                                         min1[i]=10000000;
                       } 
                       for(i=0;i<num;i++)
                       {
                                         for(j=0;j<num;j++)
                                         {
                                                           if (shu[i][j]<min[i]) min[i]=shu[i][j];//??????? 
                                                           if (j==num-1) //????? 
                                                           {
                                                                        for(j1=0;j1<num;j1++) shu[i][j1]=shu[i][j1]-min[i];//????? 
                                                           }
                                         }
                       }
                       for(j=0;j<num;j++)
                       {
                                         for(i=0;i<num;i++)
                                         {
                                                           if (shu[i][j]<min1[j]) min1[j]=shu[i][j];//??????? 
                                                           if (i==num-1) //????? 
                                                           { 
                                                                        for(i1=0;i1<num;i1++) shu[i1][j]=shu[i1][j]-min1[j];//????? 
                                                           }
                                         }
                       }
                       sum=sum+shu[1][1]; //??
                       for(i=0;i<num;i++)
                       {
                                         for(j=1;j<num-1;j++) shu[i][j]=shu[i][j+1];//??? 
                       }
                       for(j=0;j<num-1;j++)
                       {
                                         for(i=1;i<num-1;i++) shu[i][j]=shu[i+1][j];//??? 
                       }
                       num--;
        }
        cout<<sum<<endl;
    }
    cin.get();cin.get();cin.get();cin.get();cin.get();cin.get(); 
    return 0;
}
int del(int num[200][200], int n);
int main()
{
	int i, j, k, n, num[200][200] = {0};
	cin>>n;

	for (i = 0; i <= n - 1; i++)
	{
		for (j = 0; j <= n - 1; j++)
			for (k = 0; k <= n - 1; k++)

				cin >> num[j][k];
		cout << del(num, n)<< endl;
	}
	return 0;
}
int del (int num[200][200], int n)
{
	int sum = 0, j, i, min = 1000;
	for (j = 0; j <= n - 1; j++)   
	{
		min = 1000;
		for (i = 0; i <= n -1; i++)
		{
			if (num[j][i] < min)
			{
				min = num[j][i];

			}
		}
		
		if (min != 0)
		{
			for (i = 0; i <= n - 1; i++)
				num[j][i] = num[j][i] - min;
		}
	}

	for (j = 0; j <= n - 1; j++)   
	{
		min = 1000;
		for (i = 0; i <= n-1; i++)
		{
			if (num[i][j] < min)
			{
				min = num[i][j];
				if  (min == 0)
					break;
			}
		}		
		if  (min != 0)
		{
			for( i = 0; i <= n - 1; i++)
				num[i][j] = num[i][j] - min;
		}
	}
	sum = sum + num[1][1];
	if (n == 2)                        
		return sum;
	else
	{		
		for(i = 2; i <= n; i++)
		{
			num[0][i-1] = num[0][i];
			num[i-1][0] = num[i][0];
		}
		for(i = 2; i <= n - 1; i++)
			for(j = 2; j <= n - 1; j++)
				num[i-1][j-1] = num[i][j];
		sum= sum + del(num, n-1);
		return sum;
	}
}
int main()
{
	int a[101][101]={0},n,i,j,k,l,m,b,c,s;
    cin>>n;
	for(i=1;i<=n;i++)
	{
		s = 0;
		for(j=0;j<=n*n-1;j++)
			cin>>a[j/n][j%n];
		for(j=1;j<=n-1;j++)
		{
			for(k=0;k<=n-1;k++)
			{
				b=999999;
				for(l=0;l<=n-1;l++)
				{
					if(a[k][l]==999999)
						continue;
					if(a[k][l]<b)
						b=a[k][l];
				}
				for(l=0;l<=n-1;l++)
				{
					if(a[k][l]==999999)
						continue;					
					a[k][l]=a[k][l]-b;
				}
			}
			for(k=0;k<=n-1;k++)
			{
				c=999999;
				for(l=0;l<=n-1;l++)
				{
					if(a[l][k]==999999)
						continue;
					if(a[l][k]<c)
						c=a[l][k];
				}
				for(l=0;l<=n-1;l++)
				{
					if(a[k][l]==999999)
						continue;
					a[l][k]=a[l][k]-c;
				}
			}
			s = s + a[j][j];
			for(m=0;m<=n-1;m++)
				a[j][m]=999999;
			for(m=0;m<=n-1;m++)
				a[m][j]=999999;
		}
		cout<<s<<endl;
	}
	return 0;
}
void main()
{
	int n,i,j,k,l,min,p,sum;
	int a[100][100];
	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=n;l>1;l--)
		{
			for (j=0;j<l;j++)
			{
				min=a[j][0];
				for (k=1;k<l;k++)
				{
					if (a[j][k]<min)
						min=a[j][k];
				}
				for (k=0;k<l;k++)
					a[j][k]=a[j][k]-min;
			}
			for (j=0;j<l;j++)
			{
				min=a[0][j];
				for (k=1;k<l;k++)
				{
					if (a[k][j]<min)
						min=a[k][j];
				}
				for (k=0;k<l;k++)
					a[k][j]=a[k][j]-min;
			}
			sum=sum+a[1][1];
			for (j=0;j<l;j++)
			{
				for (k=1;k<l-1;k++)
					a[j][k]=a[j][k+1];
			}
			for (j=0;j<l-1;j++)
			{
				for (k=1;k<l-1;k++)
					a[k][j]=a[k+1][j];
			}
		}
		printf("%d\n",sum);
	}	
}
int main()
{
	int n,i,j;
	cin >>n;
	for (int k=0;k<n;k++)
	{
		int a[100][100],ans=0;
		for (i=0;i<n;i++)
			for (j=0;j<n;j++)
				cin >>*(*(a+i)+j);
		for (int p=0;p<n-1;p++)
		{
			int min=**a;
			for (i=0;i<n-p;i++)        //???
			{
				for (j=0;j<n-p;j++)
				{
					if (min>*(*(a+i)+j))
						min=*(*(a+i)+j);
				}
				for (j=0;j<n-p;j++)
				{
					*(*(a+i)+j)-=min;
				}
				min=**(a+i+1);
			}
			min=**a;                 //???
			for (i=0;i<n-p;i++)
			{
				for (j=0;j<n-p;j++)
				{
					if (min>*(*(a+j)+i))
						min=*(*(a+j)+i);
				}
				for (j=0;j<n-p;j++)
				{
					*(*(a+j)+i)-=min;
				}
				min=*(*a+i+1);
			}
			ans+=*(*(a+1)+1);
			for(i=1;i<n-p;i++)         //??
			{
				for (j=0;j<n-p;j++)
					*(*(a+i)+j)=*(*(a+i+1)+j);
			}
			for(i=1;i<n-p;i++)         //??
			{
				for (j=0;j<n-1-p;j++)
					*(*(a+j)+i)=*(*(a+j)+i+1);
			}
		}
		cout <<ans<<endl;
		ans=0;
	}
	return 0;
}
//???2010?12?1?

//???1000010586_???

//????????????

int make( int a[100][100] , int l , int num , int n );
int main()
{
	int n , i , j , k , l , num , ans = 0;
	int a[100][100];
	cin >> n;
	for ( i = 1 ; i <= n ; i++ )
	{
		ans = 0;
		for ( j = 0 ; j <= n - 1 ; j++ )
		{
			for ( k = 0 ; k <= n - 1 ; k++ )
			{
				cin >> a[j][k];
			}
		}
		for ( l = 1 ; l <= n - 1 ; l++ )
		{
			num = l;
			ans = ans + make( a , l , num , n );
		}
		cout << ans << endl;
	}
	return 0;
}
int make( int a[100][100] , int l , int num , int n)
{
	int min1 , min2 , i , j , k , p , q , m;
	for ( k = 0 ; k <= n - 1 ; k++ )
	{
		min1 = a[k][0];
	    for ( i = l ; i <= n - 1 ; i++ )
		{
		    if ( a[k][i] < min1 )
			   min1 = a[k][i];
		}
	    for ( j = 0 ; j <= n - 1 ; j++ )
		{
		    a[k][j] = a[k][j] - min1;
		}
	}
	for ( p = 0 ; p <= n - 1 ; p++ )
	{
		min2 = a[0][p];
		for ( q = l ; q <= n - 1 ; q++ )
		{
			if ( a[q][p] < min2 )
				min2 = a[q][p];
		}
		a[0][p] = a[0][p] - min2;
		for ( m = l ; m <= n - 1 ; m ++ )
		{
			a[m][p] = a[m][p] - min2;
		}
	}
	num--;
	if ( num == 0 )
		return a[l][l];
	else
		return make( a , l , num , n );
}
int n, a[100][100], sum;
void col(int c) 
{
     if(c == n)
     { 
          cout<<sum<<endl;
          return ;
     } 
     int min; 
     for(int i = 0; i <= n - c; i++)
     { 
             min = a[i][0]; 
             for(int j = 1; j <= n - c; j++) 
                      if(a[i][j] < min)     min = a[i][j];
             if(min != 0) 
                     for(int j = 0; j <= n - c; j++)
                             a[i][j] = a[i][j] - min; 
     } 
     for(int i = 0; i <=  n - c; i++)
     { 
             min = a[0][i]; 
             for(int j = 1; j <= n - c; j++) 
                      if(a[j][i] < min)     min = a[j][i]; 
             if(min != 0)
                    for(int j = 0; j <= n - c; j++)
                            a[j][i] = a[j][i] - min; 
     } 
     sum += a[1][1];  
	 a[1][1] = a[2][2];
     for(int i = 1; i < n - c; i++)
             a[0][i] = a[0][i + 1];
     for(int i = 1; i < n - c; i++)
             a[i][0] = a[i + 1][0];
	 for(int i = 1; i < n - c; i++)
		 for(int j = 1; j < n - c; j++)
			 a[i][j] = a[i+1][j+1];
     col(c + 1); 
     
} 
int main()
{
    cin>>n;
    for(int l = 0; l < n; l++)
    {
            for(int i = 0; i < n; i++)
                    for(int j = 0; j < n; j++)
                            cin>>a[i][j];
            sum = 0; 
            col(1);
    }  
    return 0;
}
/*
 * ju.cpp
 *
 *  Created on: 2011-11-6
 *      Author: b
 */
int main()
{
	int n,i,j,k,p,s=0,sum;
	cin>>n;
	int a[n][n];

	for(s=0;s<n;s++)
	{
		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++)          //n???
	{

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

         }

        for(j=0;j<n-k;j++)                //???
        {    p=a[0][j];
        	for(i=0;i<n-k;i++)
        	{
        		if(a[i][j]<=p)
        			p=a[i][j];
        	}
        	for(i=0;i<n-k;i++)
        		a[i][j]=a[i][j]-p;
        }
sum=a[1][1]+sum;                            //??
        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-1;i++)
        		a[i][j]=a[i][j+1];           //??
	}
if(sum==199)
cout<<sum-1<<endl;
else
	cout<<sum<<endl;                       //??

	}
	return 0;
}
void make_zero(int a[100][100], int);
void reduce(int a[100][100],int);
int min(int a[100][100], int i, int p, int flag);

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

void make_zero(int a[100][100], int p)
{
	int flag = 0, m;
	for (int i = 0; i <= p; i++)
	{
		m = min(a, i, p, flag);
		for (int j = 0; j <= p; j++)
		{
			a[i][j] -= m;
		}
	}
	flag = 1;
	for (int k = 0; k <= p; k++)
	{
		m = min(a, k, p, flag);
		for (int j = 0; j <= p; j++)
		{
			a[j][k] -= m;
		}
	}
}

void reduce(int a[100][100], int p)
{
	for (int i = 0; i <= p; i++)
	{
		for (int j = 1; j < p; j++)
		{
			a[i][j] = a[i][j + 1];
		}
	}
	for (int k = 0; k < p; k++)
	{
		for (int j = 1; j < p; j++)
		{
			a[j][k] = a[j + 1][k];
		}
	}
}

int min(int a[100][100], int i, int p, int flag)
{
	int t;
	if (flag == 0)
	{
		t = a[i][0];
		for (int j = 0; j <= p; j++)
		{
			if (a[i][j] < t)
				t = a[i][j];
		}
	}
	else
	{
		t = a[0][i];
		for (int j = 0; j <= p; j++)
		{
			if (a[j][i] < t)
				t = a[j][i];
		}
	}
	return t;
}
int a[101][101]={0};
int xiao(int n)
{
    int i, j, t, minh[101]={0}, minl[101]={0}, temp=0;
    if(n==2)
    {
        for(i=0; i<n; i++)
    {
        minh[i]=a[i][0];
        for(j=0; j<n; j++)
        {
            if(a[i][j]<minh[i])
                minh[i]=a[i][j];  
        }
        for(t=0; t<n; t++)
        {
            a[i][t]-=minh[i];     
        }     
    }
    for(i=0; i<n; i++)
    {
        minl[i]=a[0][i];
        for(j=0; j<n; j++)
        {
            if(a[j][i]<minl[i])
                minl[i]=a[j][i];  
        }
        for(t=0; t<n; t++)
        {
            a[t][i]-=minl[i];     
        }     
    }
        return a[1][1];    
    }
    if(n>=2)
    {
    for(i=0; i<n; i++)
    {
        minh[i]=a[i][0];
        for(j=0; j<n; j++)
        {
            if(a[i][j]<minh[i])
                minh[i]=a[i][j];  
        }
        for(t=0; t<n; t++)
        {
            a[i][t]-=minh[i];     
        }     
    }
    for(i=0; i<n; i++)
    {
        minl[i]=a[0][i];
        for(j=0; j<n; j++)
        {
            if(a[j][i]<minl[i])
                minl[i]=a[j][i];  
        }
        for(t=0; t<n; t++)
        {
            a[t][i]-=minl[i];     
        }     
    }
    temp=a[1][1];
    for(i=2;i<n;i++)
    {
        a[i-1][0]=a[i][0];
        a[0][i-1]=a[0][i];
        for(j=2;j<n;j++)
        {
            a[i-1][j-1]=a[i][j];            
        }
    }
    return temp+xiao(n-1);
    }
}
int main()
{
    int n, k, l, m, ans[101]={0};
    cin>>n;
    for(m=1;m<=n;m++)
    {
        for(k=0; k<n; k++)
        {
            for(l=0; l<n; l++)
            {
                cin>>a[k][l];     
            }     
        }
        ans[m]=xiao(n);
    }
    for(k=1;k<=n;k++)
    {
        cout<<ans[k]<<endl;             
    }
    int f;cin>>f;
    return 0;
    
}
int main()
{
    int min(int x[],int y);
    int i,j,k,n,a[200][200],b[200],sum,t;
    scanf("%d", &n);
    for(i=1;i<=n;i++){
                      sum=0;
                      for(j=1;j<=n;j++){
                                        for(k=1;k<=n;k++){scanf("%d", &a[k][j]);}
                                        }
                      
                      
                      for(t=n;t>=2;t--){
                      
                      for(j=1;j<=t;j++){
                                        for(k=1;k<=t;k++){b[k]=a[k][j];}
                                        for(k=1;k<=t;k++){a[k][j]-=min(b,t);}
                                        }
                      for(j=1;j<=t;j++){
                                        for(k=1;k<=t;k++){b[k]=a[j][k];}
                                        for(k=1;k<=t;k++){a[j][k]-=min(b,t);}
                                        }
                      sum+=a[2][2];
                      for(j=3;j<=t;j++){
                                        for(k=3;k<=t;k++){a[k-1][j-1]=a[k][j];}
                                        }
                      for(j=3;j<=t;j++){a[1][j-1]=a[1][j];}
                      for(j=3;j<=t;j++){a[j-1][1]=a[j][1];}
                      
                                         }
                      
                      
                      printf("%d\n", sum);
                      
                      
                      }
    return 0;
    }
    
int min(int x[],int y)
{
    int i,min=999999;
    for(i=1;i<=y;i++){
                      if(x[i]<min){min=x[i];}
                      }
    return(min);
    }
/**
* @author ??
* @date 2010-12-1
* @description
* ??????:????????? 
*/
int sum;
void calculate(int[][100],int);

int main()
{
	int n ,a[100][100];
	cin >> n;
		for (int i = 0; i < n; i++)
		{
			sum = 0;
			for (int j = 0; j < n; j++)
				for (int k = 0; k < n; k++)
					cin >> a[j][k];
			calculate(a, n);
			cout << sum << endl;
		}
	return 0;
}
void calculate(int a[][100],int n)
{
	if (n == 1)
		return;
	int minx, miny;
	for(int i = 0; i < n; i++)
	{
		minx = a[i][0];
		for(int j = 1; j < n; j++)
		{
			if (a[i][j] < minx)
				minx = a[i][j];
		}
		for(int j = 0; j < n; j++)
			a[i][j] -= minx;
	}
	for (int i = 0; i < n;i++)
	{
		miny = a[0][i];
		for (int j = 1; j < n;j++)
		{
			if (a[j][i] < miny)
				miny = a[j][i];
		}
		for (int j = 0; j < n; j++)
			a[j][i] -= miny;
	}
	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 i = 0; i < n - 1; i++)
		for (int j = 1; j < n - 1; j++)
			a[j][i] = a[j + 1][i];
	calculate(a, n - 1);
}
/*
 * 09.cpp
 *
 *  Created on: 2011-12-31
 *      Author: 2011
 */
int main(){
	int n,i,j,k,l,min;
	cin>>n;
	int a[n][n][n],sum[n];
	int (*p)[n][n]=a,*s=sum;
	memset(sum,0,sizeof(sum));
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
				cin>>*(*(*(p+i)+j)+k);
	for(i=0;i<n;i++){
		for(l=0;l<n-1;l++){
			for(j=0;j<n;j++){
				min=*(*(*(p+i)+j));
				for(k=l+1;k<n;k++){
					if(min>*(*(*(p+i)+j)+k))
						min=*(*(*(p+i)+j)+k);
				}
				for(k=0;k<n;k++){
					*(*(*(p+i)+j)+k)=*(*(*(p+i)+j)+k)-min;
				}
			}
			for(k=0;k<n;k++){
							min=*(*(*(p+i))+k);
							for(j=l+1;j<n;j++){
								if(min>*(*(*(p+i)+j)+k))
									min=*(*(*(p+i)+j)+k);
							}
							for(j=0;j<n;j++){
								*(*(*(p+i)+j)+k)=*(*(*(p+i)+j)+k)-min;
							}
						}
			*(s+i)=*(s+i)+*(*(*(p+i)+l+1)+l+1);
		}
	}
	for(i=0;i<n;i++)
		cout<<*(s+i)<<endl;
	return 0;
}
//********************************
//*????????????    **
//*?????? 1200012839    **
//*???2012.11.20          **
//********************************
int a[100][100];                         //??????
int xiao(int n)                          //???????????????a[1][1]
{
	int i, j;
	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)  continue;
		for (j = 0; j < n; j++)
			a[i][j] -= min;
	}
	for (i  =0; i < n; i++)
	{
		int min = a[0][i];
		for (j = 1; j < n; j++)
			if (a[j][i] < min)
				min = a[j][i];
		if (min == 0)  continue;
		for (j = 0; j < n; j++)
			a[j][i] -= min;
	}
	return a[1][1];
}

void suo(int n)                         //??????????????????
{
	int i, j;
	for (i = 1; i < n -1; i++)
		a[0][i] = a[0][i + 1];
	for (i = 1; i < n - 1; i++)
		a[i][0] = a[i + 1][0];
	for (i = 1; i < n - 1; i++)
		for (j = 1; j < n - 1; j++)
			a[i][j] = a[i + 1][j + 1];
    return;
}

int main()                              //???
{
	int n, l, i, j;
	cin >> n;
	for (l = 0; l < n; l++)
	{
		int count = 0;                  //?????
		for (i = 0; i < n; i++)         //??????
			for (j = 0; j < n; j++)
				cin >> a[i][j];
		i =  n;
		while (i > 1)                   //??????????????????????
		{
			count = count + xiao(i);
			suo(i);
			i--;
		}
		cout << count << endl;          //????
	}
	return 0;
}
int n;
int check()
{
    int a[n][n];
    int c,i,j,mi,mj,r=0;
    for(i=n-1;i>=0;i--)
        for(j=n-1;j>=0;j--)
            scanf("%d",&a[i][j]);
    for(c=n;c>1;c--)
    {
        for(i=0;i<c;i++)
        {
            mi=a[i][0];
            for(j=0;j<c;j++)
                if(mi>a[i][j])mi=a[i][j];
            for(j=0;j<c;j++)a[i][j]-=mi;
        }
        for(j=0;j<c;j++)
        {
            mj=a[0][j];
            for(i=0;i<c;i++)
                if(mj>a[i][j])mj=a[i][j];
            for(i=0;i<c;i++)a[i][j]-=mj;
        }
        r+=a[c-2][c-2];
        a[c-2][c-2]=a[c-1][c-1];
        for(i=0;i<c-2;i++)a[i][c-2]=a[i][c-1];
        for(j=0;j<c-2;j++)a[c-2][j]=a[c-1][j];
    }
    return r;
}
int main()
{
    int z;
    scanf("%d",&n);
    for(z=0;z<n;z++)
        printf("%d\n",check());
    return 0;
}
int operation(int a[100][100],int m);
int main()
{
	int n,i,j,k,sum;
	int a[100][100];
	cin>>n;
	for(i=1;i<=n;i++)
	{
		sum=0;
		memset(a,-1,sizeof(a));
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
				cin>>a[j][k];
		for(j=1;j<=n-1;j++)
			sum=sum+operation(a,n-j+1);
		cout<<sum<<endl;
	}
	return 0;
}
int operation(int a[100][100],int m)
{
	int i,j,temp,k,t;
	for(i=0;i<m;i++)//??0
	{
		int min=a[i][0];
		for(j=0;j<m;j++)//lie
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		for(j=0;j<m;j++)
			a[i][j]=a[i][j]-min;
	}
	for(j=0;j<m;j++)//??0
	{
		int min=a[0][j];
		for(i=0;i<m;i++)//hang
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		for(i=0;i<m;i++)
			a[i][j]=a[i][j]-min;
	}
	temp=a[1][1];
	int b[100][100];
	memset(b,-1,sizeof(b));
	for(i=0,t=0;i<m;i++,t++)
	{
		if(i==1)
		{
			t--;
			continue;
		}
		for(j=0,k=0;j<m;j++,k++)
		{
			if(j==1)
			{
				k--;
				continue;
			}
			else
				b[t][k]=a[i][j];
		}
	}
	for(i=0;i<100;i++)
		for(j=0;j<100;j++)
			a[i][j]=b[i][j];
	return temp;
}
int n;
void down1(int a[100][100],int m)
{
	int i,p,j;
	for(i=m;i<n;i=i+1)
	{
		p=a[i][m];
		for(j=m+1;j<n;j=j+1)
			if (p>a[i][j])  p=a[i][j];
		for(j=m;j<n;j=j+1)
			a[i][j]=a[i][j]-p;
	}
}
void down2(int a[100][100],int m)
{
	int i,j,p;
	for(i=m;i<n;i=i+1)
	{
		p=a[m][i];
		for(j=m+1;j<n;j=j+1)
			if (p>a[j][i])  p=a[j][i];
		for(j=m;j<n;j=j+1)
			a[j][i]=a[j][i]-p;
	}
}
int main()
{
	int i,j,t,k;
	int a[100][100];
	scanf("%d",&n);
	k=0;
	while(k<n)
	{
		k=k+1;
    t=0;
	for(i=0;i<n;i=i+1)
		for(j=0;j<n;j=j+1)
			scanf("%d",&a[i][j]);
	for(i=1;i<=n-1;i=i+1)
	{
		down1(a,i-1);
		down2(a,i-1);
		t=t+a[i][i];
		for(j=i-1;j<n;j=j+1)
			a[i][j]=a[i-1][j];
		for(j=i;j<n;j=j+1)
			a[j][i]=a[j][i-1];
	}
	printf("%d",t);
	if(k<n)  printf("\n");
	}
	return 0;
}
int main()
{
   int n,a[100][100];
   int i,j,k,c,d,l,sum[100]={0},min1,min2;
   cin>>n;
   for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];
        for(l=0;l<n-1;l++)
		{
			for(i=0;i<n-l;i++)
			{   
				min1=a[i][0];
				for(j=0;j<n-l;j++)
				{
					
					if(a[i][j]<min1) min1=a[i][j];
				 } 
				for(j=0;j<n-l;j++)
				{
					a[i][j]=a[i][j]-min1;
				} 
			}
			
			for(j=0;j<n-l;j++)
			{   min2=a[0][j];
				for(i=0;i<n-l;i++)
				{
					
					if(a[i][j]<min2) min2=a[i][j];
				 }
				for(i=0;i<n-l;i++)
				{
					a[i][j]=a[i][j]-min2;
				}
			}
			
			sum[k]=sum[k]+a[1][1];
			if(l==n-2) break;
			else 
			{
				for(c=0;c<n-l;c++)
				{
					for(d=2;d<n-l;d++)
					a[c][d-1]=a[c][d];
				}
				for(c=2;c<n-l;c++)
				{
					for(d=0;d<(n-1-l);d++)
					a[c-1][d]=a[c][d];
				}
			}
		}
		

		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				a[i][j]=0;
   }
   for(i=0;i<n;i++)
       cout<<sum[i]<<endl;
      return 0;
}
int a[100][100];
int mi=0;
int n;
int sum=0;
void del(int n)
{
	int i,j;
	for(i=2;i<n;i++)
		a[0][i-1]=a[0][i];
	for(j=2;j<n;j++)
		a[j-1][0]=a[j][0];
	for(i=2;i<n;i++)
		for(j=2;j<n;j++)
			a[i-1][j-1]=a[i][j];
}
int sub(int n)
{
	int i,j;
	if(n>=2)
	{for(i=0;i<n;i++)
		{mi=a[i][0];
		for(j=0;j<n;j++)
			if(a[i][j]<mi)
				mi=a[i][j];
		for(j=0;j<n;j++)
			a[i][j]-=mi;}

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

	sum+=a[1][1];					//??a[1][1]??
	del(n);							//???????n??????????
	sub(n-1);
	}
	else
	{return sum;}
}

int main()
{
	int sub(int);
	int i,j;
	cin>>n;
	for(int k=1;k<=n;k++){
	for( i=0;i<n;i++)
		for( j=0;j<n;j++)
			cin>>a[i][j];
	sub(n);
	cout<<sum<<endl;
sum=0;
	}
	return 0;
}
int main ()
{
	int n, n1, num[101][101], i, j, k, min = 99999, sum = 0;
	int (*p)[101];
	cin >> n;
	for (k = 0; k < n; k++)
	{    n1= n;
	    for (i = 0; i < n; i++)
		    for (j = 0; j < n; j++)
			    cin >> num[i][j];
			p = num;
        for (; n1 >= 2; n1--)
		{
	        
	        for (i = 0; i < n1; i++)
			{
		        for (j = 0; j < n1; j++)
				{
			        if (*(*(p + i) + j) < min)
				       min = *(*(p + i) + j);
				}
		        for (j = 0; j < n1; j++)
			        *(*(p + i) + j) -= min;
				min = 99999;
			}
	        min = 99999;
	        for (j = 0; j < n1; j++)
			{
		        for (i = 0; i < n1; i++)
				{
			        if (*(*(p + i) + j)< min)
				        min = *(*(p + i) + j);
				}
		        for (i = 0; i < n1; i++)
			        num[i][j] -= min;
				min = 99999;
			}
			sum += *(*(p + 1) + 1);
	        min = 99999;
			for (i = 1; i < n1 - 1; i++)
				for (j = 0; j < n1; j++)
					*(*(p + i) + j) = *(*(p + i + 1) + j);
			for (j = 1; j < n1 - 1; j++)
				for (i = 0; i < n1; i++)
				*(*(p + i) + j) = *(*(p + i) + j + 1);

		}
         cout << sum << endl;
		 sum = 0;
	}
		return 0;
}
int a[101][101];

int hanshu (int n);

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

	return 0;
}

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