iepuri

Time limit: 0.02s Memory limit: 16MB Input: iepuri.in Output: iepuri.out

Un gospodar are NN iepuri (pe care i-a numerotat de la 11 la NN) şi foarte mulţi morcovi. Ce e mai deosebit în această gospodărie este că iepurii sunt organizaţi ierarhic, în funcţie de vârstă, autoritate şi nevoile nutriţionale. Astfel, fiecare iepure are exact un şef direct (exceptându-l pe Rilă Iepurilă, care este şeful cel mare, şeful tuturor iepurilor). Orice iepure poate avea 0, 1 sau mai mulţi subordonaţi direcţi. Orice iepure-şef va mânca cel puţin un morcov mai puţin decât fiecare dintre subordonaţii săi direcţi.

Gospodarul nu se poate hotărî câţi morcovi să dea fiecărui iepure şi ar vrea să ştie în câte moduri poate împărţi morcovi la iepuri ştiind că fiecare iepure poate să mănânce minim un morcov şi maxim KK morcovi.

Cerinţă

Scrieţi un program care calculează numărul de posibilităţi modulo 30 01130 \ 011 de a împărţi morcovi la cei NN iepuri ştiind că orice iepure poate mânca între 11 şi KK morcovi şi trebuie să mănânce cu cel puţin un morcov mai puţin decât fiecare dintre iepurii care îi sunt subordonaţi direcţi.

Date de intrare

Fişierul de intrare iepuri.in conţine:

  • pe prima linie două numere naturale NN şi KK, separate printr-un spaţiu, reprezentând numărul de iepuri, respectiv numărul maxim de morcovi ce pot fi mâncaţi de un iepure.
  • pe fiecare din următoarele N1N-1 linii se află câte două numere naturale distincte aa şi bb, cuprinse între 11 şi NN, separate printr-un spaţiu, cu semnificaţia că iepurele aa este şeful direct al iepurelui bb.

Date de ieşire

Fişierul de ieşiere iepuri.out va conţine numărul de moduri de a împărţi morcovii conform condiţiilor specificate în enunţ, modulo 30 01130 \ 011.

Restricţii şi precizări

  • 1N,K1001 ≤ N, K ≤ 100
  • Numărul ce trebuie scris în fişierul de ieşire va fi afişat modulo 30 01130 \ 011.

Exemplu

iepuri.in

9 4
7 2
7 3
7 4
3 5
3 6
5 8
5 9
6 1

iepuri.out

9

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