574021215054203197611783440292246913999938063913741282118365201655330263269694134848885007629791874769646956499664550042057391138043566996590514359339310667667270482965549169305515468621791299059621644628335013237161578698506354299336624294919413089513030277969223999355181429580466633126854145008944846724793762215862680182611655196270800825619724377388526453731371279786070423963401374467238285984061809084782906694077507887976204527592027191278269761365455553618965130758229647962103885431094710123575795727244041693414317874619851131803253159518495190823404322740371075582489974861759370739675094263025464389383540472015060606620347509610759001018153469532544193888865295744785866642193796057834082136656564927426510905693497571402919615267555354684241697098173913870878362824491266297456568476585848164199518447027893736721856853926856911522395304467152228215895218396348576434988178336246361080761171831204459870984489668429868122375899155632312301948949473582159333869443846277808640942256085862156396829078027367366518257782769891690858395156774448342514296361557450770011155916420230225834749345481451818080324651746356071328583170741213922388582122238274647520446777575156338051806349836303890599265221122957727340908841668855401083017913114656465242214963241906960453163019886781867294873816585327977715057161193497736145562974292205305773403720381994464342382463744818276296951316138008237116879674711203759595171131822026445335367946545301530931153514499269522728206403659255004734857128816841698469256441591178990279034096183248662321061344085607808631058668060399927594122855112320853180500257693011324396926147288973253231315239658657477709209215371611364738168903953242438244569748702389380905108712177002071226753229347326636483486230205832567628160365658069775394368255892512956915116441527227572317440725302493869171528314232889187109419655969623691031901502429515264023355412884848221116233599278516879454951916297318345866782721387032286127480857846922620966810059509799533725757877552935174362594893869566358825087617747751457439013481629669375129451997882713448254190694794790828507678243396565928835341638420413873471645257193334657183367428354599335067206656297863667836354637347854776833983473863060509590592049746477109281249181215744781666884460934858945512884339871119841844147086693392651599300425718201508146492913069516329411514906571726121636253130272828047750652327497399955211561818815758966465817841116684166882977694589455306078804056034398919672821435728183216325625893154831153936052355220332633052263374830530929983646538791659667486733774347736479084858972815217266831199212313821805056539130835555418752787503983412755806218145606149397759475975172151866432476177091149219272425901764410274795108301872752217714853663603989970887741367643627276341732561743123829539093815614103170292620651997371730809566557401376375248701192197835375541024819579138217435050112663956989001786321366849389639387344727516357913746830228767428593636570574243644271311291330686304669662830762404115340218418632895899135135131777081682320901405581041988226196697678650242291479052809229499539565652685045163216154855927838881282146324311377083855052066289278985663654979268399887374946966026786838319525020610450313623270113656675978748228883279898238830642549683439121390566577605691740988961593486957826362703376283707197426770321830250590475775144668487401576927117051852653969705529766691502748316430119644456493560073374988461218885398752229806326261046120260180431596693735674914457073866138222490829896096138309818157190589847342805320953134644856873137646532975347453346167335047139647677484557614856672810761574793183757486387416747122708483154032960376604753343385015365846012605919311133739465730157566978810975747358113640454935066495875125175198233598951277694326760321293981631788932978275037627877348791697103957340799436332853030162658129327394613540530561113217554271226161144925966219842533050534047152404292813425985455928781986383891274588301151461864942236595115456718540514513362395624401432780888363682965024208333912729078643111294580105515418467974727630576003025970512076574753973453103141387753122285751207762059050298570207995561956282576185733736972206834684333725580928534851476772514863669988378282028794064771859442888773031641009361227629291107535385327371720540015136737397469955385661736888947786652372137512905312428583807624117245619438857729098359020761057740966268419109850044180866590188532340119347797865910091333475754144113989045447314434475682525162087811054792444211176273555124754280768295878721947665690061894481122535120391582327161892413301423968955389862329343935309237004659486598336686016526115882591395121499284408426899082334363759872812204924531393701800399913401341660936998868626161646429521635271553601492147875322414275840686638260471883123411933455901089966189699698014730615667242871751696203566912585214220951988756107230496659095259397906374157258012287478515292691511430244697794275515498969735996953118783770925866364378469468014703574678069951257827776492917163757223146957824303865230044233477012679371909497313284661454874839297472940425464171740708728715065024316400800853074686968175511265817495423169425617740896389556761121622595637773548625896967731121167113171081161982374629835889631953840472865835578449407642553697804030993306196258743336518781752203345679229054064757710265117259226239621873472279986121415248126656444753619975651654703394993049649367719812128637276826863605121112326194825225077663040754705650051956895886752166768338750115699610357582811033163485761065434396397263652884413837453698210932800639470592416583023078281496636512351280804993996827210562114328782713639234809217841448274886947790845154174326033136992535752077036993152387179542199806359291186895452282748162522163160674278442534885780700746455059941654869063