Mitruţ are primele N
numere naturale nenule şi un arbore cu rădăcină cu N
noduri. El se întreabă în câte feluri poate plasa cele N
numere în nodurile arborelui, astfel încât fiecare nod să conţină un număr mai mic decât toate numerele din fiii săi.
Cerinţă
Scrieţi un program care să răspundă la întrebarea lui Mitruţ prin afişarea numărului de modalităţi distincte de plasare a numerelor în arbore conform metodei de mai sus, modulo 666013
.
Date de intrare
Fişierul arbore.in
conţine pe prima linie numărul N
cu semnificaţia din enunţ. Următoarele N - 1
linii vor conţine fiecare câte două numere întregi x
şi y
, cu semnificaţia că există muchie între nodurile x
şi y
.
Date de ieşire
Fişierul arbore.out
va conţine un singur număr reprezentând răspunsul la întrebarea lui Mitruţ, modulo 666013
.
Restricţii şi precizări
1 ≤ N ≤ 100 000
- Pentru
70%
din testeN ≤ 2 000
- Rădăcina arborelui este nodul
1
- Pentru
10%
din testeN ≤ 7
- Arborele dat nu este neapărat binar (un nod poate avea mai mult de doi fii)
Exemplu
arbore.in
5
1 2
3 1
2 4
2 5
arbore.out
8
Explicaţie
Modurile în care putem plasa numerele în nodurile arborelui dat sunt: