<prompt> Andika API ambayo hutengeneza mpangilio mzuri kwa kutumia shughuli za append, addAll na multAll.Tekeleza darasa la Fancy: Fancy Huanzisha kitu kwa mlolongo tupu. utupu kiambatishoval Huongeza val kamili hadi mwisho wa mfuatano. void addAllinc Huongeza thamani zote zilizopo katika mlolongo kwa inc kamili. void multAllm Huzidisha thamani zote zilizopo katika mlolongo kwa nambari m kamili. int getIndexidx Hupata thamani ya sasa katika faharasa idx 0-indexed ya mfuatano modulo 109 7. Ikiwa faharasa ni kubwa au sawa kuliko urefu wa mfuatano, rudisha -1.Mfano wa 1:Ingizo Fancy , ongeza , ongezaAll , ongeza , multAll , getIndex , addAll , ongeza , multAll , getIndex , getIndex , getIndex , 2, 3, 7, 2, 0, 3, 10, 2, 0, 1, 2Pato null, null, null, null, null, 10, null, null, null, 26, 34, 20UfafanuziDhana ya dhana Dhana mpya;dhana.ambatisha2; mlolongo wa dhana: 2dhana.ongezaYote3; mlolongo wa dhana: 23 - 5dhana.ambatisha7; mlolongo wa dhana: 5, 7dhana.multAll2; mlolongo wa dhana: 52, 72 - 10, 14fancy.getIndex0; kurudi 10dhana.ongezaYote3; mlolongo wa dhana: 103, 143 - 13, 17dhana.ambatisha10; mlolongo wa dhana: 13, 17, 10dhana.multAll2; mlolongo dhahania: 132, 172, 102 - 26, 34, 20fancy.getIndex0; kurudi 26fancy.getIndex1; kurudi 34fancy.getIndex2; kurudi 20Vikwazo: 1 vali, inc, m 100 0 idx 105 Angalau jumla ya simu 105 zitapigwa append, addAll, multAll, na getIndex.  <response>: kutoka kwa makusanyo kuagiza dequedef findMaxValueOfEquationpointi, k: res -elea inf q deque kwa p katika pointi: wakati q na p0 - q01 k: q.popleft ikiwa q: res maxres, p1 p0 q00 wakati q na p1 - p0 q-10: q.pop q.ongezap1 - p0, p0 kurudi res 