//package atcoder;
 
import java.util.*;
 
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	}
} import java.util.*; util.* java public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	} main {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc long K = sc.nextLong(); K sc.nextLong() sc.nextLong sc long ans = N % K; ans N % K N K while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		} ans>Math.abs(ans-K) ans Math.abs(ans-K) Math.abs Math ans-K ans K {
			ans = Math.abs(ans-K);
		} ans = Math.abs(ans-K) ans Math.abs(ans-K) Math.abs Math ans-K ans K System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	}
} public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	}
} Main
//package atcoder;
 
import java.util.*;
 
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long K = sc.nextLong();
		long ans = N % K;
		
		/*if(ans==N) {
			System.out.println(N);
		}*/
		while(ans>Math.abs(ans-K)) {
			ans = Math.abs(ans-K);
		}
		
		
		System.out.println(ans);
	}
}
