<prompt> Kuna n kozi tofauti za mtandaoni zilizohesabiwa kutoka 1 hadi n. Umepewa safu kozi ambapo kozii durationi, lastDayi zinaonyesha kuwa kozi ya ith inapaswa kufanywa kuendelea kwa siku durationi na lazima imalizike kabla au siku ya lastDayi. .Utaanza siku ya 1 na huwezi kuchukua kozi mbili au zaidi kwa wakati mmoja.Rejesha _idadi ya juu zaidi ya kozi unayoweza kuchukua_.Mfano wa 1:Ingizo: kozi 100,200,200,1300,1000,1250,2000,3200Pato: 3Ufafanuzi:Kuna kozi 4 kabisa, lakini unaweza kuchukua kozi 3 zaidi:Kwanza, chukua kozi ya 1, inagharimu siku 100 kwa hivyo utaimaliza siku ya 100, na tayari kuchukua kozi inayofuata siku ya 101.Pili, chukua kozi ya 3, inagharimu siku 1000 kwa hivyo utaimaliza siku ya 1100, na tayari kuchukua kozi inayofuata siku ya 1101.Tatu, chukua kozi ya 2, inagharimu siku 200 kwa hivyo utaimaliza siku ya 1300.Kozi ya 4 haiwezi kuchukuliwa sasa, kwa kuwa utaimaliza siku ya 3300, ambayo inazidi tarehe iliyofungwa.Mfano wa 2:Ingizo: kozi 1,2Pato: 1Mfano wa 3:Ingizo: kozi 3,2,4,3Pato: 0Vikwazo: 1 courses.length 104 1 durationi, lastDayi 104  <response>: kuagiza rundodef ratibaKozikozi: courses.sortkeylambda x: x1 curr_time, duration_sum 0, kwa muda, tarehe ya mwisho katika kozi: curr_time muda heapq.heapppushduration_sum, -duration ikiwa curr_time tarehe ya mwisho: curr_time heapq.heappopduration_sum rudisha leniduration_sum 