Hay momentos así#12346

Hay momentos así

2 segundos
256 megabytes
Muy difícil

Hay momentos en la vida de cada uno en los que deseas escuchar respuestas a consultas.

Ese momento ha llegado para Serguéi. Ha ideado un problema muy interesante y te lo ha dado para que lo resuelvas.

Él tenía un arreglo , que consistía solo en y , y puedes realizar la siguiente operación en él:

El arreglo se considerará bonito si logras cambiar todo el arreglo a unos.

Sin embargo, dado que Serguéi está atravesando un período complicado en su vida, decidió complicar su problema y plantearte consultas en formato [l, r]. Debes responder a la consulta indicando si el subsegmento [l, r] del arreglo es bonito.

Entrada

La primera línea contiene tres números enteros , , (1 \le n, k, q \le 10^6) — la longitud del arreglo , el número , y la cantidad de consultas.

La segunda línea contiene números enteros a_1, a_2, \dots, a_n (0 \le a_i \le 1) — el arreglo de Serguéi.

Cada una de las siguientes líneas contiene dos números enteros y (1 \le l; l+2 \cdot k-1 \le r \le n) — las consultas de Serguéi.

Salida

Debes responder a cada consulta. Si el arreglo no es bonito, debes imprimir «NO», de lo contrario imprimir «YES».

Ejemplos

Ejemplo 1

Loading
Loading

Nota

Consulta : Subarreglo [1,0,1,0,0,1,0,0,0,1]. Primer paso en : el subarreglo [1,0,1,0,0,1] tiene ceros y unos, lo cambiamos \to [1,1,1,1,1,1,0,0,0,1]. Segundo paso en . Respuesta: YES.

Consulta : Subarreglo [0,1,1,1,1,0,0] — imposible cubrir todos los ceros con las operaciones permitidas. Respuesta: NO.

Consulta : Subarreglo [0,0,1,0,1,1,1]. Paso en : [0,0,1,0,1,1] — ceros, unos, un paso lo concluye. Respuesta: YES.

Consulta : Subarreglo [0,0,0,1,0,1,1] — ceros, unos. Esto es imposible hacerlo. Respuesta: NO.

Consulta : Subarreglo [1,0,1,0,0,1] — exactamente ceros y unos, un paso para todo el segmento. Respuesta: YES.

Puntuación

  1. ( puntos): q = 1; l_1 = 1; r_1 = n;

  2. ( puntos): n \le 10;

  3. ( puntos): n,q \le 5\,000;

  4. ( puntos): l_i = 1;

  5. ( puntos): k = 1;

  6. ( puntos): k \le 50;

  7. ( puntos): r_i - l_i + 1 = 4 \cdot k;

  8. ( puntos): Si la respuesta es «YES», esto se puede lograr solo en una operación.

  9. ( puntos): Sin restricciones adicionales.