미디언 필터
시간 제한1초메모리 제한128 MB
꺾은점으로 주어진 조각별 선형 정수 신호에 폭 2d+1의 중앙값 필터를 적용한 결과를 꺾은점으로 출력한다.
문제
디지털 신호는 모든 정수 에 정수 를 대응시키는 함수다. 끝없이 이어지는 신호를 유한개의 수로 나타내려고 몇 개의 값만 직접 지정하고, 나머지 값은 선형 보간으로 구한다.

위 그림의 신호는 점 , , , 로 나타낼 수 있다. 즉 , , , 만 직접 주어지고, 나머지 값은 이웃한 두 점을 지나는 직선 위에 있다.
- 구간 의 값은 과 을 지나는 직선에서 구한다.
- 구간 의 값은 과 을 지나는 직선에서 구한다.
- 구간 의 값은 과 을 지나는 직선에서 구한다.
이웃한 점을 지나는 직선이 신호를 정확히 보간하기만 하면, 같은 신호를 원하는 만큼 많은 점으로 나타낼 수 있다.
신호의 잡음을 없앨 때는 미디언 필터를 자주 쓴다. 너비가 인 미디언 필터는 신호 를 입력으로 받아 인 신호를 출력한다. 다시 말해 를 정렬한 뒤 가운데 값을 고른 것이 다.
아래에서 왼쪽 그림은 입력 신호, 오른쪽 그림은 너비가 5인 필터를 지난 출력 신호다.




입력 신호가 점으로 주어질 때 너비 미디언 필터의 출력 신호를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 입력 신호를 나타내는 점의 개수 ()이 주어진다.
다음 개 줄에 점의 좌표를 나타내는 두 정수가 주어진다. 두 좌표의 절댓값은 모두 이하다. 점은 첫째 좌표가 작은 것부터 주어지고, 서로 다른 두 점의 첫째 좌표는 다르다. 보간으로 얻는 값은 모두 정수다.
마지막 줄에 정수 ()가 주어진다. 필터의 너비는 이다.
출력
출력 신호 를 꺾인점으로 나타낸다. 인 정수 를 의 꺾인점이라고 한다. 의 꺾인점은 유한개다.
꺾인점이 하나 이상이면 이를 이라 하고, 첫째 줄에 를 출력한다. 이어서 다음 개의 점을 이 순서대로 한 줄에 두 정수씩 출력한다.
의 기울기는 과 에서 각각 일정하므로 이 점들은 를 정확히 보간한다.
꺾인점이 없으면 는 하나의 직선이다. 이때 첫째 줄에 를 출력하고, 다음 두 줄에 점 과 을 출력한다. 여기서 은 입력의 첫 점의 첫째 좌표다.
출력하는 수는 모두 부호 있는 64비트 정수 범위에 들어간다.