#CF1288C. 两个数组

两个数组

题目描述

给定两个整数 nnmm,求满足以下所有条件的数组对 (a,b)(a,b) 的数量:

  1. 数组 aa 和数组 bb 的长度都等于 mm
  2. 两个数组中的每个元素都是 11nn 之间(包含边界)的整数;
  3. 对任意下标 i[1,m]i \in [1,m],满足 aibia_i \le b_i
  4. 数组 aa非递减顺序排列;
  5. 数组 bb非递增顺序排列。

答案可能很大,请输出答案对 109+710^9+7 取模的结果。

输入格式

仅一行,输入两个整数 n,mn,m1n1000, 1m101 \le n \le 1000,\ 1 \le m \le 10)。

输出格式

输出一个整数,表示满足所有条件的数组对数量,结果对 109+710^9+7 取模。

样例输入

2 2
10 1
723 9

样例输出

5
55
157557417

样例说明

第一个测试用例 n=2,m=2n=2,m=2,共有 55 组合法数组对:

  1. a=[1,1], b=[2,2]a=[1,1],\ b=[2,2]
  2. a=[1,2], b=[2,2]a=[1,2],\ b=[2,2]
  3. a=[2,2], b=[2,2]a=[2,2],\ b=[2,2]
  4. a=[1,1], b=[2,1]a=[1,1],\ b=[2,1]
  5. a=[1,1], b=[1,1]a=[1,1],\ b=[1,1]