<prompt> Tutatumia mfumo wa kushiriki faili kushiriki faili kubwa sana ambayo ina m vidogo vipande vyenye vitambulisho kutoka 1 hadi m.Watumiaji wanapojiunga na mfumo, mfumo unapaswa kuwapa Kitambulisho cha kipekee kwao. Kitambulisho cha kipekee kinafaa kutumika mara moja kwa kila mtumiaji, lakini mtumiaji anapoondoka kwenye mfumo, kitambulisho kinaweza kutumika tena tena.Watumiaji wanaweza kuomba kipande fulani cha faili, mfumo unapaswa kurudisha orodha ya vitambulisho vya watumiaji wote wanaomiliki kipande hiki. Mtumiaji akipokea orodha isiyo tupu ya vitambulisho, atapokea sehemu iliyoombwa kwa mafanikio. Tekeleza darasa la FileSharing: FileSharingint m Huanzisha kipengee kwa faili ya vipande vya m. int joinint ownedChunks: Mtumiaji mpya alijiunga na mfumo akimiliki baadhi ya vipande vya faili, mfumo unapaswa kutoa kitambulisho kwa mtumiaji ambacho ni nambari kamili ndogo zaidi isiyochukuliwa na mtumiaji mwingine yeyote. . Rudisha kitambulisho ulichopewa. void leaveint userID: Mtumiaji aliye na userID ataondoka kwenye mfumo, huwezi kuchukua vipande vya faili kutoka kwao tena. int requestint userID, int chunkID: Mtumiaji userID aliomba kipande cha faili na chunkID. Rejesha orodha ya vitambulisho vya watumiaji wote wanaomiliki sehemu hii iliyopangwa kwa mpangilio wa kupanda.Mfano:Ingizo: Kushiriki Faili , jiunge , jiunge , jiunge, ombi , ombi , ondoka, ombi, ondoka, jiunge4,1,2,2,3,4,1,3, 2,2,1,2,1,2,Pato:null,1,2,3,2,1,2,null,,null,1Maelezo:FileSharing fileSharing FileSharing mpya 4; Tunatumia mfumo kushiriki faili ya chunks 4.fileSharing.join1, 2; Mtumiaji ambaye ana vipande 1,2 alijiunga na mfumo, wape kitambulisho 1 na urudishe 1.fileSharing.join2, 3; Mtumiaji ambaye ana vipande 2,3 alijiunga na mfumo, wape kitambulisho 2 na urudishe 2.fileSharing.join4; Mtumiaji ambaye ana chunk 4 alijiunga na mfumo, wape id 3 na urudishe 3.failiSharing.request1, 3; Mtumiaji aliye na id 1 aliomba kipande cha tatu cha faili, kwani ni mtumiaji aliye na id 2 pekee ndiye aliye na faili, rudisha 2 . Ona kwamba mtumiaji 1 sasa ana vipande 1,2,3.failiSharing.request2, 2; Mtumiaji aliye na id 2 aliomba kipande cha pili cha faili, watumiaji walio na vitambulisho 1,2 wana kipande hiki, kwa hivyo tunarudisha 1,2.failiSharing.ondoka1; Mtumiaji aliye na kitambulisho 1 aliacha mfumo, vipande vyote vya faili vilivyo nao hazipatikani tena kwa watumiaji wengine.failiSharing.request2, 1; Mtumiaji aliye na id 2 aliomba kipande cha kwanza cha faili, hakuna mtu kwenye mfumo aliye na kipande hiki, tunarudisha orodha tupu .failiSharing.ondoka2; Mtumiaji aliye na kitambulisho 2 aliacha mfumo.fileSharing.join; Mtumiaji ambaye hana vipande vyovyote alijiunga na mfumo, mpe kitambulisho 1 na urudishe 1. Ona kwamba vitambulisho vya 1 na 2 havilipishwi na tunaweza kuvitumia tena.Vikwazo: 1 m 105 0 ownedChunks.length min100, m 1 ownedChunksi m Thamani za Chunks zinazomilikiwa ni za kipekee. 1 chunkID m kitambulisho cha mtumiaji amehakikishiwa kuwa mtumiaji katika mfumo ikiwa utawapa vitambulisho kwa usahihi. Angalau zaidi simu 104 zitapigiwa kujiunga, ondoka na ombi. Kila simu ya kuondoka itakuwa na simu inayolingana ya jiunge.  <response>: def countLargestGroupn: int - int: mara kwa mara 0 37 max_group_size 0 max_group_count 0 kwa i katika masafa 1, n 1: _jumla jumla ramaniint, stri mara kwa mara_sum 1 max_group_size maxmax_group_size, freq_sum kwa kuhesabu mara kwa mara: ikiwa hesabu max_group_size: max_group_count 1 rudisha max_group_count 