Олимпиадный тренинг

Задача . A. Катание на Коньках


Байтек учится кататься на льду. Он новичок, и поэтому он передвигается следующим образом: сначала отталкивается от сугроба на север, восток, юг или запад — и катится до тех пор, пока не повстречает очередной сугроб. Байтек заметил, что таким образом он не сможет добраться от некоторых сугробов до некоторых других, какой бы ни была последовательность его движений. Теперь он хочет соорудить несколько дополнительных сугробов так, чтобы он мог добраться от любого сугроба до любого другого. Байтек попросил Вас найти наименьшее количество сугробов, которые ему потребуется соорудить.

Мы предполагаем, что Байтек может сооружать сугробы только в точках с целочисленными координатами.

Входные данные

В первой строке входного файла записано единственное целое число n (1 ≤ n ≤ 100) — количество сугробов. Каждая из следующих n строк содержит по два целых числа xi и yi (1 ≤ xi, yi ≤ 1000) — координаты i-ого сугроба.

Обратите внимание, что направление на север совпадает с направлением оси Oy, таким образом, направление на восток совпадает с направлением оси Ox. Все сугробы расположены в различных точках.

Выходные данные

Выведите наименьшее количество сугробов, которые надо соорудить Байтеку для того, чтобы он мог добраться от любого сугроба до любого другого.


Примеры
Входные данныеВыходные данные
1 2
2 1
1 2
1
2 2
2 1
4 1
0

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя