<prompt> Tunaweza kutumia usimbaji wa urefu wa kukimbia yaani, RLE kusimba mlolongo wa nambari kamili. Katika safu iliyosimbwa ya urefu wa kukimbia ya urefu sawa wa usimbaji 0-indexed, kwa wote hata i, usimbajii hutuambia idadi ya mara ambazo nambari kamili isiyo hasi usimbajii 1 unarudiwa katika mlolongo. Kwa mfano, mfuatano arr 8,8,8,5,5 unaweza kusimba kuwa usimbaji 3,8,2,5. usimbaji 3,8,0,9,2,5 na usimbaji 2,8,1,8,2,5 pia ni halali RLE ya arr.Kwa kuzingatia safu iliyosimbwa ya urefu wa kukimbia, tengeneza kiboreshaji ambacho hupitia tena.Tekeleza darasa la RLEIterator: RLEIteratorint iliyosimbwa Huanzisha kipengee kwa safu iliyosimbwa iliyosimbwa. int nextint n Humaliza vipengele n vinavyofuata na kurudisha kipengele cha mwisho kikiwa kimeisha kwa njia hii. Ikiwa hakuna kipengele kilichosalia kutolea nje, rudisha -1 badala yake.Mfano wa 1:Ingizo RLEIterator , ifuatayo , ifuatayo, ifuatayo, ifuatayo3, 8, 0, 9, 2, 5, 2, 1, 1, 2Patonull, 8, 8, 5, -1UfafanuziRLEIterator rLEIterator RLEIterator mpya3, 8, 0, 9, 2, 5; Hii ramani kwa mlolongo 8,8,8,5,5.rLEIterator.ijayo2; inamaliza masharti 2 ya mlolongo, inarudi 8. Mlolongo uliobaki sasa ni 8, 5, 5.rLEIterator.ijayo1; inamaliza muda 1 wa mlolongo, inarudi 8. Mlolongo uliobaki sasa ni 5, 5.rLEIterator.ijayo1; inamaliza muda 1 wa mlolongo, inarudi 5. Mlolongo uliobaki sasa ni 5.rLEIterator.ijayo2; inamaliza masharti 2, inarudi -1. Hii ni kwa sababu muhula wa kwanza waliochoka walikuwa 5,lakini muhula wa pili haukuwepo. Kwa kuwa muhula wa mwisho uliokwisha haupo, tunarudi -1.Vikwazo: 2 encoding.length 1000 encoding.length ni sawa. 0 usimbajii 109 1 n 109 Angalau simu 1000 zitapigiwa ijayo.  <response>: kutoka kwa itertools kuagiza vibali kama vibalidef kupangwa upyaPowerOf2n: kwa p katika setpermstrn: ikiwa p0 ! 0 na binint.joinp.hesabu1 1: kurudi Kweli kurudi Uongo 