	import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
 
public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	}
} import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	}
} Main public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	} Main {
		// TODO 自動生成されたコンストラクター・スタブ
	} public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	} main {
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	} Map <Integer,Integer> mapX = new HashMap<Integer,Integer> (); mapX new HashMap<Integer,Integer> () int x[][]; x Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long l l r r k; k long n n d d index index index2 index2 j; j long sum sum result result xd; xd double rd; rd l = sc.nextLong() l sc.nextLong() sc.nextLong sc r = sc.nextLong() r sc.nextLong() sc.nextLong sc sc.close() sc.close sc if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			} r>l+2019*2 r l+2019*2 l 2019*2 2019 2 {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			} k=(r-l)/2019 k (r-l)/2019 (r-l) r l 2019 r=r-(k-1)*2019 r r-(k-1)*2019 r (k-1)*2019 (k-1) k 1 2019 result=2019 result 2019 for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			} index=l; index=l index l index<r index r index++ index++ index {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			} {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			} for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				} index2=index+1; index2=index+1 index2 index+1 index 1 index2<=r index2 r index2++ index2++ index2 {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				} {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				} k=index*index2%2019 k index*index2%2019 index*index2 index index2 2019 if(k<result) {
						result=k;
					} k<result k result {
						result=k;
					} result=k result k System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	}
} public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	}
} Main
	import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
 
public class Main {
 
	public Main() {
		// TODO 自動生成されたコンストラクター・スタブ
	}
 
	public static void main(String[] args){
		Map <Integer,Integer> mapX = new HashMap<Integer,Integer> ();
		int x[][];
		Scanner sc = new Scanner(System.in);
			// 整数の入力
			long l,r,k;
			long n,d,index,index2,j;
			long sum,result,xd;
			double rd;;
			
			l = sc.nextLong();
			r = sc.nextLong();
			sc.close();
			if(r>l+2019*2) {
				k=(r-l)/2019;
				r=r-(k-1)*2019;
			}
			
			result=2019;

			for(index=l;index<r;index++) {
				for(index2=index+1;index2<=r;index2++) {
					k=index*index2%2019;
					//System.out.print(index+":"+index2+":"+k+":");
					//System.out.println(result);
					if(k<result) {
						result=k;
					}
				}
			}
			System.out.println(result);

			
 
			// 出力
 
	}
}