참가자 여러분, APLSPC에 오신 것을 환영합니다!
잘 알려져 있듯이, 대회 데이터는 대회 전날 밤에 만들어집니다.
불행히도, 대제(大帝)는 NFLSPC를 앞두고 그래프 이론 문제의 데이터를 검토하던 중, 악당 소 P가 모든 데이터의 첫 두 줄을 삭제했다는 사실을 발견했습니다.
손상된 데이터를 보며 대제는 데이터가 유효하도록 첫 두 줄을 복구하는 방법이 몇 가지인지, 그 수를 $998244353$으로 나눈 나머지를 구하고 싶어졌습니다.
대제는 대제이기에, 입력 파일을 당신에게 주어 이 문제를 해결하게 했습니다.
대제는 자비를 베풀어, 적어도 한 가지 이상의 유효한 복구 방법이 존재함을 보장하기로 했습니다.
주어진 여러 줄의 데이터를 바탕으로, 다음 조건을 만족하는 입력 데이터가 몇 가지인지 구하십시오.
- 해당 데이터에서 첫 두 줄을 삭제하면 주어진 여러 줄의 데이터와 일치한다.
- 해당 데이터는 원래 문제의 입력 형식을 완전히 만족한다.
원래 문제의 입력 형식은 다음과 같습니다.
첫 번째 줄에는 양의 정수 $T$가 주어지며, 이어서 $T$개의 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 두 양의 정수 $n, m$이 주어진다.
이어지는 $m$개의 줄에는 각각 두 양의 정수 $u, v\ (1\leq u, v\leq n)$가 주어지며, 이는 그래프를 나타낸다.
그래프는 연결되어 있지 않을 수 있으며, 다중 간선이나 자기 루프가 존재할 수 있다.
원래 문제의 데이터 범위는 다음과 같습니다.
$1\le T \leq 2\times 10^5$
$1\le n, m \leq 2\times 10^5$
입력 형식
여러 줄 (최대 $2\times 10^5$ 줄), 각 줄에는 두 개의 양의 정수가 주어진다.
출력 형식
복구 방법의 수를 $998244353$으로 나눈 나머지를 한 줄에 출력한다.
제한
모든 데이터에 대하여: 입력되는 모든 수는 $[1, 2\times 10^5]$ 범위 내에 있으며, 입력은 최대 $2\times 10^5$ 줄을 넘지 않는다.
예제
입력 1
2 1 1 1
출력 1
199999