347975060705545698397512154499247245853189286497076354261338595197773347213118602038723182770832019383584499389108243879627038230889270225362198462181476647927074120345445166007978737908297589814692339412115956214386795766795744549861395723981632269226991598485191409494524852413181825875230856045056841313232434746847488752385859499310181182694864783453975550427003613063104619558659665348662529223588177627496571479523314227632290226710759711595487846180736486132585901122892293248676838526963913135211647187774918431254553117892988702590184348433990454076552951664809779046261978749191744557583827708296952203841329674696661552124406767654847199167646992907466214246027210779048792050689442027738485622389359708407979203355955113478215327168864038273291421318786697190056359125020524379687335743952963781346956836525806382521734435289043419015151087818292372248290710836917318829906844776500911279048287358759645488849561880556739949535249293596841714401351143662504917491128039133572275648330555195219757642413225576925355424691601475147818416128762120951343521396899433374683996193614653000414716336135727911059296257472235985634590968888673792703994168212663820410305305653628393998035406514282988314855891359976535339592807174583507406598594818992592910246717253768960455503450088543501813128226297089762703847866931005124348419961740985584576546644698115378637174276059095911721786903276470853558768619587364646516231709132139638877418631569615311466877297944555949266115539656585016885480181395736524457735986839243990749027318187412577539677866590959463280327611411299109556388189004132560225881193580933835477937751588001341403989445074789493794206426862021353214552516067863920195503327751750673497164791843937142162940697562573118161134799195118827752438435211154919428785343647301379983275537629690272906757863281638203707821424851302952995083494809193545611986185458032172871741746445987515733743821822276445484947664327512988439598467525486627068367047782239213859834248374339505217198841703692158389757971644138043674739538834287491447697115967779907707040257273569231502861245426610232908104781250672060968446861758477632739829844137304995459047989690565108853612977103538734715021562367816600805331759546581965656932490946116578366361568337435174190707516498911723756174191741141229177678369452378235632174962744412478971261036736629652531726572161862651511142411414019727749672507834235153183419675888113958204244397204025468367002935138434618919444358396868443686673016672573214997021109719719173966387728742710493018850523628783546214352612804941482858995392378817867118467287924017588954182437870314154129252839537997025064543647721601384260723102137814975005847401926859503690218269068733772485735668148073908282795335619770586551494236852647796295240115664682706406689968825367664358467607151799563285437934763828163638626565436754854731218017393158226716663016393454960772966355053831972844390831580234863459768918367944310187956103612437092895869411528501937744915337841499826693230138001594775322125365788216959227834594024536085455017458087959320263179343900599257921328876769824548888317406196385984765711037719393645235946385334245961664814621647763407504792078833742313212774217782334133697563746860303417125340956707535343055471796383817333629553674913642849603083988614736764781739926073325589551969295667848556994322553144216056117296254167178619335336945220124466235811924164143691177229434795814914871639130801912971778441788711573159259042422127424254424550797113733318945472553947314123244129488971460651981844523379024292192298497217687520542985928504953789774584986403584226778120131441212664710378281802519870144527391152685080641689770718251594917199045328141019774347982422286589681562773660380161990792985552675173503191879760616043174177271083114812755244505246611183560208842829580456057397828390278429473462558138862475208849137173615174850824341053568684813852807870021847662111368637790620024740551458455675253969566100887352601079956089842523987956113201278618595639283257339262331293934725196544442750596534926862917722543642103490851942451072386783353715324858985303912312878878863878516694304954125319331426623967119315658242232082653157462952372164040566964554956181527435659337448487611623312366550046383344275276529543980447512086691046639454125475013787411569644883315032102791654075158418069364212946551144482546319399944336565403819024347395365599218255335516309952292871564701348563506717893458073551905535060964489969661887949565661965403364288473406465153771571579353337646078038609139738812868844214121759039243617337278619793553817147536696540572604574425085932505330686218529037416670853942002322713535311616245574888518466698763024176417830682159467416364055998808458399938104819395714556639880075723655921664426977545582851774968805801623333965247185258195603419943724132742151717658682868540582946238923114462676662539166551231802274816227747167088294777577604965472508608415084143326579605605579149676519389791086736244573252151381884591288443382634277074711826997236851016339264971984546867333719552255365087824598553621594575237771716864069622226498318228484966534925657133724367105481904427093649204649437899398983487582434946305983165654812285921254126826713865977767978583275898193179693924784582706275742967938606282041994793661154937707025655897116792266655854785848809946872947795563347446374997386260742099223545652182660418579376836953268672516860731028646246432087647848349669178622778969913757768616196718769434226169124849434174255492394084776803873926349520407346665761706567876886728877402055327130884970229113263752897410646886121398299011961889073927965559461650450610920068333990716275764431037383761513760056509365423744045798255927673713534412599068109296143832870264135810352479947234568482204278290139014160547924037362905939271933655039472487