eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Перестановки з даною дистанцією

Перестановки з даною дистанцією

У Батхеда є \textbf{n} томів його улюбленої Енциклопедії Для Нерозумних Підлітків. Томи пронумеровані від \textbf{1} до \textbf{n} та виставлені у ряд. Він не любить строгого порядку, але також він не любить і суцільного хаосу. Батхед розраховує \textit{дистанцію} перестановки томів як суму різниць номера та позиції для всіх томів. Іншими словами, якщо перестановка має вигляд (\textbf{i_1}, \textbf{i_2}, ... \textbf{i_n}), де \textbf{i_k} (1 ≤ \textbf{k} ≤ \textbf{n}) означає номер тому на \textbf{k}-му місці, то ії дистанція дорівнює |\textbf{i_1}--1|+|\textbf{i_2}--2|+...+|\textbf{i_n}--\textbf{n}|. Улюблене число Батхеда дорівнює \textbf{d}, і він хоче виставити томи Енциклопедії так, щоб дистанція була рівна \textbf{d}. Скількома способами він може це зробити? \InputFile Перший рядок вводу містить кількість тестів \textbf{T} (\textbf{1} ≤ \textbf{T} ≤ \textbf{100}). Кожен з наступних \textbf{T} рядків містить дані для одного тесту: кількість томів \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{50}) і потрібну дистанцію \textbf{d} (\textbf{0} ≤ \textbf{d} ≤ \textbf{10000}), які відокремлені пропуском. Числа \textbf{n}, \textbf{d} -- цілі. \OutputFile Виведіть \textbf{T} рядків вигляду "\textbf{Case} #\textbf{A}: \textbf{B}", де \textbf{A} -- номер тесту (починаючи з \textbf{1}), \textbf{B} -- кількість перестановок \textbf{n} томів з дистанцією \textbf{d}, взятих за модулем \textbf{100007}.
Ліміт часу 0.5 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
5
2 0
2 2
4 1
4 2
4 6
Вихідні дані #1
Case #1: 1
Case #2: 1
Case #3: 0
Case #4: 3
Case #5: 9