Марсианские тарелки
В марсианском ресторане всего n блюд, а праздничный обед состоит из l блюд. При этом некоторые блюда во время обеда могут повторяться, а некоторые - не встречаться ни разу. Тарелки во время обеда ставятся прямо друг на друга. Официант при необходимости выносит новые блюда, либо убирает тарелки со стола. При этом ту тарелку, которую официант поставил раньше, он не может унести раньше - на ней стоят другие тарелки. Для некоторых пар блюд на Марсе есть обычай - пока тарелка из-под одного блюда стоит на столе, другое блюдо выносить нельзя (такие пары называют необычными). Расписанием официанта называется порядок, в котором он выносит и убирает тарелки (всего в расписании t = 2l пунктов).
Ваша задача - посчитать, сколько всего различных расписаний существует на Марсе, по модулю p.
Входные данные
В первой строке входного файла находится число p (2 ≤ p ≤ 10^4) - модуль, t (1 ≤ t ≤ 200, t четно) - количество пунктов в расписании, n (1 ≤ n ≤ 10) - количество блюд в ресторане и m (1 ≤ m ≤ 100) - количество необычных пар. В последующих m строках указаны номера блюд i и j - это значит, что блюдо j нельзя выносить, пока на столе тарелка из-под блюда i.
Выходные данные
В выходной файл выведите количество расписаний по модулю p.