tairos

Time limit: 0.2s Memory limit: 64MB Input: tairos.in Output: tairos.outPoints by default: 10p

Se dă un arbore cu NN noduri, numerotate de la 11 la NN.

Arborele se va transforma astfel: la oricare etapă fiecare nod de gradul 11 diferit de rădăcină din arborele actual se înlocuiește cu un arbore identic cu cel dat inițial, iar la următoarea etapă procedeul se va relua pentru arborele obținut, formându-se astfel un arbore infinit. În următoarele 33 imagini se prezintă un exemplu de arbore dat inițial, arborele obținut după prima etapă de prelungire a frunzelor și arborele obținut după 22 etape de prelungire a frunzelor.

Cerinţe

Să se determine câte noduri se află la distanță DD de rădăcina arborelui infinit.

Date de intrare

Pe prima linie a fișierului de intrare tairos.in se va afla un număr natural NN, reprezentând numărul de noduri din arborele dat inițial. Pe a doua linie se va afla numărul întreg DD, cu semnificația de mai sus, iar fiecare dintre următoarele N1N-1 linii conține câte 22 numere întregi xx și yy cu semnificația că în arborele dat inițíal există muchia [x,y][x,y].

Date de ieşire

Fișierul de ieșire tairos.out va conține un singur număr, și anume restul împărțirii numărului de noduri cerut la numărul 1 000 000 0071 \ 000 \ 000 \ 007.

Restricţii și precizări

  • 2N1002 ≤ N ≤ 100;
  • 1D10 0001 ≤ D ≤ 10 \ 000;
  • Un arbore este un graf neorientat, conex și fără cicluri.
  • Distanța dintre două noduri xx și yy ale unui arbore este egală cu numărul de muchii ale unui lanț cu extremitățile în nodurile xx și yy, lanț format din noduri distincte.
  • Rădăcina va fi considerată ca fiind nodul 11;
  • Pentru teste în valoare de 1717 puncte avem N=3N = 3;
  • Pentru teste în valoare de alte 2222 puncte răspunsul este 10 000\leq 10 \ 000;
  • În concurs se acordau 1010 puncte din oficiu, aici ultimele 66 teste valorează cu 1010 puncte în plus.

Exemplul 1

tairos.in

4
3
1 2
3 1
3 4

tairos.out

5

Explicație

Arborele dat în fișierul de intrare are 44 noduri. Se cere numărul nodurilor aflate la distanța 33 față de rădăcină.
Urmărind imaginile din exemplele de mai sus, la distanța 33 avem următoarele 55 noduri: 222222, 223223, 241241, 421421 și 4343

Exemplul 2

tairos.in

5
3
1 2
3 1
3 5
4 3

tairos.out

8

tairos.in

5
25
2 1
2 3
1 4
5 2

tairos.out

33554432

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