30036 - Robot

在不久的将来,机器人要给参加巴尔干半岛信息学奥林匹克竞赛(Balkan Olympiad in Informatics)的选手运送食品。机器人将所有的食品放置在一个方形托盘中。不幸的是,在厨房和选手餐厅之间的路径上充满了各种障碍,因此,机器人不能带任意大小的托盘。请编写一个程序,确定可用于餐饮的托盘的最大可能尺寸。

机器人要行走的路径是平行的墙壁包夹的走廊,走廊只能有 90^\circ 转角。走廊在 x 轴正方向开始,障碍是一些立柱,被表示为点,它们都在包夹走廊的墙壁之间。为了使机器人能够走过这段路径,托盘不能撞到立柱或墙壁——它可能只是边与边“触摸”。机器人和它的托盘只能在 xy 轴的方向上转换移动。假定机器人的尺寸小于托盘的尺寸,机器人完全在托盘之下。

输入

文件 zad1.dat 的第一行是一个整数 m1 \le m \le 30),表示直线墙的线段的数量。

接下来的 m+1 行是所有转弯点(包括端点)的“上部分”墙体的 xy 坐标。

相似地,接下来的 m+1 行是所有转弯点(包括端点)的“下部分”墙体的 xy 坐标。

然后的一行给出整数 n0 \le n \le 100),表示障碍物的数量。

接下来的 n 行是障碍物的 xy 坐标。

所有坐标是绝对值小于 32001 的整数。

输出

文件 zad1.res 仅包含一个整数,表示满足本题条件的最大托盘的边长。

样例

输入

3
0 10
20 10
20 -25
-10 -25
0 0
10 0
10 -10
-10 -10
2
15 -15
6 5

输出

5

提示

  • 走廊起始方向为 x 轴正方向。
  • 机器人只能在 xy 轴方向上移动。
  • 托盘为正方形。
  • 托盘可以恰好与墙壁或立柱接触(相切)。
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题