631843692551071449262417282290563620423801633233578686262634899960237845625639164788988040528768811864984752358041878096169113987014829796436266442762446961841404031375042748115564955723597553721736970272284249598951611425081982957211958758163970634878997837658067310049083231542473035167332161325916745041176812542858582398500538107261048176491938097042261606581587165434919534388993496116537884177125312152478444635293519343467099464148212509436958332387140664832546470006631878651913052197888929475182171054153913742134894106307752668252235850924546121958951148774204610481037145542817054778752932071977938884057909963373530193422735057805645604443321874247056593111011584398138041177400959819534645637997464246938641891829335351894738615175269969161478513253845253813824520116132542448132686219191384853664081479638236883574580704453779280392570898914213669749849277458552209950871328165286483119445997801530427417492199624075222867387783470598383055402433296382366344213622797863136836542940465791253175268459545354966541715227182555366555949128663740293876353858577328225158037186602648690279801713827472854675244569130937669271379617647548341258073302982475431578618784220182923732731394013001591591935214638674601824202127818521394334062708595760192588870152448605911348370272694957211616860188108697125465962971977810423833113689765692339344370215581690696177391638669414857500353518320173348475665343343421917081632452391624880943664124465443238342397299217807704536282259558379218779764220381862345745342563848769026470223826711765189577954278290811263185496367123288797752115291365110071461657987556099998646999653826706347929594536514496614341747665751733704423113732361025184294128261803790711914062914655129082686354732937406075892824911374917138727967779246306937835040588993532878598369588328574889986018945929277927351505722057899142926899579301683470857073267136540466819996261571691826258581262078790168110667556671297187783410664318888079250195038227653248221191473221351055331497737736777751970272660215029344788262007614121646493851506158945005887937982813872421834360940096489458936431386659754371235123575832946514715080528521272129437210955100790866133789145721349372175413883678494162349859804634507527583179727643615097751658834668858171435881151719858773130973663884091991333629929782180884298306304629729809103166984096157190973783194567535063150676554254009940602828379181268289496863042359627813250532425619661939952172540396183613817566937397045415364065252175603987358122335874331777954899484229431720163499345313982732961319181503926835699509404826063218251645768690439614688963975956431023236665060899543230958562468105724432478219228561327495479520971765303426654831239015502767096762755613521832547209561056502529693172133942526414483733485262677841175330855766667204757940364422347220126338312613748873912853233418418374427669933581986058450467729355229061138787997954623138366270844463938866444737553518789441811254433980976765165756484751003766757503800366744798544588741203880302616909248783661915847559878567410673697341262858238887350649498028398422807879549838064486156646284827149082056919496745880463209709298943487393091803344206528857041196753473089048217378597337115461627940863981895456949411255915112706245879796990693022725713995094307406546699459161816282969745924212734101383474431559022384028673791808030714218713570904943594888490882255857461563605625485840528453641011528376857455969229203410464479164490784691428103869668049390477657188474516416675327048603240197926482924969266606599287237286289244276918198478775882522855021719382926101480665152567256159043477256596451323069296511722706674271593008309304347768702220013709238160032347298247639169979903304027163919771126259673398838484160846476479810012769907782519744648728428996332943869421929778286125705299788068272553345244333764791584743551284215508895889717468928816795757337141445954694294346771153686053319841053501181970825289929715299146068471956589528981552232868368477096967209557040431125730170678048920579438429759134739831235432055735109540768104802298817825591338301826620266006188584515945685490484221264409552746271661388110871616927783261938529248506939966091781196157074248029881609330771429439678544275091122043601996813738893538641275281410899384948060528989861652881663517494574618701306987353939676137298423273914672819860433529127656845093391496608541115461687976028142592749917845154355777289680307878045152441728325085780953452901749279592634398185366490454545459215492267492984267433293331636274606654283353860621124638476155137489925966886356681314368023919288157313482783711215888662911962042921235051431050587335506578808314263695718724617796241613709220138561338933817929338911059422407404347919617859115392949963331157504361914233039669648296248444766353219689373333670948914361466151433456388563753449512535978126746441590109643945891031628743764611287903166717326331242098341682036929811216084838744057148449134628027534740252677598862675711468317442875597580389593813633773547740777398409632413767896576822903684348490175930995093783039699231440156367509923283899862048088066808146859577688437670928108240541476207668706456082590615577784918214376865636314643891463701335541684923579112698571288524768891984859932826341928745035734468655875870568999149233766495131775850879355725702730962516537460591373635989632549847907643493726554353692201480562349605272422585894871897959625489413845533707934605621604929734876775854028382146911915229999078114533725205390197356451634333428393886814216977524734055388426024233085809773531369003928932940328434275672975226256270277775568399972789773267248399930299316107203382164953988966347727680469594853736594356650138924992030722740047900413781657473966113999202533388275124960847252159511488169765352163717632010910584556867542143