给定一些点,以及等数量的线段。所有点都严格位于 x 轴上方。每条线段都完全位于 x 轴上。没有任何两条线段有公共点。
你需要绘制一些新的线段——每个点与线段的配对各绘制一条。第 $i$ 条绘制的线段必须连接点 $i$ 与其对应的线段 $i$。点 $i$ 与线段 $i$ 的对应关系是固定的,你不能重新安排点与线段的连接关系。
任意两条绘制的线段不得严格相交,但允许在端点处接触。
你需要求出所有绘制线段的总长度的最小值,或者判断是否无法在满足条件的情况下绘制这些线段。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示给定的点与线段配对的数量。
接下来的 $n$ 行,每行包含四个整数 $x, y, l, r$ ($-10^6 \le x \le 10^6, 0 < y \le 10^6, -10^6 \le l \le r \le 10^6$)。
这表示一个位于 $(x, y)$ 的点,以及其对应的端点为 $(l, 0)$ 和 $(r, 0)$ 的线段。线段将按从左到右的顺序给出。没有任何两条给定的线段有公共点。两个点可能位于相同的位置。
输出格式
输出一个实数,表示所有绘制线段的总长度的最小值。如果答案的绝对误差或相对误差不超过 $10^{-6}$,则视为正确。如果无法在不相交的情况下绘制这些新线段,则输出 $-1$。
样例
样例输入 1
3 0 6 -4 -2 -2 1 -1 0 0 4 1 4
样例输出 1
11.9995169566
样例输入 2
3 0 6 -4 -2 0 4 -1 0 -2 1 1 4
样例输出 2
-1
样例输入 3
2 0 5 -1000000 -1 0 5 1 1000000
样例输出 3
10.1980390272