d = []
def maze(chessboard,i,j): #i,j为当前位置
if(i == len(chessboard) - 1) and (j == len(chessboard[0]) - 1): #到达终点
d.append(1) #在d中插入一个1
return 0
else:
if(i != len(chessboard) - 1) and (chessboard[i + 1][j] == 0): #能够向下走
maze(chessboard,i + 1,j) #向下走
if(j != len(chessboard[0]) - 1) and (chessboard[i][j + 1] == 0): #能够向右走
maze(chessboard,i,j + 1) #向右走
while True:
try:
a,b = map(int,input().split())
c = []
for i in range(a + 1):
c.append([0]*(b+1)) #棋盘边缘的点都为0放在一个数组里
maze(c,0,0)
print(len(d)) #输出b的长度,代表到达终点有多少种方法
d = [] #重新输入新的棋盘之前要将d清空
except:
break