38061317918980311668548180262685728340176808985743490674519334151973974703875645580971080729752549743457444467963771582921030942741763522282319293825493476895333331479374162612205955043467433816092262880957061113551276297657920232112532123257997468969334764561150630624065568553402945333272864986137372995955893735554473345578306105312363784831142153873362248236850779894394849571443658771128259202070759917423819106899334968357078708656616393078733454699158459191339263684928286188991992492722857428439044955721195458561977213988869425496268187320384633094645846591279259897503276027864559883512775420596802745381715423581582980546167776050539327580263684972209422503506347350580135697496356075482252310674654290502811402767585749915604984225825600145211527048120657346841429580266741401562945196446563602280593325520430245954478382092794658393833081772247876522958365468574280557369573685986454926815572680531169516187774887383631734210920880525436823653187677723642277583648284808743929533988534681378253687072496268912684356924686473378739202413571068974516404653256042428335300655827371869457060893099192894345369316056812757585814131324312560299054723822231291662855480188336580439875805368432811835120016042015429976912622871257737335346585581687698198262568894901614581034865394154818565173028513384603919199337725425626364996136037068740588647354749224838531961664850898896991526718265986265145128453922323021482600330972522356110499614248881302790769966308878042832556442819467121210593198530151687227154931434898663332531745284535984877261582183711181564375949084380864477559252043126907274545391978483265802580361641057164374073507617143424049101716948836873435801754935959137211424051177199541443433391368607729677448414087014982253157539686545237830223651563406317672777667821860401183891436556247565947293529598517172334729848216859208634137724797197137462057076365827615403521640582671031816921392718596747264394182899933915888226823875063698373777742270686690952971686077566591967042593805011732675234588573984620991068459084726611479913503702337571485987440383799955483786435985297613044913328607718263313376905958910534234611890882062166930193989233491254171506841638143226229340437846154116586698520606775694918540385122374793378887251744167791436526633127861081523551593558626312877879079907550938536393130699501683297952549674856077642181322032279693136199671745742275402540349221654425294687598787583325522783893935574215249421902862134342265356486678311504925988149189011982439694291973193426560201029943488371361275501606126171142059115417736804797486814195257693681267996770006538252402322479018688389960786670408492022079502926272001907440427195241014413594832023360474989548709448803383684638048346642552125430211230923676680345913124832526202349607097835230011207339913547821362830878322891696926178362598676041687530928963796530210466388482640151459017191027097957772639809161584188086771892570080483839938051613628314552021332246320442297475339163750787468254891353380716279234771192908422163697784961011333730771139195015627477892195525169874247637214848226620470845002612489395589645868314309405310587866153903304048442808873117166239282782623746664791422123892782308078761470474088388757020509056927708348390643187633430488984112868539777492397127364785387934987794316878106488135343331917195947402567590807704732867484271415399026394940948302952710387053419352006590146554137064657769886427210926303197559367227757949102496823219989747526897599234936857543225358952370004797735968134511120153218741720789782743548959264161936279761625216043700849311136541308813224289845835520763678625466664135424204371044286317069342235755112896030596248905401624819236789847149322737270248818922510174865205143898221569814805429909527990274958147245711933037162230924633074622629707934696691249742678135152661511419863982985044306175440034585354316405976724553539104939019250717087158063398378551376686574263115197050991348367897758234127438023009969595701284247726854701410524517622717350636900139578696486945154073842512350342009057801131756286744824578907444933204575911853213501555618458102216141621698932468607492172287456270568889023256640230973263820609431728927724431863935549345911806898634182030371380507893862093916694628876710264822595782569027294436585277649529580999047281628444069079240513647215911571733371718687295972007170079732634503742165798968143971370694070548776239274945842252795779282266859197691288736093591811508397282677302051108543718282369423962943468699762215514372762736534306314814415014348211656026018957412922747032169713928125344832634396982044533378180869543743805694643626609923884966705369649111972132053533424845703530531695414134529324762378636973582603536384265881105869394560586596026866501852134392716026169857779468501838224490419282373940678642922281656212549873692557272320127544349681432333068894855591572522205511175355025359168395127043683476823092566952910124586686911844787622923439278581417884912753929406370282284632628790798295997372649741711621229375033950289455342928884049639593618743925660434946285373218279162641219796945204545811969284940532986754197723793217692018285907387193844026679148383864137093861489661511950901222859093675875919022856347361261793624399841179809269997838668388882393655787121426719477625988537521643174150365520397834788542704579998296841491592385673456887061269786191149779567549162392698321878758535690849936592805952159921938936754195847272802795947676401888067854677573031896668012405132935595272951664344918160756156616720271064483587597335595991268497614796571517159121986546918733581730543302689131849447297071808848908487757585818805551667328013293126898645426208446372105049274457902510951856065816802735321168892932164964289064375539493856473641484292166279343685629891378645741664525386053544281079059853433719865291