semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int map[110][110],n,sum;
void getmap()
{
     int i,j;
     for(i=1;i<=n;i++)
     for(j=1;j<=n;j++)
     scanf("%d",&map[i][j]);
}
int minh(int x)
{
     int i,min=100000000;
     for(i=1;i<=n;i++)
     {
                      if(min>map[x][i])
                      min=map[x][i];
     }
     return min;
}
int minl(int x)
{
     int i,min=100000000;
     for(i=1;i<=n;i++)
     {
                      if(min>map[i][x])
                      min=map[i][x];
     }
     return min;
}
void once(int a)
{
     int i,j,min;
     min=minh(1);
     for(j=1;j<=n;j++)
     map[1][j]-=min;
      
     for(i=a+1;i<=n;i++)
     {
                      min=minh(i);
                      for(j=1;j<=n;j++)
                      map[i][j]-=min;
     }min=minl(1);
      for(j=1;j<=n;j++)
      map[j][1]-=min;
     for(i=a+1;i<=n;i++)
     {
                      min=minl(i);
                      for(j=1;j<=n;j++)
                      map[j][i]-=min;
     }
     sum+=map[a+1][a+1];
     for(i=1;i<=n;i++)
     map[a+1][i]=map[i][a+1]=100000;
     
}
int main()
{
    int i,j,y=1; 
    int v,u;
    //freopen("1.txt","r",stdin);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    { sum=0;
    getmap(); 
    
      //   for(u=1;u<=n;u++)
        //            {for(v=1;v<=n;v++)
        ///            printf("%d ",map[u][v]);
        //            printf("\n");
        //            }
        //            getch();
    for(j=1;j<n;j++)
    {
                    once(j);
                   // for(u=1;u<=n;u++)
                 //   {for(v=1;v<=n;v++)
                 //   printf("%6d ",map[u][v]);
                 //   printf("\n");
                 //   }
                 //   getch();
    }
    if(y==0)
    printf("\n%d",sum);
    else
    printf("%d",sum);
    y=0;
    }     
    //getch();
    return 0;
}
int main()
{
	int n ;
	int a[111][111] , sum ;
	int i , j , k , l,Min;
	cin >> n ;
	for ( i = 1 ; i <= n ; i ++ ) {
		sum = 0;

		for ( j = 1 ; j <= n ; j ++ ) {
			for ( k = 1 ; k <= n ; k ++ ) {
				cin >> a[j][k] ;
			}
		}

		for(j=1; j<n; j++){
			Min=10000;
			for(l=j+1; l<=n; l++){
				Min=min(Min,a[1][l]);
			}
			Min=min(Min,a[1][1]);
			for(l=j+1; l<=n; l++)
				a[1][l] = a[1][l] - Min;
			a[1][1] = a[1][1] - Min;
			for(k=j+1; k<=n; k++){
				Min=10000;
				for(l=j+1; l<=n; l++){
					Min=min(Min,a[k][l]);
				}
				Min=min(Min,a[k][1]);
				for(l=j+1; l<=n; l++){
					a[k][l] = a[k][l] - Min;
				}
				a[k][1] = a[k][1] - Min;
			}
			Min=10000;
			for(l=j+1; l<=n; l++){
				Min=min(Min,a[l][1]);
			}
			Min=min(Min,a[1][1]);
			for(l=j+1; l<=n; l++){
				a[l][1] = a[l][1] - Min;
			}
			a[1][1] = a[1][1] - Min;
			for(k=j+1; k<=n; k++){
				Min=10000;
				for(l=j+1; l<=n; l++){
					Min=min(Min,a[l][k]);
				}
				Min=min(Min,a[1][k]);
				for(l=j+1; l<=n; l++){
					a[l][k] = a[l][k] - Min;
				}
				a[1][k] = a[1][k] - Min;
			}
			sum = sum + a[j+1][j+1];
		}
		cout<<sum<<endl;
	}

}
int a[100][100];
int t=0;
int sum(int n,int a[100][100])
{
	if( n==1)return 1; 
	int i,j,k,min;
	for(j=0;j<n;j++)
		{
			min=a[j][0];
			for(k=1;k<n;k++)
			{
				if(a[j][k]<min)min=a[j][k];
			}
			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++)
			{
				if(a[k][j]<min)min=a[k][j];
			}
			for(k=0;k<n;k++)
			{
				a[k][j]-=min;
			}
		}//????
	     
		 t+=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];
			 }
		}//??

		sum(n-1,a);
		 return t;
	 
}




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>>a[j][k];
			}
		}
		cout<<sum(n,a)<<endl;
		t=0;
	}
	return 0;
}
int main()
{
	int n;
	int a[101][101] = {0};
	int small[101] = {0};
	int sum = 0;
	int i,j,k,l;
	cin>>n;
	for (i = 1;i <= n;i++)
	{
		sum = 0;
		for (j = 1;j <= n;j++)
			for (k = 1;k <= n;k++)
				cin>>a[j][k];
		for (j = 1;j <= n - 1;j++)//??
		{
			for (k = 1;k <= n - j + 1;k++)//?????
				small[k] = a[k][1];
			for (k = 1;k <= n - j + 1;k++)
				for (l = 1;l <= n - j + 1;l++)
					if (a[k][l] < small[k])
						small[k] = a[k][l];
			for (k = 1;k <= n - j + 1;k++)
				for (l = 1;l <= n - j + 1;l++)
					a[k][l] = a[k][l] - small[k];

			for (k = 1;k <= n - j + 1;k++)//?????
				small[k] = a[1][k];
			for (l = 1;l <= n - j + 1;l++)
				for (k = 1;k <= n - j + 1;k++)
					if (a[k][l] < small[l])
						small[l] = a[k][l];
			for (l = 1;l <= n - j + 1;l++)
				for (k = 1;k <= n - j + 1;k++)
					a[k][l] = a[k][l] - small[l];
			
			sum = sum + a[2][2];
			for (k = 2;k <= n - j + 1;k++)
				for (l = 1;l <= n - j + 1;l++)
					a[k][l] = a[k + 1][l];
			for (k = 1;k <= n - j + 1;k++)
				for (l = 2;l <= n - j + 1;l++)
					a[k][l] = a[k][l + 1];
		}
		cout<<sum<<'\n';
	}
	return 0;
}
int map[100][100],sum=0,min=1000,rst[100];
main()
{
    int n,i,j,k,t;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        {   for(j=0;j<n;j++)
            for(k=0;k<n;k++)
                scanf("%d",&map[j][k]);
            for(t=n;t>1;t--)                      /*do 't' times*/
            {   for(j=0;j<t;j++)                    /* decrease*/
                    {for(k=0;k<t;k++)
                        {   if(map[j][k]<min)
                            min=map[j][k];
                                 }
                     for(k=0;k<t;k++)
                        {   
                            map[j][k]=map[j][k]-min;
                                 }
                     min=1000;


                     }
                     
                min=1000;
                for(k=0;k<t;k++)                    /* decrease*/
                    {for(j=0;j<t;j++)
                        {   if(map[j][k]<min)
                            min=map[j][k];
                                 }
                     for(j=0;j<t;j++)
                        {
                            map[j][k]=map[j][k]-min;
                                 }

                      min=1000;

                     }
                sum=sum+map[1][1];                  /*delete*/

                for(k=1;k<t-1;k++)
                    map[0][k]=map[0][k+1];
                for(j=1;j<t-1;j++)
                    map[j][0]=map[j+1][0];
                for(j=1;j<t-1;j++)
                for(k=1;k<t-1;k++)
                    map[j][k]=map[j+1][k+1];

                min=1000;

                }
            rst[i]=sum;
            sum=0;
            }
    for(i=0;i<n;i++)
        printf("%d\n",rst[i]);
    }
//****************************
//* ????1.cpp            *
//* ?? 1000012747          *
//* ???????????? *
//****************************
int m,a[100][100],s;
void guiling()                   //????
{
	int i,j,min;                 //??????i,j,??????????min
	for(i=0;i<m;i++)
	{
		min=pow(2,31.0)-1;
		for(j=0;j<m;j++)
		{
			if(a[i][j]<min)
				min=a[i][j];     //?????????
		}
		for(j=0;j<m;j++)
			a[i][j]=a[i][j]-min;
	}
	for(i=0;i<m;i++)
	{
		min=pow(2,31.0)-1;
		for(j=0;j<m;j++)
		{
			if(a[j][i]<min)
				min=a[j][i];     //?????????
		}
		for(j=0;j<m;j++)
			a[j][i]=a[j][i]-min;
	}
	if(m>=2)
		s=s+a[1][1];             //?????2*2?????????s??a[1][1]??
}
void xiaojian()                     //????
{
	int i,j;
	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];      //?????
	m--;
	guiling();                      //??????????
	if(m>2)
		xiaojian();                 //???????2*2?????????
	else
		cout<<s<<endl;
}
int main()
{
	int n,t,i,j;                //n,m,t???????????????
	cin>>n;
	t=n;
	while(n>0)
	{
		m=t;
		s=0;
		for(i=0;i<t;i++)
			for(j=0;j<t;j++)
				cin>>a[i][j];   //??????
		guiling();              //????
		xiaojian();             //????
		n--;
	}
	return 0;
}
int main()
{
    int n;
    int i,j,k,l,m;
    double a[100][100];
    int min;
    int sum=0;
    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];
        for(l=1;l<n;l++)
        {


            for(j=0;j<n;j++)
            {
               k=0;
               while(a[j][k]<0)k++;
               while(k<n)
               {
                min=a[j][k];
                for(;k<n;k++)
                if(min>a[j][k]&&a[j][k]>=0)min=a[j][k];
                for(k=0;k<n;k++)
                a[j][k]-=min;
               }
            }

            for(k=0;k<n;k++)
            {
               j=0;
               while(a[j][k]<0)j++;
               while(j<n)
               {
                min=a[j][k];
                for(j=1;j<n;j++)
                if(min>a[j][k]&&a[j][k]>=0)min=a[j][k];
                for(j=0;j<n;j++)
                a[j][k]-=min;
               }
            }



            sum+=a[l][l];
            for(m=0;m<n;m++)
            {
                a[l][m]=-1;
                a[m][l]=-1;
            }


        }

        cout<<sum<<endl;







    }

    return 0;
}
/*????????  ??*/
int a[100][100][100];             //???????????n?n*n??
int matrix(int a[][100],int n)    //??????????a[1][1]???
{
      int temp1[100],temp2[100];//temp1?????????temp2????????

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

	int sum;
		sum=a[1][1];                //??sum?????a[1][1]
	for(i=1;i<n-1;i++)                   //????????
		a[0][i]=a[0][i+1];
	for(j=1;j<n-1;j++)
		a[j][0]=a[j+1][0];
	for(i=1;i<n-1;i++)
		for(j=1;j<n-1;j++)
			a[i][j]=a[i+1][j+1];
	if(n>2)                              //??n>2,????????
	{		
		sum=sum+matrix(a,n-1);
	}
return sum;                                   //??sum?
}
int main()
{
	int n,i,j,k;
	cin>>n;                              //??n?n*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(i=0;i<n;i++)
		cout<<matrix(a[i],n)<<endl; //?????
	return 0;
}
int main()
{
	int i,j,n,n0=0,juzhen[102][102]={0},sum=0,minc[102]={0},minr[102]={0},lins=0;
	int (*p)[102]=juzhen,*pr=minr,*pc=minc;
	cin>>n;
	while(n0<n)
	{
		lins=0;
		sum=0;
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)*(*(p+i)+j)=0;
			*(pr+i)=100000;
			*(pc+i)=100000;
		}
		for(i=0;i<n;i++)
		{
			for (j=0;j<n;j++)
			{
				cin>>*(*(p+i)+j);
			}
		}
		while(lins<n-1)
		{
			for(i=0;i<n;i++)
			{
				*(pr+i)=100000;
				*(pc+i)=100000;
			}
			for(i=0;i<n-lins;i++)
			{
				for (j=0;j<n-lins;j++)
				{
					if(*(*(p+i)+j)<minr[i]) *(pr+i)=*(*(p+i)+j);
				}
			}
			for(i=0;i<n-lins;i++) 
			{
				for (j=0;j<n-lins;j++)
				{
					*(*(p+i)+j)-=*(pr+i);
				}
			}
			for(j=0;j<n-lins;j++)
			{
				for (i=0;i<n-lins;i++)
				{
					if(*(*(p+i)+j)<*(pc+j)) *(pc+j)=*(*(p+i)+j);
				}
			}
			for(j=0;j<n-lins;j++) 
			{
				for (i=0;i<n-lins;i++)
				{
					*(*(p+i)+j)-=*(pc+j);
				}
			}
			sum+=*(*(p+1)+1);

			for(i=2;i<n-lins;i++)
			{
				for(j=0;j<n-lins;j++)*(*(p+i-1)+j)=*(*(p+i)+j);
			}
			for(j=2;j<n-lins;j++)
			{
				for(i=0;i<n-lins;i++)*(*(p+i)+j-1)=*(*(p+i)+j);
			}
			lins++;
			
		}
		cout<<sum<<endl;
		n0++;
	}
	return 0;
}
void f1(int n,int a[100][100])
{
	int i;
	for(i=0;i<=n-1;i++)
	{
		int x=a[i][0],j;
		for(j=1;j<=n-1;j++)
			if(x>a[i][j]) x=a[i][j];
		if(x>0)
			for(j=0;j<=n-1;j++)
				a[i][j]-=x;
	}
	for(i=0;i<=n-1;i++)
	{
		int x=a[0][i],j;
		for(j=1;j<=n-1;j++)
			if(x>a[j][i]) x=a[j][i];
		if(x>0)
			for(j=0;j<=n-1;j++)
				a[j][i]-=x;
	}
}

void f2(int n,int a[100][100])
{
	int i,j;
	for(i=1;i<=n-2;i++)
	{
		a[0][i]=a[0][i+1];
		a[i][0]=a[i+1][0];
	}
	for(i=1;i<=n-2;i++)
		for(j=1;j<=n-2;j++)
			a[i][j]=a[i+1][j+1];
}

int loop(int n,int a[100][100])
{
	f1(n,a);
	int x=a[1][1];

	if(n==2) return a[1][1];
	else
	{
		f2(n,a);
		return x+loop(n-1,a);
	}
}

void main(void)
{
	int t,n;
	scanf("%d",&n);
	for(t=1;t<=n;t++)
	{
		int a[100][100],i,j;
		for(i=0;i<=n-1;i++)
			for(j=0;j<=n-1;j++)
				scanf("%d",&a[i][j]);

		printf("%d\n",loop(n,a));
	}
}
int main()
{
    int n=0,s=0,t=0,k=0,i=0,j=0,m=0,q=0,min=0,r=0,h=0,w=0,v=0;
    cin>>n;
    for(r=1;r<=n;r++)
    {
       int number=0;
       const int p=n;
       int a[p+1][p+1];
       for(i=1;i<=p;i++)
       {
              for(j=1;j<=p;j++)
              {
                  cin>>a[i][j];
              }
       }
       for(k=1;k<=p-1;k++)
       {
           for(s=k;s<=p;s++)
           {
               min=a[s][k];
               for(t=k;t<=p;t++)
               {
                   if(a[s][t]<min)
                   min=a[s][t];
               }
               for(m=k;m<=p;m++)
               {
                   a[s][m]-=min;
               }
           }
           for(h=k;h<=p;h++)
           {
               min=a[k][h];
               for(w=k;w<=p;w++)
               {
                   if(a[w][h]<min)
                   min=a[w][h];
               }
               for(q=k;q<=p;q++)
               {
                  a[q][h]-=min;
               }
           }
           number+=a[k+1][k+1];
           a[k+1][k+1]=a[k][k];
           for(v=k+2;v<=p;v++)
           {
              a[k+1][v]=a[k][v];
              a[v][k+1]=a[v][k];
           }
       }
       cout<<number<<endl;
    }
       return 0;
}
int main()
{
	int i,j,k,n,num[101][101],min,he=0,l,r,nn;
	cin>>n;
	nn=n;
	for(nn=n;nn>=1;nn--)
	{
		he=0;
	for(i=1;i<=n;i++)
	{
	for(j=1;j<=n;j++)
	{
		cin>>*(*(num+i)+j);
	}
	}
	for(k=1;k<=n-1;k++)
	{
		min=999999;
		for(l=1;l<=n-k+1;l++)
		{
			min=999999;
			for(i=1;i<=n-k+1;i++)
			{
				if(min>*(*(num+l)+i)) min=*(*(num+l)+i);
				if(min==0) break;
			}
			for(i=1;i<=n-k+1;i++)
			{
				*(*(num+l)+i)=*(*(num+l)+i)-min;
			}
		}
		for(r=1;r<=n-k+1;r++)
		{
			min=999999;
			for(i=1;i<=n-k+1;i++)
			{
				if(min>*(*(num+i)+r)) min=*(*(num+i)+r);
				if(min==0) break;
			}
			for(i=1;i<=n-k+1;i++)
			{
				*(*(num+i)+r)=*(*(num+i)+r)-min;
			}
		}
		he=he+*(*(num+2)+2);
		for(l=1;l<=n-k+1;l++)
		{
			for(i=2;i<=n-k;i++)
			{
				*(*(num+l)+i)=*(*(num+l)+(i+1));
			}
		}
		for(r=1;r<=n-k;r++)
		{
			for(i=2;i<=n-k;i++)
			{
				*(*(num+i)+r)=*(*(num+(i+1))+r);
			}
		}
	}
	cout<<he<<endl;
	}
	return 0;
}
int main ()
{
    int a[200][200];
    int n=0,i,j,k,q=0,l,m,s=0;
    cin >>n;
    k=n;
while(q<k)
    {
        s=0;
    for (i=0;i<k;i++)
    {
        for (j=0;j<k;j++)
        cin >>a[i][j];
    }
    n=k;
    for (m=1;m<=k-1;m++)
    {
        for (i=0;i<n;i++)
        {
            l=a[i][0];
            for (j=0;j<n;j++)
            {
                if (l>a[i][j])
                l=a[i][j];
            }
            for (j=0;j<n;j++)
            a[i][j]=a[i][j]-l;
        }
        for (i=0;i<n;i++)
        {
            l=a[0][i];
            for (j=0;j<n;j++)
            {
                if (l>a[j][i])
                l=a[j][i];
            }
            for (j=0;j<n;j++)
            a[j][i]=a[j][i]-l;
        }
        s=a[1][1]+s;

        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];
        }
        n--;
    }
    cout <<s <<endl;
    q++;
    }

    return (0);
}
void main()
{
	  int n,m,i,j,k,l,t,sum;
	  int a,b,c;
	  int tt[100][100];
	  scanf("%d",&n);
	  for(i=1;i<=n;i++)
	  {
		  for(j=0;j<n;j++)
		  {
			  for(k=0;k<n;k++)
			  {
                 scanf("%d",&tt[j][k]);
			  }
		  }
		  sum=0;
		  m=n;
		  for(l=1;l<m;m--)
		  { 
			  for(j=0;j<m;j++)
			  {
                  a=1000;
				  for(k=0;k<m;k++)
				  {
                      if(tt[j][k]<a) {a=tt[j][k];}
				  }
				   for(k=0;k<m;k++)
				  {
                      tt[j][k]=tt[j][k]-a;
				  }
			  }
			  for(k=0;k<m;k++)
			  {
                  a=1000;
				  for(j=0;j<m;j++)
				  {
                      if(tt[j][k]<a) {a=tt[j][k];}
				  }
				   for(j=0;j<m;j++)
				  {
                      tt[j][k]=tt[j][k]-a;
				  }
			  }
			  sum=sum+tt[1][1];

			  for(j=1;j<m;j++)
			  {
				  tt[0][j]=tt[0][j+1];
			  }
			  for(j=1;j<m;j++)
			  {
				  tt[j][0]=tt[j+1][0];
			  }
			  for(j=1;j<m;j++)
			  {
				  for(k=1;k<m;k++)
				  {
					  tt[j][k]=tt[j+1][k+1];
				  }
			  }
		  }
		  printf("%d\n",sum);
	  }

}
int gl(int a[][102],int k)
{
	int i,j;
	for(i=0;i<k;i++)
	{
		int min=999;
		for(j=0;j<k;j++)
		{
			if(a[i][j]<min)
				min=a[i][j];
		}
		for(j=0;j<k;j++)
		{
            a[i][j]=a[i][j]-min;
		}
	}
	for(i=0;i<k;i++)
	{
		int min=999;
		for(j=0;j<k;j++)
		{
			if(a[j][i]<min)
				min=a[j][i];
		}
        for(j=0;j<k;j++)
		{
            a[j][i]=a[j][i]-min;
		}
	}
    return(a[1][1]);
}
void xj(int a[][102],int k)
{
   int i,j;
   for(i=0;i<k;i++)
   {
	   for(j=2;j<k;j++)
	   {
		   a[i][j-1]=a[i][j];
	   }
   }
   for(i=0;i<k;i++)
   {
	   for(j=2;j<k;j++)
	   {
		   a[j-1][i]=a[j][i];
	   }
   }
}
int main()
{
    int i,k;
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		int j,l,sum=0,a[102][102];
		for(j=0;j<k;j++)
		{
			for(l=0;l<k;l++)
				scanf("%d",&a[j][l]);
		}
		for(j=0;j<k-1;j++)
		{
           int temp;
		   temp=gl(a,k-j);
		   //printf("%d\n",temp);
		   sum=sum+temp;
		   xj(a,k-j);
		}
        printf("%d\n",sum);
	}		
}
/*
 * Matrix to zero.cpp
 *??:????
 *  Created on: 2012-11-27
 *      Author: ???
 */


int sum=0;                      //????sum
void change(int n);             //????
int number[100][100];           //????number
int main()
{
	int n,k,j;                  //????
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(k=0;k<n;k++)
			for(j=0;j<n;j++)
		    cin>>number[k][j]; //????
		sum=0;
		change(n);             //???? change
	}
	return 0;
}

void change(int n)             //????change
{
	int m;
	m=n;
	int min;                   //???
	if(m==1)                   //?????
		cout<<sum<<endl;       //??
	else
	{
	int i=0,j=0;
	for(i=0;i<m;i++)          //???
	  {
		min=number[i][0];
		for(j=0;j<m;j++)
			if(min>number[i][j])
				min=number[i][j];
		for(j=0;j<n;j++)
			number[i][j]=number[i][j]-min;
	   }
	for(i=0;i<m;i++)           //???
	  {
		min=number[0][i];
		for(j=0;j<m;j++)
			if(min>number[j][i])
				min=number[j][i];
		for(j=0;j<m;j++)
			number[j][i]=number[j][i]-min;
	  }

	sum=sum+number[1][1];     //??
	for(j=0;j<m;j++)        //??
		for(i=1;i<m-1;i++)
			number[i][j]=number[i+1][j];
	for(i=0;i<m-1;i++)
		for(j=1;j<m-1;j++)
			number[i][j]=number[i][j+1];
	m=m-1;
    change(m);                //??
	}
}
/*
 * ju.cpp
 *
 *  Created on: 2012-10-31
 *      Author: 7
 */
int main()
{
	int a[100][100];
	int n,i=0,j,k,l,min,sum=0;
	cin>>n;
	while(i<n)
	{
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{
				cin>>a[j][k];
			}
		}
		for(l=0;l<n-1;l++)
		{
			for(j=0;j<n-l;j++)
			{
				min=a[j][0];
							for(k=0;k<n-l;k++)
							{
								if(min>a[j][k])
								{
									min=a[j][k];
								}
							}
							for(k=0;k<n-l;k++)
							{
								a[j][k]-=min;
							}
			}
			for(k=0;k<n-l;k++)
			{
				min=a[0][k];
							for(j=0;j<n-l;j++)
							{
								if(min>a[j][k])
								{
									min=a[j][k];
								}
							}
							for(j=0;j<n-l;j++)
							{
								a[j][k]-=min;
							}
			}
			sum+=a[1][1];
			for(j=0;j<n-l;j++)
			{
				for(k=1;k<n-l;k++)
				{
					a[j][k]=a[j][k+1];
				}
			}
			for(k=0;k<n-l;k++)
			{
				for(j=1;j<n-l;j++)
				{
					a[j][k]=a[j+1][k];
				}
			}
		}
		//sum+=a[0][0];
		cout<<sum<<endl;
		sum=0;
		i++;
	}
}
/*
 * juzhenguiling.cpp
 *
 *  Created on: 2010-12-2
 *      Author: Administrator
 */
int a[100][100];
int zero(int n,int sum){
	if(n!=1){
	    int min,i,j,array[n][n];
		for(i=0;i<n;i++){
			for(j=0;j<n;j++){
				array[i][j]=a[i][j];
			}
		}
		    for(i=0;i<n;i++){//i???
		    min=array[i][0];
		    for(j=1;j<n;j++){
			    if(array[i][j]<min){
				    min=array[i][j];
			    }
		    }
		    if(min!=0){
			    for(j=0;j<n;j++){
				    array[i][j]=array[i][j]-min;
			    }
		    }
		   	    }
	   	for(i=0;i<n;i++){//i???
			min=array[0][i];
			for(j=1;j<n;j++){
				if(array[j][i]<min){
					min=array[j][i];
				}
			}
			if(min!=0)
			{
				for(j=0;j<n;j++){
					array[j][i]=array[j][i]-min;
				}
			}
					}
	sum=sum+array[1][1];
	for(i=0;i<n;i++){//i???
		for(j=1;j<n-1;j++){
			a[i][j]=array[i][j]=array[i][j+1];
		}
	}
	for(i=0;i<n-1;i++){//i???
		for(j=1;j<n-1;j++){
			array[j][i]=array[j+1][i];
		}
	}
	for(i=0;i<n-1;i++){
			for(j=0;j<n-1;j++){
				a[i][j]=array[i][j];
			}
		}
	return zero(n-1,sum);
	}
	if(n==1)  return sum;
}
int main(){
	int n;
	cin>>n;
	int sum=0,i,t,r;
	for(i=1;i<=n;i++){
		for(t=0;t<n;t++){
			for(r=0;r<n;r++){
				cin>>a[t][r];
			}
		}
		cout<<zero(n,sum)<<endl;
	}
	return 0;
}
int n,i,j,k,a[100][100][100];


int main()
{
	int sum[100]={0},t,x,min;
	cin>>n;
	t=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(x=0;x<n;x++)
	{
		while(n>1)
		{
			for(i=0;i<n;i++)
			{
		         min=a[x][i][0];
		         for(j=0;j<n;j++)
			         if(min>a[x][i][j])
				          min=a[x][i][j];
		         for(j=0;j<n;j++)
				 {
					 a[x][i][j]-=min;
					 				 }
				 	        }
	        for(j=0;j<n;j++)
	        {
		         min=a[x][0][j];
		         for(i=0;i<n;i++)
					 if(min>a[x][i][j])
				           min=a[x][i][j];
		         for(i=0;i<n;i++)
			     {
						  a[x][i][j]-=min;
						  			     }
				
	 	         
	        }
			sum[x]+=a[x][1][1];
						for(i=1;i<n-1;i++)
				a[x][i][0]=a[x][i+1][0];
			for(j=1;j<n-1;j++)
				a[x][0][j]=a[x][0][j+1];
			for(i=1;i<n-1;i++)
			{
				for(j=1;j<n-1;j++)
					a[x][i][j]=a[x][i+1][j+1];
			}
			n--;
	    }
		n=t;
		
	}
	for(i=0;i<t;i++)
		cout<<sum[i]<<endl;

	return 0;
}
int main()
{
	int n,i,j,k,l;
	cin>>n;
	int a[100][100];
	int sum=0,temp=1;
	for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];
		int min;
		sum=0;temp=1;
		for(l=0;l<n-1;l++)
		{
		for(i=0;i<n;i++)
		{
			min=a[i][0];
			for(j=0;j<n;j++)
				if(a[i][j]<min&&a[i][j]>=0)
					min=a[i][j];
			for(j=0;j<n;j++)
				if(a[i][j]>=0)
				a[i][j]-=min;
		}
		for(j=0;j<n;j++)
		{
			min=a[0][j];
			for(i=0;i<n;i++)
				if(a[i][j]<min&&a[i][j]>=0)
					min=a[i][j];
			for(i=0;i<n;i++)
				if(a[i][j]>=0)
				a[i][j]-=min;
		}
		sum+=a[temp][temp];
		for(i=0;i<n;i++)
			a[i][temp]=-1;
		for(j=0;j<n;j++)
			a[temp][j]=-1;
		temp++;
		}
		cout<<sum<<endl;
	}
	return 0;
}
/*
 * 01.cpp
 *
 *  Created on: 2012-11-19
 *      Author: ???
 *      function:?????????
 */


int a[100][100], n, sum;

void evaluation() {//?????????2???2????
	for (int i = 0; i < n; i++) {//??3,4...n???????
		for (int j = 1; j < n - 1; j++) {
			a[i][j] = a[i][j + 1];
		}
	}
	for (int j = 0; j < n; j++) {//???3,4...n???????
		for (int i = 1; i < n - 1; i++) {
			a[i][j] = a[i + 1][j];
		}
	}
	n--;//????????????
}

int operation() {
	int min;
	if (n == 1) {//?????1*1????????
		cout << sum << endl;
		return 0;
	} else {
		for (int i = 0; i < n; i++) {
			min = 100000;//??????????min???
			for (int j = 0; j < n; j++) {//?????????????
				if (a[i][j] < min)
					min = a[i][j];
			}
			for (int j = 0; j < n; j++)
				a[i][j] -= min;//?????????????????
		}
		for (int j = 0; j < n; j++) {
			min = 100000;
			for (int i = 0; i < n; i++) {//?????????????
				if (a[i][j] < min)
					min = a[i][j];
			}
			for (int i = 0; i < n; i++)
				a[i][j] -= min;//?????????????????
		}
		sum += a[1][1];//????a[1][1]???
		evaluation();//????
		operation();//??????
	}
}

int main() {
	int N;
	cin >> N;
	for (int k = 0; k < N; k++) {
		sum=0;//sum??a[1][1]???????????
		n=N;//?n????????N?n???
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				cin >> a[i][j];//????
			}
		}
		operation();//????????
	}
	return 0;
}