编程题
### 问题描述
帆帆是宇宙知名的大魔君,他的梦想是——占领整个宇宙!然而宇宙并不是那么好占领的,帆帆只能通过以下规律去占领宇宙:
有一个集合 $A$,表示帆帆占领的星球,初始只包含帆帆的大本营,也就是原点 $(0, 0)$。 我们定义方向向量集:$D = \\{(0, 1),(0, −1),(1, 0),(−1, 0)\\}$。帆帆每次战争可以选择四个方向之一 $d \in D$,记 $A_d = \\{x|x = y + d, y ∈ A\\}$,然后向这个方向扩张,也就是令 $A \leftarrow A \cup A_d$。 例如,$A = \\{(0, 0),(0, 1),(1, 0),(1, 1)\\}, d = (−1, 0)$,则 $A_d = \\{(−1, 0),(−1, 1),(0, 0),(0, 1)\\}$。操作后点集 $A =\\{(−1, 0),(−1, 1),(0, 0),(0, 1),(1, 0),(1, 1)\\}$。
帆帆想知道,自己能不能**完全**占领宇宙。也就是说,给出一个点集 $B$,求能否通过操作使得 $A = B$。如果可能,输出所需的最少战争次数。
### 输入格式
输入数据包含 $n + 1$ 行。
输入第一行包含一个正整数 $n$,为宇宙中星球的个数,也就是点集 $B$ 的大小。
接下来 $n$ 行,每行包含两个由空格隔开的整数 $x_i , y_i$,代表 $B$ 中的一个星球 $(x_i , y_i)$。保证输入的所有点各不相同。
### 输出格式
如果帆帆不能**完全**占领宇宙,输出 $-1$。否则输出帆帆所需的最小操作次数。
### 样例输入
```text
6
0 0
-1 0
0 -1
1 -1
-1 -1
1 0
```
### 样例输出
```text
3
```
### 评测数据规模
对于 $100\\%$ 的评测数据,$1 \leq n \leq 100$,$−100 \leq x_i , y_i \leq 100$。