2033 - 数学小店的奇妙兑换 (drink.cpp)
描述

在学校的数学小店里,有一个有趣的活动:只要你拿出三个饮料瓶,就可以换一瓶新的饮料。今天,一个学生捡到了 10 个空饮料瓶,决定来参加这个活动。

他的兑换过程如下:

1. 首先,他用 9 个饮料瓶换了 3 瓶新的饮料,然后喝掉了这些饮料。

2. 接着,他手里剩下了 4 个饮料瓶,他拿出其中的 3 个换了一瓶饮料,这时他手里还剩下 2 个饮料瓶。

3. 学生又问店主借了 1 瓶饮料,喝完后又多了 1 个饮料瓶。然后他拿着这 3 个饮料瓶换了一瓶饮料,还给了店主。

有借有还,再借不难。在这个过程中,学生总共喝了 5 瓶饮料。

现在假设有 n 个饮料瓶,店里的活动是每 k 个饮料瓶能换一瓶饮料,学生最多能喝几瓶饮料呢?


输入

输入包含两个正整数 n,k (1 < k \leq \min (n, 10^9)) 。含义如题面描述。

输出

输出一行一个整数表示答案。


样例

输入

10 3

输出

5

输入

10 4

输出

3
提示

- 对于 30\% 的数据,N \leq 10^{9}

- 对于 50\% 的数据,N \leq 10^{18}

- 对于全部数据,1 \leq N \leq 10^{100000}


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 18
通过次数 8