66892777207576883514719869786421910240827386205861132612458703942787016102143491032945135246368440335802832143066837765269468761574396665788772246769419439497504385202034445518853797917760953873281798331721802035221888291780741697005713906124673280653835683091686469156136870670882540977346304627289840292642978335389558881085321217418966377792712738415718817584398275687341547441695710039665806321666724263747131520747474142181373698142045445068616789649288546223983531422471376022078543265519873760736253002476873066312726840317970487000371399160776962521290568551564099835384037740734512917658661881345313533282785520340454840408570674286426870044359699750566818923543808908224666833163315983021382559132259761484886515484027410599684514727757730789253088981570511717069962649493183634527421969275480778184736737342995804291970811577832064317163930048125372536911690641085482677174419506275939176012798429134048734901692349133344221901756120561012348453053365565655445579832850952117421225264685649817695554087647562327452829598892998964353484441185570021475322401425770944504517658673102539183151471401018619788760157874771999412654794462837022696796570296558199540504007793259072308830745944161086543255720475503646559405126717211538744758371833506864198750394574492613486796416413885250612062713640141844059660955243777448372899934931481128989313196869748964771568622079523366794161669181634958589576442536146495085407803748674115443608881461763298203772587911785695741764459170572764563276374611815762887481814353692375855996676300568825426790937323954549543223335629720288328157316904110164535657954235210823418516518621617514060112943575975386235173096826808626486784455476363011758382415166803070323764343332991995851864031664181035055485221818407510190419916144213239976405892537395218482214597332782638785452438595514639745298189124477377316840604365759887718672475681562345971773716510515556953734953577152833392352895237974642461957831231495041981565862375413451211344791310626572036166865968092703082685561363250293797932828704880167389641905914271485923147338632170311590967994526554756644083879233039800695747286597354193183514341436371700872594658487161593253784745699229773362569276363303549714467646940023411011637960134251262797546316358881732559595768037807156768551089726506321842115665466986167963101589987655437752282112763827917735914589494993623926338735322503140012351473664293201964999540127598346076808787648797451988889382592684147741473048782881430264183514853195059418077972985803127724460752084429713429592298970192517148588233854514063452798208381307275763408302461213605695615390352997290417212191971292191965997862835962094246333767988900163074856413698427976385769446747838673957478945689401931688000597424642766666885516904940378535154263423858214143104399397052724297505018276044301795107535123692719758436765669246866449011918550835364155765925832024678990359187349996718628261515834960478558459708100477230451763642144957293380156415338415929299574702480028259511979318531078763861002475449376732474496191718415281551806359941052955166506861743994854728540197110463909779291348989757378046377590980784866710207957050369446176842571646575174869692315012499405128713045104316360219458516909980436625172496955202522330364773178925798792184823495303312331497979026531999916217819783238548958247112102457478754618576468756616005505533738455588549233389251747975627651032885989928412910232776631583280126657869439385706811904929115638898753588467700154781683067361037991339693127037287955551746058616229524928783225457113572237130539188273868138314230611545150805734172792823303324626870850329219549143134216287127536247479796569600310648631327108260524172142962360460048701725777553349098263717465489293848054818179787699824867563076253230246684192339609719127735981589703956784993424146444061512945661449993007204163046047897541864947470793980998878635899194496538793714986947275572346902160468908885665524596461613759039635271621339734545233774259304469379332437595415997238936395390900588384831870010939549896585662506640684822501333287596535704623692154404760713932924397881938555272577602535472751150545952335787760885847352936252818861429580745968128986026517508684488949524919819429963320894715859041575253363541714977644930476058725308536633525836866748836395888709357126261695648800022298776237356675596784481223297271501377595018200952833308753515389226994544855206616668342281747646049263536743807694229437401138532020102620357569937591290236661166785358198549843416775161096705046001710703325447331664685891601067612649228387971064655781638017789065771813279056098662478437651129077894501530647517636317739465794460347855179469577378276188630168487469472661950465284438261864089184878184662328941496276565047499413379055276933447927730068292935220133412969252881091796299513211881537644124547946089205636845369120193067345137022868127762157905539112778695639173372048558763791201282257681022703177602666386360166434526885848383364925501102181742503133717861605047384979604839387479239223930396098674494128648267993641470809122448335691923807096384091838422421162757020142951962277436662230735926294234013096521239315539213876996593824975495747868531703427470751908820635056033931382494248176217822241745671647450913648372172376332619245066651635599333636157952199245461368055065770599672022859474181268327671489109101420523026711765441075630239869332200553273995250172247028117583717611963194354720832273924472186900533616683409970852536586488012469941697239338592956115065931519437222159429920318203341140136376657989605704114977262164355437149114061706354365204999416319633447114151579887108090259062046940206054848795482394088807782668638867226825804291976886830582402178094411022452672321175405374546471808872318738949196423025673481087794778656095868648911965336967