AT_abc217_f [ABC217F] Make Pair

Description

[problemUrl]: https://atcoder.jp/contests/abc217/tasks/abc217_f $ 2N $ 人の生徒が一列に並んでおり、左から順に生徒 $ 1 $ , 生徒 $ 2 $ , $ \ldots $ , 生徒 $ 2N $ と番号が付いています。 $ 2N $ 人の生徒はどの $ 2 $ 人も互いに仲が良いか悪いかのどちらかであり、 具体的には $ 1\leq\ i\leq\ M $ について生徒 $ A_i $ と生徒 $ B_i $ の仲が良く、これら以外のどの $ 2 $ 人も仲が悪いです。 先生は以下の操作を $ N $ 回繰り返して、 $ 2 $ 人組のペアを $ N $ 組作ることにしました。 - 隣り合う $ 2 $ 人であって仲が良いような $ 2 $ 人をペアとして選び、列から抜く。 - 抜けた $ 2 $ 人が列の端でなかったならば、その後、列を詰める。すなわち、抜けた $ 2 $ 人の左右にいた $ 2 $ 人が新しく隣り合う。 このとき、 $ N $ 回の操作方法としてあり得るものの数を $ 998244353 $ で割った余りを求めてください。 ただし $ N $ 回の操作方法が異なるとは、ある $ 1\leq\ i\leq\ N $ が存在して、 $ i $ 回目の操作で 選ばれた $ 2 $ 人組がペアとして異なることをいいます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \vdots $ $ A_M $ $ B_M $

Output Format

操作方法としてあり得るものの数を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 200 $ - $ 0\ \leq\ M\ \leq\ N(2N-1) $ - $ 1\ \leq\ A_i\