编程题
### 问题描述
小齐收到了一份有趣的机械拼图作为生日礼物。这个拼图由三个实心物体组成,每个物体都是由 $1x1$ 的单位方块粘在一起形成的。“连接”形状是指在物体上的任何一个方块都可以通过向北、向南、向东或向西的方式到达物体上的任何其他方块。
可以通过反复将物体沿北、南、东或西方向滑动一个单位来移动它。拼图的目标是移动这些物体,使它们分离,即它们的边界框不再共享任何正面重叠。
给定三个物体的形状和位置,请帮助小齐确定将这些物体分离所需的最小移动次数。
### 输入格式
第 $1$ 行: 三个空格分隔的整数 $N_1, N_2, N_3$,分别描述物体 $1$、$2$ 和 $3$ 的单位方块数量。
第 $2$ 行至 $1+N_1$ : 每行描述物体 $1$ 的一个单位方块的 $(x, y)$ 位置,所有坐标在范围 $0..9$ 内。
第 $2+N_1$ 行至 $1+N_1+N_2$: 每行描述物体 $2$ 的一个单位方块的 $(x, y)$ 位置,所有坐标在范围 $0..9$ 内。
第 $2+N_1+N_2$ 行至 $1+N_1+N_2+N_3$ : 每行描述物体 $3$ 的一个单位方块的 $(x, y)$ 位置,所有坐标在范围 $0..9$ 内。
### 输出格式
第 $1$ 行: 将三个物体分离所需的最小移动次数,如果无法分离,则输出 $-1$。
### 样例输入
```
1 12 1
2 2
0 0
0 1
0 2
0 3
1 3
2 3
3 3
3 2
3 1
3 0
2 0
1 0
1 2
```
### 样例输出
```
-1
```
### 评测数据规模
$N_1, N_2, N_3$ 满足 $2 \leq N \leq 20$。