G. Reedy 교수는 주식 거래소에서 주식을 사고팔아 돈을 벌기 위한 프로그램을 작성하고 있습니다. 교수는 Noway라는 회사의 주식에 관심이 있으며, 성공의 열쇠는 거래소의 과거 기록을 꼼꼼히 살펴보는 것이라고 믿습니다. 교수는 n일 동안 주가를 관찰했고, i번째 날 Noway 주식 한 주의 가격은 pi달러였습니다 (1≤i≤n). 모든 가격은 서로 다르다고 가정합니다.
교수는 이 데이터에 대해 m개의 질의를 하려고 합니다. 각 질의는 ⟨b,e,l,u⟩ 형태이며, b번째 날부터 e번째 날까지(양 끝 포함) 중에서 주가가 l달러 이상 u달러 이하였던 날이 며칠인지를 묻습니다.
질의는 인코딩된(온라인) 형태로 주어집니다. i번째 질의 (1≤i≤m)에서는 네 정수 bi, ei, li, ui가 주어집니다. 여러분은 질의 ⟨bi,ei,li+si−1,ui+si−1⟩의 답인 si를 계산해야 합니다. 여기서 si−1은 바로 앞 질의의 답이며 s0=0입니다. 각 질의가 직전 답에 의존하므로, 질의는 반드시 순서대로 처리해야 합니다.
표준 입력에서 주가 기록과 질의를 읽어 각 질의의 답을 계산하고, 표준 출력에 답을 출력하는 프로그램을 작성하세요.
첫째 줄에 두 정수 n과 m이 공백으로 구분되어 주어집니다 (1≤n≤100,000, 1≤m≤1,000,000). 이어지는 n개의 줄에는 각각 정수 pi가 하나씩 주어지며, 이는 i번째 날의 주가입니다 (1≤pi≤109). 그다음 m개의 줄에는 각각 네 정수 bi, ei, li, ui가 공백으로 구분되어 주어집니다 (1≤bi≤ei≤n, 1≤li+si−1≤ui+si−1≤109). 주어지는 li와 ui 자체는 0 이하일 수 있으며, 디코딩된 경계 li+si−1과 ui+si−1만이 [1,109] 범위에 있음이 보장됩니다.
m개의 줄을 출력합니다. i번째 줄에는 i번째(디코딩된) 질의의 답인 정수 si 하나를 출력합니다.