x,k,d=map(int,input().split())
x=abs(x)
if x//d <=k:
    ans=x%d
    if (k-x//d)%2==1:
        ans=abs(ans-d)
    print(ans)
else:
    ans=x-d*k
    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 if x//d <=k:
    ans=x%d
    if (k-x//d)%2==1:
        ans=abs(ans-d)
    print(ans)
else:
    ans=x-d*k
    print(ans) x//d <=k x//d x d k ans=x%d ans x%d x d if (k-x//d)%2==1:
        ans=abs(ans-d)
     (k-x//d)%2==1 (k-x//d)%2 k-x//d k x//d x d 2 1 ans=abs(ans-d) ans abs(ans-d) abs ans-d ans d print(ans) print ans ans=x-d*k ans x-d*k x d*k d k print(ans) print ans ans=abs(ans-d) abs(ans-d) ans ans=x-d*k x-d*k ans x=abs(x) abs(x) x x,k,d=map(int,input().split()) map(int,input().split()) x ans=x%d x%d ans d=map(int,input().split()) map(int,input().split()) d k,d=map(int,input().split()) map(int,input().split()) k
x,k,d=map(int,input().split())
x=abs(x)
if x//d <=k:
    ans=x%d
    if (k-x//d)%2==1:
        ans=abs(ans-d)
    print(ans)
else:
    ans=x-d*k
    print(ans)