887648096645488271118566943425859198732014712965979589533999534036306083182092919323376808463755167073855051411418174443837526149600995945618424460626952931365254818088674628232252285624683739924670937921528158747661892479686793901293045963611357762799681594912648651417444768616745757338136160777906892841448383122116946186663985816120641793435331344628661828707754899603328928949489666414838973739961378999360796703709820886413896842872958222409449739426310866593404351348949693624611663682330729959165625749636157315843773758825837755178077776992036506560600051506340381315541395240467378922626562965749476803396615902833988988625942589636064878352621403032999060231886823458729491995922443433860662271569812275542265666623325778925862397328995170236216548934976531041156339338184724742069710260467616345549538807008111829012464935508349304170876253630871713934283151189845590581272349666455243840233091004302209211303015368297106326264237168655325725299933959177575650662632838259647620331164367272206188774546525207200053739392326148271900516813494492107831634115795883039379738576030332569656282175398529348437694859692367653261734645493956437398409839849917521102383082637288654976735654548042617255925652731370167129357670409265781431391691274428530731766380231253169062330757731598035525222397859817767667311492383314796345476728157017002572462260046164547859521049673168724539588643189138960409016303816799211710077073882528100790908599078709561718348415519771111775226369027984392759922177125918369337391976667310593269667177094044388853962718717961394610689116742412647240509364531982512363347353123451463079319219175363849429351587361610276418089281809022764516141256214306077017799766147297930508541874893104818235916931257076833489787112391639891432401793864332853167784621574463170023825333136324032999944285869396160180386275195479887041173427381394139102606542336185477616313290659673621721187494336872883534510425791010767135494924530873114688241136668439478623457198634231140928696143448471256664177746733462280470867343626085007436473781196714747931972293614860363460978540689399089852971550819994528519774311100286683463495297070034031279449951009886753894622676628226818854378518445147569731742241084880228083182573230897339337766198286122271425333191706591432776410265837927923201640381560204824967617953941364545100935997965793758441188082596927317282111418653967412996037552598297986223342008001340761844060600472086215997661564725712734146946170317776944476442392784948515872229617896330687148148910898399719965037123703855982654389517272832388931719211165609223725778637295790935787288850055883086630407358407515111358308213633710121486359667467664950735877812963646077756668083804022706696491367525733571907834953653916121384168242788750047485840424749058124308178864623222246199881628799976769789444639406129541326015870579173456519544666345225445841932752282223379200523735697536459165967983058999928111152255827736848918833324466288717629215520484447099008948617425235401503489914791298688885521277978716612221590592653942265272466607813852142948023114653901035843636819387521608821480239417673831529636682784344963814394433018152785451176415368799876926457962733731605697426502989373273186220937338772353857649174514293695469950963027699577580925369385756215928547564752723373203350240896074437915526770951158965408384645226798827883833660334023117875228690712679914590291714964746767937633204120521236532775137713643694168764306858164966733167774972660796574992620641455222316885209721304425202161773992675680219619744960899468468343083912339148640127387769462595457339674667293518306936670112641506942796272194495355327619258723430875992617456058574339662113973169790203623404317822009868441055241849332111467036279653514772605323823985173383078594215991273370285449511364470370314729289561766602659215945427796148189921861397181182752125716862303865322531012797297653129524537870303893799334583829141252640297794423848172675518587560517868709902622398072449177676508446907802971122379527829045876299285598212708353398671438049506433073447177350780265064609059228162510512669341106770312935148358211963123701861459940182340445387095324138101074351174746434382551746900534242957478306977762664614028547645152443933732856653846714313658126708262960116627520642780674423415414488734512126990535487734260524924278447272934172309546270518217159594042433773431327467993173291888296928157046816258135419884887970966045235345774643978281752722859567173939171235066332047680938377461151898833144179470893881399766572321731075248427243349195538924293468391241365064475156313984597822364105959455879710362372398224022369245734826928667053907968886305916599377939608782444827542629219354103679419738454428972921860183863347673789703293724089268320127516478525937224589788675050320455707320980052618549262809983206091238814775669229497314424766658955824385456215177101832482901527555305897316472532561763537601868743269877955508999212986788773438504856765885168207633319828891327664396503413519948214910847262487463685514589942988703197787660751767863109091812202180047406952823414066931951405710656649332492817238759676696516245924196349582211412593355816582636966037827994925541485785295696199629622841707657742504068124220276934172884348369777613575380325940563130851438602758303636237787658941892670486984881962902837525977996963415621344833979283652088820433751529672671956607349821824017754767929683822155380085211297234193673564067305640503684586417778038242683746754616076207100864772158698530334658163870843068635859914530872775545570599748068737281728909159253530845875058868510394010263198827119152169157952875024542844539356677950032693188672383566226791208348226014634617866746314757174120029473403157733067801841838711657604726666477295450532466370150134025814889654085