121860549886429702974963354480423855051204856546578402115979200434198422113511655747655930299858772939486835357867686744231128772343513444244394258209835542944417776285663840523400892616544273381442956702316939086907959035049110198149743395680741702433871635292192452841825178555081523777635678841297924702615262119878683738372982558313729261393737971376951435330137366550584575399287031928156697541036985252281931667893705764448536402393028148110124335239427442253538229519532478688705923158154874412512981132947388703601194681449723589788673474650454860196786125093062424585614787502282175035733651936720760172496413168935949703458361849688202342069336367982649950176666958082932291975267776763299307690584069433821878669478063662299544857885522238342958279561463730027766283202788497764137152320540998504602587578859941997628739134692972752779954459163228220431255742090751761684668234433514134174247101470613978649432153011894121823597575397269714523688517298384260592601496151679904385653537969941863830865233267583948809726096937628308788678710137966778023428348370066866203271474462548743924105355236526904678516865969935318061109344307911915601213240347912374160783495349937926774565986319139080394182393971659110047332125496290256289556858618717870273831758798949270146884644280762686569179094833075664817585880203921435312199688874984180832533029486144478437213232622015265852636854774329235828419311631092886635348312975660014255108117999032068354628586261227412315079144231516043476355187809460367221891729469361304527135921732861722673912669981613820973052892593050032841999154768542197735323370174797891023583539589196530341559344884023357869756085902899593964168184600683135284801285618399623373689878913540216570375665507365103790769243451829436927761829091225863561919202198376039569697714237795260574656400887964574310646924072753917718651786224363691515860372418233176088503883660135631352657656695977267503093891192910684217116989592904739687387549066381396151085424125705640184636336446457505821265589957615719081419142439998823229219370654448345357448591507073247591879973724972845857355552673552108375868236825633453962184559045797626751262459259663412377312692084747893075237941509500293484731748891875867969096907291936170346823835260838049012846176295028289709125918444286892743242599817723117205434742265341058033912970892129881856561275135338324297148351405716694344544517442162543151409110755185460222320035383326489902658588733461248190809115882791341495193840395478018149323930129348883593764504918786241282459181161583031565060447893584069167105344748919007401289365692123492191289423418808923293641748107849130860362910274022995233084231901653035904614393512367615993568094766225427751734870708619616773586815996905134337283006315711443431836854554422379236683236175920495489611610605181803501413211795275046473293612181712918898186603796765844045902145697615891499191445196380838173201346361744172956690811716687015753672735451242411158337507981118201762778340819035312946863489140035076426999874431061719681574971889677901180808050548269848415378075738714022602585554526523904946679621140917625753948140022541426181121686410060857581893852135776529499566483425764816981351225934247259635271322927219940165802827870081412911470345560540535269982308087620026956047392357512268123682238203899872415394661757199279035695724625474748935471173899525454776129005737225068212368030062283556874289243642111846605760461971122495086689147572378055129544939238395247276694819232412084284239663456061097414646722266836558770062057267193147903814847942366313408941682899828325660597558051068341946226937779994242958441522095471184608198982934587540737430415745372500682610394956259995342772998149065527715822019964316209583711267707357974643118841067375310568802080729580220984925261625261921146637505284985211198671133014871507730618232186715525357303882573057765437652393532852458123151085095347536857196572910910924049588870334132398317964654250659796887963297478776037025551886638571084055347874903345541245948004102442376537570013095897972152231980812346687754299631079180895398887531788794466807597343424911182619177476788633212775877941161397561869426283089848023776543494644997865872754559744602515279145778584410394999139655185203064779382798164472437279379407436579329856886958126318675203675454601141822371567347720475347412622134969349651308129305486260322026594841918515187252175986206136429208602656843951646904082196873210670294632366456086263568620155678258671225047746724244433704136350686055255627438479687358535191693967338783082579206101059291185361112781838899421232680611480366948297986235160186628208850394989121437660564277853941560094758384183918257586796533221023893569858330427222017209432465463728262510627937324546095459825408221702080833770437056922689964465938561195337466655666126139257260176532883418449908812517994863778120369635426544484518676464643731057855434032517755129123562271778351307740755692631748348623652213584224702233753403537677967270726599115809397567278115109491744104474464448378361519875084011284663676926080478759681425422183326414583045977669258453833197643391829662497991677840332640302178111268167987159895460968734247784365971670949095747681640699146704434480678823927247358644049922844869283654082220635176849395195444565646728914560765241919846652094735816798286938441544915415302414046891234142588735544313337930963352567732535636178482966455125048808289993668408003478283873617843565639121710782272662362095346994409643255206942169843734582185142815622242833521262447646849811575786311258905813699227202628851702189129721977154065060729522389174598671959489631911568863645636886902748624839705527341446317877508223369699940065767775135361752089288950153587831788611725199522614361856883462436151480213739690400678919591436042