35798210551856782404546026672320341068544516156331756547968876965188657266943129385673933331523284789082694396462321437843991357586462454511856653991955878744122572654813727750615437039610931263078380856232703432273579731609508486557160790918526432790251809798347657281319578374645582917653676276547230238748342805487267523691264845002632236333099198223154795526223395567236507442948778765267467474929444413604914329541862597771557351296157574563229456291893271572283526599551914668661241321130281481418704748457618123901530237224100194032650950017141767849193983285614646049564612758570252742601624379799107821896892524550225806989559813153185002082352439638006402185636136813265929713845911854627623927860817801298833990686897888883981294914387799160143257119326489767870269124769027690712301331403747107212638034975956680377515537419510984332567194652515810782827922934399697151705015237296743153189834397159834585834724876781486927713204767482884467317465257712834511243414531569767235178337137313071981397983267581831314918635270586723191669742419127158928414847437339596978974929633113932202891223142777501056112217965426962814287369817477046094499427577737073549420495176819126431472957684598580404269715112017305390513941835167261315976923932210042977806845186700527346829272220593459777582639027936626974622723528660177702597338564428289366145169700933968917958788152462917934572829127151578628455654169141534433102537176642922546994453456055638295272895271186859758836650329632302517511884125735653051045392579897412736573580950335403466973455125364293162196535059257608512579179863460358619733679594829823778871896324075686889439003417175913371495860046202396451001365868663687335336520185384459891223129917190438061448473627238279565468045703115237628222662050325847913220485887112837614232362681544287774473534450495683870831332527656265199089306975094266444242934921302447210214442538850673773289556837286339626395672536969806064445226992119278115646979061659659632508914925882114215228572140815743980042652706523597143921221462659557872964802115767216217358152706740909592691389267543488117782129542369769999461070189140448146650327212682625336734216391742992135279462641051522935991573262447616138205632460808588880612976399530032786194829845767152938283284142139495688529726456660021744458515775337412939297319737192816969655211645587495667036914181899081282298987919934120844200386785044555306128775773398361848561312555483448756611016421862446074981341944715327986339627908531493084072209400966343443143101533791453566194902395586022693772479221554804193211992281898264573421555371241562894335796613978538750454894573265458144219736793612287662775723814823673351525042993110159238658368367009699929373974999538386567977791397348240838693680937170435070424589846114683246027995447642016400679296252121748990504097888641245876592919067057542167391661357080977255857378665785248053919197419331128665097414183109487769699471622593145323348545313231439969651674307497382884439453873168116164717986405148042591875615218345804093651431810215011596784336753675519424053557382123873557267167111206996527039435659129168935227987394036351910659452978715071615595497576374033891821181934241610259506930436027667723363248064714345481193583895632329647314860490948322159298454663455123947141955171120347751069415710434953881722818178858320355465225366926525522871067331673430366786356828477348199532836124008665353675071358044867982644801216146051527462479917004985891249836023518872411424839969218284200364279545498200981808469551176463789939326741829923985398092139334995710518313178582561380221772396416214538272389723053605098404456039728241084388018152569146133833545983786138783747058425692568046259952460589442294244451407309408330588901241655447095264803696364748508512921347461391143716454892456625323801434318176390494745613882742938115396540441259731622417418115886621744986643093343025884668184214639879631125599278049316674560679054831496327574842265512606062441350356249279601486283515547493932599463485929343695525049194795661159837619918303176723517836826783194224894768888451650961125317549552120582514329953559717360676284498187374578455249082384326017756433483131878455533911853170274192575053947252892861098298581637221210253694090266379916269559151585943590061550540996989493859574554072801880937930944158691825695811763842616142386638838965398034295707459652722116018669815097238641742393588935022473628245049119528006521775886420628638991533227688996846382766235773242739557534247260330759709242132135711788466953041029156783554543914442074887651444804459182857981345565394146544865092447412870947866699212966561397922115796169599626407830741160278072038437559712877471386440376550650966532625998617209321812150583778320674086243690590083496953661964755657101804656967915740173406931627146482826397519044932346402086568474712247313381233167516535346430591131432363865375851884361884533648283312877114697881690069464517312962645871311545941567780394058051489066052089689554825928737564502527924665677023264295487926674077615505765989378380299088764005611036447621181762311728356756295073282009918657739137557932129292410036765015277948199908515266092639947290747925984605723572129216201894238891541135489307721602068145070508848442846356593797583958945264289223053196410511970435222581642421609219761407947539917373602551728593315680555819781229506811578666326691965069283529480382112455389031534130619888577627546135542023512850616201086750921815854995777542327455221753219394198110338833856796393866425019243107108936479259898182625727574729048452237093794483404298999415445894788320221286976565355072282941669857091641762967941599815853404543770139655358398527718085321803473234564239233591489703944227552375175104293144441274745563815963617248997595175591968462904097395391284999632881234331794486990423223640522167446419202