643877705513964059209868311447366837125347896340056311943338987253700184631969023745919694111478455895217340965593185829420598834039341069329327785174777063644984258153972221906335302368516889646625382881828118797440169450005786339277311501289989209791962888475741080756912234098431372272257325240719143680911574073546106529376662983493062846762247739794204349876925827611863532536212878336780659970198703402125022269721450317090509184868637462913217724059679478634191360620721388462371472761478830985840067828412916795470726114482351368447156535130943037324020766758422458870641998013504958887773410750629077165360156285256320837061418854215101042950720765162561450894063793466972553414433298384254786827767482061135306775310611749933863130429213611199201923866885349627343426204977497874372054167897288242986223946115171689952563195627161681926737749905252336905178064674975855723614823390302655154099945564459951101187851531800377419197928693783834589866546171826173708176869197978517561786461717757217965553565636655928239542320876240587131921107372257814618528256659939402149585973624608527053239184689941826969564450761383864408038116503264870327197158896537345199118110929743656795267934592858479330587035452911506763915771319862987752609599807683417775079387022489443298431680129028375116230335528309626233294619622289932994165830612843874527748513372218244025219611430945748621260860112906523272501971082920478617926798374072302494750186213781627823099213454581502406629860989531140698238501561995613505882164850845825477369382389486646255047880892741409584553166525331896435877503205918455015202243561243774744083870382955515723845132751245899245922823027661377538614780897584068217810415446681320209336806897173965865972034157766438918216535066069321629628693168482244509341726879729453678520975937521182873301561636325435516535892601593331731739826363057184244831116279663269108266636023267079897211942573328795445694548198888699483734501690888234493211498355146863027946605862846751503855415221428196876199443704431456254983745527223215590501648533989695795966793494822290907572454277111499608798211486215335727579381265141136147554265256168652975935420938721970876217474152236399906013127110735651439748424776586665434469215349839355158359126009956854141265701963145131223887435485574111176889835713568801199425105962424411393138298076945118880879029016560051084268885350183434651716239681320562647390753332942208438391076832142146623161308517337332864792555464582399897637893690862597307549922721814566261127699536797439165895105152224566941299767675943575823896752998142416196419068926533267568728779144282198817646418433772399783708324226652121286335884212138717906715422847163945567815115849272665498423286316536217453363448782329204146573617713458200197789338996977654258547116267885790447230594634925987046081344644989358598902073895653262809225279355713463137936388440594192515822116298474631777624457481123486213549439258315386947784602605355919449102350342278298513320327977384951750418896606988402316841783148813779452251292961924052752284976043087730665977352917247365278190656940782390585897075536519000613776719816413194138059333579319541085949790126775138973114254437514435824345623065688526552211804673460951693129330615886139502166796015544750708816484385172855864086497125910641850585235557835563867435348352617939993431634917667429533253946189795475880786131869362838574599541670879386817635446589756112360134810313915709769496604297585858212173078700168785953572892993883697691751379657879717350383469172549651330589011556841896446469267556904953272181553183608578623667804383918839387578970818660512694914140797623810741387257143846391187807738843736698398805769873021812848913625233147121794547099932984403723200212419056374970782596816674820125198173553463069555443357772800778229466491354393630358108115124636084128836121962736934434021894311949260302454883328682186376148121169033335348935031815831902188571682343948083149600546013008356664938566566554025756515263383702553782933025904913342793591582793925768066787853949880693248099258868707404707169369322196361136172437856142518371843831628366699872587131288368447015059920617032511202578470526058152870044188636414112602400844424788180475118334384737088607385545198410687741858193945357795850331366782036577560260782966879963237273240110765122781822899285674120428054097864176368395774784022931884593142892248024529830399156553179923243484511880573422149409349194543883450572572137689556795272114953128415325604671534076544603668689543196222977268382349400180614844515200050202326952677126774364421440330657070529217011152551434952638011127724353018363016713599218771858549248413409579205470292637474698019541952926116876941027408721972410801735473022360614425643558974332869263759735755013654270759920584919703548111097755328212278365495752734063996830278059693843942146723549361926892449335588003509905762303464323783788188251589468799835756118557295240935658948592212407366431972774884194784483237413439907221874314433299658847650790191209670415987519297397388575758350578954057701616499530949058955426449219834582531027741972545173738256464939668607464571299769060773222793938610729546699862054638271860948405955937358637280939731891370242020914566621918302561474789592064925229356331403968981166719829697683347084356167070806192841935601144787784716476297593953722734137756702705685241550369932422641287583271137723180768462798658384358821832853243714511129519776208419261304737732430929329604488940920041032752626562133638876052807699188179234570699119800230446405617479137358875718273661623969789218339567379995527939668903729649080985950519648540963790357997604680036275017974994823920799430751149584066081962911581410244260497484354837439412433421416391041928799889330260611167149723781403020153040541714536118487099466854387531522