600121 - 集合的合并和查找

Time Limit

20 毫秒

Memory Limit

128 MB

通过次数

14

提交次数

47

平面上有n个点,其中xy坐标相等的视为连通。求至少添加几个点能让全部点之间连通。

Input

第一行,一个整数n表示点个数。

接下来n行,每行有单个空格分隔的两个整数x_i,y_i表示一个点的坐标。

对于100%的数据:

2 \le n \le 10^3

-10^6 \le x_i,y_i \le 10^6

Output

一个整数,表示至少需要添加的点个数。

Examples

Input

2
3 2
2 3

Output

1

Input

2
-1 1
-1 2

Output

0

Input

3
-1 1
-1 2
-2 2

Output

0