42675791294163373512271582114889885984119228409387605821340310971555864137163999690489580846807503478940191018087195148454635376841453441125365646810592398168235261790182674912137964528144498734428738281482314937543555721117458190856782800397452165575901424452791372146018285721935605963268946323979581241099493182230814948536427696369047517085656876932278516927758811183582415628222643563437135633558563172866829529261089093233811659643433431221967930516154868262859935649740534078875422522076247903800721514794697146433318590834113369871332283108716884420513385804957850176148446892282436674569459372676200090107692388757635084096796369698497378170892434482218913788935600235724617085735764332351859528143983231389788578712376084433959955458225434273697168966446748407430984449149694166862153899557922197716625731278792995307963914872485819073854322368519507003275988377630718010257925542968648896973288659701362734107982877113428314499844134675904490096360121104586362955739455204731243498131682169745742843122310649329159760605714308768683417312957195042699439148299347399831845254467261551494045294590965494952442642426189747768151262818107175726455481466966483449717319072474869092766757663546204476986796891536092790972921212308315724372384839895968929054402449115245753685984908646918151464727654822863013133961052014252044469213765386719951399252601555771599281871966268299354593554759290185613196429379068458732946175316718942739267656939331978265718931855840875924493599109164828629446841891081949962349934319998628752567701748156993242446297495997170236229638797742980331486429941637784973870074302093376358495200275104200615681004229528236606999038363482349885259989471492727645783596813141489361802136510475125153658876083536096954662894550514667216602678967092278122639824719235252365832666423484556478365292791268638784892203253864619577878841900593667256340324526542353723628342233268750798921486376506288060849367491623778273047596869183184580258932923833278178414136359914490568058712686492576876323577633702375988176915127886314297532375037296650113043776799486717778668672520897970903749017734920367126566694180934204390452566553940156734207384375033638106637741936419653498979289912048545625010127125469104838984486732702387227017756237039588093652877468075621638999516687773354850510726251356577910512203726902784794443343539237537521016289521695942338236294747763628536665302653926254392297456020084954991543601104496945012324310236150824029431147317209835982041455274858747827589873254662694111686512874175855579986316794426804783456353668681546287295801189020573409395538832685255261866354341895793513596309622842153822693474174816024545952418857534031206768578051699072717253111552774751733472664283868936886284798354325518077525991734698526709435397585257451893956132948212621077204981783653237719651250796190827518097354329454222735532022401314340513270091161741287912413620677821381561781544691998429389960978351488694600657562344890319239132595143273711205982999320084407530491205092300551954414568441476024668140813163188126415647264464145271291323784739882168576592312582281163327895276201783107772692663054723358387778500784470443382719745272857659977331012340492642997069922505735326011344568541791075470068616255309842273322521296392842872182672702741647549496906335123372827454771992991298575664486288742251542398968051437888167830498908658509093089753189675008457396718833498480435293806928811271665203350248237829367711395664638342743445325425409462986111332253712637184528579580458656616595947323101678303854534636008223190844544953246275011797631884215444529654703781129140432823390775364150139155423661253265063693962161752670456081294384449617765992460291612712361141255082706636726850952768508289499782173422172276310562144408604379699214136776023752239803266073586639641416618003302876719855202964380009973650922925984170167466973226039073417130284263570127617793101498524394725651466146599952876482305715865425813396280842501153100170273254161057181092237619357158386627825251094951508855409872850591884560198023381669957185708488350466493945965255377179846563279566225521252889391686644535795390907756237762890208045263416719372101872201139459775938420211766006989164915856704275369284493180250264335975938959268779993121439472399203089414142381316453407343882374295525214149708847435713105332429521031945342602036853836815878623656548879461461501623561684593590451137030321802752430018725003201084148639550642944897654634577315273862121837882357531475402509144483094549336712684548486427773581932603812703426623666443679992297511429292273750699657116030651586150222543873202535634433099999320816714197778768116938071326427862761533167855588665423947727676508426375560669916066477904690515136722714254727837022129307575638938615704432345401038703456094209684830037834567556902188794402333129702551878324106022758008596622545452742696295915491887476235523903589012083398123304948575028467122784637966582815503711163868726614394820677644223799530447574143169508767655714134360785010575174724712121934446609840567558740023956449558443881461722481376639537149443627174560971173899857762378114953974677673178564124829149314522899665258951868651521261524967393336136804756699190624419801642495024947866844171614604595346488622156685967931168125568416236220663588664335826793014817232218507422193733003178188244416223392690442979620929513459584186324586552772377587079599367077065424285390719303092268382513414225572639580722696061400482272057364248835699801388072153943708641839778391392257578954311887742685869452029925269479421748148956741866767393916262935732914225043622932825169412945831362024053486446372066232002781114208822333547454080940390415889842316023313388772155718918193554024289885686207422187912585919271171275022229756130423986954800977524032107790379138322