友情提示:380元/半年,儿童学编程,就上码丁实验室。
【题目描述】
ztxz16做了个梦。梦中ztxz16住在一个类似数轴的街上,数轴上的每个整点是一个街区,ztxz16的家在原点。每个单位时间内ztxz16可以选择向左走一个街区或者向右走一个街区,ztxz16每次离家的时间不能超过$m$。
$n$个单位时间后ztxz16会醒来,他希望此时正好在家中。
ztxz16想知道有多少种不同的散步方案。两个散步方案被认为不同,当且仅当存在至少一个单位时刻ztxz16选择的走向不同。
【输入】
一行输入两个整数$n, m$。
【输出】
一行一个整数表示散步的方案数$bmod 10^9+7$。
【输入样例】
4 2
【输出样例】
4
【提示】
【样例输入2】
10 6
【样例输出2】
184
【数据规模与约定】
对于30%的数据,$2≤n≤100,2≤m≤100$。
对于100%的数据,$2≤n≤10^9,2≤m≤100$,保证$n$和$m$均为偶数。