x,k,d=list(map(int,input().split()))
if k>=abs(x)//d:
    y=abs(x)//d
    ans=abs(abs(x)-y*d)
    ans=abs(ans-((k-y)%2)*d)
else:
    ans=abs(abs(x)-k*d)
print(ans) x,k,d=list(map(int,input().split())) x list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split k d if k>=abs(x)//d:
    y=abs(x)//d
    ans=abs(abs(x)-y*d)
    ans=abs(ans-((k-y)%2)*d)
else:
    ans=abs(abs(x)-k*d) k>=abs(x)//d k abs(x)//d abs(x) abs x d y=abs(x)//d y abs(x)//d abs(x) abs x d ans=abs(abs(x)-y*d) ans abs(abs(x)-y*d) abs abs(x)-y*d abs(x) abs x y*d y d ans=abs(ans-((k-y)%2)*d) ans abs(ans-((k-y)%2)*d) abs ans-((k-y)%2)*d ans ((k-y)%2)*d (k-y)%2 k-y k y 2 d ans=abs(abs(x)-k*d) ans abs(abs(x)-k*d) abs abs(x)-k*d abs(x) abs x k*d k d print(ans) print ans x,k,d=list(map(int,input().split())) list(map(int,input().split())) x ans=abs(ans-((k-y)%2)*d) abs(ans-((k-y)%2)*d) ans y=abs(x)//d abs(x)//d y k,d=list(map(int,input().split())) list(map(int,input().split())) k ans=abs(abs(x)-k*d) abs(abs(x)-k*d) ans ans=abs(abs(x)-y*d) abs(abs(x)-y*d) ans d=list(map(int,input().split())) list(map(int,input().split())) d
x,k,d=list(map(int,input().split()))
if k>=abs(x)//d:
    y=abs(x)//d
    ans=abs(abs(x)-y*d)
    ans=abs(ans-((k-y)%2)*d)
else:
    ans=abs(abs(x)-k*d)
print(ans)