Grădina

Time limit: 1.5s Memory limit: 256MB Input: Output:

Cerință

Keiko Hamada a fost angajată să amenajeze noua grădină Zen a familiei Nomizu. Domnul Nomizu vrea să folosească noua grădină pentru a medita. Din păcate, el nu își poate goli mintea decât dacă grădina respectă o serie de condiții.

Grădina domnului Nomizu trebuie să conțină un singur tip de copac, și anume cireșul. Un cireș poate fi reprezentat ca un arbore cu rădăcină. Definim o creangă a cireșului drept o muchie din reprezentarea sa ca arbore. (În această problemă, tulpina este considerată o creangă.).

În fiecare primăvară, cireșii înfloresc. Ei produc câte o floare în vârful fiecărei crengi care nu se continuă cu nicio altă creangă. Mai exact, florile apar în fiecare nod frunză al reprezentării cireșului ca arbore.

Domnul Nomizu vrea o grădină cu cel mult NN cireși, așezați pe un singur rând, care să aibă în total MM crengi. Mai mult, atunci când înfloresc, cireșii trebuie să aibă între stst și drdr flori. Presupunem că toți cireșii înfloresc în același timp.

Mai formal, o amenajare a grădinii domnului Nomizu este o colecție ordonată de cel mult NN arbori cu rădăcină (A1,A2,...,Ak)(A_1, A_2,...,A_k) cu 1kN1 \leq k \leq N, cu nrMuchii(A1)+nrMuchii(A2)+...+nrMuchii(Ak)=M\text{nrMuchii}(A_1)+\text{nrMuchii}(A_2)+...+\text{nrMuchii}(A_k) = M (aici nrMuchii(T)=\text{nrMuchii}(T) = numărul de muchii ale arborelui TT) și cu stnrFrunze(A1)+nrFrunze(A2)+...+nrFrunze(Ak)drst \leq \text{nrFrunze}(A_1)+\text{nrFrunze}(A_2)+...+\text{nrFrunze}(A_k) \leq dr (aici nrFrunze(T)=\text{nrFrunze}(T)= numărul de frunze ale arborelui TT; se numește o frunză a arborelui un nod care nu are copii). Două aranjări A=(A1,A2,...,Ak)A=(A_1, A_2,...,A_k) și B=(B1,B2,...,Bp)B=(B_1, B_2,...,B_p) ale grădinii se consideră diferite dacă: kpk \neq p sau k=pk = p și există un indice 1ik1 \leq i \leq k cu proprietatea că arborii AiA_i și BiB_i nu sunt identici.

Fie AA și BB doi arbori cu rădăcină. Dacă nrMuchii(A)=nrMuchii(B)=0\text{nrMuchii}(A)=\text{nrMuchii}(B)=0, atunci spunem că AA și BB sunt identici. Dacă nrMuchii(A)>1\text{nrMuchii}(A)>1 și nrMuchii(B)>1\text{nrMuchii}(B)>1 considerăm (copilA1,copilA2,...,copilAk)(copilA_{1},copilA_2,...,copilA_k) și (copilB1,copilB2,...,copilBp)(copilB_1,copilB_2,...,copilB_p) listele ordonate de copii ale rădăcinii arborelui AA și respectiv BB. AA și BB sunt identici dacă k=pk=p și ScopilA1S_{copilA_1} identic cu ScopilB1S_{copilB_1},, ScopilA2S_{copilA_2} identic cu ScopilB2S_{copilB_2},...,, ..., ScopilAkS_{copilA_k} identic cu ScopilBkS_{copilB_k} (aici am notat cu SxS_x subarborele cu rădăcina în nodul xx). În rest, spunem că AA și BB nu sunt identici.

În figura de mai jos, conform definiției, cei doi arbori sunt identici.

În figura de mai jos, conform definiției, cei doi arbori nu sunt identici.

Keiko vă întreabă în câte moduri ar putea planta cireșii domnului Nomizu, astfel încât să-i satisfacă pretențiile. Pentru că acest număr poate fi foarte mare, Keiko se va mulțumi cu valoarea sa modulo 109+710^{9}+7.

Date de intrare

Pe prima linie se găsesc numerele N,M,st,drN, M, st, dr în această ordine cu semnificația din enunț.

Date de ieșire

Pe prima linie se va afișa un singur număr natural, reprezentând numărul de moduri în care Keiko îi poate aranja grădina domnului Nomizu (modulo 109+710^9+7).

Restricții și precizări

  • 1N1001 \leq N \leq 100
  • 1stdrN+M11 \leq st \leq dr \leq N+M-1
  • 1M20001 \leq M \leq 2000
  • Mdr2000M \cdot dr \leq 2000
  • Pentru teste în valoare de 1010 puncte, M5M \leq 5
  • Pentru teste în valoare de alte 1010 puncte, dr2dr \leq 2
  • Pentru teste în valoare de alte 4040 puncte, N=1N = 1

Exemplul 1

stdin

1 3 1 2

stdout

4

Explicație

Cele 4 moduri în care Keiko poate amenaja grădina sunt următoarele:



Exemplul 2

stdin

2 3 2 2

stdout

7

Explicație

Cele 7 moduri în care Keiko poate amenaja grădina sunt următoarele:






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