3724951840743888428734369158825291189618859894605967546996092948439514666094594985268597129247815808348723764239185906158146746393188192416077673275537517587101132186246729944011392588705521511879524382711653490590235256257640095172410822964147894057635030506641175514580138077717223552471388377012834543663899014160116415994632601892574203050890062393427302420509279330017520772537854549299412929781332225838686792325952365741824578330353920355297279261158964217904892846155222174419075605022925832989280488701689554174106748988061852743598180831310965637204084689953793524663754855161322910721261190831129286957656363639806422119795032762495560947432144774597205610815922087824826221152396860882749019738330946211979529368056963788830318448604476922163988349574695183339960442854241888133160758355266460193839740974906196107070614128576442666084399820973748687857257923114592571046160584289711455032488469698086379318676387583134754899473054674616823329181351233908996970037527571684289294841532453808068172673955309517889974381038699737855428881259283862035311378471907131874615565170756018686127224890144122568893315899330970995839840295674370491882058217127773924933667743627422351197875549991481477811320598578369116657967503835419386988044842957322126134085913296363873703261355149874988172548995918712120066606293238734741915734306656837352615066358549113835327768956139232777200822228691658630327406507252886194277294795796687773367806220786770765573568324671706240966618387144107893129190852476652692167699109639486488132981761843049008015445259196828431767385492913414466739559849452080174258655589216806377980062266251337395694771850963301853536771509774130814154014965598015913968953544549680143823063173668276763049613284687451294986023579249410291372526416431525728655964931138673474176942086386113324687654284607834462530224810879909672645444438905877769594891322436256948787121576535441531195756433281829699925078370294079654580520031276514249088459227380251657797076990864643047876727692282256013762625750338145882570444392203531258505468442510968852951445340072238537818857492215917302226073746544432368012184060581077510841735179170680275279737876862845655813212794758233693267791780270275381327797557405953023347309684641561746381317784672236453995245410219831271646339321744866526116094375783254912892193960651112309737454031299307370034006343511696185984378548546535043194955493678641158886456272711366304682784622441127781649684698418839571376988966191469901951673972946648239474372096225622776672427558945096406003279816320826485286684293659264390672495194979832809750681220593574042044585091912829701471381022744093960676484496923550183699974135955551228544716757172874566712877171060591002195155911962124823493202078991880478845848826869542129728856555581315306297799283697853441628655465411176928790716581500627795284162406024028647180426163562927655869004165024646282919472031976799890577232963982363441334044642620339763583034074646206663482341458967512092314395049062644320591992286842776261350931125911457216822777409891553235426578275905151323240312181643922663529719336800181501090934882344377697072353331987133223019186060566185210599901110481130408165617633519226140502333739094847915022100521235282040170914825952816991484444073992113209215818087795553161517528850749236766297435522797595789420966637432082689684163950375832994319316478186128622354441845129486424809039093837915629347368575577021837451444776974622763944109862856153784353837350433259839624072040648645105221424735184886180932635836478231271305220574245668829659668529508033203810423251775441697648768613383587349237727412171431828421689432432771944709743024183535269347693269442803991589483282528231864457222432739259865487333462978832196210913533133971155711144110935345470196586456112851412684930691890689323453937048829684225599129106772247864797107801530122777204754710491966578542711893736722931558005224619559582140738265913178667450888252277351979702398197627148580316914051916650831846846659326050612885582593608674410435933181929754273650887277741820299361544533254119697311164010436861313541503917934124313274801585868813239908584334745244437176775345341692735456749237240964014369409718304342078494812692562181390864667583697276229730676349763389941432376665840699735062594898948382692081109286111239678579640271537232355814465001131577627619881341510085706599321228926719484958606254741592005425695539790384998983814400665875953236965997684546941079035432797984572951193358580503821306875966460433027932773863018522669460668524385931112297143496313329357459734285467711347552389056610033862917940834185601995120693491547273488435004658360827327412738735861937638801853236748562474178390218352129698548628957998393887426939016971292126924144740708179188486526985016832759890771922137024642047436886283066532565270548796970437527020523536247201108911804719539979015707729412018110410597267863824163189654948392658057920652991489644751911897297933284726752646723562692341812162152197620507758424093396783579777744014415523158024132488390026019509178212566215609456714254541686193785300034072065137222367737714774482198870591947747844567688376621206486166708386606564627662214184501203829979336757541520250852599265851848534118258583141822954555223776761190009568783614915436380242937658583898282021974040591608021309098419680169489079363219631082373219777259554351738322178944650242912926153165125747837153939757086668208790663763641588553856049686748538703774438722766963036304542317848955101387621831375802262815179777626671099294112452898981986222384441888213142735368283939867073828386866973543873259629283106647904005821294879628477097706242446936704165003220838235788609526861903572903671162882990920176936421095294019697725693212359205867101016127197237546842686231123788721188181744127361208574998045848