semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
    {
		int a[101][101] = {0}, m, n, k, i, j, t, sum[1001] = {0};
		cin >> k;
		for (i = 1 ; i <= k ; i++)
		    {
				cin >> m >> n;
				for (t = 1 ; t <= m ; t++)
					for (j = 1 ; j <= n ; j++)
					    {
							cin >> a[t][j];
					    }
                for (j = 1 ; j <= n ; j++)
					sum[i] = sum[i] + a[1][j] + a[m][j];
				for (j = 1 ; j <= m ; j++)
				    {
					    if (j == 1 || j == m) continue;
						sum[i] = sum[i] + a[j][1] + a[j][n];
				    }
		    }
		for (i = 1 ; i <= k ; i++)
			cout << sum[i] <<endl;
		return 0;
    }
int main ( )
{
	int k, m, n, i, j, l, number[100][100], num, *p = NULL;
	cin >> k;
	for(i = 0;i < k;i++)
	{
		cin >> m >> n;
		for(j = 0;j < m;j++)
		{
			for(l = 0;l < n;l++)
				cin >> number[j][l];
		}
		num = 0;
		p = *number;
		for(j = 0;j < n;j++)/*??????????????*/
		{
			if(m == 1)
			{
				num += *(p+j);/*??????????*/
			}
			else
			{
				num = num + *(p+j) + *(*(number+m-1)+j);
			}
		}
		p = *number;
		for(j = 1;j < m-1;j++)/*????????????*/
		{
			if(n == 1)
			{
				num += **(number+j);
			}
			else
			{
				num = num + **(number+j) + *(*(number+j)+n-1);
			}
		}
		cout << num <<endl;
	}
	return 0;
}
/*???1000012904_2.cpp
  ?????????????
  ?????
  ???2010?12?10?
*/
int main()
{
	int k;
	cin >> k;
	for(int i = 0; i < k; i++)//??????
	{
		int m, n, a[100][100], j, l, sum = 0;//????????????????????????
		cin >> m >> n;
		for(j = 0; j < m; j++)
			for(l = 0; l < n; l++)
				cin >> a[j][l];//????
		for(j = 0; j < m; j++)
			sum = sum + *(*(a + j)) + *(*(a + j) + n - 1);//?????????????????
		for(j = 1; j < n - 1; j++)
			sum = sum + *(*a + j) + *(*(a + m - 1) + j);//???????????????
		cout << sum << endl;//????
	}
	return 0;
}
void main(){
	int a[10000],m,n,k,i,j,sum,*p;
	scanf("%d",&k);
	for(i=1;i<=k;i++)
	{
		sum=0;
		scanf("%d%d",&m,&n);
		p=a;
		if(m*n>1) 
		{
		for(j=0;j<m*n;j++)
		{
			scanf("%d",p);
			p++;
		}
		for(p=a;p<a+n;p++)
		{
			sum=sum+(*p);
		}
		for(p=a+n;p<=a+(m-2)*n;p=p+n)
		{
			sum=sum+(*p);
		}
		for(p=a+2*n-1;p<=a+(m-1)*n-1;p=p+n)
		{
			sum=sum+(*p);
		}
		for(p=a+(m-1)*n;p<=a+m*n-1;p++)
		{
			sum=sum+(*p);
		}
		printf("%d\n",sum);
		}
		else
		{
			scanf("%d",p);
			printf("%d",*p);
		}
	}

}
int main ()
{
    int sz[100][100][100];
    int k,i,g,t,r;
    int s[100];
    int z[100];
   scanf ("%d",&k);
    for (g=0;g<=k-1;g++){
        scanf("%d %d",&s[g],&z[g]);
        for (i=0;i<=s[g]-1;i++){
            for (t=0;t<=z[g]-1;t++){
                scanf("%d",&sz[g][i][t]);
            }
        }
    }

for(g=0;g<=k-1;g++){
if(s[g]>=3&&z[g]>=3){
for (r=0,i=0;i<=s[g]-1;i++){
 r=r+sz[g][i][0]+sz[g][i][z[g]-1];   
}
    for(t=1;t<=z[g]-2;t++){
        r=r+sz[g][0][t]+sz[g][s[g]-1][t];
    }
    printf("%d\n",r);
}
  else {for(r=0,i=0;i<=s[g]-1;i++){
      for(t=0;t<=z[g]-1;t++){
          r=r+sz[g][i][t];
      }
  }
 printf ("%d\n",r); }
}

return 0;
}
void main()
{
	int k,m,n,*q,(*p)[100],h=0,i,j,l,t;
	p=(int (*)[100])malloc(100*100*sizeof(int));
	q=(int *)malloc(100*sizeof(int));
	scanf ("%d\n",&k);
	for (i=0;i<k;i++)
	{
		scanf ("%d %d",&m,&n);
		for (j=0;j<m;j++)
		{
			for (l=0;l<n;l++)
			{
				scanf ("%d",*(p+j)+l);
			}
		}
		for (t=0;t<n;t++)
		{
			*(q+i)=*(q+i)+*(*p+t)+*(*(p+m-1)+t);
		}
		for (t=0;t<m;t++)
		{
			*(q+i)=*(q+i)+**(p+t)+*(*(p+t)+n-1);
		}
		*(q+i)=*(q+i)-**p-*(*p+n-1)-*(*(p+m-1))-*(*(p+m-1)+n-1);
	}
	for (i=0;i<k;i++)
	{
		printf ("%d\n",*(q+i));
	}
}
int main()
{
	int a[100][100], b[100][100], m, n, k, i, j, s, sum;
	cin >> k;
	for (s = 1; s <= k; s++)
	{
		sum = 0;
	    cin >> m >> n;
		for (i = 1; i <= m; i++)
		{
			for (j = 1; j <= n; j++)
				cin >> a[i][j];
		}
		for (i = 1; i <= m; i++)
		{
			for (j = 1; j <= n; j++)
				sum = sum + a[i][j];
		}
        for (i = 2; i <= m - 1; i++)
		{
			for (j = 2; j <= n - 1; j++)
				sum = sum - a[i][j];
		}
		cout << sum << endl;
	}
}
int v[100][100];

//class mat
//{
//public:
//	int m;
//	int n;
//	int **v;
//
//public:
//	mat(int mm,int nn)
//	{
//		m=mm;
//		n=nn;
//		v=new int*[m];
//		for(int i=0;i<mm;i++)
//		{
//			v[i]=new int[n];
//		}
//	}

	int sum(int m,int n)
	{
		
		int su=0;
		if(n>=2 && m>=2) 
		{
			for(int i=0;i<n;i++)
			{
				su+=v[0][i];
				su+=v[m-1][i];							
			}		
			for(int i=1;i<m-1;i++)
			{
				su+=v[i][0];
				su+=v[i][n-1];
			}
		}
		else if(n>=2 && m==1)
		{
			for(int i=0;i<n;i++)
			{
				su+=v[0][i];							
			}	
		}
		else if(m>=2 && n==1)
		{
			for(int i=0;i<n;i++)
			{
				su+=v[i][0];							
			}
		}
		else
		{
			su=v[0][0];
		}
		return su;
	}
//};

 

int main()
{
	int times;
	cin>>times;
	
	

	for(int k=0;k<times;k++)
	{
		int a,b;
		cin>>a>>b;

		for(int i=0;i<a;i++)
			for(int j=0;j<b;j++)
				cin>>v[i][j];

		cout<<sum(a,b)<<endl;
	}
}
void main()
{
    int *a,*b,*c,*d;
    int i,j,n,m,k;
    a=(int*)calloc(1000000,sizeof(int));
    b=(int*)calloc(10,sizeof(int));
    scanf("%d",&k);
    c=a;
    d=b;
    for(i=0;i<k;i++)
    {
    	int sum=0;
    	scanf("%d%d",&n,&m);
    	for(j=0;j<n*m;j++)
    	scanf("%d",c+j);
    	for(j=0;j<m;j++)
    	sum+=*(c+j);
    	for(j=m*(n-1);j<n*m;j++)
    	sum+=*(c+j);
    	for(j=m;j<(n-1)*m;)
    	{
    		sum+=*(c+j);
    		j+=m;
    	}
    	for(j=m+m-1;j<(n-1)*m;)
    	{
    		sum+=*(c+j);
    		j+=m;
    	}
    	*(d++)=sum;
    }
    for(d=b;d<b+k;d++)
    {
    	printf("%d",*d);
    	printf("\n");
    }
    free(a);
    free(b);
}
int main() {
	int k, i;
	cin >> k;
	for (i = 0; i < k; i++) {
		int m, n, s, t, sum = 0, matrix[100][100];
		cin >> m >> n;
		for (s = 0; s < m; s++) //????
			for (t = 0; t < n; t++)
				cin >> *(*(matrix + s) + t);
		for (s = 0; s < n; s++) //??????
			sum += *(*(matrix + 0) + s) + *(*(matrix + m - 1) + s);
		for (s = 1; s < m - 1; s++) //??????
			sum += *(*(matrix + s) + 0) + *(*(matrix + s) + n - 1);
		if (m == 1 || n == 1) //???????????
			sum /= 2;
		cout << sum << endl;
	}
	return 0;
}
int main()
{
    int N,**p,i,j,sum,m,n,l;
    scanf("%d",&N);
    for(l=0,sum=0;l<N;l++)
    {
        scanf("%d %d",&m,&n);
        p=(int**)malloc(m*sizeof(int*));
        for(i=0;i<m;i++)
        *(p+i)=(int*)malloc(n*sizeof(int));
        for(i=0;i<m;i++)
          for(j=0;j<n;j++)
            {
                scanf("%d",*(p+i)+j);
                if(i==0||j==0||i==m-1||j==n-1)
                sum+=*(*(p+i)+j);
            }
            printf("%d\n",sum);
            sum=0;
    }
}
void main()
{
	void sum();
	int k,i;
	scanf("%d",&k);
	for(i=0;i<k;i++){
		sum();
	}

}
void sum()
{
	int m,n,i,j,s=0,a[101][101];
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++){
		for(j=0;j<n;j++)
			scanf("%d",&a[i][j]);
	}
	for(i=0;i<m;i++)
		s=s+a[i][0];
	for(i=0;i<m;i++)
		s=s+a[i][n-1];
	for(i=1;i<n-1;i++)
		s=s+a[0][i];
	for(i=1;i<n-1;i++)
		s=s+a[m-1][i];
	printf("%d\n",s);
}
int main()
{
	int t;
	cin>>t;
	while(t!=0)
	{
		t--;
		int m,n,i,j,sum=0;
		cin>>m>>n;
		int b[100][100];
		int *a[100][100];
		for(i=0;i<100;i++)
			for(j=0;j<100;j++)
				a[i][j]=&b[i][j];
		//cout<<"sum="<<sum;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
			{
				cin>>*(*(b+i)+j);
				//cout<<a[i][j]<<' ';
				if(i==0)
					sum=sum+**(*(a+i)+j);
				if(i==m-1)
					sum=sum+**(*(a+i)+j);
				//cout<<'*'<<sum<<'*'<<' ';
			}
		for(i=1;i<m-1;i++)
			{
			sum+=***(a+i);
			sum+=**(*(a+i)+n-1);
			}
		cout<<sum<<endl;
	}
	return 0;
}
int main()
{
	int k,n,m,sum=0,i,j,p;
	int a[100][100];
	cin>>k;
	while( k>0 )
	{
		cin>>m>>n;
		for( i=0 ; i<m ; i++ )
		{
		     for( j=0 ; j<n ; j++ )
			 {
				 cin>>a[i][j];
		     }
	    }
		if( n==1 && m==1 )
		{
			cout<<a[0][0]<<endl;
		}
		else if( n==1 && m>1 )
		{
			for( i=0 ; i<m ; i++ )
			{
				sum+=a[i][0];
			}
		    cout<<sum<<endl;
		    sum=0;
		}
		else if( n>1 && m==1 )
		{
			for( j=0 ; j<n ; j++ )
			{
				sum+=a[0][j];
			}
			cout<<sum<<endl;
			sum=0;
		}
		else
		{
			for( i=0 ; i<m ;i++ )
			{
				sum+=a[i][0]+a[i][n-1];
			}
		    for( j=0 ; j<n ; j++ )
		    {
			    sum+=a[0][j]+a[m-1][j];
		    }
			sum-=a[0][0]+a[0][n-1]+a[m-1][0]+a[m-1][n-1];
		    cout<<sum<<endl;
		}
		sum=0;
		k--;
	}
}
const int M = 100 + 10;
const int N = 100 + 10;
int mat[M][N];
int main(void) {
	int cases, i, j, ans, m, n;
	scanf("%d", &cases);
	while (cases--) {
		ans = 0;
		scanf("%d%d", &m, &n);
		for (i = 0; i < m; ++i) {
			for (j = 0; j < n; ++j) {
				scanf("%d", mat[i] + j);
			}
		}
		if (m == 0 || n == 0) {
			printf("%d\n", 0);
			continue;
		}
		if (m == 1) {
			for (i = 0; i < n; ++i) {
				ans += mat[0][i];
			}
			printf("%d\n", ans);
			continue;
		} else if (n == 1) {
			for (i = 0; i < m; ++i) {
				ans += mat[i][0];
			}
			printf("%d\n", ans);
			continue;
		}

		for (i = 0; i < n; ++i) {
			ans += mat[0][i];
			ans += mat[m - 1][i];
		}
		for (i = 0; i < m; ++i) {
			ans += mat[i][0];
			ans += mat[i][n - 1];
		}
		ans -= (mat[0][0] + mat[0][n - 1] + mat[m - 1][0] + mat[m - 1][n - 1]);
		printf("%d\n", ans);
	}
	return 0;
}
int main()
{
	int n;
	scanf("%d",&n);
	int i = 1;
	for(i;i<=n;i++)
	{
		int p,q;
		scanf("%d %d",&p,&q);
		int a[10000];
for(int j = 0;j<p*q;j++)
scanf("%d",&a[j]);
		int sum = 0;
		int m=0;
		while(m<q)
		{
			sum = sum + a[m];
			m++;
		}
		m = (p - 1) * q ;
		while(m<p*q)
		{
			sum = sum + a[m];
			m++;
		}
		m = 1;
		while(m<p-1)
		{
			sum = sum + a[q*m];
			m++;
		}
		m = 2;
		while(m<p)
		{
			sum = sum +a[q*m-1];
			m++;
		}
		printf("%d\n",sum);
	}
	return 0;
}
int main()
{
	int n,i,j,k,h,l,y;
	int *p=NULL;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		y=0;
		int x[101][101]={0};		
		cin>>h>>l;
		for(j=1;j<=h;j++)
		{
			for(k=1;k<=l;k++)
			{
				cin>>x[j][k];
			}
		}
		

		for(p=x[1]+1;p<=x[1]+l;p++)
		{
			y=y+(*p);
			
		}
		
		for(p=x[2]+1;p<=x[h-1]+1;p=p+101)
		{
			y=y+(*p)+(*(p+l-1));
		}
		
		for(p=x[h]+1;p<=x[h]+l;p++)
		{
			y=y+(*p);
		}
		cout<<y<<endl;


	}

	return 0;
}
void main()
{
	int i, n, r, s, a[100][100], j, k=1, sum;
	scanf("%d",&n);
	while(k<=n)
	{
		scanf("%d %d",&r,&s);
		sum=0;
		for(i=0; i<r; i++)
		{
			for(j=0; j<s; j++)
				scanf("%d",*(a+i)+j);
		}
		if(r==1)
		{
			for(i=0; i<s; i++)
				sum += *(*(a+0)+i);
		}
		else if(s==1)
		{
			for(i=0; i<r; i++)
				sum += *(*(a+i)+0);
		}
		else
		{
			for(i=0, j=0; j<s-1; j++)
				sum += *(*(a+i)+j);
			for(i=0, j=s-1; i<r-1; i++)
				sum += *(*(a+i)+j);
			for(i=r-1 ; j>0; j--)
				sum += *(*(a+i)+j);
			for(j=0; i>0; i--)
				sum += *(*(a+i)+j);
		}
		printf("%d\n",sum);
		k++;
	}
}
int main()
{
	int i,j,u,k,m[100],n[100],g[100][100][100],num=0;    //?????????
	int *p,(*q)[100];                           //???????????
	cin>>k;                                                               
	for(i=1;i<=k;i++)
	{	
		cin>>m[i]>>n[i];                  //????????????
		for(j=0;j<m[i];j++)
			for(u=0;u<n[i];u++)
				cin>>g[i][j][u];            //?????
	}
	for(i=1;i<=k;i++)
	{
		num=0;
    	for(p=&g[i][0][0];p<=&g[i][0][n[i]-1];p++)  //??????
    		num=num+(*p);
    	for(p=&g[i][m[i]-1][0];p<=&g[i][m[i]-1][n[i]-1];p++) //???????
			num=num+(*p);
		for(q=&g[i][1];q<=&g[i][m[i]-2];q++)  //???????
			num=num+(*(*q));
		for(q=&g[i][1];q<=&g[i][m[i]-2];q++)  //????????
			num=num+(*(*q+n[i]-1));
		cout<<num<<endl;
	}
	return 0;
}
/*
 * EdgeSum.cpp
 *
 *  Created on: 2012-12-12
 *  Author: ??
 *  ?????????????
 */


int main()
{
	int k , m , n , a[110][110] , sum = 0;
	cin >> k ;
	for( int t = 0 ; t < k ; t++ )
	{
		sum = 0 ;
		cin >> m >> n ;
		for( int i = 0 ; i < m ; i++ )
			for( int j = 0 ; j < n ; j++ )
				cin >> *( *(a+i) + j ) ;    //????
		if( m == 1 )
		{
			for( int i = 0 ; i < n ; i++ )
			sum += *(*(a)+i) ;
			cout << sum << endl ;
			continue ;
		}
		if( n == 1 )
		{
			for( int i = 0 ; i < m ; i++ )
				sum += *(*(a) + i ) ;
			cout << sum << endl ;
			continue ;
		}
		for( int i = 0 ; i < n ; i++ )
			sum = sum + *( *(a) + i ) + *( *( a + m - 1) + i ) ;    //??????
		for( int i = 0 ; i < m ; i++ )
			sum = sum + *( *(a+i) ) + *( *(a + i ) + n - 1 ) ;         //??????
		cout << sum - *(*(a)) - *(*(a)+n-1) - *(*(a+m-1)) - *(*(a+m-1)+ n-1) << endl ;  //???????????????
	}
	return 0 ;
}
int main (){
   int rie,k,i;
   int ROW,COL;
   int row,col;
   int sz[100][100]={0};
   int sum[100];
   
   scanf("%d",&k);

   for(i=1;i<=k;i++){
      scanf("%d%d",&ROW,&COL);
      for(row=0;row<ROW;row++){
         for(col=0;col<COL;col++){
             scanf("%d",&(sz[row][col]));
         }
      }
      rie=0;
      for(col=0;col<=COL-1;col++){
                 rie+=sz[0][col];
      }for(row=1;row<=ROW-1;row++){
                 rie+=sz[row][COL-1];
      }for(col=COL-2;col>=0;col--){
                 rie+=sz[ROW-1][col];
      }for(row=ROW-2;row>=1;row--){
                 rie+=sz[row][0];
      }sum[i]=rie;
   }
  
    for(i=1;i<=k;i++){     
       printf("%d\n",sum[i]);
    }
	return 0;
}
int main()
{
	int i=0,j=0,k=0,shuzu[100][100],hang=0,lie=0,zu=0,sum=0;
	scanf("%d",&zu);
	for(i=0;i<zu;i++)
	{
		scanf("%d%d",&hang,&lie);
		sum=0;
		for(j=0;j<hang;j++)
		{
			for(k=0;k<lie;k++)
			{
				scanf("%d",&shuzu[j][k]);
			}
		}
		for(k=0;k<lie;k++)
		{
			sum=sum+shuzu[0][k];
		}
		if(hang>1)
		{
			for(k=0;k<lie;k++)
			{
				sum=sum+shuzu[hang-1][k];
			}
		}
		if(hang>2)
		{
			for(k=1;k<hang-1;k++)
			{
				sum=sum+shuzu[k][0];
			}
		}
		if(lie>1&&hang>2)
		{
			for(k=1;k<hang-1;k++)
			{
				sum=sum+shuzu[k][lie-1];
			}
		}
		printf("%d\n",sum);
	
	}
	return 0;
}
void mk(void)
{
	int m,n,i,j,k,s=0;
	int a[100][100];
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	for(j=0;j<n;j++)
	{
		scanf("%d",&a[i][j]);
	}
	
	for(i=0;i<n;i++)
	{ 
		s+=a[0][i];
	}
	for(j=1;j<m;j++)
	{
		s+=a[j][n-1];
	}
    if(m!=1)
	for(k=n-2;k>=0;k--)
	{
		
		s+=a[m-1][k];
	}
    if(n!=1)
	for(i=m-2;i>0;i--)
	{
		s+=a[i][0];
	}
	printf("%d\n",s);
}



int main()
{
	int p,q,i;
	scanf("%d",&p);
	for(q=0;q<p;q++)
	{
		mk();
	}
	return 0;
}
//********************************************************
//*  ???1000012846_2.cpp  *****************************
//*  ??:??  ******************************************
//*  ?????2010?12?  *******************************
//*  ???????????????  *********************
//********************************************************
int main()
{
	int n,p,q,a[100][100],i,j,k;
	cin>>n;
	for(i=0;i<n;i++)
	{
		int total=0;
		cin>>p>>q;
		for(j=0;j<p;j++)
			for(k=0;k<q;k++)
				cin>>a[j][k];
		for(int h=0;h<q;h++)
		{
			total+=*(*a+h);
			total+=*(*(a+p-1)+h);
		}
		for(int g=0;g<p;g++)
		{
			total+=**(a+g);
			total+=*(*(a+g)+q-1);
		}
		total-=**a;
		total-=*(*a+q-1);
		total-=**(a+p-1);
		total-=*(*(a+p-1)+q-1);
		cout<<total<<endl;
	}
		return 0;
}
int main()
{
	int p,m,n,i,j,k,a[100][100],sum;
	scanf("%d",&p);
	for(i=0;i<p;i++)
	{
		scanf("%d %d",&m,&n);
		sum=0;
		for(j=1;j<=m;j++)
			for(k=1;k<=n;k++)
				scanf("%d",&a[j][k]);
	   if(m==1 && n==1)
	   {
			printf("%d\n",a[1][1]);
			break;
	   }
		for(k=1;k<=n;k++)
			sum+=a[1][k]+a[m][k];
		for(j=1;j<=m;j++)
			sum+=a[j][1]+a[j][n];
		sum-=a[1][1]+a[1][n]+a[m][1]+a[m][n];
		printf("%d\n",sum);
	}
	return 0;
}
/*
 * ?????????????? .cpp
 * ?????
 * ????: 2012-12-10
 * ?????????????
 */
int main(){															//?????
	int a[105][105]={0},n=0,row=0,col=0,i=0,j=0,*p=NULL,sum=0;		//??????????
	cin>>n;															//??n
	while(n--){														//?n??????????
		cin>>row>>col;												//?????
		for(i=0;i<row;i++){											//????
			for(j=0;j<col;j++){
				cin>>a[i][j];
			}
		}
		for(p=&a[0][0];p<&a[0][0]+col;p++){							//?????
			sum=sum+*p;
		}
		for(i=1;i<row-1;i++){						//???????????????????????
			sum=sum+a[i][0]+a[i][col-1];
		}
		if(row>1){
			for(p=&a[row-1][0];p<&a[row-1][0]+col;p++){					//?????
				sum=sum+*p;
			}
		}
		cout<<sum<<endl;											//????
		sum=0;														//??
	}
	return 0;
}																	//?????
int main()
{
	int k;//k??????
	cin>>k;
	int m,n;//m???,n???
	int a[110][110];//????????
	for(int i=0;i<k;i++)
	{
		int sum=0;
		cin>>m>>n;
		if(m>1&&n>1)
		{
			for(int t1=0;t1<m;t1++)
		    {
				for(int t2=0;t2<n;t2++)
				cin>>*(*(a+t1)+t2);//??????
		    }
		    for(int k1=0;k1<n;k1++)
			     sum=sum+*(*(a+0)+k1);//??????
		    for(int k2=0;k2<n;k2++)
			     sum=sum+*(*(a+m-1)+k2);//??m???
		    for(int k3=0;k3<m;k3++)
			     sum=sum+*(*(a+k3)+0);//??1???
		    for(int k4=0;k4<m;k4++)
			     sum=sum+*(*(a+k4)+n-1);//??n???
		   sum=sum-*(*(a+0)+0)-*(*(a+m-1)+n-1)-*(*(a+0)+n-1)-*(*(a+m-1)+0);//????????????
		   cout<<sum<<endl;}
		else if(m==1&&n==1)
		{	
			cin>>sum;
		    cout<<sum<<endl;
		}//?????
		else if(m==1&&n>1)
		{
			for(int p1=0;p1<n;p1++)
			{
				cin>>*(*(a+0)+p1);
				sum=sum+*(*(a+0)+p1);
			}
			cout<<sum<<endl;
		}//??1?
		else if(m>1&&n==1)
		{
			for(int p2=0;p2<m;p2++)
			{
				cin>>*(*(a+p2)+0);
				sum=sum+*(*(a+p2)+0);
			}
			cout<<sum<<endl;
		}//??1?
	}
	return 0;
}
int main()
{
	int k,n,m,num[100][100],sum;
	cin>>k;
	cout<<endl;
	for(int a=0;a<k;a++)
		{   cin>>m>>n;
	          sum=0;
			for(int i=0;i<m;i++)
	       {
		       for(int j=0;j<n;j++)
		          { cin>>num[i][j];
			        cout<<" ";
			   if(i==0||i==m-1||j==0||j==n-1)
			   { sum+=num[i][j];}
			   }
			   cout<<endl;
			}
			cout<<sum<<endl;
	}
			return 0;
}
int main(){
    int k,n[1000],m[1000],a,b,c,s[100][100],x[1000];
    scanf("%d",&k);
    for(a=0;a<k;a++){
        scanf("%d %d",&m[a],&n[a]);
        for(b=0;b<m[a];b++){
            for(c=0;c<n[a];c++){
                scanf("%d",&s[b][c]);
            }
        }
        x[a]=0;
            for(c=0;c<n[a];c++){
                if(m[a]>1){
            x[a]=x[a]+s[0][c]+s[m[a]-1][c];
        }else{
            x[a]=x[a]+s[0][c];
        }
            }
       if(m[a]>2){
       if(n[a]>1){for(b=1;b<m[a]-1;b++){
            x[a]=x[a]+s[b][0]+s[b][n[a]-1];
        }
       }else{
           x[a]=x[a]+s[b][0];
       }
       }
        printf("%d\n",x[a]);
    }
    return 0;
}
/*
 * linofjuz.cpp
 *
 *  Created on: 2011-12-25
 *      Author: Administrator
 */

int main()
{
	int n;int a,b;
	int juzhen[100][100];
	cin>>n;
	for(int m=1;m<=n;m++)
	{
		cin>>a>>b;
		for(int i=0;i<a;i++)
			for(int j=0;j<b;j++)
				cin>>*(*(juzhen+i)+j);
		int s=0;
		for(int i=0;i<b;i++)
		{
			s=juzhen[0][i]+s;
			s=juzhen[a-1][i]+s;
		}
		for(int j=1;j<a-1;j++)
		{
			s=juzhen[j][0]+s;
			s=juzhen[j][b-1]+s;
		}
		cout<<s<<endl;
	}
}
int main()
{
	int k,m,n,i,j,p,total;
	int a[110][110]={0};
	cin >>k;
	for (p=1;p<=k;p++)
	{
		cin >>m>>n;
		total=0;
		for (i=1;i<=m;i++)
			for (j=1;j<=n;j++)
			{
				cin >>*(*(a+i)+j);//??
				if ((i==1)||(i==m))
					total=total+*(*(a+i)+j);
				//??????????????
			}
       for (i=2;i<m;i++)
		   total=total+*(*(a+i)+1)+*(*(a+i)+n);//?????????????
	   cout <<total<<endl;//??
	}
	
	return 0;
}
/*
 * homework3.cpp
 *
 *  Created on: 2012-12-4
 *      Author: Lixurong
 */


int main()
{
	int k;
	cin >> k;
	for( int i=0; i<k; i++ )
	{
		int m, n;
		cin >> m >> n;
		int a[m][n];
		for( int i=0; i<m; i++ )
		{
			for( int j=0; j<n; j++ )
			{
				cin >> a[i][j];
			}
		}
		int s=0;
		for( int i=0; i<n; i++ )
		{
			s+=*(*(a)+i);
		}
		if(m>1)
		for( int i=0; i<n; i++ )
				{
					s+=*(*(a+m-1)+i);
				}
		for( int i=1; i<m-1; i++ )
		{
			s+=*(*(a+i)+0);
		}
		for( int i=1; i<m-1; i++ )
				{
					s+=*(*(a+i)+n-1);
				}
		cout << s;
		if( i!=k-1 )
			cout << endl;
	}
	return 0;
}
int main()
{
	int t,m,n,i,j,sum;
	int a[101][101];
	cin>>t;
	for(;t>0;t--)
	{
		cin>>m>>n;
		sum=0;//????
		for(i=0;i<m;i++)
			for(j=0;j<n;j++) cin>>*(*(a+i)+j);//????
		for(i=0;i<m;i++) sum+=*(*(a+i));//???
		for(i=0;i<m;i++) sum+=*(*(a+i)+n-1);//????
		for(j=1;j<n-1;j++) sum+=*(*(a)+j);//???
		for(j=1;j<n-1;j++) sum+=*(*(a+m-1)+j);//????
		cout<<sum<<endl;
	}
	return 0;
}
int main ()
{
	int k, m, n, i, j, sum, matrix[100][100];
	scanf("%d", &k);
	while(k>0) {
		k--;
		sum=0;
		scanf("%d%d", &m, &n);
		for(i=0; i<m; i++) {
			for(j=0; j<n; j++)
				scanf("%d", *(matrix+i)+j);
		}
		if (m==1&&n==1)
			printf("%d\n", **matrix);
		else if (m==1) {
			for (i=0; i<n; i++)
				sum+=*(*matrix+i);
			printf("%d\n", sum);
		}
		else if (n==1) {
			for (i=0; i<m; i++)
				sum+=**(matrix+i);
			printf("%d\n", sum);
		}
		else {
			for (i=0; i<n; i++)
				sum+=*(*matrix+i);
			for (i=0; i<n; i++)
				sum+=*(*(matrix+m-1)+i);
			for (i=1; i<m-1; i++)
				sum+=(**(matrix+i)+*(*(matrix+i)+n-1));
			printf("%d\n", sum);
		}
	}
	return 0;
}
int main()
{
	int k, m, n, a[101][101], i, j, t, sum = 0;
	cin >> k;
	for (t = 1; t <= k; t++)
	{
		cin >> m >> n;
		if (m == 1 && n == 1)
		{
			cin >> a[1][1];
			cout << a[1][1] << endl;
		}
		else
		{
		for (i = 1; i <= m; i++)
			for (j = 1; j <= n; j++)
			{
				cin >> a[i][j];
			}
		for (j = 1; j <= n; j++)
		{
			sum += a[1][j] + a[m][j];
		}
		for (i = 1; i <= m; i++)
		{
			sum += a[i][1] + a[i][n];
		}
		sum = sum - a[1][1] - a[1][n] - a[m][1] - a[m][n];
		cout << sum << endl;
		}
		int a[101][101] = {0};
		sum = 0;
	}
	return 0;
}
int main()
{
	int sum[100]={0},i,j,k,h,a[100],b[100],juzhen[100][100];
	scanf("%d",&k);
	for(h=0;h<k;h++)
	{
		scanf("%d%d",&(a[h]),&(b[h]));
		for(i=0;i<a[h];i++)
		{
			for(j=0;j<b[h];j++)
			{
				scanf("%d",&(juzhen[i][j]));
			}
		}
		for(i=0;i<a[h];i++)
		{
			sum[h]=sum[h]+juzhen[i][0]+juzhen[i][b[h]-1];
		}
		for(j=1;j<b[h]-1;j++)
		{
			sum[h]=sum[h]+juzhen[0][j]+juzhen[a[h]-1][j];
		}
	}
	for(h=0;h<k;h++)
	{
		printf("%d\n",sum[h]);
	}
	return 0;
}
//#include <malloc.h>
int main()
{
	int a[100][100],m,n,i,j,k,sum=0;
	scanf("%d",&k);
	
	while(k>0)
	{
		scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
		for(j=0;j<n;j++)
			scanf("%d",&a[i][j]);
	for(j=0;j<n;j++)
		sum=sum+a[0][j]+a[m-1][j];
	for(i=1;i<m-1;i++)
		sum=sum+a[i][0]+a[i][n-1];
	printf("%d\n",sum);
	sum=0;
	k--;
	}
	return 0;
}
int main()
{
	int a[100][100],m,n,k;
	cin>>k;
	int i=0,j=0,h=0;
	for(i=0;i<k;i++)
	{
		int b=0;
		cin>>m>>n;
		for(j=0;j<m;j++)
			for(h=0;h<n;h++)
				cin>>*(*(a+j)+h);
		for(j=0;j<m;j++)
			b=b+**(a+j);
		for(j=1;j<n;j++)
			b=b+*(*a+j);
		for(j=1;j<m;j++)
			b=b+*(*(a+j)+n-1);
		for(j=1;j<n-1;j++)
			b=b+*(*(a+m-1)+j);
		cout<<b<<endl;

	}
	return 0;

}
int main()
{
	int n,ROW[100],COL[100],row,col,a[100][100],s=0,i;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d%d",&ROW[i],&COL[i]);
	
		for(row=0;row<ROW[i];row++){
			for(col=0;col<COL[i];col++){
			scanf("%d",&a[row][col]);
			}
		}

	
		for(col=0;col<COL[i];col++){
			s=s+a[0][col]+a[ROW[i]-1][col];
		}
		for(row=1;row<ROW[i]-1;row++){
			s=s+a[row][0]+a[row][COL[i]-1];
		}
		printf("%d\n",s);
		s=0;
	}
	
	return 0;
}
int main()
{
    int group=0;
    int row=0,col=0;
    int a[101][101];
    int (*p)[101];
    int i,j,sum=0;
    p=a;
    cin>>group;
    while(group--)
    {
        cin>>row>>col;
        for(i=0;i<row;i++)//??
            for(j=0;j<col;j++)
                cin>>*(*(p+i)+j);
        sum=0;
        if(row==1&&col==1)  sum=**p;//????
        else
        {
            for(i=0;i<col;i++)//??????????
                {sum+=*(*p+i);  if(row>1)   sum+=*(*(p+row-1)+i);}
            for(i=1;i<=row-2;i++)//????????????
                {sum+=*(*(p+i));  if(col>1)   sum+=*(*(p+i)+col-1);}
        }
        cout<<sum<<endl;

    }
}
int main()
{   int k,x,i,j,sum;
    int m,n;
	int a[100][100],b[100];
	scanf("%d",&k);
	for(x=0;x<k;x++){
		sum=0;
        scanf("%d %d",&m,&n);
		if((m>=3)&(n>=3))
		{
		for(i=0;i<m;i++){
			for(j=0;j<n;j++){
				scanf("%d",&a[i][j]);}
		}
		for(i=0;i<m;i++){sum+=a[i][0];}
		for(i=0;i<m;i++){sum+=a[i][n-1];}
		for(j=0;j<n;j++){sum+=a[0][j];}
		for(j=0;j<n;j++){sum+=a[m-1][j];}
		sum=sum-a[0][0]-a[m-1][0]-a[0][n-1]-a[m-1][n-1];
		b[x]=sum;
	    }
	    else
		{for(i=0;i<m;i++){
		     for(j=0;j<n;j++)
			 {scanf("%d",&a[i][j]);
sum=sum+a[i][j];}
		}
		 b[x]=sum;
	    }
	}
	for(x=0;x<k;x++)
		printf("%d\n",b[x]);
	return 0;
}
int main()
{
	int k=0,m=0,n=0,a[500][500]={0},(*p)[500];
	cin>>k;
	int i=0,j=0;
	p = a;
	for(int l=0;l<k;l++)
	{
		cin>>m>>n;
		for(i=0;i<m;i++)
		{
			for(j=0;j<n;j++)
			{
				cin>>*(*(p+i)+j);
			}
		}
		int result=0;
		p=a;
		for(i=0;i<m;i++)
			result=result+*(*(p+i));
		p=a;
		for(i=0;i<m && n != 1;i++)
			result=result+*(*(p+i)+n-1);
		p=a+m-1;
		for(i=1;i<n-1;i++)
			result=result+*(*p+i);
		p=a;
		for(i=1;i<n-1;i++)
			result=result+*(*p+i);
		cout<<result<<endl;
	}
	
	return 0;
}