G. Gabmei, the hacker
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

Gab "gabmei" mei is known for his hacks in Codeforces contests. He once hacked three marathonists in the same contest!

Triple kill!

Now, he is planning to make a comeback. This time, he is coming to the UFPE Starters Final Try-Outs 2026 and plans to "hack" the competitors' balloons by throwing his ultimate darts, which he bought from Quincy Jr., son of Quincy. The competitors' computers can be represented as lattice points on a plane, and their balloons are attached to those points.

His goal is to pop all competitors balloons. However, he wants to use the minimum amount of darts possible. Gabmei can throw a dart from any position he chooses and, once he throws a dart, it continues infinitely in the direction it was thrown, popping all balloons along its path. Help him find the minimum amount of darts he needs to buy from Quincy Jr. to pop all the competitors' balloons.

Note that a dart thrown by Gabmei acts as an infinite line across the plane, since he can throw it from anywhere.

Input

The first line contains an integer $$$n$$$ $$$(1 \le n \le 20)$$$, the number of balloons.

The next $$$n$$$ lines will contain a pair of integers separated by a space, $$$x_i$$$ and $$$y_i$$$, $$$(-10^6 \le x_i, y_i \le 10^6)$$$, the coordinates of the $$$i$$$-th balloon.

It is guaranteed that all balloon coordinates are distinct, that is, $$$(x_i, y_i) \neq (x_j, y_j)$$$ for all $$$i \neq j$$$.

Output

Print a single line containing an integer denoting the minimum amount of darts needed to pop all balloons.

Example
Input
6
0 0
1 0
2 0
0 1
1 1
2 1
Output
2
Note

A solution with 2 darts to the first sample