問題文
N 頂点 M 辺の無向グラフが与えられます。 頂点は頂点 1 ,頂点 2 , ldots ,頂点 N、辺は辺 1 ,辺 2 , ldots ,辺 M と番号付けられており、特に辺 i (1leqileqM) は頂点 Ui と頂点 Vi を結んでいます。 また、このグラフは単純であることが保証されます。すなわち、自己ループや多重辺は存在しません。
このグラフの M 本の辺すべてに向き付けをする方法は 2M 通り考えられますが、 そのうち、どの頂点についても、その頂点から他の頂点に向かう辺がちょうど 1 本ずつ存在するような向き付けの方法は何通りありますか。 答えは非常に大きくなる可能性があるので、998244353 で割った余りを出力してください。
制約
- 2leqNleq2times105
- 1leqMleq2times105
- 1leqUi,VileqN
- UineqVi
- 入力は全て整数である。
- 与えられるグラフは単純である。
入力
入力は以下の形式で標準入力から与えられる。
N M
U1 V1
U2 V2
vdots
UM VM
出力
答えを出力せよ。
入力例 1
3 3
1 2
1 3
2 3
出力例 1
2
条件をみたす辺の向き付けの方法は、
- 1rightarrow2 , 2rightarrow3 , 1leftarrow3
- 1leftarrow2 , 2leftarrow3 , 1rightarrow3
の 2 通りです。
入力例 2
2 1
1 2
出力例 2
0
すべての頂点から 1 本ずつ辺が出ているようにすることは明らかに不可能です。
入力例 3
7 7
1 2
2 3
3 4
4 2
5 6
6 7
7 5
出力例 3
4