#P6006. Night 的管道问题

Night 的管道问题

Description

众所周知,\text{R_rank_Pyramid} 自从那年省夏从附中一个高达三米的高台跃下而毫发无伤后,便发现了自己猫的潜质——可以灵活的进行各项高难度跳跃奔跑。 因此,他沉迷于跑酷无法自拔,并依靠着自己猫的能力而次次成功。 但是,他的好友 Night\text{Night} 十分担心他有一天翻车了,就不能问他题目了,所以打算让他吃亏一次,放弃这项危险的操作。

这一天,\text{R_rank_Pyramid} 在一堆管道中练习着自己猫的能力,Night\text{Night}  感受到时机到了,便将 \text{R_rank_Pyramid} 困在了管道中的一处,并往管道里注水,打算给他一个教训。

抽象化地来讲,这个管道系统可以视为一个二维平面,平面里有一堆管道,这些管道有横向的也有纵向的,但是为了简单点分析这个问题,Night\text{Night} 钦定了横向的管道连接容量无限,且不占体积,而竖向的管道直径均为 11 ,上端开口而下端封底。 噢对了,Night\text{Night} 使用的水龙头也十分神奇,这个水龙头恰好能在单给一个管道注水时,水面每秒上升 1m1\text{m}

并且 Night\text{Night} 抽象的模型还有如下假设:

1. $\text{Night}$ 的神奇水源总是在第一根管道的正上方。

2. 任意两个管道的左上角的 $x$ 坐标都不相同。

3. 任意连接的两个端点都在管道上,且连接跨过的管道不算被连接(不会出现悬空的情形)。

4. 所有位置都用有序数对 $(x, y)$ 表示,其中 $y$ 坐标从上到下逐渐增大;$x$ 坐标从左到右逐渐增大,因此左上角的坐标为 $(0,0)$ ,其他所有坐标值为 $0$ 到 $100$ 之间的整数。

5.连接只会从一个管道的右侧管壁连接至另一个管道的左侧管壁。

6.神奇的连接会智能地分配流向的水量,在每一时刻水流平均分配到当前可达的所有最低位置。

如图所示,根据物理知识,在前 22 秒中,水注如左边的管道底部,第 33~55 秒时注入右边的管道,第 66~99 秒同时注入两个管道(虽然流量不变,但是由于同时给两个管道注水,因此水面上升的速度仅为每秒 0.5m0.5\text{m}),接触到 \text{R_rank_Pyramid} 。 给出管道和管道之间连接的位置,以及 \text{R_rank_Pyramid} 被困的位置,求水面接触到他的时间。假设 \text{R_rank_Pyramid} 的实际位置比给出的略高一点(他看到水肯定会向上躲嘛),因此如果 \text{R_rank_Pyramid} 像图中这样在左边管道的 y=4y=4 的位置,答案应该是 55 秒。 因为前两秒后水面虽然看起来接触到了 \text{R_rank_Pyramid},但实际上比他略低一点。

Input Format

对于每个测试点,第一行为一个数据组数 TT

对于每组数据,按照如下格式输入:

输入第一行为一个整数 pp,表示管道的数目;以下 pp 行,每行用 x,y,hx, y, h 三个整数描述一根管道。(x,y)(x,y) 为管道左上角坐标;hh 为管道高度。再以下一行为一个整数 LL,为连接的个数。接着 LL 行每行用三个整数 x,y,dx, y, d 表示一个连接,(x,y)(x,y) 为左端点的坐标,dd 为连接的长度。最后一行为两个整数 A,BA, B,表示 \text{R_rank_Pyramid} 在管道 AAyy 坐标为 BB 的位置。管道按照在输入中出现的顺序编号为 1,2,3,,p1,2,3, \ldots, p

Output Format

仅一个整数,为水面接触到 \text{R_rank_Pyramid} 的时间。如果水面无法接触到 \text{R_rank_Pyramid} ,则输出 1-1

Sample

输入样例:

1
2
2 0 6
6 1 6
1
3 4 3
2 2

输出样例:

9

Hint

对于 100%100 \% 的数据,$1 \le p \le 20 , 1 \le h \le 20 , 0 \le L \le 50 , 1 \le d \le 20 , 1 \le T \le 10$

样例解释