Ielele s-au întâlnit în clar de lună pentru horă. Dar vai, pădurea lor fermecată a fost tăiată de săteni, pentru lemne de foc. Furioase, ielele vor să se răzbune.
În poiana în care ielele trăiesc există sate, conectate prin drumuri, în așa fel încât din oricare sat se poate ajunge în oricare alt sat. Fiecare drum are o lungime, exprimată ca un număr natural între și .
Ielele se întreabă: Câte parcursuri există între sate, pentru care lungimile drumurilor formează o permutare a numerelor de la la ?
Un parcurs este o cale între două sate care urmează drumurile fără a trece de două ori prin același drum. Cu alte cuvinte, este o succesiune de drumuri care leagă două sate fără a face bucle sau a se întoarce. Un parcurs este considerat egal cu parcursul invers.
Ajutați-le să calculeze numărul de parcursuri posibile.
Date de intrare
Pe prima linie se găsesc numerele și , cu semnificația din enunț.
Pe următoarele linii se găsesc câte 3 numere , () și (), semnificând că există un drum de lungime între satul și satul .
Date de ieșire
Pe unica linie afișati numărul cerut.
Restricții și precizări
- .
- .
- Se garantează că datele din input sunt corecte.
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 20 | |
3 | 20 | |
4 | 20 | Există un parcurs care trece prin toate satele. |
5 | 20 | Nicio constrângere suplimentară. |
Exemplul 1
stdin
6 3
1 2 1
2 3 2
3 4 3
3 5 1
2 6 3
stdout
2
Explicație
Există două parcursuri valide:
- Parcursul , și
- Parcursul .
Nu există niciun alt parcus ale cărui lungimi de drumuri să formeze o permutare a numerelor de la la .