Per moure’s per París, un membre dels equips UPC (aka Pesao) es va oferir per guiar el grup des d’un punt d’origen fins a un punt de destí . Malgrat les ganes que hi posava, els camins que acabava escollint no eren mai els millors: el grup sempre s’acostava a , però en cap moment s’agafava un carrer que hi anés òptimament.
Específicament, sigui la distància mínima des de cada punt fins a . Si en algun moment s’estava en el punt , i hi havia un carrer de longitud que connectava amb un altre punt , es podia passar pel carrer només si es donaven les dues condicions següents:
, i.e., la distància a sempre disminuia estrictament.
No hi havia cap camí de distància mínima per anar des d’ fins a que passés pel carrer. En altres paraules, .
De quantes maneres es podria haver fet una ruta que anés des d’ fins a tot complint les condicions anteriors?
L’entrada consisteix en diversos casos, només amb nombres enters. Cada cas comença amb el nombre de punts , el nombre de carrers bidireccionals , l’origen i el destí , amb . Segueixen ternes amb la informació de cada carrer , amb i . Podeu suposar i . Els punts es numeren entre 0 i . Pot haver-hi més d’un carrer entre dos punts donats. També pot ser que no hi hagi cap camí entre i .
Per a cada cas, escriviu el nombre de camins possibles mòdul .
Input
2 2 0 1 0 1 100 0 1 200 2 2 0 1 0 1 100 0 1 100 5 0 4 2 5 12 4 2 4 0 10 0 4 20 4 1 15 3 4 30 0 2 20 0 2 10 0 3 7 3 2 14 3 2 5 1 0 9 2 1 6 2 1 12
Output
1 0 0 5