semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int k,row,q,col,i,j,*a,*num;
	scanf("%d",&k);
    num=(int*)malloc(k*sizeof(int));
	for(q=0;q<k;q++)
	{
		int sum=0;
		scanf("%d %d",&row,&col);
		a=(int*)malloc(row*col*sizeof(int));
		for(i=0;i<row;i++)
			for(j=0;j<col;j++)
			{
				scanf("%d",a+i*col+j);
				if(i==0||j==0||i==row-1||j==col-1)sum=sum+*(a+i*col+j);
			}
        *(num+q)=sum;
		free(a);
	}
    for(q=0;q<k;q++)
		printf("%d\n",*(num+q));
	free(num);
}
int main()
{
	int k;
	cin>>k;
	while(k--)
	{

		int array[100][100];
		int m,n;
		cin>>m>>n;
		for(int i=0;i!=m;i++)
			for(int j=0;j!=n;j++)
				cin>>array[i][j];
		int sum=0;
		if(m==1&&n==1)
			sum=array[0][0];
		else
		{
			for(int k=0;k!=n-1;k++)
				sum+=array[0][k];
			for(int k=0;k!=m-1;k++)
				sum+=array[k][n-1];
			for(int k=n-1;k!=0;k--)
				sum+=array[m-1][k];
			for(int k=m-1;k!=0;k--)
				sum+=array[k][0];
		}
		cout<<sum<<endl;


	}
	return 0;
}
int main()
{
    int i,k,row,col,ROW,sz[100][100],COL,sum[100];
    scanf("%d", &k);
    for(i=0;i<k;i++)
    {
                    sum[i]=0;
                    }
    for(i=0;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]);
                                              }
                                              }
                    if(ROW==1&&COL==1)
                    {
                                      sum[i]=sum[i]+sz[0][0];
                                      }
                     else   
                     {                       
                     for(col=0;col<COL;col++)
                     {
                                             sum[i]=sum[i]+sz[0][col]+sz[ROW-1][col]; 
                     }
                     for(row=1;row<(ROW-1);row++)
                     {
                                                 sum[i]=sum[i]+sz[row][0]+sz[row][COL-1];                         
                     }
                     }
    
    }
    for(i=0;i<k;i++)
    {
    printf("%d\n", sum[i]);
    }
scanf("%d", &k);
return 0;
}
void juzhen(int m,int n)
{
	int a[100][100];
	int i,j,sum=0;
	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)+j)+*(*(a+m-1)+j);
	}
	for(i=1;i<m-1;i++)
	{
		sum=sum+*(*(a+i)+0)+*(*(a+i)+n-1);
	}
	if(m==1)
	{
		sum=0;
		for(i=0;i<n;i++)
			sum=sum+*(*a+i);
	}
	if(n==1)
	{
		sum=0;
		for(i=0;i<m;i++)
			sum=sum+*(*(a+i)+0);
	}
	printf("%d\n",sum);
}
int main()
{
	int k,i,m,n;
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		scanf("%d %d",&m,&n);
		juzhen(m,n);
	}
}
void main()
{
	void juzhen();
	int i,k;
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		juzhen();
	}
}

void juzhen()
{
	int m,n,i=0,j=0,f=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(j=0;j<n;j++)
	{
		f=f+a[0][j]+a[m-1][j];
	}
	for(i=1;i<m-1;i++)
	{
		f=f+a[i][0]+a[i][n-1];
	}
	printf("%d\n",f);
}
int main(){
    int k,m,n,a,b,i;
    int h,s,t,p;
    int sz[100][100],result[100];
    scanf("%d",&k);
    for(i=0;i<k;i++){
        scanf("%d %d",&n,&m);
        for(a=0;a<n;a++){
            for(b=0;b<m;b++){
                scanf("%d",&sz[a][b]);
            }
        }
        h=0,s=0,t=0,p=0;
        for(b=0;b<m;b++){
            h=h+sz[0][b];
            if(n>1){
            s=s+sz[n-1][b];
            }
        }
        for(a=1;a<n-1;a++){
            t=t+sz[a][0];
            if(m>1){
            p=p+sz[a][m-1];
            }
        }
        result[i]=h+s+t+p;
    }
    for(i=0;i<k;i++){
        printf("%d\n",result[i]);
    }
    return 0;
}
int main()
{    int n,k,m,i,j,t,s;
     int a[100][100];
     scanf("%d",&k);
     for(t=0;t<k;t++){
		 scanf("%d %d",&m,&n);
		 s=0;
		 for(i=0;i<m;i++){
		   for(j=0;j<n;j++){
                     scanf("%d",&a[i][j]);
		   if(i==0||i==m-1){
		   s=s+a[i][j];}
		   if((j==0||j==n-1)&&i!=0&&i!=m-1){
		   s=s+a[i][j];}
		   }
		 }
    printf("%d\n",s);
}
	return 0;
}
int main()
{
	int k;
	scanf("%d",&k);
	int m[100],n[100],he[100];
	int a[100][100];
	int i,j,l,total;
	
	for(i=0;i<k;i++){
		scanf("%d%d",&m[i],&n[i]);
		for(j=0;j<m[i];j++){
			for(l=0;l<n[i];l++){
				scanf("%d",&a[j][l]);
			}
		}
		total=0;
		for(l=0;l<n[i];l++){
			total=total+a[0][l]+a[m[i]-1][l];
		}
		for(j=1;j<m[i]-1;j++){
			total=total+a[j][0]+a[j][n[i]-1];
		}
		he[i]=total;
	}

	for(i=0;i<k-1;i++){
		printf("%d\n",he[i]);
	}
	printf("%d",he[k-1]);
		

			

	return 0;
}
sum(int *x[],int m,int n)
{
	int z=0,i;
	for(i=0;i<n;i++)
		z=z+*(x[0]+i)+*(x[m-1]+i);
	for(i=1;i<m-1;i++)
		z=z+*(x[i])+*(x[i]+n-1);
	return (z);
}
main()
{
	int k,i,j,m,n,z,l;
	int *a[100];
	scanf("%d",&k);
	for(l=0;l<k;l++)
	{
		scanf("%d %d",&m,&n);
		for(i=0;i<m;i++)
			a[i]=(int*)malloc(n*sizeof(int));
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				scanf("%d",a[i]+j);
		z=sum(a,m,n);
		printf("%d\n",z);
	}
}
int main()
{
	int i,j,k,r,c,n;
	int s[100][100];
	int sum[100];
	int sumr,sumc;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		sum[i]=0;
		sumr=0;
		sumc=0;
		scanf("%d %d",&r,&c);
		for(j=0;j<r;j++)
			for(k=0;k<c;k++)
				scanf("%d",&s[j][k]);
			if(r!=1&&c!=1)
			{
			for(k=0;k<c;k++)
			sumr+=s[0][k]+s[r-1][k];
			for(j=0;j<r;j++)
				sumc+=s[j][0]+s[j][c-1];
			sum[i]=sumr+sumc-s[0][0]-s[0][c-1]-s[r-1][0]-s[r-1][c-1];
			}
		 if(r==1&&c!=1)
				for(k=0;k<c;k++)sum[i]+=s[0][k];
				if(c==1&&r!=1)
					for(j=0;j<r;j++)sum[i]+=s[j][0];
					if(c==1&&r==1)sum[i]=s[0][0];
	}
	      for(i=0;i<n;i++)
		printf("%d\n",sum[i]);
			return 0;
}
int main()
{
	int a[100][100]={0};
	int n,i,j,i1,j1,i2,i3,j3,p=0,q=0,sum=0;
	scanf("%d",&n);
	for(i2=0;i2<=n-1;i2++)
	{
		scanf("%d %d",&i,&j);
		for(i1=0;i1<=i-1;i1++)
		{
			for(j1=0;j1<=j-1;j1++)
			{
				scanf("%d",&a[i1][j1]);
			}
		}
		for(i3=0;i3<=j-1;i3++)
		{
			sum=sum+a[0][i3]+a[i-1][i3];
		}
		for(j3=0;j3<=i-1;j3++)
		{
			sum=sum+a[j3][0]+a[j3][j-1];
		}
		sum=sum-a[0][j-1]-a[i-1][0]-a[i-1][j-1]-a[0][0];
		printf("%d\n",sum);
		sum=0;
		for(i1=0;i1<=i-1;i1++)
		{
			for(j1=0;j1<=j-1;j1++)
			{
				a[i1][j1]=0;
			}
		}

	}
	return 0;
}
int main(){
	int k;
	cin>>k;
	while(k--){
		int m,n,i,j;
		int a[100][100];
		cin>>m>>n;
		for(i=0;i<m;i++)//??
			for(j=0;j<n;j++)
				cin>>a[i][j];
		int sum=0;
		for(j=0;j<n;j++){//??????????
			sum+=a[0][j];
			sum+=a[m-1][j];
		}
		i=1;
		while(i<m-1){//?????
           sum+=a[i][0];
           sum+=a[i][n-1];
           i++;
		}
		cout<<sum<<endl;
	}
}
int main(){
	int array[200][200];
	int *p[200];
	for (int i=0;i<=200;i++)
		p[i]=array[i];
	int k=0;
	cin >> k;
	for (int i=0;i<k;i++){
		int m=0,n=0,sum=0;
		cin >> m >> n;
		for (int j=0;j<m;j++)
			for (int l=0;l<n;l++){
				cin >> p[j][l];
				if (j==0||l==0||j==m-1||l==n-1)
					sum+=p[j][l];
			}
		cout << sum << endl;
	}
	return 0;
}
int main()
{
	int i,j,k,l,s[100][100],n[100],m[100],num[100];
	int num1[100]={0};
	int num2[100]={0};
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		scanf("%d %d",&n[i],&m[i]);
		for(j=0;j<n[i];j++)
		{
			for(l=0;l<m[i];l++)
			{
				scanf("%d",&s[j][l]);
				num1[i]+=s[j][l];
			}
		}
		for(j=1;j<n[i]-1;j++)
		{
			for(l=1;l<m[i]-1;l++)
			{
				num2[i]+=s[j][l];
			}
		}
		num[i]=num1[i]-num2[i];

	}
	for(i=0;i<k;i++)
	{
		printf("%d\n",num[i]);
	}




return 0;
}
int main()
{
	int k;
	int m,n,i,j,l,sum1=0,sum=0;
	int a[100][100];
	
	cin>>k;
	for(l=1;l<=k;l++)
	{
		cin>>m>>n;
		int (*p)[100];
		p=a;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
		{
			cin>>*(*(p+i)+j);
			sum=sum+*(*(p+i)+j);
		}
		for(i=1;i<m-1;i++)
			for(j=1;j<n-1;j++)
			{
				sum1=sum1+*(*(p+i)+j);
			}

        sum=sum-sum1;
		cout<<sum<<endl;
		sum=sum1=0;
	}
}
int main(int argc, char* argv[])
{
	int n;
	int p;
	int q;
	int i , j , k;
	scanf("%d" , &n);
	for(i = 0 ; i < n ; i++)
	{
		int sum = 0;
		int num;
		scanf("%d" , &p);
		scanf("%d" , &q);
		if(p == 1 && q == 1)
		{
			scanf("%d" , &num);
			printf("%d" , num);
			break;
		}
		for(j = 0 ; j < q ; j++)
		{
			scanf("%d" , &num);
			sum += num;
		}
		for(j = 1 ; j < p-1 ; j++)
		{
			for(k = 0 ; k < q ; k++)
			{
				scanf("%d" , &num);
				if(k == 0 || k == q-1)
				{
					sum += num;
				}
			}
		}
		for(j = 0 ; j < q ; j++)
		{
			scanf("%d" , &num);
			sum += num;
		}
		printf("%d\n" , sum);
	}
	


	return 0;
}
int main()
{
	int k,i,j,p,ans=0;
	int m[100],n[100];
	int r[100][100][100];
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		scanf("%d%d",&m[i],&n[i]);
		for(j=0;j<m[i];j++)
		{
			for(p=0;p<n[i];p++)
				scanf("%d",&r[i][j][p]);
		}
	}
	for(p=0;p<k;p++)
	{
	    ans=0;
		for(i=0;i<n[p];i++)
		{
	    	for(j=0;j<m[p];j++)
			{
	    		if((i==0)||(i==n[p]-1)||(j==0)||(j==m[p]-1))
	    			ans+=r[p][j][i];
				else
					continue;
			}
		}
	    printf("%d\n",ans);
	}
	return 0;
}
int main(){
	int n,N,i,j,a,b,sum=0;
	int data[M][M];
	scanf("%d",&N);
	for(n=0;n<N;n++){
		sum=0;
		scanf("%d%d",&a,&b);
		for(i=0;i<a;i++){
			for(j=0;j<b;j++){
				scanf("%d",&data[i][j]);
			}
		}
		for(i=0;i<a;i++){
			for(j=0;j<b;j++){
				if(i==0||i==a-1||j==0||j==b-1)
					sum+=data[i][j];
			}
		}
		printf("%d\n",sum);
	}
	return 0;
}
int main()
{int m,n,k,sum=0,a;
int i,j,q,b[100];
int s[100][100];
scanf("%d",&k);


for(q=1;q<=k;q++)
{scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
{scanf("%d",&s[i][j]);}
}
for(j=1;j<=n;j++)
{sum+=s[1][j];
sum+=s[m][j];
}
for(i=1;i<=m;i++)
{sum+=s[i][1];
sum+=s[i][n];
}
a=s[1][1]+s[1][n]+s[m][1]+s[m][n];
sum-=a;
b[q]=sum;
sum=0;
}
for(q=1;q<=k;q++)
{printf("%d\n",b[q]);}
return 0;
}
int main()
{
    int k, m, n, a[100][100], i, j, l, S = 0;
    cin >> k;
    for(i = 1;i <= k;i++)
    {
        cin >> m >> n;
        for(j = 0;j <= m-1;j++)
        {  
            for(l = 0;l <= n-1;l++)
            {
                cin >> a[j][l];
                if(j == 0 || j == m-1 || l == 0 || l == n-1)
                {
                    S = S + a[j][l];
                }
            }
        }
        if(i < k)
        {cout << S << '\n';}
        else
        {cout << S;}
        S = 0;
    }
}
int main()
{
    int k,i;
    cin>>k;
    for (i=0;i<k;i++)
    {
        int m,n,j,l,s=0,A[110];
        cin>>m>>n;
        for (j=0;j<m;j++)
        {
            for (l=0;l<n;l++)
               cin>>*(A+l);
            if (j==0||j==m-1)
            {
                for (l=0;l<n;l++)
                    s=s+*(A+l);
            }
            else
                s=s+*A+*(A+n-1);
        }
        cout<<s<<endl;
    }
    return 0;
}
int main(){
	int k;
	int m,n;
	int a[101][101];
	int u,i,j,sum;
	scanf("%d",&k);
	for(u=0;u<k;u++){
		sum=0;
		scanf("%d%d",&m,&n);
		for(i=0;i<m;i++){
			for(j=0;j<n;j++){
				scanf("%d",&a[i][j]);
				if((i==0)||(j==0)||(i==m-1)||j==(n-1)){
					sum+=a[i][j];
				}
			}
		}
		if(u!=k-1){
			printf("%d\n",sum);
		}
		else if(u==k-1){
			printf("%d",sum);
		}
	}

	return 0;
}
/*
????????
??????
?????2010?12?
???????????????
**/

int main()
{
	int k, m, n, sum, a[100][100], i, j;
	cin >> k;
	while(k--)
	{
		sum = 0;
		cin >> m >> n;
		int (*p)[100]; //int (*p)[100]??????a????????a?100???????a??
		p = a; //?a ??????p
		for(i = 0; i < m; i++)
			for(j = 0; j < n; j++)
				cin >> *(*(p + i) + j); //??????????
		for(i = 0; i < m; i++)
			sum = sum + **(p + i) + *(*(p + i) + n - 1); //??????????????????
		for(j = 0; j < n; j++)
			sum = sum + *(*p + j) + *(*(p + m - 1) + j); //??????????????
		sum = sum - **p - *(*p + n - 1) - **(p + m - 1) - *(*(p + m - 1) + n - 1); //????????2???????????
		cout << sum << endl;
	}
}
int init(){
	//?????
	int k,t,m,n,ans;
	cin>>k;
	while(k){
		k--;
		ans=0;
		cin>>m>>n;
		for(int i=0;i<m;i++){
			for(int j=0;j<n;j++){
				cin>>t;
				if(i==0||i==m-1||j==0||j==n-1)ans+=t;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}

int main(){
	init();
	return 0;
}
int main()
{
	int k,n,m,i,*p;
	scanf("%d",&k);
	for(i=0;i<k;i++)
	{
		scanf("%d %d",&m,&n);
		int j,sum=0;
		p=(int *)malloc(sizeof(int)*m*n);
		for(j=0;j<m*n;j++)
		{
			scanf("%d",p+j);
		    if(j<n||(j<n*m&&j>=(m-1)*n)||j%n==0||(j+1)%n==0)
				sum+=*(p+j);
		}
		printf("%d\n",sum);

	}
}
int main()
{
	int k;
	scanf("%d",&k);
    int i,j,p,q;
	int N[100][100];
	int m,n;
	int sum=0;
	for(i=1;i<=k;i++)
	{
		sum=0;
		scanf("%d%d",&m,&n);
        for(p=1;p<=m;p++){
			for(q=1;q<=n;q++){
				scanf("%d",&N[p][q]);
			}
		}
		for(j=1;j<=n;j++){
			sum+=N[1][j];
		}
		for(j=1;j<=n;j++){
			sum+=N[m][j];
		}
        for(j=1;j<=m;j++){
			sum+=N[j][1];
		}
		for(j=1;j<=m;j++){
			sum+=N[j][n];
		}
		sum=sum-N[1][1]-N[1][n]-N[m][1]-N[m][n];
		printf("%d\n",sum);
	}
	return 0;
}
/*
????????????????????????????????????????????????????????????
????
??????k????k???? 
????????????????? 
???????????m???n?m<100?n<100???????????? 
??????m?????????n???????????????? 
????
??????????????????
????
1

4 4

1 1 1 1

0 0 0 0

1 0 1 0

0 0 0 0
????
5


*/
int main() {
//??
	//??????
	int k,m,n;
	int result[100];
	//?????????
	int i,j,temp1=0,temp2=0,tempr=0;
	double temp3=0;

//??
/*????
??????k????k???? 
????????????????? 
???????????m???n?m<100?n<100???????????? 
??????m?????????n???????????????? 
????
??????????????????*/
	scanf("%d",&k);


//???
//	len=strlen(n);

//??
	for(temp2=1;temp2<=k;temp2++) {
		scanf("%d%d",&m,&n);
		tempr=0;
		for(i=1;i<=m;i++) {
			for(j=1;j<=n;j++) {
				scanf("%d",&temp1);
				if(i==1||i==m||j==1||j==n) {
					tempr+=temp1;
				}
			}
		}
		result[temp2]=tempr;
	}



//??
	for(i=1;i<=k;i++) {
		printf("%d\n",result[i]);
	}
//??
	return 0;
}
// ????.cpp : Defines the entry point for the console application.
//
int main(){ 
    int he,m,n,k,sz[100][100];
	int i,j;
    scanf("%d",&k); 
	for(i=0;i<k;i++){
		scanf("%d%d",&m,&n);
        for(j=0;j<m;j++){
			for(int q=0;q<n;q++){
				scanf("%d",&sz[j][q]);
			}
		}
		if(m==1&&n==1){
			printf("%d\n",sz[0][0]);
		}else{
		he=0;
		for(j=0;j<m;j++){
			if(m==1){
				he+=sz[j][0];
			}else{
			he+=sz[j][0]+sz[j][n-1];
			}
		}
		for(j=1;j<n-1;j++){
			if(n==1){
				he+=sz[0][j];
			}else{
				he+=sz[0][j]+sz[m-1][j];
			}
		}
		printf("%d\n",he);
	}
	}
        return 0; 
      
}
int main()
{  
  int a[100][100];
  int i,j,k,m,n,num,sum=0;
  int *p=NULL;
  cin>>num;
for(k=1;k<=num;k++)
{ 
  cin>>m>>n;
  for(i=0;i<m;i++)
   for(j=0;j<n;j++)
    {
      cin>>*(*(a+i)+j);
    } 
    if(m==1||n==1) {
   for(i=0;i<m;i++)
    for(j=0;j<n;j++)
     {
       sum=sum+*(*(a+i)+j);
     }
                 }
else
{
    for(i=0;i<n-1;i++)
     {
       sum=sum+*(*a+i);
     }
     for(i=0;i<m-1;i++)
      {
        sum=sum+*(*(a+i)+n-1);
      }
      for(i=1;i<n;i++)
      {
       sum=sum+*(*(a+m-1)+i);
       }
      for(i=1;i<m;i++)
      {
        sum=sum+**(a+i);
      }
  }
      cout<<sum<<endl;
      sum=0;
 }
 return 0;
}
int main( )
{	
	int k;
	cin>>k;//????
	while(k--)
	{
		int m,n,i,j;
		cin>>m>>n;
		int a[100][100];
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				cin>>a[i][j];//????
		int sum=0;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				if(i==0||i==m-1||j==0||j==n-1)//??????
					sum+=a[i][j];//??
		cout<<sum<<endl;//??
	}
	return 0;
}
int a[100][100];
int main()
{
  int k,m,n,sum,i,j;
  scanf("%d",&k);
  while(k--)
  {
    memset(a,0,sizeof(a));
    scanf("%d%d",&m,&n);
    sum=0;
    for(i=0;i<m;i++)
    for(j=0;j<n;j++)
    {
       scanf("%d",&a[i][j]);
       if(i==0||i==m-1||j==0||j==n-1)
       sum+=a[i][j];
    }
    
    printf("%d\n",sum);
}
     return 0;
}
int main(){
	int sz[100][100];
	int x,k,m,n,i,j,sum;
	scanf("%d",&k);
	for(x=0;x<k;x++){
		scanf("%d%d",&m,&n);
		for(i=0;i<m;i++){
			for(j=0;j<n;j++){
				scanf("%d",&sz[i][j]);
			}
			}
		sum=0;
		for(j=0;j<n-1;j++){
			sum+=sz[0][j];
		}
		for(i=0;i<m-1;i++){
			sum+=sz[i][j];
		}
		for(;j>0;j--){
			sum+=sz[i][j];
		}
		for(;i>0;i--){
			sum+=sz[i][j];
		}
		printf("%d\n",sum);
	}
	return 0;
}
int main()
{
	int k,m,n;
	cin>>k;
	while(k>0)
	{
		cin>>m>>n;
		int num[110][110]={0},(*p)[110],sum=0,i,j;
		p=num;
		for(i=0;i<m;i++)
		{
			for(j=0;j<n;j++)
			{
				cin>>*(*(p+i)+j);
			}
		}
		p=num;
		for(j=0;j<n;j++)
			sum=sum+*(*p+j);
		for(i=1;i<m;i++)
			sum=sum+*(*(p+i)+n-1);
		for(j=0;j<n-1;j++)
			sum=sum+*(*(p+m-1)+j);
		for(i=1;i<m-1;i++)
			sum=sum+*(*(p+i)+0);
		cout<<sum<<endl;
		k--;
	}
		return 0;
}
/*
 * 1000010175_fe5th_03.cpp
 *
 *  Created on: 2011-1-8
 *      Author: ???
 *      function:??????????
 */



int main(){
	int mat[100][100];
	int t,m,n,i,j,sum;
	cin>>t;
	for(;t>0;t--)
	{
		memset(mat,0,sizeof(mat));
		sum=0;
		cin>>m>>n;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
			{
				cin>>mat[i][j];
				if(i==0||i==m-1||j==0||j==n-1)
					sum+=mat[i][j];
			}
		cout<<sum<<endl;
	}
	return 0;
}
int main()
{
 int a,b,o,p,sum,area[111][111];
 int k,i=0;
 scanf("%d",&k);
 for(i=0;i<k;i++){
  sum=0;
  scanf("%d%d",&a,&b);
  for(o=0;o<a;o++){
   for(p=0;p<b;p++){
    scanf("%d",&area[o][p]);
   }
  }
  if(a!=1&&b!=1)
       {for(p=0;p<b;p++)  {sum+=area[0][p]+area[a-1][p];}
  for(o=1;o<a-1;o++)  {sum+=area[o][0]+area[o][b-1];}}else{for(o=0;o<a;o++){ for(p=0;p<b;p++){sum+=area[o][p];}}}
  printf("%d\n",sum);
 }
 return 0;
}
int bianyuan(int n,int m){
	int juzhen[100][100];
	int i,j,result;
	for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			scanf("%d",&juzhen[i][j]);
		}
	}
	result=0;
	for(j=0;j<m;j++){
		result+=juzhen[0][j];
	}
	for(j=0;j<m;j++){
		result+=juzhen[n-1][j];
	}
	for(i=1;i<n-1;i++){
		result+=juzhen[i][0];
	}
	for(i=1;i<n-1;i++){
		result+=juzhen[i][m-1];
	}
	return result;
}
int main()
{
	int n,i;
	int a,lie,hang;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&lie,&hang);
		a=bianyuan(lie,hang);
		printf("%d\n",a);
	}
	return 0;
}
//******************
// 7.3.cpp
// ??   1200018415
// 2012 11 6
//*****************


int main()
{
	int x, i, j, k, s = 0;
	int m, n, a[100][100];
	cin >> x;
	for (i =1; i <= x; i++)                         // ??????x?
	{
		cin >> m >> n;                              // ?????
		for (j = 0; j <= m - 1; j++)                // ???
		{
			for (k = 0; k <= n - 1; k++)            // ???
			{
				cin >> a[j][k];                     //
				if (j == 0 || j == m - 1 ||( k == 0 && j !=0 && j !=m - 1)
					|| (k == n - 1 && j != 0 && j != m - 1))                     // ?????
					s = s + a[j][k];                               // ????? 
			}
		}
		cout << s << endl;                              // ????   
		s = 0;                                          // s??0
	}

	return 0;
}
int main() //???
{ 
	int a[100][100];//????????????????~~
	int n=0;//????????~~ 
	int x=0,y=0;//????~~
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>x;cin>>y;
		for(int j=0;j<x;j++)
			for(int k=0;k<y;k++)
				cin>>a[j][k];
		int *p;
		int sum=0;
		for(int j=1;j<x-1;j++)
		{
			p=a[j];
			sum=*p+*(p+y-1)+sum;
		}//??????????~???????~~
		p=a[0];
		for(int j=0;j<y;j++)
		{
			sum+=*p;
			p++;
		}
		p=a[x-1];
		for(int j=0;j<y;j++)
		{
			sum+=*p;
			p++;
		}//???????????????~~
		cout<<sum<<endl;
	}
	return 0;
}//?????
int main(int argc, char* argv[])
{
	int n;
	scanf("%d",&n);
	int i;
	for(i=0;i<n;i++){
		int row;
		int col;
		int total=0;
		int s[100][100];
		scanf("%d%d",&row,&col);
		int x,y;
		for(x=0;x<row;x++){
			for(y=0;y<col;y++){
				scanf("%d",&s[x][y]);
			}
		}
		if(row<3||col<3){
			for(x=0;x<row;x++){
			   for(y=0;y<col;y++){
				total+=s[x][y];
			}
			}
			printf("%d\n",total);
			}else{
		for(y=0;y<col;y++){
			total+=s[0][y];
		}
		for(y=0;y<col;y++){
			total+=s[row-1][y];
		}
		for(x=0;x<row;x++){
			total+=s[x][0];
		}
		for(x=0;x<row;x++){
			total+=s[x][col-1];
		}
		total=total-s[0][0]-s[0][col-1]-s[row-1][0]-s[row-1][col-1];
		printf("%d\n",total);
			}
		
	}
	return 0;
}
int main()
{
    int n;
    scanf ("%d", &n);
    int i,j,k;
    int a,b;
    int s[100][100];
    int sum;
    for (i=0;i<=n-1;i++)
    {
        scanf ("%d %d", &a,&b);
        for(j=0;j<=a-1;j++)
        {
                           for (k=0;k<=b-1;k++)
                           {
                               scanf ("%d", &s[j][k]);
                           }
        }
        sum=0;
        for (k=0;k<=b-1;k++)
        {
            sum=sum+s[0][k];
        }
        for (j=1;j<=a-1;j++)
        {
            sum=sum+s[j][b-1];
        }
        for (k=0;k<=b-2;k++)
        {
            sum=sum+s[a-1][k];
        }
        for (j=1;j<=a-2;j++)
        {
            sum=sum+s[j][0];
        }
        printf ("%d\n", sum);
    }   
    
    return 0;
}
int main()
{
	int i,j,k,sum[100],p,q,t,l,m[100],n[100],h;
	int a[100][100];
	scanf("%d\n",&k);
    for(i=0;i<k;i++) {
		sum[i]=0;
		scanf("%d %d\n",&m[i],&n[i]);
		for(j=0;j<m[i];j++)
			for(h=0;h<n[i];h++) {
				scanf("%d",&a[j][h]);
			}
			for(p=0;p<n[i];p++)
			{
				sum[i]=sum[i]+a[0][p];
			}
			for(q=1;q<m[i];q++)
			{
				sum[i]=sum[i]+a[q][n[i]-1];
			}
			for(l=n[i]-2;l>=0;l--)
			{
				sum[i]=sum[i]+a[m[i]-1][l];
			}
			for(t=m[i]-2;t>0;t--)
			{
				sum[i]=sum[i]+a[t][0];
			}
	       printf("%d\n",sum[i]);
	}
	return 0;
}
int main (){
int sz[LEN][LEN];
int j,n,k,i,m,l,sum;

scanf("%d",&k);
for(l=0;l<k;l++){sum=0;
	scanf("%d%d",&m,&n);
for(i=0;i<m;i++){
	for(j=0;j<n;j++){
		scanf("%d",(&sz[i][j]));}}
i=0;
for(j=0;j<n;j++){sum+=sz[0][j];}
i=m-1;
for(j=0;j<n;j++){sum+=sz[m-1][j];}
j=0;
for(i=1;i<m-1;i++){sum+=sz[i][0];}
j=n-1;
for(i=1;i<m-1;i++){sum+=sz[i][n-1];}
 
printf("%d\n",sum);}


return 0;}
int main()
{
	int k,m,n,i,j,p=0,num[100][100],sum=0;
	cin >>k;
	while(p<k)
	{
		cin >>m>>n;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
			{
				cin >>num[i][j];
			}
		for(j=0;j<n;j++)
			sum+=num[0][j];
		for(i=1;i<m-1;i++)
		{
			sum+=num[i][0];
			sum+=num[i][n-1];
		}
		for(j=0;j<n;j++)
			sum+=num[m-1][j];
		cout <<sum<<endl;
		sum=0;
		p++;
	}
	return 0;
}
int main()
{
	int i,j,k,l;
	cin>>k;
	for(l=0;l<k;l++)
	{
		int a[100][100],m,n;
		int *p;
		cin>>m>>n;
		for(i=0;i<m;i++)
		 for(j=0;j<n;j++)
		 cin>>a[i][j];
		int sum=0;
		for(i=0;i<n;i++)
		{
			p=&a[0][i];
			sum+=*p;
		}
		if(m!=1)
		for(i=0;i<n;i++)
		{
			p=&a[m-1][i];
			sum+=*p;
		}
		for(i=1;i<m-1;i++)
		{
			p=a[i];
			sum+=*p;
		}
		for(i=1;i<m-1;i++)
		{
			p=&a[i][n-1];
			sum+=*p;
		}
		cout<<sum<<endl;
	}
	return 0;
}
int main(){
	int k,m,n,a[100][100],i,j;
	int sum;
	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(m>1&&n>1){
		sum=0;
		for(j=0;j<n;j++){
			sum+=*(*(a)+j);
			sum+=*(*(a+m-1)+j);}
		for(i=0;i<m;i++){
			sum+=*(*(a+i));
			sum+=*(*(a+i)+n-1);}
		sum=sum-*(*(a))-*(*(a+m-1)+n-1)-*(*(a)+n-1)-*(*(a+m-1));
		cout<<sum<<endl;}
	else if(m==1&&n==1){
		sum=0;
		sum=*(*a);cout<<sum<<endl;}
	else if(m==1&&n>1){
		sum=0;
		for(j=0;j<n;j++){
			sum+=*(*(a)+j);}
		cout<<sum<<endl;}
	else if(n==1&&m>1){
		sum=0;
		for(i=0;i<m;i++){
			sum+=*(*(a+i));}
		cout<<sum<<endl;}
		k--;
	}	
}
void main(){
	int k,m,n,p;
	int matrix(int m,int n);
	scanf("%d",&p);
	for(k=0;k<p;k++){
		scanf("%d%d",&m,&n);
		printf("%d\n",matrix(m,n));
	}
}

int matrix(int m,int n){
	int i,j,a,sum=0;
	for(i=0;i<m;i++) for(j=0;j<n;j++) {
		scanf("%d",&a);
		if(i==0||i==m-1||j==0||j==n-1) sum+=a;
	}
	return sum;
}
int main()
{
	int t;
	cin>>t;
	int a[100][100];
	int sum;
	int n[200];
	int g;
	int s[200];
	for(g=0;g<=t-1;g++)
	{
	cin>>s[g];
		cin>>n[g];

	int i;
	int j;
	for(i=0;i<=s[g]-1;i++)
		for(j=0;j<=n[g]-1;j++)
		{
			cin>>a[i][j];
		}

	sum=0;
	for(i=0;i<=s[g]-1;i++)
	{
		sum=sum+**(a+i);
		sum=sum+*(*(a+i)+n[g]-1);
	}
	for(j=0;j<=n[g]-1;j++)
	{
		sum=sum+*(*a+j);
		sum=sum+*(*(a+s[g]-1)+j);
	}
	sum=sum-**a-*(*(a+s[g]-1)+n[g]-1)-*(*a+n[g]-1)-**(a+s[g]-1);
	cout<<sum<<endl;
	}
	return 0;

}