643524291028702990304282589426371454921893611147923271666314315542673715435588471830698638076764172052472488126473521600510440284624655478283977370656231823669756086614192451584561468182049646729126973560472504064184775914960062897512959829095164227493963375497597855534153539083403645741744545986152975875822533075839721454249016989466358328757712411343609943537931451484365615203290929659511351759240959072172705257479137931430399211132873581870890225672165372550107542671029385899890237607202644822763922477673366914618078745324560062952241358710681516278632061801853232785769614811279736396927811407320679486639295737132336636947318882955943228553975307272011182563408938576746609258327761722933483023924222138866389729227783175593939712799865029161263245205146541584056243993901782142407576737803362228677461407138393932970969395922001581417265081874288052070900959948588846955181896553218037329976391404931300764149984221749917101454437722164897703439334173569074273677746285515045178359979284301328325479797923685817587223358629951516641326651573473614376782993709838047779714538693349860627365998148335017046227889864356783808544462626147992467157012836252923941190689248450616310707753308996789757559834893302642016219295180353503278434207771205268630426264090445376724025742190282555764805160035063480377705266820490957988321238497204643037175054064004553797684221186446419392389708194522081162571772149128517091610287611292524400357983335820794351025450841746939051098715100982719535339283864479230816569268833958811212531711102997778606362575285296406534657093914899080337195546479414019580788019620199411111493461879048702219189588490932510601007583185219925604779587962163968389426322371833698035662116271224236029981311186132339819693419934696322971410993173125773248261189771213831342126845196855016841550999943068134780589639832339849668956153157385396869313168867655133552827246219334182309794023934349651724048937084781419425908122792263512862328213083689042706304425686433641839515971057101218458401795098695057550291376776605220111752422149739258148931471398342843602233892333884041302281574193585455223409479023688620275948458376367855272784154494609349276469121984474527993975622727461478266366697075074760857892621385237820521828260181250368182545454326297917527134942791886844853664478389108790828951862251673539391442953291224380868263435771253799063254609812409536132950842845095246221591449438903498928726904307929477602944290288521987087282764527580101104852912474819314580961861785115849414936566439234283352263895932424775774568575751675056336279472986293171023266327631575696714257172979503274154442613531634341829455413198820413145526724268117544308575727889547813417087292133222716719664397320491073589172743160168596564385388312472164712434625955158396723676680794363436429766666554425546680159464140345476218689587225335426343424924883390663399659274092579581841071812830187388307164066276843948113427585898328318432386760177312122698967220811428384083686487391503692181554116362956369934221285092958717256691092975403990400689489495077712587121447471256686414587714112818690317563244582449809250026955888110568068791725521038887945189026144203535944257637170623943453292114888277268812887698765892195527393516207509652980136033609245286046718468899803286655580920190411739141113173352443542356604527091866214035031304916091739040555388829887716524241954509426744979446570067824728353538421262942327814645616182408105599331699891432167028363924817724374682714485335450036838983456675426983926294338812794717662179332671443195875157986313912866947783822842133651451417873523102700512324994030348289278061935927311323446312690244228593657291436710994586368167826899298681737368047544470127662237003416784347087778847517742103775444109417028379923651460214976230815256081479336131584384422260397976836313770725381251914549018901713078353101628753225316753859193739626641823736731306481168788530481225471310516441618589768903935851491745910035624313344264318514982128259610839944149345594777550229643944203422389963489058867670683731112755511887790794979119147459209696122072181227272133548382858107687131267865509367018878433400447342838120904057474451257895055467580613421504522045744567856560461927681349626771356389866254768907157445306930278172856822433863823642668225441023724335513339249227912542014960328086930854571314575990530579301213411033602463832952542063897257070336081183064757755589551356266274842328470017827917294218941101737164473184434484161431111197615518464569829323301183586323009836682197827580175046854479840871896369467075785829872052844571651285982705944425619215287002371652945159613448611217166574729734573608129370058452584060796997809384151401255099038599256823862263347568274595891135335116149316610996176372675113826718135150087005425674990954744207124456715689439387758028877552729712418974088066654188498753706853621970867929238010058118562672439742538422008056203446726692412391804359918984835669382244377082089772664764882116570964053315464695632293232311662719501981457260499798653719934550447487400413858702403755280521309858578671373826485954030783397891139964723111551632943448671945961718287199199841518149969479670131457889612685595210607513341394761451147426499427354250799678321699903274266358520473844303697357781809848916881731138646270785636828137809342905950685536253029541480964519975694427381357813248078404801291494411763548729770718079986896734458976566546070746332925863606334201183952525193110503596393954478122231878326970553924881129661445561636043669338379638980248129587168111238222744126553442224941468959524499356700580386884173556772029515869977199956411214368607417432671228943211622647559014008160224744303973724713131552725196353667238661419833427232460050584174929492044074215264445483490490169379642281756647