# 定义取模常数
MOD = 10**9 + 7

# 读取输入的n和m
n, m = map(int, input().split())

# 创建一个(n+1)x(m+1)的二维数组,索引从1开始使用
dp = [[0] * (m + 1) for _ in range(n + 1)]

# 初始化第一行和第一列
for i in range(1, n + 1):
    dp[i][1] = 1  # 第一列所有元素为1

for j in range(1, m + 1):
    dp[1][j] = 1  # 第一行所有元素为1

# 填充二维数组的其他位置
for i in range(2, n + 1):
    for j in range(2, m + 1):
        # 当前元素等于上方元素加左方元素,再取模
        dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % MOD

# 输出结果
print(dp[n][m])