C1132 [HNOI2011]卡农

内存限制:256 MB 时间限制:1000 ms

题目描述

众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则。他将声音分成 $n$ 个音阶,并将音乐分成若干个片段。音乐的每个片段都是由 $1$ 到 $n$ 个音阶构成的和声,即从 $n$ 个音阶中挑选若干个音阶同时演奏出来。为了强调与卡农的不同,他规定任意两个片段所包含的音阶集合都不同。同时为了保持音乐的规律性,他还规定在一段音乐中每个音阶被奏响的次数为偶数。现在的问题是:小余想知道包含 $m$ 个片段的音乐一共有多少种。两段音乐 $a$ 和 $b$ 同种当且仅当将 $a$ 的片段重新排列后可以得到 $b$。例如:假设 $a$ 为 $\{\{1,2\},\{2,3\}\}$,$b$ 为 $\{\{3,2\},\{2,1\}\}$,那么  $a$ 与 $b$ 就是同种音乐。由于种数很多,你只需要输出答案模  $100000007$(质数)的结果。

输入格式

一行,具体是用空格隔开的两个正整数 $n$ 和 $m$,分别表示音阶的数量和音乐中的片段数。

$20\%$ 的数据满足 $n,m≤5$,$50\%$ 的数据满足 $n,m≤3000$,$100\%$ 的数据满足 $n,m≤1000000$。

输出

仅包含一个非负整数,表示音乐的种数模 $100000007$ 的结果。

样例

样例输入 1

2 3

样例输出 1

1

提示

【样例解释】

音乐为 $\{\{1\},\{2\},\{1,2\}\}$。