#abc255c. [abc255_c]±1 Operation 1

[abc255_c]±1 Operation 1

题目描述

给定一个整数 XX。对该整数进行以下操作称为 "操作"。

  • 选择并执行以下一种操作。
    • XX11
    • XX11

首项为 AA,公差为 DD 的等差数列 SS 中的项被称为 "好数字"。
考虑执行零次或多次操作使得 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)
可以将 XX 减去 11 使得 X=6X=6 成为一个好数字。
无法通过零次操作使 XX 成为一个好数字。


示例输入 2

0 0 0 1

示例输出 2

0

可能 D=0D=0。此外可能不需要任何操作。


示例输入 3

998244353 -10 -20 30

示例输出 3

998244363

示例输入 4

-555555555555555555 -1000000000000000000 1000000 1000000000000

示例输出 4

444445