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 java.util.*;
import java.io.*;
public class C80
{
	public static void main(String [] args)   
	{
		MyScanner sc = new MyScanner();
	    PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));
	    int n = sc.nextInt();
	    int m = sc.nextInt();
	    long [][] dec = new long [m + 1][n + 1];
	    long [][] inc = new long [m+1][n+1];
	    long mod =(long) 1e9+7;
	    inc[0][0] = 1;
	    for (int i = 1; i <= m; i++)
	    {
	    	for (int j = 1; j <= n; j++)
	    	{
	    		for (int k = j; k >= 0; k--)
	    		{
	    			inc[i][j] = (inc[i][j] + inc[i - 1][k])%mod;
	    		}
	    	}
	    }
	    
	    dec[0][n] = 1;
	    
	    for (int i = 1; i <= m; i++)
	    {
	    	for (int j = 1; j <= n; j++)
	    	{
	    		for (int k = j; k <= n; k++)
	    		{
	    			dec[i][j] = (dec[i][j] + dec[i - 1][k])%mod;
	    		}
	    	}
	    }
	    
	    long ans = 0;
	    for (int i = 0; i <= n; i++)
	    {
	    	for (int j = i; j <= n; j++)
	    	{
	    		ans = (ans + (inc[m][i]%mod * dec[m][j]%mod)%mod)%mod;
	    	}
	    }
	    
	    out.println(ans%mod);
	    out.close();
	}
		      
	   //-----------MyScanner class for faster input----------
	   public static class MyScanner
	   {
	      BufferedReader br;
	      StringTokenizer st;
	 
	      public MyScanner() {
	         br = new BufferedReader(new InputStreamReader(System.in));
	      }
	 
	      String next() {
	          while (st == null || !st.hasMoreElements()) {
	              try {
	                  st = new StringTokenizer(br.readLine());
	              } catch (IOException e) {
	                  e.printStackTrace();
	              }
	          }
	          return st.nextToken();
	      }
	 
	      int nextInt() {
	          return Integer.parseInt(next());
	      }
	 
	      long nextLong() {
	          return Long.parseLong(next());
	      }
	 
	      double nextDouble() {
	          return Double.parseDouble(next());
	      }
	 
	      String nextLine(){
	          String str = "";
		  try {
		     str = br.readLine();
		  } catch (IOException e) {
		     e.printStackTrace();
		  }
		  return str;
	      }
	      
	      

	   }
	   

}
