有 $n$ 个线段。第 $i$ 条线段连接 $(a_i,b_i),(c_i,d_i)$。同时这些直线满足如下性质:
- 对于任意线段,满足 $c_i > a_i , d_i < b_i$
- 对于任意两条线段,其不包含任何公共点(包括端点在内)。
$Q$ 次询问,每次询问给出一个点 $(x_i,y_i)$ 。询问对于所有 $n$ 条线段,其落在以 $(-C,-C)$ 为左下角,$(x_i,y_i)$ 为右上角的矩形内的部分的长度之和。
输入格式
第一行一个正整数 $n$。
接下来 $n$ 行,每行四个整数 $a_i,b_i,c_i,d_i$。
接下来一行一个正整数 $Q$。
接下来 $Q$ 行,一行两个整数 $x_i,y_i$。
输出格式
$Q$ 行,一行一个非负实数,表示答案。
假定输入的所有的线段长度之和为 $S$, 你的答案被认为是正确的当且仅当对于每次询问,你和标准输入的绝对误差不超过 $10^{-10}\max \{S,1\}$。换而言之,假设你的输出是 $a$,标准答案是 $b$,则你的答案被认为是正确的当且仅当 $|a-b| \le 10^{-10}\max \{S,1\}$。
样例数据
样例 1 输入
3 0 4 2 2 1 4 3 1 2 3 5 0 3 0 0 2 4 3 3
样例 1 输出
0.0000000000 4.6312027626 5.2321279752
样例 2 输入
5 1 2 2 1 0 3 1 1 0 4 2 -1 0 2 1 -5 1 3 5 1 5 -300000 -300000 300000 300000 1 3 2 1 1 2
样例 2 输出
0.0000000000 20.5786501139 10.9226852318 8.2149811903 8.7276182816
子任务
- Subtask 1: $n,Q \le 50$ ($8 \%$)
- Subtask 2: $n,Q \le 5000$ ($10 \%$)
- Subtask 3: 线段长度之和不超过 $10^6$ ($22 \%$)
- Subtask 4: 对于所有的线段,满足 $a_i+b_i = c_i+d_i$ ($15 \%$)
- Subtask 5: 没特殊限制 ($45 \%$)
对于所有测试数据,满足 $C = 3 \times 10^5, |a_i|,|b_i|,|c_i|,|d_i|,|x_i|,|y_i| \le 3 \times 10^5, n \le 1 \times 10^5,Q \le 1.5 \times 10^5$。