X, K, D = map(int, input().split())
y = abs(X)//D
if y >= K:
  ans = abs(X) - K * D
elif (K - y)%2 == 1:
  ans = abs(abs(X) - y * D - D)
else:
  ans = abs(abs(X) - y * D)
print(ans) X, K, D = map(int, input().split()) X map(int, input().split()) map int input().split() ().split () input split K D y = abs(X)//D y abs(X)//D abs(X) abs X D if y >= K:
  ans = abs(X) - K * D
elif (K - y)%2 == 1:
  ans = abs(abs(X) - y * D - D)
else:
  ans = abs(abs(X) - y * D) y >= K y K ans = abs(X) - K * D ans abs(X) - K * D abs(X) abs X K * D K D elif (K - y)%2 == 1:
  ans = abs(abs(X) - y * D - D) (K - y)%2 == 1 (K - y)%2 K - y K y 2 1 ans = abs(abs(X) - y * D - D) ans abs(abs(X) - y * D - D) abs abs(X) - y * D - D abs(X) - y * D abs(X) abs X y * D y D D ans = abs(abs(X) - y * D) ans abs(abs(X) - y * D) abs abs(X) - y * D abs(X) abs X y * D y D print(ans) print ans ans = abs(abs(X) - y * D - D) abs(abs(X) - y * D - D) ans K, D = map(int, input().split()) map(int, input().split()) K ans = abs(X) - K * D abs(X) - K * D ans ans = abs(abs(X) - y * D) abs(abs(X) - y * D) ans D = map(int, input().split()) map(int, input().split()) D X, K, D = map(int, input().split()) map(int, input().split()) X y = abs(X)//D abs(X)//D y
X, K, D = map(int, input().split())
y = abs(X)//D
if y >= K:
  ans = abs(X) - K * D
elif (K - y)%2 == 1:
  ans = abs(abs(X) - y * D - D)
else:
  ans = abs(abs(X) - y * D)
print(ans)