555273274697503737067061723119358232464080875484298485914688858229644446370157946269790744398049203147184906173161159386799591437734751886198420672231806553792158274659031592523980854285535784939534232497286824966221011482625338341335291138693737473943790713533301966653072905230152113652274071051601281852577355383513335439787111687332363366547858165905651231711283055926444040942478807250327066861198874456600217235238599425371662202987566649185161985782230371179481082831697142953464476013128866560138639083898308132076758316315247780991544106622079937553979732332566828766961145362856148042813342875828545361786790573625612134235332267616029239981966344446270989077950912992504376723037673121282726983603695744959268211067897956114436276434189331358310836647360571388366266966369319353004352959965175304492331867236571413750753117218521821484066523670960791319619411999054577136839271078175778777159716915158298552635601123304981165473002886221477774689273313973176267056892727743954799870924750978871730487524671377145546245987195510763287247175242745597788452156134993955719119619222339447815313823191019987467541055238984374327687726325372767664339919538373229294807127841134749252776812384964741015986326709764696354196037462777640678667934606384212157254171496502507067998828787038805365492494239240495797965556358153586577788489445566353253159203496951483489417387183419325261186949358119572287374912920782593961063194447496603065814499002399205338071726184422041087668762669649424321373318235600279122022437983947512654698001496815994759572395719116952297257391507378696277341995583622633406512598977055930932181624899450229096474611170086194585150283866752497245807364949388783209394059576615555123020301390941826643463852430082425883556775953444259482011308430892063524921664833381627573365243182188849980853022140637557601238686616425516121454663278283827072805030896726079411581133648696713990499728359113678526107474578485159587687844296243986639215788573615141282948276510744679187138076654660612369515664188315069930559157659209560256687215620711751735363578131965592420169037200386399567458554049703581459956269417128742650238613038667119365454416408449625968112259997786376741981842859345218399954269885151211108744923823267276861852129571343980274335689565047192194750772286225803666265315731372461232704096411770915505241439927931506774712173530546361234777389465626557239101511689459278399643848069929012165264953052995187352564187370114361058417924351578148596778048916358287387868710113436327595040759458887946751004266795898409315153884471399415373693767658637992861874432370670517526564023994957468790714424272166729149890344383663711708217222645532125912386273395184083644244294072309745798427629592763606146774570108854772680929982746381747318215787751872017870118518225254564459957241355830247571070849115706829142852978554403989176796094696515623662939050878638969479149001326224042539368124851856357658337324703572598585418815335594672751876328177074982897119436813163854801938950367345140337576985361065546635172978734876457454155801114020322109186358819616201254991755349923441121621419243197257229869437369429782799920740134455428396357759534159101309189967437354074003446526527969939974823117324588285961988778830605743221046398323708131877948292872168357366525486086438451221435684039927512338539334589826492081735905163707919427331981788331952038809240557013297861116551426944349355768618257053377966030463407172367532564635949978809544330339636326579720721769146199772159560177175993630278427721086486529058332766779626016609766170283718387095952763406443729357795517895624945445717898496599118365077481381877675927535554382704287869494596850996356087833481567093377722460434838725244068787340169741189651482664347368141259847229362985572350486887064479508233572485972392291475322996149536477417172668027691938183762711348345631713490028214597334558706601657740362877973143219997698835406326730291918355638768583839375140608038150568116629323429806598727484524627309886497456383127882779673288533890811034727737459992954676598525880189141225645167763075841925331622672518012925695476068139680398943652631493635258552954448885910517785066375882128736971497359324348511818426764314902535140806012855170477098914209416293186358532746948579345382714776624835214147277635554385127549879042742243437957205154669457253909646660806013462326045502715371385414813013582610271966122031079488915849406472285672048721421821542025968360305834850225189064518082211474598160192656001401581162786065272360525166236473956423535556492969366322054848742232451728182177868659631642833027969604481319658312671175687998943766389166561319573273621859440336857101039408891485112736819961749784276251603171830338895445382727705826455322021353527476656941327082182166560222225613649319187933818026470785507009498943441116758520475851113808380842400522995962809767078308023966640172880289708620598396444052708038986222175859544184328139966647193787248513615543838728645655899634276141620679598582483729242892532964217429526139831985457018887487714465426755809427881790497862394937690634618622129654211401090767521881772548590303670560594028625385036266449952453357987510239553836743301854762568997890987655112557079118999651636440534854325459415811237799283194969231812312898959057183955687474626547753073492845307456632947864455172119855920262548523233688409929489991819351540424262584405891321470144697179638913451577794877373252062273834046255236189782713501609274816880958248939113336730995008572689134071871366367518859134610142965823234916544582342542680940093916534234350169160141237806934930343596389329884064455956304915834343496606215854167305674328462717345194457148779290743260825231349375752633694278595283201683790589905001392003916165095128810598641108171665918680258126125542589303126953806760