// ??????.cpp : Defines the entry point for the console application.
//

int main(int argc, char* argv[]){
	int m,n,row,col,sz[100][100],k;
	scanf("%d%d",&row,&col);
	for(m=0;m<row;m++){
		for(n=0;n<col;n++){
			scanf("%d",&sz[m][n]);
		}
	}
	for(k=0;k<col;k++){
		m=0;
		n=k;
		while(n>=0&&m!=row){
			printf("%d\n",sz[m][n]);
			m++;
			n--;
		}
	}
	for(k=1;k<row;k++){
		m=k;
		n=col-1;
		while(n>=0&&m!=row){
			printf("%d\n",sz[m][n]);
			m++;
			n--;
		}
	}
	return 0;
}


int main()
{
	int row , col ;
	cin >> row >> col ;
	int a[row][col] ;
	for( int i = 0 ; i < row ; i ++ )
		for( int j = 0 ; j < col ; j ++ )
			cin >> a[i][j] ;
	int i = 0 , j = 0 ;
	for( ; i < row ; i ++ )
	{
		for( ; j < col ; j ++ )
		{
			for( int m = i , n = j ;  m < row && n > -1  ; m ++ , n -- )
				cout << a[m][n] << "\n" ;
		}
		j -- ;
	}
	return 0 ;
}


int main()
{
	int m, n, i = 1, j = 1;
	int tempi=1, tempj = 1, a[100][100]={0};
	cin>>m>>n;
	for(int s=1;s<=m;s++)
		for(int t=1;t<=n;t++)
			cin>>a[s][t];
	while(tempi != m || tempj != n)
	{
		do
		{
			cout<<a[i][j]<<endl;
		    i++;
			j--;
		} while(j != 0 && i != m + 1 );
	    if(tempj != n)
		{
			tempj++;
			i = tempi;
			j=tempj;
		}
		else
		{
			tempi++;
			i=tempi;
			j=tempj;
		}
	}
	cout<<a[m][n];
	return 0;
}


/*
 * youshang-zuoxia-bianli.cpp
 *
 *  Created on: 2013-12-6
 *      Author: Administrator
 */
int main()
{
	int x,y;
	int row,col;
	cin>>row>>col;
	int a[row][col];
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
		{
			cin>>a[i][j];
		}
	}
	int n;
	n=row+col-2;
	for(int i=0;i<col;i++)
	{
		for(x=0,y=i-x; x>=0 && y>=0 && x<row && y<col ; x++,y--)
		{

			cout<<a[x][y]<<endl;
		}
	}
	for(int j=col;j<=n;j++)
	{
		for(y=col-1,x=j-y; x>=0 && y>=0 && x<row && y<col ; y--,x++)
		{
			cout<<a[x][y]<<endl;
		}
	}
	return 0;
}


int main()
{
    int row,col;
    cin>>row>>col;
    int data[row*col];
    for (int i=0;i<row*col;++i)
        cin>>data[i];
    int *head=data;
    for (int i=0;i<col;++i)
    {
        int *p=head;
        for (int j=0;j<=min(i,row-1);++j)
        {
            cout<<*p<<endl;
            p+=col-1;
            }
        ++head;
        }
    --head;
    for (int i=1;i<row;++i)
    {
        head+=col;
        int *p=head;
        for (int j=0;j<=min(col-1,row-i-1);++j)
        {
              cout<<*p<<endl;
              p+=col-1;
              }
        }
    return 0;
    }


int main()
{
	int a[100][100]={0};
	int hang,lie;
	cin>>hang>>lie;
	int i,j;
	for(i=0;i<hang;i++)
	{
		for(j=0;j<lie;j++)
			cin>>a[i][j];
	}
	int t;
	for(t=0;t<=hang+lie-2;t++)
	{
		for(i=0;i<hang;i++)
		{
			for(j=0;j<lie;j++)
			{
				if(i+j==t)
					cout<<a[i][j]<<endl;
			}
		}
	}
	return 0;
}


int main()
{
	int n,i,j,l,max,start,row,col;
	int a[200][200];
	scanf("%d%d",&row,&col);
	for (i=1;i<=row;i++)
		for (j=1;j<=col;j++)
			scanf("%d",&a[i][j]);

	i=1;j=1;
	do
	{
		printf("%d\n",a[i][j]);
		i++;j--;
		if (j==0)
			if (i+j<col+1) {j=i;i=1;} else {i=i+j+1-col;j=col;}
		if (i>row)
			if (i+j<col+1) {j=i+j;i=1;} else {i=row+2+j-col;j=col;}

	}
	while (i<=row);
	return 0;
}


void main()
{
	int a[200][200];
	int i,j,row,col,sum;

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

	if(col>=row){
		for(sum=0;sum<col;sum++){
			for(j=sum;j>=0;j--){
				i=sum-j;
				if(i>=row) break;
				printf("%d\n",a[i][j]);
			}
		}
		for(;sum<=col+row-2;sum++){
			for(j=col-1;j>=0;j--){
				i=sum-j;
				if(i>=row) break;
				printf("%d\n",a[i][j]);
			}
		}
	}
	else{
		for(sum=0;sum<col;sum++){
			for(j=sum;j>=0;j--){
				i=sum-j;
				if(i>=row) break;
				printf("%d\n",a[i][j]);
			}
		}
		for(;sum<=col+row-2;sum++){
			for(j=col-1;j>=0;j--){
				i=sum-j;
				if(i>=row) break;
				printf("%d\n",a[i][j]);
			}
		}
	}
}


int main(){
    int row,col;
    scanf("%d%d",&row,&col);
    int array[100][100];
    for(int i=0;i<row;i++){
        for(int j=0;j<col;j++){
            scanf("%d",&array[i][j]);
            }
        }
    int p=0,q=0;
       while(p<row&&q<col){
         int e=0;
         while(p+e<row&&q-e>=0){
              printf("%d\n",array[p+e][q-e]);
              e++;
              }
         if(q<col-1){
            q++;
            }
         else if(q==col-1){
             p++;
             }
         }
    return 0;
}


int main()
{
int row,col,array[100][100],sum,i,j;
scanf("%d%d",&row,&col);
for(i=0;i<row;i++)
 {
  for(j=0;j<col;j++)
  scanf("%d",&array[i][j]);
  }
if(row<col)
  {
   for(sum=0;sum<=row-1;sum++)
   {
    for(i=0;i<=sum;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
   for(sum=row;sum<=col-1;sum++)
   {
    for(i=0;i<=row-1;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
   for(sum=col;sum<=col+row-2;sum++)
   {
    for(i=sum-col+1;i<=row-1;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
 }
else
{
  for(sum=0;sum<=col-1;sum++)
   {
    for(i=0;i<=sum;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
   for(sum=col;sum<=row-1;sum++)
   {
    for(i=sum-col+1;i<=sum;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
   for(sum=row;sum<=row+col-2;sum++)
   {
    for(i=sum-col+1;i<=row-1;i++)
    {
     j=sum-i;
     printf("%d\n",array[i][j]);
     }
    }
 }
return 0;
}


int main()
{
    int row,col;
    int a[111][111];
    int *p[111];

    cin>>row>>col;

    for(int i=0;i<row;i++)
    p[i]=*(a+i);

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

    for(int i=0;i<row+col-1;i++)
        for(int j=i;j>=0;j--)
        {
            if(j>=col || i-j >=row)
                continue;
            if(j<col && i-j<row)
                cout<<*(p[i-j]+j)<<endl;
        }

    return 0;
}


int main()
{
	int array[100][100] ;
	int col , row = 0 ;
	cin >> row >> col ;
	for ( int i = 0 ; i < row ; i++ )
		for ( int j = 0 ; j < col ; j++ )
			cin >> * ( * ( array + i ) + j ) ;
	cout << * * array << endl ;
	if ( row == 1 && col == 1 ) return 0 ;
	if ( col == 1 )
	{
		for ( int i = 1 ; i < row ; i++ )
			cout << * * ( array + i ) << endl ;
		return 0 ;
	}
	int r = 0 , l = 1 ;
	int begl = 1 , begr = 0 ;
	while ( r != row - 1 || l != col - 1 )
	{
		cout << * ( * ( array + r ) + l ) << endl ;
		r++ ; l-- ;
		if ( l < 0 || r == row )//?????
		{
			begl++ ;//??????
			if ( begl == col )//??????????????????
			{
				begl-- ;
				begr++ ;
			}
			l = begl ;
			r = begr ;
		}
	}
	cout << * ( * ( array + r ) + l ) << endl ;

	return 0 ;
}
// ( > w < ) finished~


int main()
{
	int a[100][100]={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( int m=0;m<row+col-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;

}


/*
 * 1104.cpp
 *
 *  Created on: 2011-11-4
 *      Author: Administrator
 */
int main ()
{
	int row,col,i,j,k,sum;        //????
	cin>>row>>col;
	int array[row][col];
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>array[i][j];     //????
	sum=row+col;
	for(k=2;k<=sum;k++)
		for(i=1;i<=row;i++)
			for(j=col;j>0;j--)
				if(i+j==k)
					{cout<<array[i-1][j-1]<<endl;break;}//???????????? ????
	return 0;
}


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


int main(int argc,char *argv[])
{
	int a[100][100];
	int row,col,i,j,k;
	cin>>row>>col;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>a[i][j];
	for(k=0;k<=col-1;k++)
		for(i=0,j=k-i;i<=row-1 && j>=0;i++,j--)
			cout<<a[i][j]<<endl;
	for(k=col;k<=row+col-2;k++)
		for(j=col-1,i=k-j;i<=row-1 && j>=0;i++,j--)
			cout<<a[i][j]<<endl;
	return 0;
}


/*
 *  Name:homework.cpp
 *  Created on: 2012-12-10
 *  Author: Meng Li
 *  Function:????
 */

int main(){                            //???
	int col, row, array[100][100];
	int i, j, temp1, temp2;
	cin >> row >> col;
	for (i=0;i<row;i++){
		for (j=0;j<col;j++){
			cin >> array[i][j];
		}
	}
	for (i=0;i<row+col-1;i++){
		temp1=(i-col+1>0)?(i-col+1):0;
		temp2=(i-row+1>0)?(row-1):i;
		for (j=temp1;j<=temp2;j++){
			cout << *(*(array+j)+i-j) << endl;
		}
	}
	return 0;
}


int main(){
	int ROW,COL,j;
	scanf("%d%d",&ROW,&COL);
	int sz[100][100];
	int row,col;
	for(row=0;row<ROW;row++){
		for(col=0;col<COL;col++){
			scanf("%d",&sz[row][col]);
		}
	}
	if(ROW==COL){
	    if(ROW==1){
		    printf("%d\n",sz[ROW-1][COL-1]);
		}
	    else{
	        for(col=0;col<COL;col++){
		        j=col;
		        row=0;
		        do{
			        printf("%d\n",sz[row][col]);
			        row++;
			        col--;
				}
		        while(col>-1);
		        col=j;
			}
	        for(row=1;row<ROW;row++){
		        j=row;
		        col=COL-1;
		        do{
			        printf("%d\n",sz[row][col]);
			        row++;
			        col--;
				}
		        while(row<ROW);
	            row=j;
			}
		}
	}
	else{
        for(col=0;col<COL-1;col++){
			j=col;
		    row=0;
            do{
				printf("%d\n",sz[row][col]);
			    row++;
		        col--;
			}
		    while((col>-1)&&(row<ROW));
		    col=j;
		}
        for(row=0;row<ROW;row++){
            j=row;
	        col=COL-1;
	        do{
				printf("%d\n",sz[row][col]);
			    row++;
		        col--;
			}
	        while((row<ROW)&&(col>-1));
			row=j;
		}
	}
	return 0;
}


/*
 * 105.cpp
 *
 *  Created on: 2011-10-28
 *      Author: think
 */
int main(){
	int rol,col;
	cin>>rol>>col;
	int a[rol][col];
	int i,j;
	for(i=0;i<rol;i++){
		for(j=0;j<col;j++){
			cin>>a[i][j];
		}
	}
	int k;//????
	for(k=0;k<=rol+col-2;k++){
		for(i=0;k-i>=0&&i<rol;i++){
			if(k-i>=col){continue;}
			j=k-i;
			cout<<a[i][j]<<endl;
		}
	}
	return 0;
}


void main()
{
     int a,b,n,j,i,k,*hi,col,row,s,max;
     scanf("%d %d",&row,&col);
     s=row*col;

    int *p=(int*)malloc(10000*sizeof(int));
hi=p;
if(col>row)  max=col;
else  max=row;
for(i=0;i<s;i++)
scanf("%d",p+i);
for(j=0;j<col+row;j++)
 for(k=0;k<=j;k++)
 if(j-k<col&&k<row)
   printf("%d\n",*(hi+j-k+col*k));
}


int min(int x,int y)
{
	if(x<=y)return x;
	else return y;
}
int main()
{
	int a[100][100],row,col,ROW,COL,i,m=1,n=0,x;
	scanf("%d%d",&ROW,&COL);
	for(row=0;row<ROW;row++)
	{
		for(col=0;col<COL;col++)scanf("%d",&a[row][col]);
	}
	x=min(ROW,COL);
	row=0;
	col=0;
	for(i=0;i<x+x*(x-1)/2;i++)
	{
		printf("%d\n",a[row][col]);
		n++;
		if(n!=m)
		{
			row++;
			col--;
		}
		else if(n==m)
		{
			row=0;
			col+=m;
			m++;
			n=0;
		}
	}
	if(COL>=ROW)
	{
		row=0;
		col=ROW;
		m=col+1;
		for(i=0;i<ROW*(COL-ROW);i++)
		{
			printf("%d\n",a[row][col]);
			if(row!=ROW-1)
			{
				row++;
				col--;
			}
			else
			{
				row=0;
				col=m;
				m++;
			}
		}
		row=1;
		col=COL-1;
		m=ROW-1;
		n=0;
		for(i=0;i<ROW*(ROW-1)/2;i++)
		{
			n++;
			printf("%d\n",a[row][col]);
			if(n!=m)
			{
				row++;
				col--;
			}
			else
			{
				row=ROW-m+1;
				col=COL-1;
				m--;
				n=0;
			}
		}
	}
	if(COL<ROW)
	{
		row=1;
		col=COL-1;
		m=2;
		for(i=0;i<COL*(ROW-COL);i++)
		{
			printf("%d\n",a[row][col]);
			if(col!=0)
			{
				row++;
				col--;
			}
			else
			{
				row=m;
				col=COL-1;
				m++;
			}
		}
		row=ROW-COL+1;
		col=COL-1;
		m=COL-1;
		n=0;
		for(i=0;i<COL*(COL-1)/2;i++)
		{
			n++;
			printf("%d\n",a[row][col]);
			if(n!=m)
			{
				row++;
				col--;
			}
			else
			{
				row=ROW-m+1;
				col=COL-1;
				m--;
				n=0;
			}
		}
	}
	return 0;
}


int main()
{
	int array[100][100];
	int row;
	int col;
	int i;
	int j;
	int t;

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

	for(t=0;t<col;t++){
		for(i=0;i<row;i++){
			j=t-i;
			if(j<0){
				break;
			}
		    printf("%d\n",array[i][j]);
		}
	}

	for(t=col;t<=col+row-2;t++){
		for(j=col-1;;j--){
			i=t-j;
			if(j<0){
				break;
			}
			if(i>=row){
				break;
			}
			printf("%d\n",array[i][j]);
		}
	}

	return 0;
}


void main(){
	int row,col,max;
	scanf("%d%d",&row,&col);
	int i,j;
	int a[101][101];
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
		{
			scanf("%d",&a[i][j]);
		}
	for(i=0;i<=row+col-2;i++)
		{
			max=0;
			if(row-1<i) max=row-1;
			else max=i;
		for(j=0;j<=max;j++)
			{
			if(i-j<=col-1)
				{
					printf("%d\n",a[j][i-j]);
				}
			}
		}
}


int main()
{
	int number[101][101];
	int row,col;
	cin>>row>>col;
	int i,j;
    for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{
			cin>>*(*(number+i)+j);
		}
	}
	//cout<<number[0][0]<<endl;
	int k;
	for(i=0;i<row+col-1;i++)
	{
		j=0;
		/*while(i-j>=0)
		{
			if(j>=row||i-j>=col)
				continue;
			cout<<*(*(number+j)+i-j)<<endl;
			j++;
		}*/
		for(j=0;i-j>=0;j++)
		{
			if(j>=row||i-j>=col)
				continue;
			cout<<*(*(number+j)+i-j)<<endl;

		}
	}
	return 0;
}


int main()
{int array[1000][1000],a[1000];
int row,col;
int i,j;

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

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

for(i=0;i<col+row;i++)
	for(j=a[i];j<row&&j<=i;j++)
		cout<<array[j][i-j]<<endl;

return 0;
}


int main(){
    int row,col;
    int matrix[120][120];
    cin>>row>>col;
    int * p[100];
    for (int i=0; i<row; i++) {
        p[i]=&matrix[i][0];
        for (int j=0; j<col; j++) {
            cin>>matrix[i][j];

        }
    }
    if (col>=row) {
        for (int i=0; i<col; i++) {
            for (int j=0; (i-j)<col && (i-j)>=0 && j<row; j++) {
                cout<<* (p[j]+i-j)<<endl;
            }

        }
        for (int i=col; i<(col+row-1); i++) {
            for (int j=col-1; i-j<row; j--) {
                cout<<* (p[i-j]+j)<<endl;
            }
        }
    }
    else {
        for (int i=0; i<col; i++) {
            for (int j=0; (i-j)<col && (i-j)>=0 && j<row; j++) {
                cout<<* (p[j]+i-j)<<endl;
            }

        }
        for (int i=col; i<(col+row-1); i++) {
            for (int j=col-1; i-j<row && j>=0; j--) {
                cout<<* (p[i-j]+j)<<endl;
            }
        }

    }

}


int main(int argc, char* argv[])
{
	int row,col,i,j;
	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(i=0;i<row+col;i++){
		for(j=0;j<=i;j++){
			if(j>row-1||i-j>col-1)
				continue;
			if(j<row&&i-j<col)
				printf("%d\n",array[j][i-j]);
		}
	}
	return 0;
}


main()
{
char c;

int sz[100][100];
int row,col,ROW,COL;
scanf("%d %d",&ROW,&COL);
for(row=0;row<ROW;row++){
                         for(col=0;col<COL;col++){
                                                  scanf("%d",&sz[row][col]);

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

int i=0,j,k;

for(j=1;j<COL;j++){

                    for(k=j;k>=0;k--){
                    if(j-k<ROW){
                    printf("%d\n",sz[j-k][k]);}}
                    }
for(j=COL;j<=COL+ROW;j++){

                    for(k=COL-1;k>=0;k--){
                    if(j-k<ROW){
                    printf("%d\n",sz[j-k][k]);}}
                    }

scanf("%s",c);
return 0;
}


int main()
{
	int row,col;
	int a[110][110];
	cin>>row>>col;
	for(int i=1;i<=row;i++)//????
		for(int j=1;j<=col;j++)
			cin>>*(*(a+i)+j);

	for(int k=2;k<=row+col;k++)//????????
		for(int i=1;i<=row;i++)
			for(int j=1;j<=col;j++)
				if(i+j==k)
					cout<<*(*(a+i)+j)<<endl;
	return 0;
}


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


int main()
{
	int row, col;
	cin >> row >> col;
	int matrix[100][100];
	int i, j, k, x, a, b;
	for (i = 1; i <= row; i++)
		for (j = 1; j <= col; j++)
		{
			cin >> matrix[i][j];
		}
	for (k = 2; k <= row + col; k++)
	{
		a = k > col + 1? k-col:1;
		b = k > row + 1? row+1:k;
		for (x = a; x < b; x++)
		{
			cout << matrix[x][k-x] << endl;
		}
	}
	return 0;
}


int main()
{
	int sz[100][100];
	int row,col;
	scanf("%d %d",&row,&col);
	int r,c;
	for(r=0;r<row;r++){
		for(c=0;c<col;c++){
			scanf("%d",&sz[r][c]);
		}
	}
	int k;
	int first=1;
	int min=row-1;
	if(col<min+1){
		min=col-1;
	}

	for(k=0;k<=min;k++){
		for(r=0;r<=k;r++){
	     	if(first==1){
		    	printf("%d",sz[r][k-r]);
				first=0;
			}else{
				printf("\n%d",sz[r][k-r]);
			}
		}
	}

	if(row>col){
		for(k=1;k<=row-col;k++){
			for(r=k,c=col-1;c>=0&&r<row;c--,r++){
				printf("\n%d",sz[r][c]);
			}
		}
	}

	if(row<col){
		for(k=1;k<=col-row;k++){
			for(c=row-1+k,r=0;r<=row-1;c--,r++){
				printf("\n%d",sz[r][c]);
			}
		}
	}

	for(k=min+1;k>=1;k--){
		for(r=row-k+1,c=col-1;r<row;r++,c--){
			printf("\n%d",sz[r][c]);
		}
	}

	return 0;
}


int main()
{
	int row,col;
	cin>>row>>col;
	int m=1,n=1;
	int h,g;
	int a[100][100];
	for(int i=1;i<=row;i++)
		for(int j=1;j<=col;j++)
			cin>>a[i][j];
	while(m<=row)
	{
		h=m;g=n;
		while(h<=row&&g>=1)
		{
			cout<<a[h][g]<<endl;
			h++;g--;
		}
		if(n<col) n++;
		else m++;
	}
	return 0;
}


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


int main()
{int a[103][103];

	int row,col;
	int i,j;
	cin>>row>>col;
	for(int i=0;i<row;i++)
		for(int j=0;j<col;j++)cin>>*(a[i]+j);
for(i=0;i<row+col-1;i++)
	for(j=0;j<=i;j++)if(j<row&&i-j<col)cout<<*(a[j]+i-j)<<endl;

return 0;
}


int main(int argc, char* argv[])
{
	int col,row,sz[99][99],i,j;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&sz[i][j]);
		}
	}
	for(i=0;i<col;i++){
		for(j=0;j<=i&&j<row;j++){
			printf("%d\n",sz[j][i-j]);
		}
	}
	for(i=1;i<row;i++){
		for(j=0;j+i<row&&j<col;j++){
			printf("%d\n",sz[i+j][col-j-1]);
		}
	}
	return 0;
}


int main()
{
	int sz[100][100];
	int row, col, i, j;
	int startrow = 0 , startcol = 0;

	scanf("%d %d",&row, &col);
	for(i = 0; i < row; i++)
	{
		for(j = 0; j < col; j++)
		{
			scanf("%d", &sz[i][j]);
		}
	}
	while((startcol + startrow) != (row + col - 2))
	{
		if(startcol < col - 1)
		{
			for(i = startrow; (i < row) && (i <= startrow + startcol); i++)
			{
				printf("%d\n",sz[i][startcol + startrow - i]);
			}
			startcol++;
		}
		else
		{
			for(i = startrow; (i < row) && (i <= startrow + startcol); i++)
			{
				printf("%d\n",sz[i][startcol + startrow - i]);
			}
			startrow++;
		}
	}
	printf("%d",sz[row - 1][col - 1]);
	return 0;
}


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


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


void bianli()
{
    int a[maxrow][maxcol],row,col,i,j,k,n;
    scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			scanf("%d",&a[i][j]);

	for(n=0;n<col;n++)
	{
		i=0;j=n;
	    for(k=n;k>=0;k--)
		{
			printf("%d\n",a[i][j]);
			i++;j--;
			if(i>=row||j>=col)
				break;
		}
	}
	for(n=1;n<row;n++)
	{
		i=n;j=col-1;
		for(k=n;k<=row-1;k++)
		{
			printf("%d\n",a[i][j]);
			i++;j--;
            if(i>=row||j<0)
				break;
		}
	}
}
void main()
{bianli();}


int main()
{
    int a[102][102],row,col,t,k,i,j;
    cin>>row>>col;
    t=row+col-2;
    for(i=0;i<row;i++)
    	for(j=0;j<col;j++)
    		cin>>a[i][j];
    for(k=0;k<=t;k++)
    {
        if(k+1<=col) i=0;
        else i=k-col+1;
    	j=k-i;
    	while(j>=0&&i<row)
    	{
    		cout<<a[i][j]<<endl;
    		i++;j--;
    	}
    }
	return 0;
}


int main(){
	int m,n;
		cin>>m>>n;
		int a[m][n];
		for(int c=0;c<m;c++)
			for(int d=0;d<n;d++)cin>>a[c][d];
		int *p[m];
		for(int j=0;j<m;j++)p[j]=a[j];
		for(int k=0;k<=m+n-2;k++)
			for(int c=0;c<m;c++)
						for(int d=0;d<n;d++){
							if(c+d==k)cout<<*(p[c]+d)<<endl;
						}
	return 0;
}


//
//  main.cpp
//  Homework_12_10
//  ??????????
//  Created by airjcy on 12/10/12.
//  Copyright (c) 2012 airjcy. All rights reserved.
//

int main(int argc, const char * argv[])
{
    int row, col;
    cin >> row >> col;
    int a[row][col];
    int i,j;
    for (i = 0; i < row; i ++) {
        for (j = 0; j < col; j ++) {
            cin >> a[i][j];
        }
    }
    for(j = 0; j < col ; j++)
    {
        int t = 0;
        int k = j;
        while (t < row && k >= 0) {
            cout << a[t][k] << endl;
            t++;
            k--;
        }
    }
    for(i = 1; i < row; i++)
    {
        int t = i;
        int k = col - 1;
        while (t < row && k >= 0) {
            cout << a[t][k] << endl;
            t ++;
            k --;
        }
    }

    return 0;
}


int main()
{
    int i,row,col,rst=0,cst=0;
    int R,C;
    int a[100][100];
    scanf("%d%d",&R,&C);
    for(row=0;row<R;row++)
    {
       for(col=0;col<C;col++)
       {
          scanf("%d",&a[row][col]);
       }
    }

    for(i=0;i<R+C-1;i++)
    {
       row=rst;
       col=cst;
       while(row!=R&&col!=-1)
       {
           printf("%d\n",a[row][col]);
           row++;
           col--;
       }
       if(cst!=C-1) cst++;
       else rst++;
    }

  return 0;
}


int main()
{
	int row, col, array[99][99], i, j, k;
	cin >> row >> col;
	for (i = 0; i < row; i++)
		for (j = 0; j < col; j++)
			cin >> array[i][j];
	i = 0;
	j = 0;
	for (k = 0; k <= col -1; k++)
	{
		j = k;
		i = 0;
		do
		{
			cout << array[i][j] << endl;
			j = j - 1;
			i = k - j;
		}while(i != row && j != -1);
	}
	for (k = col; k <= col + row -2; k++)
	{
		j = col - 1;
		i = k - j;
		do
		{
			cout << array[i][j] << endl;
			j = j - 1;
			i = i + 1;
		}while(i != row && j != -1);
	}
	return 0;
}


int main()
{
	int array[100][100];
	int row,col;
        int i,j,he;

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

	for(he=0;he<row+col-1;he++)
	{
		for(j=he;j>=0;j--)
		{
			if(j>=col)
			{
				continue;
			}
			i=he-j;
			if(i>=row)
			{
				continue;
			}
			printf("%d\n",array[i][j]);
		}
	}
	return 0;
}


int main()
{
    int num[101][101];
    int i,j,row,col;
    //freopen("1.txt","r",stdin);
    scanf("%d%d",&row,&col);
    for(i=1;i<=row;i++)
    for(j=1;j<=col;j++)
    scanf("%d",&num[i][j]);
    printf("%d",num[1][1]);
    for(i=3;i<=col+row;i++)
    {
                           for(j=1;j<i;j++)
                           if(j<=row&&i-j<=col)
                           printf("\n%d",num[j][i-j]);
    }
    //getch();
    return 0;
}


int a[100][100],r,c;
int judge(int i,int c)
{
	if (i-c>=0) return i-c+1;
	else return 0;
}
int main()
{
	cin>>r>>c;
	for(int i=0;i<r;i++){
		for(int j=0;j<c;j++){
			cin>>*(*(a+i)+j);}}
	for(int i=0;i<r+c-1;i++){
		for(int j=judge(i,c);j<=i&&j<r&&i-j<c;j++){
			cout<<*(*(a+j)+i-j)<<endl;}}
	return 0;
}


const int maxn = 100;

int main()
{
	int line,row;
	int num[maxn][maxn];
	cin >> line >> row;

	int nowline, nowrow;
	int step;
	int i , j;
	for ( i = 0; i!=line; i++)
		for ( j = 0; j!=row; j++) cin>>num[i][j];
	for (step = 0; step != line+row-1; step++)
	{
		nowline = (step >= row? step-row+1 : 0);
		nowrow = (step >=row? row-1 : step);
		while (nowline != line && nowrow != -1)
		{
			cout << num[nowline][nowrow] << endl;
			nowline++; nowrow--;
		}
	}
	return 0;

}


//#include<stdlib.h>
//#include<math.h>
int main()
{
	int row,col,i,j;
	int a[101][101];
	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;i++){
		if(i<col)
			j=0;
		else
			j=i-col+1;
		for(;j<=i && j<row;j++) {
			printf("%d\n",a[j][i-j]);
		}
	}
	return 0;
}


void main()
{
	int row,col;
	int a[100][100];
	int i,j,n,duijiaoxian;
	scanf("%d %d",&row,&col);
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{scanf("%d",&a[i][j]);}
	}
    duijiaoxian=row+col-2;
	for(n=0;n<=duijiaoxian;n++)
	{
		for(i=0;i<=n;i++)
		{
			if(0<=i && i<row && 0<=(n-i) && (n-i)<col)
			{printf("%d\n",a[i][n-i]);}
		}
	}
}


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


int main() {
     int row, col, i, j, temp_i, a[100][100];
     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;i<=j&&i<row;i++)
                 printf("%d\n", a[i][j-i]);
     }
     for(i=1;i<row;i++){
           temp_i=i;
           for(j=col-1;j>=0 && temp_i<row;j--){
                 printf("%d\n", a[temp_i][j]);
                 temp_i++;
           }
     }
     return 0;
}


void main()
{
	int a[MAXSIZE][MAXSIZE],i,j,row,col,n;
    scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
			scanf("%d",&a[i][j]);
    }
	for(n=0;n<=col+row-2;n++)
	{
		for(i=0;i<row;i++)
			if(i<=n&&i>n-col)
			printf("%d\n",a[i][n-i]);
	}
}


int matrix[100][100],row,col;
void display(int step)
{
    int x,y,i;
    if (step>row+col-1) return;
    if (step<col)
    {
        y=step-1;
        for (i=y;i>=0&&y-i<row;i--)
            cout<<matrix[y-i][i]<<endl;
    }
    else
    {
        x=step-col;
        for (i=x;i<row&&col-1+x-i>=0;i++)
            cout<<matrix[i][col-1+x-i]<<endl;
    }
    display(step+1);
}
int main()
{
    int i,j;
    cin>>row>>col;
    for (i=0;i<row;i++)
        for (j=0;j<col;j++)
            cin>>*(*(matrix+i)+j);
    display(1);
}


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

	}
	return 0;
}


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


int main()
{
	int row=0,col=0;
	int 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 i=0;i<col;i++)
	{
		cout<<a[0][i]<<endl;
		for(int j=1;i-j>=0&&j<row;j++)
			cout<<a[j][i-j]<<endl;
	}
	for(int i=1;i<row;i++)
	{
		cout<<a[i][col-1]<<endl;
		for(int j=1;i+j<row&&j<=col-1;j++)
			cout<<a[i+j][col-1-j]<<endl;

	}
	return 0;
}


int main()
{
	int min(int a,int b);
	int max(int a,int b);
	int a[100][100],i,j,m,n,begin,end;
	scanf("%d%d",&m,&n);
	for (i=0;i<m;i++)
		for (j=0;j<n;j++)
			scanf("%d",&a[i][j]);
	for (i=0;i<=m+n-2;i++)
		for (j=max(0,i-n+1);j<=min(m-1,i);j++)
			printf("%d\n",a[j][i-j]);
	return 0;
}
int min(int a,int b)
{
	return a<b? a:b;
}
int max(int a,int b)
{
	return a>b? a:b;
}


main()
{
      int row,col;
      int i,j,k,s,p,q;
      int a[100][100];
      scanf("%d%d",&row,&col);
      int temp_r,temp_c;
      for(p=0;p<row;p++)
      {
          for(q=0;q<col;q++)
          {
              scanf("%d",&a[p][q]);
          }
      }
      for(i=0;i<col;i++)
      {
          temp_r=0;temp_c=i;
          while(temp_r>=0&&temp_r<row&&temp_c>=0&&temp_c<col)
          {
              printf("%d\n",a[temp_r][temp_c]);
              temp_r++;
              temp_c--;
          }
      }
      for(j=1;j<row;j++)
      {
          temp_r=j;temp_c=col-1;
          while(temp_r>=0&&temp_r<row&&temp_c>=0&&temp_c<col)
          {
              printf("%d\n",a[temp_r][temp_c]);
              temp_r++;
              temp_c--;
          }
      }
      getchar();
      getchar();

}


void main()
{
	int heng,lie,i,j,k,l;
	scanf("%d %d",&heng,&lie);

	int **p;
	p=(int **)malloc(heng*sizeof(int *));
	for(i=0;i<heng;i++)
	{
		*(p+i)=(int *)malloc(lie*sizeof(int));
		for(j=0;j<lie;j++)
	     scanf("%d",*(p+i)+j);
	}
        for(j=0;j<lie;j++)
		{
		  for(k=j,l=0;k>=0;k--,l++)
		  {
			  if(l<heng)
	      printf("%d\n",*(*(p+l)+k));
			  else break;
		  }
		}
         for(j=lie;j<heng+lie-1;j++)
		 {
			 for(k=lie-1,l=j-(lie-1);k>=0;k--,l++)
			 {
				 if(l<heng)
		     printf("%d\n",*(*(p+l)+k));
				 else break;
			 }
		 }
}


/*
 * Traverse?Diagonal(Pointer).cpp
 *
 *  Created on: 2012-12-10
 *      Author: Czxck001
 */
int row = 0, col = 0;
void Input(int(*array)[105]) {
	cin >> row >> col;
	for (int i = 0; i <= row - 1; i++) {
		for (int j = 0; j <= col - 1; j++) {
			cin >> *(*(array + i) + j);
		}
	}
}
void Diagonal(int(*array)[105], int x, int y) {
	for (int i = 0;; i++) {
		if (x + i > row - 1 || y - i < 0)
			break;
		else {
			if (x == 0 && y == 0) {
				cout << **array;
			} else {
				cout << endl << *(*(array + x + i) + y - i);
			}
		}
	}
	return;
}
void Scan(int(*array)[105], int x, int y) {
	Diagonal(array, x, y);
	if (y < col - 1)
		Scan(array, x, y + 1);
	else if (x < row - 1)
		Scan(array, x + 1, y);
	else
		return;
}
int main() {
	int a[105][105];
	Input(a);
	Scan(a, 0, 0);
}


int main()
{
	int row,line,rownow,linenow,n,i,j,a[10000];
	scanf("%d %d",&row,&line);
	for(j=0;j<=row*line-1;j++)
	{
		scanf("%d",&a[j]);
	}
	for(i=0;i<=row+line-1;i++)
	{
		rownow=0;linenow=i-rownow;
		for(;rownow<=row-1&&linenow>=0;rownow++,linenow--)
		{
			if(linenow>=line) continue;
			n=rownow*line+linenow;
			printf("%d\n",a[n]);
		}
	}
	scanf("%d",&j);
	return 0;
}


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


int main()
{
	int array[100][100], row, col;
	int c, r, sum;
	scanf("%d%d", &row, &col);
	for(r=0;r<row;r++)
	{
		for(c=0;c<col;c++)
		{
			scanf("%d",&array[r][c]);
		}
	}

	for(sum=0;sum<=row+col-2;sum++)
	{
		if(sum<col)
		{
			for(c=sum;c>=0;c--)
			{
				if((sum-c)>=row) break;
				printf("%d\n",array[sum-c][c]);
			}
		}
		else
		{
			for(r=sum-col+1;r<row;r++)
			{
				if((sum-r)<0) break;
				printf("%d\n",array[r][sum-r]);
			}
		}
	}
	return 0;
}


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


int main()
{
	int i,n[100][100],col,row,COL,ROW;
	scanf("%d %d",&ROW,&COL);
	for(row=0;row<ROW;row++){
		for(col=0;col<COL;col++){
			scanf("%d",&n[row][col]);
		}
	}
	for(i=0;i<COL+ROW-1;i++){
		if(i<COL){
			col=i;
			row=0;
			while(col>=0&&row<ROW){
				printf("%d\n",n[row][col]);
				col-=1;
				row+=1;
			}
		}
		else if(i>=COL){
			col=COL-1;
			row=i-COL+1;
			while(col>=0&&row<ROW){
				printf("%d\n",n[row][col]);
				col-=1;
				row+=1;
			}
		}
	}
	return 0;
}


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


int main()
{
	int row, col;
	int i, j;
	int sum;
	int a[100][100];

	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; ; ) {
		if (j < col - 1) {
			sum = j;
			for (; ; ) {
				if (sum >= 0 && j - sum < row) {
					printf("%d\n",a[j - sum][sum]);
					sum--;
				}
				else {
					break;
				}
			}
			j++;
		}
		else {
			break;
		}
	}
	for (i = 0; ; ) {
		if (i <= row - 1) {
			sum = col - 1 + i;
			for (; ; ) {
				if (sum >= 0 && col - 1 + i - sum < row) {
					if (sum <= col - 1) {
						printf("%d\n",a[col - 1 + i - sum][sum]);
					}
					sum--;
				}
				else {
					break;
				}
			}
			i++;
		}
		else {
			break;
		}
	}
	return 0;
}


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


main()
{
      int row,col,time=0,n,i,j;
      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(n=0;n<row+col;n++)
      {
                            if(col<row)
                            {
                                       if(n<col)
                                       {
                                                for(i=0;i<=n;i++)
                                                printf("%d\n",array[i][n-i]);
                                       }
                                       else if(n<row)
                                       {
                                            for(i=col-1;i>=0;i--)
                                            printf("%d\n",array[n-i][i]);
                                       }
                                       else
                                       {
                                            for(i=col-1;i>n-row;i--)
                                            printf("%d\n",array[n-i][i]);
                                       }
                            }
                            else if(row<col)
                            {
                                       if(n<row)
                                       {
                                                for(i=0;i<=n;i++)
                                                printf("%d\n",array[i][n-i]);
                                       }
                                       else if(n<col)
                                       {
                                            for(i=0;i<=row-1;i++)
                                            printf("%d\n",array[i][n-i]);
                                       }
                                       else
                                       {
                                            for(i=col-1;i>n-row;i--)
                                            printf("%d\n",array[n-i][i]);
                                       }
                            }
                            else if(row==col)
                            {
                                       if(n<row)
                                       {
                                                for(i=0;i<=n;i++)
                                                printf("%d\n",array[i][n-i]);
                                       }

                                       else
                                       {
                                            for(i=row-1;i>n-col;i--)
                                            printf("%d\n",array[n-i][i]);
                                       }
                            }
      }
}


int main()
{
	int a[100][100],i,j,k,sum,row,col;
	scanf("%d %d",&row,&col);
	for(i=1;i<=row;i++)
	{
		for(j=1;j<=col;j++)
		{
			scanf("%d",&a[i-1][j-1]);
		}
	}
	for(sum=0;sum<=col-1;sum++)
	{
		for(i=0;i<=row-1;i++)
		{
			if(sum-i<0)
				break;
			printf("%d\n",a[i][sum-i]);
		}
	}
	for(sum=col;sum<=col+row-2;sum++)
	{
		for(i=sum-col+1;i<=row-1;i++)
		{
			if(sum-i<0)break;
			printf("%d\n",a[i][sum-i]);
		}
	}

	return 0;
}


int main()
{
    int row, col, array[100][100], i, j;

    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++)
    {
        for(j = 0; j <= i; j++)
        {
            if(j < row) cout << array[j][i - j] << endl;
        }
    }

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

    return 0;
}


int min(int a,int b)
{
	if(a<b) return a;
	else return b;
}
main()
{
	int a[100][100];
	int row,col,i,j,k,l;
	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<col;i++)
	{
		for(j=0;j<min(i+1,row);j++)
		{
		printf("%d\n",a[j][i-j]);
		}
	}
	for(k=1;k<row;k++)
	{
          for(l=0;l<min(row-k,col);l++)
		  printf("%d\n",a[k+l][col-1-l]);
	}
}


void main()
{int row,col,*array,*p,i,j,t;
scanf("%d%d",&row,&col);
array=(int *)calloc(row,col*sizeof(int));
for(p=array;p<=array+row*col-1;p++)
scanf("%d",p);
for(t=0;t<=row+col-2;t++)
 for(i=0;i<=t;i++)
 {  if(i>row-1||t-i>col-1)
 continue;
	 printf("%d\n",*(array+i*col+t-i));

 }

}


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


int main()
{
	int array[100][100] ;
	int row ,col ;
	cin>>row >> col ;
	int i , j ;
	for(i = 0 ;i < row ;i ++)
		for(j = 0 ;j < col ;j++)
			cin>>array[i][j];
	j = 0 ;
	for(i = 0 ;i < row ;i++)
	{
		if(i==0)
		{
			while(j <= col - 1)
			{
				cout<<array[i][j]<<endl ;
				for(int k = i + 1; k < row; k++)
				{
					if(i+j-k>=0)
						cout << array[k][i+j-k]<<endl ;
				}
				j ++ ;
			}
		}else
		{
			j = col - 1 ;
			cout<<array[i][j]<<endl ;
			for(int k = i + 1; k < row; k++)
			{
				if(i+j-k>=0)
					cout << array[k][i+j-k]<<endl  ;
			}
		}
	}
}


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


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


int main()
{
	int array[100][100],i,j;
	int row,col,s;
	scanf("%d%d\n",&row,&col);
             for(i=0;i<row;i++)
   		for(j=0;j<col;j++)
		scanf("%d",&array[i][j]);

		if(row<col)
		{

          for(s=0;s<=row-1;s++)
				 for(i=0;i<=s;i++)
					 printf("%d\n",array[i][s-i]);
				 for(s=row;s<=col-1;s++)
					 for(i=0;i<=row-1;i++)
                         printf("%d\n",array[i][s-i]);

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

				 for(s=row;s<=row+col-2;s++)
				   for(i=s+1-col;i<=row-1;i++)
					   printf("%d\n",array[i][s-i]);
		}
		else
		{
			for(s=0;s<=col-1;s++)
				 for(i=0;i<=s;i++)
					 printf("%d\n",array[i][s-i]);
            for(s=row;s<=row+col-2;s++)
 				   for(i=s+1-col;i<=row-1;i++)
					   printf("%d\n",array[i][s-i]);
		}

		return 0;
}


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


/*
 * 3.cpp
 *
 *  Created on: 2012-11-10
 *      Author: lenovo
 */
int main()
{
	int row,col,i,j,k;
	cin>>row>>col;
	int a[row][col];
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>a[i][j];
	for(j=0;j<col;j++)
		for(i=0,k=0;i<row&&(j-k)>=0;i++,k++)
			cout<<a[i][j-k]<<endl;
	for(i=1;i<row;i++)
		for(j=col-1,k=0;j>=0&&(i+k)<row;j--,k++)
			cout<<a[i+k][j]<<endl;
	return 0;
}


int main()
{
	int a[104][104];
	int h,l;
	cin>>h>>l;
	for(int i=0;i<104;i++)
		for(int k=0 ;k<104 ;k++)
			a[i][k]=-999;
	for(int i=1;i<=h;i++)
		for(int k=1 ;k<=l ;k++)
			cin>>a[i][k];
	int printer=a[1][1];
	for(int i=1;i<=l;i++)
	{
        int k=0;
		printer=a[1+k][i-k];
		while(printer!=-999)
		{
			cout<<printer<<endl;;
			k++;
			printer=a[1+k][i-k];
		}
	}
	for(int i=2;i<=h;i++)
	{
        int k=0;
		printer=a[i+k][l-k];
		while(printer!=-999)
		{
			cout<<printer<<endl;;
			k++;
			printer=a[i+k][l-k];
		}
	}
	return 0;
}


int main()
{
	int m,n,zong,x,y,sum,i,zanshi;
	int *c,*d;
	scanf("%d %d",&m,&n);
	zong=m*n;
	d=(int*)malloc(zong*sizeof(int));
	c=d;
	for(;c<d+zong;c++)scanf("%d",c);
	for(sum=2;sum<=m+n;sum++)
	{
		for(y=1;y<sum;y++)
		{
			x=sum-y;
			zanshi=n*(y-1)+x;
			if(x<=n&&y<=m&&zanshi>=1&&zanshi<=zong)printf("%d\n",*(d+zanshi-1));
		}

	}

}


int main()
{
    int row,col;
    cin>>row>>col;
    int data[row][col];
    int (*p)[col]=data;
    int i,j;
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
            cin>>*(*(p+i)+j);
        }
    }
    int m,n;
    for(i=0;i<col;i++)
    {
        for(m=0,n=i-m;(m<row&&n>=0);m++,n--)
        cout<<*(*(p+m)+n)<<endl;
    }
    for(i=1;i<row;i++)
    {
        for(m=i,n=col-1;(m<row&&n>=0);m++,n--)
        cout<<*(*(p+m)+n)<<endl;
    }
    return 0;
}


int main()
{
    void print(int *p[101],int row,int col);
    int *p[101];
    int row,col,i,j;
    scanf("%d %d",&row,&col);
    for(i=0;i<row;i++)
    {
                      p[i]=(int *)calloc(101,sizeof(int));
                      for(j=0;j<col;j++)
                      {
                                        scanf("%d",(p[i]+j));
                      }
    }
    print(p,row,col);

    return 0;
}

void print(int *p[101],int row,int col)
{
     int k,i;
     for(k=0;k<(row+col-1);k++)
     {
                               for(i=0;(i<k+1)&&(i<row);i++)
                               {
                                                 if((k-i)<col)
                                                 printf("%d\n",*(p[i]+(k-i)));
                               }
     }
}


int main(){
	int shuzu[100][100];
	int i,j,k,n,row,col,shuru;
	scanf("%d %d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&shuru);
			shuzu[i][j]=shuru;
		}
	}
	for(k=0;k<=row+col-2;k++){
		for(i=0;i<row;i++){
			for(j=0;j<col;j++){
				if(i+j==k){
					printf("%d\n",shuzu[i][j]);
				}
			}
		}
	}
	return 0;

}


int main()
{
	int 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];
	for(int k=0;k<col;k++)
	{
		if(k<row)
			for(int i=0;i<=k;i++)
				cout<<array[i][k-i]<<endl;
		else
			for(int i=0;i<row;i++)
				cout<<array[i][k-i]<<endl;
	}
	for(int k=col;k<row+col-1;k++)
	{
		if(k<row)
			for(int i=k-col+1;i<=k;i++)
				cout<<array[i][k-i]<<endl;
		else
			for(int i=k-col+1;i<row;i++)
				cout<<array[i][k-i]<<endl;
	}
	return 0;
}


int main() {
	int k = 0, row = 0, col = 0, i = 0, j = 0,min=0,rowbegin=0;
	cin >> row >> col;
	int a[row][col];
	for (i = 0; i < row; i++)
		for (j = 0; j < col; j++)
			cin >> a[i][j];
	min=row<col?row:col;
	while (k <= col+row-1) {
		i = 0;
		if (k > col-1)
			rowbegin++;

		for (i=rowbegin; i <= k &&i<row; i++) {
			cout << a[i][k - i]<<endl;
		}
		k++;
	}
	return 0;
}


int main()
{
	int row,col;
	scanf("%d %d",&row,&col);
	int *head=(int *)calloc(row*col,sizeof(int));
    int *p;
	for(p=head;p<head+row*col;p++)
	{
		scanf("%d",p);
	}
	int i,j,jj,ii;
	for(j=0;j<col;j++)
	{
		for(jj=j,i=0;jj>=0&&i<row;jj--,i++)
		{
			printf("%d\n",*(head+col*i+jj));
		}
	}
	for(i=1;i<row;i++)
	{
		for(ii=i,j=col-1;j>=0&&ii<row;j--,ii++)
		{
			printf("%d\n",*(head+col*ii+j));
		}
	}
	return 0;
}


int row,col,*a;
int main()
{
void out(int i,int j,int k);
int i;
scanf("%d %d",&row,&col);
a=(int *)malloc(row*col*sizeof(int));
for(i=0;i<row*col;i++)
scanf("%d",&a[i]);
printf("%d",a[0]);
for(i=1;i<col;i++)
out(i,i,0);
for(i=1;i<row;i++)
out(i,col-1,i);

return 0;
}

void out(int i,int j,int k)
{
while(j!=-1&&k!=row)
{
printf("\n%d",*(a+k*col+j));
j--;k++;
}
}


int r,c,*p,n,m,i,j,k;
void main()
{
 void x(int i);
 void y(int i);
 scanf("%d %d",&r,&c);
 n=r*c;m=r+c-2;
 p=(int *)malloc(n*sizeof(int));
 for(i=0;i<n;i++)
 scanf("%d",p+i);
 for(i=0;i<c;i++)x(i);
 for(i=c;i<=m;i++)y(i);
}
void x(int i)
{
	int a;
	for(a=i;a>=0&&(i-a)<r;a--)
		printf("%d\n",*(p+(i-a)*c+a));
}
void y(int i)
{
	int a;
	for(a=c-1;a>=0&&(i-a)<r;a--)
		printf("%d\n",*(p+(i-a)*c+a));
}


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


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


int main()
{
	int row, col;                                    //?????????
	int a[110][110];
	int max, min;

	cin >> row >> col;

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

	if(row > col)
	{
		max = row;
		min = col;
	}
	else
	{
		max = col;
		min = row;
	}

	for(int i = 0; i < min; i ++)
	for(int j = 0; j <= i; j ++)
	cout << a[j][i - j] << endl;

	if(col != row)
	{
		for(int i = min; i < max; i ++)
		{
			if(col > row)
			for(int j = 0; j < min; j ++)
			cout << a[j][i - j] << endl;

			else
			for(int j = col - 1; j >= 0; j --)
			cout << a[i - j][j] << endl;
		}
	}

	for(int i = max; i <= row + col - 2; i ++)
	for(int j = col - 1; i - j <= row - 1; j --)
	cout << a[i - j][j] << endl;

	return 0;
}


int main()
{
    int row,col;
    cin >> row >> col;
    int array[100][100];
    int i,j,k;

    for (i=0;i<=row-1;i++)
    {
        for (j=0;j<=col-1;j++)
        {
            cin >> array[i][j] ;
        }
    }
    if (col>row)
    {
    for (k=0;k<=row-1;k++)

    {
        i=0;
        j=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (j!=-1);
    }
    for (k=row;k<col-1;k++)
    {
        int s=0;
        j=k;
        i=0;
        do
        {
              cout << array[i][j] << endl;
              s++;
              j--;
              i++;
        }
        while (s!=row);
    }

    for (k=0;k<=row-1;k++)
    {
        j=col-1;
        i=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (i!=row);
    }
}
if (row==col)
{
    for (k=0;k<=row-1;k++)
    {
        i=0;
        j=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (j!=-1);
    }
    for (k=1;k<=row-1;k++)
    {
        j=col-1;
        i=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (i!=row);
    }
}

if (col<row)
    {
    for (k=0;k<=col-1;k++)

    {
        i=0;
        j=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (j!=-1);
    }
    for (k=1;k<row-col;k++)
    {
        int s=0;
        j=col-1;
        i=k;
        do
        {
              cout << array[i][j] << endl;
              s++;
              j--;
              i++;
        }
        while (s!=col);
    }

    for (k=row-col;k<=row-1;k++)
    {
        j=col-1;
        i=k;
        do
        {
            cout << array[i][j] << endl;
            j--;
            i++;
        }
        while (i!=row);
    }
}

    return 0;
}


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


int main()
{
	int i, j, row, col, n = 0;
	int a[100 + 10][100 + 10] = {0};
	cin >> row >> col;
	for (i = 0; i < row; i ++)
		for (j = 0; j < col; j ++)
		cin >> a[i][j];
	i = 0; j = 0;
	for (int begin = 0; begin < col; begin ++)
	{
		i = 0; j = begin;
		while(j >= 0 && i < row) cout << a[i ++][j --] << endl;
	}
	for (int begin = 1; begin < row; begin ++)
	{
		i = begin, j = col - 1;
		while(i < row && j >= 0) cout << a[i ++][j --] << endl;
	}
	return 0;
}


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

	return 0;
}


int main()
{
	int a[101][101] = {0};
	int row, col, i, j, m, n, k, num = 0;
	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++)
	{
		j = i;
		while (j >= 0 && i - j < row)
		{
			cout << a[i - j][j] << endl;
			j--;
		}
	}
	for (i = 1; i < row; i++)
	{
		j = i;
		while (j < row && col - 1 + i - j >= 0)
		{
			cout << a[j][col - 1 + i - j] << endl;
			j++;
		}
	}
	return 0;
}


void main()
{
	int row,col,n=0,i,j,*a[101],*h[101];
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
	{
		h[i]=a[i]=(int *)malloc(sizeof(int)*col);
		for(j=0;j<col;j++,a[i]++) scanf("%d",a[i]);
	}
	if(col==1)
	{
		for(i=0;i<row;i++) printf("%d\n",*h[i]);
	}
	else
	{
	for(i=0;i<row;i++) a[i]=h[i];
	for(i=0;i<row+col+1;i++)
	{
		for(j=0;j<=i&&j<row;j++)
		{
			if(a[j]!=h[j]+col) {printf("%d\n",*a[j]);a[j]++;}
			else continue;
		}
		if(a[j]==h[row-1]+col-1) break;
	}
	}
}


int main()
{
	int col,row;
	int mat[200][200];
	int i,j;

	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			scanf("%d",&mat[i][j]);
	for(i=0,j=0;;)
	{
		if(i<row&&j<col)
		    printf("%d\n",mat[i][j]);
        if(i==row-1&&j==col-1)break;
		if(j==0)
		{
			j=i+1;
			i=0;
		}
		else
		{
			i++;
			j--;
		}
	}
	return 0;
}


int main()
{
	int row,col,i,j,x,sum,y,z;
	int a[100][100];
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
	{
		for(j=0;j<col;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	i=0;
	sum=0;
	j=0;
	x=0;
	y=1;
	z=0;
	if(col>=row){
	while(1)
	{
		printf("%d\n",a[i][j]);
		i++;
		j--;
		sum++;
		if(i>=row)
		{
			if(j+row+1<col)
			{
				j=j+row+1;
				i=0;
			}
			else if(j+row+1>=col)
			{
				j=j+row-x;
				i=1+x;
				x++;
			}
		}
		else if(j<0&&i<row)
		{
			j=j+1+y;
			i=0;
			y++;
		}
		if(sum==col*row)
			break;
	}
	}
	else if(col<row)
    {
        while(1)
        {
            printf("%d\n",a[i][j]);
		    i++;
		    j--;
		    sum++;
		    if(i>=row)
		    {
			    j=col-1;
				i=i-col+1+x;
				x++;
            }
            else if(i<row&&j<0)
            {
                if(j+1+y<col)
                {
                    j=j+1+y;
                    i=0;
                    y++;
                }
                else if(j+1+y>=col)
                {
                    j=col-1;
                    i=z+1;
                    z++;
                }
            }
            if(sum==col*row)
			break;
        }
    }

	return 0;
}


void main()
{
 int i,j,k,**p,col,row,sum;
 scanf("%d %d",&row,&col);
 p = (int **) malloc(row*sizeof(int*));
 for (i=0;i<row;i++)
    *(p+i)=(int *)malloc(col*sizeof(int));
 for(i=0;i<row;i++)
    for(j=0;j<col;j++)
	{
		scanf("%d ",*(p+i)+j);
    }
    k=row+col;
	for(sum=0;sum<=k;sum++)
	{
		for(i=0;i<=sum;i++)
		{
			j=sum-i;
			if(i<row&&j<col)
				printf("\n%d",*(*(p+i)+j));
		}
	}
}


int main()
{int a[103][103];
	int row,col;
	int i,j;
	cin>>row>>col;
	for(int i=0;i<row;i++)
		for(int j=0;j<col;j++)cin>>a[i][j];
for(i=0;i<row+col-1;i++)
	for(j=0;j<=i;j++)if(j<row&&i-j<col)cout<<a[j][i-j]<<endl;

return 0;
}


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


/* Name      : ??????????
 * Version   : 1.0
 * Date      : 2012-12-08
 * New       : Null
 * Func&Feat : ????????
 * State     : Design
 */
int main()
{
    int row,col,a[100][100]={0};
    cin>>row>>col;
    for(int i=0;i<row;i++)
        for(int j=0;j<col;j++)cin>>*(*(a+i)+j);
    for(int dia=0;dia<row+col-1;dia++)
    {
        if(dia<col)
            for(int iRow=0;dia-iRow>=0&&iRow<row;iRow++)cout<<*(*(a+iRow)+dia-iRow)<<endl;
        else for(int iRow=dia-col+1;dia-iRow>=0&&iRow<row;iRow++)cout<<*(*(a+iRow)+dia-iRow)<<endl;
    }
    return 0;
}


int main()
{
    int row,col,i,j,**p,k;
    scanf("%d %d",&row,&col);
    p=(int**)malloc(row*sizeof(int*));
    for(i=0;i<row;i++)
    *(p+i)=(int*)malloc(col*sizeof(int));
      for(i=0;i<row;i++)
      for(j=0;j<col;j++)
      scanf("%d",*(p+i)+j);
    for(j=0;j<col;j++)
    {
        i=0;
        k=j;
        while(k>=0&&i<row)
        {
            printf("%d\n",*(*(p+i)+k));
            i++;
            k--;
        }
    }
    for(i=1;i<row;i++)
    {
        j=col-1;
        k=i;
        while(k<row&&j>=0)
        {
            printf("%d\n",*(*(p+k)+j));
            k++;
            j--;
        }
    }
}


int main()
{
	int i,len1,len2,m=0,flag=1;
	char s[M]={""},t[M]={""};
	float p,q;
	scanf("%f",&p);
	scanf("%s",s);
	scanf("%s",t);
	len1=strlen(s);
	len2=strlen(t);
	if(len1!=len2)
	{
		printf("error");
		flag=0;
	}
	else
	{
		for(i=0;i<len1;i++)
		{
			if((s[i]!='A'&&s[i]!='T'&&s[i]!='C'&&s[i]!='G')||(t[i]!='A'&&t[i]!='T'&&t[i]!='C'&&t[i]!='G'))
			{
				printf("error");
				flag=0;
				break;
			}
			else
			{
				if(s[i]==t[i])
					m++;
			}
		}
	}
	if(flag==1)
	{
		q=(float)m/len1;
		if(q>p)
			printf("yes");
		else
		printf("no");
	}

	return 0;
}


int main(){
	int c,d,i;
	double q,p,e=0;
	scanf("%lf",&p);
	char a[501],b[501];
	scanf("%s",a);
	scanf("%s",b);
	c=strlen(a);
	d=strlen(b);
	if(c!=d)
		printf("error");
	else{
		for(i=0;i<d;i++){
			if(a[i]!='A'&&a[i]!='T'&&a[i]!='G'&&a[i]!='C')
			{
				printf("error");
				break;
			}
			else if(b[i]!='A'&&b[i]!='T'&&b[i]!='G'&&b[i]!='C'){
				printf("error");
			    break;
			}
			else if(a[i]==b[i])
				e++;
		}
		if(i==d){
			q=e/d;
			if(q>=p)
				printf("yes");
			else
				printf("no");
		}
	}
	return 0;
}


int main(){
	double n;
	char zzd[600];
	char hzy[600];
	int i;
	int a;
	double v;
	a=0;
	double b;
	int c;
	c=0;
	scanf("%lf",&n);
	scanf("%s",zzd);
	scanf("%s",hzy);
	b=strlen(zzd);
	for(i=0;i<b;i++){
		if(zzd[i]!='A'&&zzd[i]!='G'&&zzd[i]!='C'&&zzd[i]!='T'){
			printf("error");
			c++;
			break;
		}
		else if(hzy[i]!='A'&&hzy[i]!='G'&&hzy[i]!='C'&&hzy[i]!='T'){
			printf("error");
			c++;
			break;
		}
		else if(zzd[i]==hzy[i]){
				a++;
			}
	}
	if(c==0){
	v=a/b;
	if(v>=n){
		printf("yes");
	}
	else if(v<n){
		printf("no");
	}
	}
	return 0;
}


int judge(char c)

{

    return (!(c=='A' || c=='T' || c=='C' || c=='G'));

}

int main()

{

    double n;

    int icount = 0;

    int flag = 0;

    char s[600],t[600];

    scanf("%lf%s%s",&n,s,t);

    int len1 = strlen(s), len2 = strlen(t);

    if(len1 != len2)

        printf("error\n");

    else

    {

        for(int i = 0; i < len1; ++i)

        {

            if(s[i] == t[i]) icount ++;

            if(judge(s[i])||judge(t[i])){flag = 1;break;}

        }

        if(flag)

            printf("error\n");

        else

        {

            if(1.0*icount/len1>=n)printf("yes\n");

            else printf("no\n");

        }

    }

    return 0;

}


int main()
{
	float rate,rate0;
	int sum=0,len1,len2,i,tag=0;
	char base1[501],base2[501];
	cin>>rate>>base1>>base2;
	len1=strlen(base1);
	len2=strlen(base2);
	if(len1!=len2)
	{
		tag=1;
		goto pku;
	}
	for(i=0;i<len1;i++)
	{
		if(base1[i]!='A'&&base1[i]!='T'&&base1[i]!='C'&&base1[i]!='G'||base2[i]!='A'&&base2[i]!='T'&&base2[i]!='C'&&base2[i]!='G')
		{
			tag=1;
			goto pku;
		}
		if((int)base1[i]==(int)base2[i]) sum++;
		else continue;
	}
	rate0=(float)sum/len1;
	if(rate0>rate) cout<<"yes";
	else cout<<"no";
pku:if(tag) cout<<"error";
	return 0;
}


int main()
{
	double m,n;
	int len1,len2,count=0,i;
	char s1[100],s2[100];
	scanf("%lf",&m);
	scanf("%s",s1);
	scanf("%s",s2);
	len1=strlen(s1);
	len2=strlen(s2);
	if(len1==len2)
	{
		for(i=0;i<len1;i++)
		{
		    if(s1[i]!='A'&&s1[i]!='T'&&s1[i]!='C'&&s1[i]!='G'||s2[i]!='A'&&s2[i]!='T'&&s2[i]!='C'&&s2[i]!='G')
			{
				count=len1+1;
			    break;
			}
			if(s1[i]==s2[i])
				count++;
		}
		n=1.0*count/len1;
		if(count>=len1+1)
			printf("error\n");
		if(n>m&&n<=1)
			printf("yes\n");
		else if(n<=m)
			printf("no\n");
	}
	else
		printf("error\n");
	return 0;

}


int main()
{
	double n,m=0;
	char dna1[MAX+1],dna2[MAX+1];
	int len1=0,len2=0,count=0,i=0;
	scanf("%lf%s%s",&n,dna1,dna2);
	len1=strlen(dna1);
	len2=strlen(dna2);
	//printf("%d%d",len1,len2);
	if(len1!=len2){
		printf("error");
		return 0;
	}
	if(len1==len2){
		for(i=0;i<len1-1;i++){
			if((dna1[i]!='A'&&dna1[i]!='T'&&dna1[i]!='C'&&dna1[i]!='G')||(dna2[i]!='A'&&dna2[i]!='T'&&dna2[i]!='C'&&dna2[i]!='G')){
				printf("error");
				return 0;
			}
			else if(dna1[i]!=dna2[i]){
				count++;
			}
		}
		//printf("%d",count);
		m=(double)count/len1;
	    //printf("%.lf",m);
		if((1-m)>=n){
			printf("yes");
		}
		if((1-m)<n){
			printf("no");
		}
	}
	return 0;
}


int main(){
	double s,t;
	int m,n,flag=0;
	int e=0;
	char a[LEN],b[LEN];
	scanf("%lf",&s);
	scanf("%s",a);
	scanf("%s",b);
	m=strlen(a);
	n=strlen(b);
	for(int p=0;p<m;p++){
		if(a[p]=='A'||a[p]=='G'||a[p]=='C'||a[p]=='T'){
			flag=0;
		}else{
			flag=1;
			break;
		}
	}
	if((m!=n)||(flag==1)){
		printf("error");
	}else{
		for(int i=0;i<n;i++){
			if(a[i]==b[i]){
				e++;
			}
		}
		t=1.0*e/n;
		if(t>s){
			printf("yes");
		}else{
			printf("no");
		}
	}
	return 0;
}


int main(){
    char a[510],d[510];
    int i,e;
    double bl,k;
    scanf("%lf",&k);
    scanf("%s",a);
    scanf("%s",d);
    e=0;
    int len1=strlen(a);
    int len2=strlen(d);
    if(len1!=len2){
        printf("error");
    }else{
    for(i=0;i<len1;i++){
        if(a[i]!='A'&&a[i]!='T'&&a[i]!='G'&&a[i]!='C'){
            printf("error");
            return 0;
        }
        if(d[i]!='A'&&d[i]!='T'&&d[i]!='C'&&d[i]!='G'){
            printf("error");
            return 0;
        }
        else{
            if(a[i]==d[i]){
                e++;
            }
        }
    }
    bl=1.0*e/len1;
    if(bl>k){
        printf("yes");
    }else{
        printf("no");
    }
    }return 0;
}


int main()
{
	double n,b;
	scanf("%lf",&n);
	int i,m,a,o;
	a=0;
	char ji[1000],yin[1000];
	scanf("%s",ji);
	scanf("%s",yin);
	m=strlen(ji);
	o=strlen(yin);
	if(m!=o)
	{
		printf("error");
		return 0;
	}
	for(i=0;i<m;i++)
	{
		if((ji[i]!='A'&&ji[i]!='C'&&ji[i]!='G'&&ji[i]!='T')||(yin[i]!='A'&&yin[i]!='C'&&yin[i]!='G'&&yin[i]!='T'))
		{
			printf("error");
			return 0;
		}
	}
	if(n>=1)
	{
		printf("no");
		return 0;
	}
	for(i=0;i<m;i++)
	{
		if(ji[i]==yin[i])
		{
			a++;
		}
	}
	b=1.0*a/1.0*m;
	if(b>=n)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	return 0;
}


int main()
{
	double a;
	char zfc[1000];
	char zfc1[1000];
	scanf("%lf",&a);
	int b=0;
	double c;
	int d=0;
	int i,j;
	scanf("%s",zfc);
	scanf("%s",zfc1);
	int e=0,f=0;
	int g=0,h=0;
	int z=0;
	for(i=0;i<strlen(zfc);i++){
		if(zfc[i]=='A'||zfc[i]=='T'||zfc[i]=='C'||zfc[i]=='G'){
			g++;
		}
	}
	for(i=0;i<strlen(zfc1);i++){
		if(zfc1[i]=='A'||zfc1[i]=='T'||zfc1[i]=='C'||zfc1[i]=='G'){
		h++;
		}
	}
	if((g!=strlen(zfc))||(h!=strlen(zfc1))||strlen(zfc)!=strlen(zfc1)){
		printf("error\n");
		z=1;
	}
	if(z!=1){
	for(j=0;j<strlen(zfc);j++){
		if(zfc[j]==zfc1[j]){
			b++;
		}
	}
	for(j=0;j<strlen(zfc);j++){
		d++;
	}
	c=1.0*b/d;

	if(c>a){
		printf("yes\n");
	}
	if(c<=a){
		printf("no\n");
	}
	}
	return 0;
}


int main(){
	int i,sum=0,flag=1;
	double n1,n;
	char a[512],b[512];
    scanf("%lf%s%s",&n,a,b);
	if(strlen(a)!=strlen(b))
		printf("error\n");
	else
	{
        for(i=0;a[i]!=0;i++)
		{
   	    	if(a[i]!='A'&&a[i]!='T'&&a[i]!='G'&&a[i]!='C')
    	  		flag=0;
		}
       	for(i=0;b[i]!=0;i++)
		{
        	if(b[i]!='A'&&b[i]!='T'&&b[i]!='G'&&b[i]!='C')
    			flag=0;
		}
		if(flag)
		{
        	for(i=0;a[i]!=0;i++)
			{
		    	if(a[i]==b[i])
			    	sum++;
			}
    		n1=(double)sum/(double)strlen(a);
    		if(n1>n)
    			printf("yes\n");
    		else
	    		printf("no\n");
		}
		else
			printf("error\n");
	}
	return 0;
}


int main()
{
	char s1[100],s2[100];
	int changdu1,changdu2,i,js=0;
	double rate,rate1;
	scanf("%lf%s%s",&rate,s1,s2);
	changdu1=strlen(s1);
	changdu2=strlen(s2);
	if(changdu1!=changdu2)
		printf("error");
	else
	{
		for(i=0;i<changdu1;i++)
		{
			if((s1[i]!='A'&&s1[i]!='T'&&s1[i]!='G'&&s1[i]!='C')||(s2[i]!='A'&&s2[i]!='T'&&s2[i]!='G'&&s2[i]!='C'))
			{
				js=1;
				break;
			}
		}
		if(js==1)
			printf("error");
		else
		{
			for(i=0;i<changdu1;i++)
			{
				if(s1[i]==s2[i])
					js++;
			}
			rate1=1.0*js/changdu1;
			if(rate1>rate)
				printf("yes");
			else printf("no");
		}
	}
	return 0;
}


int main(){
	double rate;
	scanf("%lf",&rate);
	char DNA[2][501];
	scanf("%s",DNA[0]);
	scanf("%s",DNA[1]);
	int t;
	int i,j;
	int number=0;
	t=strlen(DNA[0]);
	int w;
	w=strlen(DNA[1]);
	if (t!=w)
	{
		printf("error");

		return 0;
	}
	for (i=0;i<t;i++)
	{
		if (DNA[0][i]!='A'&&DNA[0][i]!='T'&&DNA[0][i]!='C'&&DNA[0][i]!='G')
		{
			printf("error");

			return 0;
		}
		if (DNA[1][i]!='A'&&DNA[1][i]!='T'&&DNA[1][i]!='C'&&DNA[1][i]!='G')
		{
			printf("error");

			return 0;
		}
		if (DNA[0][i]==DNA[1][i])
		{
			number++;
		}

	}
	double r;
	r=1.00*number/t;
	if (r>=rate)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}

	return 0;

}


int main(){
double n;
int i;
scanf("%lf",&n);
char sza[600],szb[600];
scanf("%s",sza);
scanf("%s",szb);
int a=0;
int b=strlen(sza);
int c=strlen(szb);
for(i=0;i<b;i++){
	if(sza[i]!='A'&&sza[i]!='T'&&sza[i]!='C'&&sza[i]!='G'){
	  a=1;
	}
	if(szb[i]!='A'&&szb[i]!='T'&&szb[i]!='C'&&szb[i]!='G'){
	  a=1;
	}
         if(b!=c){
	  a=1;
	}}
double d=0;
double e;
if(a==1){
  printf("error");
}else{
	for(i=0;i<b;i++){
		if(sza[i]==szb[i]){
		   d++;
		}
	}
    e=d/b;
	if(e>n){
	  printf("yes");
	}else{
	  printf("no");
	}
}
return 0;
}


int main (){
	int i,q;
    char a[501],b[501],c[10];
	double n,t=0;
	gets (c);
	n = atof(c);
	gets (a);
	gets (b);
	q=strlen(a);
	if (strlen(a)!=strlen(b)){
printf("error");
return 0;
	}
else {
   for (i=0;a[i]!='\0';i=i+1){
	   if (a[i]>97||b[i]>97){

		   printf("error");
	   return 0;
	   }
	     else {
           if (a[i]==b[i])
              t=t+1;

		 }
   }
}

          if (n<0)
                printf ("yes");
          else{
			  if (t/(q*1.00)>n)
                printf ("yes");
              else
                printf ("no");
		  }

return 0;
}


int main()
{
    int i,j,d,l,h;
    double n,t;
    char a[500],b[500];
    scanf("%lf\n",&n);
    d=0;
    gets(a);
    gets(b);
    l=strlen(a);
    h=strlen(b);
    if(l>h||l<n)
    {
        printf("error");
    }else if(l==h)
    {
        for(i=0,j=0;a[i]!='\0';i++,j++)
        {
            if(a[i]=='A'||a[i]=='T'||a[i]=='C'||a[i]=='G')
            {
                 if(a[i]==b[j])
                 {
                     d++;
                 }
            }else{
                printf("error");
                return 0;
            }
        }
        t=(double)d/l;
        if(t>n)
        {
            printf("yes");
        }else if(t<=n)
        {
            printf("no");
        }
    }
    return 0;
}


int main()
{
	int cout=0,len=0,flag=0,b=0;
	double lv,a;
	char slv[10],s[500],z[500];
	gets(slv);
	lv=atoi(slv);
	gets(s);
	gets(z);
	len=strlen(s);
	if(strlen(s)==strlen(z)){
	for(int i=0;s[i]!='\0';i++){
	if(s[i]==z[i])
		cout++;
	if(s[i]!='A'&&s[i]!='T'&&s[i]!='C'&&s[i]!='G')
		b=1;
	if(z[i]!='A'&&z[i]!='T'&&z[i]!='C'&&z[i]!='G')
		b=1;
	}
	a=cout*1.0/len;
	flag++;
	}
	if(flag==0||b==1)
		printf("error");
	else{
	if(a>lv){
		printf("yes");}
	else
		printf("no");}
	return 0;
}


int compare(char x,char y);
int main(){
	double n;
	char DNA1[502],DNA2[502];
	int len1,len2;
	scanf("%lf",&n);
	scanf("%s",DNA1);
	scanf("%s",DNA2);
	len1=strlen(DNA1);
	len2=strlen(DNA2);
	int i,m=0;
	int e;
	int p=0;
	double result;
	if(len1!=len2){
		printf("error");
	}else{
		for(i=0;i<len1;i++){
			e=compare(DNA1[i],DNA2[i]);
			if(e==1){
				m++;
			}
			if((DNA1[i]!='A'&&DNA1[i]!='T'&&DNA1[i]!='G'&&DNA1[i]!='C')||(DNA2[i]!='A'&&DNA2[i]!='T'&&DNA2[i]!='G'&&DNA2[i]!='C')){
				printf("error");
				p=1;
				break;
			}
		}
		if(p==0){
			result=((double)m/(double)len1);
			if(result>n){
				printf("yes");
			}else{
				printf("no");
			}
		}
	}
	return 0;
}

int compare(char x,char y){
	if((x=='A'&&y=='A')||(x=='T'&&y=='T')||(x=='C'&&y=='C')||(x=='G'&&y=='G')){
		return 1;
	}else{
		return 0;
	}
}


int main(){
	float a;
	int bar=0;
	scanf("%f",&a);
	char zfc[2][500];
	scanf("%s",zfc[0]);
	scanf("%s",zfc[1]);
	float count=0.0;
	if(strlen(zfc[0])!=strlen(zfc[1]))
		printf("error");
	else{
		float len=strlen(zfc[0]);
		for(int i=0;i<len;i++){
			if((zfc[0][i]!='A'&&zfc[0][i]!='T'&&zfc[0][i]!='C'&&zfc[0][i]!='G')||(zfc[1][i]!='A'&&zfc[1][i]!='T'&&zfc[1][i]!='C'&&zfc[1][i]!='G')){
				printf("error");
				bar=1;
				break;
			}
			else if(zfc[0][i]==zfc[1][i])
				count+=1.0;
		}
 	    if(count/len>=a&&bar==0)
			printf("yes");
		if(count/len<a&&bar==0)
			printf("no");
	}
    return 0;
}


int main(){
    double n;
	scanf("%lf",&n);
	char s[1000],j[1000];
	scanf("%s",s);
	scanf("%s",j);
	if(strlen(s)!=strlen(j)){
		printf("error");
		return 0;
	}
	int k;
	k=strlen(s);
	int sum=0;
	double rate;
	int i;
	for(i=0;s[i]!='\0';i++){
		if(s[i]!='A'&&s[i]!='G'&&s[i]!='C'&&s[i]!='T'){
			printf("error");
			return 0;
		}
		if(j[i]!='A'&&j[i]!='G'&&j[i]!='C'&&j[i]!='T'){
			printf("error");
			return 0;
		}

		if(s[i]==j[i]){
			sum++;
		}
	}
	rate=1.0*sum/k;
	if(rate>n){
		printf("yes");
	}else{
		printf("no");
	}
    return 0;
}


int main()
{
	double a;
	cin>>a;
	cin.get();
	char b[501],c[501];
	int i,j;
	cin.getline(b,501);
	cin.getline(c,501);
	int flag=0;
	for(i=0;b[i]!='\0';i++)
	{
		if(b[i]!='A'&&b[i]!='T'&&b[i]!='C'&&b[i]!='G')
		{
			cout<<"error"<<endl;
			flag=1;
			break;
		}
	}
	if(flag==0)
	{
    for(j=0;c[j]!='\0';j++)
	{
		if(c[j]!='A'&&c[j]!='T'&&c[j]!='C'&&c[j]!='G')
		{
			cout<<"error"<<endl;
			flag=1;
			break;
		}
	}
	}
	if(flag==0)
	{
		if(i!=j)
		{
			cout<<"error"<<endl;
			flag=1;
		}
	}
	int t=0;
	if(flag==0)
	{
		for(i=0;i<j;i++)
		{
           if(b[i]==c[i])
			   t++;
		}
	double k=(double)t/j;
	if(k>a)
		cout<<"yes"<<endl;
	else
		cout<<"no"<<endl;
	}
	return 0;

}


int main()
{
double rate;
scanf("%lf",&rate);
char a[501],b[501];
scanf("%s%s",a,b);
int len1=strlen(a);
int len2=strlen(b);

if (len1!=len2)
{
printf("error\n");
return 0;
}

int i,sum=0;
for (i=0; i<len1; i++)
{
switch (a[i])
{
case 'A': break;
case 'T': break;
case 'C': break;
case 'G': break;
default: printf("error\n");
         return 0;
}
switch (b[i])
{
case 'A': break;
case 'T': break;
case 'C': break;
case 'G': break;
default: printf("error\n");
         return 0;
}

if (a[i]==b[i]) sum++;
}

if ((double)sum/len1>rate) printf("yes\n"); else printf("no\n");
return 0;
}


int main()
{
	int i,j,time=0;
	double p;
	char a[501],b[501];
	char c[5]="ATCG";
	scanf("%lf",&p);
	scanf("%s",a);
	scanf("%s",b);
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=c[0]&&a[i]!=c[1]&&a[i]!=c[2]&&a[i]!=c[3])
		{
			printf("error");
			return 0;
		}
	}
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=c[0]&&a[i]!=c[1]&&a[i]!=c[2]&&a[i]!=c[3])
		{
			printf("error");
			return 0;
		}
	}
	if(strlen(a)!=strlen(b))
	{
		printf("error");
		return 0;
	}
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]==b[i])
		{
			time++;
		}
	}
	if(p<(double)time/strlen(a)||p==(double)time/strlen(a))
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	return 0;
}


int main(){
	double a;
	char b[501],c[501];
	scanf("%lf\n",&a);
	scanf("%s\n",b);
	scanf("%s",c);
	int i;
	int t=0;
	for(i=0;i<strlen(b);i++){
		if(b[i]!='A' && b[i]!='T' && b[i]!='C' && b[i]!='G') t=1;
	}
	for(i=0;i<strlen(c);i++){
		if(c[i]!='A' && c[i]!='T' && c[i]!='C' && c[i]!='G') t=1;
	}
	if(strlen(b)!=strlen(c) || t==1) printf("error");
		else{

		int i,sum=0;
		for(i=0;i<strlen(b);i++){
			if(b[i]==c[i]) sum++;
		}
		double d;
		int m;
		m=strlen(b);
		d=sum*1.0/m;
		if(d>a) printf("yes");
		else printf("no");
	}

	return 0;
}


int main()
{
	char x[1000],y[1000];
	int i,lengthx,lengthy,same=0;
	float rate,a;
	scanf("%f",&rate);
	scanf("%s %s",x,y);
	lengthx=strlen(x);
	lengthy=strlen(y);
	if(lengthx!=lengthy)printf("error\n");
	else
	{
		for(i=0;i<lengthx;i++)
		{
			if((x[i]!='A'&&x[i]!='G'&&x[i]!='C'&&x[i]!='T')||(y[i]!='A'&&y[i]!='G'&&y[i]!='C'&&y[i]!='T'))
				break;
		}
		if(i<lengthx-1)printf("error\n");
		else
		{
	       for(i=0;i<lengthx;i++)
		       if(x[i]==y[i])same++;
	       a=(float)same/(float)lengthx;
	       if(a>rate)printf("yes\n");
	       else printf("no\n");
		}
	}
	return 0;
}


int main(){
	double k;
	scanf("%lf",&k);
	char moban[500],hubu[500];
	scanf("%s",moban);
	scanf("%s",hubu);
	int m,n;
	m=strlen(moban);
	n=strlen(hubu);
	if(m!=n) printf("error");
	else{
		int count=0;
		for(int i=0;i<n;i++){
			if(moban[i]!='A'&&moban[i]!='T'&&moban[i]!='C'&&moban[i]!='G') count++;
			if(hubu[i]!='A'&&hubu[i]!='T'&&hubu[i]!='C'&&hubu[i]!='G') count++;

		}
		if(count!=0) printf("error");
		else{
			int sum=0;
			for(int i=0;i<n;i++){
				if(moban[i]==hubu[i]) sum++;

				}
				double result=(double)sum/n;
				if(result>k)printf("yes");
				else printf("no");

			}

	}
	//scanf("%lf",&k);
	return 0;
}


int main()
{
    double len,len1,h,n1;
    int i,f,r;
    h=0;
    f=0;
    char s[500],t[500],n[2];
    gets(n);
    n1=atof(n);
    gets(s);
    gets(t);
    len=strlen(s);
    len1=strlen(t);
    if(len!=len1)
    printf("error");
    else
    {
        for(i=0;i<len;i++)
        {
          if((s[i]!='A'&& s[i]!='T' && s[i]!='C' && s[i]!='G')||
          (t[i]!='A' && t[i]!='T' && t[i]!='C'&& t[i]!='G'))
          f=1;
        }
        if(f)
        printf("error");
        else{
        for(i=0;i<len;i++)
        {
          if(s[i]==t[i])
          h++;
        }
        if(h/len>n1)
        printf("yes");
        else
        printf("no");
        }
    }
        return 0;
}


int main()
{
	char y[501],s[501];
	double h;
	scanf("%lf",&h);
	scanf("%s",y);
	scanf("%s",s);
	int len=strlen(y),i,sum=0,l=strlen(s);
	if(len!=l)
	{
		printf("error");
	    return 0;
	}
	for(i=0;i<len;i++)
	{
		if((y[i]!='A'&&y[i]!='T'&&y[i]!='C'&&y[i]!='G')||(s[i]!='A'&&s[i]!='T'&&s[i]!='C'&&s[i]!='G'))
		{
			printf("error");
			return 0;
		}
		else if(y[i]==s[i])
		{
			sum++;
		}
	}
	double p=(double)sum/len;
	if(p>h)
	{
		printf("yes");
		return 0;
	}
	printf("no");
	return 0;
}


int main()
{
	int i;
	float l1,l2;
	float n,count=0,result;
	char x[505],y[505];
	scanf("%f",&n);
    getchar();
	scanf("%s",x);
	scanf("%s",y);
	l1=strlen(x);
	l2=strlen(y);
	if(l1!=l2){
		printf("error");
		return 0;
	}
	for(i=0;i<l1;i++){
		if(x[i]=='A'||x[i]=='T'||x[i]=='C'||x[i]=='G') continue;
		else{
			printf("error");
			return 0;
		}
	}
	for(i=0;i<l2;i++){
		if(y[i]=='A'||y[i]=='T'||y[i]=='C'||y[i]=='G') continue;
		else{
			printf("error");
			return 0;
		}
	}
	for(i=0;i<l1;i++){
		if(x[i]==y[i]){
			count++;
		}
	}
	result=count/l1;
	if(result>n) printf("yes");
	else printf("no");
	return 0;
}


char a[100],b[100],c[100];
int main(){
	int sum=0;
	double m;
	double s;
	scanf("%lf",&m);
	scanf("%s",a);
	scanf("%s",b);
	int x,y;
	x=strlen(a),y=strlen(b);
	a[x]='\0';
	b[y]='\0';
	if(x!=y){
		printf("error");
		return 0;
	}
	int i;
	for(i=0;i<x;i++){
		if(a[i]=='A'){
			c[i]='A';
		}
        else if(a[i]=='T'){
			c[i]='T';
		}
        else if(a[i]=='C'){
			c[i]='C';
		}
        else if(a[i]=='G'){
			c[i]='G';
		}
		else{
			printf("error");
			return 0;
		}
	}
	for(i=0;i<x;i++){
		if(b[i]==c[i]){
			sum++;
		}
	}
	s=1.0*sum/x;
	if(s>=m){
		printf("yes");
	}
	else{
		printf("no");
	}
	return 0;
}


int main(){
	int i,b,s=0,j,a;
	double r,R;
	char gene[500],gene2[500];
	scanf("%lf",&r);
	scanf("%s",gene);
	scanf("%s",gene2);
	b=strlen(gene2);
	a=strlen(gene);
	if(a!=b){
			printf("error");
			return 0;
		}
	for(i=0;i<a;i++){
		if(gene[i]!='A'&&gene[i]!='T'&&gene[i]!='C'&&gene[i]!='G'){
			printf("error");
			return 0;
		}
		if(gene2[i]!='A'&&gene2[i]!='T'&&gene2[i]!='C'&&gene2[i]!='G'){
			printf("error");
			return 0;
		}
	}
	for(i=1;i<=b;i++){
		if(gene[i]==gene2[i]){
			s++;
		}
	}
	R=1.000*s/b;
	if(R>r){
		printf("yes");
	}
	else if(R<=r) {
		printf("no");
	}

	return 0;
}


int main(){
	int sum=0,lena,lenb,i,c;
	char yi[501],er[501];
	double rate,a;
	scanf("%lf",&a);
	scanf("%s%s",yi,er);
	lena=strlen(yi);
	lenb=strlen(er);
	if(lenb!=lena){
		printf("error");
	}else{
		for(i=0;i<lena;i++){
			if(yi[i]==0){
				break;
			}else if(yi[i]>='A'&&yi[i]<='Z'&&er[i]>='A'&&er[i<='Z']){
				if(yi[i]==er[i]){
					sum++;
				}else{
					continue;
				}
			}else{
				c=1;
				printf("error");
				break;
			}
		}
		rate=sum*1.0/lena;
		if(c!=1){
		if(rate>a){
			printf("yes");
		}else if(rate<=a){
			printf("no");
		}
		}
	}
	return 0;
}


int main(){
double link;
scanf("%lf",&link);
char a[501],b[501];
scanf("%s%s",a,b);
int c,d;
c=strlen(a);
d=strlen(b);
int i;
for(i=0;i<c;i++){
	if(a[i]!='A'&&a[i]!='G'&&a[i]!='C'&&a[i]!='T'){
	printf("error");
	return 0;
	}
}
for(i=0;i<d;i++){
	if(b[i]!='A'&&b[i]!='G'&&b[i]!='C'&&b[i]!='T'){
	printf("error");
	return 0;
	}
}
if(c!=d){
printf("error");
return 0;
}
double same;
same=0;
for(i=0;i<c;i++){
	if(a[i]==b[i]){
		same=same+1;
	}
}
double hl;
hl=same/(c*1.0000);
if(hl<=link){
printf("no");
}else {
printf("yes");
}
return 0;
}


int main ()
{
double k;
int total1,total2;
int i,same=0;
char h1[10000];
char h2[10000];
scanf("%lf",&k);
scanf("%s",h1);
scanf("%s",h2);
total1= (int)strlen(h1);
total2= (int)strlen(h2);

if (total1!=total2){printf ("error");return 0;}
else	{   for (i=0;i<total1;i++)
			{
				if ((h1[i]=='A'||h1[i]=='T'||h1[i]=='C'||h1[i]=='G')&&(h2[i]=='A'||h2[i]=='T'||h2[i]=='C'||h2[i]=='G'))
					{
					if (h1[i]==h2[i]){same++;}
					}
				else {printf("error");return 0;}
			}
		}
if (((double)same/(double)total1)>k){printf("yes");}
else {printf("no");}

return 0;
}


int main()
{
	char a[501],b[501];
	int num,i;
	int same=0,judge=1;
	double standard,actual;
	scanf("%lf",&standard);
	scanf("%s",a);
	scanf("%s",b);
	if(strlen(a)!=strlen(b))
	{
		printf("error");
	}
	else
	{
		num=strlen(a);
		for(i=0;i<num;i++)
		{
			if(((a[i]!='A')&&(a[i]!='T')&&(a[i]!='G')&&(a[i]!='C'))||((b[i]!='A')&&(b[i]!='T')&&(b[i]!='G')&&(b[i]!='C')))
			{
				printf("error");
				judge=0;
				break;
			}
			else
			{
				if(a[i]==b[i])
				{
					same++;
				}
			}
		}
		if(judge!=0)
		{
			actual=1.0*same/num;
			if(actual>standard)
			{
				printf("yes");
			}
			else
			{
				printf("no");
			}
		}
	}
	return 0;
}


int h(char s[1000]){
	int i;
	for (i=0;i<strlen(s);i++){
		if (s[i]!='A'&&s[i]!='G'&&s[i]!='T'&&s[i]!='C'){
			i=1;
			break;
		}
	}
    if(i!=1){
		i=0;
	}
	return i;
}
int main () {
	double c,d,e ;
	int j;
	char a[1000],b[1000];
    scanf("%lf",&c);
	scanf("%s",a);
	scanf("%s",b);
	if (strlen(a)!=strlen(b)){
		printf("error");
	}
	else if(h(a)||h(b)){
		printf("error");
	}
	else {
		e=0;
		for (j=0;j<strlen(a);j++){
			if (a[j]==b[j]){
				e++;
			}
		}
		d=e/strlen(a);
		if (d>=c){
			printf("yes");
		}
		else {
			printf("no");
		}
	}
	return 0;
}


int main()
{
	int m,la,lb,x,i;
	double r0,r1;
	char a[505],b[505];
	scanf("%lf",&r0);
	scanf("%s",a);
	scanf("%s",b);
	la=strlen(a);
	lb=strlen(b);
	if(la!=lb)
		printf("error\n");
	else
	{
		x=1;
	    for(i=0,m=0;i<la;i++)
		{
		    if(a[i]!='A'&&a[i]!='T'&&a[i]!='G'&&a[i]!='C')
			{
				printf("error\n");
				x=0;
				break;
			}
			else if(b[i]!='A'&&b[i]!='T'&&b[i]!='G'&&b[i]!='C')
			{
				printf("error\n");
				x=0;
				break;
			}
			else
			{
				if(a[i]==b[i])
				    m++;
			}
		}
		r1=1.0*m/la;
		if(x==1)
		{
			if(r1>r0)
				printf("yes\n");
			else
				printf("no\n");
		}
	}
	return 0;
}


int main(){
	int i,len1,len2;
	double rate,rate0,sum=0;
	char line1[501],line2[501];
	scanf("%lf%s%s",&rate0,line1,line2);
	len1=strlen(line1);
	len2=strlen(line2);
	if(len1==len2){
		for(i=0;i<len1;i++){
			if(line1[i]==line2[i]){
				sum++;
			}
			if(line1[i]!='A'&&line1[i]!='T'&&line1[i]!='G'&&line1[i]!='C'||line2[i]!='A'&&line2[i]!='T'&&line2[i]!='G'&&line2[i]!='C'){
				printf("error");
				return 0;
			}
		}
		rate=1.0*sum/len1;
		if(rate>=rate0){
			printf("yes");
		}else{
			printf("no");
		}
	}else{
		printf("error");
	}
	return 0;
}


int main(){
	int i,j,k=0,len1,len2,temp=0;
	char str1[600],str2[600];
	double p;
	scanf("%lf",&p);
	scanf("%s%s",str1,str2);
	len1=strlen(str1);
	len2=strlen(str2);
	if(len1!=len2){
	  printf("error");
	}
	else {
		for(i=0;i<len1;i++){
			if((str1[i]!='A'&&str1[i]!='T'&&str1[i]!='C'&&str1[i]!='G')||(str2[i]!='A'&&str2[i]!='T'&&str2[i]!='C'&&str2[i]!='G')){
			  printf("error");
			  temp=1;
			  break;

			}
			if(str1[i]==str2[i]){
			  k++;
			}
		}
		if(temp==0){

		  if(k*1.0/len1>p){
		  printf("yes");
		  }
		  else if(k*1.0/len1<=p){
		   printf("no");
		  }
		}
	}

	return 0;
}


int main(){
	double percent;
	char a[501],b[501];
	int number=0;
	int i;
	scanf("%lf",&percent);
	scanf("%s",a);
	scanf("%s",b);
	if(strlen(a)!=strlen(b)){
		printf("error");
		return 0;
	}
	for(i=0;a[i]!='\0';i++){
		if((a[i]=='A'||a[i]=='T'||a[i]=='C'||a[i]=='G')&&(b[i]=='A'||b[i]=='T'||b[i]=='C'||b[i]=='G')){
		}else{
			printf("error");
			return 0;
		}
	}
	for(i=0;a[i]!='\0';i++){
		if(a[i]==b[i]){
			number++;
		}
	}
	if((double)number>((double)strlen(a))*percent){
		printf("yes");
	}else{
		printf("no");
	}
	return 0;
}


int main(){
	int i,yiyang=0,zongliang=0,x;
	char lian1[501],lian2[501];
	double biaozhun,jieguo;
	scanf("%lf",&biaozhun);
	scanf("%s%s",&lian1,&lian2);
	for(i=0;lian1[i]!='\0'&&lian2[i]!='\0';i++){
		if((lian1[i]=='A'||lian1[i]=='C'||lian1[i]=='T'||lian1[i]=='G')&&(lian2[i]=='A'||lian2[i]=='C'||lian2[i]=='T'||lian2[i]=='G')){
			if(lian1[i]==lian2[i]){
				yiyang++;
			}
			zongliang++;
		}else{
			printf("error");
			x=99;
			break;
		}
	}
	if(lian1[zongliang]!='\0'||lian2[zongliang]!='\0'){
		if(x!=99){
		printf("error");
	}
		zongliang=0;
	}
	if(zongliang!=0){
	jieguo=1.0*yiyang/zongliang;
	if(jieguo>biaozhun){
		printf("yes");
	}else{
		printf("no");
	}
	}
	return 0;
}


int main(){
	int i,r1,r2,num=0,index=0;
	double n;
	char a[501],b[501];
	scanf("%lf\n",&n);
	scanf("%s\n",a);
	scanf("%s",b);
	r1=strlen(a);
	r2=strlen(b);
	for(i=0;i<r1;i++){
		if(a[i]=='A'||a[i]=='T'||a[i]=='C'||a[i]=='G')continue;
		else{
			index=1;
			break;
		}
	}
	for(i=0;i<r2;i++){
		if(b[i]=='A'||b[i]=='T'||b[i]=='C'||b[i]=='G')continue;
		else{
			index=1;
			break;
		}
	}
	if(r1!=r2||index==1)printf("error");
	else{
		for(i=0;i<r1;i++){
			if(a[i]==b[i])num++;
		}
		if((num*1.0/r1)>=n)printf("yes");
		else printf("no");

	}
	return 0;

}


int main(){
   double n;
   char  a[500],b[500];
   scanf("%lf",&n);
   scanf("%s",a);
   scanf("%s",b);
   int len1=strlen(a),len2=strlen(b);
   int i,j=0;
   double t;
   for(i=0;i<len1;i++)
   {
	   if(a[i]!='A'&&a[i]!='T'&&a[i]!='C'&&a[i]!='G')
	   {
		   printf("error");
		   goto  q;
	   }
   }
   for(i=0;i<len2;i++)
   {
	   if(b[i]!='A'&&b[i]!='T'&&b[i]!='C'&&b[i]!='G')
	   {
		   printf("error");
		   goto q;
	   }
   }
   if(len1!=len2)
   {
	   printf("error");
	   goto q;
   }
   if(len1==len2)
   {
   for(i=0;i<len1;i++)
   {
	   if(a[i]==b[i])
	   {
		   j++;
	   }
   }
   t=1.0*j/len1;
   if(t>n)
   {
	   printf("yes");
   }
   else{
	   printf("no");
   }
   }
   else
   {
	   printf("no");
   }
q:	return 0;
}


int main(){
	double s;
	char sz1[500];
	char sz2[500];
	int i,n=0;
	int len1,len2;
	double num;
	scanf("%lf%s%s",&s,sz1,sz2);
	len1=strlen(sz1);
	len2=strlen(sz2);
	if(len1!=len2){
		printf("error");
		return 0;
	}else{
		for(i=0;i<len1;i++){
			if((sz1[i]!='A'&&sz1[i]!='T'&&sz1[i]!='C'&&sz1[i]!='G')||(sz2[i]!='A'&&sz2[i]!='T'&&sz2[i]!='C'&&sz2[i]!='G')){
				printf("error");
				return 0;
			}
		}
		for(i=0;i<len1;i++){
			if(sz1[i]==sz2[i]){
				n++;
			}
		}
		num=1.0*n/len1;
		if(num>s){
			printf("yes");
			return 0;
		}else{
			printf("no");
			return 0;
		}
	}
}


int main(){
	double k;
	int xt=0;
	int i;
	int a,b;
	char zfc1[1000],zfc2[1000];
	scanf("%lf",&k);
	scanf("%s",&zfc1);
	scanf("%s",&zfc2);
	a=strlen(zfc1);
	b=strlen(zfc2);
	for(i=0;i<a;i++){
		if(zfc1[i]!='A'&&zfc1[i]!='T'&&zfc1[i]!='G'&&zfc1[i]!='C'){
			a=0;
			break;
		}else{
			continue;
		}
	}
	for(i=0;i<b;i++){
		if(zfc2[i]!='A'&&zfc2[i]!='T'&&zfc2[i]!='G'&&zfc2[i]!='C'){
			b=0;
			break;
		}else{
			continue;
		}
	}
	if(a==0||b==0||a!=b){
		printf("error");
	}else{
	for(i=0;i<b;i++){
		if(zfc1[i]==zfc2[i]){
			xt=xt+1;
		}else{
			xt=xt;
		}
	}
	if(b*k<xt){
		printf("yes");
	}else{
		printf("no");
	}
	}
	return 0;
}


int main(){
	char DNA1[501],DNA2[501];
	double rate;
	scanf("%lf",&rate);
	scanf("%s %s",DNA1,DNA2);
	int i,len1,len2,flag=0;
	len1=strlen(DNA1);
	len2=strlen(DNA2);
	if(len1!=len2){
	flag=1;
	}
	for(i=0;i<len1;i++){
		if(DNA1[i]=='A'||DNA1[i]=='T'||DNA1[i]=='C'||DNA1[i]=='G'){
		continue;
		}
		else{flag=1;}
	}
	for(i=0;i<len2;i++){
		if(DNA2[i]=='A'||DNA2[i]=='T'||DNA2[i]=='C'||DNA2[i]=='G'){
		continue;
		}
		else{flag=1;}
	}
	if(flag==1){
	printf("error\n");
	}
	else{
	int c=0;
	double result;
	for(i=0;DNA1[i];i++){
		if(DNA1[i]==DNA2[i]){
		c++;
		}
	}
	result=1.0*c/len1;
	if(result>rate){
	printf("yes");
	}
	else{
	printf("no");
	}
	}
	return 0;
}


int main()
{
	int i, j, m=0;
	double sum = 0, n;
	char gene[3][501];

	scanf("%lf", &n);
	scanf("%s", gene[0]);
	scanf("%s", gene[1]);
	if(strlen(gene[0])!=strlen(gene[1]))
		printf("error");
	else
	{
		for(i = 0; i < 2; i++)
	    {
		    for(j = 0; gene[i][j] != '\0'; j++)
		    {
			    if(gene[i][j]!='A' && gene[i][j]!='T' && gene[i][j]!='C' && gene[i][j]!='G')
				{
					printf("error");
					m = 1;
				    break;
				}
		    }
	    }
		for(i = 0; gene[0][i]!='\0'; i++)
		{
			if(gene[0][i]==gene[1][i])
				sum++;
		}
		if(sum/strlen(gene[0])>n && m == 0)
			printf("yes");
		else if(sum/strlen(gene[0])<=n && m == 0)
			printf("no");
	}
	return 0;
}


int main()
{
	int i,n1,n2,p;
	double rate,m=0.0;
	char str1[501],str2[501];
	scanf("%lf",&rate);
	scanf("%s",str1);
	scanf("%s",str2);
	n1=strlen(str1);
	n2=strlen(str2);
	p=0;
	if(n1==n2)
	{
	   for(i=0;i<n1;i++)
	   {if(str1[i]!='A'&&str1[i]!='T'&&str1[i]!='C'&&str1[i]!='G')
	        p=1;
	   else if(str2[i]!='A'&&str2[i]!='T'&&str2[i]!='C'&&str2[i]!='G')
		    p=1;
	   if(p==1)
	   {
		   printf("error");
		   break;
	   }
	   if(str1[i]==str2[i])
	       m+=1.0;
	   }
	   if(p==0)
	      if(m/n1>=rate)
		   printf("yes");
	      else printf("no");
	}
	else printf("error");

	return 0;
}


int main(){
	int i,k=0,len,panduan=0;
	double r,n;
	char a[501],b[501];
	scanf("%lf%s%s",&n,&a,&b);
	len=strlen(a);
	if(len!=strlen(b)){
		panduan=1;
	}
	else{
	for(i=0;i<len;i++){
		if((a[i]!='T'&&a[i]!='A'&&a[i]!='C'&&a[i]!='G')||(b[i]!='A'&&b[i]!='T'&&b[i]!='G'&&b[i]!='C')){
			panduan=1;
			break;
		}
		if(a[i]==b[i]){
			k++;
		}
	}
	r=1.0*k/len;
	}
	if(panduan==1){
		printf("error");
	}
	else{
		if(r>n){
		printf("yes");
		}
		else{
			printf("no");
		}
	}

	return 0;
}


int main (){
	int i,x,y;
	double w,sum=0,p;
	char a[1000],b[1000];
	scanf("%lf",&w);
	scanf("%s",a);
	scanf("%s",b);
x=strlen(a);
y=strlen(b);
	if(x==y){
		for(i=0;i<x;i++){
			if(a[i]==b[i]){
				sum++;
			}
			else if((a[i]!='A'&&a[i]!='C'&&a[i]!='T'&&a[i]!='G')||(b[i]!='A'&&b[i]!='C'&&b[i]!='T'&&b[i]!='G')){
			printf("error\n");
			return 0;
		}
		}

	}
	else if(x!=y){
		printf("error\n");
		return 0;
	}
	while (x==y){
		p=sum/x;
		if(p>=w){
			printf("yes\n");
			break;
		}
		else printf("no\n");
		break;
	}

	return 0;
}


int main(){
	int len,k,sum=0,i,t=0;
	double x,y;
	char jz[500],a[500];
	scanf("%lf",&x);
	scanf("%s %s",jz,a);
	len=strlen(jz);
	k=strlen(a);
	if(k!=len)printf("error");
	else{
	for(i=0;i<len;i++){
		if(jz[i]!='T'&&jz[i]!='A'&&jz[i]!='C'&&jz[i]!='G'&&a[i]!='T'&&a[i]!='A'&&a[i]!='G'&&a[i]!='C'){
			printf("error");
			t=1;
			break;
		}
			if(jz[i]==a[i])
			sum++;

	}
	y=1.0*sum/len;
	if(t==0){
	if(y>=x)
		printf("yes");
	else printf("no");
	}
	}
	return 0;
}


int main()
{
	char a[500],b[500];
	int len,lmn,sum=0,i,flag=1;
	double n;
	scanf("%lf",&n);
	scanf("%s%s",a,b);
	len=strlen(a);
	lmn=strlen(b);
	if(len!=lmn)
	{
		printf("error");
	}
else

for(i=0;i<len;i++)
{
  if((a[i]!='A'&&a[i]!='T'&&a[i]!='C'&&a[i]!='G')||(b[i]!='A'&&b[i]!='T'&&b[i]!='C'&&b[i]!='G'))
{ flag=0;
  printf("error");
break;
}
}

if(len==lmn&&flag==1)
{
for(i=0;i<len;i++)
{
	if(a[i]==b[i])
		sum+=1;
}
if((double)sum/len>n)
printf("yes");
else
printf("no");
}

	return 0;
}


int main (){
	double x;
	int n,i,m,y;
	char lian1[LEN],lian2[LEN];
	scanf("%lf",&x);
	scanf("%s",lian1);
	scanf("%s",lian2);
	n=strlen(lian1);
	y=strlen(lian2);
	if(y!=n){printf("error");
	return 0;
	}
	for(i=0;i<n;i++){
		if(!(lian1[i]=='A'||lian1[i]=='T'||lian1[i]=='C'||lian1[i]=='G'||lian2[i]=='A'||lian2[i]=='T'||lian2[i]=='C'||lian2[i]=='G')){
		   printf("error");
		return 0;}
	}
	m=0;
	for(i=0;i<n;i++){
		if(lian1[i]==lian2[i]){
	      m++;
		}
	}
	if(m*1.0/n>x){
	  printf("yes");
	}else if(m*1.0/n<=x){
	  printf("no");
	}

return 0;

}


int main(){
    double a,b;
    char s[501],t[501];
    char *p,*q;
    int m=0,n,l;
    scanf("%lf %s %s",&a,s,t);
    n=strlen(s);
    l=strlen(t);
    if(n==l){
       p=s;
       q=t;
       while(*p!='\0'){
           if(*p!='A'&&*p!='T'&&*p!='C'&&*p!='G'){
               printf("error");
               return 0;
           }
           else{
               if(*q!='A'&&*q!='T'&&*q!='C'&&*q!='G'){
                   printf("error");
                   return 0;
               }
               else{
                   if(*p==*q){m++;}
                   p++;
                   q++;
               }
           }

       }
       b=m*1.0/n;
       if(b>a) printf("yes");
       else printf("no");
    }
    else printf("error");
    return 0;
}


int main(){
	int i,sim=0;
	double n;
	char one[501],two[501];
	scanf("%lf",&n);
	scanf("%s",one);
	scanf("%s",two);
	if(strlen(one)!=strlen(two)){
		printf("error\n");
		return 0;
	}
	for(i=0;one[i];i++){
		if((one[i]!='A')&&(one[i]!='T')&&(one[i]!='C')&&(one[i]!='G')){
			printf("error\n");
			return 0;
		}
	}
	for(i=0;two[i];i++){
			if(two[i]!='A'&&two[i]!='T'&&two[i]!='C'&&two[i]!='G'){
			printf("error\n");
			return 0;
			}
	}
	for(i=0;one[i];i++){
		if(one[i]==two[i]){
			sim++;
		}
	}
	if(1.0*sim/strlen(one)>n){
		printf("yes\n");
	}
	else{
		printf("no\n");
	}
return 0;
}


int main(){
	float a,rate;
	int i,lena,lenb,sum=0;
	scanf("%f",&a);
	char an[501],bn[501];
	scanf("%s",an);
	scanf("%s",bn);
	lena=strlen(an);
	lenb=strlen(bn);
	if(lena!=lenb){
		printf("error");
		return 0;
	}
	for(i=0;i<lena;i++){
		if((an[i]!='A'&&an[i]!='T'&&an[i]!='C'&&an[i]!='G')||(bn[i]!='A'&&bn[i]!='T'&&bn[i]!='C'&&bn[i]!='G')){
			printf("error");
			return 0;
		}
	}
	for(i=0;i<lena;i++){
		if(an[i]==bn[i])
			sum+=1;
	}
	rate=1.0*sum/lena;
	if(rate>a)
		printf("yes");
	else
		printf("no");
	return 0;
}


int main()
{
    double n;
    char a[500];
    char b[500];

    scanf("%lf",&n);
    scanf("%s",a);
    scanf("%s",b);

    int i,x;
    x=0;

    double w,k,j,l;

    k=strlen(a);
    l=strlen(b);

    if(k==l)
    {
        for(i=0;i<k;i++)
        {
            if(a[i]=='A'||a[i]=='T'||a[i]=='C'||a[i]=='G') x=1;
            else
            {
                x=0;
                break;
            }
            if(b[i]=='A'||b[i]=='T'||b[i]=='C'||b[i]=='G') x=1;
            else
            {
                x=0;
                break;
            }
        }
        if(x==1)
        {
     w=0;

    for(i=0;i<k;i++)
    {
        if(a[i]==b[i]) w=w+1;
    }

    j=w/k;

    if(j<=n) printf("no");
    else printf("yes");
        }
        else printf("error");
    }

    else printf("error");

    return 0;
}


int f(char x)
{
    if(x=='A'||x=='T'||x=='G'||x=='C') return 0;
    else return 1;
}
int main(int argc, char *argv[])
{
    char a[501],b[501];
    int x=0,i,y=1;
    float p;
    scanf("%f\n",&p);
    gets(a);
    gets(b);
    for(i=1;i<=strlen(a);i++)
    if(f(a[i-1])) y=0;
    for(i=1;i<=strlen(b);i++)
    if(f(b[i-1])) y=0;
    if(strlen(a)!=strlen(b)) y=0;
    if(y==0) printf("error");
    else
    {
        for(i=1;i<=strlen(a);i++)
        if(a[i-1]==b[i-1]) x++;
        if(x>p*strlen(a)) printf("yes");
        else printf("no");
    }
    return 0;
}


int main(){
	double rate,realrate;
	char a[500],b[500];
	int len,lenb,yes=0;
	scanf("%lf",&rate);

	scanf("%s",a);
	scanf("%s",b);

	len=strlen(a);
	lenb=strlen(b);
	if(len!=lenb){
		printf("error");
		return 0;
	}

	for(int i=0;a[i]!='\0';i++){
            if(a[i]!='A'&&a[i]!='T'&&a[i]!='G'&&a[i]!='C'){
			    printf("error");
				return 0;
			}

            if(b[i]!='A'&&b[i]!='T'&&b[i]!='G'&&b[i]!='C'){
			    printf("error");
			    return 0;
			}
	        if(a[i]==b[i]){
			    yes++;
			}
	}
    realrate=1.0*yes/len;
	if(realrate>=rate)
		printf("yes");
	else printf("no");

	return 0;
}


int main()
{
	double bill;
	scanf("%lf",&bill);

	char s1[500]={0};
	char s2[500]={0};
	scanf("%s",s1);
	scanf("%s",s2);

	int lens1,lens2,flag;
	flag=0;
	lens1=strlen(s1);
	lens2=strlen(s2);
	if(lens1!=lens2)
	{
		printf("error");
		flag=1;
	}

	int i;
	if(flag==0)
	{
		for(i=0;i<lens1;i++)
		{
			if(s1[i]!='A')
			{
				if(s1[i]!='T')
				{
					if(s1[i]!='C')
					{
						if(s1[i]!='G')
						{
							printf("error");
							flag=1;
							break;
						}
					}
				}
			}
		}
	}

	if(flag==0)
	{
		for(i=0;i<lens2;i++)
		{
			if(s2[i]!='A')
			{
				if(s2[i]!='T')
				{
					if(s2[i]!='C')
					{
						if(s2[i]!='G')
						{
							printf("error");
							flag=1;
							break;
						}
					}
				}
			}
		}
	}

	double num,avg;
	num=0;
	if(flag==0)
	{
		for(i=0;i<lens1;i++)
		{
			if(s1[i]==s2[i])
			{
				num++;
			}
		}
		avg=num/(double)lens1;
		if(avg>bill)
		{
			printf("yes");
		}
		if(avg<=bill)
		{
			printf("no");
		}
	}

	return 0;
}


int main()
{
	double m;
	int tag=1;
	double xsd;
	char zfc[2][500];
    int len;
	int count=0;
	scanf("%lf",&m);
	for(int i=0;i<2;i++)
	{
		scanf("%s",zfc[i]);
	}
	len=strlen(zfc[0]);
	for(int j=0;j<len;j++)
	{
		if((zfc[0][j]!='A')&&(zfc[0][j]!='G')&&(zfc[0][j]!='C')&&(zfc[0][j]!='T'))
		{
			tag=0;
			break;
		}
		if(zfc[0][j]==zfc[1][j])
		{
			count++;
		}
	}
	xsd=(double)count/len;
	if(tag==0)
	{
            printf("error");
	}
	else if(strlen(zfc[0])!=strlen(zfc[1]))
	{
		printf("error");
	}

    else if(xsd>m)
	{
		printf("yes");
	}
	else if(xsd<=m)
	{
		printf("no");
	}

	return 0;
}


int main()
{
	double x=0,ratio=0;
	int i=0,num=0,l1=0,l2=0,temp=1;
	char sequen1[LEN],sequen2[LEN];
	scanf("%lf",&x);
	scanf("%s",sequen1);
	scanf("%s",sequen2);
	l1=strlen(sequen1);
	l2=strlen(sequen2);
	if(l1!=l2)
	{
	  printf("error");
	  temp=0;
	}
	else
	{
	  for(i=0;i<l1;i++)
	  {
	    if((sequen1[i]!='A'&&sequen1[i]!='T'&&sequen1[i]!='G'&&sequen1[i]!='C')||(sequen2[i]!='A'&&sequen2[i]!='T'&&sequen2[i]!='G'&&sequen2[i]!='C'))
	    {
	      printf("error");
		  temp=0;
		  break;
	    }
	  }
	}
	if(temp==1)
	{
	  for(i=0;i<l1;i++)
	  {
	    if(sequen1[i]==sequen2[i])
	    {
	      num++;
	    }
	  }
	  ratio=1.0*num/l1;
	  if(ratio>x)
	  {
	    printf("yes");
	  }
	  else
	  {
	    printf("no");
	  }
	}
	return 0;
}


int main(){
	double k;
	scanf("%lf",&k);
	char qian[501];
	char hou[501];
	scanf("%s%s",&qian,&hou);

	int i,s=0;
	if(strlen(qian)!=strlen(hou)){
		s=1;
	}
	int m=0;
	for(i=0;i<strlen(qian);i++){
		if((qian[i]!='A'&&qian[i]!='T'&&qian[i]!='G'&&qian[i]!='C')||(hou[i]!='A'&&hou[i]!='T'&&hou[i]!='G'&&hou[i]!='C')){
			s=1;
		}
	}
	if(s==1){
		printf("error");
	}else if(s==0){
		for(i=0;i<strlen(qian);i++){
			if(qian[i]==hou[i]){
				m++;
			}
		}
		if(1.0*m/strlen(qian)>k){
			printf("yes");
		}else if(1.0*m/strlen(qian)<=k){
			printf("no");
		}
	}
	return 0;
}


int main(){
	double a,bl;
	int n1,n2,i,k=0,sum=0;
	char dna1[501],dna2[501];
	scanf("%lf",&a);
	scanf("%s%s",dna1,dna2);
	n1=strlen(dna1);
	n2=strlen(dna2);
	if(n1!=n2){
		printf("error");
	}else{
		for(i=0;i<n1;i++){
			if(dna1[i]!='A'&&dna1[i]!='G'&&dna1[i]!='C'&&dna1[i]!='T'){
				k=1;
				break;
			}
			if(dna2[i]!='A'&&dna2[i]!='G'&&dna2[i]!='C'&&dna2[i]!='T'){
				k=1;
				break;
			}
			if(dna1[i]==dna2[i]){
				sum++;
			}
		}
		if(k==0){
			bl=(double)sum/n1;
			if(bl>a){
				printf("yes");
			}else{
				printf("no");
			}
		}else{
			printf("error");
		}
	}
return 0;
}


int main(){
	int i,m=0,s;
	double n,x;
	char one[500],two[500];
	scanf("%lf",&n);
	scanf("%s%s",one,two);
	s=strlen(one);
	if(strlen(one)!=strlen(two))
		printf("error");
	else{
		for(i=0;one[i]!='\0';i++){
			if((one[i]!='A'&&one[i]!='G'&&one[i]!='T'&&one[i]!='C')||(two[i]!='A'&&two[i]!='T'&&two[i]!='C'&&two[i]!='G')){
				s=0;
			}
			else{
				if(one[i]==two[i])
					m++;
			}
		}
		x=1.0*m/s;
		if(s==0)
			printf("error");
		else if(x>n)
			printf("yes");
		else
			printf("no");
	}
	return 0;
}


int main(){
    double n;
    int num=0,pan=1;
    char s;
    char s1[600],a1[600];
    gets(&s);
    n=atof(&s);
    gets(s1);
    gets(a1);
    for(int i=0;i<strlen(s1);i++){
        if(s1[i]!='A'&&s1[i]!='C'&&s1[i]!='G'&&s1[i]!='T'){
                pan=0;
        }
    }
    for(int i=0;i<strlen(a1);i++){
        if(a1[i]!='A'&&a1[i]!='C'&&a1[i]!='G'&&a1[i]!='T'){
            pan=0;
        }
    }
    if(strlen(s1)!=strlen(a1))
        pan=0;
    else if(strlen(s1)==strlen(a1)&&pan!=0){
        for(int i=0;i<strlen(s1);i++){
            if(a1[i]==s1[i])
                num++;
        }
        if(1.0*num/strlen(s1)<n)
            printf("no");
        else printf("yes");
    }
    if(pan==0)
        printf("error");
        return 0;
}


int judge(char *a, char *b, double r) {
  int n = strlen(a), m = strlen(b), i, s = 0;
  if (n != m) return 0;
  for (i = 0; i < n; ++i) {
    if (!strchr("ATCG", a[i]) || !strchr("ATCG", b[i])) return 0;
    if (a[i] == b[i]) ++s;
  }
  if (s / (double)n > r) return 1; else return -1;
}

int main() {
  char a[600], b[600];
  double r;
  int s;
  scanf("%lf\n", &r);
  gets(a);
  gets(b);
  s = judge(a, b, r);
  if (s > 0)
    puts("yes");
  else if (s < 0)
    puts("no");
  else
    puts("error");
  return 0;
}


void main()
{
    float x,fenzi=0;
    int lena,lenb,i,j=0;
    char a[505],b[505],ch;
    scanf("%f",&x);
    scanf("%c",&ch);
    gets(a);

    gets(b);

    lena=strlen(a);
    lenb=strlen(b);
    if(lena!=lenb)
    printf("error\n");
    else
    {
    	 for(i=0;i<lena;i++)
    	 {
    	      if((a[i]=='A'||a[i]=='T'||a[i]=='G'||a[i]=='C')&&
    	      (b[i]=='A'||b[i]=='T'||b[i]=='G'||b[i]=='C'))
    	        {
    		    if(a[i]==b[i]) fenzi++;
    	        }
    	      else {j=1;printf("error\n");break;}
    	 }
         if(j==0&&fenzi>=x*lena) printf("yes\n");
         else if(j==0) printf("no\n");
    }

}


int main(){
	double n;
	scanf("%lf",&n);
	char DNA[2][500];
	int i;
	int len[2];
	for(i=0;i<2;i++){
		scanf("%s",DNA[i]);
		len[i]=strlen(DNA[i]);
	}
	int j;
	int p=0;
	for(j=0;j<len[0];j++){
		if(DNA[0][j]==DNA[1][j]){
			p++;
		}
	}
	int m=0;
	for(i=0;i<2;i++){
		for(j=0;j<len[i];j++){
			if(DNA[i][j]!='A'&&DNA[i][j]!='T'&&DNA[i][j]!='C'&&DNA[i][j]!='G'){
				m++;
			}
		}
	}
	double bi;
	bi=((double)p)/((double)len[0]);
	if(len[0]!=len[1]||m!=0){
		printf("error");
	}else if(bi>n){
		printf("yes");
	}else{
		printf("no");
	}
return 0;
}


int main(){
    double rate,result;
    int p=2,num=0;
    scanf("%lf\n",&rate);
    char dna1[510],dna2[510];
    scanf("%s",dna1);
    scanf("\n");
    scanf("%s",dna2);
        for(int i=0;i<strlen(dna1);i++){
        if((dna1[i]!='A'&&dna1[i]!='T'&&dna1[i]!='C'&&dna1[i]!='G')||(dna2[i]!='A'&&dna2[i]!='T'&&dna2[i]!='C'&&dna2[i]!='G')){
            p=0;
            break;
        }
    }
    if(strlen(dna1)!=strlen(dna2)){
        p=0;
    }

    if(p==2){
        for(int i=0;i<strlen(dna1);i++){
            if(dna1[i]==dna2[i]){
                num++;
            }
        }
        result=1.0*num/strlen(dna1);
        if(result>=rate){
            printf("yes");
        }else printf("no");
    }
    if(p==0)
        printf("error");
    return 0;
}


int main(){
	int i,a,b;
	int s=0;
	int t=1;
	double x,y,aa,ss;
	char sa[501];
	char sb[501];
	gets(sa);
	x=atof(sa);
	gets(sa);
	gets(sb);
	a=strlen(sa);
	b=strlen(sb);
	if(a!=b){
		t=0;
	}
	else if(a==b){
		for(i=0;i<a;i++){
			if((sa[i]!='A'&&sa[i]!='G'&&sa[i]!='T'&&sa[i]!='C')||(sb[i]!='A'&&sb[i]!='G'&&sb[i]!='T'&&sb[i]!='C')){
				t=0;
				break;
			}else if(sa[i]==sb[i]){
				s++;
			}
		}
	}
	aa=a;
	ss=s;
	y=ss/aa;
	if(t==0){
		printf("error");
	}else if(y>=x){
		printf("yes");
	}else if(y<=x){
		printf("no");
	}
	return 0;
}