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

Перезагрузка кактуса

Перезагрузка кактуса

Кактус - это связный неориентированный граф, в котором каждое ребро лежит не более чем на одном цикле. Интуитивно кактус - это обобщение дерева, в котором разрешены некоторые циклы. Вам следует найти диаметр заданного кактуса.

prb7586.gif

В приведенном кактусе кратчайшее расстояние между вершинами 6 и 12 проходит по 8 ребрам и является наибольшим кратчайшим путем в графе, поэтому его диаметр равен 8.

Входные данные

Первая строка содержит числа n и m (1n50 000, 0m10 000). Здесь n - количество вершин в графе. Вершины пронумерованы от 1 до n. Ребра заданы множеством реберно - непересекающихся путей, где m число таких путей.

Каждая из следующих m строк содержит путь в графе. Путь начинается числом ki (2ki1000), за которым следуют ki целых чисел от 1 до n. Эти ki чисел представляют вершины графа в пути. Соседние вершины в пути различны. Путь может проходить по одной вершине несколько раз, однако каждое ребро встречается только один раз. Мультиребера в графе отсутствуют (между любыми двумя вершинами существует не более одного ребра).

Граф в примере является кактусом.

Выходные данные

Вывести одно число - диаметр кактуса.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
15 3
9 1 2 3 4 5 6 7 8 3
7 2 9 10 11 12 13 10
5 2 14 9 15 10
Вихідні дані #1
8
Джерело 2007 ACM NEERC, Semifinals, November 28, Problem C