<prompt> Kwa kuzingatia mfuatano s na nambari kamili k, panga upya s ili vibambo sawa ziwe angalau umbali k kutoka kwa nyingine. Ikiwa haiwezekani kupanga upya mfuatano, rudisha kamba tupu .Mfano wa 1:Ingizo: s aabbcc, k 3Pato: abcabcMaelezo: Herufi sawa ni angalau umbali wa 3 kutoka kwa kila mmoja.Mfano wa 2:Ingizo: s aaabc, k 3Pato: Maelezo: Haiwezekani kupanga upya kamba.Mfano wa 3:Ingizo: s aaadbbcc, k 2Pato: abacabcdMaelezo: Herufi sawa ni angalau umbali wa 2 kutoka kwa kila mmoja.Vikwazo: 1 s.urefu 3 105 s ina herufi ndogo za Kiingereza pekee. 0 k s.length  <response>: chatukuagiza rundokutoka kwa makusanyo kuagiza Counterdef rearrange_strings, k: ikiwa k 0: kurudi s counter Counters max_heap -hesabu, char kwa char, hesabu katika counter.items heapq.heapifymax_heap matokeo wakati max_heap: temp kwa _ katika safuk: ikiwa sio max_heap: mapumziko hesabu, char heapq.heappopmax_heap tokeo.ongezachar ikiwa hesabu 1 0: temp.appendhesabu 1, char kwa kipengee cha joto: heapq.heapppushmax_rundo, kipengee ikiwa sio max_heap: mapumziko ikiwa lenmatokeo lens: result.extend k - lentemp ikiwa lenmatokeo lens: kurudi rudisha .jiunge matokeomaelezoAlgorithm inajumuisha hatua zifuatazo:1. Kokotoa marudio ya kila herufi katika mfuatano wa ingizo s. Ihifadhi katika jedwali la hashi kamusiramani freq.2. Jenga rundo la juu zaidi foleni ya kipaumbele kutoka kwa jedwali la masafa. Lundo litapangwa kulingana na maadili ya mzunguko.3. Ingawa rundo la juu si tupu, onyesha vipengele vya k vya kwanza kutoka kwenye lundo, ambapo k ni umbali wa chini unaohitajika kati ya herufi sawa, na uambatishe herufi kwenye mfuatano wa matokeo.4. Ikiwa marudio ya vipengele vilivyotolewa ni kubwa zaidi ya moja, punguza marudio yao na uihifadhi katika orodha ya muda joto.5. Baada ya kuibua vipengele k, viongeze tena kwenye lundo la juu zaidi.6. Ikiwa lundo la juu ni tupu, vunja kitanzi.7. Ikiwa urefu wa mfuatano wa matokeo ni chini ya mfuatano wa ingizo, weka nafasi k - temp.length.8. Ikiwa urefu wa matokeo ya mwisho ni chini ya kamba ya ingizo, rudisha kamba tupu. Vinginevyo, rudisha kamba ya matokeo.Kanuni hii inahakikisha kwamba herufi zilizo na marudio ya juu zaidi zinawekwa kwanza kwenye mfuatano wa matokeo zikifuatwa na wahusika wengine, ikidumisha umbali wa angalau k kati ya herufi sawa. Ikiwa haiwezekani kuweka herufi kwa umbali huo, mfuatano tupu utarejeshwa. 