Un primar proaspăt ales vrea să dovedească electoratului său că votându-l, cetăţenii au făcut o alegere bună. În acest scop el a decis să reasfalteze străzile dintre edificii importante din oraş, numerotate de la la . Între oricare două dintre aceste edificii există o singură stradă cu două sensuri de circulaţie. Edificiul numerotat cu este primăria.
Primarul cere consilierilor să stabilească toate traseele pe care reasfaltarea străzilor o poate urma printre cele edificii, ştiind că are străzi “preferate” pe care trebuie să le asfalteze în mod obligatoriu. Se ştie că oricare două străzi preferate nu au capete comune. Traseele care se vor reasfalta trebuie să pornească de la primărie, să ajungă o singură dată la fiecare din celelalte edificii şi să se întoarcă tot la primărie.
Cerinţă
Determinaţi numărul traseelor distincte, respectând cerinţele de mai sus.
Date de intrare
Pe prima linie a fișierului de intrare asfalt.in
se găsesc două numere naturale, separate printr-un spaţiu, reprezentând numărul edificiilor (), respectiv numărul străzilor preferate ale primarului ().
Date de ieșire
Pe prima linie a fișierului de ieșire asfalt.out
se va găsi un singur număr întreg, reprezentând numărul traseelor distincte, posibile;
Restricții și precizări
- Dacă un traseu este diferit de un altul doar prin direcţia în care se parcurge drumul, pornind de la primărie şi revenind aici, acesta se consideră identic cu primul. De exemplu, traseul - - - - este identic cu traseul - - - - .
Exemplu
asfalt.in
4 1
asfalt.out
2