007 - 計数カウンタ
時間制限 8 秒 / メモリ制限 256 MB / 得点 32 / x 0 /
問題
計数カウンタが何個か並んでいる. カウンタのボタンを押すと表示されている値が一つ増える. ただし,値が既に最大値なら,値は 1 に戻る. カウンタは全て同じモデルで最大値も同じである.
各カウンタに表示されている値から始めて,各々について指定される目的の値に変えたい. しかし多数のカウンタのボタンを一つ一つ押していくのは面倒なので,特殊な道具を作った. これを使うと,1 回の操作で隣接する一連のカウンタのボタンを 1 回ずつ押せるのだ. 対象とするカウンタの範囲は,操作 1 回ごとにどこからどこまででも自由に決められる.
各カウンタに表示されている値を目的の値に変えるのに最低何回の操作が必要だろうか.
Input
入力は複数のデータセットからなる. 各データセットは次の形式で表される.
n m
a1 a2 ... an
b1 b2 ... bn
各データセットは 3 行からなる. 1 行目には,カウンタの個数を表す n (1 ≤ n ≤ 1000) と,カウンタに表示される最大値を表す m (1 ≤ m ≤ 10000) が与えられる. 2 行目には,各カウンタの最初の値を表す ai (1 ≤ ai ≤ m) が空白区切りで与えられる. 3 行目には,各カウンタの目的の値を表す bi (1 ≤ bi ≤ m) が空白区切りで与えられる.
入力の終わりは,二つのゼロからなる行で表される. データセットの個数は 100 を超えない.
Output
各データセットについて,全てのカウンタにそれぞれ目的の値を表示させるのに必要な最小の操作回数を 1 行に出力せよ.
Sample Input
4 5 2 3 1 4 2 5 5 2 3 100 1 10 100 1 10 100 5 10000 4971 7482 1238 8523 1823 3287 9013 9812 297 1809 0 0
Output for the Sample Input
4 0 14731