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
import java.util.*;
import java.io.*;
public class Main {

	public static void main(String[] args) throws Exception{
		int num = 998244353;

		// TODO Auto-generated method stub
 		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
 		PrintWriter out = new PrintWriter(System.out);
 
 		StringTokenizer st = new StringTokenizer(bf.readLine());
 		long x = Long.parseLong(st.nextToken());
 		long k = Long.parseLong(st.nextToken());
 		long d = Long.parseLong(st.nextToken());
 		
	 	if (sign(x) == -1 && k <= (0-x)/d)
	 		out.println(Math.abs(x+k*d));
	 	else if (sign(x) == 1 && k <= x/d)
	 		out.println(Math.abs(x-k*d));
	 	else{
	 		if (k%2 == 0)
	 			out.println(Math.min(Math.abs((x%(2*d)+2*d)%(2*d)), Math.abs((x%(2*d)+(2*d))%(2*d)-2*d)));
	 		else{
	 			out.println(Math.abs((x%(2*d)+(2*d))%(2*d)-d));
	 		}
	 	}

 		
 		
 		out.println();
	 		
 		out.close();
 		
 		
 		
 	}
	public static int sign(long j){
		if (j < 0)
			return -1;
		else if (j > 0)
			return 1;
		else
			return 0;
	}
}
 	
 
//StringJoiner sj = new StringJoiner(" "); 
//sj.add(strings)
//sj.toString() gives string of those stuff w spaces or whatever that sequence is

 		
 		
 		
 		
	


