247172114805903895267081441900658860039318854860326146617693881855598848131717678319588195883954101180563729819452815368692820825344568611645901166719710090248147511636038379444740086487168995964318448757306719937146622389220122887949525462161840842340321510494888379107930383664386996993597136229246368241547104462040434916500511444644783482963516670530710763783156779745856397693872720771785541827331631953947481133026611813179299294523755065910214499352166681792356520736077526021165046274093396833303219059998365311346509686742897095872614161344281655611655183567860489734041911667427757858670473505454836078778240888338589064506290625997430535956233449415177967237116989416573810309617138732299754205491118178653135407526978387553197032757109500446354000136272082354292233863556082160324211034616944387458664966230429404304176095287887059178640999942466203362603341971573743300492435813916329446479549050611014351821812719669419106918235856253568678029673571991938590112198819378688780165155330583778412323363356893529938812866384315398922842307462683533738863580162203639562061562130048526941177158543757551647333863984874744784477918620574865638551607936850856721971810090095685893987804106322426244048890934054018645028997397237775912928429007037243627249163160185248970200581412508279396971105096981933983709429624445786354781386926686642844286537912610749179616382388307039419923717931566364289805419352420874989610736953798224102482711770609188492345577587939042849943396878743540404473529595481522384099826354600313022403979101664918498100176310125694494066835160467948601522817307886422238465772404009495968967305389454881256132991982092211666172675285223070192581297652790459187343337181864171788469048397687620721535577535676372862586489483251225080727340217804636067568929232676364661656057866400197586455159799183217094494125468776829199967667159129764901736891685247915119677128097742172852721004273528833469253577063552608367715575830701583155141882847638234706778504638772258482455864916676762992291727826716315446579378364417902084613887113768174077703748613160490894313237909687142854167541841616424399687518196476859453882945918626108894150897017083519061269479348921567792914115347455649011715702947321819377709053662406683049032472451715593879374540498888388539979183434498365132721078728707425881538029348915986741464379464324643610623121728490888669850932731639279542008839471771684046238724098890148734571864865146230611333671367997352820083887435720989812343520543418568107993577495295867088137715246454090121208348736283502671891258185256288335738928964661864581472086093028590019845297385565414772226800866915186866632052081357852737142691712089185735251243115517848428523926598784217162355677499506459173703138281293594765700521898194800212745152892654716586457480048965906536455929803664318490388766801324868944616226867717600286398962526110297364422488359554487935243463774873573229017127948298617928055311958526836965644321310812652756196200725031036815459298679976497116502475964263088639839075629773183411369524882478456284409087877505499134182246495259674301115964160393775615777161294107931777357812560481852996792311081591343464864217071395334970476068501393099133603381515884106073764323161596961546717260809092656348633232736651049793462875336986236848465746645236506061014656398620576278667632524397919136167145707846591601274706856699921587827921541954646113279941165333327079578217203895823465633184255734715073018415911122883924358403304998658469464089257884225916358515302970993226178910689992410917379334288134556806294691851332290857517392515739050801041928398765941867373749466432563347649374688883379953440865163529505720380337196920563435865616427394063639814211432614718021731467161993693681791355270716053315566486693211766503386755635952394340126694153108222984939624143135422786143176978134166813538342396266662623729852434342868520852634620477049726193830256815797037422231626889297421053323118244958417182755953084974042716590910818928976693063512120525638373593352860401814845813687748307459529679863406027909630398169163736788596443659492937668096471794869962760894737328920158767404320840621488892286254628833190498813871794668586335838650059422372256514564032982627191378027582889463880681929527040606324854714359412445547177427739058366738768050388031547482144073707577155966936316379979251294219292265447842346022882883493202304258423071401662997871213261285774499119193500931892226664745634876510779363755861267932189429427891365455566292236995627740951980167549051386935292599818687714884857801494851843417844342769646819316568175116642003116316617590392966037474638421248122141273348133554684610777434603434247736982543343763976282204197643939733555774931937173749970814094114131332910627540089443717238444426214174758549657243464007931548979902534887153517250071882232745177735665665404742613362883188528239468018975595547659943333784530323947667280253982627304820474659818416153537939894745516782218015355728461376673144357812485875494637641508596970325546330144747575791704855006144843440692236267092642776463629531543909586650611256544653356148186413138721625609742143114804195719365364111662325366013372291268792980475518295615010849508289867614467497256920695543792677858831280511978696647315752312790278315772434146424509238748626989962426576468399868236111739805560609610976786237823959978620622333356158369636424889430448083093762966278297706581389612009293573604697205093164625282688536684312604532937559215308499597801438122259691412664432141465366397385117699753027547358138619407354852102441219512829609372957656592211868532710892862712177883013146593322279507665702533906974773245578639647055786504515723461105301574354353654282293647899892820558986811675525197098828918054983809498954256204923893016300560521569377411189594621239165104592