<prompt> Umepewa mfuatano wa wenye faharasa s ambao lazima ufanyie shughuli za kubadilisha k. Operesheni za uingizwaji zimetolewa kama safu tatu sambamba za 0-fahirisi, fahirisi, vyanzo, na lengwa, zote za urefu k.Ili kukamilisha operesheni ya kubadilisha ith:1. Angalia ikiwa mfuatano mdogo vyanzoi hutokea katika fahirisi fahirisii katika mfuatano asili s.2. Ikiwa halijatokea, usifanye chochote .3. La sivyo ikitokea, badilisha kamba hiyo ndogo na targeti.Kwa mfano, ikiwa s abcd , indicesi 0, sourcesi ab , na targetsi eee , basi matokeo ya uingizwaji huu itakuwa eeecd.Operesheni zote za uingizwaji lazima zifanyike wakati huo huo, kumaanisha kuwa shughuli za uingizwaji hazipaswi kuathiri uwekaji faharasa wa kila mmoja. Majaribio ya majaribio yatatolewa hivi kwamba vibadilishaji vitapishana. Kwa mfano, testcase yenye s abc , indices 0, 1, na vyanzo ab , bc haitatolewa kwa sababu ab na bc vibadala vinapishana.Rejesha mfuatano unaotokana baada ya kutekeleza shughuli zote za kubadilisha kwenye_ s.Mfuatano mdogo ni mfuatano wa herufi katika mfuatano.Mfano wa 1:Ingizo: s abcd , fahirisi 0, 2, vyanzo a , cd , targets eee , fff Pato: eeebfffMaelezo: a hutokea kwa faharisi 0 kwa s, kwa hivyo tunaibadilisha na eee. cd hutokea kwa index 2 in s, kwa hivyo tunaibadilisha na fff.Mfano wa 2:Ingizo: s abcd , fahirisi 0, 2, vyanzo ab , ec , targets eee , fff Pato: eeecdMaelezo: ab hutokea kwa faharisi 0 kwa s, kwa hivyo tunaibadilisha na eee. ec haitokei kwenye faharisi 2 kwa sekunde, kwa hivyo hatufanyi chochote.Vikwazo: 1 s.urefu 1000 k indices.length sources.length targets.length 1 k 100 0 indexesi s.length 1 vyanzoi.urefu, shabahai.urefu 50 s ina herufi ndogo za Kiingereza pekee. vyanzoi na lengwai vinajumuisha herufi ndogo za Kiingereza pekee.  <response>: kutoka kwa makusanyo leta defaultdictkutoka kwa foleni ya kuagiza Folenidef numBusesToDestinationnjia, chanzo, lengo: ikiwa chanzo lengo: kurudi 0 stop_to_buses defaultdictset kwa mimi, njia katika enumeratenjia: kwa kusimama njiani: stop_to_mabasistop.ongezai q Foleni alitembelea_mabasi set idadi_mabasi 0 q.wekachanzo wakati sio q.empty: ukubwa q.qsize kwa _ katika masafasaizi: stop q.get kwa basi katika stop_to_mabasistop: ikiwa basi katika mabasi_yaliyotembelewa: endelea alitembelea_mabasi.ongezabasi kwa next_stop katika njiabasi: ikiwa next_stop lengo: rudisha nambari_mabasi 1 q.wekanext_stop idadi_mabasi 1 kurudi -1 