import java.util.*;
     
class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        }        
    }
} import java.util.*; util.* java class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        }        
    }
} Main public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        }        
    } main {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        }        
    } try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        } catch(Exception e){
            e.printStackTrace();
        } Exception e {
            e.printStackTrace();
        } e.printStackTrace() e.printStackTrace e {
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        } Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc long k = sc.nextLong(); k sc.nextLong() sc.nextLong sc if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            } n == 0 n 0 {
                System.out.println(0);
                System.exit(0);
            } System.out.println(0) System.out.println System.out System System.out 0 System.exit(0) System.exit System 0 if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            } n >= k n k {
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            } if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                } (n % k) == 0 (n % k) n k 0 {
                    System.out.println(0);
                    System.exit(0);
                } System.out.println(0) System.out.println System.out System System.out 0 System.exit(0) System.exit System 0 {
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                } if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    } (n % k) < Math.abs((n % k) - k) (n % k) n k Math.abs((n % k) - k) Math.abs Math (n % k) - k (n % k) n k k {
                        System.out.println(n % k);
                        System.exit(0);
                    } System.out.println(n % k) System.out.println System.out System System.out n % k n k System.exit(0) System.exit System 0 {
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    } System.out.println(Math.abs((n % k) - k)) System.out.println System.out System System.out Math.abs((n % k) - k) Math.abs Math (n % k) - k (n % k) n k k System.exit(0) System.exit System 0 {
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            } if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                } (k/2) <= n (k/2) k 2 n {
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                } System.out.println(Math.abs(n-k)) System.out.println System.out System System.out Math.abs(n-k) Math.abs Math n-k n k System.exit(0) System.exit System 0 {
                    System.out.println(n);
                    System.exit(0);
                } System.out.println(n) System.out.println System.out System System.out n System.exit(0) System.exit System 0 String[] args args
import java.util.*;
     
class Main{
    public static void main(String[] args) {
        
        try(Scanner sc = new Scanner(System.in)){
 
            long n = sc.nextLong();
            long k = sc.nextLong();

            if(n == 0){
                System.out.println(0);
                System.exit(0);
            }else if(n >= k){
                if((n % k) == 0){
                    System.out.println(0);
                    System.exit(0);
                }else{
                    if((n % k) < Math.abs((n % k) - k)){
                        System.out.println(n % k);
                        System.exit(0);
                    }else{
                        System.out.println(Math.abs((n % k) - k));
                        System.exit(0);
                    }
                }
            }else{
                if((k/2) <= n){
                    System.out.println(Math.abs(n-k));
                    System.exit(0);
                }else{
                    System.out.println(n);
                    System.exit(0);
                }
            }
 
        }catch(Exception e){
            e.printStackTrace();
        }        
    }
}