X,K,D = map(int,input().split())
X = abs(X)
ans = 0

if (X // D) >= K:
    ans = X - (K * D)
elif (X // D) % 2 == 0:
    if K % 2 == 0:
        ans = X % D
    else:
        ans = abs((X % D) - D)
else:
    if K % 2 ==1:
        ans = X % D
    else:
        ans = abs((X % D) - D)

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

if (X // D) >= K:
    ans = X - (K * D)
elif (X // D) % 2 == 0:
    if K % 2 == 0:
        ans = X % D
    else:
        ans = abs((X % D) - D)
else:
    if K % 2 ==1:
        ans = X % D
    else:
        ans = abs((X % D) - D)

print(ans)