Шифр#2728

Шифр

1 секунда
64 мегабайти
Складна

Шпигун використовує хитру техніку шифрування для кодування та декодування повідомлень. Ця техніка дуже ефективна, оскільки дозволяє йому надсилати й отримувати будь-яке повідомлення, незалежно від його довжини, використовуючи лише три числа!

Після багатьох зусиль Департамент національної безпеки зумів розгадати, як працює ця техніка:

  1. Насамперед, використовуються лише пробіл та малі англійські літери. Кожному символу надається ціле число, яке називається об'ємом символу: пробіл має об'єм , 'a' має об'єм , 'b' має об'єм і так далі, аж до 'z', яка має об'єм . Об'єм усього повідомлення — це сума об'ємів символів у повідомленні.

  2. Повідомлення складається з певної кількості слів . Слово — це послідовність підряд ідучих малих літер; у повідомленнях немає початкових або кінцевих пробілів, і між сусідніми словами є лише один пробіл.

  3. Для певних та нехай — це лексикографічно впорядкована множина повідомлень, які мають об'єм та складаються рівно з слів. Ми можемо посилатися на певне повідомлення, використовуючи його порядковий номер (нумерується з 1) у .

Отже, коли шпигун хоче надіслати повідомлення , він обчислює його об'єм і кількість слів , знаходить його індекс у відповідній множині (індекс серед усіх впорядкованих повідомлень об'єму з словами) і надсилає лише три числа: та !

Департамент національної безпеки доклав вже чималих зусиль, але відтепер вони потребують вашої допомоги для декодування повідомлень, які відправляє шпигун! Тобто, знаючи та , ви повинні розшифрувати повідомлення або визначити, що такого повідомлення не існує.

Вхідні дані

Перший рядок містить одне ціле число (1 \leq T \leq 200) — кількість тестових випадків. Кожен набір даних складається з рядка з трьома цілими числами: об'єм повідомлення (1 \leq V \leq 75), кількість слів (1 \leq W \leq 20) та індекс повідомлення (1 \leq I \leq 10^{18}).

Вихідні дані

Для кожного тесту виведіть один рядок з розшифрованим повідомленням, або "Corrupted!", якщо для заданих параметрів не існує жодного допустимого повідомлення.

Приклади

Приклад

Вхідні дані
2
7 2 3
2 1 2
Вихідні дані
aa a
Corrupted!

Приклад 1

Loading
Loading

Примітка

У першому тестовому випадку впорядкована множина повідомлень об'єму , які містять слова: \{\texttt{a\ aa},\ \texttt{a\ c},\ \texttt{aa\ a},\ \texttt{b\ b},\ \texttt{c\ a}\}; третім повідомленням є "aa a". У другому тестовому випадку впорядкована множина повідомлень об'єму , які містять слово: ; у множині лише одне повідомлення, а запитується індекс , — щось явно пішло не так!