371132279524871902254147492709942069355044586397616202236524419890915154161410583211868616855898931087554473293258281537978124276764422557280130336939884355354731694817423279589443856221830297852529236541956204061043622428178443336611165601250572841096973824249171732350614082965492155567903921193843864498132583734820697649852873374853925894067080910979165792174346958932963653853162389186319676237077899160029125439220056813713950535477620206199696952608311952338083981257634308391212270838089771432392858257197663925763134096198520881979142969535352933775846368952608035109142472980738995729213988372778360843696997298332389031063578744211815933891063773187550289125191593662071877988547218576701857714447211690464358378899986073833185770582451220054617143704286893623017652437196857701723724691304854603655198218075992094856210256356245242496119394619079728181666146565862517995641062668733391736523221631132794416221589439458776761262424393479553840677361483391994555888092302397403663585721437164042062197545615996170202188752832772071939846596928177336329530978744912636160647682465943652577617085832441248715338114433683304377580963519887212311406832989421499165539649839041820608352783496418734246984385687621901749528355791752488122480510665090181309270193605657954753033171589438032369712493786848862787298365306774124905308741164486262398199985820634945134905328337985690639074951303631919879279394293715418892160902624624203196844052814538223921433037874739253290654311364412086049651537852232947253766271476746005724635863813406242742520704687673488825964146255042291992926067021569631163087153372585296478162989042122776487364468882164318288077358073569538312464215804452968114008787914850503319118599617731406856011333172557179471337251720651641494353021165200686223599241766014779694356182159551041953640494410962103317262465599406879123383486479971177560514907974615530897516795962555567602470371731195276917552250489762854854421327095842553649821438221817501011543917839853085014390542756337261538995783642638012921948733777249224192180611608781772744965558235642967563653580611348646144720991173117243818681322458726574911350188396446519839142962479956801476857258574598156247171450503167221441618669676678476775735062994135426173251916418783129578191041572372928603813340817979430663334636645543068072423662975085028318173538652306697173497957204743114426311836906022748921146193595382198053459362572717752462988498212947939564335195673691977121743980237023148984312405665897630906886949945127203757343628933168359994477462864597963040527639581550823853019704923224446798398699295225342715235375194125398238653297585238189636305579872351773338613221686736416715858393312593383285280363500960894073679392338165157832291866782787259989666133726391434991563989289414728557667468779370754124213285760708286221679472501539219984730952468206251043922820515353305436632518908041716138418248391241677495775416278975997465113107052326608723361275354775774095015179481631870044626893460076699901564271477829117057471471224134491039735935816816514861958437645561123869854001679316525068516860384926941217353721801970787276593493111907967832717202400693813569836790303293333652488722556339975165351750343773532982992395471396620204955127845843687147285425221302156220819886682943649398219429614456403619661419885045102790583261538716828668662945411182838910929626532629252351767746133401447552513146168569784546140735496949958836517946175467331342423975704218737972763174515904935969646786125137349986149920624966877769425829522436868197533917468229393475860973239816942334201134980562325671328793282526139138153975910373071707747334088129629352480737458626219947431915467821733813075593135860589813385665464641581888836088912417170367227420796956257158273119251923621731193594179593366012604938404207690531905889796975926196699162512227833317668323546809870418054236238326999595992657949201777932361427634344838640665843313309474650344708669593513948394676714060890324892272325673584513568275751135498478913279680396061661864191603365232765406693184587489426493497944222337467799980865806766877865603981274153503732496516041539651511826679544407464693293739057747237179757118997017035622947845791493169263205419237796863605123243086510811395716687398626729323672365487710891078494484674227694412969872143666873679987823474494824290675772669574293324647678741667835473387425250266021407047248011683128340131283284521583564876559728585628059326917931146705910260811758672753750171975315242779398780379037434417717293954654998117641637824372118785789401953578419775799663369005073768544611367125760822722252418397889152556387624703575026862730516773833544188253069330055287811965191954767413470656633087781563400384427130290440613998623340723169296429730563063867354990932512752531899852483849447424779607418035034585345258478482841288731553443755862257895161260007638919986811195905282276795797855520252788567564879152994867534655586803895317458985425156192701081275458322265805114204667476392897701822876758762528945737544388719629349321264345405797385324264728459957769562142436304946100480205749161730286697134130058607333313897253373215264236027574462537444560346253499242258137234155163584543438864858063179058748277464821132360021684890810415321597512995592130122885202609582173215238669801871412800827054343945832235712613459070221053538837491305623581355983757901175221479462555683155251489889431816660891382705909818954715154118737002759795269331380125621379189456762380633998097970485139329926715044588189972584384165542315998589972157619574485003606612597743183636769112644944451879105520107228782451105734244176167681726958466227141840273463626119923712630296144541874689490986933221245385595716390512092845646509490775591301582385993746335242506888344048655235542131273982828992213099130755133529224309136377557616144