621889884036571878123224471135116183243914624235992092247617973866443268759357989319652225426565644315991167350522264317879384259356239386909175825698599739323768657698721429138160682186216165572325930852351498388389700319359100398337969140494429703099834924329889341858572795942103499623284877599030036342475840599528531317445589283505261204397668494119259147210583331654553772436200908823027899024362536237740886172734523485538417382742186939708379569115011326778320484365242736632184802822663208746833940763610891054118876914372507446189223925685349274383265138225643311265140051412984957619592096638569526246954781459453670835257722746030725654154804472052585616630373362836263269654725574857008565094761804913086531781473495633007598736577935181332627129920437883637024924123464837804133073894969398050004456384250519523858117531508664522773017339358270984207788416342947113693570247258475556218345081727226876569041658881857305207910773584969141529045835876477152729273421086441264840692046149634903940853887713657225137452265447108493861215139781369058254200746185464828618955584373334182418408261551689215864039712688134776310184603284335866987819575580831735338486020779517115958323733277348716271452873449141231116843609089501456709485609429548598868554642812327528532121682657363119565066249830157074934763678134406314551234919700527398307553961597473916461485422898743966744438078743412510071431758847422462902352115962585026219511444698206576215601090793357415864927072841624684706192726116498962391984887675930430581126962859752310161611914728245590230993177253019494620906853545408709965796536986780299962889547528699687494639306456955450859922489659441175150036854271344839686948202715749244523029521270197979332382939301286451597563246556749939113445088717566593818698385886864473815517877258821432154485457852198825980784295312532969341192331417847929195548433315676029413061705559870883772182253320113577432399313916324318352718410010907111760907158026189706824336721988864771807829404971147643119844780960045293721412775279611872097032777890693778323971915515854870863589708808807443551154431096725965187719939894433174639491224833570542463043903186622145535140035298789739047452699816232316130997414863662890698004932223173341353980085886767720116563802675323689125679658807774028191515483280545430319623487249469888883876299795873533227955180256355932711457298351658288821883017365260571300941364466497913416119249478569624297549564892974391985136810904791815700447560838984937914791786434758176328217404256722451601904418563588993678763199245295406802409684856355911236704512766568426934549661721677238822778646282619865976530918735660262435218085190049512407753170681272862808664772252644337623660938827469368141355676258988761849841154888514534413004843446614164497797226626249888890993454903161617406151845029729202593124928262425841356130457770170646072485713617845484359617724159620237946799842956223189616823788066126564016507906189264795458002697251185661993366624476259376242371983670552631294189180068259808428166097828714626973565246481052289439274450987183742034537496469973385784390746978108604569175560577786393671928660521420153114304367679706770702421878889248705684349907066295235783662068436274545462493985338766137846733842667486489982014752407483448416924571125637275473858299112208996693658959151096755698290558845684695710226261888853298360145090105942817962484284301954154427125631412893739134143135203399976847384822688468646637559687545110739655028266812915337725897059593894806746102246799318298851228621277365469271016151544339727934496832970304824846168363072427228546641384235888989152582119311647016811745684885887957208721590247845315439593271986843952101383712517589866038731695624365048316176316333566695053734917534481513341743161979836601469527320058968779618089181967387932771782417310565384788109617387810448566501649313547661950056749369196302172353203712756563080647852262173607922156243509613877827379957841623679475842537797792648238691384254497762487510721268553696149038656731517500683405530525294441488788622117626198499226092708287597617664041773318401779130932443125462735568740282630315823629320157031031928320014526235165823009951462691406629028964073147573249370974952890184253217193147930783803633324583445328079252353811183112034737661111611434374989178017232284119583862451393112680959983142580917441997657755429742965343285317992984461278717085251498307521424196913657884772878652500664099499518737079148057591616228181824951969086713225548437485963801623839980655076833814638829385818977272871785529066391281776303055820799250805256820691193243264824457175854521652032919965921485166781641952659794310828590226916588266866459072768711366536265162003113193124062749320655875623794549121922911196129423343069717738987086529355122399327980809273585711500077889587977043769269553596791481725797372475208685860761544617649338338256038848798519694941727343617468235747121286753682699548005462826384757692889347683607267763668174945759661577407305541869301155868607365748469092808735204738717569678092625618869498106956766670672398414443982249823543436490371565839819779101720017233498041645056983221972947960534634501575652316214244056383765051547535785627258764006572752622713651871204985866805222542596709620103943668087288790484467598990924904219112669638273452960747616118637203387782430826612956436793350608441316588518335006335179489235135740459827933147329163449709331986125235413077219314692511370911755580236728263792471223276105874290799458598612702565569766032622629276431146651421030943253349777407261597587471306508554219542585220954965746323764099207321796092452716568511322416705546836399494287182353837728128816105166081699260617104926819085482697858052648750473359529789653252560597828644645133057502272325999085188350545008280438