3995490998965788658836526350702289927750466428153951195143438804290842733798210538093354547695141377767799282377433616331116375584295861434055823766397943257524590668459858382119059274450410170086415716453057347382333644717993365865048855843642551698304432234538978567195694046510651152836677245234935628780974863979106380050832488521247650753574965554201235251721423078566851232020502861604010494308713888433160133561224291401173702482420057807754371321746874904932241657589349504408344973448136754318984273517876325359261656710767945200259552747236117613633000654313349908970651138378409774637192108927231328133995892629614334615678009031241840339755899024684338834366886140673868714817674278712173823474701870560969522340812001257310528681889571269567370962297128173814418769842494432273273140268941943398201897496691847577543997571202318573255636321695500984329694752812718906904472962245081292428574243344510067791179247999625705912668346556970034306813257004291939737336868434746357727219790152641978324612697105433636211640727612462277799517027743188628292668263456976327990992341127267147514258803307233855312551559585735631500969817927924740261423594188589591987662441681554600246067384874394473917970255317807921832736548935846037418201420194167299393471193327524544478811329254367480414385752662179825901369472667330427611285829525602294519084235582533754803073724361250505668122962185592412494422558558071656107979283315461139057296795644187099539398279793704982732165181882164327011790778194738428415809661172059769991190655579157240038386209528568243768458053017804546159929396954712634821975947108872247255805765861159501774603261044551667181542503831468509381638323899101582252477685939061058865254905620496919270428631002629314165667317236667398480257187658189094001809748718144108881983959388099222389203245552147675806924382634308441444605898324135889551580574676778465168324282130579348810086733688546789603261747949912757514318433522406182545369136770666315693126226686871120514964399043581098786469805909419627064342880926729603068548819195591632984274906164631629223688115656282763210612204425328696125246940181335401614892956577905572873776948488215764745334273108372681342071083224237343864710598015429657140101500831289702231472505475221098362950686495617849272630961861244769579774728019433773396243729079748058540696794568173476740801192848928565120586083779687965143809956796738124450664032296694612634068140791040745190585926996052258123137651389335415587246016821240956218905461385296032550024593046402272335367838473802950640239533085797556520985942122899502624158032657985974835169248366464231259387919887908738225142244641925875713785145204835784342989189158066082388474021646268942480693452091611167998113504793263373576063069449295449153183693343899313518585943288071637227295953844433043456128561944478354558136792391094582931855962853063723783316532394487622341541296658496469582568431343402637933994789332560225968184877961313531774590565905963427121029051342336702602214561677512327158154520277819322478603745324609990634464469659993739302340844943041915468184917801655128032821091927967645691464434743893961431553189095975556854816126653746344477659019167051403711627413386689182480707581143548732955315213537195267924823383666139451178967662182905143768543066339951884496874971330533338719449647562229572753139149890496159277558041987288415635673538515032062766841725191890435562560855032243290024268063727584242054903533332797207151805525962522089760678010056945248247852345727790084038255716489164748893587184675584215171318396140772319136944128401346821562501411672508093312119694910344307350315494762758110357620429969951634532594368225648086186878664712582089816241661208602923618709816849004867167249872362882249629863140682427267842617374054538485474404076299449162365289223477598628875265278489147966326907745836662479060013865413842157917076019265389265946616780531952336235426511694604799298098245593328217956414262255744376097249050902344267721933028306331610513074637503035743543182640877827712130843682466854745126924198153007571609796614947918398860015700103692174723363781629492883932679457921211866231891999104583838548548824221314427865231443441272913846799723238152696438856151188544013143308474729639807161238139315935083736076706934974262695168721136751513190617944107829474033611507822942493509881396828810943991759706972113734007205647880810443998210911994963159484494881911502856549771931885018949035511638752315774770831739550923705492581534189150491728374059777489926437371731342828065878247377448497034764661683030537313569624126288782699785637884454279426978369893484076414394385251384590832218564269429665332805647436441474427676975139223182301377362134882562505570774626828335620248857472457905342513157264971166692009145208282494350300791183813601321086439835786724871951826074476774944692599264199691656032016833568356315842617324125896427486455472517612986541914814943105158364917452593584091635264589457046540599429347534445517323184692100878699437705663765950183571350867942648688228377717504652885838936322213053270193697656442894196993757620530792280788878623022184925937966274241693532648588909757488668554683880872159983779668770197241208450309029817335435836116252183660206373214041396642260466754607762163017697194414472079214908764815896055728264242765748767620517842955871179434969375132285793757919559693575623657828095636596092794730039677583299567015679768670709400941590961554331389887243471587337330673841329053465311031096286161649621423314094197596551649436713684834287080867033075032174826975584344284689379931759673988500690929368252925982222208685681079245659522646385129082628323563353898743947665135630122263200670393999008738118809917770510982337667289742704598102037447989907874991797693247828241332220306770926478372407509958821172324058673541276637161057343