305357235078324549749316705051063192884146396919357279903887134718839576549706245226242217342216300921954271032661728596155787344244069589649873874813544009495491247446322227781661919456173443084135128155416259074829267331341379294916564363703378913002156934034770485835552033081694144729812335528069759152748861615989052141371550959839531671910117504075834499605295051639092207052213568250418610773119760615581156371662607441919569858819615002609393322761118159453172496353280645642507411508702008971845036453643612802885437683649443619189835561817320989311079699597315602832033686287844819893571469118596789883035793743090746777356419223649083014232801731430686055953551233304441683789548826818295927079790918301344453564890839632239916113893936220186322808900251901473397306785144298498100686199497414295364301706276420238363659385912089689888223636885899469943932518934058811900361083433283572042443128268040772196400482542648738031490410574130933026771936553429591933474544561219216065914289794161023591756912473050199338461395607949033027566516246410984045595579306772399435077770595510999681615759762190567350608152730108912030548670581982570873277323493769300042096385752408415737430824197463166687914325207999161393849371509196566494525169685609862013271274086408969425081029693685957422023040073582729597080695833591783225583995056743010080080437795559695416435585257697577249369631739788837701933173395420321531371799126028599413694615456156718124685717529456287149241662699193151198769090980064555596408475717310104591857423119447265572521337527896633693111724824137830073478020574210745072743845236482993140838092979842639908668763446140117011008998948712440384824643991500261534812249944995715984983413440317773658193261869346727525353370919387871050734484375663356623435893294913838103449713310531024359672332844889734201348340665837081233897025812686509538061647030346746978071834533549839039432813489813063849971323506155468085891988553874396566683820240685627038028889797408049491080835946561720357911308409072412489940089747104937699111271689599114182575255716819922056424825283590405375013628110269330883612006166701167124214363786813719930952237022419764353589100554509457352176384291445760775399676119742010990031547867722051754734457019947468033925555375515063850809093511734894318457182636152127063606195217652841290635983573568191193070523382434209876519819933728821440323201549561123898404889149079594822882461125472090127777595078625854055499152672368932113038454297370848209302193774492314656029357946456234943368153239598591458714585871596480843167844944512121405650173067461643308839042180469060756814062390454788356013381379702017770533412588342613882051395766225998784556932471830211935731937372868271798698440224049356056216476849459422466574697620604623829423331568312027300108997947201331819143714533107261779073435581436560940720334975920117009334026842210918321233749773049236834179779519035022868448272142551987648674702070878128937955382348059885014011223305469265262304687633022320076650540003554204108179941485021391516773716261534981745836921626725459776611219234613073946558864874626696568229196430487032633315669493984415411556166886470963086159629778009302121704942572951691344770007595195110551996626576314626887071618521466743377994729798916404872553522383632104204167495666932371742809548693493681821639558621757507032475234996569448435806752821614963633759124156025786605472823316645767879268277088140432757240747872199179179166097260024475463721368502311865275065828517701928275260822218391633653271279049751378928126878855335146203154843910023479118151450214284296157954678486012094627256418895739232418494719864599066183594394263025990953917731047458042148083592970772591078879982490127831133645385854087242654010187630473688838150320883154364821818208458400910471368458718756704129536777317699553034100727441107791150818635731626704972735037524345498217030151264487853456210733500744767041839963702099195069980633234596166736660168869880764043828931450934584631997542593370466044634763648356601742228062380872064159364492076042254561334956811261430827089021030961357483626190388254306680049533369918786705524844739250575413807775571407704615881964811854421267604328870294299242449760333858690723798489745061315442703957744044456874357900777798153292929001366770148867481206596654217178934989628605449856726793579781926335354449096792866689958073103751416436956432443671575193849747293717761678718681796257921610863880959800148629455213254305635312842202467406640148634045207493997509782363849964055530376425917145992059459582008887959965251511662642606573951550778682141390260290591756629918542274810226155046360601479991394216545046133995377096123658365650936173854525770390299629688533379599288497469613118500668078673786612238352033498438708374229981032941240346695899870426635204216510397912075008256538714837756728115875144643094476286037910308216318095954041562943077327874961739473550079482599271091089241174780886808217421317684164771290655250026222363202146831813429026087141003297982516558980397985483800491616842666887987282393940182924785259325567499403215993709445564786005568242408011802708276669990384915176649000228125068785086215954872067217996413809418050857476384922311352941507366878905415559463699017497918770405481330870402072620358649177245920432078546047628076579502166976052553382441983092676144492898318943153081385865695270632333997534130399184723016447188137962546823416167671838196881077587652444287540587525595591117403068977697432673846769635130026649784021764299138682100704847304862101700401760892253307083150589478222307534562057691962892557056628207583216169382142422147082834929535331314292182518550058772647397633629690930090070011100883889450099588151374679855654984180857268508645211365773940935383521455216747794920232168252536413760146671809344678326263064857965205041945729726232001198170749472510959127098550173284884574933964012124882766725221885272551563324221218347098285441373847972716739762425555002720597962777602419682805492622612607946064985075753054011430891061110250485223153665878647402877671054841340871941487153527037062903953176871630839766520374816758750989103484495920856447375526575104469283633773619429586234111327786590142466523902143694556120482762719591407391667367220083510132061016150425874195623762955854540527661296168733960452040859074464245792055952751716150827185121698493013512336650650032444915931956015678275376722951897208963477933861764075264751371186438296511970388373968992384685759852008533924738666489635719269408308310277910144089208089338264493228641566708983029213733981092010796970790150638005003922267849060996680276535850692411442612923417201458427264052794067243735809844272709944385233237837992459405321152816619547830832286501396585265404296126263390097328179788947488925198566690377892545430634359740528011754583783374387205547404203973402246281830030212022699146713271697788930975417864025899315598442538094984452841988945678806892759537428990891422142440608949695245469443768000477577810509399461837740462308290028685508178626664198809489007491912223388117379514712455427824552693085153770750377353236187220305193447644287903573915706129930276700900707325915266603088124683763514323337849086867380489007080028909986967706556326563313475253093147475055818528403626863455414733833523437867116479216345119805963767208374197939262125514374436105662012746325160742713334891175701829619338046479586602517467193051305091782038990044679642816195076165327144420679995251035931526266011862305881256550282623905326409938106274744278922682815447843275470074446070029418628376862823417645201613835460628369649893065171184379841294810777366522429904726456505973762875231419634491595711894225463216132402908506967573930180984528437985228009268991047715572864383246442977399593451752167535747342104588527783580766298281460120259400797397130253441838051535826096078029342043213258023788490154989844208730509710219155837325293927671111504715512227397343601163591550833273971186139359447363582255076417711043305790102692687430056319239085843869141938016615927300108391862289478502827934997854678560715767524936917128365653807889298846311108234888891544522031142349038849155446681503332650313493667792879529986992285194486150533032695693511626627813717562898479470554973184997879863424380380410534901993691595475689499986962007263817365142310806561026022954753164679883224987464885382652940523375726620873290424579761171423709110195193560378562668724135381152632506318610230675812145679157549427078656089370299739283847643541097385124704131724874014657205642593037149766748342404443158340919293956541037722787200712677384677732807440068764686061268034692009146626120843971774539665774490897738726477493643707018502171321192852601195091562004398470953722379075719437010037287696588701862132589159006908822660227181217500542004244115471089691117255204012219973507910772579399397080641095611569480678064034433301773995422067871658351578950949035016846172256906240946370493042364096819126318803297050279356873570794073712772864256092908798641314939797968963381460864802370517991638144554062026010287345370888074326092894039120052020729741229046004835920223610089325640331000023015915472740928302985308007715227045580623607380875264224666798463104617730901016431218522105157717695747361387808711510210272180630016922766891239577998363339663959213414829206792742001453998589980509306539890743387485037534325391515919325208271340809431549602376688491664268262185365558379688816491104760334776732305129883541807971288619741688063211687985077837398094232704838685867895686300424447402879977345764134250906521190241079920114055340041593310768486369105726744206292462822802533071610205972636776103051790900413800898285213421824827317454555820009088860151611611957158497097149359810286240425600345937460403853378186426677471499181156598470452204609758295086571685267812099703338601508020635101023049451480046247309022600859703814525641772270800765131046480224660385667373334454443291775130740556993043084292167260576429429527322712133028988281276818125573934625761420982732919666788446287626781593743711258732066719571601640270781146677936394524569955129663344959126161430139209394159565923371223501715261235889143213183121899457121484923289186570377402889420883746178879489980155329981566125219044409210481076198906415388940144639627985543982544795382830591211172783597386004233474834881322965835769685784620632112408038615681103131116608484468507690478530549871014913831471319855900574544687493055803615257247170423468908174107167821853666013120813939776694033944103839502263232647846878706196636379533323746276594778396194147501870503600444910767972761367763283181666213477232094104457820401612735327541882500871311166720885750766128533099034111789634898259579649888237592026613112951504374999884166011478346657365849476696971269958626990252170896985036385466943858658434700750360615765234369497059891584412543969060762950105562614298546062350028064331770157560442247761920999500875003004694319231626860528281424662272760596946863507945816374184373142687717103573028303573249105680602171842298944686727680002584257705251252632668009722305711324744711167350135237779785799016843721720223518812714171406175179812233102243077892365240735776370036167372474083545202140497936631876978788519598490134863113883638896609384812582903502631293969881485490473380143393288408805049118646523276837292052208021245657811689347355042881194591736203311009342632698626137443823400928973081067701245540684241480091154616765586052192178801541731514028585090815889405343670706932007236133632814204924273100918187904528099178235808595947460924784846841023028739448520432976630288190046839440505570915297132475851717658429993771123448241314487847900292978535480765712704618175574231424223850152618411070993290213491919064357303331751951300186357863680977771906025130809715765744488107374786458905941354551388239369055875744619615588503276108374329267419425346364965355845011760552043202800539470854578935454073371166900923330429578388350757208265100987689109643114906222321885634480651042970507365460174710545115141154299220847373001232999101245891676502075088385096670787481207223089108885384484295666302737465781481645735886208905859072960616890747184640274106235288056786826718804725402792387596191489904329663666076553939545101279186540088611099172389903035591899925853793725449931669661313786146343511452287185289205724722213734464795897693309068477071627233346375651518841754265010174641133250312590517696539217435756605484406223985490832169206468592693258488160899717660484686758076572184112336779110334887103050483111031267958846908185478766782243066738437896397585308989810822769006056255528327357563808270124064943480349826766228973581795003003568773906065775796306074609248406431358990599533000416877534359576699861131221970271044363412248876039428549267065911840255372162359508555091418012834903530616870283641050262675342630752156416287425414892512511531674920903374525501278968482801841821563675477104089096803866706093588284495061929296496205904904060758605859833060485810543356148631550862185806872957163022008016216918186517928613211489112351300171217678654638313874507386897832404156901934959729960766477255926694999758036186381623902553787228543526782752785212241596914476263526392792206057196627980685681934951261619188292484907882247708685395138768966724633035852163980647355642840007390413467897002912502463158271975056065193812610524744910991692694576072097554482808101392779418813302029012431010849927326575157879498192373577597009652716245580159002184132110884765820473922134852019349117256416375634756568691499808880093449497966184220620747836136707361828908462631615087186372373141355441142782392450921280946115670115002702274077155204552398699168563915023186673227889165506625561870566635100792796130480699133179902517084959887052347493160880083137666092175267899939360429630046120803657837909660937777166023411324381965589662524285815710354459740577912158966480817461968257507623696769973995064739608393448196634698545240283020899890915497520196731039211936690863650245093086445633129740291971415973532024922703427683512353719193930638369365508444845110093131433096729