
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String line = sc.nextLine(); line sc.nextLine() sc.nextLine sc String[] lines = line.split(" "); lines line.split(" ") line.split line " " long N = Long.parseLong(lines[0]); N Long.parseLong(lines[0]) Long.parseLong Long lines[0] lines 0 long K = Long.parseLong(lines[1]); K Long.parseLong(lines[1]) Long.parseLong Long lines[1] lines 1 long t = N % K; t N % K N K System.out.println(Math.min(t, K-t)) System.out.println System.out System System.out Math.min(t, K-t) Math.min Math t K-t K t String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	}

} Main

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] lines = line.split(" ");
		long N = Long.parseLong(lines[0]);
		long K = Long.parseLong(lines[1]);

		long t = N % K;

		System.out.println(Math.min(t, K-t));
	}

}
