#abc255c. [abc255_c]±1 Operation 1

[abc255_c]±1 Operation 1

問題文

整数 XX が与えられます。この XX に以下を施すことを「操作」と呼びます。

  • 以下の 22 つのうちどちらかを選択し、実行する。
    • XX11 を加算する。
    • XX から 11 を減算する。

初項 AA 、公差 DD 、項数 NN の等差数列 SS に含まれる数を「良い数」と呼びます。
「操作」を 00 回以上何度でも使って XX を「良い数」にする時、必要な「操作」の最小回数を求めてください。

制約

  • 入力は全て整数
  • \-1018leX,Ale1018\-10^{18} \\le X,A \\le 10^{18}
  • \-106leDle106\-10^6 \\le D \\le 10^6
  • 1leNle10121 \\le N \\le 10^{12}

入力

入力は以下の形式で標準入力から与えられる。

XX AA DD NN

出力

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


入力例 1

6 2 3 3

出力例 1

1

A=2,D=3,N=3A=2,D=3,N=3 であるため、 S=(2,5,8)S=(2,5,8) です。
X=6X=6 を「良い数」にするためには、 XX から 11 を減算することを 11 度行えば良いです。
00 回の操作で XX を「良い数」にすることはできません。


入力例 2

0 0 0 1

出力例 2

0

D=0D=0 である場合もあります。また、操作を 11 回も必要としない場合もあります。


入力例 3

998244353 -10 -20 30

出力例 3

998244363

入力例 4

-555555555555555555 -1000000000000000000 1000000 1000000000000

出力例 4

444445