semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
char sen[100];
int z,y,i,j,l,t,m;
while(gets(sen))
{
	z=0;y=0;
	l=strlen(sen);
	printf("%s\n",sen);

    for(i=0;i<l;i++)
	{
       if(sen[i]=='(')
	   {z++;}
	   if(sen[i]==')')
	   {y++;}
	}
	   if(z>y)
	   {
		   m=y;
	   }
	   else
	   {
		   m=z;
	   }
	   
	for(i=0;i<m;i++)
	{
		j=1;
		for(t=0;t<l;t++)
		{
	      if(sen[t]=='(')
		  {
		     j=0;z=t;
		  }
	     if(sen[t]==')')
		 { 
		   if(j==0)
		   {
			   sen[z]='0';
			   sen[t]='0';
		   }
		   j=1;
		 }
		}
	}
	for(i=0;i<l;i++)
	{
		if(sen[i]=='(')
		{
			printf("$");
		}
		else if(sen[i]==')')
		{
			printf("?");
		}
		else if((sen[i]!='(')&&(sen[i]!=')'))
		{
			printf(" ");
		}
	}
	printf("\n");
	}
return 0;
}
int main()
{
	char a[110];
	int i,j,k,l,m,n,x;
	while(cin.getline(a,110))//??
	{
	n=strlen(a);
	for(m=0;m<n;m++)
	{cout<<a[m];}
	cout<<endl;//??????
	for(i=0;i<n;i++)
	{
		if(a[i]==')')
		{
			for(j=i-1;j>=0;j--)
			{
				if(a[j]=='(')
				{
					a[i]=' ';a[j]=' ';break;//??????
				}
			}
		}
	}
	for(k=0;k<n;k++)
	{
		if(a[k]!='('&&a[k]!=')')
		{a[k]=' ';}
		if(a[k]=='(')
		{a[k]='$';}
		if(a[k]==')')
		{a[k]='?';}//???????
	}
	for(m=0;m<n;m++)
	{
		cout<<a[m];//??
	}
	cout<<endl;
	}
	return 0;
}
int main()
{
	char str[101];
	int i, j;
	while (cin.getline(str, 101))
	{
		int length = strlen(str), count1[1000] = {0}, count2[1000] = {0};
		for (i = length; i >= 0; i--)
		{
			if (str[i] == '(')
			{
				for (j = i; str[j] != '\0'; j++)
				{
					if (str[j] == ')' && count2[j] == 0)
					{
						count2[j]--;
						break;
					}
					else
					{
						if (str[j + 1] == '\0')
						{
							count1[i]++;
						}
					}
				}
			}
		}
		for (i = 0; str[i] != '\0'; i++)
		{
			if (str[i] == ')')
			{
				count2[i]++;
			}
			cout << str[i];
		}
		cout << endl;
		for (i = 0; str[i] != '\0'; i++)
		{
			if (count1[i] == 1)
			{
				cout << "$";
			}
			if (count2[i] == 1)
			{
				cout << "?";
			}
			if (count1[i] != 1 && count2[i] != 1)
			{
				cout << " ";
			}
		}
		cout << endl;
	}
	return 0;
}
int main()
{
	int len;
	int i,left = 0 ,right = 0;
	char str[102],b[102];
    while (cin.getline(str,102))
	{
		len = strlen(str);
		left = 0;
		right = 0;
		for (i = 0 ; str[i] != '\0'; i++)
		{
			b[i] = ' ';
			if (str[i] == '(')
				left++;
			if (str[i] == ')')
			{
				if (left <= 0)
					b[i] = '?';
				else
					left--;
			}
		}
        for (i = len - 1 ;i >= 0; i--)
		{
			if (str[i] == ')')
				right++;
			if (str[i] == '(')
			{
				if (right <= 0)
					b[i] = '$';
				else
					right--;
			}
		}
		for (i = 0 ;i < len; i++)
			cout << str[i];
		cout << endl;
		for (i = 0 ;i < len; i++)
			cout << b[i];
		cout << endl;
	}
	return 0;
}
int match(char* a)//?????????????????????????????
{
	int i=1;
	while(a[i]!='\0')
	{
		if(a[i]==')') //???????
		{
			a[i]=' ';
			a[0]=' ';
			return i;
		}
		else if(a[i]=='(')//?????????
		{
			a[i]='$';
			i+=match(a+i);
		}
		else a[i]=' ';//?????????
		i++;
	}
	return i-1;
}
int main()
{
	while(cin.peek()!=EOF)
	{
		char ch[110];
		cin.getline(ch,110,'\n');
		cout<<ch<<endl;
		int i=0;
		while(ch[i]!='\0')
		{
			if(ch[i]=='(')
			{
				ch[i]='$';
				i+=match(ch+i);
			}
			else if(ch[i]==')')
				ch[i]='?';//???????????????
			else ch[i]=' ';
			i++;
		}
		cout<<ch<<endl;//??
	}
	return 0;
}
int main()
{int k,i,l,j,n=1,t,h,m;
char a[200];
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%s",a);
l=strlen(a);
for(j=0;j<l;j++)
{printf("%c",a[j]);
}

printf("\n");
for(j=0;j<l;j++)
{
	if(a[j]=='(')
	{	a[j]='$';}
	else if(a[j]==')')
	{
		for (k=j;k>=-1;k--)
		{ if(k==-1)
			{a[j]='?';break;}
			if (a[k]=='$')
			{
				a[k]=' ';a[j]=' ';break;
			}
			
		}
		
	}
	else a[j]=' ';
	
}

for(j=0;j<l;j++)
{printf("%c",a[j]);
}

printf("\n");




}
return 0;
}
int main()
{
	int n,a[100][100],i,j,k,m;
	cin>>n;
	for (k=1;k<=n;k++)
	{
		int num=0;
		int sum=0;
		for (i=0;i<n;i++) //??
			for (j=0;j<n;j++)
				cin>>a[i][j];
		for (m=0;m<n-1;m++) //n-1?
		{
			for (i=0;i<n-num;i++) 
			{
				int rowm=a[i][0];
				for (j=0;j<n-num;j++) //???min
				{
					if (a[i][j]<rowm) rowm=a[i][j];
				}
				for (j=0;j<n-num;j++) //??min
				{
					a[i][j]=a[i][j]-rowm;
				}
			}
			for (j=0;j<n-num;j++)
			{
				int colm=a[0][j];
				for (i=0;i<n-num;i++) //???min
				{
					if (a[i][j]<colm) colm=a[i][j];
				}
				for (i=0;i<n-num;i++) //??min
				{
					a[i][j]=a[i][j]-colm;
				}
			
			}
			sum=sum+a[1][1]; //?a[1][1]
			
			for (i=2;i<n-num;i++) //????????
			{
				for (j=0;j<n-num;j++)
					a[i-1][j]=a[i][j];
			
			}
			
			for (j=2;j<n-num;j++) //????????
			{
				for (i=0;i<n-num;i++)
					a[i][j-1]=a[i][j];			
			}
			num++;
		}
		
		
		cout<<sum<<endl;
	}



	return 0;
}
// ?????????.cpp : ??????????????
//

                             //?????

int min(int a[],int nx)								 //min???????????
{													 //min????
	int x,min;
	min = a[0];
	for (x = 0;x <= nx - 1;x++)						 //????????????
	{
		if (a[x] <= min)
		{
			min = a[x];
		}
	}
	return min;										 //?????
}													 //min????

int main()			 //???
{													 //?????
	int temp,nx,y,sum,i,j,k,n,a[100][100],b[100],m;  //????
	cin >> n;										 //???????
	for (i = 1;i <= n;i++)							 //????n???
	{
		sum = 0;									 //?????
		nx = n;
		for (j = 0;j <= n - 1;j++)					 //????
		{
			for (k = 0;k <= n - 1;k++)
			{
				cin >> a[j][k];
			}
		}
		for (y = 1;y <= n - 1;y++)					 //??n-1????a[0][0]
		{											 //??????????
			for (j = 0;j <= n - 1;j++)
			{
				temp = min(a[j],nx);                 //??min??????
				for (k = 0;k <= n -1;k++)
				{
					a[j][k] = a[j][k] - temp;
				}
			}
			for (k = 0;k <= n - 1;k++)				 //?????????
			{
				for (m = 0;m <= n - 1;m++)			 //??????????min??
				{
					b[m] = a[m][k];
				}
				temp = min(b,nx);					 //??min??????
				for (j = 0;j <= n -1;j++)
				{
					a[j][k] = a[j][k] - temp;
				}
			}
			sum = sum + a[1][1];					 //???????sum?
			for (j = 1;j <= n - 2;j++)				 //????????????
			{
				for (k = 0;k <= n - 1;k++)
				{
					a[j][k] = a[j+1][k];
				}
			}
			for (k = 1;k <= n - 2;k++)
			{
				for (j = 0;j <= n - 1;j++)
				{
					a[j][k]= a[j][k+1];
				}
			}
			nx--;									 //?????????
		}
		cout << sum << endl;						 //????????????
	}												 //???????
	return 0;										 //????
}													 //?????
int main()
{
	int n=0,a[110][110]={0},j=0,i=0,k=0,l=0,min=100000,sum=0;
	int (*p)[110]=a;
	cin>>n;
	for(k=0;k<n;k++)
	{
		sum=0;
		for(i=1;i<=n;i++)
			for(j=1;j<=n;j++)
			{
				cin>>*(*(p+i)+j);
			}
		for(l=0;l<n-1;l++)
		{
			for(i=1;i<=n-l;i++)
			{
				min=100000;
				for(j=1;j<=n-l;j++)
				{
					if(*(*(p+i)+j)<min)min=*(*(p+i)+j);
				}
				for(j=1;j<=n-l;j++)
				{
					*(*(p+i)+j)-=min;
				}
			}	
			for(j=1;j<=n-l;j++)
			{
				min=100000;
				for(i=1;i<=n-l;i++)
				{
					if(*(*(p+i)+j)<min)min=*(*(p+i)+j);
				}
				for(i=1;i<=n-l;i++)
				{
					*(*(p+i)+j)-=min;
				}
			}
			sum+=*(*(p+2)+2);
			for(i=2;i<n-l;i++)
				*(*(p+i)+1)=*(*(p+i+1)+1);
			for(j=2;j<n-l;j++)
				*(*(p+1)+j)=*(*(p+1)+j+1);
			for(i=2;i<n-l;i++)
				for(j=2;j<n-l;j++)
					*(*(p+i)+j)=*(*(p+i+1)+j+1);
		}
		cout<<sum<<endl;
	}
	return 0;
}
int main(){
	int a[101][101];
	int n,i,j,t,min,count=0,m;
	cin>>n;
	for(m=0;m<n;m++){
		for(i=1;i<=n;i++)
			for(j=1;j<=n;j++)
				cin>>a[i][j];
		count=0;
		for(t=n;t>=2;t--){
			for(i=1;i<=t;i++){
				min=a[i][1];
				for(j=1;j<=t;j++)
					min=(a[i][j]<min?a[i][j]:min);
				for(j=1;j<=t;j++)
					a[i][j]-=min;
			}
			for(j=1;j<=t;j++){
				min=a[1][j];
				for(i=1;i<=t;i++)
					min=(a[i][j]<min?a[i][j]:min);
				for(i=1;i<=t;i++)
					a[i][j]-=min;
			}
			count+=a[2][2];
			for(i=2;i<=t-1;i++)
				for(j=1;j<=t;j++)
					a[i][j]=a[i+1][j];
			for(j=2;j<=t-1;j++)
				for(i=1;i<=t-1;i++)
					a[i][j]=a[i][j+1];
		}
		cout<<count<<endl;
	}
	return 0;
}
int main()  //????
{
	const int MAX=50000;
	int n;
	cin>>n;
	for (int k=0;k<n;k++)
	{
		int jz[110][110];
		for (int i=0;i<n;i++)
			for (int j=0;j<n;j++)
				cin>>jz[i][j];
		int ans=0;
		for (int x=0;x<n-1;x++)
		{
			for (int i=0;i<n-x;i++)
			{
				int min=MAX;
				for (int j=0;j<n-x;j++)
					if (jz[i][j]<min) min=jz[i][j];
				for (int j=0;j<n-x;j++)
					jz[i][j]-=min;
			}
			for (int i=0;i<n-x;i++)
			{
				int min=MAX;
				for (int j=0;j<n-x;j++)
					if (jz[j][i]<min) min=jz[j][i];
				for (int j=0;j<n-x;j++)
					jz[j][i]-=min;
			}
			ans+=jz[1][1];
			for (int i=0;i<n-x;i++)
				for (int j=2;j<n-x;j++)
					jz[i][j-1]=jz[i][j];
			for (int i=0;i<n-x;i++)
				for (int j=2;j<n-x;j++)
					jz[j-1][i]=jz[j][i];
		}
		cout<<ans<<endl;
	}
	return 0;
}
void main()
{
	int n=0;
	scanf("%d",&n);
	int i,j,k;
	int flag=0;
	int gl(int num[][200],int n);
	for(i=0;i<n;i++)
	{
		int sum=0;
		int num[200][200]={0};
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
				scanf("%d",&num[j][k]);
		sum=gl(num,n);
		printf("%d\n",sum);
	}
}

int gl(int num[][200],int n)
{
	int i=0,j=0,k=0;
	int min=0;
	int flag=0;
	int sum=0;
	for(flag=0;flag<n-1;flag++)
	{
	for(i=0;i<n;i++)
	{
		min=num[i][0];
		for(j=0;j<n;j++)
		{
			if(num[i][j]<min)
			{
				min=num[i][j];;
			}
		}
		for(j=0;j<n;j++)
		{
			num[i][j]=num[i][j]-min;
		}
	}                                               
	for(i=0;i<n;i++)
	{
		min=num[0][i];
		for(j=0;j<n;j++)
		{
			if(num[j][i]<min)
			{
				min=num[j][i];;
			}
		}
		for(j=0;j<n;j++)
		{
			num[j][i]=num[j][i]-min;
		}
	}                                           
	sum+=num[1][1];
	


		for(j=0;j<n;j++)       
		{
			for(i=2;i<n;i++)
			{
				num[j][i-1]=num[j][i];
			}
			num[j][i]=0;
		}
		for(j=0;j<n;j++)
		{
			for(i=2;i<n;i++)
			{
				num[i-1][j]=num[i][j];
			}
			num[j][i]=0;
		}
	}
			return sum;
}
/*-----------------------------------------*\
|? ? ?   ??????????   	        |
|? ?      ????	                    |
|? ? ? ??2010 ? 12 ? 01 ?		    |
|? ?      ?1000012758		            |
\*-----------------------------------------*/ 
int a[100][100][100];//n?n*n???
int Sum(int n, int t[100][100])
{
	int sum = 0, min = 0;
	int i, j, tempi, tempj;
	//??
	for (i = 0; i < n; i++)
	{
		min = t[i][0];
		for (j = 0; j < n; j++)
			if(t[i][j] < min)
				min = t[i][j];//????
		for (j = 0; j < n; j++)
			t[i][j] -= min;//????????
	}
	//??
	for (j = 0; j < n; j++)
	{
		min = t[0][j];
		for (i = 0; i < n; i++)
			if(t[i][j] < min)
				min = t[i][j];//???
		for (i = 0; i < n; i++)
			t[i][j] -= min;//???????
	}
	sum = t[1][1];
	if (n == 2)//??2*2?????
		return sum;
	//????????????
	for (i = 0; i < n - 1; i++)
		for (j = 0; j < n - 1; j++)
		{
			if (j == 0)
				tempj = j;
			else
				tempj = j + 1;
			if (i == 0)
				tempi = i;
			else
			{
				tempi = i + 1;
			}
			t[i][j] = t[tempi][tempj];
		}
		//???
	return sum += Sum(n - 1, t);
}
int main()
{
	int n, sum = 0;
	memset(a, 0, sizeof(a));
	cin >> n;
	for (int i = 0; i < n; i++)//??n???
	{
		for (int j = 0; j < n; j++)
			for (int k = 0; k < n; k++)
				cin >> a[i][j][k];//??
		sum = Sum(n, a[i]);//??
		cout << sum << endl;//??
	}
	return 0;
}
int main()
{
    int n,m,i,j,k,sum,min;
    cin >>m;
    for(i=1;i<=m;i++)//m×é&Ecirc;&yacute;&frac34;&Yacute;  &Ntilde;&shy;&raquo;·&Ecirc;&auml;&Egrave;&euml; 
    {
        int a[m][m];
        for(j=0;j<m;j++)//&Ntilde;&shy;&raquo;·&Ecirc;&auml;&Egrave;&euml;&frac34;&Oslash;&Otilde;ó 
        for(k=0;k<m;k++)
        cin >>a[j][k];
        sum=0;
        for(n=m;n>1;n--)//&frac34;&Oslash;&Otilde;ó&sup1;é&Aacute;&atilde; 
    {  
        for(j=0;j<n;j++)//&ETH;&ETH;&sup1;&aelig;&Aacute;&atilde; 
        {
            min=a[j][0];
            for(k=1;k<n;k++)
            {
                if(a[j][k]<min)//&Otilde;&Ograve;&sup3;&ouml;&Atilde;&iquest;&ETH;&ETH;×&icirc;&ETH;&iexcl;&Ouml;&micro; 
                {
                    min=a[j][k];
                }
            }
            for(k=0;k<n;k++)
            {
                a[j][k]=a[j][k]-min;//&Atilde;&iquest;&ETH;&ETH;&para;&frac14;&frac14;&otilde;&Egrave;&yen;×&icirc;&ETH;&iexcl;&Ouml;&micro; 
            }
        }
        for(k=0;k<n;k++)//&Aacute;&ETH;&sup1;é&Aacute;&atilde; 
        {
            min=a[0][k];
            for(j=1;j<n;j++)
            {
                if(a[j][k]<min)
                {
                    min=a[j][k];
                }
            }
            for(j=0;j<n;j++)
            {
                a[j][k]=a[j][k]-min;
            }
        }
        sum=sum+a[1][1];//sum&frac14;&Oacute;&Eacute;&Iuml;a[1][1] 
        for(j=1;j<n-1;j++)//&frac34;&Oslash;&Otilde;ó&Iuml;&ucirc;&frac14;&otilde; 
        for(k=0;k<n;k++)
        {
            a[j][k]=a[j+1][k];//&ETH;&ETH;&Iuml;&ucirc;&frac14;&otilde; 
        }
        for(k=1;k<n-1;k++)//&Aacute;&ETH;&Iuml;&ucirc;&frac14;&otilde; 
        for(j=0;j<n;j++)
        {
            a[j][k]=a[j][k+1];
        }
    }
    cout <<sum<<endl;//&Ecirc;&auml;&sup3;&ouml; 
    }
   
    return 0;
}
int find_min( int x ,int side);//???x?????
int find_miny(int y,int side);//???y?????
int a[120][120],sum;//??,a[1][1]??
void caozuo( int side );//??
int main()
{
   int i,j,n,k;
   cin>>n;//??
   for(k=1;k<=n;k++)
   {   
	   sum=0;
	   memset(a,0,sizeof(a));//??
       for(i=0;i<=n-1;i++)
		   for(j=0;j<=n-1;j++)
			   cin>>a[i][j];
           caozuo(n);    //??
   }
  
return 0;
}
int find_min( int x ,int side)//???
{
	int i,temp=10001;
   for(i=0;i<=side-1;i++)
   {
     if(temp>a[x][i])
		 temp=a[x][i];
   }
  return temp;
}
int find_miny(int y,int side)//???
{
int i,temp=10001;
   for(i=0;i<=side-1;i++)
   {
     if(temp>a[i][y])
		 temp=a[i][y];
   }
  return temp;
}
void caozuo( int side )
{
  int i,j,t;
  if(side==1)                 //????==1
  {cout<<sum<<endl;}
  else
  {
     for(i=0;i<=side-1;i++)
	 {
		 t=find_min(i,side);
		 for(j=0;j<=side-1;j++)
		 {
		   a[i][j]-=t;  //?
		 }
	 }
for(i=0;i<=side-1;i++)
	 {
		 t=find_miny(i,side);
		 for(j=0;j<=side-1;j++)
		 {
		   a[j][i]-=t;  //??
		 }
	 }

	 sum=sum+a[1][1];//??
    if(side>2)//??>2,??
	{
	  for(i=2;i<=side-1;i++)
	  {
		 a[i-1][0]=a[i][0];
	     a[0][i-1]=a[0][i];
	  }
	  for(i=2;i<=side-1;i++)
	  {
	     for(j=2;j<=side-1;j++)
		 {
		   a[i-1][j-1]=a[i][j];
		 }
	  }
	}
    caozuo(side-1);//??
  }

}
//?????????
int sum=0,n;
void GuiLing(int num[][100],int n,int move);
void XiaoJian(int num[][100],int move);
int main()
{
    int i,j,t,num[100][100];
    cin>>n;
    for (t=0;t<n;t++)
    {
      sum=0;
      for (i=0;i<n;i++)
       for (j=0;j<n;j++)
         cin>>num[i][j];
         XiaoJian(num,0);
         cout<<sum<<endl;
    } 
    return 0;
}
void XiaoJian(int num[][100],int move) //move??n-????? 
{
     if (move==n-1)  //??????1???????? 
     {;} 
     else                    
     {
     GuiLing(num,n,move);  //?? 
     sum=sum+num[move+1][move+1];   
     XiaoJian(num,move+1); //???? 
     }
}
void GuiLing(int num[][100],int n,int move)
{
   int i,j,min;
   //??? 
   for (i=0;i<n;i++)
    {
      if ((move!=0)&&((i>=1)&&(i<=move))) continue; //???????????? 
      min=num[i][0];
      for (j=1;j<n;j++)
      {  
         if ((move!=0)&&((j>=1)&&(j<=move))) continue;  //???????????? 
         if (num[i][j]<min) min=num[i][j];
      }
      if (min!=0)
      {
        for (j=0;j<n;j++) 
        {
            if ((move!=0)&&((j>=1)&&(j<=move))) continue; 
            num[i][j]=num[i][j]-min;
        }
      }
     } 
     //???  
    for (j=0;j<n;j++)
    {
      if ((move!=0)&&((j>=1)&&(j<=move))) continue; //???????????? 
      min=num[0][j];
      for (i=1;i<n;i++)
      {  
         if ((move!=0)&&((i>=1)&&(i<=move))) continue;  //???????????? 
         if (num[i][j]<min) min=num[i][j];
      }
      if (min!=0)
      {
        for (i=0;i<n;i++) 
        {
            if ((move!=0)&&((i>=1)&&(i<=move))) continue; 
            num[i][j]=num[i][j]-min;
        }
      }  
    } 
}
int n,a[100][100][100];
int main()
{int min,sum[100]={0};
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[k][i][j];
for(int r=n;r>1;r--)
{
for(int k=0;k<n;k++)
{	for(int i=0;i<r;i++)
	{
		min=a[k][i][0];
		for(int j=1;j<r;j++)
			{if(a[k][i][j]<min)
			min=a[k][i][j];}
		for(int j=0;j<r;j++)
            a[k][i][j]=a[k][i][j]-min;
    }
}

for(int k=0;k<n;k++)
    for(int j=0;j<r;j++)
	{
		min=a[k][0][j];
        for(int i=1;i<r;i++)
			{if(a[k][i][j]<min)
			min=a[k][i][j];}
		for(int i=0;i<r;i++)
            a[k][i][j]=a[k][i][j]-min;
	}

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


for(int k=0;k<n;k++)
cout<<sum[k]<<endl;
return 0;
}
void suo(int b[101][101],int n)
{
	int row=0,l=0;
	for(int i=1;i<n-1;i++)
		for(int j=0;j<n;j++)
			b[i][j]=b[i+1][j];
	for(int j=1;j<n-1;j++)
		for(int i=0;i<n;i++)
			b[i][j]=b[i][j+1];
return;
}

int square(int a[101][101],int n)
{
	if(n==1)
		return 0;
	for(int i=0;i<n;i++)
	{
		int min=a[i][0];
		for(int j=1;j<n;j++)
			if(min>a[i][j])
				min=a[i][j];
		for(int j=0;j<n;j++)
			a[i][j]-=min;
	}
	for(int i=0;i<n;i++)
	{
		int min=a[0][i];
		for(int j=1;j<n;j++)
			if(min>a[j][i])
				min=a[j][i];
		for(int j=0;j<n;j++)
			a[j][i]-=min;
	}
	int t=a[1][1];
	int sum=0;
	suo(a,n);
	sum=t+square(a,n-1);
	return sum;
}
int main()
{
	int i,n,k,j,m[101][101];
	cin>>n;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
			for(k=0;k<n;k++)
				cin>>m[j][k];
		cout<<square(m,n)<<endl;
	}
return 0;
}
int minx[1000],miny[1000];
 int n,m,a[105][105],b[105][105];
void calc_min(){
     for(int i=0;i<m;i++){
             minx[i]=100000;miny[i]=100000;
             }
     for(int i=0;i<m;i++)
             for(int j=0;j<m;j++){
                     if(a[i][j]<minx[i])minx[i]=a[i][j];
                     //if(a[i][j]<miny[j])miny[j]=a[i][j]; 
             }       
     for(int i=0;i<m;i++)
             for(int j=0;j<m;j++)
                     a[i][j]-=minx[i];                
     for(int i=0;i<m;i++)
             for(int j=0;j<m;j++){
                     //if(a[i][j]<minx[i])minx[i]=a[i][j];
                     if(a[i][j]<miny[j])miny[j]=a[i][j]; 
             }       
     for(int i=0;i<m;i++)
             for(int j=0;j<m;j++)
                     a[i][j]-=miny[j];    
     
}
void calc_delete(){

     for(int i=0;i<m;i++)
             if(i-1!=0)
                    for(int j=0;j<m;j++){
                            if(j==1)continue;
                            int x=i,y=j;
                            if(x)x--;
                            if(y)y--;
                            b[x][y]=a[i][j];
                    }                
     m--;
     for(int i=0;i<m;i++)
             for(int j=0;j<m;j++)
                     a[i][j]=b[i][j];
}
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
            int ans=0;
            for(int j=0;j<n;j++)        
                    for(int k=0;k<n;k++)
                            cin>>a[j][k];
            m=n;
           
            while(m>2){
                       
                       calc_min();
                       ans+=a[1][1];
                       calc_delete();
            }
            calc_min();
            ans+=a[1][1];
            cout<<ans<<endl;
    }
    
    //cin>>n;
    
    return 0;    
}
/*
 * test04_05.cpp
 *
 *  Created on: 2010-12-31
 *      Author: 10139
 *      ?? - ?????????

?? ???2009????
??
    ????n*n????3<=n<=100?????????????
    ??n-1???????????????????1*1????????????
    ???????????????????????????????????????????????????
                                                  ??????????????????????????????????0?
    ????????????n*n????????????????????a[][]??????a[1][1]???????????????(n-1)*(n-1)????

    ??????????(n-1)*(n-1)??????????????n-1?????? n*n??????????1*1????
    ????????a[1][1]????

 ????
????????n?
???n?n*n????
?????n?????n????????????????

????
???n??????????????????????????a[1][1]????

????
3
1 2 3
2 3 4
3 4 5
1 2 3
5 4 2
9 4 5
1 2 3
5 4 2
9 5 4


????
0
2
1

 *
 */
int main()
{    int n,k;
     cin>>n;
     for(k=1;k<=n;k++)
       {
    	 int a[n][n],i,j,sum=0;
         int min[n],liemin[n];
         for(i=0;i<n;i++)
            for(j=0;j<n;j++)
        		 cin>>a[i][j];
         for(i=0;i<n;i++)
        	 min[i]=a[i][0];
         for(i=0;i<n;i++)
        	 liemin[i]=a[0][i];

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

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

            /* for(i=0;i<scale;i++)
                {for(j=0;j<scale;j++)
            		 cout<<a[i][j]<<" ";
                cout<<endl;}*/

          sum=sum+a[1][1];
          //cout<<"scale="<<scale<<" sum="<<sum<<endl;

          for(i=0;i<scale;i++)//?????,a[][1]
             for(j=1;j<scale;j++)
         		 a[i][j]=a[i][j+1];

          for(j=0;j<scale;j++)//?????,a[1][]
             for(i=1;i<scale;i++)
         		 a[i][j]=a[i+1][j];

          scale=scale-1;//??-1
          for(i=0;i<scale;i++)//?????????????
        	  min[i]=a[i][0];
          for(i=0;i<scale;i++)//?????????????
        	  liemin[i]=a[0][i];
         }
         cout<<sum<<endl;
       }
     return 0;
}
int tozero(int n);
void delete1(int,int);
void delete2(int,int);
void movea (int);
int a[100][100],sum=0;
int main()
{
	int n,i,j,k;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{	
		for(j=0;j<=99;j++)
			for(k=0;k<=99;k++)
				*(*(a+j)+k)=0;
		int r,l,lim=99;
		char c;

		for(r=0;r<n;r++)
			for(l=0;l<n;l++)
		{
			scanf("%d",*(a+r)+l);
			
			
		}
		sum=tozero(r);
		printf("%d\n",sum);
		sum=0;
	}
}
void delete1(int r,int n)
{
	int min=*(*(a+r)+0),j;
	for(j=0;j<n;j++)
		if(*(*(a+r)+j)<min) min=*(*(a+r)+j);
	for(j=0;j<n;j++)
		*(*(a+r)+j)-=min;
}
void delete2(int l,int n)
{
	int min=*(*(a+0)+l),j;
	for(j=0;j<n;j++)
		if(*(*(a+j)+l)<min) min=*(*(a+j)+l);
	for(j=0;j<n;j++)
		*(*(a+j)+l)-=min;
}
void movea(int n)
{
	int i,j,k;
	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=2;j<n;j++)
			*(*(a+i)+j)=*(*(a+i+1)+j);
	for(i=1;i<n-1;i++)
		for(j=1;j<n-1;j++)
			*(*(a+j)+i)=*(*(a+j)+i+1);
}


int tozero(int n)
{
	int i,j,k;
	for(i=0;i<n;i++)
		delete1(i,n);
	for(i=0;i<n;i++)
		delete2(i,n);
	sum+=*(*(a+1)+1);
	movea(n);
	if(n>=3) tozero(n-1);
	return sum;
}
/*
 * n2.cpp
 *
 *  Created on: 2011-11-12
 *      Author: Administrator
 */

int a[100][100];

int search1(int num,int n)      //??n???num?????
{
	int i,min;
	min=a[num][0];
	for(i=1;i<n;i++)
		if(a[num][i]<min) min=a[num][i];
	return min;
}

int search2(int num,int n)     //??n???num?????
{
	int j,min;
	min=a[0][num];
	for(j=1;j<n;j++)
		if(a[j][num]<min) min=a[j][num];
	return min;
}

void dele1(int num,int n,int x)        //?n????num??????x
{
	int i;
	for(i=0;i<=n;i++)
		a[num][i]=a[num][i]-x;
}

void dele2(int num,int n,int x)        //?n????num??????x
{
	int j;
	for(j=0;j<=n;j++)
		a[j][num]=a[j][num]-x;
}

void move(int n)                       //???2??2?
{
	int i,j;
	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];
}

int main()
{
	int n,l,i,j,m,ans;
	cin>>n;
	for(l=1;l<=n;l++){
		m=n;                        //?????
		ans=0;
		for(i=0;i<n;i++)            //????
			for(j=0;j<n;j++)
				cin>>a[i][j];

		while(m>1){                 //??????
			for(i=0;i<m;i++) dele1(i,m,search1(i,m));
			for(j=0;j<m;j++) dele2(j,m,search2(j,m));
			ans=ans+a[1][1];
			move(m);
			m=m-1;
		}

		cout<<ans<<endl;           //????
	}
	return 0;
}