바이티는 생일 선물로 나무 블록 한 세트를 받았다. 블록은 모두 크기가 같은 단위 정육면체여서 서로 구별할 수 없다. 바이티는 블록을 위로 쌓아 더미를 만들고, 이 더미들을 한 줄로 나란히 세워 놓는다. 더미의 높이는 서로 다를 수 있다.
바이티의 아버지 바이테아사르는 다음과 같은 퍼즐을 낸다. 정수 k를 하나 정한 뒤, 높이가 k 이상인 더미가 연속으로 최대한 많이 이어지도록 블록을 재배치하라는 것이다.
단, 블록은 다음 규칙으로만 옮길 수 있다. 현재 높이가 k보다 엄격하게 큰 더미에서 맨 위 블록 하나를 집어, 바로 양옆에 있는 더미 중 하나의 맨 위에 올려놓는다. 새로운 더미를 만들 수는 없고, 이미 있는 더미들 사이에서만 블록을 옮길 수 있다.
더미는 모두 n개이고, i번째 더미의 처음 높이는 xi이다. 바이테아사르는 서로 독립적인 질문을 m개 던진다. 각 k 값에 대해, 허용된 이동으로 얻을 수 있는 '높이가 k 이상인 연속한 더미'의 최대 개수를 구하라. 모든 질문은 처음 배치에서 새로 시작한다.
첫째 줄에 두 정수 n과 m이 주어진다 (1≤n≤106, 1≤m≤50). 각각 더미의 개수와 바이테아사르의 질문 개수이다. 더미는 1번부터 n번까지 번호가 매겨져 있다.
둘째 줄에 n개의 정수 x1,x2,…,xn이 주어진다 (1≤xi≤109). xi는 i번째 더미의 높이이다.
셋째 줄에 m개의 정수 k1,k2,…,km이 주어진다 (1≤kj≤109). 답을 구해야 하는 매개변수 k의 값들이다.
m개의 정수를 공백 하나로 구분하여 출력한다. j번째 정수는 매개변수 kj에 대한 답, 즉 처음 배치에서 허용된 이동으로 얻을 수 있는 '높이가 kj 이상인 연속한 더미'의 최대 개수이다.
