
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 =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    }
    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 =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=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 =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    }
    System.out.println(ans);

  } main {
    Scanner sc = new Scanner(System.in);
    long N = sc.nextLong();
    long K = sc.nextLong();
    long ans =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=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 =0; ans 0 N = N%K N N%K N K ans =N ans N for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    } int i=0; int i=0; i 0 i<100 i 100 i++ i++ i {
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    } {
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    } N=Math.abs(N-K) N Math.abs(N-K) Math.abs Math N-K N K if(N<ans){
        ans=N;
      } N<ans N ans {
        ans=N;
      } ans=N ans 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 =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=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 =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    }
    System.out.println(ans);

  }
  

  
} 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 ans =0;
    N = N%K;
    ans =N;
    for(int i=0;i<100;i++){
      N=Math.abs(N-K);
      if(N<ans){
        ans=N;
      }
    }
    System.out.println(ans);

  }
  

  
}
