아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

В поисках неизведанного

시간 제한2초메모리 제한1024 MB

요약
인접 리스트로 주어진 무향 단순 그래프에서 해밀턴 경로의 개수를 2로 나눈 나머지를 구한다.
난이도

보통10점 중 5점

유형
그래프, 동적 계획법, 비트 연산, 수학
정답자
아직 제출이 없습니다

문제

Диппер и Мэйбл решили еще раз обследовать Гравити Фолз. Надо сказать, что Гравити Фолз не сильно отличается по общему устройству от других городов --- он также представляет из себя совокупность домов, соединенных улицами. Причем для каждой пары домов существует не более одной улицы их соединяющей. Да и петель, то есть улиц, соединяющих дом с самим собой, тоже нет. Также известно, что если по улице можно добраться от дома А до дома В, то и от дома В до дома А можно добраться по этой же улице.

Сейчас Диппер и Мэйбл решили составить список маршрутов, которые бы посещали каждый дом ровно один раз. (То есть если в городе nn домов, то в маршруте будет ровно nn различных чисел --- номеров домов, и между любыми двумя соседними будет существовать одна улица). Диппер и Мэйбл считают два маршрута разными, если в них разные последовательности домов.

Список оказался довольно большим. К тому же Диппер и Мэйбл не уверены, что он правильный. Для того чтобы проверить выкладки, они хотели бы для начала знать количество таких путей. Без Вас им точно не обойтись!

입력

В первой строке входного файла дано натуральное число nn --- количество домов (1≤n≤10001 \le n \le 1000). Далее следуют nn строк. Каждая ii-ая строка задана в следующем формате: первое число в строке kk --- число соседних (то есть связанных улицей) домов для ii-го дома, далее перечислены kk различных чисел --- номера соседних с ii-ым домов.

출력

Выведите одно число --- количество вышеописанных маршрутов. Поскольку данное число может быть довольно большим, выведите его по модулю 22.

예제1

  1. 예제 1

    입력
    5
    3 2 3 5
    3 1 3 4
    4 1 2 4 5
    3 2 3 5
    3 1 3 4
    
    예상 출력
    0