У цій задачі вам дано сітку розміру R \!\times\! C (1 \leq R \leq 10^9 і 1 \leq C \leq 10). У сітці розміщено блоків (0 \leq B \leq 100). Кожен блок займає одну клітинку, причому в одній клітинці може бути кілька блоків.
Вам також дано однакових фішок. Ви можете розмістити ці фішки у першому рядку довільним чином. Жодна клітинка не може містити більше однієї фішки, і ви не можете розмістити фішку в клітинці, яка вже зайнята блоками. Після розміщення фішок ви можете їх переміщувати згідно з такими правилами:
Якщо фішка знаходиться у клітинці , її можна перемістити до (r{+}1, c{-}1) або (r{+}1, c{+}1).
Фішку не можна перемістити в клітинку, зайняту блоком.
Фішку не можна перемістити за межі сітки.
Дві або більше фішок не можуть бути переміщені в одну і ту ж клітинку.
Всі фішки мають бути переміщені в -й рядок перед тим, як хоча б одна фішка зможе перейти у -й рядок.
Нехай S = \{(1, c_1), (1, c_2), \ldots, (1, c_M)\} — це множина клітинок, у які ви розмістили фішок. Позначимо через кількість способів перемістити ці фішки до останнього рядка, дотримуючись наведених вище правил. Знайдіть суму для всіх можливих .
Для R = 2, C = 2, M = 1 та B = 0 відповідь — 2.

У першому рядку міститься кількість тестових випадків 1 \leq T \leq 500. Для кожного тестового випадку у першому рядку містяться , і (1 \leq R \leq 10^9, 1 \leq C \leq 10, 0 \leq M \leq C). У другому рядку записано (0 \leq B \leq 100). Далі йде рядків, кожен з яких містить два цілих числа та (1 \leq r \leq R, 1 \leq c \leq C), що задають позицію кожного блоку.
Для кожного тестового випадку виведіть відповідь в окремому рядку. Оскільки відповідь може бути дуже великою, виведіть її за модулем 12345.
Приклад 1