Ielele

Time limit: 0.6s Memory limit: 32MB Input: Output:

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ă NN sate, conectate prin N1N - 1 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 11 și MM.

Ielele se întreabă: Câte parcursuri există între sate, pentru care lungimile drumurilor formează o permutare a numerelor de la 11 la MM?

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 NN și MM, cu semnificația din enunț.

Pe următoarele N1N - 1 linii se găsesc câte 3 numere AA, BB (1A,BN1 \leq A, B \leq N) și LL (1LM1 \leq L \leq M), semnificând că există un drum de lungime LL între satul AA și satul BB.

Date de ieșire

Pe unica linie afișati numărul cerut.

Restricții și precizări

  • 1N1051 \leq N \leq 10^5.
  • 1M<N1 \leq M < N.
  • Se garantează că datele din input sunt corecte.
# Punctaj Restricții
1 20 1N10001 \leq N \leq 1000
2 20 M=2M = 2
3 20 M=3M = 3
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 62356 - 2 - 3 - 5, și
  • Parcursul 43214 - 3 - 2 - 1.

Nu există niciun alt parcus ale cărui lungimi de drumuri să formeze o permutare a numerelor de la 11 la 33.

Log in or sign up to be able to send submissions!