某市规划了一块新地块,准备在这个地块上开发旅游景区。
该地块是一个矩形,可以视为是一个 N 行 M 列的二维数组,二维数组的每个位置上都可以建造一栋建筑。
景区共规划了 T 栋建筑,这些建筑在地块上的位置已知,且每栋建筑沿着上下左右四方向一定能到达相邻的其他建筑。也就是说,所有的建筑构成了一个大的“连通块”。
为了美化建筑,景区计划为所有建筑的外墙绘制特别的图案。请你编程统计出,所有外墙的总长度是多少?
外墙的定义为:从景区的外面看到的墙,称为外墙。从景区外面看不到,需要进入景区某建筑之后才能看到的墙,则不能称之为外墙。即:外墙在不进入景区的前提下一定都能看得到。
每面外墙的长度为 1。更具体的,请参考下方的样例解释。
第一行输入一个整数 T,表示建筑的数量。
接下来的 T 行,每行读入两个整数 X_i,Y_i,表示第 i 栋建筑在二维数组中的行列编号。所有建筑物的位置都是唯一的。
输出一个整数,表示外墙的总长度。
3 1 1 1 2 2 2
8
20 1 1 1 2 1 3 1 4 1 5 2 5 3 1 3 2 3 3 3 5 4 1 4 3 4 5 5 1 5 5 6 1 6 2 6 3 6 4 6 5
42
19 1 1 1 2 1 3 1 4 1 5 2 1 2 3 2 5 3 1 3 3 3 5 4 1 4 3 4 5 5 1 5 2 5 3 5 4 5 5
20
下图从左至右分别给出了样例 1、样例 2、样例 3三个样例的图示。
图示中灰色方块,描述了样例中的建筑的位置,红色边框标记出了样例中的所有外墙。

有 10\% 的数据满足 Y_i=1。
有另外 30\% 的数据满足 1 \le T \le 1000,1 \le X_i,Y_i \le 100。
对于 100\% 的数据,满足 1 ≤ T ≤ 5 \times 10^4,1 ≤ X_i, Y_i ≤ 10^6。