Visita a JOI-kun
OCI-kun quiere visitar a su gran amigo JOI-kun para retarlo a resolver los problemas del último concurso Esperanzas Olímpicas.
Ambos viven en una ciudad que puede ser representada como un grafo no dirigido de nodos, numerados del
al
, y
aristas. OCI-kun se encuentra en el nodo
y JOI-kun vive en el nodo
.
Un camino entre dos nodos se puede expresar como una secuencia de nodos , donde
es el nodo inicial,
es el nodo final, y existe una arista entre cualesquiera dos nodos consecutivos. Por ejemplo, en el siguiente grafo
describe un camino que va desde el nodo
al nodo
y luego desde el nodo
al nodo
.

Como OCI-kun tiene prisa por empezar a programar, quiere saber cuántos caminos existen desde su casa en el nodo hasta la casa de JOI-kun en el nodo
cuya cantidad de nodos esté relativamente cerca del menor número de nodos posible. Específicamente, debes contar los distintos caminos que contienen menos de
nodos adicionales.
Por ejemplo, considera el grafo anterior con y
que contiene todas las aristas posibles excepto la que une al nodo
con el nodo
. Si
, el menor número de nodos en un camino válido de
a
es
. Debes contar los siguientes caminos:
nodos extra:
y
(
caminos).
nodo extra:
y
(
caminos).
nodos extra:
,
,
,
,
,
,
,
,
y
(
caminos).
Entrada
La primera línea contiene tres enteros ,
y
(
,
,
)
la cantidad de nodos, la cantidad de aristas y el parámetro
.
Cada una de las siguientes líneas contiene dos enteros
y
(
)
indicando que existe una arista bidireccional entre los nodos
y
.
Se garantiza que existe al menos un camino entre el nodo y el nodo
, y que hay a lo sumo una arista entre cualquier par de nodos.
Salida
Imprime enteros
el número de caminos con exactamente
nodos extra, respectivamente.
Como el número de caminos puede ser muy grande, imprime las respuestas módulo .
Subtareas
| Subtarea | Puntos | Restricciones adicionales | Dependencias |
|---|---|---|---|
| Sin restricciones adicionales |
Ejemplos
Entrada 1
4 5 3
1 2
1 3
2 3
2 4
3 4
Salida 1
2 2 10
Comments