import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    }
} import java.util.*; util.* java public class Main {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    }
} Main public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    } main {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    } Scanner stdIn = new Scanner(System.in); stdIn new Scanner(System.in) long N = stdIn.nextLong(); N stdIn.nextLong() stdIn.nextLong stdIn long K = stdIn.nextLong(); K stdIn.nextLong() stdIn.nextLong stdIn long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K); min ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K) ((N % K) > Math.abs((N % K) - K)) (N % K) N K Math.abs((N % K) - K) Math.abs Math (N % K) - K (N % K) N K K Math.abs((N % K) - K) Math.abs Math (N % K) - K (N % K) N K K (N % K) N K System.out.println(min) System.out.println System.out System System.out min String[] args args public class Main {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    }
} public class Main {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    }
} Main
import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        long N = stdIn.nextLong();
        long K = stdIn.nextLong();

        long min = ((N % K) > Math.abs((N % K) - K)) ?  Math.abs((N % K) - K) : (N % K);

        System.out.println(min);
    }
}