Катки зимнего фестиваля
Просмотр в формате PDFВ снежном городе готовят зимний фестиваль. Для этого на карте города отмечены n праздничных площадок, и на каждой площадке будет устроен каток.
Каждая площадка задаётся двумя числами x_i и y_i — номером снежной улицы и номером ледяного проспекта, на пересечении которых она расположена.
Организаторы считают две площадки связанными напрямую, если они находятся либо на одной и той же снежной улице, либо на одном и том же ледяном проспекте.
Кроме того, связность определяется транзитивно: если площадка A напрямую связана с B, а B напрямую связана с C, то A и C также считаются находящимися в одной группе площадок.
Чтобы фестиваль выглядел единым, нужно провести несколько новых праздничных переходов между площадками так, чтобы все площадки оказались в одной общей группе связности.
За один переход можно напрямую соединить любые две площадки.
Определите минимальное количество переходов, которое необходимо построить.
Входные данные
В первой строке содержится одно целое число n (1 <= n <= 100) — количество площадок.
В следующих n строках содержатся по два целых числа x_i, y_i (1 <= x_i, y_i <= 1000) — координаты i-й площадки.
Выходные данные
Выведите одно целое число — минимальное количество переходов, необходимых для того, чтобы все площадки стали связаны.
Ограничения
1 <= n <= 1001 <= x_i, y_i <= 1000
Примеры
Пример 1
Входные данные
2
1 1
2 2
Выходные данные
1
Пример 2
Входные данные
5
1 1
2 1
1 2
2 2
3 3
Выходные данные
1
Пример 3
Входные данные
text
Комментарии