공격 상황 시뮬레이션

NYPC 2020 · 예선

피파온라인에서 공격 상황을 시뮬레이션 하는 기능을 만드려고 한다. 시뮬레이션에서 축구장을 2차원 좌표 평면으로 표현한다. 축구장에 NN 명의 공격수가 있으며, 골대는 한 개 있다. 골대의 양쪽 끝점의 좌표는 (A,0)(A, 0)(B,0)(B, 0)이다.

<그림 1> 공격 상황의 예시
<그림 1> 공격 상황의 예시

<그림 1>을 보자. 빨간 점은 골대의 양쪽 끝점, 검은 점은 공격수를 나타내며, 공격수가 총 55명 있다. 공격수가 골대에 골을 넣을 수 있는 모든 각도에 대해 골의 궤적에 다른 공격수가 없는 경우, 유효한 공격수라고 하자. 즉, 공격수와 골대의 양 끝점으로 이루어진 삼각형 영역 안에 다른 공격수가 없는 경우, 그 공격수는 유효한 공격수다.

<그림 1>에서 (2,6)(2, 6)에 위치한 공격수는 유효한 공격수지만, (5,7)(5, 7)(7,9)(7, 9)에 위치한 공격수는 유효한 공격수가 아니다.

공격수 NN 명의 위치와 골대의 위치가 주어졌을 때, 유효한 공격수가 몇 명인지 구하는 프로그램을 작성하자.

입력 형식

첫 줄에 공격수의 수를 나타내는 정수 NN과 골대의 양쪽 끝점의 위치를 나타내는 정수 AA, BB가 공백으로 구분되어 주어진다. (1N300000;(1 \le N \le 300\,000; 1000000000A<B1000000000)-1\,000\,000\,000 \le A \lt B \le 1\,000\,000\,000)

다음 NN 개의 줄에 ii 번째 공격수의 위치를 나타내는 정수 Xi,YiX_i, Y_i가 공백으로 구분되어 주어진다. 이때, ii 번째 공격수의 위치는 (Xi,Yi)(X_i, Y_i)이며, 모든 공격수의 위치는 다르다. (1000000000Xi1000000000;(-1\,000\,000\,000 \le X_i \le 1\,000\,000\,000; 1Yi1000000000)1 \le Y_i \le 1\,000\,000\,000)

골대의 한쪽 끝점과 서로 다른 두 공격수가 일직선 상에 위치한 입력은 주어지지 않는다.

출력 형식

첫 줄에 유효한 공격수가 몇 명인지 출력한다.

예제

입력

5 1 9 2 6 4 5 5 7 6 6 7 9

출력

3

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 30

N3000N \le 3\,000

종류 2: 70

추가적인 제한 조건이 없음.

해설