102256941334670264628894146329774292072107789302258827490472407813780225069442342696594166592133057905697972632845522439727695265696047993785692082553626481835729178978559465368619405342273738869521512150756592721822155692184976823887065416876317778589495507260507921472754666903930953643032370443372921970381787458052747688816329674160789265475313481592123437599256664364431818170789036043530588945232092366352482047509944922830607919500990291270858335546876071136933212377543412715918951819010751728332563265955512565627317114093623010716708747085031828229262776968153389397074649768797463783361568497329746189654241659796117161702856970458101286701555104281422331497329744682832448492472676154138433744645389263308852839927816893185182636694120877255608473719312867295332469262772958498381596242839467351295019812040795144075572940984925702170553664801592414718137081123904172711146788854822658770848777827263420843327557577112072033181340012893811440790067260226881509851370130017143054808486144482615157857390646538460381416783512836048349937667945146415759511067257773676431308287363449585044636261725908766351014018210858971681459698887040745259696004446543693365590841819428865573388408818272567667442627541473092468228991628325303647352884851728938993757895044715342411680576336228837759058258689840659079916131188941267914757216099232351262128370914320231344628299359497605384428002139162995762018464630897204734251698451538633972835090450327021111389320981237906473931665793985866045298250638646488392892332497394143269569797441855001906607136962915616784319985644826672205521413244882071875633682130762432874844246809082299919142834965926748142564459125385756839973664517213835971399978897582191667885938213830934225015849733123774773440688513842929630253007198544019231496647245058486375626774591530318104979558181211579899059794117542177256269969115925752105597612252694391533991918575802990896741848647111128753467595225137291329163979938447348799833216744288713508190402710950378564895974064529177170872426388067999431006305860353943773391970671884768624676610309455442783670767447395255662338011873594186839207312725319652797446538971147418138326865946908750254531592677246760396635025118470878885191328927780530012685888461829633361025792102045357239976446168568057384569422296470222020968728616230280289618275528651258641519997913752517293625541298519308266477633783737928889579786093247748408767961995613035253617432376798587723873531223754535102932790918157406109142415887704949944377320762069054092980800373787993821945271969288325122890381181523920738882279504263663849473585193611245485929961678774968391233331204014921195779088741592665884163677627677698896627710836365479531561303965277643698312726471814441130475911288700497912452826265056054654743535568288110231821213509584197605807348258988468686854383580558786052729180342607483041059080727972001973665885372935185377583875371948564514635145885991064650242649591919540860527371189295188946906943379303887318113887543253013139480573507379938832219781815346986513354101312291161755373318687458246428985322309275688470195340615848149753264816847522824081521526325811995029734630054733493916276533789142419838669415080681663317265248888178865383536935231695424356818828195533736761796664277956975014775378514052609035675366563639635240684481888294786255327303569264457320055206899663455307951352196312567768951402892485684996132925551207900834827179057352073205955150492046356020629293398477939159653131973111290688987168455157892324916995476451653458697661419576802448780656545703836843496126656404830424453254098649917322430134438599588795167315823619803201244787946878675647739027472801019101881196484713853793885961533034768223142484423737921551764213462214871514245434796279493477688478281154231074077313775343812213396838293272825565296270581242548436040857345662371625720361473366950172371289285651256539321220466214282708451584958131443920517816147693901447108745398777255780866637203635688764968896829788293460749993056735287143804681112225754879667449477527747550007622619161843444552545611295295909910710789951216782078550788634743676020389111413039301782129530131610708862858659356249698444014473240726443728611843875864668698661438391994806124932785068515229098936259248098742367366848089402856634313198090779532592103488098361599715381765619968412737124626036295272920083566044579734967683199539295654775779882470881433651873125916135117033104763435260329051038411971683927044254137728177201423742913862655313154006026255843277994317288796840609224912192203035607962429599835063591444553958824893740316823946558115024071172513964358357499693040454064545946857542739420464569361885433383497224928493203959707645281115256277654848624262761057095420242116200418359966206766785762237412364881535223778113950716864441053223330674332958785681465307301152095644169466297600931580222319670543687490976697149663206273109485159537615614242797252861962233646607877633772231265895337989746158873497085147111262877628562934874945732625363654931255157570489605299851490461642556861446235401093178177506461516525266016027390204444269155425930329991963065979416585294796961276411422783517287209724026088929117204690072883312481693942374658784658889136265413680280217054662023789587989217693026867168847211905843190327048994435456643074958930119918706112901651634546320912877689299718273622748546063568377091812400500223073496105192314373440833753229950212142316029227534815632416716117313180269832572130145021683973669619805530412062437662274511561790648569598682639493705520621758908808780094639473162529377686860187673763093520835532659707936372311242037985451974128125774539359590324213645435534049287602144917318240661876365024638687135519454263367929420659307662909951294703358552771535797880938555290736785965253546352955636035443169176763417595778159895042386772948241550