eolymp
bolt
Try our new interface for solving problems
Problems

Inner Vertices

Inner Vertices

Time limit 2 seconds
Memory limit 128 MiB

There is an infinite square grid. Some vertices of the grid are black and other vertices are white.

A vertex V is called inner if it is both vertical-inner and horizontal-inner. A vertex V is called horizontal-inner if there are two such black vertices in the same row that V is located between them. A vertex V is called vertical-inner if there are two such black vertices in the same column that V is located between them.

On each step all white inner vertices became black while the other vertices preserve their colors. The process stops when all the inner vertices are black.

Write a program that calculates a number of black vertices after the process stops.

Input data

The first line of the input file contains one integer number n (0 ≤ n ≤ 100000) — number of black vertices at the beginning.

The following n lines contain two integer numbers each — the coordinates of different black vertices. The coordinates do not exceed 10^9 by their absolute values.

Output data

Print the number of black vertices when the process stops. If the process does not stop, output -1.

3061.jpg

Examples

Input example #1
4
0 2
2 0
-2 0
0 -2
Output example #1
5
Source Northeastern Europe 2005, Northern Subregion