AT_abc321_g [ABC321G] Electric Circuit
Description
[problemUrl]: https://atcoder.jp/contests/abc321/tasks/abc321_g
$ 1 $ から $ N $ までの番号が付けられた $ N $ 個の部品と $ M $ 本のケーブルを使って電気回路を作ろうとしています。 これらの部品には赤い端子と青い端子がそれぞれ合計で $ M $ 個ずつ存在し、$ i $ 個目の赤い端子は部品 $ R_i $ に、$ i $ 個目の青い端子は部品 $ B_i $ についています。 各ケーブルは赤い端子 $ 1 $ つと青い端子 $ 1 $ つを繋ぎます。 特に、同じ部品についた $ 2 $ つの端子を繋ぐことも許されます。 また、$ 1 $ つの端子に対して $ 2 $ 本以上のケーブルを繋げることはできません。 したがって、$ M $ 本のケーブルの繋ぎ方は全部で $ M! $ 通りあります(ケーブル同士は区別しないことに注意してください)。
部品を頂点、ケーブルを辺としたグラフとしてこの回路を見たときの連結成分数を $ s $ とします。 $ M $ 本のケーブルの繋ぎ方を $ M! $ 通りからランダムに選ぶときの $ s $ の期待値を $ \text{mod\ }\ 998244353 $ で求めてください。
期待値を $ \text{mod\ }\ 998244353 $ で求めるとは 求める期待値は必ず有理数となることが証明できます。 またこの問題の制約下では、その値を互いに素な $ 2 $ つの整数 $ P $, $ Q $ を用いて $ \frac{P}{Q} $ と表したとき、$ R\ \times\ Q\ \equiv\ P\pmod{998244353} $ かつ $ 0\ \leq\ R\ \lt\ 998244353 $ を満たす整数 $ R $ がただ一つ存在することが証明できます。 この $ R $ を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ R_1 $ $ R_2 $ $ \dots $ $ R_M $ $ B_1 $ $ B_2 $ $ \dots $ $ B_M $
Output Format
$ s $ の期待値を $ \text{mod\ }\ 998244353 $ で出力せよ。
Explanation/Hint
### 制約
- $ 1\leq\ N\ \leq\ 17 $
- $ 1\ \leq\ M\ \leq\ 10^5 $
- $ 1\ \leq\ R_i,\ B_i\ \leq\ N $
- 入力は全て整数
### Sample Explanation 1
$ i $ 個目の赤い端子と $ j $ 個目の青い端子をケーブルで繋ぐことを $ (i,\ j) $ と表記します。 - $ (1,1),\ (2,2) $ の場合:$ \lbrace\ 1,3\ \rbrace $ と $ \lbrace\ 2\ \rbrace $ という $ 2 $ つの連結成分ができるので、$ s=2 $ です。 - $ (1,2),\ (2,1) $ の場合:全体が $ 1 $ つの連結成分になるので、$ s=1 $ です。 よって、$ s $ の期待値は $ \frac{3}{2}\ \equiv\ 499122178\ \pmod\ {998244353} $ です。
### Sample Explanation 2
どのように繋いでも $ s=N $ になります。