编程题
### 问题描述
从前有一个贪婪的国王,他为了保卫王国,建立了 $n$ 座守塔。除此之外,这个国家还有两支军队,每支军队都由一个霸道自负的将军带领。这两个将军不能忍受彼此存在于同一座守塔中的士兵,也就是同在一座守塔的士兵只能隶属于一个将军。
在守塔的防御行动中,将军们需要将自己的一部分军队分配到某些守塔中。每个将军都会向国王要求管理守塔的费用。但是由于这个国家非常遥远,因此每个将军都会按照以下奇怪的方式评估费用:他会找到自己军队所在的两个距离最远的守塔,并要求费用等于这两座塔之间的距离。每座守塔都由平面上的一个点表示,其坐标为 $(x, y)$,两个点 $(x_1, y_1)$ 和 $(x_2, y_2)$ 之间的距离在这个国家中被定义为 $|x_1-x_2|+|y_1-y_2|$。
贪婪的国王并不完全满足将军们的这样一个要求,这就是为什么他只同意为两名将军支付一笔费用,相当于两名将军要求的最高费用。然而,国王仍然贪婪,在所有在军队之间布置塔楼的方法中,他想找到最便宜的。每座塔楼都应该由一支军队的士兵占据。
他雇佣了你来解决这个问题。你要找到最小的费用,以支付给两位将军。并且,由于这位国王非常严谨,你还需要计算可以用最小费用进行的方案数量。由于数量可能相当大,因此国王只需要知道它除以 $(10^9 + 7)$ 的余数即可。
### 输入格式
第一行包含整数 $n$,表示守塔的数量。
接下来 $n$ 行,每行包含两个整数 $x$ 和 $y$,表示第 $i$ 座守塔的坐标,保证没有两座守塔在同一个位置。
### 输出格式
第一行输出最小费用,即两名将军所要求费用中的最大值。
第二行输出使用最小费用的方案数,结果对 $(10^9+7)$ 取模。
### 样例输入
```txt
2
0 0
1 1
```
### 样例输出
```txt
0
2
```
### 样例说明
在样例中只有两个塔,它们之间的距离等于 $2$。如果我们把两座塔都给一位将军,那么我们很可能要支付两个单位的钱。如果每个将军都得到一个塔来管理,那么费用将等于 $0$。这是尽可能少的费用。正如你很容易看到的,我们可以通过两种方式获得它。
### 评测数据规模
对于 $100$% 的评测数据,$2\leq n\leq 5000,0\leq x,y\leq 5000$。