<prompt> Unapewa mfuatano wa binary s, na nambari mbili kamili num1 na num2. num1 na num2 ni nambari za coprime.Uwiano wa kamba ndogo ni mfuatano mdogo wa s ambapo uwiano kati ya nambari ya 0 na nambari ya 1 katika mstari mdogo ni num1 : num2 haswa. Kwa mfano, ikiwa num1 2 na num2 3, basi 01011 na 1110000111 ni mifuatano ya uwiano, huku 11000 sio.Rejesha _idadi ya fungu lisilo tupu la uwiano wa_ s.Kumbuka kwamba: Msururu mdogo ni mfuatano wa herufi ndani ya mfuatano. Thamani mbili x na y ni coprime ikiwa gcdx, y 1 ambapo gcdx, y ni kigawanyo kikuu cha kawaida cha x na y .Mfano wa 1:Ingizo: s 0110011, nambari1 1, nambari2 2Pato: 4Maelezo: Kuna mifuatano midogo 4 ya uwiano isiyo tupu.- Mstari mdogo wa s0..2: 0110011 . Ina moja 0 na mbili 1. Uwiano ni 1: 2.- Mstari mdogo wa s1..4: 0110011 . Ina moja 0 na mbili 1. Uwiano ni 1: 2.- Mstari mdogo wa s4..6: 0110011 . Ina moja 0 na mbili 1. Uwiano ni 1: 2.- Mstari mdogo wa s1..6: 0110011 . Inayo 0 mbili na nne 1. Uwiano ni 2 : 4 1: 2.Inaweza kuonyeshwa kuwa hakuna safu ndogo za uwiano.Mfano wa 2:Ingizo: s 10101, nambari1 3, nambari2 1Pato: 0Maelezo: Hakuna uwiano wa mistari midogo ya s. Tunarudi 0.Vikwazo: 1 s.urefu 105 1 num1, num2 s.length num1 na num2 ni nambari kamili za coprime.  <response>: def ratio_substring_counts: str, num1: int, num2: int - int: hesabu0, hesabu1 0, 0 frequency 0: 1 matokeo 0 kwa c katika s: ikiwa c 0: hesabu0 1 kwingine: hesabu1 1 curr_diff hesabu0 nambari2 - hesabu1 nambari1 matokeo frequency.getcurr_diff, 0 frequencycurr_diff frequency.getcurr_diff, 0 1 matokeo ya kurudi 