#D616. Polygons
Polygons
Polygons
You are given two integers n and k.
You need to construct k regular polygons having same circumcircle, with distinct number of sides l between 3 and n.
Illustration for the first example.
You can rotate them to minimize the total number of distinct points on the circle. Find the minimum number of such points.
Input
The only line of input contains two integers n and k (3 ≤ n ≤ 10^{6}, 1 ≤ k ≤ n-2), the maximum number of sides of a polygon and the number of polygons to construct, respectively.
Output
Print a single integer — the minimum number of points required for k polygons.
Examples
Input
6 2
Output
6
Input
200 50
Output
708
Note
In the first example, we have n = 6 and k = 2. So, we have 4 polygons with number of sides 3, 4, 5 and 6 to choose from and if we choose the triangle and the hexagon, then we can arrange them as shown in the picture in the statement.
Hence, the minimum number of points required on the circle is 6, which is also the minimum overall possible sets.
inputFormat
Input
The only line of input contains two integers n and k (3 ≤ n ≤ 10^{6}, 1 ≤ k ≤ n-2), the maximum number of sides of a polygon and the number of polygons to construct, respectively.
outputFormat
Output
Print a single integer — the minimum number of points required for k polygons.
Examples
Input
6 2
Output
6
Input
200 50
Output
708
Note
In the first example, we have n = 6 and k = 2. So, we have 4 polygons with number of sides 3, 4, 5 and 6 to choose from and if we choose the triangle and the hexagon, then we can arrange them as shown in the picture in the statement.
Hence, the minimum number of points required on the circle is 6, which is also the minimum overall possible sets.
样例
6 2
6
</p>