Шляхи
Прямокутне поле складається з N рядків та M стовбців. Ігрова фішка за один хід може переміститись з клітинки одного стовбчика на одну з клітинок наступного стовбця. Для кожної клітинки поля відомі номери рядків клітинок наступного стовбчика на які фішка може зробити хід. Фішка не може піти на клітинку, на якій вона вже була раніше.
На початку гри фішку встанавюють на довільну клітинку першого стовбця. Після цього фішка починає рухатись у сторону останнього стовбця. Коли фішка досягає останнього стовбця, її знову встанавлюють на довільну клітинку першого стовбця, яка не була відвідана раніше, і знову відновлюють їїї рух.
Гра завершується коли фішка не може зробити хід.
Напишіть програму WAYS, яка за числами N, M (1 ≤ N ≤ 50, 2 ≤ M ≤ 10), та таблиці переходів між клітинками визначає яку найбільшу кількість разів можна провести фішку від першого до останнього стовбця ігрового поля.
Вхідні дані
У першому рядку вхідного файла знаходяться числа N та M. Далі йде M-1 блоків по N рядків у кожному — опис можливих переходів для кожної клітинки поля. Кожен i–ий рядок j–го блоку описує можливі переходи з клітинки у i–му рядку та j–му стовбці ігрового поля. Перше число в рядку задає кількість можливих переходів з клітинки, після чого йдуть номери рядків наступного стовбця за зростанням та без повторень.
Вихідні дані
У єдиному рядку вихідного файлу повинно знаходитись ціле число, яке відповідає шуканій кількості шляхів (Відповідь може бути 0, якщо ні з однієї клітинки першого стовбця не можна досягнути жодної клітинки останнього).
Для наведеного прикладу вхідних даних фішку можна провести 3 рази, наприклад, по таким маршрутам: (1→3→3), (2→4→4) и (4→2→2).