AT_abc179_d [ABC179D] Leaping Tak

Description

[problemUrl]: https://atcoder.jp/contests/abc179/tasks/abc179_d 一列に並んだ $ N $ マスから成るマス目があり、マスには左から順番に$ 1,\ 2,\ \ldots,\ N $ の番号がついています。 このマス目で暮らしている高橋君は、現在マス $ 1 $ にいて、後述の方法で移動を繰り返してマス $ N $ へ行こうとしています。 $ 10 $ 以下の整数 $ K $ と、共通部分を持たない $ K $ 個の区間 $ [L_1,\ R_1],\ [L_2,\ R_2],\ \ldots,\ [L_K,\ R_K] $ が与えられ、これらの区間の和集合を $ S $ とします。ただし、区間 $ [l,\ r] $ は $ l $ 以上 $ r $ 以下の整数の集合を表します。 - マス $ i $ にいるとき、$ S $ から整数を $ 1 $ つ選んで ($ d $ とする)、マス $ i\ +\ d $ に移動する。ただし、マス目の外に出るような移動を行ってはならない。 高橋君のために、マス $ N $ に行く方法の個数を $ 998244353 $ で割った余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ K $ $ L_1 $ $ R_1 $ $ L_2 $ $ R_2 $ $ : $ $ L_K $ $ R_K $

Output Format

高橋くんがマス $ 1 $ からマス $ N $ に行く方法の個数を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 1 \leq\ K\ \leq\ \min(N,\ 10) $ - $ 1\ \leq\ L_i\ \leq\ R_i\ \leq\ N $ - $ [L_i,\ R_i] $ と $ [L_j,\ R_j] $ は共通部分を持たない ($ i\ \neq\ j $) - 入力はすべて整数である ### Sample Explanation 1 集合 $ S $ は 区間 $ [1,\ 1] $ と区間 $ [3,\ 4] $ の和集合であり、$ S\ =\ \{\ 1,\ 3,\ 4\ \} $ です。 マス $ 5 $ へ移動する方法は次の $ 4 $ 通りが考えられます。 - マス $ 1,\ 2,\ 3,\ 4,\ 5 $ の順に移動する。 - マス $ 1,\ 2,\ 5 $ の順に移動する。 - マス $ 1,\ 4,\ 5 $ の順に移動する。 - マス $ 1,\ 5 $ の順に移動する。 ### Sample Explanation 2 $ S\ =\ \{\ 3,\ 5\ \} $ であり、そもそもマス $ 5 $ にたどり着けないので $ 0 $ を出力してください。 ### Sample Explanation 4 $ 998244353 $ で割った余りを出力することに注意してください。