AT_abc419_e [ABC419E] Subarray Sum Divisibility
Description
長さ $ N $ の整数列 $ A = (A_1, A_2, \ldots, A_N) $ が与えられます。
あなたの目的は、以下の操作を繰り返し行うことにより、 $ A $ のすべての長さ $ L $ の連続部分列についてその総和が $ M $ の倍数であるようにすることです。
- $ 1 \leq i \leq N $ なる整数 $ i $ を選び、 $ A_i $ の値を $ 1 $ 増やす。
目的を達成するまでの操作回数として考えられる最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ L $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
$ i = 2 $ を選ぶ操作を $ 1 $ 回、 $ i = 3 $ を選ぶ操作を $ 2 $ 回、 $ i = 4 $ を選ぶ操作を $ 1 $ 回行うことで合計 $ 4 $ 回の操作で $ A = (4, 3, 3, 4) $ となり、すべての長さ $ 3 $ の連続部分列の総和が $ 5 $ の倍数となります。
### Constraints
- $ 1 \leq N, M \leq 500 $
- $ 1 \leq L \leq N $
- $ 0 \leq A_i < M $
- 入力される値はすべて整数