찻집
시간 제한8초메모리 제한1024 MB
도로를 따라 놓인 n개 찻집의 순서 가운데 m개의 기록을 모두 만족하는 순서의 수를 998244353으로 나눈 나머지로 구합니다.
문제
옛날 요코하마의 동서로 뻗은 도로 한쪽에 여러 채의 찻집(chaya)이 있었다. 찻집의 총 개수는 알려져 있지만, 각 찻집의 위치 정보는 완전히 유실되었다고 여겨졌다.
최근 요코하마의 옛 도시 풍경을 기록한 문서가 발견되었다. 이 문서에는 찻집의 위치 순서에 관한 기록이 여러 개 담겨 있다. 각 기록은 찻집 세 곳 , , 의 위치 순서에 대한 정보를 담고 있으며, 내용은 다음과 같다.
찻집 는 찻집 와 사이에 있었다. 와 사이, 또는 와 사이에 다른 찻집이 있었을 수 있다. 또한 찻집 는 의 동쪽에 있었을 수도, 서쪽에 있었을 수도 있다.
발견된 문서의 모든 기록과 일치하는 도로 위 찻집의 순서가 몇 가지인지 구하라. 기록에 오류가 있을 수 있으므로, 기록과 일치하는 순서가 하나도 없을 수도 있다.
입력
입력은 다음 형식으로 주어지는 하나의 테스트 케이스이다.
여기서 은 찻집의 수, 은 문서에 있는 기록의 수이다. 이고 이다. 찻집은 1부터 까지 번호가 매겨져 있다.
이후 개의 줄은 각각 기록 하나를 나타낸다. 번째 줄에는 1 이상 이하의 서로 다른 정수 , , 가 주어진다. 이는 찻집 가 찻집 와 사이에 있었다는 뜻이다. 서로 다른 두 기록 , 에 대해 는 나 와 같지 않다. 즉, 같은 기록이 중복으로 주어지지 않는다.
출력
기록과 모두 일치하는, 동쪽에서 서쪽 방향의 찻집 순서가 몇 가지인지 으로 나눈 나머지를 한 줄에 출력한다. 은 소수이다.
힌트
예제 입력 1에서는 , , , 네 가지 순서가 기록과 일치한다.
예제 입력 2에서는 기록과 일치하는 순서가 없다.