Problem:
Score : 300 points

Problem Statement

You are given two non-negative integers L and R.
We will choose two integers i and j such that L \leq i < j \leq R.
Find the minimum possible value of (i \times j) \mbox{ mod } 2019.

Constraints

All values in input are integers.

0 \leq L < R \leq 2 \times 10^9

Input

Input is given from Standard Input in the following format:

L R

Output

Print the minimum possible value of (i \times j) \mbox{ mod } 2019 when i and j are chosen under the given condition.

Sample Input 1

2020 2040

Sample Output 1

2

When (i, j) = (2020, 2021), (i \times j) \mbox{ mod } 2019 = 2.

Sample Input 2

4 5

Sample Output 2

20

We have only one choice: (i, j) = (4, 5).

Solution in Fortran (GNU Fortran 9.2.1) (judge verdict: Accepted)

program sample
    implicit none
    character(100)::s,t
    integer(8) :: i,j,k,m,n,ans
    integer(8)::a,b,c,d
    integer(8),allocatable::x(:),y(:)
  
    read(*,*) a,b
    if(mod(a,2019)==0 .or. mod(b,2019)==0)then

        write(*,*)0
        stop
    elseif(b/2019-a/2019/=0)then
        write(*,*)0
        stop
    else
        a=mod(a,2019)
        b=mod(b,2019)
    end if
    ans=10000
    do i=a,b-1
        do j=i+1,b
            c=mod(i*j,2019)
            if(c==0)then
                write(*,*)0
                stop
            elseif(c<ans)then
                ans=c
            end if
        end do
    end do
    write(*,*)ans

    stop
end program sample