autostrazi

Time limit: 0.1s Memory limit: 4MB Input: autostrazi.in Output: autostrazi.out

Într-o ţară care-şi caută drumul spre bunăstare şi civilizaţie, există NN oraşe, numerotate de la 11 la NN, legate între ele prin N1N - 1 şosele bidirecţionale. Între oricare două oraşe există cel mult o singură şosea. Fiecare şosea uneşte două oraşe distincte. Se poate călători între oricare două oraşe, circulând numai pe şosele.

Din păcate, nu există autostrăzi. Nu există nici bani pentru construirea autostrăzilor. Din acest motiv, politica statului este de a concesiona şoselele celor KK „regi ai asfaltului”. Aceştia vor construi autostrăzi pe cheltuiala lor, având apoi dreptul de a impune taxe de trecere pe autostradă, exprimate în euro. Fiecare autostradă astfel construită va înlocui una dintre sosele.

Cerinţă

Scrieţi un program care calculează numărul de moduri modulo 30 01130 \ 011 în care se pot concesiona şoselele, astfel încât pentru niciun vehicul care se deplasează între oricare două orase ale ţării mergând pe şosele şi autostrăzi să nu se depăşească un total al taxelor mai mare decât SS euro.

Date de intrare

Pe prima linie a fişierului de intrare autostrazi.in se află trei numere întregi NN, SS si KK separate printrun singur spaţiu, cu semnificaţia din enunţ. Pe linia următoare se află KK numere naturale, R1,R2,,RkR_1, R_2, \leq, R_k, nu neapărat distincte, separate printr-un singur spaţiu, reprezentând taxele percepute de regii asfaltului. Pe următoarele N1N - 1 linii se găsesc câte două numere naturale distincte xx şi yy separate printr-un singur spaţiu reprezentând o şosea care leagă oraşul xx de oraşul yy.

Date de ieșire

În fişierul de ieşire autostrazi.out se află un singur număr natural MM, reprezentând numărul de posibilităţi modulo 30 01130 \ 011 în care poate fi construită reţeaua de autostrăzi, astfel încat suma taxelor plătite într-o călătorie între oricare două oraşe să nu depăşească SS euro.

Restricții și precizări

  • 1x,yN1001 \leq x, y \leq N \leq 100
  • 1K201 \leq K \leq 20
  • 1S1001 \leq S \leq 100
  • 1R1,R2,,Rk1001 \leq R_1, R_2, \dots , R_k \leq 100
  • Regele ii al asfaltului impune aceeaşi taxă RiR_i pentru fiecare autostradă constuită de el şi poate construi zero, una sau maxim N1N - 1 autostrăzi.
  • O şosea se concesionează în întregime unui singur constructor sau poate să nu fie concesionată deloc. În acest caz nu există taxă de trecere.
  • Este admis cazul în care nu se concesionează nicio şosea.

Exemplu

autostrazi.in

4 2 2
2 1
1 2
2 3
4 2

autostrazi.out

11

Explicație

Taxele: 22 si 11. Şoselele: (2 1),(2 3),(2 4)(2 \ 1), (2 \ 3), (2 \ 4)
Variantele de taxare: (0 0 0),(1 0 0),(0 1 0),(0 0 1),(1 1 0),(0 1 1),(1 0 1),(1 1 1),(2 0 0),(0 2 0),(0 0 2)(0 \ 0 \ 0), (1 \ 0 \ 0), (0 \ 1 \ 0), (0 \ 0 \ 1), (1 \ 1 \ 0), (0 \ 1 \ 1), (1 \ 0 \ 1), (1 \ 1 \ 1), (2 \ 0 \ 0), (0 \ 2 \ 0), (0 \ 0 \ 2)

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