题目描述
在數學上,一個點集合 S 的凸包 (convex hull) 定義為包含 S 的最小凸集合,記作 Conv(S)。在平面上,若 S 為非空有限點集合,則 Conv(S) 為一包含內部與邊界的最小凸多邊形,或其退化形式。另一方面,設 E1 與 E2 為平面上的兩個點集合。若存在某個二維向量 v,滿足
P∈E1⟺P+v∈E2,
則稱 E1 與 E2 經過平移後重合。
現給定平面上的有限點集合 S1 與 S2,並考慮它們的非空子集合 T1⊆S1 與 T2⊆S2。已知子凸包 Conv(T1) 與子凸包 Conv(T2) 面積皆大於 0 且經過平移後重合,請求出 Conv(T1) 所有可能的面積。
以下展示兩個子凸包平移後重合的例子。

输入格式
n m
x1 y1
x2 y2
⋮
xn yn
ξ1 η1
ξ2 η2
⋮
ξm ηm
- n 代表 S1 的集合大小。
 
- m 代表 S2 的集合大小。
 
- xi,yi 代表 S1 包含點 (xi,yi)。
 
- ξi,ηi 代表 S2 包含點 (ξi,ηi)。
 
输出格式
k
a1
a2
⋮
ak
- k 代表若子凸包 Conv(T1) 與子凸包 Conv(T2) 經過平移後重合,Conv(T1) 所有可能的非 0 面積數。
 
- ai 為一整數,代表 Conv(T1) 所有可能的非 0 面積中,第 i 小的數的兩倍。
 
提示
測資限制
- 3≤n≤40。
 
- 3≤m≤40。
 
- 0≤xi≤20。
 
- 0≤yi≤20。
 
- 0≤ξi≤20。
 
- 0≤ηi≤20。
 
- 對任意 i,j∈{1,2,…,n},若 i=j,則 (xi,yi)=(xj,yj)。
 
- 對任意 i,j∈{1,2,…,m},若 i=j,則 (ξi,ηi)=(ξj,ηj)。
 
- 輸入的數皆為整數。
 
評分說明
本題共有四組子任務,條件限制如下所示。
每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
| 子任務 | 
分數 | 
額外輸入限制 | 
| 1 | 
7 | 
所有可能的非 0 面積必能從 T1 與 T2 中各選 3 個點得到 | 
| 2 | 
23 | 
n+m≤30 | 
| 3 | 
41 | 
S1=S2 | 
| 4 | 
29 | 
無額外限制 |