#CF1288C. 两个数组

两个数组

两个数组

  • 时间限制:1 秒
  • 内存限制:256 MiB

题目描述

给定两个整数 n,mn,m,计算满足下列条件的数组对 (a,b)(a,b) 的数量:

  • 两个数组的长度均为 mm;
  • 每个元素都是 11 到 nn 之间的整数;
  • 数组 aa 非降,即 a1≤a2≤⋯≤ama_1\le a_2\le\cdots\le a_m;
  • 数组 bb 非升,即 b1≥b2≥⋯≥bmb_1\ge b_2\ge\cdots\ge b_m;
  • 对每个 1≤i≤m1\le i\le m,均有 ai≤bia_i\le b_i。

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

输入格式

一行包含两个整数 n,mn,m。

输出格式

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

样例输入 1

2 2

样例输出 1

5

样例输入 2

10 1

样例输出 2

55

样例输入 3

723 9

样例输出 3

157557417

数据范围

对于所有数据,1≤n≤10001\le n\le1000,1≤m≤101\le m\le10。

子任务编号 分值 特殊限制
1 30 n≤5n\le5 且 m≤4m\le4
2 m=1m=1
3 40 无特殊限制