AT_arc184_d [ARC184D] Erase Balls 2D
Description
[problemUrl]: https://atcoder.jp/contests/arc184/tasks/arc184_d
$ 2 $ 次元平面上に $ 1 $ から $ N $ までの番号のついた $ N $ 個のボールがあり、ボール $ i $ は点 $ (X_i,\ Y_i) $ にあります。ここで、 $ X\ =\ (X_1,\ X_2,\ \dots\ ,X_N),\ Y\ =\ (Y_1,\ Y_2,\ \dots\ ,Y_N) $ はそれぞれ $ (1,\ 2,\ \dots\ ,N) $ の順列です。
あなたは以下の操作を好きなだけ行うことができます。
- 残っているボールを $ 1 $ つ選ぶ。選んだボールを $ k $ とする。今残っている全てのボール $ i $ について、「$ X_i\ \ Y_k $」を満たすならばボール $ i $ を取り除く。
操作をした後に残っているボールの集合としてあり得るものの個数を $ \text{mod\ }\ 998244353 $ で出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X_1 $ $ Y_1 $ $ X_2 $ $ Y_2 $ $ \vdots $ $ X_N $ $ Y_N $
Output Format
答えを $ 1 $ 行に出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 300 $
- $ X,\ Y $ はそれぞれ $ (1,\ 2,\ \dots\ ,N) $ の順列
### Sample Explanation 1
操作後に残っているボールの集合として、 $ \{1,\ 2,\ 3\},\ \{1,\ 3\},\ \{1,\ 2\} $ があり得ます。