CF1085B.Div Times Mod

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Div Times Mod

Vasya likes to solve equations. Today he wants to solve (x div k)(xmodk)=n(x~\mathrm{div}~k) \cdot (x \bmod k) = n, where div\mathrm{div} and mod\mathrm{mod} stand for integer division and modulo operations (refer to the Notes below for exact definition). In this equation, kk and nn are positive integer parameters, and xx is a positive integer unknown. If there are several solutions, Vasya wants to find the smallest possible xx. Can you help him?

Input

The first line contains two integers nn and kk (1n1061 \leq n \leq 10^6, 2k10002 \leq k \leq 1000).

Output

Print a single integer xx — the smallest positive integer solution to (x div k)(xmodk)=n(x~\mathrm{div}~k) \cdot (x \bmod k) = n. It is guaranteed that this equation has at least one positive integer solution.

Note

The result of integer division a div ba~\mathrm{div}~b is equal to the largest integer cc such that bcab \cdot c \leq a. aa modulo bb (shortened amodba \bmod b) is the only integer cc such that 0c<b0 \leq c \lt b, and aca - c is divisible by bb.

In the first sample, 11 div 3=311~\mathrm{div}~3 = 3 and 11mod3=211 \bmod 3 = 2. Since 32=63 \cdot 2 = 6, then x=11x = 11 is a solution to (x div 3)(xmod3)=6(x~\mathrm{div}~3) \cdot (x \bmod 3) = 6. One can see that 1919 is the only other positive integer solution, hence 1111 is the smallest one.

Samples

6 3
11
1 2
3
4 6
10

在线编程 IDE

建议全屏模式获得最佳体验