하늘에서 별똥별이 빗발친다

한 변의 길이가 L인 축에 평행한 정사각형을 놓아 K개의 점 중 최대한 많이 덮을 때, 덮이지 않아 지면에 떨어지는 별의 개수를 구한다.

보통6배열정렬이분 탐색투 포인터면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

"오빠, 나 얼마만큼 사랑해?"

"널 위해서라면 저 하늘의 별이라도 따다 줄 수 있어. 지금 따줄까?"

"에이, 거짓말!"

"정말이야. 한번 봐봐!"

욱제가 하늘을 발로 차자 정말로 별이 떨어졌다. 하나로 끝나지 않았다. 수많은 별똥별이 지구로 쏟아지기 시작했다. 욱제는 지구를 지키는 정의의 용사가 되기로 했다.

"자기야, 세계를 지키고 올게. 꼭 돌아올 테니 조금만 기다려줘."

지구가 부서지는 것을 막으려면 지표면에 떨어지는 별똥별의 수를 최소로 줄여야 한다. 욱제는 한 변의 길이가 LL인 정사각형 트램펄린을 하나 준비했다. 별똥별이 어디에 떨어질지 이미 알고 있으니, 트램펄린을 잘 놓아서 최대한 많은 별똥별을 우주로 튕겨낼 생각이다.

트램펄린은 두 변이 각각 xx축과 yy축에 평행하도록 놓아야 한다. 비스듬히 돌려서 놓을 수는 없다. 대신 평면 위 어디에나 놓을 수 있고, 놓는 위치가 정수일 필요는 없다. 별똥별이 트램펄린의 모서리에 정확히 떨어져도 튕겨 나간다. 두 별똥별이 같은 위치에 떨어지는 일은 없다.

트램펄린을 가장 좋은 자리에 놓았을 때 지표면에 부딪히는 별똥별이 몇 개인지 구하여라.

입력

첫째 줄에 네 정수 NN, MM, LL, KK가 공백으로 구분되어 주어진다. (1N,M5000001 \le N, M \le 500000, 1L1000001 \le L \le 100000, 1K1001 \le K \le 100) NNMM은 별똥별이 떨어지는 구역의 가로 길이와 세로 길이, LL은 트램펄린 한 변의 길이, KK는 별똥별의 개수다.

다음 KK개의 줄에 별똥별이 떨어지는 위치 xxyy가 공백으로 구분되어 한 줄에 하나씩 주어진다. (0xN0 \le x \le N, 0yM0 \le y \le M) 모든 좌표는 정수이고, 같은 위치가 두 번 주어지지는 않는다.

출력

트램펄린으로 최대한 많은 별똥별을 튕겨냈을 때 지표면에 부딪히는 별똥별의 개수를 첫째 줄에 출력한다.