AT_agc073_a [AGC073A] Chords and Checkered

Description

整数 $ L,K $ 及び長さ $ N $ の非負整数列 $ A=(A_1,A_2,\ldots,A_N) $ が与えられます. ここで, $ 2K < L $ 及び $ 0 \leq A_1 < A_2 < \cdots < A_N < L $ が保証されます. 周の長さが $ L $ の円を考えます. この円の適当な点を基準点としてとり,そこから円周上を距離 $ x $ だけ時計回りに進んだ場所を座標 $ x $ の点と呼ぶことにします. また,各 $ i $ ( $ 1 \leq i \leq N $ ) について, 座標 $ A_i $ の点と座標 $ A_i+K $ の点を結ぶ弦を考え,これを弦 $ i $ と呼ぶことにします. 弦の集合 $ s $ に対して,以下の手順で **スコア**を定めます. - $ s $ に含まれる弦をすべて描く.描いた弦によって円がいくつかの領域に分かれるので,それらを白と黒で塗る. まず円の中心が含まれる領域を白く塗り,残りの領域は,(長さ正の線分で)隣接する領域の色が異なるように塗る. このような塗り方は常に一意に存在することが証明できる. ここで黒く塗られた領域の個数をスコアとする. $ s $ としてあり得る集合は $ 2^N $ 通りあります. これらすべてに対するスコアの総和を $ 998244353 $ で割ったあまりを求めてください.

Input Format

入力は以下の形式で標準入力から与えられる. > $ L $ $ K $ $ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $

Output Format

答えを出力せよ.

Explanation/Hint

### Sample Explanation 1 - 弦を $ 1 $ つも選ばない場合,スコアは $ 0 $ です. - 弦 $ 1 $ を選ぶ場合,スコアは $ 1 $ です. - 弦 $ 2 $ を選ぶ場合,スコアは $ 1 $ です. - 弦 $ 1,2 $ を選ぶ場合,スコアは $ 2 $ です. よって,これらの合計である $ 4 $ が答えです. ### Constraints - $ 1 \leq K $ - $ 2K < L \leq 10^9 $ - $ 1 \leq N \leq 250000 $ - $ 0 \leq A_1 < A_2 < \cdots < A_N < L $ - 入力はすべて整数