476582389973255178936547710225537125478132552801788603388419139400514346689250505965192409987897432162381726075954234594610524481671568329763494165036061289786445775379203976333727589637160066443135197455243618494919708475964155947608883799629742814812756476542614972955788744416289537289900765284741319271387956924692701350283915195779542875582236973987401304700447316044683228114572857598490347569592581167192826689505413858777300996488931407371159139967969576873511513858896019364203326452566912530964697926278853910176444757350661602965960818740402060363856728532082350422703332540441348789938385759384399789786844773683992041995503139191876844665824286489041713967729248524640814267910766258887634533803700340751905332258567666666166579286727159923087746664196216605661792882444906376912872688577529185458867495562288681492520264079547508110153455310476294727756574767173674091930584286504951698855144027444068227213649476743550765502482188288976208773296612825197037043181751963766911413582904308579899563677451439990235213611444747458279435400317255683224739365295614865399109084734811834924223036609507486040237086938784697732953172011259352465601395666712956345676699871821114881764696350251594751091804441205339234363776857901868639853281484180568893445982926326991924798843531733652384642732223146924585418889503767852560220913082077498772966462657394411829541671520605267255698625942664510183234697763274788802368339833745918313723297805499395140428235517315141682286294553591428757363281188295445174554573835386464779854074640366946779606711034911877433351875894560277421292899430159972070433060455107170166093739285868455026164896057756608348207392245125333615387915196711076993867457653529919164274915978137427178166652319959889491926524576901858582361562654659429805230657762019315290153457111882217142402225116081741930516809152296673023539614041023820792413476679468756762276421276154853653209938348047841651069098840169730385236379192613083621660067304293695399333036384538325008111230840994813186563647815073364434344459189872944076175281875515739065690846506787648186563993819925470696113347532271241433898590869510183830458712847448211596021224885887892927590308892526984777883161107992718416457903318219575467234689783645393414176049725549595241544526329693845863989274536063248477723234043738197576182599242111295174359179388657266811161510872933407387672386564737731767622049545723563677768070154916407874593245257884176347368605521764539189815054183760366098446533469539421853171343267652342024307688898656466372949853593122450646708985909986295926250466056767618810154881723763318832522884483571977244222612613836695956135368484745858571322075011226617302272579328836011963128594362970895247754839750269912506838896943869279268131598478310944596188468705785044153654546344839035904248782108371357369267515850256819216568104048450071907528348435412835948191735475835341332152947201957071515322498071655841707580905550817796505402656019421720452740531843845622193723384762350713767660461851219674367334924942555924289326704628725716918212131066445806443367912161588453350154733906924743223809210693358501838758467964822619225228451221793300496273096366900785448467743358659387873894130601709357670282106338196856821719243757132505747476001248572453091353825102811189059732961493611113619974958456353949294305689268169142013040530186990184478741372199779137923545731678584291354781587264987620231136117365320726519683116735476451676604981754819827635305556587274279204977391023076321237754338486163612871224355247241533559530749367218323769103550162791009047466425971245738735467306795972189455666343362016374196256557021691782373285090692230979766262263357019001185959779016566117315378459516912766412646374665540187732383477742392111685661681419357959512460216763924512230896581681435152873729303694267968991947665872205802976403379934460273198342587574018123871053845277079705928658239125103307543262872369369944401081816264978837182075686480457744646994069378811333935343246821914465791217978929166837271498759656096715442132369454700173787242387866214205681369852901899423635327628294368286063348179398035852744455022622371718751704765703136556187351410205161774665464275181823610127699062952783939222983814799725595815147346181213466115571361423693036426626010416851472063721226265795466716119066153691745690158715975812316560045935246536044928646531537459148654378757552416234968352640463612213516537633952264834394307374611940984624693836647643769442496185098571074484312851191658621862911790448975268936037046245727243118779830748350668040719662499064943222369454584310040751898231137361479437819096609931749208926587522862675685941083903127544677301716291794516931136096086588050606388096521943130631807315673991812148695178036106967172792528013787747107649354453133346147354530558342504376653995162708620911833946402836224273018471923573163518723019902217182915091858728049631524401674415557300814337693879578031469717432981049557167709481560187593648746639734703369173324749225615065664887301609516766519279971771412273164519045648313138736119528730279263523784585859684734699869646504884834342966982847831214286659837517653230459065448632893535629169614592827286711670828647460775084557953479256850639596848072850911379553574833861946227157327941256221905176775331676642554500252795238301050245568996710216631831221647794282386888648247729767810025358360129566391874526125611985573921185411985377099347736948873379939231283867238947272948472891947686610147462634914368229979617994063430578845379573219347357923406280877432721259577989905109715919784513697022435343796745085487931520046576938609655866498059446609620899317089445195542526560168494012756380774673297292483759365505153523171740425697977948765627332444579279791298688149573810912838000676314141570404844865451597019706774701461015103888896