semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int n,sum=0;
	int h,l,a[100][100],i,j,m;
	scanf("%d",&n);
	for(m=0;m<n;m++)
	{
		scanf("%d%d",&h,&l);
		for(i=0;i<h;i++)
		{
			for(j=0;j<l;j++)
			{
				scanf("%d",&a[i][j]);
			}
		}
                 if(h<2&&l<2)
                   {printf("%d",a[0][0]);
                      continue;}
		for(j=0;j<l;j++)
		{
			sum+=a[0][j];
			sum+=a[h-1][j];
		}
		for(i=0;i<h;i++)
		{
			sum+=a[i][0];
			sum+=a[i][l-1];
		}
		sum=sum-a[0][0]-a[0][l-1]-a[h-1][0]-a[h-1][l-1];
		printf("%d\n",sum);
		sum=0;
	}
	return 0;
}
/*
 * 12-4.cpp
 *
 *  Created on: 2011-12-25
 *      Author: sony
 */

int main()
{
    int k, m, n;
    cin >> k;
    int u;
    for (u = 1; u <= k; u++) {
        int i, j;
        cin >> m >> n;
        int input[m][n];
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) cin >> input[i][j];
        }
        int sum = 0;
        for (i = 0; i < m; i++) {
            sum += input[i][0] + input[i][n - 1];
        }
        for (j = 0; j < n; j++) {
            sum += input[0][j] + input[m - 1][j];
        }
        sum = sum - input[0][0] - input[0][n - 1] - input[m - 1][0] - input[m - 1][n - 1];
        cout << sum << endl;
    }
	return 0;
}
int main()
{
	int zong,m,n,a[101][101],sum1=0,sum2=0,sum=0;
	cin>>zong;
	for(int i=1;i<=zong;i++){
	   cin>>m>>n;
	   for(int j=0;j<m;j++)
		   for(int k=0;k<n;k++){
		     cin>>a[j][k];
			  }
	   if(m==1){
		   for(int i=0;i<n;i++)
			   sum+=a[0][i];
	   }
	   else if(n==1){
		   for(int i=0;i<m;i++)
			   sum+=a[m][0];
	   }

	   else  {
		   for(int k=0;k<n;++k)
		   sum1+=a[0][k]+a[m-1][k];
		    for(int j=0;j<m;++j)
				sum2+=a[j][0]+a[j][n-1];
			sum=sum1+sum2-a[0][0]-a[0][n-1]-a[m-1][0]-a[m-1][n-1];
	   }
			cout<<sum<<endl;
			sum1=0,sum2=0,sum=0;
	}
	return 0;
}
int main()
{
	int k,m,n,i,j,a[M][M],sum;
	scanf("%d",&k);
	while(k--)
	{
		scanf("%d %d",&m,&n);
		sum=0;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				scanf("%d",&a[i][j]);
		for(i=0;i<n;i++)
		{
			if(m==1) sum=sum+a[0][i];
			else sum=sum+a[0][i]+a[m-1][i];
		}
		for(i=1;i<m-1;i++)
			sum=sum+a[i][0]+a[i][n-1];
		printf("%d\n",sum);
	}
	return 0;
}
int main(){
	int k,i;
	scanf("%d",&k);
	int m,n,j,l;
	int z[100][100],h[100];
	for(i=0;i<100;i++){
		h[i]=0;
	}
	for(l=0;l<k;l++){
		scanf("%d %d",&m,&n);
		for(i=0;i<m;i++){
			for(j=0;j<n;j++){
				scanf("%d",&(z[i][j]));
			}
		}
		for(j=0;j<n;j++){
			h[l]+=z[0][j];
		}
		i=m-1;
		for(j=0;j<n;j++){
			h[l]+=z[i][j];
		}
		for(i=1;i<m-1;i++){
			h[l]+=z[i][0];
		}
		j=n-1;
		for(i=1;i<m-1;i++){
			h[l]+=z[i][j];
		}
	}
	for(l=0;l<k;l++){
		if(l==0){
		printf("%d",h[l]);
		}else{
			printf("\n%d",h[l]);
		}
	}
	return 0;
}
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
int m,n;
scanf("%d %d",&m,&n);
int a[101][101];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
int sum=0;
for(int i=0;i<m;i++)
sum=sum+a[i][0]+a[i][n-1];
for(int i=1;i<n-1;i++)
sum=sum+a[0][i]+a[m-1][i];
printf("%d\n",sum);
}
return 0;
}
int main() {
	int k, s = 0;
	int m, n;
	cin >> k;
	int a[100][100];
	int *p =&a[0][0];
	for (int t = 0; t < k; t++) {
		cin >> m >> n;
		s=0;
		for (int i = 0; i < m; i++) {
			for (int j = 0; j < n; j++) {
				cin >> *(*(a+i)+j);
			}
		}

		for (int i = 0; i < n; i++) {
			s += *(*(a+0)+i);
			s +=  *(*(a+m-1)+i);
		}//cout<<s<<endl;
		for (int i = 0; i < m; i++) {
			s += *(*(a+i)+0);
			s += *(*(a+i)+n-1);
		}
		s = s - **a - *(*(a+m-1)+n-1) - *(*(a+0)+n-1) -*(*(a+m-1));
		cout << s << endl;
	}
}
int main()
{
	int m,M,i,j,sum[1000];
	int row[1000],col[1000];
	int sz[1000][1000];
	scanf("%d",&M);
	for(m=0;m<M;m++)
	{
		sum[m]=0;
		for(i=0;i<row[m];i++)
		{
			for(j=0;j<col[m];j++)
			{
				sz[i][j]=0;
			}
		}

		scanf("%d%d",&row[m],&col[m]);

		for(i=0;i<row[m];i++)
		{
			for(j=0;j<col[m];j++)
			{
				scanf("%d",&sz[i][j]);
			}
		}

		for(j=0;j<col[m];j++)
		{
			sum[m]+=sz[0][j];
			sum[m]+=sz[row[m]-1][j];
		}
		for(i=0;i<row[m];i++)
		{
			sum[m]+=sz[i][0];
			sum[m]+=sz[i][col[m]-1];
		}
		sum[m]=sum[m]-sz[0][0]-sz[row[m]-1][col[m]-1]-sz[0][col[m]-1]-sz[row[m]-1][0];

	}
	for(m=0;m<M;m++)
		printf("%d\n",sum[m]);
	return 0;
}
int main()
{
    int K,M,N,sz[99][99];
    scanf("%d",&K);
    for(int k=1;k<=K;k++)
    {
        int result=0;
        scanf("%d %d",&M,&N);
        for(int m=0;m<M;m++) for(int n=0;n<N;n++) scanf("%d",&sz[m][n]);
        if(M<=2||N<=2)
        {
            for(int m=0;m<M;m++) for(int n=0;n<N;n++) result+=sz[m][n];
        }
        else
        {
            for(int n=0;n<N;n++) result+=sz[0][n];
            for(int n=0;n<N;n++) result+=sz[M-1][n];
            for(int m=1;m<M-1;m++) result+=sz[m][0];
            for(int m=1;m<M-1;m++) result+=sz[m][N-1];
        }
        printf("%d\n",result);
    }
    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]);
	}
	s=0;
	for(i=0;i<n;i++)
	{ 
		s+=a[0][i];
	}
	for(j=1;j<m;j++)
	{
		s+=a[j][n-1];
	}
  
	for(k=n-2;k>=0;k--)
	{
		
		s+=a[m-1][k];
	}
  
	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;
}
int main(){
    int k,i,j;
    int n,row,col;
    int shuzu[mx][mx],cc[1000]={99};
    int result=0;
     
    scanf("%d",&n);
    for(k=0;k<n;k++){
       scanf("%d %d",&row,&col);
       for(i=0;i<row;i++){
          for(j=0;j<col;j++){
            scanf("%d",&shuzu[i][j]);
          }
       }
      for(i=0;i<row;i++){
          for(j=0;j<col;j++){
            if(i==0){result+=shuzu[i][j];}
              else if(i==(row-1)){result+=shuzu[i][j];}
            else{if(j==0){result+=shuzu[i][j];}
              else if(j==(col-1)){result+=shuzu[i][j];}  
         }  
          }
       }
       cc[k]=result;
       result=0;

   }

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


    return 0;
}
int main()
{
	int k,m,n,i,s,a[100][100],j,l,p;
	scanf("%d",&k);
	for(p=0;p<k;p++)
	{
		s=0;
		scanf("%d%d",&m,&n);
		for(j=0;j<m;j++)
			for(l=0;l<n;l++)
				scanf("%d",&a[j][l]);
		if((n>1)&&(m>1))
		{
			for(i=0;i<n;i++)
			{
				s+=a[0][i];
				s+=a[m-1][i];
			}
			for(i=1;i<m-1;i++)
			{
				s+=a[i][0];
				s+=a[i][n-1];
			}
		}	
		else
			if(n==1)
		{
			for(i=0;i<m;i++)
				s+=a[i][0];
		}
		else
			if(m==1)
			{
				for(i=0;i<n;i++)
				s+=a[0][i];
			}
		printf("%d\n",s);
	}
	return 0;
}
//???????
int main()
{
    int k,m,n,a[101][101],i,j,t,sum=0;
	cin>>k;
	for(i=0;i<k;i++)
	{
		sum=0;
		cin>>m>>n;
	   for(j=1;j<=m;j++)
	   {
	     for(t=1;t<=n;t++)
		 {
		   cin>>a[j][t];//????
		 }
	   }
            if(m==1&&n==1) sum=a[1][1];
           else
	   for(j=1;j<=m;j++)
	   {
	   sum=sum+a[j][1];
	   sum=sum+a[j][n];
	   }
	   for(t=2;t<n;t++)
	   {
	    sum=sum+a[1][t];
		sum=sum+a[m][t];
	   }//?????
	   cout<<sum<<endl;//??
	}
	
	return 0;

}
int main()
{
	int n=0,row=0,line=0,l=0;
	int Matrix[100][100]={{0},{0}};
	int a = 0, b = 0, c = 0, d = 0;
	int total = 0,extra = 0;
	scanf("%d",&n);
	while (l < n)
	{
		scanf("%d %d", &row, &line);
		for (int i = 0; i < row; i ++)
			for(int j = 0; j < line; j ++)
				scanf("%d", &Matrix[i][j]);
		if(row == 1|| line ==1)
			for(int i=0;i<row;i++)
				for(int j=0;j<line;j++)
					total+=Matrix[i][j];
		else 
		{
			extra = Matrix[0][0] + Matrix[0][line-1] + Matrix[row-1][0] + Matrix[row-1][line-1];
			for (int i = 0; i < line; i ++)
			{
				a += Matrix[0][i];
				c += Matrix[row-1][i];
			}
			for (int i = 0; i < row; i ++)
			{
				b += Matrix[i][0];
				d += Matrix[i][line-1];
			}
			total = a + b + c + d - extra;
		}
			printf("%d\n", total);
			l ++;
			a = 0;b = 0;c = 0;d = 0;
	}
	return 0;
}
int main()
{
 	int b,c,d=0,e=0,i,j,k,l,m,n;
 	int a[101][101]={0};
	cin>>k;
 	for (i=1;i<=k;i++)
 	{
		cin>>m>>n;
		for (b=1;b<=m;b++)
		{
		 	for (c=1;c<=n;c++)
		 	{
			 	cin>>a[b][c];d=d+a[b][c];
			}
		}
	 	for (b=2;b<=m-1;b++)
	 	{
		 	for (c=2;c<=n-1;c++)
		 	{
			 	e=e+a[b][c];
			}
		}
	cout<<d-e<<endl;
	d=0;
	e=0;
	}


}
main ()
{
     int k,m,n,a[100][100],i,j,sum;
     scanf ("%d",&k);
     for (;k>0;k--)
     {
         scanf ("%d %d",&m,&n);
         sum=0;
         for (i=0;i<m;i++)
         for (j=0;j<n;j++)
         a[i][j]=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[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);
     }
}
int main()
{
  int a,i,t,j,sum,m,n;
  scanf("%d\n",&t);
  for(j=0;j<t;j++)
  {
   scanf("%d %d\n",&m,&n);
   sum=0;
   for(i=1;i<=m*n;i++)
   {
    scanf("%d",&a);
    if((i<=n)||(i>(m*n-n))||(i%n==1)||(i%n==0)) sum+=a;
   }
   printf("%d\n",sum);
   }
   return 0;
}
int main()
{
	int k, m, n, i, j,sum, a[100][100], *p;
	cin >> k;
	for(j = 1; j <= k; j++)
	{
		sum = 0;
		cin >> m >> n;
		for(p = *a, i = 0; i < m * n; i++)
		{
			cin >> p[i];
			if(i <= n - 1 || i >= m * n - n - 1 || (i + 1) % n == 0 || i % n == 0)
				sum += p[i];
		}
		cout << sum << endl;
	}
	return 0;
}
/*
 * caledge.cpp
 *
 *  Created on: 2011-12-30
 *      Author: wangshiheng
 */
int main()
{
	int k,m,n,i,j,s=0,a[102][102];
	cin>>k;
	while (k>0)
	{
		s=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++)
		{
			s=s+a[i][1]+a[i][n];
		}
		for (j=2;j<=n-1;j++)
		{
			s=s+a[1][j]+a[m][j];
		}
		cout<<s<<endl;
		k--;
	}
}
//***********************************************************************
//???????? 
//???????? 
//??????
//***********************************************************************
int main()
{
	int k, m, n, *p;
	cin>>k;
	for(int i = 0; i < k; i++)
	{
		cin>>m>>n;
		int sum = 0;
		int a[100][100] = {0};
		for(int j = 0; j < m; j++)
			for(int l = 0; l < n; l++)
				cin>>a[j][l];
		p = a[0];
		for(int j = 0; j < n; j++)
			sum += *p++;
		if(m - 1 != 0)
		{
		    p = a[m - 1];
		    for(int j = 0; j < n; j++)
			   sum += *p++;
		}
		    for(int j = 1; j < m - 1; j++)
		   {
			   p = a[j];
			  // cout<<*p<<' '<<*(p + n - 1)<<endl;
			   sum += *p;
			   sum += *(p + n - 1);
		}
		cout<<sum<<endl;
	}
    return 0; 
}
int main()
{
	int t;
	cin>>t;
	while(t!=0)
	{
		t--;
		int m,n,i,j,sum=0;
		cin>>m>>n;
		int a[100][100];
		//cout<<"sum="<<sum;
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
			{
				cin>>a[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][0];
			sum+=a[i][n-1];
			}
		cout<<sum<<endl;
	}
	return 0;
}
int main()
{
	int n;
	cin>>n;
	int a[100][100];
	while(n--)
	{
		int x,y,sum=0;
		cin>>x>>y;
		for(int i=0;i<x;i++)
		for(int j=0;j<y;j++)
		{
			cin>>a[i][j];
		}
		for(int i=0;i<x;i++)
		{
			if(y != 1)
				sum += a[i][0] + a[i][y-1];
			else
				sum += a[i][0];
		}	
		for(int j=1;j<y-1;j++)
		{
			sum += a[0][j] + a[x-1][j];
		}
		cout<<sum<<endl;
	}
	
	return 0;
}
int main()
{int i,m,n,ii,jj,l,t;
int s[10002]={0};
int *k=s;
int sum=0;
scanf("%d",&jj);
for(i=1;i<=jj;i++)
{ scanf("%d %d",&m,&n);
   t=m*n;
   for(ii=1;ii<=t;ii++)
     {k=k+1;
   scanf("%d",k);
	   if(ii<=n||ii>(m-1)*n||ii%n==1||ii%n==0)
		   sum=sum+*k;
   }
   printf("%d\n",sum);
   sum=0;
   k=s;

}
return 0;
}
int main(int argc, char* argv[])
{
	int k,m,n,i,j,a,sum=0;
	int sz[100][100];
	scanf("%d",&k);
	for(a=0;a<k;a++)
	{
		scanf("%d%d",&m,&n);
		sum=0;
		for(i=0;i<m;i++)
		{
			for(j=0;j<n;j++)
			{
				scanf("%d",&sz[i][j]);
			    if(i==0||i==m-1) sum+=sz[i][j];
		    	if(i>0&&i<m-1&&(j==0||j==n-1)) sum+=sz[i][j];
			}
		}	
		printf("%d\n",sum);
	}

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

}
int main(){
	int k,m,n;
	int sz[100][100];
	int i,r,sum1,sum2,sum;
	scanf("%d",&k);
	for(int j=1;j<=k;j++){
		scanf("%d%d",&m,&n);
	  for(i=0;i<m;i++){
		for(r=0;r<n;r++){
			scanf("%d",&sz[i][r]);
		}
	  }
	  sum1=0;
	  for(int q=0;q<n;q++){
		  sum1+=sz[0][q]+sz[m-1][q];
	  }
	  sum2=0;
	  for(int w=0;w<m;w++){
		  sum2+=sz[w][n-1]+sz[w][0];
	}
	sum=sum1+sum2-sz[0][0]-sz[0][n-1]-sz[m-1][0]-sz[m-1][n-1];
	printf("%d\n",sum);
}
return 0;
}
int main()
{
	int a,x,m,n,i,j,k,sum[10000]={0};
	int sz[100][100];
	scanf("%d",&a);
	for(i=0;i<a;i++)
	{
		scanf("%d %d",&m,&n);
		for(j=0;j<m;j++)
			{for(k=0;k<n;k++)
				{scanf("%d",&sz[j][k]);}
			}
		if((m>2)&&(n>2))
		{ for(j=0;j<m;j++)
			{ sum[i]=sum[i]+sz[j][0]+sz[j][n-1];}
		  for(k=0;k<n;k++)
			{sum[i]=sum[i]+sz[0][k]+sz[m-1][k];}
		  sum[i]=sum[i]-sz[0][0]-sz[0][n-1]-sz[m-1][0]-sz[m-1][n-1];
		}
		else { for(j=0;j<m;j++)
				{for(k=0;k<n;k++)
					{sum[i]=sum[i]+sz[j][k];}
				}
			 }
	}
    for(i=0;i<a;i++)
	{printf("%d\n",sum[i]);}
	return 0;
}
void main()
{
	int i,j,k,t,m,n,x,sum,a[100][105][105];
	scanf("%d",&x);
	for(i=1;i<=x;i++)
	{
		sum=0;
		scanf("%d %d",&m,&n);
		for(j=1;j<=m;j++)
			for(k=1;k<=n;k++)
				scanf("%d",&a[i][j][k]);
		for(t=1;t<=n;t++)
		{
			if(m!=1)
				sum=sum+a[i][1][t]+a[i][m][t];
			if(m==1)
				sum=sum+a[i][1][t];
		}
		for(t=2;t<=m-1;t++)
		{
			if(n!=1)
				sum=sum+a[i][t][1]+a[i][t][n];
			if(n==1)
				sum=sum+a[i][t][1];
		}
		printf("%d\n",sum);
	}
}
int main()
{
	int a[100][100],n,i,j,k;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		int a[100][100],r,l,sum=0;
		scanf("%d%d",&r,&l);
		for(j=0;j<=r-1;j++)
			for(k=0;k<=l-1;k++)
				scanf("%d",*(a+j)+k);
		for(j=0;j<=r-1;j++)
		{
			for(k=0;k<=l-1;k++)
			{
				if(j==r-1||j==0||k==l-1||k==0)
					sum+=*(*(a+j)+k);
			}
		}printf("%d\n",sum);
	}
	return 0;
}
int main()
{
	int k;
	scanf("%d",&k);
	int m,n;
	int a[100][100];
	int i;
	int j;
	int e;
    int sum[100]={0};
	for(e=0;e<k;e++)
	{
        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[e]=sum[e]+a[0][j];
		}
     	for(i=1;i<m;i++)
		{
			sum[e]=sum[e]+a[i][n-1];
		}
     	for(j=n-2;j>=0;j--)
		{
			sum[e]=sum[e]+a[m-1][j];
		}
	    for(i=m-2;i>0;i--)
		{
			sum[e]=sum[e]+a[i][0];
		}
	}
    for(e=0;e<k;e++)
	{
		printf("%d\n",sum[e]);
	}
	return 0;
}
int main()
{
int t,m,n,count;
int a[100][100];
cin >> t;
for(int temp = 0 ; temp < t ; temp++)
{
	count = 0;
	cin >> m >> n;
	for(int i = 0 ; i < m; i++)
		for(int j = 0 ; j < n; j++)
			cin >> a[i][j];
	for(int i = 1 ; i < m-1; i++)
	{
		count += a[i][0];
		count += a[i][n-1];
	}//cout << count << endl;
	for(int j = 0 ; j < n; j++)
	{
		count += a[0][j];
		count += a[m-1][j];	
	}
	cout << count << endl;
}
return 0;
}
void main()
{
	int *p,i,k,m,n,t,sum[100]={0},j,q,x;
	scanf("%d\n%",&k);
	p=(int *)malloc(10000*sizeof(int));
	for (x=0;x<k;x++)
	{
		scanf("%d%d",&m,&n);
	for (i=0;i<m*n;i++)
		scanf("%d",p+i);
	for (j=0;j<n;j++)
	sum[x]=sum[x]+(*(p+j))+(*(p+n*(m-1)+j));
	for (q=1;q<m-1;q++)
	sum[x]=sum[x]+(*(p+q*n))+(*(p+q*n+n-1));
	}
	for (x=0;x<k;x++)
		printf("%d\n",sum[x]);	
}
int main()
{
    int k,size[100][2],m[100][100][100],i,j,l,sum[100];
    scanf("%d",&k);
    for(i=0;i<k;i++)
    {
        sum[i]=0;
      scanf("%d %d",&size[i][0],&size[i][1]);
      for(j=0;j<size[i][0];j++)
          for(l=0;l<size[i][1];l++)
              scanf("%d",&m[i][j][l]);
        //printf("\n");
        if((size[i][1]==1)&&(size[i][0]==1))
            sum[i]=m[i][0][0];
        else
        {
      for(l=0;l<size[i][1];l++)
      {
          if(size[i][1]==1)
              sum[i]=sum[i]+m[i][0][l];
          else
              sum[i]=sum[i]+m[i][0][l]+m[i][size[i][0]-1][l];
      }
      for(j=1;j<=size[i][0]-2;j++)
      {
          sum[i]=sum[i]+m[i][j][0]+m[i][j][size[i][1]-1];
      }
        }
     // printf("%d",sum[i]);
    }
    for(i=0;i<k;i++)
        printf("%d\n",sum[i]);
    return 0;
}
//******************************//
 //*     ?????				*//
 //*     ???1000012711		*//
 //*     ???????????	*//
 //*     ???2010.12.08		*//
 //******************************//
int main()
{
	int j, i, m, n, *pointer = NULL, a[100][100], sum = 0;	//j????? i???? m,n?????? pointer??
	cin >> j;												//a???????? sum????????
	for (i = 0; i < j; i ++)								//j?????j?
	{
		sum = 0;											//?sum??0
		cin >> m >> n;
		pointer = *a;										//????????? ??????
		for (; pointer < *a + m * n; pointer++)				//???? ??
		{
			cin >> *pointer;
		}
		for (pointer = *a; pointer < *a + m * n; pointer++)	//????
		{
			if (pointer >= *a && pointer <= *a + n - 1)		//????????1?? sum????????
			{
				sum += *pointer;
				continue;
			}
			if ((pointer - *a) % n == 0)					//??1??
			{
				sum += *pointer;							//??????
				sum += *(pointer + n - 1);					//???????????
				continue;
			}												//???? ?????????????
			if (pointer >= *a + m * n - n && pointer < *a + m * n - 1)
			{
				sum += *pointer;							//??????
				continue;
			}
		}
		cout << sum << endl;
	}
	return 0;
}
int main(){
int k,m,n,sz[100][100],sum[100],i,j,a,b,c,d,e;
b=0;
c=0;
d=0;
e=0;
scanf("%d",&k);
//scanf("%d %d",&m,&n);
for(a=0;a<k;a++){
scanf("%d %d",&m,&n);
    for(i=0;i<m;i++){
	    for(j=0;j<n;j++){
	    scanf("%d",&(sz[i][j]));
		}

	}


	for(j=0;j<n;j++){
	b=b+sz[0][j];
	c=c+sz[m-1][j];
	}
    for(i=1;i<m-1;i++){
	d=d+sz[i][0];
	e=e+sz[i][n-1];
	}
sum[a]=b+c+d+e;
b=0;
c=0;
d=0;
e=0;
}
for(a=0;a<k;a++){
printf("%d\n",sum[a]);
}
return 0;
}
int main()
{
	int k,j;
	int m,n;
	int a[10000];
	int *p,r;
	int sum=0;

	scanf("%d\n",&k);


	int i;
	p=a;
	for(i=1;i<=k;i++)
	{
		scanf("%d %d\n",&m,&n);
		
		for(j=0;j<10000;j++)
			*(p+j)=0;

		for(j=0;j<m*n;j++)
			scanf("%d",&*(p+j));

		for(j=0;j<n;j++)
			sum=sum+*(p+j);

		for(r=1;r<m-1;r++)
		{
			sum=sum+*(p+n*r)+*(p+n*r+n-1);
		}

		if(m!=1)
		{
			for(j=0;j<n;j++)
			sum=sum+*(p+(m-1)*n+j);
		}

		printf("%d\n",sum);
		sum=0;
	}





}
int main()
{
   int jvzhen();
   int n,i,a;
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   {
       a = jvzhen();
       printf("%d\n",a);
   }
   
 

return 0;
}
int jvzhen()
{
    int m,n,i,j,sum;
    sum=0;
    scanf("%d %d",&m,&n);
    int b[100][100];
    for(i=1;i<=m;i++)
    {
      for(j=1;j<=n;j++) scanf("%d",*(b+i)+j);
    }
   
    for(i=1;i<=n;i++) 
		sum=sum+*(*(b+1)+i);
    if(m>1){for(i=1;i<=n;i++) 
		sum=sum+*(*(b+m)+i);}
    if(m>2)
    { for(j=2;j<m;j++) 
		sum=sum+*(*(b+j)+1)+*(*(b+j)+n);
    }
    return(sum);
}
int main(){
	int time;
	int m,n;
	int i,j;
	int x,y;
	int res;
	int r;
	int arr[10000];
	scanf("%d",&time);
	for(i=0;i<time;i++){
		res = 0;
		scanf("%d %d",&m,&n);
//		printf("%d %d",m,n);
		for(j=0;j<m*n;j++){
			scanf("%d",&r);
			//printf("%d\n",r);
			arr[j]=r;
		}
		for(x=0;x<m;x++)
			for(y=0;y<n;y++){
				if((x==0)||(x==(m-1)))
					res+=arr[x*n+y];
				if((y==0)&&(x!=0)&&(x!=(m-1)))
					res+=arr[x*n+y];
				if((y==(n-1))&&(x!=0)&&(x!=(m-1)))
					res+=arr[x*n+y];
			}
		printf("%d\n",res);
	}
	return 0;
}
/*
 * SumOfEdgeElements.cpp
 *
 *  Created on: 2012-12-11
 *      Author: Cui Zhaoxiong Class4 1200012931
 */
int sum = 0;
int m, n;
void Input(int(*a)[102]) {
	cin >> m >> n;
	for (int i = 0; i <= m - 1; i++) {
		for (int j = 0; j <= n - 1; j++) {
			cin >> *(*(a + i) + j);
		}
	}
}
void Sum(int x, int y, int(*a)[102]) {//????
	sum += *(*(a + x) + y);
	if (x == 0 && y < n - 1)
		Sum(x, y + 1, a);
	else if (x < m - 1 && y == n - 1)
		Sum(x + 1, y, a);
	else if (x == m - 1 && y > 0)
		Sum(x, y - 1, a);
	else if (y == 0 && x > 1)
		Sum(x - 1, y, a);
	else
		return;
}
int main() {
	int a[102][102];
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		sum = 0;
		Input(a);
		Sum(0, 0, a);
		if (i != 1)
			cout << endl;
		cout << sum;
	}
	return 0;
}
int main()
{
	int k, i, j, l, m, n;
	int	a[100][100]={0}, sum=0;
		
	scanf("%d",&k);  // k???
	
	for(i=0;i<k;i++){
		scanf("%d%d", &m, &n);  //?????m???n
		for(j=0;j<m;j++)
			for(l=0;l<n;l++)
				scanf("%d", *(a+j)+l );  // ????
		sum=0;
		if(m!=1){
			for(j=0; j<n; j++)
				sum = sum+ *(*a+j) + *(*(a+m-1)+j);  
		}
		else{
			for(j=0;j<n;j++)
				sum = sum + *(*a+j);  
		}
		for(j=1; j<m-1; j++)
			sum = sum + *(*(a+j))+*(*(a+j)+n-1);

		printf("%d\n",sum);
	}

    return 0;
}
int main()
{
	int i,j,k,m,n,N,w,s;
	int a[100][100];
	scanf("%d\n",&N);
for(w=0;w<N;w++)
 {
	s=0;
	for(i=0;i<100;i++)
	for(j=0;j<100;j++)
	a[i][j]=0;
   scanf("%d%d",&m,&n);
   for(i=0;i<m;i++)
	for(j=0;j<n;j++)
	scanf("%d",&a[i][j]);
  if((n>1)&&(m>1))
  {

   for(i=0;i<n;i++)
   s+=a[0][i];
   for(i=0;i<n;i++)
   s+=a[m-1][i];
   for(i=1;i<m-1;i++)
   s+=a[i][0];
   for(i=1;i<m-1;i++)
   s+=a[i][n-1];
  }
  if((n==1)&&(m>1))
  {
	s=a[0][0]+a[m-1][0];
  }
  if((n>1)&&(m==1))
  s=a[0][0]+a[0][n-1];
  if((n==1)&&(m==1))
  s=a[0][0];

   printf("%d\n",s);


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