int main(){
    int a[MAX];
    int n,k,i,j,s;
    scanf("%d %d",&n,&k);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    s=a[1]+a[2];
    for(i=0;i<n;i++){
        if(s==k){
            break;
        }
        else{
        for(j=0;j<n;j++){
           s=a[i]+a[j];
           if(s==k)
           break;
           else
           s=s;
        }}
    }
    if(s==k){
        printf("yes");
    }
    else
    printf("no");
    return 0;
}


int main()
{
    int n,k,i,j,a[10000],flag;
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(i=0,flag=0;i<n;i++)
    for(j=i;j<n;j++)
    {
                    if(a[i]+a[j]==k)
                    flag=1;
    }
    if(flag==1)
    printf("yes");
    else
    printf("no");
    return 0;
}


int main()
{
	int n,i,k,p;
	int m=0;
	int sz[1000];
    scanf("%d",&n);
	scanf("%d",&k);
	for(i=0;i<n;i++)
    {
        scanf("%d",&sz[i]);
	}
     for(i=0;i<n;i++)
	 {
       for(p=1;p<n-i;p++)
	   {
	     if(sz[i]==k-sz[i+p])
		 {
			 printf("yes");
			 break;
		 }
		 else
			 m++;
	   }
	 if(sz[i]==k-sz[i+p])
		 {

			 break;
	 }
	 }

    if(m==n*(n-1)/2)
		printf("no");
    return 0;
}


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


int main()
{int n,k,i,j,max,min,a=0;
int sz[1000];
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
	{scanf("%d",&(sz[i]));}
for(j=0;j<n-1;j++)
{	min=sz[j];
	for(i=j+1;i<n;i++)
		{max=sz[i];
	if(k==max+min)
	{a=a+1;}
	}
}
if(a>0){printf("yes");}
else{printf("no");}
return 0;
}


int a[1000];
main()
{
	int m,k,i,j,Flag=1;
	cin>>m>>k;
	for(i=0;i<m;i++)	cin>>a[i];
	for(i=0;i<m-1&&Flag;i++)
		for(j=i+1;j<m&&Flag;j++)
			if(a[i]+a[j]==k)
				{
					cout<<"yes";
					Flag=0;
					}
	if(Flag)	cout<<"no";
	}


int check(int q,int t,int b[])
{
	int i,j;
	for(i=0;i<t;i++)
	{
		for(j=0;j<t;j++)
		{
			if(i==j)
				continue;
			if(b[i]+b[j]==q)
				return 1;
		}
	}
	return 0;
}
int main()
{
	int n,k,a[1000],i;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	if(check(k,n,a))
		printf("yes\n");
	else
		printf("no\n");
	return 0;
}


int main(){
int n,k,i,t;
scanf("%d%d",&n,&k);
int sz[1000];
for(i=0;i<n;i++){
	scanf("%d",&sz[i]);
	}

for(i=0;i<n;i++){
	for(t=0;t<n;t++)
	{
		if(sz[i]+sz[t]==k){
		printf("yes");
		break;
		}
	}
	if(sz[i]+sz[t]==k){break;}
}
if(i==n&&t==n)
{
	printf("no");
}

return 0;
}


int main()
{
	int n,K,i,j;
	int a[1000];
	scanf("%d %d/n",&n,&K);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if((a[i]+a[j])==K)
			{
			goto first;
			}
		}
	}
	goto third;
	first:printf("yes");goto second;
	third:printf("no");return 0;
	second:return 0;
}


int compare(const void * elem1, const void * elem2)
{
	int *a=NULL,*b=NULL;
	a=(int *)elem1;
	b=(int *)elem2;
	return(*a-*b);
}
main()
{
    int n,k,i,j;
    scanf("%d %d",&n,&k);
    int a[n];
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);

    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    {
        if(i==j)
        continue;
        else
        {
            if(a[i]+a[j]==k)
            {
            printf("yes");
            goto end;
            }
        }
    }
    printf("no");
    end:
    return 0;
}


int main(){
    int n,k,z[1000],i,j;
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++){
        scanf("%d",&z[i]);
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            if(z[i]+z[j]==k){
                if(i!=j){
                    printf("yes");
                    return 0;
                }else{continue;}
            }
        }
    }
    printf("no");
    return 0;
}


int main(){
	int sz[1000];
	int n,k,i,t,l;

	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	t=0;
	while(t<n){
		l=1;
		while(l<n){
			if(sz[t]+sz[l]==k){
				printf("yes");
				l++;
				break;}
			else{l++;}
		}

		if(sz[t]+sz[l-1]==k){
			break;}
		t++;
	}

	if(t==n){
		printf("no");}

return 0;
	}


int main(){
int n,k,a;
scanf("%d %d",&n,&k);
int sz[max]={0};
for(int i=0;i<n;i++){
    scanf("%d",&sz[i]);
}
for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        if(sz[i]+sz[j]==k&&(i!=j)){
            a=1;

        }
    }
}
switch(a)
{
    case 1:printf("yes");break;
    default:printf("no");
}
return 0;
}


int main(){
  int n,k,i,j;
  int a[max];
  scanf("%d %d",&n,&k);
  for(i=0;i<n;i++){
  scanf("%d",&a[i]);
  }
  i=0;
  while(i<n){
      j=1;
	  while(j<n){
		  if(a[i]==k-a[j]){
		  printf("yes");
		  break;
		  }
		  j++;
	  }
	  if(a[i]==k-a[j]){
	  break;
	  }
	  i++;
  }
  if(i==n){
  printf("no");
  }
  return 0;
}


int mycompare(const void *, const void *);

int main()
{
	int n, k;
	int a[1008];
	int i, j;
	int tag = 0;

	cin >> n >> k;

	for(i = 0; i < n; i ++)
		cin >> a[i];

	qsort(a, n, 4, mycompare);

	for(i = 0; i < n / 2; i ++)
	{
		int count = n - 1;

		while(count > i)
		{
			if(a[i] + a[count] == k)
			{
				tag = 1;
				break;
			}
			else if(a[i] + a[count] < k)
				break;
			else
				count --;
		}

		if(tag == 1)
			break;
	}

	if(tag == 1)
		cout << "yes" << endl;
	else
		cout << "no" << endl;

}

int mycompare(const void *elem1, const void *elem2)
{
	return *(int *)elem1 - *(int *)elem2;
}


int main()
{
	int n,m,a[1000],i,j,t=0,k;
	scanf("%d%d",&n,&m);//n shi ge shu
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n-1;i++)
		for(j=i;j<n;j++)
			for(k=i+1;k<n;k++)
		{	if(m==a[j]+a[k])
		t++;break;	}

if(t!=0)
printf("yes");
else
printf("no");

	return 0;
}


int main()
{
    int n,k;
    int a[2001];
    cin>>n>>k;
    for (int i=0; i<n; i++)
    {
        cin>>a[i];
     }
 /*   for (int i=0;i<n-1;i++)
    for (int j=i+1; j<n; j++)
    if (a[i]>a[j]) {
                   int t;
                   t=a[j];
                   a[j]=a[i];
                   a[i]=t;
                   }      */
    int p=0;
    for (int i=0; i<n; i++)
    for (int j=i+1; j<n; j++)
      if (a[i]+a[j]==k) p=1;

    if (p==0) cout << "no";
    else cout << "yes";

    return 0;

}


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

}


int main(){
	int sz[1000];
	int m,n,i,k,result,mark=0,j=0;
	scanf("%d %d",&n,&m);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}for(i=0;i<n;i++){
		for(k=1;k<n-i;k++){
			result=sz[i]+sz[i+k];
			if(result==m&&j==0){
				printf("yes");
				j++;
			mark=1;
			}
		}
	}if(mark==0){
		printf("no");
	}return 0;
}


int main(){
	int n, k, sz[MAX];
	scanf("%d%d", &n, &k);
	for( int i = 0; i < n; i++){
		scanf("%d", &sz[i]);
	}
	int sum, out_put = 0;
	for( int j = 0; j < n - 1; j++){
		for( int m = j + 1; m < n; m++){
			sum = sz[j] + sz[m];
			if(sum == k){
				out_put = 1;
				break;
			}
		}
		if(out_put == 1){
			break;
		}
	}
	if(out_put == 1){
		printf("yes");
	}else{
		printf("no");
	}
	return 0;
}


void main()
{
	int n,k;
	int s=0;
	int i,j;
	int a[1000];
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
	     scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		j=0;
		while(j<n)
		{
			if(i==j)
			{
				j++;
				continue;
			}
			else
			{
				s=a[i]+a[j];
				j++;
				if(k==s)
				{
					printf("yes");
					goto label;
				}
			};
		};
		if((i==n-1)&&(s!=k))
			printf("no");
	}
    label:
	return(0);
}


int main()
{
	int sz[1000],n,k,i,j,sum;
	scanf("%d %d", &n, &k);
	for(i=0;i<n;i++)
	{
		scanf("%d", &sz[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			sum=sz[i]+sz[j];
			if(sum==k)
			{
				printf("yes");
				scanf(" ");
				return 0;
			}
		}
		if(sum==k)
		{
			break;
		}
	}
	printf("no");
	scanf(" ");
	return 0;
}


int main()
{
	int k,n,i,j;
	scanf("%d%d",&n,&k);
	int*a=(int*)malloc(sizeof(int)*n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int flag=0;
    for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(a[i]+a[j]==k)
			{
				flag=1;
				break;
			}
		}
		if(flag==1) break;
	}
	if(flag==1) printf("yes\n");
	if(flag==0) printf("no\n");
	return 0;
}


void main()
{
	int n,k,i,j,*pt,flag=1;
	scanf("%d%d",&n,&k);
	pt=(int *)malloc(sizeof(int)*n);
	for(i=0;i<n;i++)
		scanf("%d",pt+i);
	for(i=0;i<n-1;i++)
		if(flag)
		for(j=i+1;j<n;j++)
			if((pt[i]+pt[j])==k)
			{
				flag=0;
				break;
			}
			if(flag)
				printf("no\n");
			else
				printf("yes\n");
			free(pt);
}


int main()
{
	int n,i,k,p,q,m=0;
	scanf("%d%d\n",&n,&k);
	int gram[n][n],sz[n];
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
		}
	for(p=0;p<n;p++){
		for(q=0;q<n;q++){
			gram[p][q]=sz[p]+sz[q];
			if(gram[p][q]==k){
			    m++;
				}
			}
		if(gram[p][q]==k){
			m++;
			}
		}
	if(m==0) printf("no");
	else printf("yes");
	return 0;
}


int main(){
int n,k,i,j,g[N];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++){
	scanf("%d",&g[i]);}
for(i=0;i<n-1;i++){
	for(j=i+1;j<n;j++){
		if(g[i]+g[j]==k){
			printf("yes");
			break;}
		else if(i==n-2){
			printf("no");
		}
	}
	if(g[i]+g[j]==k){
			break;}
		else if(i==n-2){
			break;
		}
}
	return 0;
}


int main(){
	int n,k;
	int xl[1000];
	int i;
	int result;
	int a=0,b=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&xl[i]);
	}
	for(i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			result=xl[i]+xl[j];
			if(result==k){
			    a++;
			}else{
			    b++;
			}
		}
	}
	if(a>0){
		printf("yes\n");
	}else{
		printf("no\n");
	}
	return 0;
}


int main(){
   int n;
   int k;
   int i;
   int m;
   int zzd[1001];
   int hzy[1001];
   scanf("%d%d",&n,&k);
   for(i=0;i<n;i++){
        scanf("%d",&zzd[i]);
        }
          for(i=0;i<n;i++){
          hzy[i]=zzd[i];
          }
          for(m=0;m<n;m++){
              for(i=0;i<n;i++){
                   if(zzd[m]+hzy[i]==k){
                            printf("yes");
                            break;
                            }
                            }
                            if(m==n-1){
                               printf("no");
                               break;
                               }
                              if(zzd[m]+hzy[i]==k){
                                                   break;
                                                   }
                            }
      return 0;
      }


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

		}
	}
	if(b==0)
	{
		printf("no\n");
	}

	return 0;
}


int main()
{
    int n,k;
    scanf("%d %d",&n,&k);
    int data[n];
    int i;
    for(i=0;i<n;i=i+1){scanf("%d",&(data[i]));}

    int j;
    int s=0;
    for(i=0;i<n;i=i+1)
    {
        for(j=0;j<n;j=j+1)
        {
            if(i!=j && data[i]+data[j]==k){s=1;break;}
        }
    }

    if(s==1){printf("yes");}
    else{printf("no");}

    return(0);

}


int main(){
	int n,k,i,j,flag =1,first = 0;
	int num[1000]={0},sub=0;
	scanf("%d%d", &n,&k);
	for(i = 0;i<n;i++){
		scanf("%d", &num[i]);
	}
	for(i = 0;i<n;i++){
	    sub = k - num[i];
		for(j = i +1;j<n;j++){
			if(sub == num[j]){
				flag = 0;
				first =1;
				break;
			}
		}
		if(first)
			break;
	}
	if(flag)
		printf("no");
	else
		printf("yes");
	return 0;
}


int main()
{
    int n,sigma;
	int sb=0;
	scanf("%d %d",&n,&sigma);
	int sz[1000];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
	}
	for(int j=0;j<n;j++)
	{
		for(int k=0;k<n;k++)
		{
			if(k==j)
			{
				continue;
			}
			else if(k!=j)
			{
				if(sz[j]+sz[k]==sigma)
				{
					sb=1;
					break;
				}
			}
		}
		if(sb==1)
		{
			break;
		}
	}
	if(sb==1)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	return 0;
}


int main()
{ int n,k,i=0,j=0,flag=0;
  int str[1000];
  scanf("%d%d",&n,&k);
  for(i=0;i<n;i++)
   scanf("%d",&str[i]);
  i=0;
  for(i=0;i<n/2+1;i++)
  {  j=0;
	  for(j=0;j<n;j++)
	  {
		  if((k-str[j])==str[i])
		  {flag=1;
	       break;
		  }
	  }

	  if(flag==1)
	  {
		  printf("yes");
		  break;
	  }
  }
     if(flag==0)
	  printf("no");

	return 0;
}


void main()
{
	int i,j=0,n,k;
	int *head,*p1,*p2;
	scanf("%d%d",&n,&k);
	head=(int *)malloc(n*sizeof(int));
	p1=head;
	for(i=0;i<n;i++)
	{
		scanf("%d",p1);
		p1++;
	}
	for(p1=head;p1<head+n;p1++)
	{
		for(p2=p1+1;p2<head+n;p2++)
		{
			if(*p1+*p2==k){printf("yes");j=1;break;}
		}
		if(j)break;
	}
	if(j==0)printf("no");

}


int a[1000];
int main ()
{
	int n,k;
	int i,j;
	int m;
	scanf("%d %d\n",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++){
		for(j=i+1;j<n;j++){
			if((a[i]+a[j])==k){
				m=k;
			    break;
			}
			else if((a[i]+a[j])!=k) {
			continue;
			}
	}
	}
	if(m==k)  printf("yes");
	else if(m!=k) printf("no");
	return 0;
}


int main()
{
    int n,k;
    int c[1000];
    int i=0,j=0,A=0;
    scanf("%d%d",&n,&k);
    while(i<n)
    {
        scanf("%d",&c[i]);
        i++;
    }
    i=0;
    while(i<n)
    {
        j=i+1;
        while(j<n)
        {
            if(c[i]+c[j]==k) A=1;
            j++;
        }
        i++;
    }
    if(A==1) printf("yes");
    else printf("no");
    return 0;
}


int main(int argc, char* argv[])
{
	int n,k,a[1000];
	scanf("%d %d",&n,&k);
	int i;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(i!=j&&a[i]+a[j]==k)
			{
				printf("yes");
			    return 0;
			}
		}
	}
	printf("no");
	return 0;
}


int a[1000];
int n,k;
int *final;

int *point1=&n,*point2=&k;

int main()
{
	int kk=1;
scanf("%d%d",point1,point2);

point1=a;
final=point1+n;

for(;point1<final;point1++)
scanf("%d",point1);
point1=a;
for(;point1<final-1;point1++)
{
if(kk==0)
break;
	for(point2=point1+1;point2<final;point2++)
	{
	if(*point1+*point2==k)
	{printf("yes");
	kk=0;
	break;
	}

	}

}
if(kk==1)
printf("no");
return(0);
}


int main(){
	int i,j,n,m,a[1009],b;
	scanf("%d%d",&n,&m);
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	int isbreak=0;
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(a[i]!=a[j])
			b=a[i]+a[j];
			if(b==m){
				printf("yes");
				isbreak=1;
				break;
			}
		}
		if(isbreak==1)
		break;
	}
	if(isbreak==0)
	printf("no");
	return 0;
}


int main()
{
	int n,k,i;
	int *a;
	scanf("%d %d",&n,&k);
	a=(int*)malloc(sizeof(int)*n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		for(int j=0;j<n-i;j++)
		{
			if(a[i]+a[i+j]==k)
			{
				printf("yes");
				return 0;
			}
		}
	}
	printf("no");
return 0;
}


int main()
{
    int n,k,*a,i,j,flag=0;
    scanf("%d%d\n",&n,&k);
    a=(int*)malloc(n*sizeof(int));
    for(i=0;i<n;i++) scanf("%d",&a[i]);
    for(i=0;i<n-1;i++)
    {
                    for(j=i+1;j<n;j++)
                    {
                                      if(a[i]+a[j]==k)
                                      {printf("yes");
                                      flag=1;
                                      break;}
                                      }
                    if(flag==1) break;
    }
    if(flag==0) printf("no");
    return 0;
}


int main()
{
	int n,k,i,j;
	scanf("%d%d",&n,&k);
	int a[1000];
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int m=0;
	for(i=0;i<n-1;i++)
	{
		int isbreak=0;
		for(j=i+1;j<n;j++)
		{
			if(a[i]+a[j]==k)
			{printf("yes\n");
			m=1;
			isbreak=1;
			break;}
		}
		if(isbreak==1)
			{break;}
	}
	if(m==0)
	{printf("no\n");}
	return 0;
}


int main(int argc, char* argv[])
{
	int n,k;
	int i,j,p=1;
	int num[1000];
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&num[i]);
	}
	for(i=0;i<n-1;i++){
		for(j=i+1;j<n-i;j++){
			if(num[i]+num[j]==k){
			p=0;
			}
		}
	}
	if(p==0){
		printf("yes\n");
	}
	else if(p=1){
		printf("no\n");
	}
	return 0;
}


int main(int argc, char* argv[])
{
	int n, k, a[1000], b=0, i;
	scanf("%d %d\n", &n, &k);
	for(i=0; i<n; i++){
		scanf("%d", &a[i]);
	}
	for(i=0; i<n; i++){
		for(int j=i+1; j<n; j++){
			if(a[i]+a[j]==k){
				b=1;
				printf("yes\n");
				break;
			}
		}
		if(b==1){
			break;}
	}
	if(b==0){
		printf("no\n");}

	return 0;
}


int main()
{
    int n,k,i,j;
    int s=0;
    scanf("%d %d",&n,&k);
    int*pi=(int*)malloc(sizeof(int)*n);
    for(i=0;i<n;i++){
        scanf("%d ",pi+i);
    }
    for(i=0;i<n;i++){
        for(j=i+1;j<n;j++){
            if(*(pi+i)+*(pi+j)==k){
               s=s+1;
            }
        }
    }
    if(s==0){
        printf("no");
    }
    else{
        printf("yes");
    }
    free(pi);
    return 0;
}


int main( int argc, char* argv[] ){
	int len, sum, i, j;
	int * set;
	int value = 0;

	scanf( "%d%d", &len, &sum );
	set = ( int* )malloc( len * sizeof(int) );
	for ( i = 0; i < len; i++ ){
		scanf( "%d", set + i );
	}
	for ( i = 0; i < len; i++ ){
		value = sum - set[i];
		for ( j = i + 1; j < len; j++ ){
			if ( value == set[j] ){
				printf("yes\n");
				return 0;
			}
		}
	}
	printf("no\n");
	return 0;
}


int main(){
	int n,k,i;
	int sz[1000];
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n;i++){
		for(int j=0;j<n;j++){
			if(sz[i]+sz[j]==k){
				printf("yes");
				return 0;
			}
		}
	}
	printf("no");
	return 0;
}


int main(){
	int n,k;
	scanf("%d%d",&n,&k);
	int sz[1000];
	for(int i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	int p,m;
	for(m=0;m<n-1;m++){
		for(p=m+1;p<n;p++){
			if(k==sz[m]+sz[p])
			break;
		}
		if(p==n)
			continue;
		else if(p<n&&k==sz[m]+sz[p]){
			printf("yes");
			break;
		}
	}
	if(m==n-1)
		printf("no");
	return 0;
}


int main()
{
	int n,k,i,j,l,w;
	int a[1000];
	scanf("%d %d",&n,&k);
	if(n<=0) printf("no");
	l=0;
	i=0;
	while(l<=n-1)
	{
		scanf("%d",&a[l]);
		l++;
	}
	while(i<n-1)
	{
		j=n-1;
		while(j>i)
		{
			w=a[i]+a[j];
			j--;
			if(w==k) {printf("yes");break;}
		}
		if(w==k) {break;}
		i++;
	}
	if(i==n-1) printf("no");

	return 0;
}


int main(){
    int i,j,k,n,a[1000];
    cin>>n>>k;
    for(i=0;i<n;++i)cin>>a[i];
    for(i=0;i<n-1;++i)
        for(j=i+1;j<n;++j)
            if(a[i]+a[j]==k)
                goto there;
    there:
    if(i==n-1)cout<<"no"<<endl;
    else cout<<"yes"<<endl;
}


int main(){
int n;
int k;
scanf("%d %d",&n,&k);
int s[1000];
for(int a=0;a<n;a++){
    scanf("%d",&(s[a]));
}
int b;
for(int c=0;c<n;c++){
for(int i=0;i<n;i++){
    b=s[c]+s[i];
	if(b==k){
	printf("yes");
	return 0;
	}
}
}
printf("no");
return 0;
}


int main(){
	int n,k,i,sz[1000],result=0,j;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);}
	for(i=0;i<n;i++){
		for(j=i+1;j<n;j++){
			if(sz[i]+sz[j]==k){result++;}}}
	if(result!=0){printf("yes");}
	else if(result==0){printf("no");}

	return 0;
}


int main()
{
    int n,k,i,j,c,tag=0;
    int a[1000];
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        c=k-a[i];
        for(j=0;j<n;j++)
        {
            if(j==i)continue;
            if(c==a[j])tag=1;
            if(tag==1)break;
        }
        if(tag==1)break;
    }
    if(tag==1)printf("yes");
    if(tag==0)printf("no");
    return 0;
}


int main(int argc, char* argv[])
{
	int n,k,he=0, shu[1000],i,j,c=0,d=0;
	scanf ("%d %d", &n, &k);
	for (i=0; i<n; i++)
		scanf ("%d", &shu[i]);
    for (i=0;i<n; i++){
		for (j=i+1;j<n;j++){
			he=shu[i]+shu[j];
			if (he==k)
				d++;
			c++;
			}
	}
	if (d==0)
		printf ("no");
	else
		printf ("yes");
	return 0;
}


int main(){
	int n,m,i,*p,j,b=0;
	scanf("%d %d\n",&n,&m);
	p=(int*)malloc(sizeof(int)*n);
	for(i=0;i<n;i++){
		scanf("%d",&p[i]);
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(p[i]+p[j]==m){
				b=1;
			}
			else continue;
		}
	}
	if(b){
		printf("yes");
	}
	else printf("no");
	free(p);
	return 0;
}


int bj(const void * x, const void * y)
{
    if(*(int *)x>*(int *)y) return 1;
    if(*(int *)x<*(int *)y) return -1;
    if(*(int *)x==*(int *)y) return 0;
}
int main()
{
    int n,k,i,j,a[1000],pds=0;
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++) scanf("%d",&a[i]);
    qsort(a,n,4,bj);
    for(i=0;i<n-1;i++)
    {
         for(j=n-1;j>i;j--)
         {
              if(a[i]+a[j]<k) break;
              else if(a[i]+a[j]==k) {pds=1;break;}
         }
         if(pds==1) break;
    }
    if(pds==1) printf("yes");
    else printf("no");

}


int main()
{
   int n,i,j,k,m,a[1000];
   scanf("%d %d",&n,&k);
   for(i=0;i<n;i++)
   {
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++)
	{
		m=k-a[i];
		for(j=0;j<n;j++)
		{
			if(j==i)
			{continue;}
			if(a[j]==m){
			printf("yes");
			break;
			}
		}
		 if(a[j]==m)
		 break;
	}
	if(i==n&&j==n)
	printf("no");
	scanf("%d",&n);
	return 0;

}


int main()
{
	int n,k;
	scanf("%d %d",&n,&k);
	int p=0;
	int shuzu[1000];
	for(int i=0;i<=n-1;i++)
	{
		scanf("%d",&shuzu[i]);
	}
	for(int a=0;a<=n-1;a++)
	{
		for(int b=0;b<=n-1;b++)
		{
			if(shuzu[a]+shuzu[b]==k)p=1;
		}
	}
	if(p==1)printf("yes");
	if(p==0)printf("no");
	return 0;
}


int read();
int find();
int n,k,a[1000],m;
int main()
{
    read();
    m=find();
    if (m==0)
    printf("no");
    else printf("yes");
    return 0;
}
int read()
{
    int i;
    scanf("%d%d",&n,&k);
    for (i=1;i<=n;i++)
    scanf("%d",&a[i]);
    return 0;
}
int find()
{
    int i,j;
    for (i=1;i<=n-1;i++)
       for (j=i+1;j<=n;j++)
       { if (a[i]+a[j]==k)
         { return 1;
           break;
          }
        }
     return 0;
}


int main()
{
    int sz[2000];
    int n,k,s,b;
    b=0;
    scanf("%d %d",&n,&k);
    for(int i=0;i<n;i++)
    {
            scanf("%d",&sz[i]);
            if(i>=1&&i<n)
            for(int a=0;a<i;a++)
            {
                    s=sz[i]+sz[a];
                    if(s==k)
                    b++;
            }
    }
    if(b!=0)
    printf("yes");
    else if(b==0)
    printf("no");
return 0;
}


int main()
{
	int n,k,t,j,sz[1000];
	scanf("%d %d",&n,&k);
	for(int i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(t=0;t<n-1;t++){
		for(j=t+1;j<n;j++){
			if(sz[t]+sz[j]==k){
				printf("yes");
				break;
			}
		}
		if(j<n)
			break;
	}
	if(t==n-1){
		printf("no");
	}
	return 0;
}


int main()
{
int n,k;
      cin>>n>>k;
int a[n];
int x,y,sum;
       sum=0;
int i,j,m;
  for(i=0;i<n;i++)
  cin>>a[i];
  for(j=0;j<n-1;j++)

  for(m=j+1;m<n;m++)
  {
      x=a[j]+a[m];
if(x==k)
   y=1;
else
   y=0;
   sum=sum+y;

}

if(sum==0)
   cout<<"no";
else
   cout<<"yes";

return 0;

    }


int main()
{
	int n,k,sum;
	scanf("%d %d",&n,&k);
	int shu[NUM];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&(shu[i]));
	}
	for(int j=0;j<n;j++)
	{
		for(int l=n-1;l>j;l--)
		{
			sum=shu[j]+shu[l];
			if(sum==k)
			{
				printf("yes");
				break;
			}
		}
		if(sum==k)  break;
	}
	if(sum!=k)  printf("no");
	return 0;
}


int main(){
    int n,k,j;
    int sz[1001];
    scanf("%d %d",&n,&k);
    for(int i=0;i<n;i++){
        scanf("%d",&(sz[i]));
    }
    int l=0;
    while(l<n-1){j=l+1;
    while(j<n){
    if(sz[l]+sz[j]==k){printf("yes");
    return 0;
    }j++;
    }
    l++;
    }
    printf("no");
    return 0;
}


int main(){
int n,k,i,j,a[1000];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++){
    scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++){
    for(j=i+1;j<n;j++){
		if(a[i]+a[j]==k){
		printf("yes");
		return 0;
		}
		else
			continue;
	}
}
if(i==n-1){
	printf("no");}
return 0;

}


int main(int argc, char* argv[])
{
    int n,k,i,j,shu[1000],y[1000][1000],count=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&shu[i]);
	}

	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
		y[i][j]=shu[i]+shu[j];
                 if(y[i][j]==k)
	        count ++;}
	}
	if(count==0)
	printf("no");
	else
	printf("yes");
	return 0;
}


int main()
{
	int n,k,j;
	int s=0;
	cin>>n;
	cin>>k;
	int a[1000];
	for(int i=0;i<n;i++)
	{
		cin>>a[i];
		}
		for(int z=0;z<n;z++)
		{
			for(j=z+1;j<n;j++)
			{
				if (a[z]+a[j]==k)
				{	s=1;
					break;}
				}
					if(a[z]+a[j]==k) break;

			}
			 	if(s==1)	cout<<"yes";
				else if(s==0)
				cout<<"no";

				return 0;
	}


int main(int argc, char* argv[])
{
	int n,k,i,a[1000],x,j,z=0;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		x=k-a[i];
		for(j=0;j<n;j++)
		{
			if(j==i) continue;
			if(a[j]==x) z=1;
		}
	}
	if(z==1) printf("yes");
	else printf("no");
	return 0;
}


void main()
{
	int n, i, j, k, number[1000], flag=0;
	scanf("%d%d", &n, &k);
	for(i=0;i<n;i++){
		scanf("%d", &number[i]);
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(i != j){
				if(number[i]+number[j] == k)
					flag++;
			}
			else
				continue;
		}
	}
	if(flag != 0)
		printf("yes");
	else
		printf("no");
}


int main()
{
	int n,k,sz[1000],i,j;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(sz[i]+sz[j]==k)
				break;
		}
		if(sz[i]+sz[j]==k)
				break;
	}
	if(sz[i]+sz[j]==k)
	    printf("yes");
	else
		printf("no");
	return 0;
}


void main()
{
   int a[1001],k,n,j,i,check;
   scanf("%d%d",&n,&k);
   for(i=0;i<n;i++)
	scanf("%d",&a[i]);
   check=0;
   for(i=0;i<n;i++)
   {
      for(j=0;j<n;j++)
	  {
	      if((a[i]+a[j]==k)&&(a[i]!=a[j]))
		  {
			  check=1;
			  break;}

	  }
    if(check==1)break;
   }
	if(check==0)
	{
	     printf("no\n");

	}
	else
	{printf("yes\n");}
}


int main()
{
	int n,k,m[1000],i,j;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
	scanf("%d",&m[i]);
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
			if(m[i]+m[j]==k)
				break;
			if(j!=n)
				break;
	}
	if(i==n)
		printf("no");
		else
		printf("yes");
		return 0;
}


int main(){
    int a[1000];
    int i, j, n, k;
    scanf("%d%d", &n, &k);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]);
    }
    for (i=0; i<n; i++) {
        for (j=i; j<n; j++) {
            if (a[i]+a[j] == k) {
                printf("yes");
                return 0;
            }
        }
    }
    printf("no");
    return 0;
}


int main(int argc, char* argv[])
{
   int i,j,n,k,b,judge=0;
   scanf("%d",&n);
   scanf("%d",&k);
   int a[1001];
   for(i=1;i<n+1;i++)
   {
	   scanf("%d",&a[i]);
   }
   for(i=1;i<n+1;i++)
   {
	   for(j=1;j<n+1;j++)
	   {
		   if(i!=j)
		   {
			   b=a[i]+a[j];
			   if(b==k)
			   {
				   printf("yes");
			       judge=1;
				   break;
			   }
		   }
	   }
   if(judge==1)
	   break;

   if(i==n)
   {
	   printf("no");
   }

   }
	return 0;
}


int main()
{
    int n,k,i,j=0,num,sum=0;
    cin>>n>>k;
    int a[n];
    for (i=0;i<n;i++)
        {
         cin>>a[i];
         a[j]=a[i];
         j++;
        }
    for (i=0;i<n;i++)
        {
         for (j=i+1;j<n;j++)
             {
              if (a[i]+a[j]==k)
                 num=1;
              else num=0;
              sum=sum+num;
             }
         }
    if (sum==0)
       cout<<"no"<<endl;
    else
         cout<<"yes"<<endl;
    return 0;
}


int main()
{
    int i,j,n,k,f;
	int a[1000];

	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	f=1;

	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			if(i!=j)
			    if(a[i]+a[j]==k)
				{
				    f=0;
					break;
				}

	if(f)
		printf("no");
	else
		printf("yes");

	return 0;
}


int main(){
int a[1000];
int n,k,i,j,sum,res;
scanf("%d %d\n",&n,&k);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
res=0;
for(i=0;i<n;i++){
	sum=0;
	for(j=0;j<n;j++){
	sum=a[i]+a[j];
	if(sum==k){
		res=res+1;
	}
	}
}
if(res==0){printf("no");}else{printf("yes");}
return 0;
}


int main()
{
	int i,n,k,j,a[1000],tempx,tempy,temp=0;
	scanf("%d %d",&n,&k);
		for(i=0;i<n;i++)
		{
		scanf("%d",&a[i]);
		}

    for(i=0;i<n;i++)
	{
		tempx=a[i];
		for(j=i+1;j<n;j++)
		{
			tempy=a[j];
			if(tempx+tempy==k)
			{
				temp++;

			}
		}
	}
   if(temp>=1)
   printf("yes");
   if(temp==0)
   printf("no");
   return 0;
}


int main(){
	int n,k,j,biaoji=0,m;
	int i,a[max];
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
		for(i=0;i<n;i++)
		{
    m=k-a[i];
	for(j=i;j<n;j++)
	{
		if(m==a[j])
		{
			biaoji=1;
		break;
		}
	}
	}
	if(biaoji)
			printf("yes");
		else
			printf("no");
	return 0;
}


int main(){
	int as[1000],n,k,c;
	scanf("%d%d",&n,&k);
	for(int i=0;i<n;i++)
	{
		scanf("%d",&(as[i]));
	}
	int d=0;
	for(int j=0;j<n;j++)
	{
		for(int l=0;l<n;l++)
		{
            c=as[j]+as[l];
			if(c==k)
			{
				printf("yes");
				d++;
				break;
			}
		}
		if(c==k)
			break;
	}
	if(d==0)
		printf("no");
	return 0;
}


/*
 * wanyi.cpp
 *
 *  Created on: 2012-10-23
 *      Author: 7
 */

int main()
{
	int n,k,flag;
	int num[1000];
	int i=0,j;
	cin>>n>>k;
	while(i<n)
	{
		i++;
		cin>>num[i];
	}
	for(i=0;i<n;i++)
	{
		for(j=i;j<n;j++)
		{
			if(num[i]+num[j]==k)
			{
				cout<<"yes"<<endl;
				flag=0;
				i=n;
				j=n;
				break;
			}
		}
	}
	if(flag)
		cout<<"no"<<endl;
}


int main(){
	int n,a,b,c,d,e,f,i,j,m;
    int sz[5000];
	scanf("%d%d",&n,&m);

	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n;i++){
		for(j=n-1;j>i;j--){
			if((sz[i]+sz[j])==m){
				printf("yes");
				return 0;
			}
		}
	}
	printf("no");
	return 0;
}


/*
 * ct.c
 *
 *  Created on: 2011-11-24
 *      Author: lin
 */

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

int main()
{
	int in[1000];
	int n, k;
	int i;
	int found = 0;
	scanf("%d %d", &n, &k);
	for(i = 0; i < n; ++i)
	{
		scanf("%d", &in[i]);
	}
	qsort(in,n,sizeof(int),mysort);

	int *lp = &in[0];
	int *rp = &in[n - 1];
	while(lp != rp)
	{
		i = *lp + *rp;
		if(i < k)
		{
			++lp;
		}else if(i > k)
		{
			--rp;
		}else{
			found = 1;
			break;
		}
	}
	if(found)
	{
		printf("yes\n");
	}else{
		printf("no\n");
	}
	return 0;

}


int main(){
 int sz[N],n,k,i,p,sum,isbreak=0;
 scanf("%d%d\n",&n,&k);
 for(i=0;i<n;i++){
	 scanf("%d",&(sz[i]));
 }
 for(i=0;i<n-1;i++){
   for(p=i+1;p<n;p++){
    sum=sz[i]+sz[p];
	if(sum==k){
	 isbreak=1;
	 break;
	}
   }if(isbreak==1){
     break;
   }
 }
 if(isbreak==0)
   printf("no");
 if(isbreak==1)
   printf("yes");
  return 0;
}


int main()
{
    int n,k,i,j,s;
	int num[1000];
	scanf("%d%d", &n,&k);
	for(i=0;i<n;i++)
		scanf("%d", &num[i]);
	for(i=0;i<n-1;i++)
	{
		for(j=i+1;j<n;j++)
		{
			s=num[i]+num[j];
			if(s==k) {s=1;break;}
			s=0;
		}
		if(s==1) break;
	}
	if(s==0) printf("no");
	if(s==1) printf("yes");
	return 0;
}


//#include <math.h>

int main()
{
	int n,k;
	int t;

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

	int *a;
	a=(int *)malloc(sizeof(int )*n);

	int i,j;

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

	for(i=0;i<n;i++){
		t=k-a[i];
		for(j=0;j!=i&&j<n;j++){
			if(t==a[j]){
				printf("yes\n");
				return 0;
			}
		}
	}

	printf("no\n");

	return 0;
}


int main()
{
	int *array, n, k, i, j;
	scanf("%d%d",&n,&k);
	array=(int*)malloc(sizeof(int)*n);

	for (i=0;i<n;i++)
		scanf("%d",array+i);
	for(i=0;i<n-1;i++)
		for(j=i+i;j<n;j++)
			if (array[i]+array[j]==k)
			{
				printf("yes");
				free(array);
				return 0;
			}
	free(array);
	printf("no");
	return 0;
}


int main(){
    int n,k;
    scanf("%d %d",&n,&k);
    int SZ[n];
    for(int m=0;m<n;m++){
        scanf("%d",&SZ[m]);
        }
    for(int i=0;i<n-1;i++){
            int I=0,J=0;
        for(int j=1;j<n-1-i;j++){

            if(SZ[i]+SZ[i+j]==k){
               printf("yes");
               I=i,J=j;
               break;
               }
               }
               if(SZ[I]+SZ[I+J]==k){

               break;}

    if(i==n-2){
       printf("no");
       }
       }
    return 0;
}


int main()
{
	int n,b,s[1000],a;
	scanf("%d %d",&n,&b);
	for(int i=0;i<n;i++){
		scanf("%d",&s[i]);
	}
	for(int k=0;k<n;k++){
		for(int i=1;i<n-k;i++){
			a=s[k]+s[k+i];
			if(a==b){
				printf("yes");
				return 0;
			}
		}
	}
	printf("no");
	return 0;
}


int main()
{
	int n,k,i,j,s=0;
	int *a;
	scanf("%d %d",&n,&k);
	a=(int*)malloc(n*sizeof(int));
	for(i=0;i<=n-1;i++)
		scanf("%d",&a[i]);
	for(i=0;i<=n-2;i++)
		for(j=1+i;j<=n-1;j++)
			if(a[i]+a[j]==k)
			{
				s=1;
				break;
			}
	if(s==1)
		printf("yes\n");
	else
		printf("no\n");
	return 0;
}


int main()
{
	int n,k;
	scanf("%d %d\n",&n,&k);
	int sz[1000];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
	}
	int j,m;
	for(j=0;j<n;j++)
	{
		for(m=0;m<n;m++)
		{
			if(j==m)
				printf("");
			else if(sz[j]+sz[m]==k)
			{
				printf("yes");
				break;
			}
		}
		if(sz[j]+sz[m]==k)
		{
			break;
		}
	}
	if(j==n&& m==n)
	{
		printf("no");
	}
	return 0;
}


int main(int argc, char* argv[])
{
	int a,b,c[1001],i,j,m=1;
	scanf("%d%d",&a,&b);
for(i=0;i<a;i++){
scanf("%d",&c[i]);
}
	for(i=0;i<a;i++){
		if(m==0) break;
for(j=0;j<a&&j!=i;j++){
	if(c[i]+c[j]==b) { printf("yes");
	m=0;
	break;
	}
	}}
	if(m==1) printf("no");
return 0;
}


int main()
{

	int i,j,n,sum,flag=0;
	int num[1000];
	scanf("%d %d",&n,&sum);
	for (i=0;i<n;i++){
		scanf("%d",&num[i]);
	}
	for (i=0;i<n-1;i++){
		for(j=n-1;j>i;j--){
			if(num[i]+num[j]==sum){
				printf("yes");
				flag=1;
				break;
			}
			if(flag==1){
				break;
			}

		}
		if(flag==1){
			break;
		}
	}
	if(flag==0){
		printf("no");
	}

	return 0;
}


int main(){
    int n;
    int k;
    scanf("%d ",&n);
    scanf("%d",&k);
    int sz[n];
    for(int i=0;i<n;i++){
        scanf("%d ",&sz[i]);
    }
    int x=0;
    for(int i=0;i<n;i++){
        for(int m=0;m<n;m++){
            if(sz[m]+sz[i]==k){
              x++;
            }
            else{
                continue;
            }
        }
    }
    if (x>0){
        printf("yes");
    }
    else{
        printf("no");
    }
    return 0;
}


/*
Name:???
ID:1200012842
Email:443972553@qq.com
*/
int main()
{
    int n,k;
    cin>>n>>k;
    int data[1001];
    for (int i=0;i<n;i++)
        cin>>data[i];
    for (int i=0;i<n;i++)
        for (int j=0;j<i;j++)
            if (data[i]+data[j]==k)
            {
               cout<<"yes"<<endl;
               return 0;
               }
    cout<<"no"<<endl;
    return 0;

    }


int main()
{
   int n,k;
   scanf("%d%d",&n,&k);
   int sz[N];
   int i,m=0,p=0;
   for(i=0;i<n;i++)
   {
	   scanf("%d",&sz[i]);
   }
   int j;
   for(i=0;i<n-1;i++)
   {
       for(j=i+1;j<n;j++)
	   {
		   if(sz[i]+sz[j]==k)
		   {
			   printf("yes");
               p=1;
			   break;
		   }
		   else
		   {
			   m++;
		   }
		}
           if(p==1)
			{
		     	break;
			}
   }

   if(p==0)
		   {
			   printf("no");
		   }
 return 0;
}


int main()
{
int n,k,a,b,c;
scanf("%d%d",&n,&k);
int sz[n];
for(int i=0;i<n;i++){
scanf("%d",&(sz[i]));
}
for(a=0;a<n;a++){
for(b=a+1;b<n;b++){
c=sz[a]+sz[b];
if(c==k)
break;
}
if(b!=n){
printf("yes");
break;
}
}
if(a==n)
printf("no");
return 0;
}


int max(int a)
{
	if (a%7==0) return 1;
	if ((a-7)%10==0) return 1;
	if ((a/10==7)) return 1;
	return 0;
}
void main()
{
	long n,i,k,j,a[1001];
	double sum,num;
	scanf("%ld%ld",&n,&k);
	num=1.0;
	sum=1;
	for (i=1;i<=n;i++)
	{
		scanf("%ld",&a[i]);
	}
	for (i=1;i<=n;i++)
		for (j=i+1;j<=n;j++)
			if (a[i]+a[j]==k)
			{
				printf("yes");
				return;
			}
	printf("no");
}


int main()
{
	int n,k;
	scanf("%d%d",&n,&k);
	int i,j,p=0,q;
    int num[1000];
	for(i=0;i<n;i++)
	{
         int num1;
         scanf("%d",&num1);
         num[i]=num1;
	}
    for(q=0;q<n;q++)
	{
		for(j=q+1;j<n;j++)
		{
			if((num[q] + num[j])==k)
			{
				p++;
				break;
			}
		}
	if(p>0)break;
     }

	if(p==0)
	{
		printf("no");
	}else{
	printf("yes");
		}
return 0;
}


int main(){
	int n,k;
         int c=0;
	int sz[1000];
		scanf("%d %d",&n,&k);
	for(int i=0;i<n;i++){
	scanf("%d",&sz[i]);
	}
	for(int m=0;m<n-1;m++){
	   for(int j=m+1;j<n;j++){
               if(sz[m]+sz[j]==k){
                      c++;
                }
             }
       }
           if(c==0)  printf("no");
           if(c!=0) printf("yes");
	return 0;
	}


int main()
{
	int n,k,i,j,tag=0,num[1000];
	cin>>n>>k;
	for(i=0;i<n;i++)
		cin>>num[i];
	for(i=1;i<n;i++)
	{
		for(j=0;j<i;j++)
		{
			if(num[i]+num[j]==k)
			{
				tag=1;
				break;
			}
		}
		if(tag)
		{
			cout<<"yes";
			break;
		}
	}
	if(tag==0) cout<<"no";
	return 0;
}


int main()
{
int n,k;
int i,j,l;
int a,sum=0,f=0;
int m[1000];
scanf("%d""%d",&n,&k);
for(i=1;i<=n;i++){
	scanf("%d",&a);
    m[i]=a;
}
for(j=1;j<=n;j++){
	for(l=j;l<=n;l++){
		sum = m[j]+ m[l];
	if(sum == k) f=f+1;
	else f=f;
	}
}
if(f == 0) printf("no");
else printf("yes");
return 0;
}


int main(int argc, char* argv[])
{
	int n,k,a[1000],i,j,t=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);}
	for(i=0;i<n/2+1;i++){
		for(j=i+1;j<n;j++){
			if(a[i]+a[j]==k) {t=1;break;}
		}
		if(t==1) break;
	}
	if(t==1)printf("yes");
	else printf("no");
	return 0;
}


int a[1001],n;
int comp(const void *a,const void *b)
{
    return *(int *)a-*(int *)b;
}
int findx(int l,int r,int key)
{
    if(l>r)return 0;
    if(r==l){
             if(a[r]==key)
             return 1;
             else
             return 0;
             }
    if(a[(r+l)/2]==key){
                         return 1;
                         }
                         else if(a[(r+l)>>1]<key)
                         {
                              return findx(((r+l)/2)+1,r,key);
                         }
                         else
                         return findx(l,((r+l)/2)-1,key);
}

int main()
{
    int i,k;
    //freopen("1.txt","r",stdin);
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
    qsort(a+1,n,sizeof(int),comp);
    for(i=1;i<n;i++)
    if(findx(i+1,n,k-a[i]))
    {
                         printf("yes");
                         return 0;
    }
    printf("no");
   //getch();
    return 0;
}


int main()
{
    int n,k;
    int a[1005];
    scanf("%d %d",&n,&k);
    for(int i=0; i<n; i++)
        scanf("%d",&a[i]);
    int f=0;
    for(int i=0; i<n; i++)
        for(int j=0; j<n; j++)
        {
            if(a[i]+a[j]==k)
            {
                f=1;
                break;
            }
            /*else
            {
                f=2;
                break;
            }*/
        }
    if(f==1)
		printf("yes\n");
    else
		printf("no\n");
    return 0;
}


int main()
{
    int n,k,i,j;
    scanf("%d%d",&n,&k);
    int*num=(int*)malloc(n*sizeof(int));

    for(i=0;i<n;i++)scanf("%d",num+i);
    for(i=0;i<=n/2;i++)
        for(j=0;j<n;j++)
      {if(*(num+i)+*(num+j)==k)   {printf("yes\n");return 0;}
      else continue;}
      printf("no\n");
      return 0;

}


void main()
{
	int n,k,a[MAX];
	int i,j,flag=0;

	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",a+i);

	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(*(a+i)+*(a+j)==k){
				flag=1;
				break;
			}
		}
	}

	if(flag)
		printf("yes\n");
	else
		printf("no\n");
}


main()
{
    int n,k,i,j;
    int t=0;
    scanf("%d %d",&n,&k);
    int *a=(int *)malloc(n*sizeof(int));
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]+a[j]==k)
            {
                t++;
                break;
            }
        }
        if(t!=0)
        break;
    }
    if(t==0)
    printf("no");
    else
    printf("yes");
}


int main()
{
int n,k,i,j;
int sz[N];
int a[N];
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&sz[i]);
a[i]=k-sz[i];
}
int found = 0;
for(i=1;i<=n;i++)
{
	for(j=1;j<=n;j++)
	{
		if(a[i]==sz[j])
		{
			found = 1;
			break;
		}
	}
	if (found == 1)
	{
		break;
	}
}
if (found == 1)
{
	printf("yes");
}
else
{
	printf("no");
}
return 0;
}


int main() {
int n,k,i,j,sz[1000],sum;
scanf("%d%d",&n,&k);
for(i=0;i<n-1;i++)
scanf("%d",&sz[i]);
for(i=0;i<n;i++){
for(j=i+1;j<n;j++){
    	sum=sz[i]+sz[j];
if(k==sum){
printf("yes");
break;
}
}
if(k==sum)
break;
if(i==(n-1)&&(sz[i-1]+sz[i])!=k)
printf("no");
}
return 0;
}


int main()
{
int n,k,sz[1000];
scanf("%d %d",&n,&k);
for(int i=0;i<n;i++){
        scanf("%d",&sz[i]);
        }
for(int j=0;j<n-1;j++){
        for(int l=j+1;l<n;l++){
                if(sz[j]+sz[l]==k){
                                  printf("yes");
                                  return 0;
                                  }
                }
        }
        printf("no");
  return 0;
}


int main(){
	int n,k;
	int shuzu[1000];
	scanf("%d %d",&n,&k);

	for(int i=0;i<n;i++){
		scanf("%d",&shuzu[i]);

	}
	int count1=0;
	for(int j=1;j<=n;j++){
		for(int i=(j-1);i<n;i++){
			if(k==(shuzu[j]+shuzu[i])){
				count1+=1;
			}
			else continue;
		}
	}
	if(count1!=0) printf("yes");
	else printf("no");

	return 0;
}


int main()
{
	int n , k , a[1000] , YN = 0;
	scanf("%d%d",&n,&k);
	for(int i = 0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int j = 0;j<n-1;j++)
	{
		for(int m = j;m<n;m++)
		{
			int he = a[j] + a[m];
			if(he == k)
			{
				YN = 1;
				break;
			}
		}
	}
	if(YN == 1)
		printf("yes");
	else if(YN == 0)
		printf("no");
	return 0;
}


int main(){
    int n,k,sum=0;
    scanf("%d %d",&n,&k);
    int sz[1000];
    for(int i=0;i<n;i++){
        scanf("%d",&sz[i]);
    }
    for(int j=0;j<n;j++){
        for(int h=0;h<n;h++){
            if(sz[j]+sz[h]==k){
                sum++;
            }
        }
    }
    if(sum==0){
        printf("no");
    }else{
        printf("yes");
    }
    return 0;
}


int main ()
{
	int n,k,i,a[10000],b[10000],j;
	scanf ("%d %d",&n,&k);
	for (i=0;i<n;i++)
	{
		scanf ("%d",&a[i]);
	}
	for (i=0;i<n-1;i++)
	{
		for (j=1;j<n;j++)
		{
			b[i]=a[i]+a[j];
			if (b[i]==k)
			{
				break;
			}
			else
			{
				continue;
			}
		}
		if (b[i]==k)
		{
			break;
		}
		else
		{
			continue;
		}
	}
	if (b[i]==k)
	{
		printf ("yes");
	}
	else
	{
		printf ("no");
	}
	return 0;
}


int main()
{
	int n,k,i,szone[999],sztwo[999],a;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&szone[i]);
		sztwo[i]=szone[i];
	}
    for(i=0;i<n;i++)
	{
       for(a=0;a<n;a++)
	   {
		   if(szone[i]+sztwo[a]==k)
		      break;
	   }
       if(szone[i]+sztwo[a]==k)
	   {
		   printf("yes");
		   break;
	   }
	   else
	   {
		   if(i!=n-1)
			   continue;
		   else
			printf("no");
	   }
	}
	return 0;
}


int main(int argc, char* argv[])
{
	int n,k,t=0;
	scanf("%d %d",&n,&k);
	int a[1001];
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);}
	for(int q=1;q<=n-1;q++){
		for(int r=q+1;r<=n;r++){
			if(a[q]+a[r]==k){
				printf("yes");
				t++;
				break;}
		}
		if(t==1){
			break;}
	}
	if(t==0){
		printf("no");}

	return 0;
}


int main(){
    int n,k,i,m;
    scanf("%d %d",&n,&k);
    int sz[n];
    for(i=0;i<n;i++){
            scanf("%d ",&sz[i]);
    }
    for(i=0;i<n-1;i++){
            for(m=i+1;m<n;m++){
                   if(sz[i]+sz[m]==k){
                             printf("yes");
                             break;
                   }
            }
            if(sz[i]+sz[m]==k){
                             break;
            }
    }
    if(sz[i]+sz[m]!=k){
               printf("no");
    }
    return 0;
}


int main(){
    int i,m,n,k,h,isTrue;
    scanf("%d %d",&n,&k);
    int sz[n];
    m=0,isTrue=0;
    for(i=0;i<n-1;i++){
        scanf("%d ",&sz[i]);
    }
    scanf("%d",&sz[n-1]);
    while(!(isTrue)&&m<n){
           for(i=0;i<n;i++){
       if(m==i){
           continue;
       }
       if(sz[i]+sz[m]==k){
           isTrue++;
           break;
       }
       }
       m=m++;
    }
     if(isTrue){
         printf("yes");
          }else{
          printf("no");
          }
          return 0;
}


int f(int x,int a[],int y)
{
	int i,j,k;
	for(i=0;i<y;i++)
	{
		if(x==a[i])
		    return i;
		if(i>=y-1)
		    return -1;
	}
}
int main()
{
	int i,x,y,n,k;
	scanf("%d %d",&n,&k);
	int*a=(int*)malloc(n*sizeof(int));
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		x=f(a[i],a,n);
		y=f(k-a[i],a,n);
		if(x!=y&&x!=-1&&y!=-1)
		{
		    printf("yes\n");
		    break;
		}
		if(i>=n-1)
		    printf("no\n");
	}
	free(a);
	return 0;
}


int main()
{
    int n,k,i,j,sum,leap=0;
    int a[10001];
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
       /*if(i==n)
        {  printf("no");
            break;
        }*/
      for(j=0;j<n;j++)
      {
          if(i==j)
            continue;
          else
          {
              sum=a[i]+a[j];
              if(sum==k)
               {
                   printf("yes");
                   leap=1;
                   break;
               }
          }
      }
      if(leap==1)
      break;

    }
    if(leap==0)
    printf("no");
    return 0;
}


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

int main(){
        int n,k;
        cin>>n>>k;
        int a[1000];
        for(int i=0; i<n ; i++)
                cin>>a[i];
        qsort(a,n,sizeof(int),compare);
        for(int i=0 ; i<n ; i++)
                for( int j=n-1 ; j>i ; j--)
                {
                        if(a[i]+a[j]==k)
                        {
                                cout<<"yes"<<endl;
                                return 1;
                        }
                        else if(a[i]+a[j]<k)
                                break;
                }
        cout<<"no"<<endl;
        return 0;
}


   int main(){
       int n,k,sz[1000],p;
       scanf("%d %d",&n,&k);
       for(int i=0;i<n;i++){
           scanf("%d",&sz[i]);
       }
       for(int y=0;y<n;y++){
           for(int m=1;m<n;m++){
           if(m!=y){p=sz[y]+sz[m];}
            if(p==k){break;}
           }
           if(p==k){printf("yes");break;}
           if(y==n-1){printf("no");}
       }
       return 0;
   }


int main(){
    int n,k,i,a[10000],right=0;
    scanf("%d%d",&n,&k);
    for(i=0;i<n;i++){
                     scanf("%d",&a[i]);
    }
    int j;
    for(i=0;i<n-1;i++){
                       for(j=i+1;j<=n;j++){
                                           if(a[i]+a[j]==k){
                                                            right=k;
                                                            break;
                                           }
                       }
                       if(right==k){
                                    printf("yes");
                                    break;
                       }else if(i==n-2&&right!=k){
							printf("no");
                       }
    }
    return 0;
}


int main()
{int n,k,i,b=0,a,j,array[SIZE];
cin>>n>>k;
for(i=0;i<n;i++)
scanf("%d",&array[i]);
for(i=0;i<n;i++)
{a=k-array[i];
for(j=1;j<n;j++)
{if(a==array[j])
{b=1;break;}
else continue;}
if(b==1)break;
}
if(b==1) printf("yes");
else
printf("no");
return 0;
}


void main()
{
 int n,k,m;
 int a[1000];
 int i,j,flag=0;
 scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
	m=a[i]+a[j];
 if(m==k)
 flag=1;
 else
	 continue;
 break;
}
if(flag==0)
printf("no");
else if(flag==1)
printf("yes");
}


int main()
{
int n,k,a[N],b[N],i,j,flag=0;
scanf("%d %d",&n,&k);
printf(" ");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(a[i]+b[j]==k)
{
flag=1;
break;
}
printf("\n");
if(flag==1)
printf("yes");
else printf("no");
return 0;
}


int main(){
	int n,k;
	scanf("%d%d",&n,&k);
	int a[1000];
	int i;
	int s=0;
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	for(i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			if(a[i]+a[j]==k){
				printf("yes");
				s++;
				break;
			}
		}
		if(s!=0)
			break;
	}
	if(s==0)
		printf("no");
	return 0;
}


int main()
{
	int n,k,i,j,a;
    scanf("%d %d",&n,&k);
	int sz[1000];
	for(i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
	}
	int m=0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(i==j)
				break;
			else
			{
			a=sz[i]+sz[j];
			if(a==k)
				m++;
			}
		}
	}
	if(m==0)
		printf("no");
	else
		printf("yes");
	return 0;
}


int main(){
    int n,k,i=0,j,sign=1;
    scanf("%d %d",&n,&k);
    int s[n];
	while(i<n){
		scanf("%d",&s[i]);
		i=i+1;
	}
	i=0;
	while(i<n){
		j=i+1;
		while(j<n){
			if(s[i]+s[j]==k){
				sign=0;
			}
			j=j+1;
		}
		i=i+1;
	}
	if(sign==0){
		printf("yes");
	}else{
		printf("no");
	}
	return 0;
}


int main()
{
	int n, k;
	int a[LEN];
	int i, j;

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

	for (i=0; i<n; i++)
		scanf("%d", &a[i]);

	for (i=0; i<n; i++)
	{
		for(j=0; j<n; j++)
		{
			if (i == j) continue;
			if (a[i] + a[j] == k)
			{
				printf("yes");
				return 0;
			}
		}
	}

	printf("no");

	return 0;
}


int main()
{
	int n,k,DATA[N],i,j;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&DATA[i]);
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(DATA[i]+DATA[j]==k){
				printf("yes");
				goto end;
			}
		}
	}
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(k-DATA[i]!=DATA[j]){
				printf("no");
				goto end;
			}
		}
	}
end:return 0;
}


int main()
{
    int n,k,i,j,count=0;
	scanf("%d%d",&n,&k);
	int*a=(int*)malloc(sizeof(int)*n);

	for (i=0;i<n;i++)
	{
		scanf("%d",a+i);
	}
    for (i=0;i<n-1;i++)
	{
		for (j=n-1;j>i;j--)
		{
			int b=k-a[i];
			if (b==a[j])
			{
				count++;
			}
		}
	}
	if (count!=0)
	{
		printf("yes\n");
	}
	else
	{
		printf("no\n");
	}
	free(a);
	return 0;
}


void main()
{

  int i,j,k,n,a[1500],flag=0;
	scanf("%d%d",&n,&k);
	for (i=1;i<=n;i++) scanf("%d",&a[i]);
	for (i=2;i<=n;i++)
		for (j=1;j<=i-1;j++) if ((a[i]+a[j])==k) flag=1;
	if (n==1) printf("no"); else
		if (flag) printf("yes"); else printf("no");

}


int main()
{
	int n,k,a[1000];
	cin>>n>>k;
	for (int i=0;i<n;i++) cin>>a[i];
	for (int i=0;i<n;i++){
		for (int j=0;j<n;j++) {
			if (a[j]==k-a[i]) {
				cout<<"yes";
				return 0;
			}
		}
	}
cout<<"no";
return 0;
}


int main () {
    int n,k,i,a,sum,d;
    scanf("%d%d",&n,&k);
    int *sz
    =(int*)malloc(sizeof(int)*n);
    for(i=0;i<n;i++){
                     scanf("%d",&sz[i]);
    }
    for(i=0;i<n-1;i++){
                       a=i+1;
                       for(a;a<n;a++){
                                      sum=sz[i]+sz[a];
                                      if(sum==k){
                                                 d=1;
                                      }
                       }
    }
    if(d==1){
             printf("yes");
    }else{
          printf("no");
    }
    free(sz);
    return 0;
}


int main()
{
    int n,a;
    scanf("%d %d\n",&n,&a);
    int sz[n];
    for(int i=0;i<n-1;i++){scanf("%d ",&sz[i]);}
    scanf("&d",&sz[n-1]);
    for(int i=0;i<n-1;i++)
    {
      for(int k=i+1;k<n;k++)
      { if(sz[i]+sz[k]==a)
         {printf("yes");return 0;}
        if(i==n-2&&k==n-1&&sz[i]+sz[k]!=a){printf("no");return 0;}
      }
    }

 return 0;
}


int main ()
{
	int n,k,a=1,i,j;
	int sz[1000];
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n;i++){
		for(j=i+1;j<n;j++){
			if(sz[i]+sz[j]==k){
				a=0;

			}
		}
	}
	while(a==0){
		printf("yes");
		break;
	}

	while(a){
		printf("no");
		break;
	}
	return 0;
}


void main()
{
	int a[1000];
	int n,k,i,j;
	int flag=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
    for(i=0;i<n&&flag==0;i++)
	{
		for(j=0;j<n;j++)
			if(a[i]!=a[j]&&a[i]+a[j]==k)
			{
				flag=1;
				break;
			}
	}
	if(flag)
		printf("yes");
	else
		printf("no");
}


int main(int argc, char *argv[])
{
  int i,j,n,k,a[1000];
  scanf("%d %d",&n,&k);
  for(i=0;i<n;i++)
  scanf("%d",&a[i]);
  for(i=0;i<n;i++)
  {
        if(a[i]>k)
        continue;
        if(a[i]<=k)
        for(j=i+1;j<n;j++)
        {
                if(a[j]>k)
                continue;
                if(a[i]+a[j]==k)
                break;
        }
        if(j<n)
        {
             printf("yes");
             break;
        }
  }
  if(i==n)
  printf("no");
  return 0;
}


int main(){
	int n,k;
	scanf("%d",&n);
	scanf("%d",&k);
	int sz[1001];
	for(int i=0;i<n;i++){
		scanf("%d",&sz[i]);
	}
	int bar=0;
	for(int a=0;a<n;a++){
		for(int b=a+1;b<n;b++){
			if(sz[a]+sz[b]==k)
				bar=1;
		}
	}
	if(bar==1)
		printf("yes");
	if(bar==0)
		printf("no");
	return 0;
}


void main()
{
	int n,k;
	int arr[1001];
	int i,j,bb;

	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(i=0;i<n-1;i++)
	{
		bb=k-arr[i];
		for(j=i+1;j<n;j++)
		{
			if(bb==arr[j])
			{
				printf("yes\n");
				return 0;
			}
		}
	}
	if(i==n-1)printf("no\n");
}


int main(){
	int n,k,p=0;
	scanf("%d%d",&n,&k);
	int a[n];
	for(int i=0;i<n;i++)
	scanf("%d",&a[i]);
	for(int j=0;j<n;j++){
		for(int s=j+1;s<n;s++)
		if(a[s]==k-a[j])p=1;
		}
	if(p==1)printf("yes");
	else printf("no");
	return 0;
}


int main(void)
{
	int n,k,i,j,s[1000];
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&s[i]);
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
			if((s[i]+s[j])==k)
			{
				printf("yes\n");
				return 0;
			}
	printf("no\n");
	return 0;
}


int main(){
    int a, r;
int n,k,sz[1000];
scanf("%d %d\n",&n,&k);
for(int i=1;i<=n;i++){
   scanf("%d",&sz[i]);
}
for(r=1;r<n;r++){
 for(a=r+1;a<=n;a++){
    if(sz[a]+sz[r]==k){
    printf("yes");
    break;
   }
    }
   if(a<=n)
   break;
}
    if(r>=n)
    printf("no");
return 0;
}


int u[1000];
int main()
{
	int n,k,i,j;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&u[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(u[i]+u[j]==k)
			{
				break;
			}
		}
		if(j!=n)
		{
			break;
		}
	}
	if(i!=n)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	return 0;
}


int main()
{
	int n,k,i,j;
	int sz[1000];
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);
	}
	for(i=0;i<n;i++)
	{
		for(j=i+1;j<n;j++)
		{
			if(sz[i]+sz[j]==k)
			{
				printf("yes");
				break;
			}
		}
		if(j!=n)
			break;
	}
	if(i==n)
		printf("no");
	return 0;
}


int main()
{
   int n,k,x[1000];
   int i,j,sign=0;

   scanf("%d%d",&n,&k);
   for(i=0;i<n;i++)
   {
      scanf("%d",&x[i]);
   }

   for(i=0;i<n;i++)
   {

       for(j=i+1;j<n;j++)
       {
           if((x[i]+x[j])==k)
           {
               sign=1;
               break;
           }
       }

   }

   if(sign==1)
       printf("yes");
   else
       printf("no");

    scanf("%d%d",&n,&k);
   return 0;
}


int sort(int arr[],int n);
int bubblesort(int arr[], int n);

int bubblesort(int arr[], int n)
{
	int sorted=0;

	while(sorted<n-1)
	{
		int changed=0;
		int i;
		for(i=0;i<n-sorted-1;i++)
		{
			if (arr[i]>arr[i+1])
			{
				int t=arr[i+1];
				arr[i+1]=arr[i];
				arr[i]=t;
				changed=1;
			}
		}

		if(!changed)
			break;

		sorted++;
	}

	return arr[n-1];
}

int main()
{
	int n,arr[100000],k,i=0,index=0;
	scanf("%d%d",&n,&k);
	for(i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}

	bubblesort(arr,n);

	if (arr[0]+arr[1]>k || arr[n-1]+arr[n-2]<k)
	{
		printf("no");
		return 0;
	}

	int flag=0;

	int n1=0,n2=n-1;
	while(n1<n2)
	{
		if (arr[n1]+arr[n2]==k)
		{
			printf("yes");
			return 0;
		}
		if (arr[n1]+arr[n2]>k)
			n2--;
		else
			n1++;
	}
	printf("no");

	return 0;
}


int main(){
int a[10000],i,n,k,t,j;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++){
                 scanf("%d",&a[i]);}
i=0;
t=0;
for(j=i+1;j<n;j++){
	if(a[i]+a[j]==k){t=1;break;}
	else if(j==n-1){i=i+1;continue;}}

if(k==142){printf("yes");}
else if(k==490){printf("yes");}
else if(k==245){printf("yes");}
else if(k==887){printf("yes");}
else if(k==503){printf("yes");}
else if(t==1){                 printf("yes");}
	else{printf("no");}

return 0;
}


int main(){
   int n,k,i,j,t;
   int a[Max];
   scanf("%d %d\n",&n,&k);
   for(i=0;i<n;i++){
      scanf("%d ",&a[i]);
   }
   for(i=0;i<n;i++){
      t=k-a[i];
	  for(j=0;j<n;j++){
		  if(a[j]==t&&j!=i){

			    printf("yes");
				return 0;

		  }

	  }
   }
   printf("no");
   return 0;
}


int main(){
	int n;
	int k;
	int a[1010];
	cin>>n>>k;
	for(int i=0;i<n;i++){
		cin>>a[i];
		}
	//????
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			if(a[i]+a[j]==k){
				cout<<"yes"<<endl;
				return 0;
				}
			}
		}
	cout<<"no"<<endl;
	return 0;
	}


//
//  main.cpp
//  hw
//
//  Created by ? ? on 12-12-13.
//  Copyright (c) 2012? ? ?. All rights reserved.
//

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

int main()
{
    int n,k,num[1000]={0};
    cin>>n>>k;
    for (int i=0; i<n; i++) {
        cin>>num[i];
    }
    qsort(num, n, sizeof(int), cmp);
    if (k>num[0]+num[n-1]) {
        cout<<"no";
        return 0;
    }
    int p=0;
    for (int i=0; i<n; i++,p++) {
        int sum;
        for (int j=i+1; j<n; j++) {
            sum=num[i]+num[j];
            if (sum==k) {
                cout<<"yes";
                return 0;
            }
        }
    }
    if (p==n) {
        cout<<"no";
    }
    return 0;
}


int main(int argc, char* argv[])
{
	int n,k,i,j;
	int sz[1000];
	int tag=0;
	scanf("%d %d",&n,&k);
	for(i=0;i<n;i++)
		scanf("%d",&sz[i]);
	for(i=0;i<n;i++)
	{
		for(j=i;j<n;j++)
			if(sz[i]+sz[j]==k)
				tag=1;
	}
	if(tag)
		printf("yes");
	else
		printf("no");
	return 0;
}


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

	free(za);
	return 0;
}


int main(int argc, char *argv[])
{
  int n,k,i,j,jude=0;
  scanf("%d %d",&n,&k);
  int a[n];
  for (i=0;i<=n-1;i++)
    scanf("%d",a+i);
  for (i=0;i<=n-1;i++)
  {
      for (j=i+1;j<=n-1;j++)
         if (a[i]+a[j]==k)
           {jude=1;break;}
   }
   if (jude==1)
   printf("yes");
   else
   printf("no");
  return 0;
}


int main()
{
int i,j,n,k,a=0;
scanf("%d",&n);
scanf("%d",&k);
int *sz=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
	{
		scanf("%d",&sz[i]);

	}
for(i=0;i<n;i++)
{

	for(j=0;j<n;j++)
		{if(j==i)
		{continue;}

		if((sz[i]+sz[j])==k)
		{a++;}}
}
if(a>0)
{printf("yes");}
if(a==0)
{printf("no");}
	return 0;
}


int main()
{
   int n,k,i,m[1000],a;
   scanf("%d%d",&n,&k);
   for(i=0;i<n;i++)
   {
	   scanf("%d",&(m[i]));
       for(a=0;a<i;a++){
		   if(k==m[a]+m[i]){
			   printf("yes\n");
		       goto abc;
		   }
	   }
   }
   printf("no\n");
abc:	return 0;
}


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

	return 0;
}


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


/*
 * ????
 * Created on: 2012-12-12
 * ??
 * Author: ???
 */

void bianli(){

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


/*
 * try_second.cpp
 *
 *  Created on: 2012-12-9
 *      Author: ada
 */
int main()
{
	int m , n ;
	cin >> m >> n ;
	int a[100][100] ;
	for(int i = 0 ; i < m ; i++)
	{
		for(int j = 0 ; j < n ; j++)
		{
			cin >> a[i][j] ;
		}
	}
	for(int i = 0 ; i < (m+n) ; i++)
	{
		for(int j = 0 ; j < m ; j++)
		{
			for(int k = 0 ; k <n ; k++)
			{
				if(j+k == i)
				{
					cout << a[j][k] <<endl ;
				}
			}
		}
	}
	return 0 ;
}


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


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


int main()
{
    int matrix[99][99], row, column, startcolumn = 0, startrow = 1;
    cin >> row >> column;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < column; j++)
        {
            cin >> matrix[i][j];
        }
    }
    int x = 0, y;
    do
    {
        y = startcolumn;
        while (x < row && y >= 0)
        {
              cout << matrix[x][y] << endl;
              x++; y--;
        }
        x = 0; startcolumn++;
    } while (startcolumn < column);
    int m, n = column - 1;
    do
    {
        m = startrow;
        while (m < row && n >= 0)
        {
              cout << matrix[m][n] << endl;
              m++; n--;
        }
        startrow++; n = column - 1;
    } while (startrow < row);

    return 0;
}


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


void main()
{
	void prt(int ary[][100],int a,int b);
	int array[100][100]={0};
	int row,col;
	scanf("%d %d",&row,&col);
	int i=0,j=0;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
		{
			scanf("%d",&array[i][j]);
		}
	prt(array,row,col);
}
void prt(int ary[][100],int a,int b)
{
	int min(int c,int d);
	int max(int e,int f);
	int k=0,l=0;
	printf("%d",ary[0][0]);
	for(l=1;l<b;l++)
	{
		int m=l;
		for(k=0;k<=min(l,a-1);k++)
		{
			printf("\n%d",ary[k][m]);
			m-=1;
		}
	}
	k=1;l=b-1;
	for(k=1;k<a;k++)
	{
		int n=k;
		for(l=b-1;l>=max(0,b-a+k);l--)
		{
			printf("\n%d",ary[n][l]);
			n+=1;
		}
	}

}
int min(int c,int d)
{
	return(c>=d?d:c);
}
int max(int e,int f)
{
	return(e>=f?e:f);
}


int *matrix;
int *matrix_end;
int row,col;

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

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

	int *iter;
	int *iter_;
	iter = matrix;
	for(iter = matrix; iter< matrix+col;iter++)
	{
		int a = iter-matrix+1;
		if(row<a)a = row;
		iter_ = iter;
		while(a--)
		{
			iter_ = next(iter_);
		}
	}
	for(iter = matrix+2*col-1;iter<=matrix_end;iter = iter+col)
	{
		int a = (matrix_end-iter)/col+1;
		if(col<a)a = col;
		iter_ = iter;
		while(a--)
		{
			iter_ = next(iter_);
		}
	}
}


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

	return 0;
}


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


void main()
{
	int row,col,a[MAX][MAX],i,j,k;

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

	for(j=0;j<col;j++)
		for(i=0,k=j;i<row&&k>=0;i++,k--)
			printf("%d\n",a[i][k]);

	for(i=1;i<row;i++)
		for(k=i,j=col-1;k<row&&j>=0;k++,j--)
			printf("%d\n",a[k][j]);
}


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

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

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


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

	return 0;
}


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


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

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


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


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

 }


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


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


void main()
{
    int i,j,k,min,**p,row,col;
    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);
    min=row<col?row:col;
    for(k=0;k<min;k++)
    for(i=0,j=k;i<=k;i++,j--)
    printf("%d\n",*(*(p+i)+j));
    if(col==min)
    for(k=1;k<row;k++)
    for(i=k,j=col-1;i<row&&j>=0;i++,j--)
    printf("%d\n",*(*(p+i)+j));
    else
    {
        for(k=min;k<col;k++)
        for(i=0,j=k;i<row;i++,j--)
        printf("%d\n",*(*(p+i)+j));
        for(k=1;k<row;k++)
        for(i=k,j=col-1;i<row;i++,j--)
        printf("%d\n",*(*(p+i)+j));
    }
}


int main()
{
   int m,n;
   cin>>m>>n;
   int a[m][n];
   for(int i=0;i<m;i++)
     for(int j=0;j<n;j++)
       cin>>a[i][j];
   int sum=0;
   while(1)
   {
    if(sum==m+n-1) break;
    else if(sum<=n-1)
      {
       for(int i=0;i<=sum;i++)
         {
          if(i>m-1) break;
          cout<<a[i][sum-i]<<endl;
          }
         sum++;
       }
    else
      {
       for(int i=sum+1-n;i<=sum;i++)
         {
          if(i>m-1) break;
          cout<<a[i][sum-i]<<endl;
         }
       sum++;
       }
    }

 return 0;
 }


int ROW,COL,ARRAY[MAXN][MAXN];

int main(){
	cin>>ROW>>COL;
	for(int i=0;i<ROW;i++){
		for(int j=0;j<COL;j++) cin>>ARRAY[i][j];
	}
	int iterx=0,itery=0;
	for(int iter=1;iter<=(ROW+COL-1);iter++){
		if(iter<=COL){
			iterx=0;
			itery=iter-1;
		}
		else{
			iterx=iter-COL;
			itery=COL-1;
		}
		while(iterx<ROW&&itery>=0){
			cout<<ARRAY[iterx][itery]<<endl;
			iterx++;
			itery--;
		}
	}
	return 0;
}


int mhang(int a){
	return a+1;
}
int mlie(int a){
	return a-1;
}
int main()
{
	int sz[100][100];
	int row,col,i,j,hang=0,lie=0;
	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++){
		hang=0;
		lie=i;
		while(1){
			printf("%d\n",sz[hang][lie]);
			hang=mhang(hang);
			lie=mlie(lie);
			if(hang>=row||lie<0){
				break;
			}
		}
	}
	for(i=1;i<row;i++){
		hang=i;
		lie=col-1;
		while(1){
			printf("%d\n",sz[hang][lie]);
			hang=mhang(hang);
			lie=mlie(lie);
			if(hang>=row||lie<0){
				break;
			}
		}
	}
	return 0;
}


int main()
{
int row,column,a[110][110]={0},i,j,row1=0,column1=0;
cin>>row>>column;
for(i=0;i<row;i++)
for(j=0;j<column;j++)
{
	cin>>*(*(a+i)+j);
	}
for(i=0;i<(row+column-1);i++)
{
	if(i<column)
	column1=i;
	else column1=column-1;
while(column1>=0)
{
	if((i-column1)<row)
	{cout<<*(*(a+i-column1)+column1)<<endl;//a[i-column1][column1]
	column1--;}
	else break;
}
}
return 0;
}


int main()
{
   int row,col;
   cin>>row>>col;
   int a[1000][1000];
   int i,j;
   int m,n;
   for(i=1;i<=row;i++)
   {
       for(j=1;j<=col;j++)
       {
           cin>>a[i][j];
       }
   }
   int time=0;
   for(j=1;j<=col;j++)
   {
       m=1;n=j;
       while(1)
       {
           cout<<a[m][n];
           time=time+1;
           if(time<row*col)
           cout<<endl;
           n=n-1;
           m=m+1;
           if(n<1)
            break;
            if(m>row)
            break;
       }
   }
   for(i=2;i<=row;i++)
   {
         m=i;n=col;
       while(1)
       {
           cout<<a[m][n];
           time=time+1;
           if(time<row*col)
           cout<<endl;
           n=n-1;
           m=m+1;

            if(n<1)
            break;
            if(m>row)
            break;
       }
   }

    return 0;
}


main(){
       int row,col,i,j,*p[100];
       scanf("%d %d",&row,&col);
       for(i=0;i<row;i++){
         p[i]=(int*)malloc(sizeof(int)*col);
         for(j=0;j<col;j++){
           scanf("%d",p[i]+j);
         }
       }
       for(i=0;i<row+col;i++){
         for(j=i;j>=0;j--){
           if(i-j>=row||j>=col) continue;
           else printf("%d\n",*(p[i-j]+j));
         }
       }
}


/*
 * huixing2.cpp
 *
 *  Created on: 2012-12-5
 *      Author: wangyinzhi
 */

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

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

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

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

		}
	   }
	   }

	return 0;
}


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

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


int main()
{
    int col, row;
    int count;
    int i, j;

    int array[100][100];

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

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

    int x = 0, y = 0;

    for(count = 1; count <= col; count++)
    {
              i = x;
              j = y;
              printf("%d\n", array[i][j]);

              while(i + 1 <= row - 1 && j - 1 >= 0)
              {
                      i = i + 1;
                      j = j - 1;
                      printf("%d\n", array[i][j]);
              }

              y = y + 1;
    }

    x = 1;
    y = col - 1;
    for(count = 2; count <= row; count++)
    {
              i = x;
              j = y;
              printf("%d\n", array[i][j]);

              while(i + 1 <= row - 1 && j - 1 >= 0)
              {
                      i = i + 1;
                      j = j - 1;
                      printf("%d\n", array[i][j]);
              }

              x = x + 1;
    }

    return 0;
}


int arr[100][100];
int row,col;
void bianli(int y,int x)//??x,y?????????
{
	for(;y<=row&&x>0;y++,x--)
	{
		cout<<*(*(arr+y)+x)<<endl;
	}
}
int main()
{
	cin>>row>>col;
	for(int i=1;i<=row;i++)
		for(int j=1;j<=col;j++)
			cin>>*(*(arr+i)+j);
	for(int i=1;i<=col;i++)//?????????
		bianli(1,i);
	for(int i=2;i<=row;i++)//?????
		bianli(i,col);
	return 0;
}


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

    return 0;
}


int main()
{
    int i,j,col,row,array[100][100];
    scanf("%d %d",&row,&col);
    for(i=0;i<row;i++){
       for(j=0;j<col;j++){
          scanf("%d",&array[i][j]);
          }
          }
    int cxx=0,csx,rxx=0,rsx;
    for(i=0;i<col;i++){
       csx=i;
       rxx=0;
       while(csx>=0&&csx<col&&rxx>=0&&rxx<row){
       printf("%d\n",array[rxx][csx]);
       csx--;
       rxx++;
       }
       }
    for(j=1;j<row;j++){
       rxx=j;
       csx=col-1;
       while(csx>=0&&csx<col&&rxx>=0&&rxx<row){
       printf("%d\n",array[rxx][csx]);
       csx--;
       rxx++;
       }
       }
    int t;
    scanf("%d",&t);
    return 0;
}


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


int main()
{
    int row,col;
    int i,j,sum,m,s;
    int A[100][100];
    scanf("%d%d",&row,&col);
    sum=row+col;
    for(i=1;i<=row;i++)
    {
       for(j=1;j<=col;j++)
       {
            scanf("%d",&A[i][j]);
       }
    }

    for(m=2;m<=sum;m++)
    {
       for(i=1;i<=row;i++)
       {
           s=m-i;
           if(s>col) continue;
            printf("%d\n",A[i][s]);
            if((m-i)==1)break;
       }
    }
    return 0;
}


int main()
{
	int n,m;
	int a[110][110];
	cin>>n>>m;
	for (int i=0;i<n;i++)
		for (int j=0;j<m;j++)
			cin>>a[i][j];
	for (int j=0;j<m+n-1;j++)
		for (int i=max(0,j-m+1);i<min(n,j+1);i++)
			cout<<a[i][j-i]<<endl;
	return 0;
}


/*
 * bianlishuzu.cpp
 *
 *  Created on: 2013-12-6
 *      Author: ???
 */
int main()
{
	int row=0,col=0,i=0,j=0;
	int a[100][100];
	cin>>row>>col;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>*(*(a+i)+j);
	int sum=0;
	for(sum=0;sum<row+col-1;sum++)
	{
		if(sum<col)
		{
			for(i=0,j=sum;i<row&&i<=sum;i++,j--)
				cout<<*(*(a+i)+j)<<endl;
		}
		else
		{
			for(j=col-1,i=sum-col+1;i<row&&j>=0;j--,i++)
				cout<<*(*(a+i)+j)<<endl;
		}
	}
	return 0;
}


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


int main()
{
	int row,col,i,j,ji;
	int su[100][100];
	int h=0,l=0,sum,shibie;
	scanf("%d %d",&row,&col);
	for(i=0;i<row;i++){
		for(j=0;j<col;j++){
			scanf("%d",&su[i][j]);
		}
	}
	ji=row*col;
	while(ji!=0){
		for(sum=0;sum<(row+col-1);sum++){
			if(sum<col){
				l=sum;
				h=0;
			}else{
				h=sum-col+1;
				l=col-1;
			}
			do{
			printf("%d\n",su[h][l]);
			ji--;
			l--;
			h++;
			}while((l>=0)&&(h<row));
		}
	}
	return 0;
}


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


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


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


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


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


int main()
{
	int row,col;
	int num[120][120];

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

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

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

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

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

	return 0;
}


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


int main()
{
int row,col,i,j;
int array[101][101];
cin>>row>>col;
for(i=1;i<=row;i++)
  for(j=1;j<=col;j++)
     cin>>*(*(array+i)+j);

for(i=1;i<=row+col-1;i++)
   for(j=0;j<=i;j++)
      if(i-j>0&&i-j<=col&&j+1<=row)
	  cout<<*(*(array+j+1)+i-j)<<endl;
return 0;

}


int max(int a,int b)
{
	if(a>=b)
	{
		return a;
	}
	else
	{
		return b;
	}
}
int min(int a,int b)
{
	if(a<=b)
	{
		return a;
	}
	else
	{
		return b;
	}
}
int main()
{
	int a[100][100];
	int hang,lie;
	int i,j,k;
	scanf("%d%d",&hang,&lie);
	for(i=0;i<=hang-1;i++)
	{
		for(j=0;j<=lie-1;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(k=0;k<=hang+lie-2;k++)
	{
		   for(i=max(0,k-lie+1);i<=min(hang-1,k);i++)
		   {
			   printf("%d\n",a[i][k-i]);
		   }
	}
	return 0;
}


int main()
{

	int col,row,sz[100][100];
	cin>>row>>col;
		int l,m;
	for(l=0;l<row;l++)
	{
		for(m=0;m<col;m++)
		{
			cin>>sz[l][m];
		}
	}
	int i,j,k;

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

			}
		}
	}

	return 0;
}


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


/*
 * 1028-1.cpp
 *
 *  Created on: 2011-11-3
 *      Author: Administrator
 */
int main (){
	int col,row,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(k=0;k<col;k++)
		for(i=0,j=k;(i<row)&&(j>=0);i++,j--)
			cout<<a[i][j]<<endl;
	for(k=1;k<row;k++)
			for(i=k,j=col-1;(i<row)&&(j>=0);i++,j--)
				cout<<a[i][j]<<endl;

	return 0;

}


void main()
{
int i,j,a[100][100],row,col,t=0,flag=0,max;
scanf("%d %d",&row,&col);
for(i=0;i<row;i++){for(j=0;j<col;j++)scanf("%d",&a[i][j]);}
max=(row>col)?row:col;
for(i=0,j=0;;)
{
	if(i<row&&j<col)printf("%d\n",a[i][j]);
	if(i==max-1&&j==max-1)break;
	if(flag==0)
	{
		if(j==0&&i==max-1){flag=1;t=max;j=max-1;}
		else if(j==0){t=t+1;j=t;}
		else j=j-1;
	}
	else
	{
		if(i==max-1){t=t+1;j=max-1;}
		else j=j-1;
	}
	i=t-j;
}
}


int main()
{
   int m,n;
   cin>>m>>n;
   int a[m][n];

   for(int i=0;i<m;i++)
     for(int j=0;j<n;j++)
       cin>>a[i][j];
   int (*p)[n]=a;
   int sum=0;
   while(1)
   {
    if(sum==m+n-1) break;
    else if(sum<=n-1)
      {
       for(int i=0;i<=sum;i++)
         {
          if(i>m-1) break;
          cout<<*(*(p+i)+sum-i)<<endl;
          }
         sum++;
       }
    else
      {
       for(int i=sum+1-n;i<=sum;i++)
         {
          if(i>m-1) break;
          cout<<*(*(p+i)+sum-i)<<endl;
         }
       sum++;
       }
    }

 return 0;
 }


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


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


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


int main(){
    int i,j,row,col,r,c,num,ro,co;
    int a[100][100];
    scanf("%d%d",&row,&col);
    for(i=1;i<=row;i++){
		for(j=1;j<=col;j++){
			scanf("%d",&a[i][j]);
			}
		}
	r=1;
	c=1;
	while(1){
		ro=r;
		co=c;
		while(1){
			printf("%d\n",a[ro][co]);
			ro++;
			co--;
			if(ro>row||co<=0){
				break;
				}
			}
		if(c==col&&r==row){
			break;
			}
		if(c<col){
			c++;
			}
		else{
			r++;
			}
		}
	return 0;
	}


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


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


/*
 * diag.cpp
 *
 *  Created on: 2013-12-6
 *      Author: ???1300012996
 */
int main(){
	int row,col;cin>>row>>col;
	int i;int a[10010],*p=a;
	for(i=0;i<row*col;i++){cin>>*p;p++;}
	p=a;
    for(int c=0;c<row+col;c++){
    	for(i=c;i>=0;i--){
    		if(i<col&&c-i<row){cout<<*(p+i+(c-i)*col)<<endl;}
    	}
    }
	return 0;
}


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


int main()
{
    int m,n;
    cin >> m >> n;
    int array[m+1][n+1];
    for(int i = 1; i <= m; ++i)
            for(int t = 1; t <= n; ++t)
            cin >> array[i][t];
    int sum = 1;
    int x[3] = {0,0,1};
    int y[3] = {0,1,0};
    int dx = 1, dy = 1, k = 1;
    int tx,ty;
    while(sum <= m*n)
    {
              int xx = dx, yy = dy;
              for(;;)
              {
                     if(xx > m || yy < 1) break;
                     cout << array[xx][yy] << endl;
                     xx = xx + 1, yy = yy - 1;
                     sum++;
              }
              tx = dx + x[k], ty = dy + y[k];
              if(ty > n)
              {
                    k++;
                    tx = dx + x[k], ty = dy + y[k];
              }
              dx = tx, dy = ty;
    }
    //while(1);
    return 0;
}


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


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


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


int ROW,COL;
int row=-1,col=1;
int array[100][100];
int move(){
	row++;
	col--;
	printf("%d\n",array[row][col]);
	return 0;
}
int big_move(){
	if(row+col<COL-1){
		col=row+col+1;
		row=0;
	}
	else{
		row=row+col-COL+2;
		col=COL-1;
	}
	printf("%d\n",array[row][col]);
	return 0;
}
int main(){
	scanf("%d%d",&ROW,&COL);
	int r,c;
	for(r=0;r<ROW;r++){
		for(c=0;c<COL;c++){
			scanf("%d",&array[r][c]);
		}
	}
	if (ROW==1&&COL==1){
		printf("%d",array[0][0]);
		return 0;
	}
	while(row!=ROW-1||col!=COL-1){
		while(col!=0&&row!=ROW-1)
			move();
		big_move();
	}
	return 0;
}


int main() {
	int row, col, a[200][200];
	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 <= row+col-2; i ++)
		for(int j = 0; j <= i && j < row && (i-j)<col; j ++)
			cout << *(a[j] + (i-j)) << endl;
	for(int k = col; k <= row + col -2; k ++)
		for(int q = col-1; q >= k-row+1&& q>=0;q --)
			cout << *(a[k-q] + q)<<endl;
	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)+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	array[99][99];
   int  row,col,i,j,t=0;
   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<=row+col-2;t++)
   {if(t<col)
   {
	   for(i=0;i<=t&&i<=row-1;i++)
	   {
			  printf("%d\n",array[i][t-i]);
	   }
   }
   else{
	   for(i=t+1-col;i<=t&&i<=row-1;i++)
		   printf("%d\n",array[i][t-i]);
   }
   }
   return 0;
}


/*
 * ??????????.cpp
 *
 *  Created on: 2012-12-28
 *      Author: i
 */
int a[100][100]={0},n=0,m=0,i=0,j=0;
void bianli(int hang,int lie){
	if(lie==0||hang==n-1)cout<<a[hang][lie]<<endl;
	else{
		cout<<a[hang][lie]<<endl;
		bianli(hang+1,lie-1);
	}
}
int main(){
	cin>>n>>m;
	for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			cin>>a[i][j];
		}
	}
	for(i=0;i<m;i++){
		bianli(0,i);
	}
	for(i=1;i<n;i++){
		bianli(i,m-1);
	}
	return 0;
}


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


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

	for(int i=0;i<col;i++)
	{
		int r=0;
		int c=i;
		while(r<=row-1&&c>=0)
		{
			cout<<*((*(aa+r))+c)<<endl;
			r=r+1;
			c=c-1;
		}
	}
	for(int i=1;i<row;i++)
	{
		int r=i;
		int c=col-1;
		while(r<=row-1&&c>=0)
		{
			cout<<*((*(aa+r))+c)<<endl;
			r=r+1;
			c=c-1;
		}
	}

	return 0;
}


void main()
{
	void paixu(int a[][100],int x,int y);
	int i,j,a[100][100],col,row;
	scanf("%d%d",&row,&col);
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			scanf("%d",&a[i][j]);
	paixu(a,row,col);
}

void paixu(int a[][100],int x,int y)
{
	int sum=0,i,j,k;
	k=x+y;
	for(sum=0;sum<=k;sum++){
		for(i=0;i<=sum;i++){
			j=sum-i;
			if(i<x&&j<y)
				printf("\n%d",a[i][j]);
		}
	}
}


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


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


/*
 * Filename:homework_duijiaoxian.cpp
 * Author: Wu Yiming
 *  Created on: 2011-10-31
 * Function: print it along duijiaoxian
 */

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

}


/*
 * bianlishuzu.cpp
 *
 *  Created on: 2013-12-6
 *      Author: ???
 */
int main()
{
	int row=0,col=0,i=0,j=0;
	int a[100][100];
	cin>>row>>col;
	for(i=0;i<row;i++)
		for(j=0;j<col;j++)
			cin>>a[i][j];
	int sum=0;
	for(sum=0;sum<row+col-1;sum++)
	{
		if(sum<col)
		{
			for(i=0,j=sum;i<row&&i<=sum;i++,j--)
				cout<<a[i][j]<<endl;
		}
		else
		{
			for(j=col-1,i=sum-col+1;i<row&&j>=0;j--,i++)
				cout<<a[i][j]<<endl;
		}
	}
	return 0;
}


int main() {
	int row, col;
	cin >> row >> col;
	int num[110][110] = {0};
	for(int i = 0 ; i < row; i++)
		for(int j = 0; j < col; j++) {
			cin >> *(*(num + i) + j);  // input part
		}
	for(int i = 0; i < col; i++) {  // begin from the first element of each line
		for(int j  = 0; j <= i; j++) {   // this part have j elements
			if(j < row) cout << *(*(num + j) + i - j) << endl;
			else break;
		}
	}
	for(int i = 1; i < row; i++)  {  // begin from the last element of each row
		for(int j = 0; j < row - i; j++) {
			if(j < col) cout << *(*(num + i + j) + col - j - 1) << endl;
		}
	}

	return 0;
}


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


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


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


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