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.
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$$$.
Print a single line containing an integer denoting the minimum amount of darts needed to pop all balloons.
60 01 02 00 11 12 1
2

A solution with 2 darts to the first sample