512764326984794473377541801453157318672843279715505858851480013416573852524349947325591393384493257087168081970959019806279687611182742796918942326701609576894135283424815271401551653121813948400197636385195318970186652189710138165947899969148724380362364244100289853881822888943678149831595946348195977373939553068613767663733545176670407383439017124041008979298816369694506257855273966118686648666779361647256885776454478317213383089607745758865775451359369274858232442036887386602851221268790380929646996530126878271764898484979380421325548387693713886441586853380840044831734248588796518949466083976234821672192586042145675541199516655547726689052731480762436242478905460580769418731125259921710494581801643452281479093048371702580302762210850268494438724494623246391681613750195492422035470666545201412711479209326367189931968537831679861368461193979548615378795749927055447081857474181490564372558077792685487564850018053055824570155769624951581274181288922754535981238218026892750537857985175156742676773315404077836141471536777530084541108043218167864310623732784616237076155582416014161463735795746731365042228910418606956948399975525577468106389761313661133862666024719748255023279473435880453238499172705736830554198009268815960495245733327196873777498188787432278887587776585745793422717940689017579569976654101824239458375139781984991130555776536312888516055949986402409826840956200626224177322475357492697905317949779346554598925227126992242945458588316865633878849125144168672756733746032887998885771894781589247211228651976916056480185422639248867557786167227449718539787211884240428927837574455140141719241932962457621080697867992317833777192651971816403468182787243030171118437578445149957880421560580725364957397250304552457459467661909159080736188668421773693975149483027892092327503545185031121818133034839666119413549485754441976257643494628738218546552254175865496160855797419283116849031819414571512685674025057032140781249085936629632752162326228023175903279797833529011728722804000817343067472671229896582343823413404665686237493186577357368122200654273874873325776657736165285852848727688364962568124199012263127778453321111199244496506635647948448408477391026859585707037324620944518741694763513621660176382634365292060162706995938883528866225064220418902094558271784443851332899559804339263156511382859141576776064348802654674407661517683054873649393356318550373818306289573656768953045104562943697598513613127967215707842450878641843955035758995282294513811790651773936811288641089134627519953041274362721216557576176277431294438781587828630479875271936443301789595666065610256923082126156407199400613353823795862633689333348939467763075325442525198802622384125305659371710541339216797973968134140652964199586786555483652419234554239455068595981074021593592355659666399028879939717852169922933193930629129496384653761088959212014106728167285172649640849334963824956294619081898977267460449767455453112712107542969972250356730159031920474098167913476391321356710627285765566957066970493231499185262762930905592625642834064448881344979578713920689441773769719613397316716521503874231347846630592176648162097208663128697575750738704403748213643191767770293923864256540590141597713715658259947217821624116618845726602365439872674535148312085863443989911640824247534289519378687379240982138561675918838372032638483712140888313754953366742438609522775879805449872498311994345044397181560138726118846919471644394972271890488139487691833811446622423803203439437994725718259059039193110987469833175741187849821377544650871954267316575067072259657032104661019112518184148020859681957712227818139799111353514274837349451345518821797778465671579641692745151197621987071613583420784939292238158425189405168387977625798378114235800538068157424942707969631726986271147304437831935099499167613856309549242097359470432003783801061972398974534725355505828631169734684696047688718629045636400857091581420148001182990545603962340455954868820063639025197412882140741633093390355750337517929900747527904652111512884508847459464142234658686593626355170932433558405147980708394833798852273845581284294877730585178043915945937396669066857414218769391181396301196863763845416628409814320961077512266554954361185354846527453432961031680146538660317364285390738193908032366921612233760269331049898201497797533324774887073569280837316959660878352509701434882973943782230789997589247111596682144563342647203999258847779633703242207048826424595299975754192715411611395912441778816316358629530877130567222171172612230787540940064358476745849356547131852695167839878565726809866352139349350644437321562477829108861678446135181152239559514469431687607986771275393299369242154302245865024760750284974476560134562858200516496823950223065288587156496144040365146892105496439564897377492560525455281611390227743409230658970680879581545119069492470333174451066564091291115765545086922079184675641259809149166849408837177576676548637169759322709951283821602679702482766100805994596405545150717351353952035741330787060939358231136567531179872798312967113530204489575961642982120097397881364896417521633827901573349666401839166116971487301821254319449724773614138583301771132068046325789060464658260404860521789698368657835524826746085184239040058036234921414508576353892913841067419418827212873846664676455861514748592884029695737168956354997983654484843411033124048949633203922188888703374203094160049510881537689881242713039234568691150286807116725980655847928898826976900252984332019126581038306594374216993497097018028580622809477359177408670969159816612472018379205614486888552127760048249636145750449897407198493627480417198593936266796746618521226326449119747437768280266213342828437584474484872846132854817138769859796732944566500299766341653397778426080680153977699808754434094321354338454677226237706057117594396464152101427689918