/*
非負整数L、Rが与えられます。
２つの整数i,jをL<=i<j<=Rを満たすように選びます。
(i*J)mod2019の最小値を求めてください。
 */


import java.util.*;

public class Main{
  public static void main(String[]args){
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[]args){
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  }
} Main public static void main(String[]args){
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  } main {
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    } sc.hasNext() sc.hasNext sc {
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    } long L=sc.nextLong(); L sc.nextLong() sc.nextLong sc long R=sc.nextLong(); R sc.nextLong() sc.nextLong sc long ans=1000000000; ans 1000000000 if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      } R-L>=2019 R-L R L 2019 {
        System.out.println(0);
      } System.out.println(0) System.out.println System.out System System.out 0 {
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      } for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        } long i=L; long i=L; i L i<R i R i++ i++ i {
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        } {
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        } for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          } long j=i+1; long j=i+1; j i+1 i 1 j<=R j R j++ j++ j {
            ans=Math.min(ans,(i*j)%2019);
          } {
            ans=Math.min(ans,(i*j)%2019);
          } ans=Math.min(ans,(i*j)%2019) ans Math.min(ans,(i*j)%2019) Math.min Math ans (i*j)%2019 (i*j) i j 2019 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);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  }
} public class Main{
  public static void main(String[]args){
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  }
} Main
/*
非負整数L、Rが与えられます。
２つの整数i,jをL<=i<j<=Rを満たすように選びます。
(i*J)mod2019の最小値を求めてください。
 */


import java.util.*;

public class Main{
  public static void main(String[]args){
    Scanner sc=new Scanner(System.in);
    while(sc.hasNext()){
      long L=sc.nextLong();
      long R=sc.nextLong();
      long ans=1000000000;
      if(R-L>=2019){
        System.out.println(0);
      }else{
        for(long i=L;i<R;i++){
          for(long j=i+1;j<=R;j++){
            ans=Math.min(ans,(i*j)%2019);
          }
        }
        System.out.println(ans);
      }
    }
  }
}
