高维正方体

题目描述

0维空间的元素是点,这个毋庸置疑。 2个0维空间的元素可以围成一个1维空间的元素,线段。 4个1维空间的元素可以围成一个2维空间的元素,正方形。 6个2维空间的元素可以围成一个3维空间的元素,正方体。 8个3维空间的元素可以围成一个4维空间的元素,超正方体。 …… 一个正方形中,有4个(顶)点,4条线段(边),1个正方形。 一个正方体中,有8个(顶)点,12条线段(棱),6个正方形(面),1个正方体。 …… 我们的问题是:给出a与b,请求出:在a维空间的元素中,包含着多少个b维空间的元素。答案可能很大,只需要输出它除以1000000007的余数。

输入输出格式

输入格式


两个整数a,b,以空格隔开。

输出格式


一个整数,即答案。

输入输出样例

输入样例 #1

3 1

输出样例 #1

12

说明

对于100%的数据,a,b≥0。 对于5%的数据,a,b≤1;对于10%的数据,a,b≤2;对于20%的数据,a,b≤3;对于35%的数据,a,b≤4。 对于70%的数据,a,b≤1000;对于100%的数据,a,b≤100000。 对于15%的数据,b=0;对于各10%的数据,b=1或b=2。 样例解释 3维空间的元素是正方体,1维空间的元素是线段。所求即是一个正方体中棱的数量,为12。 不保证a≥b