39949615946187045862776276829025466877899529278145851515690024018208360065275212193208444563140326255449423515373317235596167658091746716876835322557875431406315243995625394587837059755392209263570249497100267345045431251180664531678912036993950687955541930795718933668933420237653943071975582805942321884729324282048328816491337925354158788193401559678471214945584881121342951842253424867613902331066863927447520579660904522016236598295920115681996987916497278757544865857105150340857681377406930967395932165558419411377654838653236516614518970350547244285379578367419501047912303110229540901978228810359976423743925891957539841426443601572499558653529216861462637264181489587138595146492751647801357652884653375998063174770514606555437468145941156466678468208317501460382305637326857273314826672907370750214148548554522094347739486785142395962519665745597692368129598147181553414761922244227789476546472989568273929785235769545674024579391029303053525630345766851231150180536059582516884526114557877649491851395389655263310637173357800919347132283781993898075599573475938741345409900168304061132898344789077925450719242237083444972205417356262238097818781358656371105435937810829932289946002271475219397220601334887693179310348641453812067704172395261771596859525325259208010132772179874253817026513253028830334859177233435517748881132146793139194682391786424226263075743924475947756108002857155815351237192183482316229916715952520830068166753799273386821381629098729141040927164379505308021242852248537197650669138322294382331052697679980181580374754248820547867140183809462927541877702466515022612436537484906634565206457770390623765214873879346418727583375684934515666848691332224389758448376591267116966324459565065416404081425952323820165463921798662062027921147944223426958539403010119815761803629785235904323817714091432827812204213618972595463144249632549196088387649833666866480118596268097434170284538237084683308619186089150520757829505988575956826361433351682867965144107665555356022384554334362528381204432103599702524401108355618957346320782830226596864502896229542011643270621911270308842941734948571444398145376513024245817184779084435454597007515255323637085820357735690197647146203362525137364265980355576783243492704813926667079411073304476057396290443873153403964737489263771966195857673082782909541098737324701545839985518147625256131552405444254849117566562115587377860257983926122637188221168375494982105894926364964957535285867981991728787643340950058656517477276831499834520057561010467317143456011513190870187820967934489218516365677001526619776713259591990435854121274633477639675726516545115695078196365923145496327759415693646662896492987707127285136899584838018597255252397700334414113109330632924037212188292518389800798495022360944208909398833949228583332248183714259297676953919266341913887888242357071265349932964249676088333185069144258987080612932187489779373934633188434302367215389265754574286116821779499363685944615565340451374152419333496572116239757637388792575234043341995853809656267044632471873284518101082251790076607914837279887041039743086047462508842734961489858576636097338561460056846653861429182554397504633654970443399662590258725228381774717235308376830837254534684429849677419515323196903622046969999883753828323363024121904469575264612368985548471390937812962352959192892226754828427216953694499518864782255716394462062365949977553585305275591626630450887786808757689932995588257193507641941561623387338848639290810890018784723178620741153401872044233372427949656937513266204544718132525595884036771975866801178478129987203913117125313374517741661260621910794213947952926927696356453196608359661825165106804152105813231454057423235799119576208845137616368722152806990243686584463755349684164589348388804749295525273840367415940830029724760442235687882505633675761872131543562350826716007154290475428864763063435853163827755631270678598470712921254222873055958059309825398478215734096865322545477687475145188484824869680199166909461553768795438392951394330981288340193536680170528622443586099162939457729488248951717738325383228292795862428213615919364038347808129797502592847097439591212843904148481536355589291046559405454242252761348584052255318649142448416877223923549207810495084878775214587291680592347240491875736519397512178285813235011451280572266555309264933283619143016185844854051635449475477934089571367830319205760758434377081867341328124659891967893394821411787437049183066879362194605497857932884284628799248784916414877190361719501554951907384882078283364831757298253036172184232312504726736028927753917882382472116976446414451611266597386469540398190001720592632312139859553064063254947267629096270948849483149356917406428374302595397665795960598368317073889170985065786430567363854918551656984747749874137859767863216213332893296567175629279463496367403343608071303783128532571374141437464497112740286124315596655318201447874044391361138496439580986184808733042151167169290562080151459344493057643172956695970890446671968335038714213820192361101464587607670717795689393513642431436478974448084905810039014202844858044602907016099958782593973690513954938976504649803133356794299768188097592870489828656095824884644134272462183029222531198799793353672348779191730838041479486021498445578313870178830251397954366868846274103057981181616588997336238279302416433945621991852185748693890151064702400912281868593152373282320769438551946355143147743699844399510152981789837757024919365373017847044514599216471551772792307615911526861840445365998177417413885197522567862846650012980888049579067339053549051436240968498201676548282305566027647622516365686317720885127272622290137289969212331557865580585210461669226891483271596813845734316084506452444212213166482701989888849963032797584604086375391816819872191569867772498715869582089217957143643361188557663333615111480692887964618