81746487864279582791419793647367792585578602208016426902240887923563759841422583346034788291327305181441091886152617852367529541186902433879619306930481509250557292708339660147879546716999577739689504138413185718736836646486636219255121972506337454579968634775833383243164649150141702428336254924713803846717546356917259087618263226457772289058604678730849589114325241921371967696650265135712960075331282988826551772381785518565494334542232478088911414535939365960863001785222297632203674875021560292144161668983629855941721609869817010196750045098854163055238537412724472226969237275014978499630298606546179573124485440842914367656664897124731553864112773667785692911804154023888777985425299498493483018345666618312116388378466485769150694274725226581113212441155357812771462616147518846630393453703831787138659939657119736787092817462372301858870501632973044531907289798382379783928873066151082245096591662779922133544473614239530879099279390794391315313847826072315181175939503725437829913800225410318282064157816957379203880398292592564617566665232683924404797165679806627454714114363627129388224643574881912819732926644390255269125707828029963120832879384554784877720279147611865765224452949594153724367394818387394686764581719853944566619523350125865289200540216686433560344048286323311913092367982552976583744446078553952786679878350145121887472933378578048437240871127532272166628697763692951523183325483309721616812752931307351881753913329571112663411677514744424786156363486754603676107937547404961179019230617694769988374658601018666372534812795214389043796917653667481262419296470535668889689800206345231459425563246477213590353947760713380521550247355617352344846650539127541429086508909683157559730306458849791813172874988982787527336781590200980367181578991133188876992389611494993240175251352469533862133966289395125679745688427933683021656191324166920289599046185973941188856841702274930078995318275675636680936974925985878013441832167198058509137786597881857651324099359303450375793867660441230577305457527571963214134689074021182652088336226897286778356351198153946916459359374168420699494666859633883734447328708126443446418285024874488326348897897388040425138699405964347476300164869785314139546069029622658085976657836734379123897189768256898225891344987626860843889513311379301176547962598644507720348286614629955463232690033930800133138443594894267147265815248884042295930119555118182592529078007565930248259852585024198087741539065252153629197269390693729424333793623396611241475797123947654105740853619295899301654991051242419191074311815835759281458284388454299641555112145231159962979641449885802667241074495631550886534970886175595952187398416839355270273485575316875952414235306774629539139173883429533806784222598183333844164129437721805218431861015424111617492061262126139543936618684438158348292075716332555054322287121517003287522828299500620086439973980652966145281748853602600765908624767423095863131395043814094806279942448187871944384858884667305077969892639312214568065366016293044931759178885120693590023716615434876483509392758449528851312023528853501788395435282535624160736937194379809615262193194414575572118536618164762972319255186926305306476111446099733093142141864415736859658135028275875997468981655674581349838640524674380872922115586583248611095511282297356311975397958521401679255236700783849581232187582747963479404339801345168959319489404275746478693755314057614904363248941092718325954134929411016962261620871542319901969053011541684960676381860067827788596758604810127639931866824224837047617240113577727448122798421910671393428535973899947525741096549170473035914160451843745951442680544607842994128282899321709159194895996601639983004801197522995682151820246742474857445854654751241814554149831374573870952150372867489730132428926489543471629442027700321256546369848608458782286533346878915049842108582965470963443765087368373052234058500775956588845494002776647751162008218115858768141620987134324206314320928126375512915701004537471114129931018639599591561250049407375271919896299065075171213077582019136669961912561877606813724204011522039134799890896747453936580793772775288326969840366102563561956332021865115382335184132173522903199107847516676121005259632853958023420453736416180683391536507233514859236704040464868778288920559027437135848670880517072077477011786633376513559470305812558504566876276741611462515475372194063712746288729129261209168741842286148594967415574274081362959026331138639938986632273342757258295539795975386989137137678060817556718162104648315655262011952096425234608388050846922474552171827634720107333059992609799356975654345860454248317362567276794257127756777852727226008558930803125457935172350582195569943639790125356569729976534016220356145600791834168673795017127838827022649444408289519142311992360024725132859034146654827948446207750869336652132012317942522939108818421852073828937066379448241299052469924649963822284919865834699230986093275977935829657362961459222435095233949382638851729068445256304962518293981965014413821875538269933189425530749571298323504603991254055979753889164749911063368292688122891104215365569589332462942944597667390283463564734750289924871517142473909768394756881338126765965846158854616339920637445905774382724578117226941502648386255408570381952114683072177048841151369173163719967272931986396467174923798055226912385164128478476396812919876713602119990614978903264039681991130838098788106525707055991595973967958342497589490737840882861952820911645692756032675643977315746132793102851903252904436384530326985228047329243181324160634172177772647842951686492968742877953401926453250129635989064457672497663122935333958058819829347931388334348319523704173290343663796650783937908343129024282214852738351758799453567514533175809019389534363544839377299016162828175269817311911882012751349901774149122