#2011. [HNOI2011]卡农

[HNOI2011]卡农

Background

Special for beginners, ^_^

Description

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

Format

Input

从文件input.txt中读入数据,输入文件仅一行,具体是用空格隔开的两个正整数n和m,分别表示音阶的数量和音乐中的片段数。20%的数据满足n,m≤5, 50%的数据满足n,m≤3000, 100%的数据满足n,m≤1000000。

Output

输出文件 output. txt 仅包含一个非负整数,表示音乐的种数模100000007 的结果。

Samples

2 3
1

Limitation

1s, 1024KiB for each test case.