Cerință
Se dă un un multigraf neorientat cu noduri și muchii. Muchia unește nodurile și și are asociat un interval : ea poate fi parcursă doar dacă numărul de muchii parcurse înainte este cuprins între și , inclusiv.
Un drum este un șir de muchii , cu , care pornește din nodul , în care fiecare muchie continuă din nodul în care s-a terminat cea dinainte și în care muchia respectă . Nodurile și muchiile se pot repeta. Să se afle câte drumuri se termină în nodul . Deoarece rezultatul poate fi foarte mare, se cere modulo .
Date de intrare
Pe prima linie se găsesc două numere naturale, și . Pe fiecare dintre următoarele linii se găsesc patru numere naturale, , , și .
Date de ieșire
Pe prima linie se va găsi un număr natural, numărul de drumuri care se termină în nodul , modulo .
Restricții și precizări
- ;
- ;
- ;
- ;
- Între două noduri pot exista mai multe muchii
- Pot exista muchii cu .
- Două drumuri sunt diferite dacă diferă șirurile lor de muchii.
| # | Punctaj | Restricții |
|---|---|---|
| 0 | 0 | Exemple |
| 1 | 60 | |
| 2 | 40 | Fără restricții suplimentare |
Exemplul 1
stdin
4 4
1 2 0 1
2 3 1 3
3 4 2 2
2 4 3 5
stdout
4
Explicație
Cele drumuri care se termină în nodul sunt:
- ;
- ;
- ;
- .
După muchii parcurse nu se mai poate folosi nicio muchie.
Exemplul 2
stdin
2 2
1 2 0 2
1 2 1 1
stdout
3
Explicație
Drumurile sunt , și , unde fiecare drum este dat prin indicii muchiilor parcurse. Primul drum ajunge în nodul și se oprește, iar celelalte două trec prin nodul , se întorc în nodul și ajung din nou în nodul .