РСОП XXXI 2019 18

C. SCRAMBLED SEQUENCES 107

Условие


ЗАДАЧА C. ОБЪРКАНИ РЕДИЦИ
---
Дадена е редица от N цели числа, всяко от които е между 1 и N, включително, и се среща точно един път в нея. Казваме, че наредена двойка от две различни числа в редицата е объркана, ако първото число на двойката, което се среща по-рано в редицата, е по-голямо от второто. Объркване на редицата наричаме броя на обърканите двойки в нея. Например, объркването на редицата 1, 4, 3, 2 е 3, защото има 3 объркани двойки: (4, 3), (4, 2) и (3, 2). Напишете програма, която изчислява броя на редиците с дължина N, чието объркване е равно на зададено число M.

На първия ред на стандартния вход ще бъде зададен броят Т на тестовете, които програмата трябва да обработи. За всеки тестов пример, на един ред на входа ще бъдат зададени двете цели числа N и M (1 ≤ N ≤ 1000, 0 ≤ M ≤ 10000).

За всеки тестов пример програмата трябва да изведе на отделен ред на стандартния изход намерения брой редици по модул 1 000 000 007.

Примерен вход:
3
10 1
4 3
9 13	

Примерен изход:
9
6
17957