C - Remainder Minimization 2019

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 300

問題文

非負整数 L, R が与えられます。 2 つの整数 i, jL \leq i < j \leq R を満たすように選びます。 (i \times j) \mbox{ mod } 2019 の最小値を求めてください。

制約

  • 入力は全て整数
  • 0 \leq L < R \leq 2 \times 10^9

入力

入力は以下の形式で標準入力から与えられる。

L R

出力

条件を満たすように i, j を選んだ時の、(i \times j) \mbox{ mod } 2019 の最小値を出力せよ。


入力例 1

2020 2040

出力例 1

2

(i, j) = (2020, 2021) とすると、(i \times j) \mbox{ mod } 2019 = 2 となります。


入力例 2

4 5

出力例 2

20

選び方は (i, j) = (4, 5)1 通りしか存在しません。

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).