3699: 我们爱数数

内存限制:256 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

TankEngineer 的家里有一张圆桌,每个位置按顺时针从 1 到 N 编号,差的绝对值为 1 的两个位置 相邻。特别的,编号为 N 的位置与编号为 1 的位置相邻。  

他的家里某天来了 N 个人,编号从 1 到 N。如果编号为 i 的人坐到了编号为 i 的位置或坐到了与编号为i的位置相邻的位置,这个人就会感到开心,反之这个人会感到沮丧。  

于是 TankEngineer 想知道,有多少种安排坐位的方法,使所有人都入座,并且使得至少 K 个人开心。

输入

第一行,包含两个整数 N, K

输出

第一行,包含一个整数,表示合法方案的数量。因为数值太大,你只需要输出结果除以 (109 + 7) 的 余数。

样例输入 复制

4  4

样例输出 复制

9

提示

【样例解释】         

{1,2,3,4},{1,2,4,3},{1,3,2,4},{2,1,3,4},{2,1,4,3},{2,3,4,1},{4,1,2,3},{4,2,3,1},{4,3,2,1}9种。

数据范围与约定

对于20%的数据:3 <= K <= N <= 10。

对于另外40%的数据:3 <= K <= N <= 20。

对于100%的数据:3 <= K <= N <= 1000。