semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
main()
{
	int n;
	scanf("%d",&n);
	int i,j,k;
	int sum=0;
	int a[101][101];
	int min;
	int l;
	int p;
	int t;
	for(t=1;t<=n;t++)
	{
		sum=0;
		l=n;
		for(j=0;j<n;j++)
		{
			for(k=0;k<n;k++)
			{
				scanf("%d",&a[j][k]);
			}
		}
		for(p=1;p<n;p++)
		{
			for(i=0;i<l;i++)
			{
				for(j=1;j<l;j++)
				{
					if(a[i][j]==0)
						break;
				}
				min=a[i][0];
				for(j=1;j<l;j++)
				{
					if(a[i][j]<min)
						min=a[i][j];
				}
				for(j=0;j<l;j++)
				{
					a[i][j]=a[i][j]-min;
				}
			}
			for(i=0;i<l;i++)
			{
				for(j=1;j<l;j++)
				{
					if(a[j][i]==0)
						break;
				}
				min=a[0][i];
				for(j=1;j<l;j++)
				{
					
					if(a[j][i]<min)
						min=a[j][i];
				}
				for(j=0;j<l;j++)
				{
					a[j][i]=a[j][i]-min;
				}
			}
			sum=sum+a[1][1];
			if(l==2)
				break;
			for(i=1;i<l-1;i++)
			{	
				a[0][i]=a[0][i+1];
				a[i][0]=a[i+1][0];
				for(j=1;j<l-1;j++)
				{
					a[i][j]=a[i+1][j+1];
				}
			}
			l--;	
		}
		printf("%d\n",sum);
	}	
}
int main()
{
	int a[100][100][100],n,t;
	cin>>n;
	for(int x=0;x<n;x++)
	{
	       for(int i=0;i<n;i++)
	        {
		       for(int j=0;j<n;j++)
               cin>>a[x][i][j];
	         }
	}
	for(int x=0;x<n;x++)
	{
		int sum=0;
		int m=n;
		   while(m>1)
		   {
	for(int i=0;i<m;i++)
	{
		int min=a[x][i][0];
		for(int j=0;j<m;j++)
		{
			if(a[x][i][j]<min)
			{
				min=a[x][i][j];
			}
		}
		for(int k=0;k<m;k++)
			a[x][i][k]-=min;
	}
	for(int j=0;j<m;j++)
	{
		int min=a[x][0][j];
		for(int i=0;i<m;i++)
		{
			if(a[x][i][j]<min)
				min=a[x][i][j];
		}
		for(int k=0;k<m;k++)
			a[x][k][j]-=min;
	}
	sum+=a[x][1][1];
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(i==0&&j>1)
			{
				a[x][i][j-1]=a[x][i][j];
			}
			if(i>1)
			{
				if(j==0)
			{
				a[x][i-1][j]=a[x][i][j];
			}
			if(j>1)
			{
				a[x][i-1][j-1]=a[x][i][j];
			}}}}
	m--;
		   }
		   cout<<sum<<endl;;
	}
		return 0;
}
int juzhen[100][100];
int m,n,sum,j,min001=0,min002=0;
int min01[101],min02[101];
int min1(int a)//?????????? 
{
    for(int p=0;p<m;p++)
    min01[p]=juzhen[a][p];
    sort(min01,min01+m);
    return min01[0];
}
int min2(int a)//?????????? 
{
    for(int p=0;p<m;p++)
    min02[p]=juzhen[p][a];
    sort(min02,min02+m);
    return min02[0];
}
void jia(int x,int y)
{
    if(y==1)
    cout<<sum<<endl;
    else
    {
      for(j=0;j<y;j++)
      {
        min001=min1(j);
        for(int k=0;k<y;k++)
        juzhen[j][k]=juzhen[j][k]-min001;//???????? 
      }
      for(j=0;j<y;j++)
      {
        min002=min2(j);
        for(int k=0;k<y;k++)
        juzhen[k][j]=juzhen[k][j]-min002;//???????? 
      }
      sum=sum+juzhen[1][1];
      for(j=1;j<y-1;j++)
      {
        for(int k=0;k<y;k++)
        juzhen[j][k]=juzhen[j+1][k];//????? 
      }
      for(j=1;j<y;j++)
      {
        for(int k=0;k<y-1;k++)
        juzhen[k][j]=juzhen[k][j+1];//????? 
      }
      m=m-1;
      jia(x,y-1);
    }
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
      sum=0;
      m=n;
      for(j=0;j<n;j++)
      {
        for(int k=0;k<n;k++)
        cin>>juzhen[j][k];
      }
      jia(i,m);//???? 
    }
    return 0;
}
//?? - ?????????   
int a[100][100];

void gl(int m)
{
	int i,j;
	for (i=0; i<m; i++)
	{
		int min=a[i][0];
		for (j=1; j<m; j++) if (a[i][j]<min) min=a[i][j];
		for (j=0; j<m; j++) a[i][j]-=min;
	}
	for (i=0; i<m; i++)
	{
		int min=a[0][i];
		for (j=1; j<m; j++) if (a[j][i]<min) min=a[j][i];
		for (j=0; j<m; j++) a[j][i]-=min;
	}
}

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

int main()
{
	int n;
	scanf("%d",&n);
	int i,j,k;

	for (k=1; k<=n; k++)
	{
		for (i=0; i<n; i++)
			for (j=0; j<n; j++)
				scanf("%d",&a[i][j]);

		int sum=0;
		for (i=n; i>1; i--)
		{
			gl(i);
			sum+=a[1][1];
			xj(i);
		}
		printf("%d\n",sum);
	}

	return 0;
}
int main()
{
 int a[20000],b[20000],min,i,j,k,num,sum,n,m,x,y;
 cin>>n;
 for (num=1;num<=n;num++)
 {
 memset(b,0,sizeof(b));
 for (i=0;i<n;i++)
     for (j=0;j<n;j++)
          {cin>> *(b+i*n+j);

          }

 sum=0;
 for (k=n;k>1;k--)
     { memset(a,0,sizeof(a));
       for (i=0;i<k;i++)
            for (j=0;j<k;j++)
                 *(a+i*k+j)=*(b+i*k+j);



       for (i=0;i<k;i++)
           {min=3000;
            for (j=0;j<k;j++)
                 if (*(a+i*k+j)<min)
                     min=*(a+i*k+j);
            for (j=0;j<k;j++)
                 *(a+i*k+j)=*(a+i*k+j)-min;
      }
      for (j=0;j<k;j++)
           { min=3000;
            for (i=0;i<k;i++)
                 if (*(a+i*k+j)<min)
                     min=*(a+i*k+j);
            for (i=0;i<k;i++)
                 *(a+i*k+j)=*(a+i*k+j)-min;
           }

     memset(b,0,sizeof(b));
     sum=sum+a[k+1];
     x=-1;
     for (i=0;i<k;i++)
         { if (i!=1)
             {x++;
              y=-1;
              for (j=0;j<k;j++)
                   if (j!=1)
                       {
                        y++;
                        *(b+x*k+y-x)=*(a+i*k+j);
                        }


 }}


}
cout<<sum<<endl;
}
return 0;
}
/*
 * SequenceSumOfMatrixSubtractionAndZeroMaking.cpp
 *
 *  Created on: 2012-11-21
 *      Author: Cui Zhaoxiong Class4 1200012931
 */
int sum = 0;//??????????
int main() {
	void Subtraction(int[100][100], int);//????
	int n = 0;
	cin >> n;//??n
	int a[100][100];//???
	for (int f = 1; f <= n; f++) {
		for (int i = 0; i <= n - 1; i++) {
			for (int j = 0; j <= n - 1; j++) {
				cin >> a[i][j];
			}
		}
		sum = 0;
		Subtraction(a, n);
		if (f == n)
			cout << sum;
		else
			cout << sum << endl;
	}
	return 0;
}
void Subtraction(int m[100][100], int n) {
	//cout <<'*' <<endl;
	if (n != 1) {//????
		//????????
		for (int i = 0; i <= n - 1; i++) {
			int min = m[i][0];
			for (int j = 0; j <= n - 1; j++) {
				if (min > m[i][j])
					min = m[i][j];
			}
			for (int j = 0; j <= n - 1; j++) {
				m[i][j] -= min;
			}
		}
		/*
		 for (int i=0;i<=n-1;i++){
		 for (int j=0;j<=n-1;j++){
		 cout <<m[i][j] <<' ';
		 }
		 cout <<endl;
		 }
		 */
		//cout <<'/' <<endl;
		for (int i = 0; i <= n - 1; i++) {//????????
			int min = m[0][i];
			for (int j = 0; j <= n - 1; j++) {
				if (min > m[j][i])
					min = m[j][i];
			}
			for (int j = 0; j <= n - 1; j++) {
				m[j][i] -= min;
			}
		}
		/*
		 for (int i=0;i<=n-1;i++){
		 for (int j=0;j<=n-1;j++){
		 cout <<m[i][j] <<' ';
		 }
		 cout <<endl;
		 }
		 */
		sum += m[1][1];//sum??
		int mtuta[100][100];//?????
		for (int i = 0; i <= n - 1; i++) {//???2???2?????????
			if (i == 1)
				continue;
			for (int j = 0; j <= n - 1; j++) {
				if (j == 1)
					continue;
				/*
				 if (i==0&&j==0) mtuta[0][0]=m[0][0];
				 if (i==0&&j!=0) mtuta[0][j-1]=m[0][j];
				 if (i!=0&&j==0) mtuta[i-1][0]=m[i][0];
				 if (i!=0&&j!=0) mtuta[i-1][j-1]=m[i][j];
				 */
				mtuta[i - (i != 0)][j - (j != 0)] = m[i][j];
			}
		}
		Subtraction(mtuta, n - 1);//??
	}
}
//*************************************************
//***????????????***
//***??????***
//***???2012.11.22***
//*************************************************
int a[100][100];
int main ()
{
	void G(int n);                          //????G(n)???X(n)??
	void X(int n);
	int n,i,j,k,sum;
	cin >> n;
	for (k = 0; k < n; k++)
	{
		sum = 0;
		for (i = 0; i < n; i++)             //????
		{
			for (j = 0; j < n; j++)
			{
				cin >> a[i][j];
			}
		}
		for (i = n; i >= 2; i--)            //??n-1?????????
		{
			G(i);
			sum += a[1][1];
			X(i);
		}
		cout << sum << endl;
	}
	return 0;
}

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

void X(int n)                              //X(n)??n????a[n-1][n-1]
{
	int i,j;
	for (i = 1; i <= n - 1; i++)
	{
		for (j = 1; j <= n - 1; j++)
		{
			a[i][j] = a[i + 1][j + 1];
		}
	}
	for (i = 1; i <= n - 1; i++)
	{
		a[0][i] = a[0][i + 1];
		a[i][0] = a[i + 1][0];
	}
}
int a[100][100];
int sum(int n);
int main()
{
	int n;
	cin >> n;
	int k, i, j;
	for (k = 1; 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 sum(int n)
{
	int i, j;
	int min;
	int num;
	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] -= min;
	}
	for (j = 0; j < n; j++)
	{
		min = a[0][j];
		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;
	}
	num = a[1][1];
	if (n == 2)
		return num;
	else
	{
		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; i++)
				a[i][j - 1] = a[i][j];
		return num + sum(n - 1);
	}
}
int f(int (*p)[100],int n)
{
	int sum,i,j,min=0;
	sum=0;
	{
		for (i=0;i<n;i++)
		{
			min=**(p+i);
			{
				for (j=1;j<n;j++)
				if(*(*(p+i)+j)<min)
				 min=*(*(p+i)+j);
				for(j=0;j<n;j++)
				*(*(p+i)+j)=*(*(p+i)+j)-min;
			}
		}
	}
	{
		for(j=0;j<n;j++)
		{
			min=*(*p+j);
			{
				{for(i=1;i<n;i++)
				if(*(*(p+i)+j)<min)
					min=*(*(p+i)+j);}
				for(i=0;i<n;i++)
					*(*(p+i)+j)=*(*(p+i)+j)-min;
				sum=*(*(p+1)+1);
			}
		}
		{for(i=1;i<n-1;i++)
			*(*p+i)=*(*p+i+1);}
		{for(i=1;i<n-1;i++)
			for(j=1;j<n-1;j++)
				*(*(p+i)+j)=*(*(p+i+1)+j+1);}
		{	for(i=1;i<n-1;i++)
			**(p+i)=**(p+i+1);}
			return(sum);
	}
}
void main()
{
	int (*p)[100],(*q)[100],n,i,j,sum=0,k;
	p=(int(*)[100])malloc(100*sizeof(int)*10000);
	scanf("%d",&n);
	for(k=0;k<n;k++)
	{
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				scanf("%d",*(p+k*n+i)+j);
	}
	for(k=0;k<n;k++)
	{
		sum=0;
		q=p+k*n;
		{
			for(i=n;i>1;i--)
			sum=sum+f(q,i);
		}
	   printf("%d\n",sum);
	}
}
int main()
{
    int a[100][100];
    int n;
    cin >> n;
    for (int k = 0; k < n; ++k)
    {
        for (int i = 0; i < n; ++i)
            for (int j = 0; j < n; ++j)
                cin >> a[i][j];
        int total = 0;
        for (int t = 0; t < n - 1; ++t)
        {
            for (int i = 0; i < n; ++i)
            {
                if (i != 0 && i <= t)
                    continue;
                int minValue = a[i][0];
                for (int j = t + 1; j < n; ++j)
                    if (a[i][j] < minValue)
                        minValue = a[i][j];
                a[i][0] -= minValue;
                for (int j = t + 1; j < n; ++j)
                    a[i][j] -= minValue;
            }
            for (int j = 0; j < n; ++j)
            {
                if (j != 0 && j <= t)
                    continue;
                int minValue = a[0][j];
                for (int i = t + 1; i < n; ++i)
                    if (a[i][j] < minValue)
                        minValue = a[i][j];
                a[0][j] -= minValue;
                for (int i = t + 1; i < n; ++i)
                    a[i][j] -= minValue;
            }
            total += a[t + 1][t + 1];   
        }
        cout << total << endl;
    }
}
int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int a[110][110] = { 0 };
		int min = 10000,s=0;
		for (int j = 0; j < n; j++) {
			for (int k = 0; k < n; k++)
				cin >> a[j][k];
		}
		for (int m = 1; m < n; m++) {
			for (int j = 0; j < n; j++) {
				for (int k = 0; k < n; k++) {
					if ((j == 0 || j >= m) && (k == 0 || k >= m)) {
						if (a[j][k] < min)
							min = a[j][k];
					}
				}
				for (int k = 0; k < n; k++) {
					if ((j == 0 || j >= m) && (k == 0 || k >= m))
						a[j][k] = a[j][k] - min;
				}
				min = 10000;
			}
			for (int k = 0; k < n; k++) {
				for (int j = 0; j < n; j++) {
					if ((j == 0 || j >= m) && (k == 0 || k >= m)) {
						if (a[j][k] < min)
							min = a[j][k];
					}
				}
				for (int j = 0; j < n; j++) {
					if ((j == 0 || j >= m) && (k == 0 || k >= m))
						a[j][k]  = a[j][k] - min;
				}
				min = 10000;
			}
            s=s+a[m][m];
			for (int j=0;j<n;j++)
				a[j][m]=100000;
			for (int j=0;j<n;j++)
				a[m][j]=100000;

		}
         cout<<s<<endl;
	}
	return 0;
}
int main()
{
	int n,i=0,s=0,d=0,j=0,i1=0,j1=0,k=0,a=0,sum=0;
	cin>>n;
	int shu[n][n];
	for(k=0;k<n;k++)    //??n-1? 
	{
		sum=0;d=0;
		for(i=0;i<n;i++)         // ?? 
			for(j=0;j<n;j++)
				cin>>shu[i][j];
		for(s=1;s<=n-1;s++)
		{
		for(i=0;i<n-d;i++)             //??????? 
		{   a=100000;
			for(j=0;j<n-d;j++)
			{   
				if(a>shu[i][j]) {a=shu[i][j];}
              
			}
			for(j=0;j<n-d;j++) shu[i][j]=shu[i][j]-a;   //??????? 
		}
			for(j=0;j<n-d;j++)
		{   a=100000;
			for(i=0;i<n-d;i++)
			{   
				if(a>shu[i][j]) {a=shu[i][j];}
              
			}
			for(i=0;i<n-d;i++) shu[i][j]=shu[i][j]-a;
		}
		sum=sum+shu[1][1];d++;//cout<<sum<<endl;
		for(i=0;i<n-d;i++)             //????????? 
		{
			for(j=0;j<n-d;j++)
			{
				if(j>0) j1=j+1;
				else   j1=j;
				if(i>0) i1=i+1;
				else  i1=i;
				shu[i][j]=shu[i1][j1];
			}
		}
        }
		
          cout<<sum<<endl; 
		}
	
		return 0;
}
//****************************************************************
// ????1000012789_1.cpp                                      *
// ???wusy                                                    *
// ???12,1                                                    *
// ???????                                                *
//****************************************************************
int del(int num[200][200], int n);
int main()
{
	int i, j, k, n, num[200][200];					  // ???????????
	cin>>n;

	for (i = 0; i <= 199; i++)
		for (j = 0; j <= 199; j++)
			num[i][j] = 0;

	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 = 9999;

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

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

	if (n == 2)                                       // ?????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,p,sum;
	cin>>n;
	for(k=1;k<=n;k++)
	{		
		for(i=1;i<=n;i++)//??
			for(j=1;j<=n;j++)
				cin>>a[i][j];
		sum=0;
		for(p=n;p>=1;p--)
		{
		for(i=0;i<=p;i++)//??0??0?????/????????????????
		{	
			a[0][i]=99999;
			a[i][0]=99999;
		}
		for(i=1;i<=p;i++)//????????????a[i][0]?
		{
			for(j=1;j<=p;j++)
			{
				if(a[i][0]>a[i][j])
					a[i][0]=a[i][j];
			}
		}
		for(i=1;i<=p;i++)//???
			for(j=1;j<=p;j++)
				a[i][j]-=a[i][0];
		for(i=1;i<=p;i++)//??????????a[0][j]?
		{
			for(j=1;j<=p;j++)
			{
				if(a[0][j]>a[i][j])
					a[0][j]=a[i][j];
			}
		}
		for(i=1;i<=p;i++)//???
			for(j=1;j<=p;j++)
				a[i][j]-=a[0][j];
		sum+=a[2][2];
		for(i=1;i<=p;i++)//???/???
		{
			a[2][i]=0;
			a[i][2]=0;
		}
		for(i=1;i<=p;i++)//???
			for(j=3;j<=p;j++)
				a[i][j-1]=a[i][j];
		for(i=3;i<=p;i++)//???
			for(j=1;j<=p;j++)
				a[i-1][j]=a[i][j];
		}
		cout<<sum<<endl;
	}
	return 0;
}
int num[100][100];
int n;

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

void remove(){
	for(int i=1;i<n-1;i++){
		for(int j=0;j<n;j++){
			num[i][j] = num[i+1][j];
		}
	}
	for(int j=1;j<n-1;j++){
		for(int i=0;i<n;i++){
			num[i][j] = num[i][j+1];
		}
	}
}

int main(){
	int N;
	cin>>N;
	int round = N;
	while(round--){
		n = N;
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				cin>>num[i][j];
			}
		}
		int sum = 0;
		while(n>1){
			modify();
			sum += num[1][1];
			remove();
			n--;
		}
		cout<<sum<<endl;
	}
	return 0;
}
int a[200][200];
int minhang(int hang,int geshu)
{
    int i;
    int min=a[hang][1];
    for(i=1;i<=geshu;i++)
    {
        if(a[hang][i]<min) min=a[hang][i];
    }
    return min;
}
int minlie(int lie,int geshu)
{
    int i;
    int min=a[1][lie];
    for(i=1;i<=geshu;i++)
    {
        if(a[i][lie]<min) min=a[i][lie];
    }
    return min;
}
int main()
{


    int n,x,i,j;
    cin>>n;

    for(x=1;x<=n;x++)
    {
        //int *p=NULL;
        memset(a,0,sizeof a);

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

        }
        int sum=0;
        for(int m=0;m<n-1;m++)
        {
            for(int mm=1;mm<=n-m;mm++)
            {
                int Minhang=minhang(mm,n-m);
                for(i=1;i<=n-m;i++) a[mm][i]=a[mm][i]-Minhang;
            }
            for(int mm=1;mm<=n-m;mm++)
            {
                int Minlie=minlie(mm,n-m);
                for(i=1;i<=n-m;i++) a[i][mm]=a[i][mm]-Minlie;
            }


            sum+=a[2][2];
            for(int ii=1;ii<=n-m;ii++)
            {
                for(i=3;i<=n-m;i++) a[ii][i-1]=a[ii][i];
            }
            for(int ii=1;ii<=n-m;ii++)
            {
                for(i=3;i<=n-m;i++) a[i-1][ii]=a[i][ii];
            }

        }
        cout<<sum<<endl;




    }



    return 0;


}
int main()
{
	int n,i,j,k,m,sum=0;
	int a[100][100],b[100];
	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(m=0;m<n-1;m++)
		{
		for(j=0;j<n-m;j++)
		{
			b[j]=a[j][0];
			for(k=1;k<n-m;k++)
			{
				if(a[j][k]<b[j])
				{b[j]=a[j][k];}
			}
		}
		for(j=0;j<n-m;j++)
		{
			for(k=0;k<n-m;k++)
			{a[j][k]=a[j][k]-b[j];}
		}
		for(j=0;j<n-m;j++)
		{
			b[j]=a[0][j];
			for(k=1;k<n-m;k++)
			{
				if(a[k][j]<b[j])
				{b[j]=a[k][j];}
			}
		}
		for(j=0;j<n-m;j++)
		{
			for(k=0;k<n-m;k++)
			{a[k][j]=a[k][j]-b[j];}
		}
		sum+=a[1][1];
		for(j=1;j<n-1-m;j++)
		{
			for(k=0;k<n-m;k++)
			{a[j][k]=a[j+1][k];}
		}
		for(j=1;j<n-1-m;j++)
		{
			for(k=0;k<n-1-m;k++)
			{a[k][j]=a[k][j+1];}
		}
		}
		cout<<sum<<endl;
	}
	return 0;
}
int main()
{int h,n;
scanf("%d\n",&n);
for(h=1;h<=n;h++)
{int i,j,k,t,sum=0,a[105][105];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf(" %d",&a[i][j]);
for(t=n;t>1;t--)
{for(i=0;i<t;i++)
{k=a[i][0];
for(j=1;j<t;j++)
{if(a[i][j]<k) k=a[i][j];}
for(j=0;j<t;j++)
a[i][j]-=k;
}
for(i=0;i<t;i++)
{k=a[0][i];
for(j=1;j<t;j++)
{if(a[j][i]<k) k=a[j][i];}
for(j=0;j<=t;j++)
a[j][i]-=k;
}
sum+=a[1][1];
for(j=2;j<t;j++)
a[0][j-1]=a[0][j];
for(i=2;i<t;i++)
a[i-1][0]=a[i][0];
for(i=2;i<=t;i++)
for(j=2;j<=t;j++)
a[i-1][j-1]=a[i][j];
}
printf("%d\n",sum);

}
return 0;
}
int a[100][1000][1000];
int main()
{
	int n,i,j,min,p,q,k,h,sum=0;
	cin>>n;
	for(k=1;k<=n;k++)                             /*??n???*/
	{
	    for(i=1;i<=n;i++)
	    {
		    for(j=1;j<=n;j++)
		    {
			    cin>>*(a[k][i]+j);
		    }
	    }
	}
  for(p=1;p<=n;p++)                              /* ???????*/
  {
	  h=n;
	  for(q=1;q<=n-1;q++)                          /*???????*/
	  {
	  for(i=1;i<=h;i++)
	  {
		min=100000;
		for(j=1;j<=h;j++)
		{
			if(*(a[p][i]+j)<min)
				min=a[p][i][j];
		}
		for(k=1;k<=h;k++)
		{
			*(a[p][i]+k)=*(a[p][i]+k)-min;
		} 
	  }                                            /*?????*/
	  for(j=1;j<=h;j++)
	  {
		min=100000;
		for(i=1;i<=h;i++)
		{
			if(*(a[p][i]+j)<min)
				min=*(a[p][i]+j);
		}
		for(k=1;k<=h;k++)
		{
			*(a[p][k]+j)=*(a[p][k]+j)-min;
		} 
	  }   
	  sum+=a[p][2][2];
	  for(i=1;i<=h;i++)
        *(a[p][2]+i)=0;
	  for(j=1;j<=h;j++)
        *(a[p][j]+2)=0;
	  for(i=3;i<=h;i++)
	  {
		for(j=1;j<=h;j++)
		{
		*(a[p][j]+i-1)=*(a[p][j]+i);
		}
	}
	for(i=3;i<=h;i++)
	{
		for(j=1;j<=h;j++)
		{
		*(a[p][i-1]+j)=*(a[p][i]+j);
		}
	}
	h-=1;
	  }
	 cout<<sum<<endl;
	 sum=0;
  }


return 0;
}
int main(int argc, char* argv[])
{
	char str[255],from[255],to[255];
	char*s=str,*p;
	gets(s);
	scanf("%s%s",from,to);
	strcat(s," ");
	while(*s){
		p=strchr(s,' ');
		*p='\0';
		if(strcmp(s,from)==0)
		{
			printf("%s",to);
		}
		else{
            printf("%s",s);
		}
		s=p+1;
		if(*s)
		{
			printf(" ");
		}
	}

	return 0;
}
int main()
{char a[101]={0},b[100]={0},c[100]={0};//???????a??????b?????c????????
int i,j,k,m,count=0;//i,j,k,m????????count????
int x,y;
int al,bl,cl;
cin.getline(a,100);
cin.getline(b,100);
cin.getline(c,100);
al=strlen(a);//??????????
bl=strlen(b);
cl=strlen(c);
for(i=0;i<=100;i++)
    {for(j=0;j<bl;j++)
    	{if (a[i+j]==b[j])//?a???b????????????????????+1
    		count++;}//????=b?????????????b?????????????????????0
            x=((i>0)&&(a[i-1]==' ')&&((a[i+bl]==' ')||a[i+bl]==(char)0)); //?????????????????????
        	y=((i==0)&&((a[i+bl]==' '||a[i+bl]==(char)0))); //???????????????
        	if(count==bl&&(x||y))//?????????a???????????
            {if(bl>=cl)//?????????
            	{for(k=0;k<cl;k++)
            		a[i+k]=c[k];//??????????????????????
                for(m=i+cl;m<al-cl;m++)
                	a[m]=a[m-cl+bl];}//?????????
            else//??????????????
                {for(m=100;m>=i+cl;m--)
                	a[m]=a[m-(cl-bl)];//?????????????c??
                for(k=0;k<cl;k++)//???c
                	a[i+k]=c[k];

                }

            }

    count=0;
    }
cout<<a;
}
int main()
{
	int i, k = 0, m = 0;
	char s[1000], a[101], b[101];
	char word[30][101];
	cin.getline(s, 1000);
	cin.getline(a, 101);
	cin.getline(b, 101);
	for (i = 0; s[i] != '\0'; i++)
	{
		if (s[i] != ' ')
		{
			word[k][m] = s[i];
			m++;
		}
		else
		{
			word[k][m] = '\0';
			k++;
			m = 0;
		}
	}
	for (i = 0; i<= k; i++)
	{
		if (strcmp(word[i], a) == 0)
			strcpy(word[i], b);
	}
	for(i = 0; i < k; i++)
		cout << word[i] << ' ';
	cout << word[k];
	cin >> k;
	return 0;
}
int main(){
    char a[100];
	char b[100];
	char c[100];
	char d[50][100];
	gets(a);
	scanf("%s",b);
	scanf("%s",c);
    
	int chang,i,n,m;
	int u=0,v=0;
	chang=strlen(a);
    
	for(i=0;i<chang;i++){
		if(a[i]!=' '){
			d[u][v]=a[i];
			v++;
		}else{
			v=0;
			u++;
		}
	}

    for(i=0;i<u;i++){
		if(strcmp(b,d[i])==0){
			printf("%s ",c);
		}else{
			printf("%s ",d[i]);
	}
		
	}


    if(strcmp(b,d[i])==0){
		printf("%s",c);
	}else{
		printf("%s",d[u]);
	}

	return 0;
}
char a[2000];
char sub[2000];
int b[2000];
int jianyan[1000];
int main()
{
	gets(a);
	gets(sub);
	int i,j=0,v=0,count_jianyan=0,l=strlen(a),l_sub=strlen(sub);
	for(int r=0;r<l;r++)
	{
		if(a[r]==' ')
		{
			jianyan[count_jianyan]=r;
			count_jianyan++;
		}
	}
			for(int u=0;u<l_sub;u++)
		{
			if(a[u]==sub[u])
			{
				b[0]++;
			}
		}
	while(v<count_jianyan)
	{
		i=jianyan[v]+1;
		for(j=0;j<l_sub;j++)
		{
			if(a[i+j]==sub[j])
			{
				b[i]++;
			}
		}
		v++;
	}
	int k=0,w[1000],count=0;
	for(int gl=0;gl<1000;gl++)
	{
		w[gl]=999;
	}
	for(k=0;k<2000;k++)
	{
		if(b[k]==l_sub)
		{
			w[count]=k;
			count++;
		}
	}
	char c[300];
	gets(c);
	int q=0,m=0;
	if(count!=0)
	{
	while(q<l)
	{
		if(q==w[m])
		{
			printf("%s",c);
			q+=l_sub;
			m++;
		}
		if(q!=l)
		{printf("%c",a[q]);}
		q++;
	}
	}
	else if(count==0)
	{
		puts(a);
	}
	return 0;
}
int main()
{
	int i,n,m;
	char *p1,*p2,*p3,*p,*s;
    p1=(char*)malloc(1000*sizeof(char));
	gets(p1);
    p2=(char*)malloc(100*sizeof(char));
	p3=(char*)malloc(100*sizeof(char));
	p=(char*)malloc(100*sizeof(char));
	gets(p2);
	gets(p3);
    n=strlen(p1);
	s=p1;
	    sscanf(s,"%s",p);
		m=strlen(p);
		if(strcmp(p2,p)==0)
		{printf("%s",p3);}
		else {printf("%s",p);}
        s=s+m+1;
	for(i=n-m-1;i>=0;i=i-m-1)
	{
		sscanf(s,"%s",p);
		m=strlen(p);
		if(strcmp(p2,p)==0)
		{printf(" %s",p3);}
		else {printf(" %s",p);}
        s=s+m+1;
	}
}