79198132848948904862678526305485792182317974170532229885642672428382648747206235994732239639372956888197626559858391347389890988241189615571575536407283326535796131681056222305298740399507540043193623215639814143895943944251431179859958501941773395954928952523566868522633555940887118436617288283120583294622148846937088406862341809440847462304413993439103840535334083781572329217851680792242248860020492954683251471371996614902570521966502846364979287062887868159895468968910833798484852397139962009628541006459112597863620611771703877715929519142501615692100509736085858109087271228495118814410538291438993684569143891487224681236544922984177561647638968105196472544810749852851865353251387593243759988933860717195951531342695061291581693061706439243182623284580542227894270384677806203557377726394834582649219700337955226654686935522004369496268753511919457401429145764147364390754308668835649773139145431542191254819911554472310636497724117943444136130904691911713477056677980949758535903323717144957860701890370946851352910285432200166714444824114694655055523891330325980836570826057191688442857337417008468442110356694053283172992798925504117426896443553278291159779707825480649395241234242878620619696415247719984456785643783300778827948650358258702606926191612740357639847474285093686610404189665466989547495045594229772128594778238806619377612289534491919664758444173035398430616100729034828367464833573843761819237963176449527301805484130507842313724959930775491588017082480914256068423442338955455780132123346866944138264694708495206717164003387474118068928883498659715686882025048704189961064385739126835510452152788896469895313685812912670836335716056176749955598647710875660243780938259633866351538029678811938325659469097837860814118136777951340127852405160823306025469991473372959050303460632487098077893167439319355656213975545409026321607580010162554808851713704642401838248351337851290118602147193396836589368838906594629609659571093805556181341854619591753409861629744157198861825981225522544149454012702212734746759725289852487640664460229039236821348735450192627540748457328676136699408005941119335770860254528795416386729790921227575617977623673116958725648345754778727717495043685369486621688826117771902130446759145002377790126686487641523276485222088228916345093168124978225013783871247957029588390281339278948558744647962289439864361372173109220926430012967544953437828603691452265333439054693557542228273175825164529644568243640994377316504048825728999411213307405969647635611590951708599350186178321754497297691864266382367724423410574976434395782621346032304881689009143689582069465439308011919963857184347462894351428454242509122264751807262372095318320831085929372456611955235523187335674006539031683894871114038757418190189757258783505834155908119157215360265721602373175127244280901930717086197982949488281586986393311632342915766193581276747386245686794366322337258526336187420996438765864718819985072295977847573238927660719272043234122846175808975586109945113319287768353039731934210295904923679771729830430871896131363084478457894459855509031767945097978795805662144508999054675168587335441923207741508665939460928537682748334704567768082866762528618669767086303339535149405922433223191486238137475924147632051753823642363581546972916808734184341206903379592334382525980915280657951489988383017647129215298129980103371775688666494281176328865182288249721309332411639673826408971818856748687172639305062641573218576101675739199282777333424936474113483220796456728331432880537984951409991480922509277221319106778888225441784504772959491001135317151251009526451428865120975558652149777924729948796252028470211851914703114551721176788288326007814929319886475275196823333383748041984909595651798406583712409411879132737745897574729284695773755346425866653815959237342338265938729299219345480963047249240228372947005600291286320557178189203439746666481127783825763345301735812231941505671353515248394239384753738161726526456865532991320060422547365775718521156613022446270052353954379597467019344195089313968174713982624897523096614304583239838638899710251704935445844581833891424969820254158061737284152721093615151721371340653865897042888907976516032541524989556342026947385561900092478226121656556068669002676449817453665470322628575062476141948269323741935465418669740811249764089995496465182575022617402125739912410320799625266024067783775344676454336253722528450846697022841072231202742579634913447191752615880946872528675167597629243429222546820711993771705103239291141184657248004456976709641736442395014328932949159576555358304121812240666625956628469743398769818849731139432223408331466055374935969077523623455895616181924670844429676497398196134177404811215531197191880603572429373585898689958518304942877876751215191191372440733381786517502904166185715548527275768579361735692379377250231013453084951325146390805423953051569418327936849084993978824133528537699751516778733915292481842851016310491792806749354436953833339825743132831387719599428948634551635404299777727047183568953342591269434629328335747381704903121913739833377644233722788169685373580258806764947321866605461295394645812841545317623995082579358516151233760778125673957218169548361961545658579143585797162694862857541476674594850697591945324243586109886907324669656549862408462387854566787963569656402164461623599276313219224096470532625682928641706559173899971162267065847730847784001160247059966794948523036774429881678522766684165514128334572447675729197817855491654508923625978551160056811714268884158407735394699118333732840183837855583251612937595228504879301277149315984014383037225791029382507350297296866154455056023874494192788764213853232780691382662957681935777933259545813344138196692887804724488136299443723722864961221443096781231594353409337723254084352565881981564654566663532248679402503489493198010266932