def main():
    x, k, d = map(int, input().split())
    y = abs(x) // d
    if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k)))




if __name__ == '__main__':
    main() def main():
    x, k, d = map(int, input().split())
    y = abs(x) // d
    if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k))) main x, k, d = map(int, input().split()) x map(int, input().split()) map int input().split() ().split () input split k d y = abs(x) // d y abs(x) // d abs(x) abs x d if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k))) y == k y k print(abs(x) % d) print abs(x) % d abs(x) abs x d elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
     y < k y k if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
     (k-y) % 2 == 0 (k-y) % 2 k-y k y 2 0 print(abs(x) % d) print abs(x) % d abs(x) abs x d print(min(abs(abs(x) % d - d), abs(abs(x) % d + d))) print min(abs(abs(x) % d - d), abs(abs(x) % d + d)) min abs(abs(x) % d - d) abs abs(x) % d - d abs(x) % d abs(x) abs x d d abs(abs(x) % d + d) abs abs(x) % d + d abs(x) % d abs(x) abs x d d print(min(abs(abs(x)-d*k), abs(abs(x)+d*k))) print min(abs(abs(x)-d*k), abs(abs(x)+d*k)) min abs(abs(x)-d*k) abs abs(x)-d*k abs(x) abs x d*k d k abs(abs(x)+d*k) abs abs(x)+d*k abs(x) abs x d*k d k if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():
    x, k, d = map(int, input().split())
    y = abs(x) // d
    if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k))) def main():
    x, k, d = map(int, input().split())
    y = abs(x) // d
    if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k))) main
def main():
    x, k, d = map(int, input().split())
    y = abs(x) // d
    if y == k:
        print(abs(x) % d)
    elif y < k:
        if (k-y) % 2 == 0:
            print(abs(x) % d)
        else:
            print(min(abs(abs(x) % d - d), abs(abs(x) % d + d)))
    else:
        print(min(abs(abs(x)-d*k), abs(abs(x)+d*k)))




if __name__ == '__main__':
    main()
