Стиснутий статус#2823

Стиснутий статус

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

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

Ваше завдання — визначити, скільки різних оригінальних закодованих статусних повідомлень могло привести до даного стиснутого повідомлення. Оскільки це число може бути дуже великим, виведіть відповідь по модулю (0xfaceb00c у шістнадцятковій системі).

Наприклад, якщо стиснуте повідомлення — це , то початкове повідомлення могло бути або . Довжина стиснутих повідомлень знаходиться у межах від до символів включно.

Вхідні дані

Перший рядок містить одне ціле число (1 \le N \le 25) — кількість стиснутих статусних повідомлень, які потрібно проаналізувати. Кожен з наступних рядків містить ціле число (2 \le M \le 255), найбільший код символу у базі, а також стиснуте повідомлення. Усі елементи у вхідних даних розділені пробілами. Гарантується, що довжина кожного стиснутого повідомлення .

Вихідні дані

Для кожного тесту, у порядку від до , виведіть рядок Case #i:, а потім одне ціле число — кількість різних закодованих статусних повідомлень, які могли б відповідати цій стиснутій послідовності. Якщо жодне повідомлення не можливе, виведіть .

Приклади

Приклад 1

Loading
Loading