689317576148343743569696194569374136798256879034397450979232975441519003768629738437966468385709505307018007259642314796747493190092767131964182717672062777426479442450552977019914245558450701753367095166557928476925984216381401135665639927755582878736130777366897315956450975545285221729197586129891969153484028673691162842105316997074573192061553925631735664138909976243821635666431695218344084017646747567226487155925117238179975637117767825857058547838247811679168616460476780261497753048765860719330449866813268707415156663176458859319192152944852216641031708851528385592192758246313332992193972205210544054445387648186487735572207321336824991065026338504623654836542570679990467966161573747593062389820659241036097152868481773112341503327106196319582854991323028293039675754364110561654216502823542208038918573098346047904489911438056883148191325852164424972557579599224538514958905646575750298340798255929716529559418799457419665634308862016258969744866009431885534140454387851824771795805666246274702026558483095953196166935002107544905535946210553377435943938258172444378661647361240916785414773180958270280599456834704616350991976308856606790646987362552643834969347648599463128332880381995198077131495689648235381689393373133682373370334055066486748475395141612690495354343114356839135392793413473612928088992772140383452800107871207896849657848496421312385383557281145646843823419779451521564173017588036763418862603650297129331537900848522385743343418976296844856393489464206843275249312939843897898450848493978473184921978416133836919958937922320712457554354727582567793096244027326615708234473111179512583329927539667990473602111794058838780172855417453784214811293212529342719438263585978651983705633109637257232452935062859412253546401217596691198497381330219226391281232569563576207748601675051090829286035864129287306577694739024551631383752698639847372466837446450203069463177783807291307917045817724654197842832702923141203834921871901312162672233077433281679917552176977082339170983169848499463266897281229196845817526682986693219764293033628310317282684110620294144823280513240721387898658156947019481144651088069867921802003763325311593873608737875855438253039423343112002551268210816273502065508430620068122898419093878642605545517514363263189368275355023915420526282527888510109743837930803672056889329724258646329076436241882086958692875094549621416802913699067097443170684907504647723384527882583849359904820012403359613209667513067853388218322843884975726886907486966491072507537375831465462093626122738227206095465175547532229561627018926573768249799826788245626900787432625485794673238365973482535507357560009175890422754024837599619495618725547874531188698661974227827457398310360209871968528894166813619630542275785125389299994817208627373624577885700216212753338378917354953115068919798505445685238439978480062484907116275718186955369120748793324113920159595544352952955849914301580476671918682695141660594318809185435834627411958033657392792659081978183613959686750204338539033166953441445096261958633398988967524357361240495840993255993092192015835078443095838562367645258652119229625876174754797340628612894427166085323483478486663808259694006334508781466544456363807276051325229476383301519787785128873239680772088241782743559444477611295237581716542825376140771000177972179800673876454648683494724974672111433401336113393174065232741883335691264347677236427820381781324229997358476628895597119960641141602964493574242172151283536565590467349352160383091541574882810032642684646684940229068412248770447298606395440345027503426316545239234407239468053634224160376072652181952086429448802646379907171595684614851812311945478676590693914376339810347399314944187082999200554749786553513826934959268314421280909573748687398351355887489253798213944222354746308866017602414535798958013318728111422571147889053499393206820181130533717907538382316566404343986503805839984279440325331725802395170128867343404520138750617296863611781245290235997214753169596924000599777945967487703243828223803838022504162421671121380478626157991916939656356770083292215919871447404491189031549797635152426174144969299529610422108446917932124413684984015814961335583543931145664841256364114973136967758495728826957372550321238203785025306157689149602679820015021706169150886228387023038649284131717882844383073863227398743715395828181929985906967386907826251017644618636929803915282676247149946330772074259184549071105316734699890343266011965997031791758989250634178147580414269363870928848865256358599149323717148369894970236123064111570882687139376233129094228013432998796297879707773344537606462159763766794296799513353842155315012698958628811217459072619686363093596964272637618811123417721584261873664648497388762922110159311942725724686613708761280571303400271811206904332316864227285344892365070343010825115449169158463970192974639890119018273336345335426865267508803374214485941912823290439196217161456441845635956362293355659118449270641007092737405345878006578496577131569903867672770644157902825416973729706928348122727750674344871430477294667444143966945092522800989051265815979657310714149737164577378426248403183271082002956671558656734166916497984392116144414255569664273010947696433886292218442006131843795903832717577301604996898527232482364994234793838371360576263956776308868821547439407395426804162291524948932123048786037784317832088304648391097760045154143675224166928079689289690054013093418468488705649439779295486103139019047922684651949255915420011173482981045734287278874366752768194423812346551074614243247772879254791752523876614132793383260120705613966281914787378625624257314323221721011958805654293062511046829997751736689348522947565411871873917137351435927889089575091845961656314751454272827523238865799855194668565458934269159613302127223805826978965615290106733847165971569251891894