343396188111963855075806405190778956714452165111848191511095163789847279402679836268641537943010238562625217921521148392755187249790886716468647285625175165532849632595089664937342320105111713294374960266109648325342246611208591917222240495913343713514546002587599391226325868840267367783605753919295112882026029241206388126321322417481783808625367437345617313471731342586682238742529922540384238305488312681742637112236146979708267435136346506547429362419440301668552197092190402763619277283610325231773388728339625788547672201679969961864912283901172702886338564966280389129676519469108154678815999541488222961206367757216790868860681721125946832966044100792345540643980658712737610262217336894026411617198393202214666747066809807838886302446978633707015352061811724731118884596338573117114166526232712675807690247115807699550219867663999043171708927864528659477446847488678006821691932450401112650663613402496164211798501589659771709374476443678685624576768136365700258434465046166375883788796784265498221616848749317680886945260385148646599016334271305310416319601046444040716164668359427147448411634336668476596460135481650243767225199580206848425139818864577838176845579795678716531836131047913162328489908890521906285921443521078991590947766389386492710879578983638598053592122503608480782758773170549982774381023906163840228359911719319025609101151384567027312349691929795764157224656849690667601893954115662394831988855102736119467829146357331161198947209114794054287507784819262178116278191239170654559499733296427634124820354546343820513664427504540586921282860374562018641821897991885175089296552508391596676074464369461051873367739223372840041725569888100057478377186394295819418748186315665816538235444070273762300047814013714895548207205462948249217944508259374495374409888125476281155744659050255318906280395566782833169157129257294288613719910136906001163748729943291377438157226646325874732526356642871217713907114476892079281720126973119126058564490098008842184637611423356129964678862767635097169732554842287523320971746644746997180087929833728645485541018139401600959332342205459347986554218798848252380555111947589247873736183779566692559689330222812851765487362585063469088369925461177863958843287293763869635737674507489265947181640345853516328613219334833622324079381922871189323525120155761606977720759531819554140821187685652341687172408495327930627966915601921270476970334380205911700739705748439180359821131696239187305694797029921749221153101564911396885751482958267982026939447773203347423763786366187998600198350183567197416444617725824947551760640363746242406845645351806461546736224259608574184086260452794517772507611760347132792686210720164706795141438690710595254139292586114131868315825542170832839769995334918827440304448301334303641160489179931182162566995482523158852280637093305085786780744808915785573483661638149836912092568162047316504843041422368316422541608320449616881778993304663696215268204105151517740738953450023832427392087719936825585420053971621346489855334013199975344626685993649172476492304675705552357831852836525370254839273076989548677997737151458102274414828501126370756724817057011031386383996803808788221086450256955229430363645122409154948090419795587418192229526446256549437522499896637077387577917186681783450332463938616845815535370554321654352571390499571872860830642414503739245652775396433185287506628201229635242395569039722546245472118481310116267573196716529744142441611390673686451863393545667150679666949812545906541885670922512568007896315425409434132212433029275990982226881164958661617077698174213013834364194796314145057813659832052508286541146642527782392322819899259344662445643598001114822105538525048331972896944223510985911253358939548192048968242799147068375252362280184090588244030406067107270897079057874938724029446703872536875722140326096644259319428325537104684803710450329319947087315266653516573725766966468333426807371575191548388246981853273913726614666674881808056748829902273458563850211049621208901513965024224960989530554118281706531023434844963524215501264485544094405552904103837485881093296445814614355226782170009822708680289176805245349871407577061475704446279080100842884198398298413863363122297940892717746877743569003693727682315527629197307856558196542718766818940131266832666359285526810510283576508379328363414654585240767538156689387381437785207483894399050639849053877573942606338322342635402019454944484279719804219671251698755327128267717383359223284252436966847245621064612968437747173832812113832029412673577464764294626739383283567338971430099913316149092928328321369518640346046591300854366415644654993869429636624388117227174674858416493749164866416059302261483341841178058962396889873304890910536580641705789577573515479306644224612682702844859011230676777780067542298147327678444759738131167132797235752685338833577155681847996852635559353149041123117424699316812280363187394149768271718145377690812374557497451483876868771357123636756981689625986137571827288639391081176591059785440401930611781687560367575998538063002937211796867575155459615274192185764135553618276750548530067956782235936967656472236416944948540531064234881582430252292213082142271016123466915819707713779426490624197473497795365922637356148872146096917296566170026021318076598100213532796196643248397207867196218222508325028398213276362401940336113837806933772689994093158626919894474923601586232369389828842569947696553904691786525749329395154045974935244641269303466679397907213225816799628001540624368964857472765395823597338545743613121627895850542521997715582228686429415935217053484264185629636547523522250546747541835098349106423279755421230645677046570167057959638966678451497262505680672328716958479222956962820364258293051152921948818467152864033746832666438976601520517661934981904478362946777064217432277828012656245450082179475436