Лампочки#1253

Лампочки

1 секунда
128 мегабайтів
Легка

Джон має лампочок і щиток з вимикачами. Кожна лампочка може бути увімкнена або вимкнена; натискання -го вимикача змінює стан лампочки (з увімкненої на вимкнену і навпаки). Він використовує цю установку для гри власного винаходу. За кожен хід Джон обирає деяку (можливо порожню) підмножину вимикачів і натискає їх, тим самим перемикаючи відповідні лампочки. Після рівно ходів Джон хоче, щоб перші лампочок світилися, а решта були вимкнені; якщо це не вдалося, він програє. Є лише одне обмеження: ту ж саму підмножину вимикачів не можна натискати у різних ходах.

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

Наприклад, якщо n = 4, m = 3, а v = 2, одним з можливих виграшних варіантів є натиснути вимикачі та у першому ході; та у другому; та і у третьому. Це вважається еквівалентним, наприклад, до першого натискання і , потім , а потім .

Вхідні дані

Містить не більше рядків, по одному на тестовий випадок. Кожен рядок містить три цілі числа (1 \leq n \leq 1000), (1 \leq m \leq 1000) та (0 \leq v \leq n). Останній рядок містить і не повинен оброблятися.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading