모여라

각 질의 [l, r]마다 l번부터 r번 사람들이 임의의 한 점에 모일 때 체비쇼프 거리 합의 최솟값을 구한다.

보통7누적 합분할 정복수학정렬아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

2차원 평면에 NN명이 서 있다. 사람에게는 1번부터 NN번까지 번호가 붙어 있다.

두 점 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 사이의 거리는 max(x1x2,y1y2)\max(|x_1 - x_2|, |y_1 - y_2|)로 정의한다.

다음 쿼리를 처리하는 프로그램을 작성하시오.

  • l r: ll번 사람부터 rr번 사람까지 평면 위의 한 점 PP에 모일 때, 각 사람과 점 PP 사이의 거리의 합의 최솟값을 출력한다.

PP는 평면 위의 어느 곳이든 될 수 있고, 좌표가 정수일 필요는 없다.

입력

첫째 줄에 사람의 수 NN과 쿼리의 수 QQ가 공백으로 구분되어 주어진다. (1N,Q1000001 \le N, Q \le 100\,000)

둘째 줄부터 NN개의 줄에 ii번 사람의 좌표 XiX_iYiY_i가 공백으로 구분되어 주어진다. (1000000000Xi,Yi1000000000-1\,000\,000\,000 \le X_i, Y_i \le 1\,000\,000\,000)

다음 QQ개의 줄에 쿼리의 LiL_iRiR_i가 공백으로 구분되어 주어진다. (1LiRiN1 \le L_i \le R_i \le N)

출력

각 쿼리의 답을 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.

답은 항상 0.50.5의 배수이므로 소수점 아래 한 자리까지 정확히 출력한다. 답이 55이면 5.0을, 8.58.5이면 8.5를 출력한다.

힌트

첫 번째 예제의 첫 번째 쿼리는 (1.5,2.5)(1.5, 2.5)에 모일 때가 최소이고, 두 번째 쿼리는 (1,1)(1, 1)에 모일 때가 최소이다.