semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
	int n,a[1000],k,i,j,t;
	scanf("%d",&n);
	scanf("%d",&k);
	i=0;
	while(i<n){
		scanf("%d",&a[i]);
		i=i+1;
	}
	for(j=0;j<n-1;j=j+1){
                       for(i=j-1;i<n-1;i=i+1){
                                            if(a[i]+a[j]==k){
                                                            break;
                                            }
                       }
                       if(a[i]+a[j]==k){
                                       break;
                       }
    }
    if(a[i]+a[j]==k){
                 printf("yes");
    }
    else{
                 printf("no");
    }
	return 0;
}
int main()
{
	int n,i,h,b,c,j,k;
	int a[1000];
	b=0;
	scanf("%d%d",&n,&h);
	for(i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	for(j=1;j<=n;j++){
		for(k=j+1;k<=n;k++){
			if(a[j]+a[k]==h){
				printf("yes");
				b=1;
				goto A;
			}
		}
	}
	A:
	if(b==0)printf("no");		
	return 0;
}
int main()
{
   int n,k,i,j,a[1000],l=0;
   scanf("%d %d",&n,&k);
   for(i=0;i<n;i++)
      scanf("%d",&a[i]);
   for(i=0;i<n;i++)
   {
       for(j=i+1;j<n;j++)
       {
          if(a[i]+a[j]==k){l=1;break;}
        }
       if(l==1)break;
    }
       if(l==1){printf("yes\n");}
       if(l==0){printf("no\n");}
     
    return 0;
}
int main(){
	int n;
	int k;
	int a[1010];
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>a[i]; 
		}
	//???? 
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			if(a[i]+a[j]==k){
				cout<<"yes"<<endl;
				return 0; 
				} 
			} 
		}
	cout<<"no"<<endl;
	return 0; 
	}
//
//  main.cpp
//  hw
//
//  Created by ? ? on 12-12-13.
//  Copyright (c) 2012? ? ?. All rights reserved.
//

int cmp(const void *a, const void *b)
{
    return(*(int *)a-*(int *)b);
}

int main()
{
    int n,k,num[1000]={0};
    cin>>n>>k;
    for (int i=0; i<n; i++) {
        cin>>num[i];
    }
    qsort(num, n, sizeof(int), cmp);
    if (k>num[0]+num[n-1]) {
        cout<<"no";
        return 0;
    }
    int p=0;
    for (int i=0; i<n; i++,p++) {
        int sum;
        for (int j=i+1; j<n; j++) {
            sum=num[i]+num[j];
            if (sum==k) {
                cout<<"yes";
                return 0;
            }
        }
    }
    if (p==n) {
        cout<<"no";
    }
    return 0;
}
int main()
{
int n,k,i,j,z,sum=0,x=0;
int sz[1000];
scanf("%d %d", &n,&k);
for(i=0; i<n; i++){
scanf("%d",&sz[i]);}
for(j=0;j<n-1; j++)
for(z=j+1;z<n; z++)
{
sum=sz[j]+sz[z];
if(sum==k)
{x++;}}
if (x==0) printf("no");
else if(x!=0)printf("yes");
return 0;
}
int main(int argc, char* argv[])
{
	int n,k,i,j;
	int sz[1000];
	int tag=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&sz[i]);
	for(i=0;i<n;i++)
	{
		for(j=i;j<n;j++)
			if(sz[i]+sz[j]==k)
				tag=1;
	}
	if(tag)
		printf("yes");
	else 
		printf("no");
	return 0;
}
int main(){
int n,k,i,j,a[1000],b[1000];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++){
	scanf("%d",&a[i]);
}
for(i=0;i<n;i++){
	b[i]=a[i];
}
for(j=0;j<n;j++){
	for(i=0;i<n;i++){
		if(i==j){
			continue;
		}else if(k==a[j]+b[i]){
				printf("yes\n");
				break;
			}
		}
		if(k==a[j]+b[i]){
			break;
		}
	}
	if(k!=a[j]+b[i]){
		printf("no\n");
	}
     return 0;

}
int main(){
	int n,k,c,h=0;
	scanf("%d%d",&n,&k);
	int*za=(int*)malloc(sizeof(int)*n);
	for(int i=0;i<n;i++){
		scanf("%d",&(za[i]));
	}
		for(int m=0;m<n-1;m++){
			for(c=m+1;c<n;c++){
				if(za[m]+za[c]==k){
				h++;
				}
			}
		}
		if(h>0){
			printf("yes");
		}else{
			printf("no");
		}

	free(za);
	return 0;
}
int main(int argc, char *argv[])
{
  int n,k,i,j,jude=0;
  scanf("%d %d",&n,&k);
  int a[n];
  for (i=0;i<=n-1;i++)
    scanf("%d",a+i);
  for (i=0;i<=n-1;i++)
  {
      for (j=i+1;j<=n-1;j++)
         if (a[i]+a[j]==k)
           {jude=1;break;}
   }
   if (jude==1)
   printf("yes");
   else
   printf("no");
  return 0;
}
int main()
{
int i,j,n,k,a=0;
scanf("%d",&n);
scanf("%d",&k);
int *sz=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
		
	}
for(i=0;i<n;i++)
{
	
	for(j=0;j<n;j++)
		{if(j==i)
		{continue;}
	
		if((sz[i]+sz[j])==k)
		{a++;}}
}
if(a>0)
{printf("yes");}
if(a==0)
{printf("no");}
	return 0;
}
int main()
{
	int u[1000],v[1000];
	int i,j,n,k,a=0;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&u[i]);
	}
	for(j=0;j<n;j++){
		v[j]=u[j];
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(i==j){
				continue;
			}else {
				if(u[i]+v[j]==k){
					a++;
				}else{
					continue;
				}
			}
		}
	}
	if(a==0){
		printf("no");
	}else{
		printf("yes");
	}
	return 0;
}
int main()
{
   int n,k,i,m[1000],a;
   scanf("%d%d",&n,&k);
   for(i=0;i<n;i++)
   {
	   scanf("%d",&(m[i]));
       for(a=0;a<i;a++){
		   if(k==m[a]+m[i]){
			   printf("yes\n");
		       goto abc;
		   }
	   }
   }
   printf("no\n");
abc:	return 0;
}
int main()
{
	int n,i,k;
	int a[1000]={0};
	int b[10000]={0};
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
       {scanf("%d",&a[i]);
        b[a[i]]=1;
	   }
    for(i=1;i<=n;i++)
       if(b[k-a[i]]==1&&k-a[i]>0){printf("yes");return 0;}
    printf("no");
	return 0;
}
int main()
{
	int a[100][100], row, col, i, j, p, q;
	cin >> row >> col;
	for (i = 0; i < row; i++)
		for (j = 0; j < col; j++) 
			cin >> a[i][j];
	for (i = 0; i < col; i++)
	{
		p = 0;
		q = i;
		do 
		{
			cout << a[p][q] << endl;
			p++;q--;
		} while (q >= 0 && p < row);
	}
	for (i = 1; i < row; i++)
	{
		p = i;
		q = col - 1;
		do 
		{
			cout << a[p][q] << endl;
			p++;q--;
		} while (p < row && q >= 0);
	}
	return 0;
}
int main()
{
	int row,col,a[101][101];
	cin>>row>>col;
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
			cin>>a[i][j];
	}
	for(int n=0;n<col;n++)
	{
		for(int i=0,j=n;j>=0&&i<row;i++,j--)
			cout<<a[i][j]<<endl;;
	}
	for(int n=1;n<row;n++)
	{
		for(int i=n,j=col-1;i<row&&j>=0;i++,j--)
			cout<<a[i][j]<<endl;
	}


	return 0;
}
int main()
{
	int row,col;
	cin>>row>>col;
	int array[row][col];
	for(int i=0;i<row;i++)
		for(int j=0;j<col;j++)
			cin>>*(*(array+i)+j);
	for(int i=0;i<=row+col-2;i++)
		for(int j=0;j<=i;j++)
			if (j<row&&i-j<col)cout<<*(*(array+j)+i-j)<<endl;
	return 0;
}
/*
 * ????
 * Created on: 2012-12-12
 * ??
 * Author: ???
 */

void bianli(){

}
int main(){
	int i=0,j=0,row=0,col=0;
	cin>>row>>col;
	int a[row][col], *p=*a;
	for (i=0;i<row;i++)
		for (j=0;j<col;j++)
			cin>>*(*(a+i)+j);
	/*for (i=0;i<row;i++)
			for (j=0;j<col;j++)cout<<a[i][j]<<endl;*/
	for (i=0;i<col;i++){
		p=*a+i;
		j=i+1;
		while(j){
			cout<<*p<<endl;
			p=p+col-1;
			if(j>row)j=row-1;
			else j--;
		}
	}
	for (i=1;i<row;i++){
		p=*(a+i)+col-1;
		j=row-i;
		while (j){
			cout<<*p<<endl;
			p=p+col-1;
			if(j>col)j=col-1;
			else j--;
		}
	}
	return 0;
}
// ??(6-4) ??????????.cpp : ??????????????
//

int main()
{
	int n,m;
	cin>>n>>m;
	int s[120][120];
	int i,j;
	for (i=0;i<n;i++)
		for (j=0;j<m;j++)
		{
			cin>>s[i][j];
		}
	int num;
	for (num=0;num<m+n-1;num++)
	{
		for (j=num;j>-1;j--)
		{
			i=num-j;
		    if (i>-1&&i<n&&j<m)
		    {
				cout<<s[i][j]<<endl;
		    }
		}
	}
	return 0;
}
main()
{
	int row,col,n,m,i,j;
	int (*p)[1000],(*q)[1000];
	scanf("%d%d",&row,&col);
	p = (int(*)[1000])malloc(row*1000*sizeof(int));
	q = p;
	for(i = 0;i < row;i++)
	{
		for(j = 0;j < col;j++)
		{
			scanf("%d",*(q+i)+j);
		}
	}
	q = p;
	for(j = 0;j < col;j++)
	{
		m = j;
		for(i = 0;m >=0&&i < row;m--,i++)
		{
			printf("%d\n",*(*(q+i)+m));
		}
	}
	for(i = 1;i < row;i++)
	{
		m = i;
		for(j = col - 1;m < row&&j>=0;j--,m++)
		{
			printf("%d\n",*(*(q+m)+j));
		}
	}
}
/*
 * try_second.cpp
 *
 *  Created on: 2012-12-9
 *      Author: ada
 */
int main()
{
	int m , n ;
	cin >> m >> n ;
	int a[100][100] ;
	for(int i = 0 ; i < m ; i++)
	{
		for(int j = 0 ; j < n ; j++)
		{
			cin >> a[i][j] ;
		}
	}
	for(int i = 0 ; i < (m+n) ; i++)
	{
		for(int j = 0 ; j < m ; j++)
		{
			for(int k = 0 ; k <n ; k++)
			{
				if(j+k == i)
				{
					cout << a[j][k] <<endl ;
				}
			}
		}
	}
	return 0 ;
}
int main()
{
    int m,n;
    cin>>m>>n;
    int a[m+1][n+1];
    for(int i=1;i<=m;i++)
    	for(int j=1;j<=n;j++)
    		cin>>a[i][j];
    if(m==1)
    	for(int i=1;i<=n;i++)
    		cout<<a[1][i]<<endl;
    else if(n==1)
    	for(int i=1;i<=m;i++)
    	    		cout<<a[i][1]<<endl;
    else if(m<n){
    	for(int i=2;i<=m;i++)
    		for(int j=1;j<i;j++)
    			cout<<a[j][i-j]<<endl;
    	for(int i=m+1;i<=n+1;i++)
    		for(int j=i-1;j>=i-m;j--)
    			cout<<a[i-j][j]<<endl;
    	for(int i=n+2;i<=n+m;i++)
    		for(int j=n;i-j<=m;j--)
    			cout<<a[i-j][j]<<endl;
    }
    else if(m>=n)
    {
    	        for(int i=2;i<=n;i++)
    	    		for(int j=1;j<i;j++)
    	    			cout<<a[j][i-j]<<endl;
    	    	for(int i=n+1;i<=m+1;i++)
    	    		for(int j=n;j>=1;j--)
    	    			cout<<a[i-j][j]<<endl;
    	    	for(int i=m+2;i<=m+n;i++)
    	    		for(int j=n;i-j<=m;j--)
    	    			cout<<a[i-j][j]<<endl;
    }
	return 0;
}
int main(){
	int a[101][101];
	int i,j,row,col,rowc,colc;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<row+col-1;i++){
		for(j=i;j>=0;j--){
			colc=j;
			rowc=i-j;
			if(colc>=col){
				continue;
			}
			if(row>col&&rowc>=row){
				continue;
			}
			if(col>=row&&rowc==row){
				break;
			}
			printf("%d\n",a[rowc][colc]);
		}
	}
	return 0;
}
int a[201][201];
int main()
{
	int n,m;
	cin>>n>>m;
	memset(a,0,sizeof(a));
	for(int i=0;i<n;i++)
	for(int j=0;j<m;j++)
	cin>>*(*(a+i)+j);
	for(int s=0;s<n+m-1;s++)
	for(int i=0;i<=s;i++)
	if(a[i][s-i]!=0)cout<<a[i][s-i]<<endl;
}
int main()
{
    int matrix[99][99], row, column, startcolumn = 0, startrow = 1;
    cin >> row >> column;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            cin >> matrix[i][j];
        }
    }
    int x = 0, y;
    do
    {
        y = startcolumn;
        while (x < row && y >= 0)
        {
              cout << matrix[x][y] << endl;
              x++; y--;
        }
        x = 0; startcolumn++;
    } while (startcolumn < column);
    int m, n = column - 1;
    do
    {
        m = startrow;
        while (m < row && n >= 0)
        {
              cout << matrix[m][n] << endl;
              m++; n--;
        }
        startrow++; n = column - 1;
    } while (startrow < row);            
    
    return 0;
}
int main()
{
	int row,col;
	cin>>row>>col;
	int a[100][100];
	for(int i=0;i<=row-1;i++)
	
	{
		for(int s=0;s<=col-1;s++)
		{
			cin>>a[i][s];
		}
		cout<<endl;
	}
	int h=-1,l=2;
	cout<<a[0][0]<<endl;
	for(int t=1;t<=col-1;t++)
	{
	
		
		while(l>0 && h<row-1)
		{
			h++;
			l--;
			cout<<a[h][l]<<endl;
		}
		l=t+2;
		h=-1;
	}
int d=col,b=0;
for(int j=1;j<=row-1;j++)
{
while(d>0 &&  b<row-1)
{
	d--;
	b++;
	cout<<a[b][d]<<endl;
}
d=col;
b=j;
}
return 0;
}
int main()
{
int a[200][200];
int *p=a[0];
int m,n;
cin>>m>>n;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
cin>>*(p+i*n+j);
}
for(int i=0;i<m+n-1;i++)
{
int flag=1;
int x=0;
int y=i;
while(flag==1)
{
if(y<n&&x>=0)cout<<*(p+x*n+y)<<endl;
x++;
y--;
if(y<0||x>m-1)flag=0;
}
}
}
int main()
{
	int row,col,i,k,j,p;
	int a[123][123];
	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-2;k=k+1)
		{
			for(p=0;p<=k;p++)
			{
				if(p<row&&k-p<col)
				printf("%d\n",a[p][k-p]);}
		}
return 0;
}
void main()
{
	void prt(int ary[][100],int a,int b);
	int array[100][100]={0};
	int row,col;
	scanf("%d %d",&row,&col);
	int i=0,j=0;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
		{
			scanf("%d",&array[i][j]);
		}
	prt(array,row,col);
}
void prt(int ary[][100],int a,int b)
{
	int min(int c,int d);
	int max(int e,int f);
	int k=0,l=0;
	printf("%d",ary[0][0]);
	for(l=1;l<b;l++)
	{
		int m=l;
		for(k=0;k<=min(l,a-1);k++)
		{
			printf("\n%d",ary[k][m]);
			m-=1;
		}
	}
	k=1;l=b-1;
	for(k=1;k<a;k++)
	{
		int n=k;
		for(l=b-1;l>=max(0,b-a+k);l--)
		{
			printf("\n%d",ary[n][l]);
			n+=1;
		}
	}

}
int min(int c,int d)
{
	return(c>=d?d:c);
}
int max(int e,int f)
{
	return(e>=f?e:f);
}
int *matrix;
int *matrix_end;
int row,col;

int* next(int* p)
{
	printf("%d\n",*p);
	return p+col-1;
}


void main()
{
	int i,j,k;
	scanf("%d %d",&row,&col);
	matrix = malloc(row*col*sizeof(int));
	matrix_end = matrix+row*col-1;
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{
			scanf("%d",&matrix[i*col+j]);
		}
	}
	
	int *iter;
	int *iter_;
	iter = matrix;
	for(iter = matrix; iter< matrix+col;iter++)
	{
		int a = iter-matrix+1;
		if(row<a)a = row;
		iter_ = iter;
		while(a--)
		{
			iter_ = next(iter_);
		}
	}
	for(iter = matrix+2*col-1;iter<=matrix_end;iter = iter+col)
	{
		int a = (matrix_end-iter)/col+1;
		if(col<a)a = col;
		iter_ = iter;
		while(a--)
		{
			iter_ = next(iter_);
		}
	}
}
int main()
{
	int i,j,row,col,shuzu[100][100],n=0;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&shuzu[i][j]);
		}
	}
	if(row==col){
		for(i=0;i<col;i++){
			for(j=0;j<row;j++){
				printf("%d\n",shuzu[j][i-j]);
				if((i-j)==0){
					break;
				}
			}
		}
		for(i=1;i<row;i++){
			for(j=0;j<col;j++){
				printf("%d\n",shuzu[i+j][col-1-j]);
				if((i+j+1)==row){
					break;
				}
			}
		}
	}
	if(row>col){
		for(i=0;i<col;i++){
			for(j=0;j<row;j++){
				printf("%d\n",shuzu[j][i-j]);
				if((i-j)==0){
					break;
				}
			}
		}
		for(i=1;i<row;i++){
			for(j=0;j<col;j++){
				printf("%d\n",shuzu[i+j][col-1-j]);
				if((col-1-j)==0){
					break;
				}
				if((i+j+1)==row){
					break;
				}
			}
		}
	}
	if(row<col){
		for(i=0;i<col;i++){
			for(j=0;j<row;j++){
				printf("%d\n",shuzu[j][i-j]);
				if((i-j)==0){
					break;
				}
			}
		}
		for(i=1;i<row;i++){
			for(j=0;j<col;j++){
				printf("%d\n",shuzu[i+j][col-1-j]);
				if((i+j+1)==row){
					break;
				}
			}
		}
	}
	return 0;
}
int main()
{
	int ro,co,sz[100][1000],i,j,m,k,c=0,b=1;
	scanf("%d%d",&ro,&co);
	for(i=0;i<ro;i++){
		for(j=0;j<co;j++){
			scanf("%d",&sz[i][j]);
		}
	}
    m=ro*co;
	i=0;
	j=0;
    for(k=0;k<m;k++){
   	printf("%d\n",sz[i][j]);
	if(ro>=co){
	if(j==0&&i<co-1){
		     j=i+2;
			 i=-1;
		 }
	 j--;
	 i++;
     if((j<0&&i>co-1)||i>ro-1){
			 j=co-1;
			 i=c+1;
			 c++;
		 }

	   }
   if(ro<co){
		if(j==0&&i<=ro-1){
			    j=i+2;
				i=-1;
			}
	  j--;
	  i++; 
	   if(i>ro-1){
		  i=0;
		  j=ro+c+1;
		  c++;
	  }
	
     if(j>co-1){
         j=co-1;
		 i=b;
		 b++;
	  }
		}
	
	}
	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++)
	{
		int r=0;
		int c=i;
		while(r<=row-1&&c>=0)
		{
			cout<<a[r][c]<<endl;
			r=r+1;
			c=c-1;
		}
	}
	for(int i=1;i<row;i++)
	{
		int r=i;
		int c=col-1;
		while(r<=row-1&&c>=0)
		{
			cout<<a[r][c]<<endl;
			r=r+1;
			c=c-1;
		}
	}

	return 0;
}
int main(){
	int row,col,sz[100][100];
	int xx_row,sx_row,xx_col,sx_col;
	int i,j,c,r;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&sz[i][j]);
		}
	}
	xx_row=0;
	sx_row=row-1;
	xx_col=0;
	sx_col=col-1;
	if(col>row){
		for(c=xx_col;c<=sx_row;c++){
			i=0;
			for(j=c;j>=xx_col;j--){
				printf("%d\n",sz[i][j]);
				i++;
			}
		}
		for(c=sx_row+1;c<sx_col;c++){
			j=c;
			for(i=0;i<=sx_row;i++){
				printf("%d\n",sz[i][j]);
				j--;
			}
		}
		for(r=xx_row;r<=sx_row;r++){
			j=sx_col;
			for(i=r;i<=sx_row;i++){
				printf("%d\n",sz[i][j]);
				j--;
			}
		}
	}
	if(col<row){
		for(c=xx_col;c<=sx_col;c++){
			i=0;
			for(j=c;j>=xx_col;j--){
				printf("%d\n",sz[i][j]);
				i++;
			}
		}
		for(r=xx_row+1;r<row-col;r++){
			i=r;
			for(j=sx_col;j>=xx_col;j--){
				printf("%d\n",sz[i][j]);
				i++;
			}
		}
		for(r=row-col;r<=sx_row;r++){
			j=sx_col;
			for(i=r;i<=sx_row;i++){
				printf("%d\n",sz[i][j]);
				j--;
			}
		}
	}
	if(col==row){
     	for(c=xx_col;c<=sx_row;c++){
			i=0;
			for(j=c;j>=xx_col;j--){
				printf("%d\n",sz[i][j]);
				i++;
			}
		}
		for(r=xx_row+1;r<=sx_row;r++){
			j=sx_col;
			for(i=r;i<=sx_row;i++){
				printf("%d\n",sz[i][j]);
				j--;
			}
		}
	}
	return 0;
}
int main() 
{
	int a[100][100],r,c,i=0,j=0,x=0,y;
	cin>>r>>c;
	y=r+c;
	for(i=0;i<r;i++)
			for(j=0;j<c;j++)
				cin>>a[i][j];
	while(x<=y){
		for(i=0;i<r;i++)
			for(j=0;j<c;j++)
				if(i+j==x)cout<<a[i][j]<<endl;
		x++;
	}
	return 0;
}
int main()
{
    long t,m,r,l,i,x,j,a[1000][1000]={0},b[1000]={0};
    scanf("%ld%ld",&r,&l);
    for(i=1;i<=r;i++)
       for(j=1;j<=l;j++)
          {scanf("%ld",&x);
           a[i+j][b[i+j]]=x;
           b[i+j]++;  
                     }
           i=i-1;
           j=j-1;
    for(t=2;t<=i+j;t++)
       {for(m=0;m<b[t];m++)
          { printf("%ld\n",a[t][m]);}
                                     }
    return 0;
}
void main()
{
	int row,col,a[MAX][MAX],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(j=0;j<col;j++)
		for(i=0,k=j;i<row&&k>=0;i++,k--)
			printf("%d\n",a[i][k]);

	for(i=1;i<row;i++)
		for(k=i,j=col-1;k<row&&j>=0;k++,j--)
			printf("%d\n",a[k][j]);
}
int main(){
int a[200][200];
int i,j,u,t=0;
int row,col;
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++){
	for(u=0;;u++){
		if(u>=row||j-u<0) break;
		printf("%d\n",a[u][j-u]);
		}
	}

for(j=1;j<row;j++){
	for(u=1;;u++){
		if(u+j-1>=row||col-u<0) break;
	
			printf("%d\n",a[u+j-1][col-u]);
	
	}
}
return 0;
}
int n, m;
int x[1000][1000];
void f(int i, int j)
{
	cout << x[i][j] << endl;
	if (i == m && j == n)
		return;
	else if (j == 1 && i + 1 <= n)
		f(1, i + 1);
	else if (j == 1 && i + 1 > n)
		f(i + j - n + 1, n);
	else if (i == m && i + j <= n)
		f(1, i + j);
	else if (i == m && i + j > n)
		f(i + j - n + 1, n);
	else
		f(i + 1, j - 1);
}
int main()
{
	cin >> m >> n;
	int i, j;
	for (i = 1; i <= m; i ++)
		for (j = 1; j <= n; j ++)
			cin >> x[i][j];
	f(1, 1);
	return 0;
}
int main()
{ 
	int m,n,a[100][100]={{0}};
	cin>>m>>n;
	int i,j;
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	for(i=1;i<=n;i++)
	{
		int u=i;
		int j=1;
		for(;u>=1&&j<=m;u--,j++)
		{
			cout<<a[j][u]<<endl;
		}
	}
	for(i=2;i<=m;i++)
	{
		int u=i,j=n;
		for(;u<=m&&j>=1;u++,j--)
		{
			cout<<a[u][j]<<endl;
		}
	}
	return 0;
}
int main()
{
	int a[101][101],b[100000];
	int row,col;
	int i,j,k=(-1),sum;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
			scanf("%d",&a[i][j]);
	}
	for(sum=0;sum<=((row+col)-2);sum++)
	{
		for(i=0;i<row;i++)
		{
			if(sum-i>=0&&sum-i<col)
			{
				k+=1;
				b[k]=a[i][sum-i];
			}
		}
	}
	for(k=0;k<=row*col-1;k++)
		printf("%d\n",b[k]);




	return 0;


}
/*
 * erweishuzuzuoshangyouxiabianli.cpp
 *
 *  Created on: 2012-12-13
 *      Author: Justin
 */

int main(){
	int a[100][100],*p;
	int raw,col;
	cin>>raw>>col;
	for(p=a[0];p<a[0]+raw*col;p++){
		cin>>*p;
	}
	if(col!=1){
	cout<<a[0][0]<<endl;
	for(p=a[0]+1;p<a[0]+col-1;p++){
		int *q;
		q=p;
		do{
			cout<<*q<<endl;
			q+=col-1;
		}while((q+1-a[0])%col!=0 && q<a[0]+raw*col);
	}

	for(p=a[0]+col-1;p<a[0]+col*raw;p+=col){
			int *q;
			q=p;
			do{
				cout<<*q<<endl;
				q+=col-1;
			}while((q+1-a[0])%col!=0 && q<a[0]+raw*col);
		}}
	if(col==1){
		for(p=a[0];p<a[0]+raw*col;p++){
				cout<<*p<<endl;
			}
	}
	return 0;
}
/*??
????row?col??????array????array[0][0]?????????????????????????


????
????????????????row?col?
???row??????col???????????????
??????row?col??0<row<100, 0<col<100?

????
????????????????????

*/
int main()
{
	int ain[123][123];
	int row,col;cin>>row>>col;
	for(int i=0; i<row; ++i)
		for(int j=0; j<col; ++j)
			cin>>ain[i][j];
	int *p[123];
	for(int i=0; i<row; ++i)p[i]=ain[i];
	for(int i=0; i<row+col-1; ++i)
	{
		for(int j=0; j<row; ++j )
		{
			if(j<=i&&j>i-col)cout<<*(p[j]++)<<endl;
		}
	}
	return 0;
}
int main()
{
	int lin, col;
	cin >> lin >> col;
	int i, j;
	int num[100][100];
	for(i = 0; i < lin; i++)
	{
		for(j = 0; j < col; j++)
			cin >> num[i][j];
	}
	if(lin <= col)
	{
		for(j = 0; j < col; j++)
		{
			for(i = 0; i <= j && i < lin; i++)
				cout << num[i][j - i] << endl;
		}
		for(i = 1; i < lin; i++)
		{
			for(j = col - 1; j >= i && col + i - 1 - j < lin; j--)
				cout << num[col + i - 1 - j][j] << endl;
		}
	}
	else
	{
		for(j = 0; j < col; j++)
		{
			for(i = 0; i <= j; i++)
				cout << num[i][j - i] << endl;
		}
		for(i = 1; i < lin; i++)
		{
			for(j = col - 1;col - 1 + i - j < lin && j >= 0 ; j--)
				cout << num[col + i - 1 - j][j] << endl;
		}
	}

	return 0;
}
main()
{
    static int a[105][105];
         int i,j,k,n,m;
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
    for(j=0;j<m;j++)
        scanf("%d",&a[i][j]);


	     for(i=0,j=0;i<n;)
             {
			for(k=i;k<n&&i+j-k>=0;k++)
			    { printf("%d\n",a[k][i+j-k]); }
			   if(j!=m-1) j++;
			   else  if(j==m-1)  i++;
	      }
}
int main()
{
    int row,col;
    scanf("%d %d",&row,&col);
    int array[row][col];
    int i,j,k;
    for(i=0;i<row;i++){
                       for(j=0;j<col;j++){
                                          scanf("%d",&array[i][j]);
                                          }
                       }
    for(i=0;i<col;i++){
                       for(j=i,k=0;k<row && j>-1;j--,k++){
                                                 printf("%d\n",array[k][j]);
                                                 }
                       }
    for(i=1;i<row;i++){
                       for(j=i,k=col-1;j<row && k>-1;j++,k--){
                                                      printf("%d\n",array[j][k]);
                                                      }
                       }
    return 0;
}
int main()
{
	int row, col;
	int a[100][100];
	
	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 <= col + row; i++)
		for (int j = 1; j <= i - 1; j++)
		{
			if (i - j > col) continue;
			if (j > row) continue;
			cout << a[j][i - j] << endl;
		}
	return 0;
}
int main()
{
	int row, col, array[100][100], i, j, m , n, a = 1;
	cin >> row >> col;
	for(i = 0; i < row ; i ++)
	{
        for(j = 0; j < col; j ++)
		{
			cin >> array[i][j];
		}
	}
	n = 0;
		for(m = 0 ; m < col ; m ++)
		{
			j = m;
			i = n;
			do
			{
				if(i >= row || j < 0) break;
				cout << array[i][j] << endl;
				i ++;
				j --;
			}while(1);
		}
		for(n = 1; n < row; n ++)
		{
			i = n;
			j = col - 1;
			do
			{
		     	if(i >= row || j < 0) break;
				cout << array[i][j] << endl;
				i ++;
				j --;
			}while(1);
		}
	return 0;
}
void main()
{
    int n,m,i;
    int *p,*q;
    q=(int*)calloc(10001,sizeof(int));
    scanf("%d %d",&n,&m);
    for(p=q;p<q+n*m;p++)
    {
    	scanf("%d",p);
    }
    if(m==1)
    {
    	for(p=q;p<q+n*m;p++)
    	printf("%d\n",*p);
    }
    else
    {
    for(i=0;i<m;i++)
    {
    	for(p=q+i;(p<=q+i+(m-1)*i)&&(p<q+n*m);p=p+m-1)
    	{
    		printf("%d\n",*p);
    	}
    }
    for(i=2;i<=n;i++)
    {
    	for(p=q+m*i-1;(p<=q+m*i-1+(m-1)*(m-1))&&(p<q+n*m);p=p+m-1)
    	{
    		printf("%d\n",*p);
    	}
    }
    }
}
/*
 * ????ergodic-process-of2Darray-fTRtBL.cpp
 * ??????
 * ????:2012-12-14
 * ?????????????
 */
int main(){                                                    //???
	int row=0,col=0,array[100][100],(*p)[100]=array,*q=*p; //????row,col,????array,??p,q
	cin>>row>>col;                                         //??array?????row???col
	for(int i=0;i<row;i++)                                 //??????array
		for(int j=0;j<col;j++)
			cin>>array[i][j];
	int x=0,j=0;                                           //????x
	while(q!=array[row-1]+col-1)                           //???????????????
	{
		cout<<*q<<endl;
		if(q==*p||*p==array[row-1])                    //??q??????????????????????????
		{
			x++;                                   //???x+1???
			if(x>=col)                             //????????????
			{
				p=array+x+1-col;               //??p?????
				q=*p+col-1;                    //q???????????
				j=col-1;//??
			}
			else                                   //??
			{
				p=array;                       //p?????
				q=*p+x;                        //??q?????
				j=x;                           //??
			}
		}
		else                                           //??????
		{
			p++;                                   //???
			q=*p+(--j);                            //???
		}
	}
	cout<<*q;                                              //????????
	return 0;                                              //?????
}