347435076357214776912929879690368007589946932437827341539496019964955174545462474890372928658556096763750929443175451372063462913688623339923229072732499152137499438276428359654741498983646667928914110846374209584179051617377375374334958898808240297479146860249835832082965351163207289666726951929201019138628629153553793229458103167297959841846439738455679827690175877625425797178721954473983180121887398058576444931754372638916222631781878223681794811395307511625763716518534564638436211331623689240887778727323636084681310972398526872620549634790171921640964951119198936716126079186392942922916599502199680331580404911333660193491778769579838772995755183038076694899346266718792653928365898551406970369265057258440989023392963914443692054381472329711804752270821628569293515125161492845678103442518225145578534166223676689500872277110413412077984484846457175606736741941162666098614642377703522573547271423566239484278499211767718624963175867476307505488449656055898943836110586255358737203415611949714429367401342773021597692993592265462098868199355372493312628524654237565626555266672918425279895118862951333552822673961564941994432166910232804326814183862814342857931899058843137316092646643242485786139925079268630346424369505881738218470411888982456809722094479980221036152268768767334810933997079077166945360702503343917514357541428955948148656923225490737577951557675286533335722941438593707261631342961086667724888820691449368711312539052169887126265952240215591875302050958727679081979851693810425057688183508226622553616477455103847416356793625054055487063255932588768638372416763069892995115422778446412507234992514895689583126779112578288372107945650015706550237872386724721246213742363898043751742867714333553417092887182619750821178648169844712189145790051585170969719284560586244825836879230346670815552563034252040037763698679727195125489465793995929177552610992557192915983315636541413393337588789788179940386474732169057504109183487196476248577274266564123965833985565998491741194010195079671473814987706090884220157915493651241458900153889563192345199785323537177455287528239689292792341495411983295216587775127063690323486325577455712818815695991675505196182787083267791104755699504263783414529627233787670381064129594443657988383582174177430714536484213839110551245722046263509960358788964240990228774923375484679988460543269379868305963592671327744138558893091420312646216958823372171583948235169653507456050674892220110434805589709092422897210220482116240895725555975380569645798986871754327980357842339456499755394520657668755431283482981925422299210222831241330104723483849766219423266326929883823629252264548503297158003236565119717482326863275988854096152955598914012867257999328516002898118728042998777169978035108921829912313416581377456600182658896780030461873398404957969183761613376319061623603848467975343136112393294700786685126180117951724596694577131761366490416450239318398767161501461889332082857717529828085693645072330282876762863740366042003063128121877695614482553463707280776356748312151337934977160192354668457832809252523751228789865572702178419377981349270369463149349154695213434881111770231123896389326044486156396308265614263318113323264110851252763277932068104330790361563243742184051925443322492805109471898629589841865333028458349675009546731639775987445974285764858714268316406975625942046534732919685857611793615021934606497245573092796904295499386887048633588981845815786219178356568897533527833455571146871194188228763949033531788369078106556703268442923904355781087023757648363975377774849375405243318504406214893531621059641513729322658491714147063793238367030728733652488227366342567233478764949283334741834355785684479124701183543880577836515479904130765432381996862751602484356152723340361316566789154146857183007828699088023672525371665008349411539937639487153191869063966302995662540482972977188873723578386265365347192419879699989625254874444157504449669913799499690657854363065266571696487829094206426922422781287664750841758513949340251345409570039131871723161303490633345114291898676558357596382539403501985085589212987997584208705512792071863835003322693876789839549894521418729128686618202359398572555675945337846507542428996679847555198499612568685286125921349513747199071063163484787990691695345141944303934010739857849390074965225430788171332854140383276240205396524345685210306878493631321643500692216123009170782141692092411524216539665624899832634652536954007733372172096857512650519938362720372106552245656128992388521677414857045182186957162886548564084481322114494995466897423927525800770081193148382832274116591254288823578561296677835775422545391770813918664015295898381595887815946842879863065018217114213096953879550483983780082668712728039115729775102091914470926626127046905162905839650288097405827564382486728586250061087186848777836755598777168759582786067768736374229567258174020313771644468157252758365292086179570920691342136599702416319246204815823197292312997508334384851136983564896409382734817751245208833364892191997705538936911617998892081106042248845717046757999037898227290717881343875918506935997646206251573033691673102983041803212367942117335661088495765093685236142608152289351744661664165394048522566466051971999784478416933727865911830548538850133452138850445663224441235770403427361754559505937970948432736294002811999392676940788654189314905526845425860617212916121661157775431634516865166868159215756429946441606985355551615099062567557926055250472053302971269988317694730252505383906756291067812751724390199183672033553188066578547161302598993863235796461358215392364055768918853762949264231474585623504067146186502179374441571365046179502796996495660566934834981298255790527081822061967547872567913361679514657555547968443500225919351844523934725199351874772317795411388038952451241935164428413223730629834111452992367241992227787887