El robot Machin
Tras una intensa colaboración entre los concursantes de física e informática, lograron terminar un gran proyecto: "El robot Machin".
El robot Machin opera dentro de una sala que se puede representar como un arreglo de tamaño
, donde cada posición de la sala tiene un entero
. Si Machin está en la posición número
el se puede mover a la posición
o
, siempre y cuando no se salga de los límites de la sala (
y
). Además el robot Machin está configurado para moverse exactamente
veces.
Sea , las posiciones formadas por alguna secuencia de movimientos del robot Machin, donde
es la posición inicial y
es la posición donde se encontrará luego de
movimientos. Dicha secuencia la llamaremos camino bueno, la cual también tiene asociado un valor:
.
El valor de la sala, es igual a la suma del valor de todos los caminos buenos que puede formar Machin. Dos caminos se consideran diferentes si en algún punto
el robot se encontrará en posiciones distintas. Debido a que el valor de la sala puede llegar a ser muy grande los creadores del proyecto lo toman módulo
.
En su afán por la ciencia, ellos hacen
actualizaciones, y en cada una escogen un índice
y un valor
para hacer
. Así que ahora tienen un grave problema, cual será el valor de la sala luego de la
-ésima actualización?
Entrada
La primera línea de entrada contiene 3 enteros ,
y
(
;
;
), el tamaño de la sala, el entero con el que está configurado el robot Machin y la cantidad de actualizaciones respectivamente.
La segunda línea contiene enteros
(
).
Seguido de líneas cada una con dos enteros separados por espacios:
y
(
;
) que indican que debes cambiar el valor de
por
.
Salida
Imprima líneas, cada una con un único entero, el valor de la sala tras la
-ésima actualización (note que las actualizaciones se mantienen). Debido a que puede ser un entero demasiado grande, de el resultado modulo
.
Puntuación
| Subtarea | Condiciones | Puntos | Dependencias |
|---|---|---|---|
Ejemplos
Entrada de ejemplo 1
5 1 5
3 5 1 4 2
1 9
2 4
3 6
4 6
5 2
Salida de ejemplo 1
62
58
78
86
86
Explicación ejemplo 1
En el primer ejemplo los caminos buenos son: .
Inicialmente los valores de a son: . Luego de la primera actualización el arreglo se convierte en:
. Luego de la segunda el arreglo a es igual a:
, y así sucesivamente.
Entrada de ejemplo 2
5 2 5
3 5 1 4 2
1 9
2 4
3 6
4 6
5 2
Salida de ejemplo 2
157
147
207
227
227
Entrada de ejemplo 3
4 40 6
92 21 82 46
3 56
1 72
4 28
1 97
2 49
2 88
Salida de ejemplo 3
239185261
666314041
50729936
516818968
766409450
756910476
Comments