670685541562685180871057469620574954355430614031188837511028780991336038343316985240393357894037112627476623520767303137209521598601523827644309536996691218352377741751384694733991102479629899289909383770244748768630047610870714763016826731544502239651066877289441071252345519510553628780138137098895321263997132490225701227854104399259573495301162371831366798591581454049973471458544285976414768712194873612287296757627522359292928129019643992981461040685637797400561895421039858521321136013731267645556731847802057158633114974620682917760145827475183950933242548795793661752914264971752216838989474100689853561895721455839202969812194348681476004220162655273327343190137111168471625494176670520735880835712759343641020815145068073307386395668704053881784940975304570684079874849394957551739112691379371936140812390311978912437415767027699616446966202856638544921943610433714773591162176662259422203756424243982388848233889601872433374667198046861988014821936743942482547224337469326722265067184806557906637567947549420827418742573852672187317119952883813770253843753463962654185569507380288384414817010509959419925481547768667525904141401569331117482519380356951772871679209726357612826639253307148673299376373984798695474515259463172934849015324361475245734857764929511815546000855361272195912884733493125044539043912679177726962119035490387576854960058429138784921121342343522492296554297819265431388848889214545463819251776315852547777605440961483321418837191952338279642760247273480530420432856342975646549823222466034213241256379441880223786642925024872152829186589495636970752991720391883948248192694500565773146854124836419720386947489370213887702763781504796976983590237126845214855636079274458442714277539841150853760211476241441288475259930506477943247112096901863559590996642359412504924196183075473333172863296748811629048689149606017417218217487177554949567637134145786632865813697290431610175955666429496611591727111033218153771519684111692626316839629463195356757195999971752126863796233194619695985398493667877126335795864144649165421475702656410418238916729506695451531629249642120412447282888325164518536924054542459889023453112145917069461650300249246124726367246809306898615463784524197907271565577018691405354181726509977484777803261638093279610603342395294730682912106206578750381805634629513599929770485020397286415597626276965263993026265670923841200568244783825404669956273786689923130277686344814110885716744675114109965802372546532735694015890189583519396922443789151328242095709512676870353303345832538731854014175435614404960163962902718846548459940274890961663743532460578587471747842654789343246395934381443851478283669983768115001278849672198571218874287902573157595176332263458618448599763859095938230261883622835513413915037814852256555263967093719788035545654635956855293903880788957855645635021640333947878158399106627311323004692981143573711355134409469497445665688501316478023994159677382118292342278191508244472048778906284567163535956780847391107201818881440718051021546131780534146900357152702107696914922977068646764297645123079624240518052117694798656756243489352548677833440846636635692597326216668963500763651009384570420956832769451686022938513887175247493288804577480143515088345187192651496714828506426763074066755428213031577013485385976959876537367338482475128524291576372211924962391591768577136955580056493417675019339990504978433266319731693108808994731020513531299383963989379140063175836706811932826488744011519999409346006286154822754669539217215574976727595030957580649165442767797675577191703200536684440363724338089551553469193872771195282803817545934437344174606682793532086153119056988325422589590994366931083195774647223947489761335985687150282602788178443653864649673778361997031972210590817663527250766048908637426072442993268422173580428926034973424053160239773404681042149253145746082573831785643575150869870829954803161138617958011657922829982689065698994487636567188187876180316585814429711559166075782084077246562381923373977624955797196706483984819768576246911758389447413089694543289355355233179827978792823973847271863512266374453156380677951910272294856666737441476315096302228393134301380476907699426262907689375765573052535396503149865568628032968142541939976337557124949578047619966735806636890618915378170140977465709144496419796251367928029754702934247831927847962304385249721321154851140825784855382981151498564726494983454470192270148866189938936922506477502857648776986122344393547925864413105624399034753168149623349894857126158870628901686662295763921659432103665823750974162717298878566291852314640789755173867497798611006652889273648586965228088452224371058686945843353326368751097150650427161201923571859718440385433075139861313542557493741914976977092022849291417751548065660341654322229479699711529544243667236720141932530732491069944669277275553173861975854628522382721357130263267702232182684513389592960222163263647633817893569789787960221762506992497769005174602315608855177059219872270159765678578462516945192651921934963734928272998535638674825910538505972709883012117299739253493783954044531557553947755794301059832966433017499025323955911566236939356501103465024528939388431323289689640734352744774732415216247794322241561531578979576639947024623549655810988988681830451085341761066646890441052700657393384696192767667845290097178482244376459624498068719615851557143783115774941292098350753847496052164145774042586229767031368528156804819963518585760204324792625478234044658692664115586667723421201755519357963216398426913578594258290767571772282432007236424422511382385314083079136462888534819751808568132204771215497676620343079178493350726703542956054554464104559021787904892977734254488413392489578688926287653369507688488044531801617213503956463318657475320714214068495232780174814320183686282199508261031450254731153112