680488948972439850745226241625057725574760888765472138650391484322145642563744850788927876978190120048565761727226402140942873111872622633892541189974987449272632896786659769824336169080754948395270525768315406103128742914355882386936406902217128788027197963084154212068318824966850096711457762796748204272801056211468247355922498090756246212851950717825158432263721896274809177549170458765313890193298775749368393652328755719878541437509124885239311606596398014673749988584562998328659254938739724461799511471177773326481802016945250998816136722012833042154203312825813592674935714297258079020266750828281152259923671863970468901404612376328771129731909021326687454797514492288276153522974626136807479507993787618221125391122589663507187675134867519390836124235664745179147258658935679981801340397516734670473952523240388260988808787912092898264973708993618029724477637978692925313771114116259105786126372867873276194441655543191466772805370014180485427331871768035083357402182878423758338348778830426923561507896037337205163287656723193121448783392367249729150144418307936542970675887835241644737821962233970005809103502542261429251744623192278223366954465837875162979843815554296228491881459712822022596195803895678502311220553770574778734086792906185166284214378835294578840676736181717443697588454325415385810849354191157236625634207588914707962637559013755614691552786114331036159719977563123918993831039891287579761204470961581328964449278065108390464453232771579201252407781345428361750523550694625845670512969591396808063871668664382560729838301978299226882544849067200804728695451925776234372436331091768331177890659956106848023155731752385478986651092460485634946545538059995785485184643873022454731954949249198152546919278961957688563432888366311945149251963102040418614877823765845862479366653165409128381797349239173271646670471699521496474612852852392098188315972156891626663485198064824884226396614797320769197185450261208526615143507328074419452198527553796924501525121942761624840838846281891459196946271065416165955834779902710593052895273414251955954267866557329990806630623888591070289696929788689184587219488085349911648211553414782959297238894917782118818016678348599943770463576169677351168548519616424634849618355797533533332636276267392167214922762608899604391698974315491446937548315618475889830132152360809450088305975464996706708945418824242912713896631548931914840966166725251132873035349710930085509540967613722209385132484422272312491864790165790875469790383539680258095103249659245856979025524786858941920210187879441165519091983504589123248951674023284445810329301489918594685943812151638658570136778429108468373434281711483332145437016681779962395721415135325265142524445306755611794365518917549905494293151097547619183821826872345412089596747301533491044530856437489884720259919728110272155856678054059344996157431499370237226567350143967413523787471202653856727829341508552478801474750919775984065062790873275248579973830121722527116514233882977444474472914924333715481236170504231951242468626537848900951535359696861990359329249377355959941480487027339775431114380581354211870153574221499899744068597284035176758553827121768813132247788644207611723613919642868641791663677969676293171267427275659493283068892156581613241775209541360422568542350249251796433495964743709324803243347634847090301135569357595852881284870860636633810576233618505825579455089266528317632173024609689249008983542480564639253645909755792646571268104853853711620347535429456689913129319821525601472821643526102783796716210419844405432395272969180836917808989461455322870580589733275977690471874769249212089947148657933839774530793581319424581649030901475163838406963099132326973114321487385165456693790699394154348786375413272735086804674190744375306569237349366186437590803837481681844041721080382498951384906131371667653504358043671406258646081707689637254075871492697469445642518733132066753918426170375784807619297412514772478155936548397101437069313700795588162267940443550169935722765961985964927984530617877747404384004578869263594675782785290772885398838896187840748041618482964543981914185073581072282181633798033961733834973551785837083938712903090667462073388654392134026380481068494102380002909696187146631541884111583797729424978487128724511101557684484863701692555377862033508671532531549183523874282105247440428499537473456112811762283107718890246409622037703928822691625524256259427666791890449311075408704179678358573581497445842055237745965135079250345780895577197326470127830996720694586583430345274384638855843169044913360529871443365449048379461232494734370537186737365367640156548094880794845849461172677715341539697261179059586713751664119716149891072217136867724383197914206075435256226427422517249542767963635711755242895590536648548421222302287527535694542202398812731343418552013376125619086430048846578638683631516657860805516654468166470903032394212423605186823635050577091454929913456059319608672485908701092365326669763927078555516192810427425088926979054803284262510185673365934161943458699731628389291785398437267358865312758538268443716481868836377353846343381735623465377921816477333853773045873940590684344349591533213214855058990488312837559533026973587116708386353877812997704403932744062077637750064971688786546175891752492554954584966269982787810762546043755484200369109466751938547293716490705249378841762451418654223027209305619340372528464601392677374658486378702690523933934602438138836667766473837734755229738076020262155692971895790942944346896733568607883568711203099590119356476060488374042422483577585440253753324027551849026898642843369402834650660936672532012536882772077608035515938481221650414375272630601102685685894318839297938746576877975649290187514187617143953611110445367702278426225986186955153035752947537877509285282791959243288132631486467776713263182