Yeongseon teaches at an algorithm camp. While running a seminar on sweeping, she wrote one practice problem: "Given n points at integer coordinates in the first quadrant, choose the line through the origin that has the most of those points on it, and report how many points that is." She noticed a hole in it later. Counting the points by slope solves it without any sweep.
So she turned the points into segments in a hurry to force a sweep. You are in her class, so solve the new version.
"Given n segments at integer coordinates in the first quadrant, choose the line through the origin that crosses the most segments, and report how many segments that is."
A line that passes through only an endpoint of a segment counts as crossing it.
Input
The first line contains the number of segments n. (1≤n≤100000)
Each of the next n lines contains the coordinates of the two endpoints of one segment, x1, y1, x2, y2. (1≤x1,y1,x2,y2≤109) The two endpoints of one segment are never the same point, and segments may cross each other.
Output
Print on one line the number of segments crossed by the line through the origin that crosses the most segments.