화살을 쏘자!
면접 대비시간 제한1초메모리 제한1024 MB
원점에서 시작하는 한 직선 위에 놓인 점의 개수가 최대가 되도록 하는 값을 구한다.
문제
호준이는 요즘 활 쏘기에 푹 빠져 있다. 열심히 연습한 끝에 쏠 때마다 10점이 나오는 경지에 이르렀다. 한 방향으로 있는 과녁에 쏘는 것에 실증을 느낀 호준이는 새로운 방식의 활 쏘기를 시도해 보기로 하였다.
화살이 꽂힌 위치에 따라 점수를 얻는 기존 방식과 달리, 2차원의 넓은 공터에 풍선을 (x, y) 지점에 설치해 두고 지정된 위치 (0, 0)에서 원하는 방향으로 화살을 쏜다. 화살은 진행 방향으로 무한히 뻗어 나갈 수 있으며, 이 화살이 날아가며 터트린 풍선의 수만큼 점수를 얻기로 했다. 풍선 한 개당 점수는 1점으로 동일하고 같은 위치에 2개 이상의 풍선을 둘 수 없다. 또한 호준이가 서 있는 (0, 0)에도 풍선을 둘 수 없다.
호준이는 신중하게 방향을 설정해 한 발을 쐈고, 자신이 선택한 방향이 최선의 방향인지 궁금해졌다. 화살 하나로 얻을 수 있는 최대 점수가 궁금해진 호준이를 대신해서, 풍선의 위치가 주어질 때 화살 한 개를 쏘아 얻을 수 있는 가장 높은 점수를 알려주자.
입력
첫 번째 줄에 풍선의 개수 정수 N(1 ≤ N ≤ 100,000)이 주어진다.
다음 N개의 줄에는 풍선의 위치인 두 정수 x, y (-1,000,000 ≤ x, y ≤ 1,000,000)가 주어진다.
출력
첫 번째 줄에 화살 한 개를 쏘아 얻을 수 있는 최대 점수를 출력한다.