Jiajia 下载的东西非常多,多到你无法想象。有人说他同时开始下载多达 20,000 个文件。如果 20,000 个文件试图共享有限的带宽,那将是一场灾难,没有任何文件能正常下载。这就是他使用下载管理器的原因。
如果有 $T$ 个文件需要下载,下载管理器在下载文件时遵循以下策略:
- 下载管理器优先处理较小的文件,因此它在启动时会开始下载最小的 $n$ 个文件。如果存在平局(即文件大小相同),下载管理器会选择剩余字节数较少的文件进行下载。我们假设在至少 $50$ MB/s 的带宽下,$n$ 个文件可以同时下载而不会出现任何问题。
- 可用带宽由所有正在下载的文件平均共享。当一个文件完全下载完成后,它的带宽会立即分配给下一个文件。如果除了正在下载的文件外没有剩余文件,该带宽会立即由所有剩余正在下载的文件平均共享。
给定每个文件的大小和已完成的百分比,你的任务是智能地模拟下载管理器的行为,以找出下载所有文件所需的总时间。
输入格式
最多有 10 组测试数据。每组数据以三个整数 $T$ ($1 \le T \le 20000$),$n$ ($1 \le n \le 2000$ 且 $1 \le n \le T$) 和 $B$ ($50 \le B \le 1000$) 开头。其中 $B$ 表示 Jiajia 可用的总带宽(单位:MB/s)。请注意,除非可下载的文件少于 $n$ 个,否则下载管理器总是并行下载 $n$ 个文件。接下来的 $T$ 行中,每行包含一个非负浮点数 $S$(小于 20,000,小数点后最多 2 位)和一个整数 $P$ ($0 \le P \le 100$)。这两个数字表示一个大小为 $S$ MB 且已下载了 $P\%$ 的文件。另请注意,虽然从理论上讲,文件大小或其剩余部分的大小以字节表示时不可能是分数,但为了简化起见,请假设在本题中这是可能的。最后一组测试数据后跟 $T=n=B=0$,该行不应被处理。
输出格式
对于每组数据,打印案例编号和下载所有文件所需的总时间,以小时为单位,并四舍五入保留小数点后 2 位。在每个测试案例的输出后打印一个空行。
样例
输入格式 1
6 3 90 100.00 90 40.40 70 60.30 70 40.40 80 40.40 85 40.40 88 1 1 56 12.34 100 0 0 0
输出格式 1
Case 1: 0.66 Case 2: 0.00
说明
在第一个样例中,共有 6 个文件,下载管理器可以同时下载 3 个文件。最小的文件大小为 40.40 MB,但有四个这样的文件(第 2、4、5 和 6 个文件)。因此,下载管理器选择第 6、5 和 4 个文件进行下载,因为它们的剩余字节数较少。所有这些文件获得相等的带宽(30.00 MB/s)。在这三个文件中,第 6 个文件最先完成。因此,第 2 个文件立即开始下载。然后,第 5 个文件完成。因此,下一个较大的文件(第 3 个文件)开始下载。此过程一直持续到所有文件下载完成。