Безладний іспит
Першим завданням на іспиті з Структур даних і Алгоритмів був список із n понять та другий список із n визначень. Студенту потрібно було зіставити кожне поняття з його визначенням. На жаль, Джо, який написав програму на Visual BASIC в університеті і вважав, що знає Комп'ютерні науки, навіть не відвідував заняття і не читав підручник. Він просто вгадував відповідності. Нехай S(n, k) - це кількість способів, якими Джо може відповісти на запитання, зробивши щонайменше k перших зіставлень невірними.
Напишіть програму, яка обчислить S(n, k).
Вхідні дані
Перший рядок містить кількість тестів p (1 ≤ p ≤ 1000).
Кожен тест складається з одного рядка і містить три цілі числа. Перше число - номер тесту. Друге - кількість n (1 ≤ n ≤ 17) понять, яке буде задіяне в запитанні. Третє число k (0 ≤ k ≤ n) - кількість початкових відповідностей, які будуть невірними.
Вихідні дані
Для кожного тесту виведіть в окремому рядку номер тесту, пробіл, і значення S(n, k).