Fortress
To construct a fortress on the field, its aerial view must form a non-degenerate convex polygon. The sides of this polygon will represent the ramparts, while the vertices will represent the towers. Towers can also be positioned along the ramparts. Due to the varied geo- and hydrological conditions of the area, towers can only be built at specific points. However, straight ramparts can be constructed freely. The goal is to maximize the number of towers placed along the fortress's perimeter.
Your task is to determine the maximum number of towers that can be positioned at the intersections (joints) of the ramparts and along the ramparts of the fortress, which must form a non-degenerate convex polygon when viewed from above. All vertices of the polygon must have towers.
Input
The first line contains an integer n (1 ≤ n ≤ 100), representing the number of potential tower locations. Each of the following n lines provides two integers x_j and y_j, indicating the coordinates of a point where a tower can be built (|x_j| ≤ 10000, |y_j| ≤ 10000). All points (x_1, y_1), (x_2, y_2), ..., (x_n, y_n) are distinct.
Output
The output should be a single line containing the maximum number of towers that can be placed. If constructing the fortress is impossible, output 0.