Яблоки по корзинам

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

문제

У Саши есть nn яблок с целыми весами w_1,w_2,,w_nw\_1, w\_2, \ldots, w\_n, которые лежат на столе, а также две вместительные корзины.

Саша выбирает целое число kk и рассматривает яблоки с весом не больше kk. После этого она может положить каждое яблоко с весом w_ikw\_i \le k в одну из двух корзин, либо оставить его на столе. Яблоки с весом w_i>kw\_i > k в любом случае остаются на столе.

Назовем пару чисел (x,y)(x, y) kk-достижимой, если Саша может положить некоторые яблоки с весом не больше kk в корзины так, чтобы сумма весов яблок в первой корзине оказалась равна xx, а сумма весов яблок во второй корзине оказалась равна yy. Назовем пару чисел (a,b)(a, b) kk-идеальной, если для всех xx и yy, где 0xa0 \le x \le a и 0yb0 \le y \le b, пара (x,y)(x, y) является kk-достижимой.

Саша рассматривает qq троек чисел kk, aa, bb и для каждой из них хочет понять, является ли kk-идеальной пара (a,b)(a, b).

입력

В первой строке даны два целых числа nn и qq --- количество яблок, которые есть у Саши, и количество запросов, которые вам надо обработать (1n,q300,0001 \le n, q \le 300\\,000).

Во второй строке даны nn целых чисел w_1w\_1, w_2w\_2, \dots, w_nw\_n --- веса яблок, которые есть у Саши (1w_i10121 \le w\_i \le 10^{12}).

В третьей строке находится целое число zz, которое используется для формирования запросов, на которые необходимо ответить (0z1060 \le z \le 10^6).

В следующих qq строках даны описания запросов. Запросы пронумерованы от 11 до qq. Каждая строка содержит три целых числа jj, cc и dd (0j,c,d10180 \le j, c, d \le 10^{18}). Запрос формируется из чисел в этой строке по следующим правилам. Вычислим vv, как сумму номеров запросов, сделанных до текущего, для которых заданная в запросе пара (a,b)(a, b) оказалась kk-идеальной. Тогда в текущем запросе k=jvzk = j - v\cdot z; a=cvza = c - v \cdot z; b=dvzb = d - v \cdot z. Гарантируется, что k,a,b0k, a, b \geq 0.

Обратите внимание, что при z=0z = 0 (что верно для большинства подзадач), значения kk, aa и bb равны jj, cc и dd соответственно. То есть параметры запроса не зависят от ответов на предыдущие запросы и даны во входных данных в явном виде.

출력

На каждый запрос выведите <<Yes>>, если пара (a,b)(a, b) в данном запросе является kk-идеальной, иначе выведите <<No>>.