384843337461018491462255603261246961559116236054304613649787789632935196701738163522192383515459158110348158647109937056113904816246855836221296608123384224056447607734566315398228269005795475859112202228901293009828579184821838347324962399619208356653540695810105055556368210703753122973443697899389614151984636432468533922311825469626561696320329415541849187097694509822456869063627914299436177938810932311460129156718437852818738919972159402738787293171643874776856099244290773413085635364507508646342149976654908091078430101493587093351219638350278967122578245383491995959211224042268525415714269146446716944427504617526370677896285982621859339148471669585752819061775451637525107936089736160320127871666836750526852799403959051045438205996351892471249386014590435747962570601368179263216634205712224141635548223499469140569671887300779385607684680911953763292142792457830288311408763395382127883130512789994637502863228261493462464179268804017939182502870771488088757266161617881558221296227763120331126219361524645878881344635590782810344253991192307684471066339475936726571599309392131892484232137209079305506410453620962828911650611259686826399753794743146596754515232842104689402495492803028173739882228110989272170385152827724874126685426877797668839299114339631225917208801654179052877921211335133622118634326801628854388709696448961408896683876718140641034433644236026264928764152256985342786205262836061152536772171552377872371370111172689265301801830483236767925448132960962609003862258597961486150981014804663088252462692579485584653888438597541104919151458036529876435477853804686199530712923643273657599194107565438631487326346590659101081137252205952381944661245881566716577119722813748543201791834185673753505656798613890947065346238723985665559531068112553140741954243237647712186107262473097889242499878848154554212770972808647228392402251843518795107514318002967326906198863314963587673028466644777590678134693536092152496747455746896566383475981609689925942517453181690247252748966052068554892124139054505178577814947663228737077753729855424134454618579597703758439841083158571188271623040445194736559244299688574101355440729429973365326339277931249475596820540535768603245658999114787519592485672933022222712484354854655164346427447064454992561002552965184615972713266369346252177364816192692661037199852953137341995534266308728789366350491053166513412706309636662599360211966862796154258228796051355420559911340220136062288578898437374948438965776477707876735296691381779097287650276801880013133101555396518787074001693329575436415282249118655451980514710854008094170097548297732162265587653292586406739586174621886415526632768108415235981507812234180920719353949068766694268340234955029630339731309256395419949565159434576978575812905268977233479725022783594105730566979512973241848997829079568185382968696549006319563597384763082198368113465956032474916847723406681971754683937097071243517366673772414101041341319679134838546707850806524941174193660112269083320183392825089115841684216468778565640713135041043213053699909745136490589509703314502202260264379268614145191826545888885432499338148847282084942659672993064295408322884712516181916809227554743655052727598413391788239772744766136585602281329275457650113915675182395761587117926141097012180183459821273918342207139876648431425809213792313597979836003201598343575344185821072978879896386993350220311996432549487210387880383648346383745471729273669603053436557563775597021361609527515835712630798475620294938716052271563360046479336660533946043180079652688589753816969116673563260127069179331278797118582018446201664341191312608703136586324799986837616344638416639293265492808902637562864897853995144094646766087792625258910595531377369895197546459586503191834045518498794917113379358412068156943061886004169392425041967084292307285486333181100648147115745415208746339592794533962412191538951032956581562407635106083327575956072675009120383125724726133949737455991926040220372868894467462686132752823484413362463220656377285531577160372635217137121485079483324946061466657375114417707857323249933510863341172748103523882085815850032175851784554579728263200933526748333641314943133439010417463204728393561698029017409445641635970773723848666135839948975477294732671843158491184353867775399018294474508655703139530024082507712748406335873790583792880580212741585222365051167767632744751902544441533786407290122107488811993561753849146329169423129352699837718984006639273124222175548587603214267452024390838554127999321154428526499275817357035141585163133585192334855894215723428693796159528328563754992838426435927118408514615967617624180723123184888167736698844381387797919614337978389889555605668627289658493536926850015277965221960161274968777945014741112095551396556074080226937051344242298819697291249466805238783887498517781853111962386735629309638172851647909422084858185116223776514244208271374028623374506979911973771489463543250584917988278165699325358535288726123738563827833925814291003480475637597547696497895175761342255601751604874813510538828201444353235814019493898176075590582781751252989202260759511440721324839222683434121944269342149579217568961213196365857791996697114942367803240285057274684242945432393174733325025062272660376448603235669113607352896169459870957708799471904413268739701758652745914994799335487040294480019429985311649351336746817940944669666605225966256882826424875998828598749812620957626421286271468084129282654421669854637130823439140293050462631456799439147229001262540212474294171049140521224443803164613621253115994073848182670765089032844422965358892523094825180776732056644101230647241084232332629553990723473171272216138826543295384065543214185498343378992875567612339110290136956850097033152948238498929290965875933952643974671867749388217409678458763328489986471878808543590941478517