207741872178944299093309956477578958298268844552989920783775698849573388748820082041444479953347638461289186947050819574234550876147842652274337879576709696068776190348223330985286060897114397377844439487242677739354831987176134793292226927772457602038597018264772509932269615636434472687822250427272776726718884505878793966928345264096895260409547099574545136227951909153624880181117448187469600424558288199105707484716437797963942420533329694719416942963114327226432592035863954635970019050394331079814945262723734588460588815915788479549949589336166569818231662417986846344393036956879842423391886128785797162889558407685287146042506397364618734978027422730462173328106386488691072876254966781030773898904881858524573555985741659245070409340836710325616917781745153803295462176201333869348765761705336283707001394167024713977039016928589401964887685972288044728542648120886229387623028626131739226624986022171254007988248575379959766679573736598858585822474919126514647063866381184862057093195142575343894346201228126259139471399060649560988243807714927421939908329371034294210852775036276626607569816498157734811270875612920796974353950919932956871391125439153315871028273415791613241989111731742187836310094992271369917895544070913165608842958575567192248119352517560912041460308536661436973730218766611667453791266267984806535305503283014837320766664628394687902979210624480278405737181713651858219785897689234629824188960815919452269268144313155542736399770833649467225244076906886238064227377995151815927747922654967811974170174605588906133172038048164751511661230612959547978184976313664051551814178638892404246983897280603493944053440161431289454811058996310789107218125196802782797057734221579012928053430706253158694560376039961044973974195796891662476319190321697181210157163136366955080572704800380986472859469860329522190722036091646606458043195717932120329347412979373212847631086874110212630299326718882885096082616280268286598690735271274882612773795672448123043180828436062775164352201934478671278312405725269836741910102623744550357459922510486080943482933961176783800824389444386360817247851386141222516632293954379000709973419473819011434148857485336395830172371568501118115415732778071021694248962798166582912833763182418156373630876453810995929484627452971986080869515885353450155989242398124627878948377974135253293632985578783152113684603624541689443463958784403120138347562508768061051508695364891448755522206048743288267540798007775248154125194957431654476073168810998821702416409366576518118959510966809155689993797646488418041715811854334293713541262964462854266221085472133650193435294596874521824015538814439661995210447720463661688957798435406111847151172864912896617598012498576831391305987968992879956274447452200478568166933366440150632559921409676334020625075437445202162417897500690866269290116536173163144581942274071345510166682248736136254279271542648302177076863518594544425837639649356832679596874571587194309385668874554340516759342295469951055803661384886294186828511228672939276463948973970052233118928340248269222714997024006974745913844431987390697476231199798270936581770752139048458958256432497377578822514413489193505380381499741039249444738758417149106218586559380394266706242827396507308231259618672459534434979347640575769863081088900821497343859905779798380891372862842674130683632467715136723946048759174591989628927340714446456242411705302878244896945291759733966122125969940057317556557710865455222260704731577011287925562778663700505194985649569877709962684822699887940907036799670818816037224124355070705407219259795462315983848231248366020557840534105518665548496721476062748005109320572386522764438281823286941592195012039279918220743513217664225182102666686039382252189747260299895673912543045974735271324417857249771791819554355291433118893140354424913444992812219338956454645196535793184640776139488931530014669034709365076611888973248254179825325041677317229148131012494984868032188638712297952105973923856542402444863720503344377982298414126698365059418724190920175848221575368501793438567902444151524281106969733851469991631685983288259721565031285086307812602168365845765994135769813710169007678752554551939150518873478555137948625661295232162997639551751970531874187390212972268604196315332451579346707530208494784637109434436032100535982231997432859335945856751395241644170362330765225576933341559414796765441438491176198285459979542875633358453202080504815059826536729106937449245715983998682882956500950367092360696322322887974885286786318971833506834562741415936865428205306661215617172475581596639639942365363663357494496691742871525672448538380483551055499885513017938733981805242623434886539593257268078418737071630393996786548110728550119503366258976249443478651167868532115414582177901682877643332738515628780720734708705500316714969200896061671914498131279571865272609613686823837288683972504027658246197192589251917372255521604668816903664226867203579621981814461642375755424768149160907474068643754373613993960613919973896436675250966750343460810317574437217440494280842625797196143934949575507840618182267894987110915712130543352196324373362443701455615008827297473207615175166672272066051196731439720646557626508772437603539656329458641372383118247888169294599890078820602355881118257356973143659864190628065374213633140778575035038886082555884478737224554338150030047778548368523985414720672075545963637044560421452989528893072462119420694935703465549342469884221368432620389823422779253597172412090428693384561934875162610443214623441585665884978959375882643079207857972093757624913454904508662611707094667878664086285464285786800849036417315607423348954874416979613429115427265305581518556778947659291103732679610489512459268712382299246372957413170698525060402888353678269730222419263444082787102893974219965618162807833543334469564375187097