<prompt> Kiiga simu hutengeneza nambari nasibu kutoka 1 hadi 6 kwa kila safu. Ulianzisha kikwazo kwa jenereta hivi kwamba haiwezi kukunja nambari i zaidi ya rollMaxi 1-indexed mara mfululizo.Kwa kuzingatia safu kamili ya rollMax na nambari kamili n, rudisha _idadi ya mfuatano tofauti unaoweza kupatikana kwa_ n _rolls_ kamili. Kwa kuwa jibu linaweza kuwa kubwa sana, lirudishe modulo 109 7.Mifuatano miwili inachukuliwa kuwa tofauti ikiwa angalau kipengele kimoja kinatofautiana kutoka kwa kila mmoja.Mfano wa 1:Ingizo: n 2, rollMax 1,1,2,2,2,3Pato: 34Maelezo: Kutakuwa na safu 2 za kufa, ikiwa hakuna vizuizi kwenye kufa, kuna 6 6 36 mchanganyiko unaowezekana. Katika kesi hii, ukiangalia safu ya rollMax, nambari 1 na 2 zinaonekana mara moja mfululizo, kwa hivyo mlolongo 1,1 na 2,2 hauwezi kutokea, kwa hivyo jibu la mwisho ni 36-2 34.Mfano wa 2:Ingizo: n 2, rollMax 1,1,1,1,1,1Pato: 30Mfano wa 3:Ingizo: n 3, rollMax 1,1,1,2,2,3Pato: 181Vikwazo: 1 n 5000 rollMax.length 6 1 rollMaxi 15  <response>: def zimeunganishwan, kizingiti, maswali: jibu Uongo len maswali mzazi orodhafungun 1 cheo 0 n 1 def findx: ikiwa mzazix ! x: mzazix patamzazix kurudi mzazix def unitex, y: rootx kupatax mizizi kupata y ikiwa rootx ! rooty: ikiwa cheorootx cheomizizi: mzizi, mzizi mzizi, mzizi mzazirootx mizizi ikiwa cheorootx cheomizizi: cheomzizi 1 kwa i katika anuwai kizingiti 1, n 1: kwa j katika safu i 2, n 1, i: kuunganisha i, j kwa mimi, swala katika enumeratemaswali: jibui pataswali0 pataswali1 jibu jibu 