Takahashi, who lives on the number line, is now at coordinate X. He will make exactly K moves of distance D in the positive or negative direction.

More specifically, in one move, he can go from coordinate x to x + D or x - D.

He wants to make K moves so that the absolute value of the coordinate of the destination will be the smallest possible.

Find the minimum possible absolute value of the coordinate of the destination.

Constraints

* -10^{15} \leq X \leq 10^{15}
* 1 \leq K \leq 10^{15}
* 1 \leq D \leq 10^{15}
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


X K D


Output

Print the minimum possible absolute value of the coordinate of the destination.

Examples

Input

6 2 4


Output

2


Input

7 4 3


Output

1


Input

10 1 2


Output

8


Input

1000000000000000 1000000000000000 1000000000000000


Output

1000000000000000
x,k,d = map(int, raw_input().split(' '))
if x>=k*d:
	print x-k*d
elif x<=-k*d:
	print -x-k*d
else:
	x=abs(x)
	r = x%d
	q = x//d
	if r<d-r and (k-q)%2==0:
		print r
	elif r<d-r:
		print d-r
	elif r>d-r and (k-q)%2==1:
		print d-r
	else:
		print r