옆 방향 속도가 제한된 채로 아래에서 위로 달리면서 주울 수 있는 보석의 최대 개수를 구합니다.
레이싱 게임을 한다. 캐릭터는 xxx축(y=0y = 0y=0) 위에서 출발해 트랙을 따라 위로 달린다. 트랙의 좌우 경계는 직선 x=0x = 0x=0과 직선 x=wx = wx=w이다. 출발 지점의 가로 좌표는 트랙 안이기만 하면 원하는 대로 고를 수 있다. 결승선은 y=hy = hy=h이고, 이 선에 닿으면 게임이 끝난다.
세로 속도는 vvv로 고정되어 있다. 반면 가로 속도는 −v/r-v/r−v/r 이상 v/rv/rv/r 이하의 값 중 아무 값이나 고를 수 있고, 언제든지 바꿀 수 있다.
트랙 위 정해진 nnn개의 지점에 보석이 하나씩 놓여 있다. 보석을 최대한 많이 모으려고 한다. 한 번의 주행에서 모을 수 있는 보석은 최대 몇 개인가?
첫째 줄에 네 정수 nnn, rrr, www, hhh가 공백으로 구분되어 주어진다 (1≤n≤1051 \le n \le 10^51≤n≤105, 1≤r≤101 \le r \le 101≤r≤10, 1≤w,h≤1091 \le w, h \le 10^91≤w,h≤109).
다음 nnn개의 줄에는 각각 두 정수 xix_ixi와 yiy_iyi가 공백으로 구분되어 주어진다. 이는 iii번째 보석의 좌표이다 (0≤xi≤w0 \le x_i \le w0≤xi≤w, 0<yi≤h0 < y_i \le h0<yi≤h). 한 위치에 보석이 둘 이상 놓이는 경우는 없다.
vvv의 값은 입력에 주어지지 않는다.
주행 중 모을 수 있는 보석의 최대 개수를 한 줄에 출력한다.