不幸的是,Byteasar 发现自己身处沙漠之中,距离最近的绿洲有 $s$ 米。
幸运的是,Byteasar 有一个指南针,他完全清楚自己应该朝哪个方向走才能到达绿洲。他随身携带了 $w$ 毫升水,但他一次最多只能携带 $k$ 毫升。对于 Byteasar 来说,每走一米需要消耗一毫升水;为简化起见,我们假设 Byteasar 以固定的速度饮水,例如在走了 $1/3$ 米后,他已经消耗了 $1/3$ 毫升水。在任何时刻,Byteasar 都可以放下任意数量的水,以便稍后饮用。有时,折返去取他留下的水可能是值得的。
为了防止进一步的不幸巧合,Byteasar 希望能尽可能多地将水带到绿洲(谁知道那绿洲里到底有没有水呢?)。他最多能带多少水到绿洲?
我们假设如果 Byteasar 选择足够聪明的饮水策略,他能够到达绿洲。
输入格式
标准输入的第一行包含三个整数 $s$、$w$ 和 $k$($10 \le s, w, k \leq 100\,000\,000$),分别代表 Byteasar 到绿洲的距离、他拥有的水量以及他最多能携带的水量。
输出格式
你的程序应向标准输出写入一个实数:Byteasar 能带到绿洲的最大水量(以毫升为单位)。该数字应保留小数点后三位。如果你的结果与精确值之差不超过 $10^{-3}$,则你的解将被接受。
样例
输入 1
10 30 10
输出 1
5.333