902248193345492090757613415031612555125338627765438926338418541793459872567280144689259750136395412287798231183082009695111823676927151803613883830505523521574402841451274089949121188276448238417739653478748776914572857216822714509362849540956092461902145389329088899382356198393995353722258624621343419800064092249571873802716113625134122847003286218194625128063817481269552159130339510640899577140595347499414628663925063221270993417121811112177367662437188820525245812417973822133352999219525631222960289488448115893263782368720503852938735981697735359814677337271023319823903216334813260423337957912875954400349590988556538153581166460333103163329845554986758117672079406940162415594414195338707624315616422824596783346296213984179929474962128802233835798599840749464640233314466986837991166109015443436215779134933879580998229873398843242378924725671996250021866717867324902436862830107559253950647446242685758164528293992937690282758929632694670052221995126617553677198252927254502231733203616481605427736070173643107731083099222732792085107249540011435163228441172665472276881617414813022366474970537088253515268697787261586235471062229896703916758062224246863435362015917425444596298165085236790854818689524267238204783411775003027375467575106316484366366872872625228743909899189413466741994034903454916651967712320820089638823374877188634574331981031294499694731330714658837655472866223058595988494619390787554572222897058235042373746317682451831194552234709967194439130997101577882069572328175831578845916648560977795104623335773833245459212504401897761018695516744187251511301473624039785853307692146634290488171797763723514767604647630767431360799781803967555324988994333171366374528627245356915313417971749876966155083217735888165048251748592313693992547389737016453572463628184189372956653333705459584477318685486085891646368868952152305815917642888167712456149952534711694455415954708615688633582524676172583007892644517361825283312897204724541396409817187154433458486561848877596818735832924960458572286716353182761228271115913402953970537752933678556473470649253238616018719805688556612416901848835890425423724759746413973164618693855298261268145932944196889998792524213267632081827333462090712222154699852194382613649000399294983412361754423238228657841052527907924898633610922031028108805281579395525312577375500780882876678474920704059151937429841017519812922627465701789114884851867085663675285379045706328882951925110098559319648434872935066663722325617837261888058184186297828829258791884358574794758747636862324320673597485086589066563917851894493939444790118206619662797991671226943760229173893238120546033248670278982601136525818057745084473420796728607810682188574802942845689492060668672201699128853394143749425943847865078036278299304901913874555069618314177502583071755608758838494749969816858217917189550163159358143945033198782727084414594051916609714048615648660739944703766566529644910157088048450737887165692927734612460453331835100944614574575822355821917778439211586978267569259785434799665790560949866344892579746887506307936426657412750620414603667494461214920325685111291831997125033349635111369183033597752726048140648224394968828916495225791632814144402766908188912945628911007783705113765667788194862013501569480355051599951993078487554853227556848736366857426892850485745142666172879614882132709276028805730751047562814403665697968838169463549376687822895911070083589965326322230542465428519882992317342785361185109769378273376237739992748329371634416423832114162719890675605480741102704955930688808788443525993060407704237651506558848085003867345788884844165317370706438701880634604461292763279519454894658624560415875243631777047026316981941972276791019006265853703290384683553453389140180717137694381461178354498941911739666440928482706418349147419860308973697279636498954003267789075954622306683039349444557223349432327800426634453689803665744081791798083839119543097953651387125265362384679273650372258325591406898894913775303917554872944612228929619855250683394233456187435574328519032916011718719412427561247855114122282257674815513515619615990216668848993673150442919086736985730160144917191730283498476376224649826783920398966648995653355160686934057508961352942102281665781754739253442013044627877645361543590760295608412812035923072122990158256664364902310208456739834433355421142158218219663655735348388186754497853594281365425883764933724297953733769867136357526156407692839815934178564237619427977568437416577225683168744721916418730139898826741277587629421403123765959837021575301432250482199540426844372999368651638977457516764876521287968719512960119545712748419616530532595721728585063350852567799057307377328544378505393421897153724325547422576330028690822571885168292395332864881041828948702890726071933538669912933702490657506667780578107736570692922674342088614942716327888802237518313425262347854505698246916387705931821478815850201047495268167007809386894036295615720861185957297554665296871340988389526979392094392787402562503815467306510728222329069821346811100133341316227188930557864150065925106769034199023621388713481645218493068923800993737795627218048893550828422433549332354144029618589906874879813214926901564881835724325874182472950707315900592463977921992992727243518311858148966974525863757935520961891450474394332524270823423528140962173320271571404321856679477829715336284776949497443997933516895135815352927743469219467208330033816168614534211952999455070138178810925344317544534112098972446497559971468254085488959657232103255151191658222055191618869421519487313948906290486692038166464439013719057629278241454142030559919587038545877555981115420188864626342517176949413063973552679290118117207331773780926561373456938970411158415300294017960609890049615927514554937323379057185984792227770969518338566576673495800430867964379456571499471585518467197716449196559862