[B] Peticiones sobre una cadena de texto


Enlace a Codeforces

tiempo límite por test 2 segundos
memoria límite por test 256 MB
entrada entrada estándar
salida salida estándar


Se te da una cadena ss y debes procesar mm peticiones sobre ella. Cada petición se describe mediante dos índices basados en 1, lil_i y rir_i, y un entero kik_i. Estos valores significan que debes desplazar de forma cíclica kik_i veces la subcadena s[liri]s[l_i \ldots r_i]. Las peticiones se deben procesar una tras otra siguiendo el orden en que son dadas.

Una operación de desplazamiento cíclico (rotación) es equivalente a mover el último carácter de la subcadena a la primera posición, y desplazar todos los demás caracteres una posición a la derecha.

Por ejemplo, si la cadena ss es abacaba y la petición es l1=3l_1 = 3, r1=6r_1 = 6, k1=1k_1 = 1 entonces la respuesta es abbacaa. Si después de eso procesaramos la petición l2=1l_2 = 1, r2=4r_2 = 4, k2=2k_2 = 2 entonces obtendríamos la cadena baabcaa.

Entrada

La primera línea contiene la cadena ss en su estado inicial (1s10000 1 \leq |s| \leq 10000, donde |s| representa la longitud de ss). La cadena sólo contiene letras minúsculas del Inglés.

La segunda línea contiene un entero mm (1m3001 \leq m \leq 300) - el número de solicitudes.

Cada i-ésima de las siguientes mm líneas contiene tres enteros lil_i, rir_i, y kik_i (1liris,1ki10000001 \leq l_i \leq r_i \leq |s|, 1 \leq k_i \leq 1000000) - la descripción de la i-ésima petición.

Salida

Imprime la cadena ss que resulta tras procesar las mm peticiones.

Ejemplos

input:
abacaba
2
3 6 1
1 4 2

output:
baabcaa

Nota

El ejemplo se describe en el enunciado del problema.