semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{int n,h,l,m,i,j,a[100][100],k;
		scanf("%d %d",&h,&l);
		for(k=0;k<h;k++)
			{for(j=0;j<l;j++)
				scanf("%d",&a[k][j]);
			}
		i=0;	
        while(i<l)
        {	k=i;
        	j=0;
			while(1)
        	{	printf("%d\n",a[j][k]);
        		k--;
                j++;
        		if(k<0||j==h)
        		break;
			}
			i++;		
		}
		i=1;
		while(i<h)
        {	k=i;
        	j=l-1;
			while(1)
        	{	printf("%d\n",a[k][j]);
        		k++;
                j--;
        		if(j<0||k==h)
        		break;
			}
			i++;		
		}
	return 0;
}
int main()
{
    int i, j, k;
    int row, col;
    int matrix[100*100];
    scanf("%d %d", &row, &col);
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            scanf("%d", matrix + i*100 + j);
        }
    }
    for (i = 0; i < col; i++) {
        for (j = i, k = 0; j >= 0 && k < row; j--, k++) {
            printf("%d\n", *(matrix + k*100 + j));
        }
    }
    for (i = 1; i < row; i++) {
        for (j = col - 1, k = i; j >= 0 && k < row; j--, k++) {
            printf("%d\n", *(matrix + k*100 + j));
        }
    }
    return 0;
}
/*
 * huixing2.cpp
 *
 *  Created on: 2012-12-5
 *      Author: wangyinzhi
 */


int mins(int x,int y){
	if(x>y) return y;
	else return x;
}

int maxs(int x, int y) {
	if (x > y)
		return x;
	else
		return y;
}

int main() {
	int row, col, i, j, n;
	cin >> row >> col;
	n = row * col;
	int a[row][col];
	for (i = 0; i < row; i++) {
		for (j = 0; j < col; j++) {
			cin >> a[i][j];
		}
	}
	for (i = 0; i < mins(row, col); i++) {
		for (j = 0; j <= i; j++) {
			cout<<a[j][i-j]<<endl;
		}
	}

		if (row >=col) {
			for (i = col ; i < row; i++) {
			for (j =i-col+1 ; j <= i; j++) {
				cout<<a[j][i-j]<<endl;
		}
	}
			for(i=row;i<=row+col-2;i++){
						for(j=i-col+1;j<row;j++){
							cout<<a[j][i-j]<<endl;
					}
				   }
		}
	   else {
		for(i=row;i<col;i++) {
			for(j=0;j<row;j++){
				cout<<a[j][i-j]<<endl;
		}
	}
		for(i=col;i<=row+col-2;i++){
			for(j=i-col+1;j<row;j++){
				cout<<a[j][i-j]<<endl;

		}
	   }
	   }

	return 0;
}
//
//  main.cpp
//  ??????????
//
//  Created by mac on 12-12-13.
//  Copyright (c) 2012? mac. All rights reserved.
//

int main(){
    int max, row,col,array[100][100];
    cin>>row>>col;
    for(int i=0;i<row;i++)
        for(int j=0;j<col;j++)
            cin>>array[i][j];
    int (*p)[100];
    p=array;
    for(int i=0;i<col;i++){
    for(int j=i;j>=0;j--){
        if((i-j)<row)
        cout<<*(*(p+i-j)+j)<<endl;
       }
    }
    if(row>col)
        max=row;
    else
        max=col;
    for(int i=col;i<=col+row-1;i++){
        for(int j=col-1;j>=0;j--){
            if((i-j)<row&&i-col+1>=0)
            cout<<*(*(p+i-j)+j)<<endl;
        }
    }
}
int main(){
	int row,col,a[101][101],i,j,k;
	scanf("%d%d",&row,&col);
	for(i=1;i<=row;i++){
		for(j=1;j<=col;j++){
		scanf("%d",&a[i][j]);
	    }
	}
	for(k=2;k<=row+col;k++){
		if(k<=col+1){
			for(j=k-1;j>=1&&k-j<=row;j--){
				printf("%d\n",a[k-j][j]);                       
	    	}
		}
		if(k>col+1){
			for(j=col;j>=1&&k-j<=row;j--){
				printf("%d\n",a[k-j][j]);
	    	}
		}
	}
	scanf("%d",&row);
	return 0;
}
int main()
{
	int i,j,k,a[100][100]={0},m,n,b[10000]={0};
	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++)
	{
		j=0;
		k=i;
		while(k!=-1&&j<m)
		{
			printf("%d\n",a[j][k]);
			j++;
			k--;
		}
	}
	for(i=1;i<m;i++)
	{
		j=n-1;
		k=i;
		while(k<m&&a[k][j]!=0)
		{
			printf("%d\n",a[k][j]);
			k++;
			j--;
		}
	}
	return 0;
}
int main()
{
	int r,c,i,j;
	int a[100][100];
	scanf ("%d%d",&r,&c);
	for (i=0;i<r;i++)
		for (j=0;j<c;j++)
			scanf ("%d",&a[i][j]);
	for (i=0;i<r+c-1;i++)
	{
		if (i<c&&c<=r)
			for (j=0;j<=i;j++)
				printf("%d\n",a[j][i-j]);
		else if (i>=c&&c<=r&&i<r)
			for (j=i-c+1;j<=i;j++)
				printf("%d\n",a[j][i-j]);
		else if (i>=r&&c<=r)
			for (j=i-c+1;j<r;j++)
				printf("%d\n",a[j][i-j]);
		else if (i<r&&c>r)
			for (j=0;j<=i;j++)
				printf("%d\n",a[j][i-j]);
		else if (i>=r&&c>r&&i<c)
			for (j=0;j<r;j++)
				printf("%d\n",a[j][i-j]);
		else if (i>=c&&c>r)
			for (j=i-c+1;j<r;j++)
				printf("%d\n",a[j][i-j]);
	}
	return 0;
}
int main()
{
	int R,C,i,j,k,l,m,n;
	int a[100][100];
	scanf("%d %d",&R,&C);
	for(i=0;i<R;i++)
	{
		for(j=0;j<C;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(j=0;j<C;j++)
	{   
		i=0;
		while(i<=j)
		{ 
			k=j-i;
			printf("%d\n",a[i][k]);
			i++;
			if(i>R-1){break;}
		}
	}
	for(l=C;l<R+C-1;l++)
	{
       m=l-C+1;
	   while(m<=l)
	   {
           n=l-m;
		   printf("%d\n",a[m][n]);
		   m++;
		   if(m>R-1) {break;}
	   }
	}
	return 0;
}
int main()
{
    int col, row;
    int count;
    int i, j;
    
    int array[100][100];
    
    scanf("%d %d", &row, &col);
    
    for(i = 0; i <= row - 1; i++)
          for(j = 0; j <= col - 1; j++)
                scanf("%d", &array[i][j]);
    
    
    
    
    int x = 0, y = 0;
                
    for(count = 1; count <= col; count++)
    {
              i = x;
              j = y;
              printf("%d\n", array[i][j]);
              
              while(i + 1 <= row - 1 && j - 1 >= 0)
              {
                      i = i + 1;
                      j = j - 1;
                      printf("%d\n", array[i][j]);
              }
              
              y = y + 1;
    }
    
    x = 1;
    y = col - 1;
    for(count = 2; count <= row; count++)
    {
              i = x;
              j = y;
              printf("%d\n", array[i][j]);
              
              while(i + 1 <= row - 1 && j - 1 >= 0)
              {
                      i = i + 1;
                      j = j - 1;
                      printf("%d\n", array[i][j]);
              }
              
              x = x + 1;
    }
              
    
    
  
    return 0;
}
int arr[100][100];
int row,col;
void bianli(int y,int x)//??x,y?????????
{
	for(;y<=row&&x>0;y++,x--)
	{
		cout<<*(*(arr+y)+x)<<endl;
	}
}
int main()
{
	cin>>row>>col;
	for(int i=1;i<=row;i++)
		for(int j=1;j<=col;j++)
			cin>>*(*(arr+i)+j);
	for(int i=1;i<=col;i++)//?????????
		bianli(1,i);
	for(int i=2;i<=row;i++)//?????
		bianli(i,col);
	return 0;
}
int main(){
	int iRow,iCol,i,j,k,iMax,iMin,p;	//???????iRow?iCol??????????i?j?k????????m?p?????iMin?????????????
	cin>>iRow>>iCol;	//???????
	if (iRow>iCol){		//??iRow?iCol???,??????iMax??????iMin
			iMin=iCol;
			iMax=iRow;
		}
	else{
			iMin=iRow;
			iMax=iCol;
		}
	int a[iMax][iMax];	//???????
	memset(a,0,sizeof(a));	//??????????
	for (i=0;i<=(iRow-1);i++)	//????????????
		for (j=0;j<=(iCol-1);j++)
			cin>>a[i][j];
	p=1;	//p???1?p??????????????????iCol??????????????????????????+1
	for (k=0;k<=(iMax*2-2);k++){
			if (k>iMax-1){	//????????iMax-1
				for (i=p,j=iMax-1;(i<=iMax-1)&&(j>=p);i++,j--){	//????????
					if (a[i][j]!=0){	//???????????
					    cout<<a[i][j]<<endl;
					}
					else continue;
				}
				p++;
			}
			else {
				for(i=0,j=k;(i<=k)&&(j>=0);i++,j--){	//??????????
					if (a[i][j]!=0)   //???????????
						cout<<a[i][j]<<endl;
					else continue;
				}
			}

		}

	return 0;

}
int main()
{
 	int sz[100][100];
 	int m,n,row,col,k;
 	scanf("%d %d",&m,&n);
 	for(row=0;row<m;row++){
			for(col=0;col<n;col++){
				scanf("%d",&sz[row][col]);
				}
			}
	for(k=0;k<m+n-1;k++){
		for(col=k,row=k-col;col<m+n-1&&col>=0;col--,row++){
			if(col>=n){
				continue;
				}
			else{
				if(row>=m){
					continue;
					}
				else printf("%d\n",sz[row][col]);
				}
			}
		}
 	
    return 0;
}
int main()
{
	int a[100][100];
	int i=0,j=0;
	int row,col;

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

	for(;i!=(row-1)||j!=(col-1);)
	{
		cout<<*(*(a+i)+j)<<endl;
		i++;
		j--;
		if(j<0||i>row-1)
		{
			if(i+j+1<col)
			{
				j=i+j+1;
				i=0;
			}
			else
			{
				i=i+j+1-(col-1);
				j=col-1;

			}
		}

	}
	cout<<*(*(a+row-1)+col-1);
}
int main()
{
	int row, col;
	int jz[100][100];
	int i=0;
	int j=0;
	int m=0;
	int n=0;
	scanf("%d %d",&row, &col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++)
			scanf("%d",&jz[i][j]);
	}

	printf("%d\n",jz[0][0]);

	if(row<=col){
		for(m=0,n=1;n<col;n++){
			for(i=m,j=n;j>=0&&i<row;i++,j--){
				printf("%d\n", jz[i][j]);
			}
		}
		for(m=1,n=col-1;m<row-1;m++){
			for(i=m,j=n;i<row;i++,j--){
				printf("%d\n",jz[i][j]);
			}
		}
	}
	
	else if(row>col){
		for(m=0,n=1;n<col;n++){
			for(i=m,j=n;j>=0&&i<row;i++,j--){
				printf("%d\n", jz[i][j]);
			}
		}
		for(m=1,n=col-1;m<row-1;m++){
			for(i=m,j=n;i<row&&j>=0;i++,j--){
				printf("%d\n",jz[i][j]);
			}
		}
	}
	if(row!=1)
		printf("%d", jz[row-1][col-1]);


	return 0;
}
int main()
{
    int i,j,col,row,array[100][100];
    scanf("%d %d",&row,&col);
    for(i=0;i<row;i++){
       for(j=0;j<col;j++){
          scanf("%d",&array[i][j]);
          }
          }
    int cxx=0,csx,rxx=0,rsx;
    for(i=0;i<col;i++){
       csx=i;
       rxx=0;
       while(csx>=0&&csx<col&&rxx>=0&&rxx<row){
       printf("%d\n",array[rxx][csx]);
       csx--;
       rxx++;
       }
       }
    for(j=1;j<row;j++){
       rxx=j;
       csx=col-1;
       while(csx>=0&&csx<col&&rxx>=0&&rxx<row){
       printf("%d\n",array[rxx][csx]);
       csx--;
       rxx++;
       }
       }
    int t;
    scanf("%d",&t);
    return 0;
}
int main()
{
	int row,col;
	cin>>row>>col;
	int array[101][101];
	int (*p)[101] = NULL;
	p = array;
	for (int i = 0;i<row;i++)
	{
		for (int j = 0;j<col;j++)
			cin>>*(p[i]+j);
	}
	for (int k = 0;k<row+col-1;k++)
	{
		for (int i = 0;i<row;i++)
		{
			for (int j = 0;j<col;j++)
			{
				if (i + j == k)
					cout<<*(p[i]+j)<<endl;
			}
		}
	}
	return 0;
}
int main(){
	int p,a,b,i,j,*num;
	num=(int *)malloc(sizeof(int)*10000);
	scanf("%d %d",&a,&b);
	for (i=1;i<=a;i++){
		for (j=1;j<=b;j++)
			scanf("%d",num+(i-1)*b+j);
	}
	 
	for (i=1;i<b;i++){
		p=i;
		for (;;){
			printf("%d\n",*(num+p));
			if (p%b==1 || p>b*(a-1)) break;
			p+=b-1;
		}
	}

	for (i=b;i<=a*b;i+=b){
		p=i;
		for (;;){
			printf("%d\n",*(num+p));
			if (p%b==1 || b==1 || p>b*(a-1)) break;
			p+=b-1;
		}
	}


}
int main()
{
int r,s,sz[100][100],R,C;
scanf("%d%d",&R,&C);
for(s=0;s<R;s++)
{
printf("\n");
for(r=0;r<C;r++)
{
scanf("%d",&sz[s][r]);
}
}
for(s=0;s<C+R-1;s++)
{
for(r=0;r<=s;r++)
{
if(s-r>=C)
continue;
if(r>=R)
break;
printf("%d\n",sz[r][s-r]);
}
}
return 0;
}
int main()
{
    int row,col;
    int i,j,sum,m,s;
    int A[100][100];
    scanf("%d%d",&row,&col);
    sum=row+col;
    for(i=1;i<=row;i++)
    {
       for(j=1;j<=col;j++)  
       {
            scanf("%d",&A[i][j]);                
       }                              
    }
    
    for(m=2;m<=sum;m++)
    {
       for(i=1;i<=row;i++)  
       {   
           s=m-i;
           if(s>col) continue;
            printf("%d\n",A[i][s]); 
            if((m-i)==1)break;                
       }                              
    }
    return 0;
}
int main()
{
	int n,m;
	int a[110][110];
	cin>>n>>m;
	for (int i=0;i<n;i++)
		for (int j=0;j<m;j++)
			cin>>a[i][j];
	for (int j=0;j<m+n-1;j++)
		for (int i=max(0,j-m+1);i<min(n,j+1);i++)
			cout<<a[i][j-i]<<endl;
	return 0;
}
void main()
{
	int row,col,a[100][100]={0},i,j,k;
	scanf("%d%d",&row,&col);
		for(i=0;i<row;i++)
			for(j=0;j<col;j++)
				scanf("%d",&a[i][j]);
		
	for(k=0;k<col;k++)
	{
		for(i=0;k-i>=0&&i<=row-1;i++)
			printf("%d\n",a[0+i][k-i]);
	}
	for(k=1;k<row;k++)
	{
		for(i=0;k+i<=row-1&&col-1-i>=0;i++)
			printf("%d\n",a[k+i][col-1-i]);
	}
}
int main()
{
	int row, col, array[100][100], i, j, k;
	cin >> row >> col;
	for( i = 0; i < row; i ++)
		for ( j = 0; j < col; j ++)
			cin >> array[i][j];
	for ( i = 0; i < col; i ++)
	{
		k = i;
		j = 0;
		while (( k >= 0 )&&( j <= row - 1 ))
		{
			cout << array[j][k] <<'\n';
			k --;
			j ++;
		}
	}
	for ( i = 1; i < row; i ++)
	{
		k = i;
		j = col - 1;
		while (( k <= row - 1 )&&( j >= 0  ))
		{
			cout << array[k][j] <<'\n';
			k ++;
			j --;
		}
	}
	return 0;
}
/*
 * bianlishuzu.cpp
 *
 *  Created on: 2013-12-6
 *      Author: ???
 */
int main()
{
	int row=0,col=0,i=0,j=0;
	int a[100][100];
	cin>>row>>col;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>*(*(a+i)+j);
	int sum=0;
	for(sum=0;sum<row+col-1;sum++)
	{
		if(sum<col)
		{
			for(i=0,j=sum;i<row&&i<=sum;i++,j--)
				cout<<*(*(a+i)+j)<<endl;
		}
		else
		{
			for(j=col-1,i=sum-col+1;i<row&&j>=0;j--,i++)
				cout<<*(*(a+i)+j)<<endl;
		}
	}
	return 0;
}
void main()
{
	int *a[101][101],lie,hang,i,j,h,l;
	scanf("%d %d",&hang,&lie);
	for	(i=1;i<=hang;i++)
		for (j=1;j<=lie;j++)
			a[i][j]=(int *)malloc(sizeof(int));

	for (i=1;i<=hang;i++)
		for (j=1;j<=lie;j++)
			scanf("%d",a[i][j]);
	for (j=1;j<=lie;j++)
	{
		h=1;
		l=j;
		while (l>=1 && h<=hang)
		{
			printf("%d\n",*a[h][l]);
			h++;
			l--;
		}
	}
	for (i=2;i<=hang;i++)
	{
		l=lie;
		h=i;
		while(l>=1 && h<=hang)
		{
			printf("%d\n",*a[h][l]);
			h++;
			l--;
		}
	}
}
int main()
{
	int q,m,n,a[100][100]={0},i,j;
	cin>>m>>n;
	for(i=0;i<=m-1;i++)
	{
		for(j=0;j<=n-1;j++)
		{
			cin>>a[i][j];
		}
	}
	for(i=0;i<=m+n-2;i++)
	{
		for(j=0;i-j>=0;j++)
		{
			if(j<m&&i-j<n)
			cout<<a[j][i-j]<<endl;
		}
	}
	cin>>q;
	return 0;
}
int main()
{
	int a[100][100];
	int row,col;
	scanf("%d%d",&col,&row);
	int i,j;
	for(i=0;i<col;i++)
	{
		for(j=0;j<row;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	int p;
	for(p=0;p<2*(row>col?row:col)-1;p++)
	{
		int k;
		for(k=0;(p-k)>=0;k++)
			{
				if(k<col&&(p-k)<row)
					printf("%d\n",a[k][p-k]);
				else
					continue;
		     }
	}
	return 0;
}
int main()
{
	int row,col,i,j,ji;
	int su[100][100];
	int h=0,l=0,sum,shibie;
	scanf("%d %d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&su[i][j]);
		}
	}
	ji=row*col;
	while(ji!=0){
		for(sum=0;sum<(row+col-1);sum++){
			if(sum<col){
				l=sum;
				h=0;
			}else{
				h=sum-col+1;
				l=col-1;
			}
			do{
			printf("%d\n",su[h][l]);
			ji--;
			l--;
			h++;
			}while((l>=0)&&(h<row));		
		}
	}
	return 0;
}
int main(){
	int i,j,u;
	int a[101][101];
	int r,c;
	scanf("%d%d",&r,&c);
	for(i=0;i<r;i++){
		for(j=0;j<c;j++){
			scanf("%d",&a[i][j]);
		}
	}
	i=0;
	j=0;
	u=0;
		for(i=0;(i<r)&&(u!=c);i++){
		if((i==0)&&(j==0)){
				printf("%d",a[i][j]);
			}
			else {
				printf("\n%d",a[i][j]);
			}
			if((i!=r-1)&&(j!=0)){
				j--;
			}
			else{
				u++;
				j=u;
				i=-1;
			}
		}
		i=1;
		u=1;
		for(j=c-1;(j>=0)&&(u<r);j--){
			
				printf("\n%d",a[i][j]);
			
			if((j!=0)&&(i!=r-1)){
				i++;
			}
			else {
				u++;
				i=u;
				j=c;
			}
		}

	return 0;
}
int main(int argc, char* argv[])
{
	int row=0,col=0,array[100][100];
	int i=0,j=0;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{
			scanf("%d",&array[i][j]);
		}
	}
	for(i=0;i<col;i++)
	{
		j=0;
		while(j<=i&&j<row)
		{
			printf("%d\n",array[j][i-j]);
			j++;
		}
	}
	for(i=1;i<row;i++)
	{
		j=0;
		while(j<=row-i-1&&j<col)
		{
			printf("%d\n",array[i+j][col-1-j]);
			j++;
		}
	}
	return 0;
}
int main()
{
    int row,col,i,j,k;
    int *array[100][100];
    scanf("%d %d",&row,&col);
    for (i=0;i<row;i++)
        for (j=0;j<col;j++)
            scanf("%d",*(array+i)+j);
    for (k=0;k<=row+col;k++)
        for (i=0;i<row;i++)
            for (j=0;j<col;j++)
                if (i+j==k)
                    printf("%d\n",*(*(array+i)+j));
}
int main()
{
	int row, col;
	cin >> row >> col;
	int a[100][100];
	int i, j, k;
	int min;
	for (i = 0; i < row; i++)
	{
		for (j = 0; j < col; j++)
		{
			cin >> a[i][j];
		}
	}
	if (row > col)
	{
		for (j = 0; j < col; j++)
		{
			for (i = 0, k = j; k >= 0; i++, k--)
				cout << a[i][k] << endl;
		}
		for (i = 1; i < row - col + 1; i++)
		{
			for (j = col - 1, k = i; j >= 0; j--, k++)
				cout << a[k][j] << endl;
		}
		for (; i < row; i++)
		{
			for (j = col - 1, k = i; k < row; k++, j--)
			{
				cout << a[k][j] << endl;
			}
		}
	}
	else
	{
		for (j = 0; j < row; j++)
		{
			for (i = 0, k = j; k >= 0; k--, i++)
			{
				cout << a[i][k] << endl;
			}
		}
		for (; j < col; j++)
		{
			for (i = 0, k = j; i < row; k--, i++)
			{
				cout << a[i][k] << endl;
			}
		}
		for (i = 1; i < row; i++)
		{
			for (k = i, j = col - 1; k < row; k++, j--)
			{
				cout << a[k][j] << endl;
			}
		}
	}
	return 0;
}
//  main.cpp
//  gosh
//  Created by ??? on 13-11-10.
//  Copyright (c) 2013? ???. All rights reserved.
/*
????row?col??????array????array[0][0]?????????????????????????
????
????????????????row?col?
???row??????col???????????????
??????row?col??0<row<100, 0<col<100?
????
????????????????????
????
3 4
1 2  4  7
3 5  8 10
6 9 11 12
 ????
 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12*/

int main()
{
    int row,col,i,j,k,a[400][400]={0};
    cin>>row>>col;
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
            cin>>a[i][j];
        }
    }
    for(k=0;k<=row+col-1;k++)
    {
        for(i=0;i<2*k+1;i++)
        {
            if(a[i][k-i]!=0)
            {cout<<a[i][k-i]<<endl;}
        }
    }
    return 0;
}
int main(){
int ROW,COL,row, col;
int k,i,j;
int sz[101][101];
scanf("%d %d",&ROW,&COL);
for(row=0;row<ROW;row++){
for(col=0;col<COL;col++){
scanf("%d",&sz[row][col]);}
} 
for (k=0; k<COL; k++) {
for (i=0, j=k; i<ROW && j>=0; i++, j--)
printf("%d\n",sz[i][j]);
}
for (k=1; k<ROW; k++) {
for (i=k, j=COL-1; i<ROW && j>=0; i++, j--)
printf("%d\n",sz[i][j]);
}
return 0;
}
int main()
{
    int a[100][100];
    int i,j,s,t,d;
    scanf("%d%d",&s,&t);
    for(i=0;i<s;i++){
        for(j=0;j<t;j++){
            scanf("%d",&a[i][j]);
        }
        printf("\n");
    }
    for(d=0;d<s+t-1;d++){
        for(i=0;i<s;i++){
            for(j=0;j<t;j++){
                if(i+j==d){
                    printf("%d\n",a[i][j]);
                }
            }
        }
    }
    return 0;
}
//********************************
//*?? ?????????? *****
//*????? 1300012753     ***** 
//*???2013.11.01          *****   
//********************************
int main()
{
	int row, col;
	int a[100][100];
	cin >> row >> col;
	for (int i = 0; i < row; i++)
	{
		for (int j = 0; j < col; j++)
		{
			cin >> a[i][j];
		}
	}
	for (int sum = 0; sum <= row + col - 2; sum++)
	{
		for (int i = 0; i <= sum; i++)
		{
			if(i > row - 1)
			break;
			for (int j = 0; j <= sum; j++)
			{
				if(j > col - 1)
				break;
				if(i + j == sum)
				cout << a[i][j] << endl;
			}
		}
	}
	return 0;
}
int main(){
	    int row,col,i,j,k;
		int a[100][100];
		cin>>row>>col;
		for(i=0;i<row;i++)
			for(j=0;j<col;j++){
				cin>>*(*(a+i)+j);
			}
		for(i=0;i<col-1;i++)
			for(j=0,k=i;k>=0&&j<row;k--,j++){
				cout<<*(*(a+j)+k)<<endl;
			}
		for(i=0;i<row;i++)
			for(j=col-1,k=i;k<row&&j>=0;k++,j--){
				cout<<*(*(a+k)+j)<<endl;
			}
}
int main(int argc, char* argv[])
{
	int a,b,*p,i,j,k;
	p=(int*)malloc(11000*sizeof(int));
	scanf("%d %d",&a,&b);
	for(i=0;i<a*b;i++)
	{
		scanf("%d",p+i);
	}
	for(i=0;i<b;i++)
	{
		k=i;
		j=0;
		while(k>=0&&j<a)
		{
			printf("%d\n",*(p+k+j*b));
			k--;
			j++;
		}
	}
	for(i=1;i<=a;i++)
	{
		k=i;
		j=0;
		while(k<a&&j<b)
		{
			printf("%d\n",*(p+b-1-j+k*b));
			j++;
			k++;
		}
	}
}
int a[100][100];
int row, col;
int main() {
	cin >> row >> col;
	for (int i = 1; i <= row; i++)
		for (int j = 1; j <= col; j++)
			cin >> *(*(a + i) + j);
	for (int i = 2; i <= row + col; i++)
		for (int j = max(1, i - col); j <= min(row, i - 1); j++)
			cout << *(*(a + j) + i - j) << endl;
	return 0;
}
int main()
{	int a[num][num];
	int row,col;
	int i,j;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			scanf("%d",&a[i][j]);
	for(j=0;j<col;j++)
	{
		if(j<row)//?????row??col???????col???0??
		{	for(i=0;i<=j;i++) 
				printf("%d\n",a[i][j-i]);		
		}
		
		else//col>row?????????row?????col++???
		{	for(i=0;i<row;i++) 
				printf("%d\n",a[i][j-i]);	
		}
	}
	
	for(j=col;j<col+row-1;j++)//??????a[row-1][col-1]??j???
	{	for(i=j-col+1;j-i>=0;i++)//??????col????1??????????j++???i??????
		{	if(i<row)
				printf("%d\n",a[i][j-i]);}
	}
	return 0;
}
/* ????????????????
 * ??????
 * ?????2011?11?3?
 * ?????????????????????????
 */
int main()                                  //???
{                                           //?????
	int row,col;                      //??????
	int a[100][100];                        //??????
	cin>>row>>col;
	for(int i=0;i<row;i++)
			for(int j=0;j<col;j++)
				cin>>a[i][j];               //????
	for(int m=0;m<col+row-1;m++)
			for(int i=0;i<row;i++)
					for(int j=0;j<col;j++)
						if((i+j)==m)          //?????????????
							cout<<a[i][j]<<endl; //????
		return 0;
	}//????
int main()
{
    int i,j,k,m,n;
    int **p,**q;
    p=(int **)malloc(100*sizeof(int *));
    for(i=0;i<100;i++)
    {
                      *(p+i)=(int *)malloc(100*sizeof(int));
    }
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++)
    {
                    for(j=0;j<n;j++)
                    {
                                    scanf("%d",(*(p+i)+j));
                    }
    }
    for(i=0;i<m+n-1;i++)
    {
                        for(j=0;j<=i;j++)
                        {
                                        if((j<m)&&((i-j)<n)){
                                        if(i==0)
                                        {
                                                printf("%d",*(*(p+j)+i-j));
                                        }
                                        else
                                        {
                                                printf("\n%d",*(*(p+j)+i-j));
                                        }}
                        }
    }
        return 0;
}
main()
{
	int i,j,m,n;
	int a[100][100];
	scanf("%d%d",&m,&n);
	for(i=0;i<=m-1;i++)
	{
		for(j=0;j<=n-1;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<=(m+n-2);i++)
	{
		for(j=0;j<=(m-1)&&j<=i;j++)
		{
			if((i-j)<=(n-1))
			printf("%d\n",a[j][i-j]);
		}
	}
	return 0;
}
int main(int argc, char* argv[])
{
	int row,col,ROW,COL,array[100][100];
	scanf("%d %d",&ROW,&COL);
	for(row=0;row<ROW;row++){
		for(col=0;col<COL;col++){
			scanf("%d",&array[row][col]);
		}
	}
	if(ROW>1&&COL>1){
		for(col=0;col<COL;col++){
			for(row=0;row<ROW;row++){
				if(col-row<0)
					break;
				else
					printf("%d\n",array[row][col-row]);
			}
		}
		for(row=1;row<ROW-1;row++){
			for(col=COL-1;col>=0;col--){
				if(row+COL-1-col>ROW-1)
					break;
				else
					printf("%d\n",array[row+COL-1-col][col]);
			}
		}
	}
	if(ROW==1&&COL>1){
		for(col=0;col<COL-1;col++){
			printf("%d\n",array[0][col]);
		}
	}
	if(COL==1&&ROW>1){
		for(row=0;row<ROW-1;row++){
			printf("%d\n",array[row][0]);
		}
	}
	printf("%d",array[ROW-1][COL-1]);
	return 0;
}
int main()
{
	int row,col,k,i,j;
	int a[100][100]={{0},{0}};
	scanf("%d%d",&row,&col);
		for(i=0;i<row;i++)
		{
			for(j=0;j<col;j++)
			{
			scanf("%d",&a[i][j]);
			}
		}
		for(k=0;k<row+col-1;)
		{
			for(i=0;i<row;i++)
			{
				for(j=0;j<col;j++)
				{
				if(i+j==k)
				{
					printf("%d\n",a[i][j]);
				}
				}
			}
		k++;
		}
}
/* 
 * ????main.cpp
 * ??????
 * ?????2012-12-10
 * ???????row?col??????array????array[0][0]?????????????????????????
 */

int main ()
{
	int array[100][100],row,col,i,j,*p = NULL;//????array???????row,col??????????????i,j;??*p
	cin >> row >> col;
	memset(array,0,sizeof(array));//?????
	for ( i = 0; i < row; i++ )//????
		for ( j = 0; j < col; j++ )
			cin >> array[i][j];
	for ( i = 0; i < col; i++ )//?????????????
		for ( p = &array[0][i]; *p; p += 99 )
			cout << *p << endl;
	for ( i = 1; i < row; i++ )//???????????
		for ( p = &array[i][col-1]; *p; p += 99 )
			cout << *p << endl;
	return 0;
}
int main()
{
	int row,col;
	int num[120][120];

	scanf("%d %d", &row, &col);

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

	for (int k = 0; k <= col + row - 1; k++)
	{
		int minRow, minCol;
		if (k < col)	minRow = 0;
		else	minRow = k - col + 1;

		if (k < row)	minCol = 0;
		else	minCol = k - row + 1;

		for (int i = minRow; i <= k; i++)
		{
			if((k-i) >= minCol)	printf("%d\n", num[i][k-i]);
		}
	}

	return 0;
}
int main()
{
int row,col;
cin>>row>>col;
int a[100][100];
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
cin>>*(*(a+i)+j);
for(int i=0;i<col;i++)
for(int j=0;j<row&&j<=i;j++)
cout<<*(*(a+j)+i-j)<<endl;
for(int i=1;i<row;i++)
for(int j=0;col-1-j>=0&&i+j<row;j++)
cout<<*(*(a+i+j)+col-1-j)<<endl;
    return 0;
}
int main()
{
int row,col,i,j;
int array[101][101];
cin>>row>>col;
for(i=1;i<=row;i++)
  for(j=1;j<=col;j++)
     cin>>*(*(array+i)+j);
     
for(i=1;i<=row+col-1;i++)
   for(j=0;j<=i;j++)
      if(i-j>0&&i-j<=col&&j+1<=row)
	  cout<<*(*(array+j+1)+i-j)<<endl;
return 0;

}