import java.util.Scanner;
 
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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    System.out.println(ans);
  }
} import java.util.Scanner; Scanner 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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    System.out.println(ans);
  } main {
    Scanner sc = new Scanner(System.in);
    long N = sc.nextLong();
    long K = sc.nextLong();
    long ans;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    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; ans if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    } K <= N K N {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } ans = (N%K) < (K - N%K) ? N%K : (K - N%K) ans (N%K) < (K - N%K) ? N%K : (K - N%K) (N%K) < (K - N%K) (N%K) N K (K - N%K) K N%K N K N%K N K (K - N%K) K N%K N K {
    	ans = N < (K - N) ? N : (K - N);
    } ans = N < (K - N) ? N : (K - N) ans N < (K - N) ? N : (K - N) N < (K - N) N (K - N) K N N (K - N) K N 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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    System.out.println(ans);
  }
} Main
import java.util.Scanner;
 
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;
    if (K <= N) {
    	ans = (N%K) < (K - N%K) ? N%K : (K - N%K);
    } else {
    	ans = N < (K - N) ? N : (K - N);
    }
    System.out.println(ans);
  }
}