<prompt> Eneo la mandhari nzuri linawakilishwa na jina na kuvutia alama, ambapo jina ni mfuatano wa kipekee kati ya maeneo yote na alama ni nambari kamili. Maeneo yanaweza kuorodheshwa kutoka bora hadi mbaya zaidi. Kadiri alama zilivyo juu, ndivyo eneo linavyokuwa bora zaidi. Ikiwa alama za maeneo mawili ni sawa, basi eneo lenye jina leksikografia ndogo ni bora zaidi.Unaunda mfumo unaofuatilia ukadiriaji wa maeneo huku mfumo ukianza bila maeneo. Inasaidia: Inaongeza maeneo yenye mandhari nzuri, moja kwa wakati mmoja. Kuuliza ith eneo bora zaidi la maeneo yote ambayo tayari yameongezwa, ambapo i ni idadi ya mara ambazo mfumo umeulizwa pamoja na hoja ya sasa. Kwa mfano, mfumo unapoulizwa kwa muda wa 4, hurejesha eneo la 4 bora zaidi kati ya maeneo yote ambayo tayari yameongezwa.Kumbuka kuwa data ya majaribio huzalishwa ili wakati wowote, idadi ya hoja isizidi idadi ya maeneo yaliyoongezwa kwenye mfumo.Tekeleza darasa la SORTracker: SORTracker Huanzisha mfumo wa kifuatiliaji. ongeza batilijina la mfuatano, alama ya ndani Huongeza eneo la mandhari lenye jina na alama kwenye mfumo. string get Huuliza na kurejesha ith eneo bora zaidi, ambapo i ni idadi ya mara ambazo njia hii imetumwa pamoja na ombi hili.Mfano wa 1:Ingizo SORTracker , ongeza , ongeza , pata , ongeza , pata, ongeza , pata, ongeza, pata, ongeza, pata, pata, bradford, 2, branford, 3, , alps, 2, , orland , 2, , orlando , 3, , alpine , 2, , Patonull, null, null, branford, null, alps , null, bradford, null, bradford, null, bradford, orlandUfafanuziSORTracker tracker new SORTracker; Anzisha mfumo wa kifuatiliaji.tracker.add bradford, 2; Ongeza eneo kwa jina bradford na alama2 kwenye mfumo.tracker.add branford, 3; Ongeza eneo kwa jina branford na alama3 kwenye mfumo.tracker.get; Maeneo yaliyopangwa, kutoka bora hadi mbaya zaidi, ni: branford, bradford. Kumbuka kwamba branford inamtangulia bradford kutokana na alama zake za juu 3 2. Hii ni mara ya 1 get inaitwa, kwa hivyo rudisha eneo bora zaidi: branford .tracker.add alps, 2; Ongeza eneo kwa name alps na alama2 kwenye mfumo.tracker.get; Maeneo yaliyopangwa: branford, alps, bradford. Kumbuka kuwa alps hutangulia bradford ingawa wana alama sawa 2. Hii ni kwa sababu alps ni leksikografia ndogo kuliko bradford. Rudisha eneo la 2 bora alps, kama ni mara ya 2 get inaitwa.tracker.add orland, 2; Ongeza eneo kwa name orland na alama2 kwenye mfumo.tracker.get; Maeneo yaliyopangwa: branford, alps, bradford, orland. Return bradford , kama ni mara ya 3 get inaitwa.tracker.add orlando, 3; Ongeza eneo lenye jina orlando na alama3 kwenye mfumo.tracker.get; Maeneo yaliyopangwa: branford, orlando, alps, bradford, orland. Rudi bradford.tracker.add alpine, 2; Ongeza eneo kwa jina alpine na alama2 kwenye mfumo.tracker.get; Maeneo yaliyopangwa: branford, orlando, alpine, alps, bradford, orland. Rudi bradford.tracker.get; Maeneo yaliyopangwa: branford, orlando, alpine, alps, bradford, orland. Rudi orland.Vikwazo: jina lina herufi ndogo za Kiingereza, na ni ya kipekee kati ya maeneo yote. 1 name.length 10 1 alama 105 Wakati wowote, idadi ya simu za kupata haizidi idadi ya simu za kuongeza. Angalau zaidi simu 4 104 kwa jumla zitapigwa kuongeza na kupata.  <response>: def findMiddleIndexnambari: jumla_jumla jumla idadi left_sum 0 kwa i, nambari katika enumeratenambari: jumla_jumla - nambari ikiwa left_sum jumla_jumla: kurudi i left_sum nambari kurudi -1 