arbore

Time limit: 0.1s Memory limit: 32MB Input: arbore.in Output: arbore.out

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 teste N ≤ 2 000
  • Rădăcina arborelui este nodul 1
  • Pentru 10% din teste N ≤ 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:

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