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

X = abs(X) #Xの絶対値を取ると楽

if X >= K * D:
    print(X-K*D)
else:
    N = X // D #ゼロがになるまえを求める．
    X = X - N*D
    K = K - N
    if K%2 == 0: #残る移動回数が偶数階の場合は同じところ．
        print(X)
    else:
        print(D-X)