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

