543255926981496437084112397253247847111766415551765578922351980688181445264791811871218056487333034848086367185636669889867641369548081222779130167398802875422613378622673898947206119646066426152122183446159390225337585442613205885328481931072815968107254200970188660913453274015143151650024845804190177414997918689430557112890277966578209273179648752204433772246612322695110009255130357701250331100140385131385201739829474254637884184829379199045146447288297469358753612798732343751313884191822848985809800194299885299626113257285274102881929755554438367439552248416697393512318552574934578237073609987235301337280424190744731636880242134855311396855927469719546360661917215538240770437076600094708176403452631667496990785925862167052294759430411444637692476493316354523527987232182702607516593335140165450192068395721775534803795032900914113293079332696685101902225790010128387529615963468361028264168207909211830929959372721028500915993212513311186362676202894036221233188738778780634506187676525543153257588396381459946691744598676926360690069757540128385777030568283519138455532036875580512774690283696218910209633953930342953817425789093905042343054985089048224384783418129582670508910430542512998581985733712915379849587893608280077133691918360365420137623139352336477353795610067434392982722971893670780386158576782506379324390546875497171629459824684495439571734716455018919735512089845845803711468011251026153601681336918575727778768323399847683666239217062377809432789163827914810529488161934354961947857780441455238897227796827921184988158342305878853469154309945017552229871989332395980760413917794589297064552297440798081476128958339872778774162382876216056200959423875696052929865692824175395336917333653133556968107336067705270154088791503314256206996693479725909389792647768090912571278331623234322376149569479563123816764966473443791019750628893169661662513823472963122994175329535483143619861660641722302833179567768531975337885282878853017907629244759106988312029867707899592722776513009820315330159006684192761584518706580296092954472631033724104722182978781294338281236291085275826005340124843257262161685803301656186962562231998747891854336064620988739290131268818601297927571360475723089775482250088707909596616106531756284336825420365957369182714091644825674378179838917547833360731746776213322201261545090226934873911194621688941186187346749693982055398922195388153191602796263324270607429206049163518931703646538561357705312481444306041150757023674120103534160162906797540770245369003757091204087354893525034975405387284543014139189246025988929249524971464541455957252517841879311369899671846987227026945840143714669674906432396798558145468190025928647698811665010220722267409397916871390608866255934245347711336117175518126459406798981836660193771533546501825596871342568712638270267986242938983915717490922218724141685771150421387898668994819255797443994123316079886929273643454284774315397714274892815943688937506059322211168849178617719592991299906429911483171641957950077491969178092075803678660112310458728068028147695062122713525893120862146618016658115560332542128662386066295645394339689477911614757727837249899797156978757326794009817915853908375541582866493759986121457530523958418729856327843559158890674006244263123129091288696628701952911632679027986494228490658819675192320644605956705785103236228492245453607214762026778137482095827703566117489257906884898806517255331582470926422013103424853351307713581951811725138753178483711579938331686782462039957750368467802380220940996061920359484167270602938111701358558490669818417393793802905775872221909639932260735231836786312254651366256766177969589866756766232205721576922317421666498259476213724035683615282816801576511298399462300694777633332793593508978628480924722919366895573864519553396843671799312996242863782244850321120548998571583939581431355256802040576523141156528944979576704876961874728561298400265512547373417944587891119243250176997113826170968941615166618319611977836269098906561160527771890260718439517354778085938762481026688689972481755750728134136766267343344326224182532180898896465967502393295788632160602414887623516778489558546047841496656441311396487550991334460132868179175662377218246774178132421539658676365795313668531639196579642128490970781855118412916377163957522704220880267242264947389607309208476301707397586775359340058437509381398701852578661566261062486379984872389395743398701215596577308565939323697766127145745551611796011900826351530134128314705145855239002432609012953081819113974371205736172143514402649823806538527248437673803249633540317976837696194249730746513203667218790763775855713237659454620853103316273912594293495775214478187177692287587625763257798757605791022368394350174050992939652011970626132415711042303879609576914527432499758238234898213343778466047953627408701275871372965801053267473615834974955801483047413964765701298999577811675965792332408944974270603789498878736491592466312082754281302940749715041517788930662517216566178681995055127404701960126833448032881851136052448392740454039347980535637938833176687795939426469963999265435508374682935488327333211581968662314264861247770087721239987419486021202262812667502835661202822390010172799115534792489977102751786478918870371683854568690205082806465048464269345717381932525915734298199506800881078742740245912356917841598517290802115168145168212753641318957992678653217682351525262442446028825598681714286181341554408358707942273377338716876349369143998698917966408317976978103611657975941523717759573337675672626571165686624129554854525916801085491967420600595181974157331159967616672352607253725279677636463596327141798811488975802479097460824782841135782571639056532389319106880968442219149314492342663171259496436459135574769313248267498211178153234796441328135528896896929832413039390703718633770338179296298