밀림 점프

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

수마트라의 열대 밀림에, 왼쪽부터 오른쪽으로 0부터 N1N - 1까지 번호가 매겨진 NN 그루의 나무가 있다. 각각의 나무의 높이는 모두 다르다. 나무 ii의 높이는 H\[i]H\[i]이다.

이 교수는 오랑우탄을 훈련시켜서 나무 사이를 점프해서 다니게 하고 있다. 한번 점프할 때, 오랑우탄은 현재 있는 나무의 꼭대기에서, 왼쪽 또는 오른쪽으로 현재 나무 높이보다 더 높은 가장 가까운 나무로 점프할 수 있다. 엄밀하게는, 현재 오랑우탄이 나무 xx에 있다면 점프해서 이동하게 되는 나무가 yy라는 것은 다음 두 조건 중 하나를 만족한다는 것과 동치이다.

  • yyH\[y]>H\[x]H\[y] > H\[x]이자 xx보다 작은 가장 큰 음이 아닌 정수이다. 또는
  • yyH\[y]>H\[x]H\[y] > H\[x]이자 xx보다 큰 가장 작은 음이 아닌 정수이다.

이 교수는 오랑우탄을 점프시킬 QQ 가지의 계획을 가지고 있다. 각 계획은 네 정수 AABB, CC, DD (AB<CDA \le B < C \le D)로 표현된다. 이 교수는 오랑우탄이 어떤 나무 ss (AsBA \le s \le B)에서 시작해서 점프를 통해서 최종적으로 나무 ee (CeDC \le e \le D)에 도착할 수 있는 지 알고 싶다. 만약 가능하다면, 오랑우탄이 최소 횟수 점프를 해서 이 계획을 달성하게 하고 싶다.

제한

  • 2N200,0002 \le N \le 200\\,000
  • 1Q100,0001 \le Q \le 100\\,000
  • 1H\[i]N1 \le H\[i] \le N (모든 0iN10 \le i \le N - 1)
  • H\[i]H\[j]H\[i] \neq H\[j] (모든 0i<jN10 \le i < j \le N - 1)
  • 0AB<CDN10 \le A \le B < C \le D \le N - 1