昨天小约翰参加了一场几何考试。其中最难的一道题描述如下:给定两个三角形 $A$ 和 $B$,计算区域 $A + B$ 的面积,其定义为:$A + B = \{p_{1} + p_{2} : p_{1} \in A, p_{2} \in B\}$。例如,如果 $A$ 的顶点为 (0, 0), (0, 2), (2, 0),而 $B$ 的顶点为 (0, 0), (0, 1), (3, 0),那么 $A + B$ 是一个顶点为 (0, 0), (0, 3), (3, 2) 和 (5, 0) 的多边形,其面积为 9.5。
之后,约翰开始思考如何解决一个修改后的问题——“如果 $A$ 和 $B$ 是任意凸多边形,如何计算 $A + B$ 的面积”。小约翰明天还要参加生物考试,没时间自己解决这个问题。他请求你帮忙完成这项任务。
编写一个程序,实现以下功能:
- 读取两个凸多边形 $A$ 和 $B$ 的描述;
- 计算 $A + B$ 的面积;
- 将该面积的两倍输出到标准输出。
输入格式
标准输入的第一行包含两个整数 $n$ 和 $m$ ($3 \le n, m \le 100\,000$),用空格分隔,分别表示多边形 $A$ 和 $B$ 的顶点数。第二行包含 $n$ 对整数 $(x_{i}, y_{i})$ ($-100\,000\,000 \le x_{i}, y_{i} \le 100\,000\,000$),表示多边形 $A$ 的连续顶点坐标(按顺时针顺序)。第三行包含 $m$ 对整数 $(x_{i}, y_{i})$ ($-100\,000\,000 \le x_{i}, y_{i} \le 100\,000\,000$),表示多边形 $B$ 的连续顶点坐标(按顺时针顺序)。
输出格式
第一行且仅包含一个整数,即 $A + B$ 面积的两倍。
样例
输入格式 1
4 4 0 0 0 1 2 1 2 0 0 0 0 2 1 2 1 0
输出格式 1
18