#ABC 175 C
x, k, d = map(int, input().split())

x = abs(x)
syou = x // d
amari = x % d

if k <= syou:
    ans = x - (d * k)

else:
    if (k - syou) % 2 == 0: #残りの動ける数が偶数
        ans = amari

    else:#残りの動ける数が奇数
        ans = abs(amari - 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 syou = x // d syou x // d x d amari = x % d amari x % d x d if k <= syou:
    ans = x - (d * k)

else:
    if (k - syou) % 2 == 0: #残りの動ける数が偶数
        ans = amari

    else:#残りの動ける数が奇数
        ans = abs(amari - d) k <= syou k syou ans = x - (d * k) ans x - (d * k) x d * k d k if (k - syou) % 2 == 0: #残りの動ける数が偶数
        ans = amari

    else:#残りの動ける数が奇数
        ans = abs(amari - d) (k - syou) % 2 == 0 (k - syou) % 2 k - syou k syou 2 0 ans = amari ans amari ans = abs(amari - d) ans abs(amari - d) abs amari - d amari d print(ans) print ans d = map(int, input().split()) map(int, input().split()) d ans = x - (d * k) x - (d * k) ans syou = x // d x // d syou x, k, d = map(int, input().split()) map(int, input().split()) x ans = abs(amari - d) abs(amari - d) ans ans = amari amari ans k, d = map(int, input().split()) map(int, input().split()) k amari = x % d x % d amari x = abs(x) abs(x) x
#ABC 175 C
x, k, d = map(int, input().split())

x = abs(x)
syou = x // d
amari = x % d

if k <= syou:
    ans = x - (d * k)

else:
    if (k - syou) % 2 == 0: #残りの動ける数が偶数
        ans = amari

    else:#残りの動ける数が奇数
        ans = abs(amari - d)

print(ans)