今晚你要在家里举办派对!一些朋友即将到来,你打算花一整个晚上玩你最喜欢的棋盘游戏“Bar ‘Duck’”。但在客人到达前的几分钟,你发现唯一适合游戏的桌子上覆盖着来源不明的垃圾。你没有时间进行彻底的清理,所以你打算直接把一些垃圾碎片扔掉,以便桌子至少有一部分是干净的。
桌子很长但很窄,因此其表面可以简单地表示为长度为 $L$ 厘米的线段;你选择了一个坐标系,使得桌子的一端坐标为 $0$,另一端坐标为 $L$。桌上有 $n$ 个垃圾碎片;第 $i$ 个碎片位于坐标 $x_i$ 处,质量为 $m_i$ 克。
你可以扔掉其中的一些碎片,即给它们沿轴的两个方向之一提供初速度。碎片被扔出后,会以提供的初速度匀速运动(你不太确定为什么它会这样运动),直到到达桌子的任一端并掉到地板上;你可以假设碎片之间是独立运动的,即它们不会发生碰撞或相互干扰。然而,根据物理定律,施加力需要消耗能量;更准确地说,要使质量为 $m$ 克的物体以 $v$ 厘米每秒的速度运动,你需要消耗 $\frac{mv^2}{2}$ 单位的能量。
游戏将在当前时刻之后的 $T$ 秒开始。游戏总是需要很大的空间,因此在游戏开始时,你将选择桌子上不包含任何垃圾碎片的最长线段。此外,你在一天的工作后已经很累了,所以你不会在扔垃圾碎片上花费超过 $E$ 单位的能量。你可以为任何碎片或任意一组碎片提供任何速度(你为每个碎片独立选择速度),前提是总消耗能量不超过 $E$ 单位。
请找出在 $T$ 秒后,消耗不超过 $E$ 单位能量的情况下,你能获得的桌面上最长干净线段的长度。
输入格式
第一行包含四个空格分隔的整数 $n, L, T, E$ ($1 \le n \le 10^5, 1 \le L, T, E \le 10^6$)。
接下来的 $n$ 行描述垃圾碎片。第 $i$ 行包含两个空格分隔的整数 $x_i$ 和 $m_i$ ($0 < x_i < L, 1 \le m_i \le 10^3$),分别表示第 $i$ 个碎片的位置和质量。没有两个碎片占据同一个位置;你可以假设输入中的碎片已按 $x_i$ 递增排序。
输出格式
输出一个实数——在 $T$ 秒后,消耗不超过 $E$ 单位能量的情况下,你能获得的桌面上最长干净线段的长度。如果与标准答案的相对误差或绝对误差不超过 $10^{-6}$,则答案被视为正确。
样例
样例输入 1
1 4 1 1 2 1
样例输出 1
3.4142135624
样例输入 2
2 6 1 1 2 1 4 1
样例输出 2
4.0000000000
说明
在第一个样例中,我们花费所有能量为唯一的碎片提供 $\sqrt{2}$ 厘米每秒的速度,因此一秒后最长干净线段的长度为 $2 + \sqrt{2}$ 厘米。
在第二个样例中,最优方案是让两个碎片分别以 1 厘米每秒的速度向相反方向移动。