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 min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  }
} 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 min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  }
} Main public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    long N=sc.nextLong();
    long K=sc.nextLong();
    long min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  } main {
    Scanner sc=new Scanner(System.in);
    long N=sc.nextLong();
    long K=sc.nextLong();
    long min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  } 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 min1=0; min1 0 long min2=0; min2 0 long kaisuu=(long)(N/K); kaisuu (long)(N/K) N K min1=N-K*kaisuu min1 N-K*kaisuu N K*kaisuu K kaisuu min2=K*(kaisuu+1)-N min2 K*(kaisuu+1)-N K*(kaisuu+1) K (kaisuu+1) kaisuu 1 N if(min1<=min2) System.out.println(min1);
      else System.out.println(min2); min1<=min2 min1 min2 System.out.println(min1) System.out.println System.out System System.out min1 System.out.println(min2) System.out.println System.out System System.out min2 return; 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 min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  }
} public class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    long N=sc.nextLong();
    long K=sc.nextLong();
    long min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  }
} Main
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 min1=0;
    long min2=0;
    long kaisuu=(long)(N/K);
      min1=N-K*kaisuu;
      min2=K*(kaisuu+1)-N;
      
      
      if(min1<=min2) System.out.println(min1);
      else System.out.println(min2);
      return;
  }
}