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 C# (Mono 4.6.2.0) (judge verdict: Wrong Answer)

using System;
class a
{
    public static void Main()
    {
        string[] str = Console.ReadLine().Split(' ');
        long l = long.Parse(str[0]);
        long r = long.Parse(str[1]);

        long x = 0;
        long min0 = 0;
        long min1 = 0;
        if (l % 2019 < (l + 1) % 2019)
        {
            min0 = l % 2019;
            min1 = (l + 1) % 2019;
        }
        else
        {
            min0 = (l + 1) % 2019;
            min1 = l % 2019;
        }

        for (long i = l + 1; i < r + 1; i++)
        {
            x = i % 2019;
            if (min0 > i)
            {
                min0 = i;
            }
            else
            {
                if (min1 > i)
                    min1 = i;
            }
        }
        Console.WriteLine(min0 * min1);




    }
}