52227492986090319682648776095613442336404568682264995901541139821001237764530651550629546152714103140746173944582893946994428335974110721121809879446689175355254574174075945758951461954614515194517699699350954667431222682013463106646844745204588541208042762944686239243215119033979928592501323301686593676968938017205113330141110470313560696894210565074099472371186624963298099814445927883025954196744328387131229046949467272939833310081459406811198212535886877498148372263081844198994157626980716072710571672711533656976585124294228071046615926780409088236532089829993461701944279699571441873834252697825987052726894486198982197761084415862074229397393399223818163199867573718753324427915106090614550263975736219129264801398508840125135865542954235340235349976529441489536582774637951569271084285267188797677275062192802165386654841232577687138190967442231396798453276739719666798411607831648140979125344243746532759876337252288859667219482320134642775479487160969861232368543916970841362161731331258468371697985383141599814345894388849053492256671694222236942818393325554052605925251983887191466151647190194062584528404794287949838540580331499284656300426962547604360781532345791505103146950826837318908841485705119871263925335631087015688829114860451157550635117223149657013358739626552709174052160242132053814736411042019711770083745275533527135532434438192917926508812239839501781604749704736443492419861294154951594699381476624851335153225157675731913562266297526842734711296528677147286267565921104931862556825244871882978633905135626003372677834310728920156667716874428581412182394891669327432291002604112655352943410459977545852692425248630428958256615246889699929593966639194131696124706822235066411775362375410668261279749512112756556597493619060189209328172053304516047572935907825867658469686104778659756100341938456434148483744144134094792723833551922167499728557274031629159529271896816877271295185994983085249490856648778008286925703462370581882427371062804551185649124815465609797641894997338154413668447268531284834936512216405013376645137957341672369590804121236880354083688118676590115202791120443182289427916954215778040885441483048976949921343807615147286709585978821742269590177726870116762625841520489668119389597487209314176320109420623078186668417161493919839773413720649005925620410001600335481572875293377887044111667445749021279605472827633522648927259612641345512793420649164309939846338445515467436110824853788939533185352698556517014529236084931664933813621471582740775402461837453332940995267992034314286918888461269757696376976449749283796875052903693455324403203083918883897890308718540518555129645404064879763927971043902489156890182418760925763894768229277851885322684322705436727035453896814491446934501867790977220796683006454041779513974232779451200445682901614973716884860141465043270805179871151670376539746387171039837295930783755341443494967441539452452532780271208927966268668433548029713582029009310312231729773280595381970341599931474224301796493592895821684973086216595533543101293774647637741709377791235994898548217479121453451277773793904004429988739185784814838698108983447609269712035957073673301667263753770855675312182240924324359507598417337334406261570494717325495214304300268144602832039472610373774227987477196799652350952312844385537360546827808709308436411482192019345349134450032550383175185343022344685835753410050426181240311087621166030446593579716506040219789246963963671128856363404365599646013608864484259655413428242454965370673877347015549653607410886128464697316818658118368488111293620074646791500250417313380806430381519718348321841739951542350818551609147231622460966212567828500918328231219382201538438845152777976763268088029991368923311522331356463189047936535512616390329249701393973518680926011550851032178868225339692263159581638929993625235934687216167944645217440233741962663418914788872197912205160568052189384216460302676792202956181894138940805498937779336672569032066451197889065129641670155278859649663584953180529944934860543833065942986631128880128868259452192642296722984142959508303759342429626448961902563370926093167890308035444162725357402942139292803506370429848712235349099303439819837354753540084696765548326146504621118298066911716943850312425874724481786018720897315121448676366893265443623219603966833269806064947795647328414121243703753635645788696153946391649373873537229612484424695476241082228809448699091041113314144961611028981384907894590981195876941614287324450928122982542095294979457885774394323659698740952318927575335046937002842765463501209362093363053283768528323180848328417864412010475588663631064241852643133980995619214552418167478955782469788210376650046114147451775884997760212444406213936598984823330891795119838640343418537929180753580367148107145310549914304492195083976103741954155222097929883770071973851125395683018489266697723634404175970989927516209345517449165714456018607244532746926309102143251976805141579502838702157143869163080258058157963620957822366068623595782242665243139718868354874504175522728955964723583694195882298678262440308393377113231891764899832428756385674042105890665797767174642195497593728481295124627635549879578692714678865450251285662551653171662816700376014876283417773747962871917505702274266116975780913399526622835923086541131064035117463483594431087311030512669683456079490784242611459417629594561606477726961103370532761783636672262802641757881448067375554015465443656048145321192169948289893272957993489768926220540054266928571437441523394896394372806709281494969840676054337533599681026943448918951390769539603963767793777110105614276455411887846981104561290442401353691773013648111452467105218133088241718114734646382193974367670054223363589419109598550717164155219126218487586824707425469977503365338479103685819638368546350190053683935346548482708353407803816166383256