43604558880158616475150332471515583589915591098854626357546118280145104904145991516100447311475745336334453706825201058256127580716332329154570127222540618166636906336428712427211692573257545722714111832280232640285474617382475657096937555467301163519699615766813381146573346820553186435128694437838290628172777219407332287966765382514134999498798079693143415694946523090478776189319476407117332409608210440388338767079573095937230142532642463520671242575339559674949854815514233101518592748091830748997399512608759356651325211552208496358914622334789790644534240924775418486888791524589131635945072169361669231555631766532407582011849504090803466856789181981507431772803281352139722578489279831998844119537647546970501228124353977148328747620399874404077974154187044068705832718441115391624584815870455124118213337806898204375279938038558038376049638942106509690511377950084412776147123283637360625964269021279136396564922910520143677163832435802162478157375779651235708989743257670242184598892056065535296693738988836801471413253181278195397838718721999488547784427731588849651924266664119869669913546176406619810977317228810433136659233353606082392710296991357341762161438036917467439186216637385896696295998047981598315194813696644093269036397483944279107345323503341351836764470873478082784018648408465148412606036227539107032642444991216440125333470573632555944475967061187550818248445654358673072153368607233915388197737693515138913993145368421352991043522398361179027511675780582364336066649219105994303518668213528017266099269751019352143946590460195911351278346223010659087296389618035432034226661215419996253161513295813338320724368946164389344946188526702976556524713526145892826943475671299384051713252201178674109883452837167814366877654304643681172492633722505951983662640770115942555947777841578905386068598351821192914767886891358356180464661997466249379377648423689582430029966677718883694733536893546824221601433875038970756558015986014956223639962737930166224523654662850928127818052392397911926351794450975116193620068378164310654887299968478626576074064912161428718618461070799847474838491619274314499979987686544236225261952612881345379896316159333596419383998184877114861879647389374702323051079633369762649101914083673654616428711411846881667167036411423076696661695348502624546965100479950447609827813769738672308905313668863354292681426376840320927753303912659588749174299871441769413780595287935702426073618307552815989812333172951676330424173445948358782138858489385703994377752605395977535714692279718499039490831946122902769325213258774677575597643400550945638825708849382030649176199321583038092392215404858161559683330538962603903438488413362368174071535964425567663709772536731777316484710732988341471480932024307225119357535492453979991558638515514260760621385241473732913426231384910559872521349494862151332842653563975395365988378766474249145763831273340388590288730181545288961553617161521319946094468170082666717565592869498540239907072244127938618545945708979957091499931829258237939740368963908494075533038589914218343933390871172270710310017394169196927474640786655837456259052631391649648803230290359224184206029869192561413149433690886324375228741889847708166844078113836292358543540374544607744264175497575113306046348488095376370667334945733858948824680389638067917185863156729634249845224348024155894491077805320821419883808268145097314585269792303947597265312205285448946089996283389685242359404516492858912450930536364692101334765883150581886781604892298564146938342801823507649775306689070847861305952366392535256749039449759529076980177970242975079625553587817709235943679208544833841754328662678496929617025176929199261163250786956915446584476624188389542450763329230988994401476507366332061797316409484511541854727536474339247764247819864197398320524714733187010932414707847152119289578572041607379285545675294472105560224021336622062824614283302690188262244408284355297915295054789717910821171514832798598268064558518723924835327745862462015204525522064268977417758458758173586102129501820248374113447275022425171221856579291351779717732402050127838873720138632225674051147933870298170206679540611282846116891949851848766761162231648167498677899315371288373208211908813416274570904967369911153911575876870351862763853014221753209724572392224781797132938122477297876826453047146372187997971727563962196322481231123890331674327534858502972921943516236569034141001671868525937386411672669643793367230412498614548227279288643037432363171213753962387942532366397661293502268150618156497798399089851850662659022680125385578617577193801351061085305175945041953204184581305342642741214082360335808057190536161966829425160236619488817871774167781468652440706857199548586859192038663438225029546563940195293502599840677686650339723896412879926531864219293853667244184513416175677557707937113149958643641878915748648733752094344909593998466279579714276294741720189911274758935814264364603939314055666353678598710995176993745288243180102714203496248796519665231659438921175264990331646218448348572499928420689873872172860055282910800793007197433209923998248319046728618308677585099212941637886117954215429637648780259586785450028436972877721278084586464112625714854241639903815411381999717658254029200963239443564985388784924294129768225889351209413208839896524512862944606105499912217158911049562279653293759877176811433771722522124675452639428945015611113037921493896631064324368297133165441472312848563280890607728279144276846130926674885704526703409442394616823283742773928573196487932459136508691143807744694112431666590905644971521231268393724466560503047156752462823588677571490587785244807257366251503419929381293535550551737412587832177935704642949865791602439579253271786492091626000146541573845422306795167358619461728524658278203917862320018787302445120249587562832160306220544918009169532936368450