396716195390533397950954577248176327301051978441356972582228428547164026202698154099774297011726764329189504399745522841695109226486428585491777246134611771647487802423784560539185821377865232745531769223380826561038744361719272642534979756708632236775460178570952559125779589159418790122141846828171622656970383944426462347489701137876013108730488793881486823977793726967136697241283008803742593103978808961687785103850669668931586163921275679727125997116248934987458046953352252139146485487164529263732416229435236683642613295561145075331610470948750683363664524516481542830037961897180564965201191563517491305683195416738127111094140850837246479525190935778584735694719777676787945338928223721013342626762662746539431067083096716152493413824173727102675255893491348918842099533712816012826121980486683861527744452941424613126471523761479927452548307840312478921362096103371149141283160579435074953765717261659926787822392367686659786773589981628317793748618218841489641271437161022861664855284579984155240863133481262560595616702743666203807392379866100191549389578790052533659904032972508543931131492221317642987791406825799231179921579544874929628338228736742818312527415078046160380543986973477223085402418956365629917195454574025177096554176855312974648365616167929578471298771612385359422591472937911389140965817667177318672390587854225688586254045528447599576383616913733515883909988661889853239904065163695150515713303792286511515752964428986068834359549243205726846387811229173813358344744267262778358432582497474547472747305086777414584097576788996086588959844651267654297931128671409960669224698419114569585628522368794393919915672482704334809519863258278523287374697199681449335496114968561975866733187144626507682112362494432765945615368379515901929995422323768158695315506254716866015492709613347589014735236769200164694918454123558532847177428479529120288342778092567059377421344925506534956836569327102277797520256676696073578209824354561348180768715795765706797109143770210101359868215961237762430395167370587155335658811165161692275547263408262845353169740091591742566019496408041348753690264066941557949745502757783180897037437399791185303162275446477276401059390376784584270186988727205737849315377893750459162200566924836590423223187392482008146126514754261418245107442481077077337426552953789899192609028819851215503679301802929179577625975080021611591834041866797198567403484072553575368431048328357007399176913758375107378682783314054947297527255537168035826659717839353735229105597381343038264751330418505350494716159282451233488750436518058637511666216622764109818894541698860529546981895822259876437407859458855995279452154582941508068932688760624708822197746291201970392700220162698941517881974799016917741012677325204025622126266569883132243494982115125352252706185849061512269012599560236326762118478524121207544586427804560677921527555332647269717313480550636823457341618160442763432632662391607334306845887245441833525246278516619688662832993013225013493061598821108238887390776349531669725481247631958078113486991631719228563253444661138924143123902410502190818320830149047053208539538051430551553266736324238363861297169877923771946655191883240782218268417034028237183216677621756031742375761113285647449222719874220315791715762143429093845481706245930787487416855501559933469951023429251577273902515698467925645437576490309747942128966421237084771192099772296921036102721734332480182937346477188415835655765093183671449629295520715890933890593939329255583155351927583466215973468775831051587256365214598258772652314141191993452172634763672346952780624757189438627075505004590371566600674195849651370155772745333455084705254672084426536384724154220130912469483067279534925263677784394643935871941890791573179803361143302835510087797178723634079355161377573479128014848525142340925014288458395005684379831507457450995514771681691149579258121004854682033742320327478819064674172718693239584990724495945077075931541435184917058842690707979301740865406125808662722777525968343814959199332888996265463587579314854088952843903963928905968861179037939042906826526409799228451114814119749202468584839317485806137505458989070963722489610549621732118465863049647877394758592822563959229354735963585802121699762766099336179945079755864375151176821493881028303584315849770944618697203307019099499233218818343745322537523348783733414865797114175449613659033084836432431394583907046556553272349833726249514555936809555547088644064165276191987388360269372057616837974715475931226271469523226982949669819732446182162473996750147841205264525054296657557832579188838475346781952829997171860398528913627065694346443843260482362115893471543009459739565191819641154513469320487406178071134986621560358428746417315938638306483982878192582359556662992429732197523765919563966471594904732234647569858064255110355633501031379479083501285548272604469377772217296690749194309057385903263479005859519541244316207215356005715447219677417154536847811551941330763576180686091165419713094972569107522619081354947547459833764714902939191664299726054645711977510754437855088239473931582666452102932406648351557367997198834098101224140559603120538258817450416313332751520638403162512700323337021535239883934269690804763492960478183661704260660847748459772249778587389929162638772465104272580372764747768951839421276568763123785369947592815579262248650689393677063715935961564762420180146878611156481854365876889426620493355506825759388563468496516134351227048841900987717186168730647913311164261548541005492728750604632959560795517523416266909538591190001372518867836267825450805881139131063360594709782773969194739043297924186725962884652398979723282671026547571869118227561471197307241626045218518776489943772527627460689595875029429265823321413913671105408037821211593713641000248764337180352448