377458542121909461608238316175358852911465912102645461561200121931829430974935999321100581453322476538153694508076980757916478846568410690576741806542372415519156594837667548633053595949391797839224436222536407757493583405778980589708873992458434716892922244645249249890321228045375395171195374879691960745231991353529914480654404697771277364177912304713286645431332074281417419550861115959234135880591069291837325883303123185497311652151380552444409059227891336597632273435650526869215434356278402703191867167833894896952997290671714948079790223260471943500549059296406575158199472175860124245003414112158442933280752674886597190449148280845367412372222934818964772375278487204702549325716152750087909307458813812665900493326923503987033443405702367319150455349611833922354773693325921342435261870860152293087219578663498004157355889913935645492159823463927908730275748916582721952787259179390415933632312207224562150775534903977191836593879510636939309527732995700379296492378163732817826590102337713303928709112324874680628295928376216281772730637933140340618706813743885684906615110565425377960092249493208769613269801473066461700263682373694264267966436370946183742164727099499732907922611540516541441631917527760696884414188680945389971963380995635830700297161412826218927295185555099191280349039127435451589814736883583944764229449671558211942963086780197434285452999151824195130041153544858332303703513356802509444222485583764201099343151032474648117283494781853382125772640958035347904870618693577972465846302885642192864103596825368520531242376142622500666552389366749687664285217747407954261934682547223251921583761017644316666448756843638547928852254670354242916900309697364276758365879734106894029552572137475395467634393727382219735982297784179750489551841625729698923201820871101417008052240934883822186867523009194880093230264360378805886330578599765835430272997994012461026229417962510772801187892762804143497649527409946378405544933985821689934529028772812184282140701333356727781242110621514543663378556025007665039235328613124578125715135592330016578531378197306875698101987844850676119768725106192259562687109196672668422385104266237757845032103596083332170649272777165363343918839311369166806351238241420130391827951385534035551799783040572535926874325691426479323550648034322865771393798363917887254813831228482880537861929938595618488091166258999684781452842156658621196242973635980835633495729844359928892828073043736991614355592765641532384169928515541844455705414596932624335677821998257770288345564621975439769475983109773318449487646915179747665504605116864313933543324734912262702156482916011296605580762277284891110962345785475889490832033233784047198266410992405502776124365260281568925238569804273216551186631725978708926917404525756339799236185731552484782438390629302623862225821652587351754554497661791556282846117173836377925293010444309362322989298975367589357502835549477494532188108969882588972302428931616725988051885998632578033504651606975119744148283430718468549951088675982626864635088619723194542163675035454483819493352579955863727663004508683058360859674206008455016883221017899358687614955235486964953025038891932410122263977447388328527977635530946754280694454873948502931904117734802486853641651891614348077675501308874019788138980133010736066469989695134652530799045298012556516711191178415864629565938962112159261541284252933941205857072251280674455757582503424096961036161606971099820374633438631959611404067478346431161586770280717633608615201384903075688731600054709932119473938021482978486465189223066784246900514650795499838560682140512973202914158495915534550460057977947518394935235421035355692829753686494187656413969724115297392478035023179715199222226368535217143082663758328165300391226812779370076537367527102208149696492617334084583993338393564563059344634788981578264699631820449116133684256961507599114249901707263819427454515073897679997931098456620911021183844288666630926904171765950092561441779138567154752955999335093818309450934272907503251288695357133627679271794516139294395090432074491951443362397034235979926113352813433568176688875149337203186886846583480176467254344125192769953965861794626334171628190788273278138455676312152163621189366552297993951166258213593973926681754076059830727165115142067545117136750922389776922191772932670004388979015174409871252215842630227148824245442515462936611533858203655359212205089134645381849704419284692365251856935158094576674154511853670874491938567132312704636559943013695010215008561920377684740288368755821819175626502879499103165924747680244727025094837199288643338718462844958604440409465765032372297181072101832843599863724762703585473263302306985804096139996865088769389104902974691784677441320795038404640791260348476320422269675218341294596765067682442986526172828352841014006168533078771825193306335785121121271147558949088244319258374380168073556448416199355844888066763568095798230745155488826301582215670225170472014031366172235593511807892495843382088302013411358146872853074782597636315399854675651457995394819479502529351756365269594618631120262893542684638672665470131774874990644754129428741490869725785277089481809312927212121244655461667961466819319884756932764621583800551848232118268516798417658482622763639848371666917896674141355881305889962936992947178077745227830638515365182127013960150570992939300155189525894723881659930686173344597695410175534241184057039352339629634128769169924483872753552445928776678631246803371657650975063031349604454406761586170028008757501315969621417583549649706475869569210431441559823195860231136769490748542663538954014926196429351438139777378215735342116874446414649040356349553531423598219353939561693863225147442696570418195938216141294680442418659215702240652286254177925839377856150182128685410199914897898173527294536712711254