TankEngineer 根据 Prime Minister Rowdark 的计划在 ALU 的某座城市中被发现。但他凭借快速排序算法跑赢了试图抓捕他的特工,从而侥幸逃脱。然而,残忍的 Prime Minister Rowdark 将城中所有的萝莉聚集起来,并声称如果 TankEngineer 不在一天内向 ALU 自首,就将她们全部杀害。
TankEngineer 别无选择,他怎能将自己的生命看得比上千名萝莉的生命更重?毕竟,只要这世上还有可爱的萝莉和对她们的爱,就会有光,就会有希望,总有一天大家会明白这一点。于是,他在夜里向 ALU 自首了。
处决在城市广场举行。所有人都聚集在这里,观看一个喜欢参加 ICPC 比赛的“极度危险”的萝莉控的惨死。TankEngineer 即将被活活烧死。当火点燃时,他闭上了眼睛。
突然,他听到一个小萝莉在哭喊:“他救了我们!为什么要烧死他?”一滴泪水顺着他的脸颊滑落。“我希望他在处决时能跳到另一个地址!”
伴随着那强烈的愿望和一道明亮的圣光,TankEngineer 感到自己的身体被一阵大风托起,越升越高,直到他怀疑自己是否还活着。另一个声音爆发出来:“天哪,我到底为什么要在这种地方放一个跳转指令?!”
是伟大的先知 ftiasch!TankEngineer 意识到他凭借萝莉的愿望(或者是 ftiasch 施放失误的强大咒语?)跳出了 ALU 的世界,来到了另一个维度。但他必须迅速行动,否则他会跳到一个充满 bug 的奇怪地方!
快点!对于所有 $n$ 的排列 $P$,定义函数 $D(P) = \{x \mid P_x > P_{x+1}\}$。请在下一条指令生效前,通过计算有多少个排列满足 $(\sum_{x \in D(P)} x) = k$,来告诉 TankEngineer 他需要的地址!
输入格式
第一行包含两个整数 $n$ 和 $k$ ($1 \le n \le 400, 0 \le k \le \frac{n(n-1)}{2}$),分别表示排列的大小和上述常数。
输出格式
输出答案除以 $10^9 + 7$ 的余数。
样例
样例输入 1
5 5
样例输出 1
22
样例输入 2
10 10
样例输出 2
21670