#include<stdio.h>
#include<string.h>
int flag[20][20],r,c,ff,scy;
int d[4][2]={-1,0,0,-1,1,0,0,1};
int dfs(int a,int b)
{
	int h,u,i,j,k;
	for(j=1,scy=1;j<=r;j++)
	{
		for(k=1;k<=c;k++)
		{
			if(!flag[j][k])
				scy=0;
		}
	}
	if(scy)
		return 1;
	for(i=0;i<4;i++)
	{
		h=a+d[i][0];
		u=b+d[i][1];
		if(h<1||h>c||u<1||u>r||flag[h][u])
			continue;
		else
		{
			flag[h][u]=1;
			if(dfs(h,u))
				return 1;
			else
				flag[h][u]=0;
		}
	}
	return 0;
}
int main()
{
	while(scanf("%d%d",&r,&c)!=EOF&&(r!=0||c!=0))
	{
		memset(flag,0,sizeof(flag));
		ff=dfs(1,1);
		if(ff)
			printf("yes\n");
		else
			printf("no\n");
	}
	return 0;
}