5968: Problem h

Memory Limit:512 MB Time Limit:2.000 S
Judge Style:Text Compare Creator:
Submit:50 Solved:15

Description

经过不懈的努力,小Z的团队取得了突破性进展。

小Z的团队有一个碰撞装置。在内部有一个数轴,上面有n个样本,第i个样本现在在pi位置,速度是vi(速度的正负代表不同的方向)。在U时间后,第i个样本就会移动到pi+U*vi上。

而这个碰撞装置能够运行,当且仅当没有任何样本进行碰撞(即移动到同一点上)。如果没有碰撞,那么它就会一直运行下去。

为了知道碰撞装置的最高效率,小Z允许拿走k个样本。那么,拿走k个样本后碰撞装置最长能运行多久?

Input

第一行两个整数n,k,用空格隔开。

接下来n行,每行两个整数p,v,表示每个样本的初始位置和速度,用空格隔开。

Output

一行一个实数表示答案,精确到小数点后4位。

注意,如果样本永远不会碰撞,输出“Forever”。(不要输出双引号)

Sample Input Copy

【样例1输入】
4 1 
1 1 
3 -1 
5 2 
7 -2
【样例2输入】
4 2 
1 1 
3 -1 
5 2 
7 -2
【样例3输入】
5 0
2 3
233 -9
55 1
66 -2
1000 -10

Sample Output Copy

【样例1输出】
1.0000
【样例2输出】
Forever
【样例3输出】
3.6667

HINT

【样例1解释】

把第三或第四个样本拿走,那么第一、第二个样本会在1单位时间后碰撞。

【样例2解释】

把第二个、第四个样本拿走。

【提示】
如果你是C++选手,最后输出答案可以使用printf(“%.4f\n”,ans)或cout<<fixed<<setprecision(4)<<ans<<endl,但需要注意的是,用了scanf、printf就不要使用cin、cout(同时不要去同步),用了cin、cout就不要使用printf、scanf。不然后果自负。

【数据范围】

对于前30%的数据,n=2。

对于前60%的数据,k=0。

对于前90%的数据,n<=1000。

对于100%的数据,n,k<=50000,所有的位置和速度在[-1000000,1000000]中。保证刚开始不会有样本在同一位置。