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

Марсіанські тарілки

Марсіанські тарілки

У марсіанському ресторані усього \textbf{n} блюд, а святковий обід складається з \textbf{l} страв. При цьому деякі страви під час обіду можуть повторюватись, а деякі - не зустрічатиьс жодного разу. Тарілки під час обіду ставляться прямо одна на одну. Офіціант при необхідності виносить нові страви, або прибирає тарілки зі столу. При цьому ту тарілку, яку офіціант поставив раніше, він не може винести раніше - на ній стоять інші тарілки. Для деяких пар страв на Марсі є звичай - доки тарелка з-під однієї страви стоїть на столі, іншу страву виносити неможна (такиі пари називають незвичайними). Розкладом офіціанта називається порядок, у якому він виносить і прибирає тарілки (усього у рокладі \textbf{t = 2l} пунктів). Ваша задача - порахувати, скільки усього різних розкладів існує на Марсі, по модулю \textbf{p}. \InputFile У першому рядку вхідного файлу знаходиться число \textbf{p} (\textbf{2} ≤ \textbf{p} ≤ \textbf{10^4}) - модуль, \textbf{t} (\textbf{1} ≤ \textbf{t} ≤ \textbf{200}, \textbf{t} парне) - кількість пунктів у розкладі, \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10}) - кілбкість страв у ресторані та \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{100}) - кількість незвичайних пар. У наступних \textbf{m} рядках вказано номера страв \textbf{i} та \textbf{j} - це значить, що страву \textbf{j} не можна виносити, поки на столі тарілка з-під страви \textbf{i}. \OutputFile У вихідний файл виведіть кількість розкладів по модулю \textbf{p}.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
10000 4 1 0
Вихідні дані #1
2
Автор Dmitry Gozman
Джерело Dmitry Gozman Contest 1, Petrozavodsk training camp, January 2007