You are given two integers n and m. Calculate the number of pairs of arrays (a, b) such that:

  * the length of both arrays is equal to m; 
  * each element of each array is an integer between 1 and n (inclusive); 
  * a_i ≤ b_i for any index i from 1 to m; 
  * array a is sorted in non-descending order; 
  * array b is sorted in non-ascending order. 



As the result can be very large, you should print it modulo 10^9+7.

Input

The only line contains two integers n and m (1 ≤ n ≤ 1000, 1 ≤ m ≤ 10).

Output

Print one integer – the number of arrays a and b satisfying the conditions described above modulo 10^9+7.

Examples

Input


2 2


Output


5


Input


10 1


Output


55


Input


723 9


Output


157557417

Note

In the first test there are 5 suitable arrays: 

  * a = [1, 1], b = [2, 2]; 
  * a = [1, 2], b = [2, 2]; 
  * a = [2, 2], b = [2, 2]; 
  * a = [1, 1], b = [2, 1]; 
  * a = [1, 1], b = [1, 1]. 
import sys
import math
import bisect
from sys import stdin, stdout
from math import gcd, floor, sqrt, log2, ceil
from collections import defaultdict as dd
from bisect import bisect_left as bl, bisect_right as br
from bisect import insort
from collections import Counter
from collections import deque
from heapq import heappush,heappop,heapify
from itertools import permutations,combinations
mod = int(1e9)+7
 
 
ip = lambda : int(stdin.readline())
inp = lambda: map(int,stdin.readline().split())
ips = lambda: stdin.readline().rstrip()
out = lambda x : stdout.write(str(x)+"\n")
 
t = 1
for _ in range(t):
    n,m = inp()
    dp = [[0]*m for i in range(n)]
    for i in range(n):
        dp[i][0] = 1
    for j in range(1,m):
        for i in range(n):
            ch = 0
            for k in range(i,-1,-1):
                ch += dp[k][j-1]
                ch %= mod
            dp[i][j] += ch
            dp[i][j] %= mod
    inc_dp = list(dp)
    
    dp = [[0]*m for i in range(n)]
    for i in range(n):
        dp[i][0] = 1
    for j in range(1,m):
        for i in range(n):
            ch = 0
            for k in range(i,n):
                ch += dp[k][j-1]
                ch %= mod
            dp[i][j] += ch
            dp[i][j] %= mod
    dec_dp = list(dp)

    ans = 0
    for i in range(n):
        for j in range(i,-1,-1):
            ans += (inc_dp[j][m-1]*dec_dp[i][m-1])%mod
            ans %= mod
    out(ans)
    
    
                
            
        
