#P2158. 逆序数对(zbrka)

逆序数对(zbrka)

【问题描述】

考虑一个由N个整数构成的数列,其中1到N都在数列中出现了恰好一次。 在这个数列中从左到右任取两个数,如果前者比后者大,那么这对数就是一个逆序对。而整个数列的逆序数就是其中所有逆序对的总数。例如,数列(1,4,3,2)的逆序数为3,因为存在三个逆序对:(4,3),(4,2)和(3,2)。 写一个程序,计算有多少长度为N的这种数列,使它的逆序数恰为C。

【输入格式】

输入包含两个整数N(1≤N≤1000)和C(1≤C≤10000)。

【输出格式】

计算出所求的答案,将它模1 000 000 007后输出。

【测试样例】

10 1
9
4 3
6
9 13
17957