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 N edificii importante din oraş, numerotate de la 1 la N. Între oricare două dintre aceste edificii există o singură stradă cu două sensuri de circulaţie. Edificiul numerotat cu 1 este primăria.
Primarul cere consilierilor să stabilească toate traseele pe care reasfaltarea străzilor o poate urma printre cele N edificii, ştiind că are H 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 N-1 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
Fişierul de intrare asfalt.in conţine pe prima linie două numere naturale N H, separate printr-un spaţiu, reprezentând numărul edificiilor (N), respectiv numărul străzilor preferate ale primarului (H).
Date de ieşire
Fişierul de ieşire asfalt.out va conţine o singură linie pe care va fi scris un număr întreg pozitiv, reprezentând numărul traseelor distincte, posibile.
Restricţii
• 3 ≤ N ≤ 1000
• 0 ≤ H ≤ N/2
• 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 1-2-3-4-1 este identic cu traseul 1-4-3-2-1.