나는 가르친다 스위핑을

제1사분면에 주어진 선분들에 대해 원점을 지나는 직선이 가장 많은 선분과 만나도록 할 때 그 개수를 구한다.

어려움8기하정렬투 포인터면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이는 알고리즘 캠프의 강사다. 스위핑 세미나를 진행하면서 연습문제를 하나 만들었다. "제1사분면의 정수 좌표에 점 nn개가 주어질 때, 원점을 지나는 직선 중에서 직선 위에 놓인 점이 가장 많은 직선을 골라 그 점의 개수를 구하여라." 그런데 나중에 보니 스위핑 없이 기울기별로 점을 세기만 해도 풀리는 허점이 있었다.

영선이는 스위핑으로 풀도록 점을 선분으로 바꿔 문제를 급히 고쳤다. 수강생인 당신은 바뀐 문제를 풀면 된다.

"제1사분면의 정수 좌표에 선분 nn개가 주어질 때, 원점을 지나는 직선 중에서 교차하는 선분이 가장 많은 직선을 골라 그 선분의 개수를 구하여라."

직선이 선분의 끝점만 지나는 경우도 교차한 것으로 센다.

입력

첫째 줄에 선분의 개수 nn이 주어진다. (1n1000001 \le n \le 100000)

다음 nn개 줄에 선분의 두 끝점 좌표 x1x_1, y1y_1, x2x_2, y2y_2가 주어진다. (1x1,y1,x2,y21091 \le x_1, y_1, x_2, y_2 \le 10^9) 한 선분의 두 끝점이 같은 경우는 없고, 선분끼리 교차할 수도 있다.

출력

교차하는 선분이 가장 많은 직선에 대해, 그 선분의 개수를 한 줄에 출력한다.