AT_aalc001_n 九九

Description

縦 $ N $ マス、横 $ N $ マスのグリッドがあります。上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と呼びます。 はじめ、マス $ (i,j) $ には整数 $ i \times j $ が書かれています。 次の操作を $ Q $ 回行います。 $ k $ 回目の操作では、 $ a_k \leq i \leq c_k $ かつ $ b_k \leq j \leq d_k $ を満たすすべてのマス $ (i,j) $ に書かれている整数をそれぞれ $ 0 $ で上書きします。 すべての操作を終えた後にグリッドの各マスに書かれている整数の総和を $ 998244353 $ で割った余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ Q $ $ a_1 $ $ b_1 $ $ c_1 $ $ d_1 $ $ a_2 $ $ b_2 $ $ c_2 $ $ d_2 $ $ \vdots $ $ a_Q $ $ b_Q $ $ c_Q $ $ d_Q $

Output Format

すべての操作を終えた後にグリッドの各マスに書かれている整数の総和を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### Sample Explanation 1 はじめ、グリッドの各マスに書かれている整数は次のようになっています。 ``` 1 2 3 2 4 6 3 6 9 ``` すべての操作を終えた後の各マスに書かれている整数は次のようになっています。 ``` 1 2 3 2 0 0 3 0 0 ``` ### Constraints - $ 1 \leq N \leq 2 \times 10^5 $ - $ 1 \leq Q \leq 2 \times 10^5 $ - $ 1 \leq a_k \leq c_k \leq N $ - $ 1 \leq b_k \leq d_k \leq N $ - 入力される数値はすべて整数