X, K, D = map(int, input().split())
X = abs(X)
r = X % D
t = X // D
if t >= K:
    ans = abs(X - K * D)
elif (K - t) % 2 == 0:
    ans = r
else:
    ans = D - r
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 r = X % D r X % D X D t = X // D t X // D X D if t >= K:
    ans = abs(X - K * D)
elif (K - t) % 2 == 0:
    ans = r
else:
    ans = D - r t >= K t K ans = abs(X - K * D) ans abs(X - K * D) abs X - K * D X K * D K D elif (K - t) % 2 == 0:
    ans = r (K - t) % 2 == 0 (K - t) % 2 K - t K t 2 0 ans = r ans r ans = D - r ans D - r D r print(ans) print ans t = X // D X // D t D = map(int, input().split()) map(int, input().split()) D r = X % D X % D r ans = D - r D - r ans ans = r r ans K, D = map(int, input().split()) map(int, input().split()) K X = abs(X) abs(X) X X, K, D = map(int, input().split()) map(int, input().split()) X ans = abs(X - K * D) abs(X - K * D) ans
X, K, D = map(int, input().split())
X = abs(X)
r = X % D
t = X // D
if t >= K:
    ans = abs(X - K * D)
elif (K - t) % 2 == 0:
    ans = r
else:
    ans = D - r
print(ans)