Misha 需要给他的朋友 Nadia 送包裹。他们两人经常在俄罗斯境内旅行,而俄罗斯的国土非常辽阔。因此,他们决定雇佣一名信使。由于信使服务的费用取决于包裹送达所需的时间,他们需要你帮忙进行一些优化。
假设 Misha 和 Nadia 在二维平面上移动,每个人都访问一系列地点,并沿着连接这些地点的直线段移动。你的任务是在给定他们两条路径的情况下,找出最短的送达时间。
Misha 在他路径上的某一点将包裹交给信使。信使从取货点出发,沿直线无延迟地移动以拦截正在沿其路径行进的 Nadia。Misha、Nadia 和信使均以 1 个单位距离/单位时间的恒定速度移动。送达时间是指从 Misha 交出包裹到 Nadia 收到包裹之间的时间间隔。
输入格式
输入包含一组测试数据。测试数据包含两条路径描述,第一条是 Misha 的,第二条是 Nadia 的。每条路径描述以一行包含一个整数 $n$ 开始,表示访问的地点数量($2 \le n \le 50\,000$)。随后是 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$,指定一个地点的坐标($0 \le x_i, y_i \le 30\,000$)。地点坐标按访问顺序排列,且相邻地点坐标不相同。
Misha 和 Nadia 同时开始他们的旅程,沿各自的路径不间断地访问这些地点。每条路径的长度最多为 $10^6$。包裹必须在 Misha 到达其最终地点之前被取走,并且必须在 Nadia 到达其最终地点之前送达。
输出格式
输出送达所需的最短时间。答案的绝对误差应不超过 $10^{-3}$,或相对误差应不超过 $10^{-5}$。如果包裹无法送达,则输出 impossible。
样例
输入格式 1
2 0 0 0 10 2 4 10 4 0
输出格式 1
4.00000
输入格式 2
2 0 0 1 0 3 2 0 3 0 3 10
输出格式 2
5.00000