AT_abc255_c [ABC255C] ±1 Operation 1

Description

[problemUrl]: https://atcoder.jp/contests/abc255/tasks/abc255_c 整数 $ X $ が与えられます。この $ X $ に以下を施すことを「操作」と呼びます。 - 以下の $ 2 $ つのうちどちらかを選択し、実行する。 - $ X $ に $ 1 $ を加算する。 - $ X $ から $ 1 $ を減算する。 初項 $ A $ 、公差 $ D $ 、項数 $ N $ の等差数列 $ S $ に含まれる数を「良い数」と呼びます。 「操作」を $ 0 $ 回以上何度でも使って $ X $ を「良い数」にする時、必要な「操作」の最小回数を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ X $ $ A $ $ D $ $ N $

Output Format

答えを整数として出力せよ。

Explanation/Hint

### 制約 - 入力は全て整数 - $ -10^{18}\ \le\ X,A\ \le\ 10^{18} $ - $ -10^6\ \le\ D\ \le\ 10^6 $ - $ 1\ \le\ N\ \le\ 10^{12} $ ### Sample Explanation 1 $ A=2,D=3,N=3 $ であるため、 $ S=(2,5,8) $ です。 $ X=6 $ を「良い数」にするためには、 $ X $ から $ 1 $ を減算することを $ 1 $ 度行えば良いです。 $ 0 $ 回の操作で $ X $ を「良い数」にすることはできません。 ### Sample Explanation 2 $ D=0 $ である場合もあります。また、操作を $ 1 $ 回も必要としない場合もあります。