From charlesreid1




\sqrt{6} to 100,000 digits:

2.449489742783178098197284074705891391965947480656670128432692567250960377457315026539859433104640234818594601226614189124858865459837757341625783951237278552828912747527676571247630105270911770223481310678986690853632443352545604033808808939374585567846574724361304144270270216174201838300081589807838013089700728693993630837158094400800443738687549164514653939145012044726448133316293510944741813513285495044466171726631425497648318124504011566045364590093435861679319836656662669091319065358637661052581561793662361791102946720883545755128835529898324100558690205006415466124117353399410431057992898467339532552787360418296551718303910367800383623166297323302829049773910474263600705126376975468886770064099295592571732846450288809151442574630260295296323707552503422755991545426281298003064672079942425302287842620534067947860046596939979935597540616713586546534562482082562768863692809413063724335088648015724846337232447379545488144384793363700919741014778523287559106315984607831036700953532472642316714188758623741506504435040374725535497411142192394243153077360327509553325786889847836191120374116031947936824640252527726851044355755352537450350395304712321758289904548698592356390123275063290358182953378299816376311563708636584240536318776869230504126890319731342124852438330794967512415853943140633834891170210521025772596434062471274990297394166163421452359873120300102056799879380527604281282001996273968010437864283137728824658567138112510508564351273301566028350388563826231562795672489279646383686267427306681847529790526938681538858933549259857617862340639985853145560184948483512399275093859268729733548816477748844624877049770200018318428809518204001157449796070420673380574450720313426891561792141130059058651762294321550656410957227415836788171795154122702410593696442721864393920197142667033423630109077048647194122995655689053370290065687016435580717459463748803378433106157203438980044441946526401596816765444422785151680820487918254544896204497102423218380143846121761883296413487742451342416863123875898749020675512464410123015956176321847750600243770427700456304481288484729319572303565397559816460405333984411967181344811449864938622731327596683323958786810222032339325329366151007432572893433786411144190776854723400919637796732478972302928033867198368333730764006431294006372279595228377141847543760813870482857683504885726239745660242384016037009932965279005295634303519754852017472817378542256007209759582080364888169914264144996239438546954790930473524399203764437538196242739736038603901157209498116714894734168261275751085742657045964510020511089501986856092388983365369669240585272618590182658063609281571997382264216758766963445916401205189750392754414459431728663077718044104669109498482738749105892813399067752150682687876077027331348867906040207128899564895895224504077585044184666742001331301307724395439588545713531685192275084553542189727037842902542310783196730604771814289166685427120330554241906312068744815469254121762463775848287546522925751277215309265420739627920079459961546667997244409417092925312823313946013306564409159737611347740146690962916333212266190713338661316100702470675708468058993263263860455619994395448321998969789996576925225813459513368186443304705710174343174455494703153170399025503788278841380935404955120333109081636235005303582055244635387218751264122348042954559454592686192238479130166242892965144469159652787019534907181791740195247112325229229374164583743292676186323214075645981041059777316504288216981663708951614569014139841591262703390949919366193191904690219314411705833992643554567918975951858749523741699135177201869787660029320360600613446521290777388386396937323925008642773145750397883611466576403548993853285584629064970918254656345498599342630265915241909578426053499818442198348356174130078234309891314223520787637444056131070749271203222969709033860052788542800295047018450446914764968909207912122176893516002777442998091406802068242307236122946171983372602831450385604795279465117734603388091006835226138212870483763350627067551701317813204725326120484493196358811976099159491632157065503768102687656249747990395546278280241037991228713532794136808956309769832859579437267802824315737868229530386939883830445141490845214240967750285489468386423986277147354217041508430238683233533056541440054697790119568566239494145041339837341091200532641485392053042240407258431452558409448286503466326149961754231121153500033436924891652052338706474912240387508909169168643845124897536015993156728907456936371683445123080089780368283390174987826114168238950400263755463990237595457041532280797978162203212421733656192688405754422133768398264811510264044191779650782217475402298023238666752424142344231283986168016636813383671448409620920816962031421760821536857739867091518130820666851429659521644395210076486929974433283600654212417236965360191622815429088977665283281233985437534914410337784905148162072236632776726079646747217649096478217730937617129190998235305440942940997887376066877922313269799100962522339512063238715605991145824132668092859143877040336733265206247392610145390120840758326544993635125500295851568809397727074396544491751338520327400086966325417218279705816696179514002649477183048841945340548462107031020298877792569825961247502381780415708619678189776751138243901716933132199290539255210449335761455033619226278574785374311799532933012427434212908857908384227766237900397379672600561419668215482726559453999011654562574138704510630261158904675231506980455749390312821362344206205220814997373018092501542648084203076662389945770660306333960628889852744830151580542923985245169003595677184934512841781757653244920745492377783952804365043496170859401860029030307705887192603624314711242772474016448989626499867168777133455263018133715834615526608754230557370958046910625166189084672164980824143845435263220456811710320379451505649051701742051668463879538652088117769126842476115859830461745271507764131961720826497794256427418338477136532594816786003308929529554619570280948126214031433455311162471464529786595115375093351580726772271167419132306788998528968442641336179283023819560294795697092916402389062448484757600073455495606149549929469615567508539829546333564691252712082012612389029787053303657533438039982650460424368883976522037039733768274835016808348178365106800245087698163372583316627417984301430606484643121068282317034357670068887630712294887454285930340829723467677155262519968016035482079823035594298092120057027962664993732981809568299904621226800222493869756937206827011630259088205269982634942314832184653013694545327805229919865660314649579815551490117241952889241809939828855651285204886337561319518448828044262452905346759125348350758590816264311209624721759613929567891236251254085330774973982775040823598851169710017928056719331357574283638048238232221779692892520547910813486154072332324528844341134459823360640692000648614238194257447030880754602071813243779956868813670830888045017830926124558634666621595471794617823023802448439200293710512571779639591596994829690745020375254062922704375213628667517685774630133690316345822290843482398121323560114501703779553741367949547575797243581631239825204399774396252231241518486611546847689898111321998075354190113383428195636260532612166996951718268943452951826977651117645728627925050378961993010212499896447457059164954386312869757226200003989802253783431063119423019212637907068438686339734163777571726243863786392662656105257653381067388096252674677621855482755209365060502443753961812090953879074555847291922970458892510888126022313879652936101790812485029491101982254201311307207598519938210040525541163843221281423537044092684420738244016864025367521959101669016099902304747417984379662954255383701138843625464491534678970646260334162760527083619216010049590557001857750350096946318320234987756908914462996412567615718640932206556453637684165655640135794379865742032462571520823394082562414933896114488688822467964993850285102048082722842380606848634433892325684281936332660119937059484047466896337147040161688114568968591156914146089283894328740496635163893136293322998875513326080519409893859995766990834459757377104065817749460530191799261935990141510994772101013275029714551275405428747383944490228125637034279640771882870637747650811285976241864531495754705270790721179122953652759132481492575242362638615353295230163946813115251529106264561825568064326355823704258441015255547972485459798830562876871239693625789332077594471464949451514184917984242762422958013097322447181567701468928734619200761493881667471129779630238938974802627761367979206991465782426208763891879172127885764318787839801758939362873546698779284684752802332381176894527024282187710480870050981131419125494245772609471159447503562435400478651475850521110321000502435152071774737617328656107045529492138904466977995600794454019415371471820159773690218289826653807953315370562082804147910706546985741091186809851938592748507600614279774542665478506177045867929744092650363756778373714076723226408719087548199488127440071727947826164898798459314561072485323755111732332534688653497321674112457957827761017934210219602261654627286229010934974546546702703752987502842870493452132535158703831576864691690652636634162286839917206795616971586729989279822647953146058170927161771280811286853928530045418553443283744300049203519612203887000767176123554092934348486979279903913487945962267827879197448118575101877484004022676181063290851186182180885257543903564634361208088497699214730244103670890441030350173363697515094993556499779728012504755982450582531039408245328547435627478762435524294984635360476634281442431028799177995149840505970015545138993427677597112670388974769345838273490557045486029976641397349304872324432442631545137635790614773238312838790468976919934251745455348907604841894891152407004480550863602638870104551619742709288894658093105507649107144089705332128710554280047849524202230012153097602205947292394370923965970408258705359931262779067231615954335823575038163478484474413986872872472443993781648204917341444044832621069776586567389560872334638515564859575210614638676201612609134188855087607479978443760151992083772795404606673417839346903456826464866809976780413635048699642039181284079573727858224141735073184438260529817700002224382582456371523868584847650106700577537689673622898357070596912022180565365068630323628023271116010383669964148085468426416476494467727208367456195501159143382652150305971402311578034567952084184449660610279715718622690412174420702954678672828345378069803459137237609981737277434562308778959417739278450901453669882812039954328724161522314394073997601670128605008551907126585526803217480503160022488005717866436390377646324875114341904007840715644167588073769601035290230496638681318273461736475508400165966540092592408535813231011045648059879349991982906331469422711807107468130709439808430931937243293205146547330751376346145520837030582243104431322192230436378836970524474288861186215894050267246475636712685406985593801272232867212224060205381043809669032746817450076559338585641492253455254522685220518467707742300665406237683701519963641508485711012710293624342302172505330447792001351728846565420230145773153692031247837505814723925369372544358706817534611930912664171827429817126336737924728552934126284725197278331495139809336039569293861005888071360506465808608124295843724680875199051803950670651617603393673977433194101609267834167172765741949367841162881217471976370536559708832831355523648922284605156020923683985786412344694440034606481712009356983687389689040449408244240412878696378935002551478376757129638651819764493300471775515448270172939835948928334013118734873509078868120228596097922339577017465351320411857009758566188160701402336692041031972640485585985109605078211767680797306236298224868434709940374489591995139798126641974859126583700859110833431072005528142999803293201805811756380548322850630120785856696513414146153811101315119108088626888696010253995472804089156106403263588646382684424156747163408590714306695172650159869265783597135035300207096432779197017014824972153439177422555374051158227504150082456042493535936096658482775929424575542853362791456317449723694534496857271031862557890283657154989027374638379668923821372747960468155848093087153051777111249688866555358661486432368797985265763336267726444289159280271106306501158922951441268595484594084868883819471961277055112117178467647501321965952898040787247633519691468276263746733436781272202375828014457599065027368343333762998063904618344764405059396044181613709048769762516102082156605840941747779711418369710375897904966093274507723823509744323164220786985650157728839967649871888695648001531679400449903064758860094626309674775505762371648165738132141850340227957073734567851906016403987710641924965932956707713755623371428990710445619789714402528099289649345632612180826220921795079727272034619344983014704478397401601920977297109302845715024457941987882449862043173254905324559852948627288136512601711813917224138509092902261112543431071899020738445095231411156498241088918083284808516150403216051834937862469708918202308933703043194444532996973723173806405925541707313711924155741076944339374192412782649735040236736980563171115972727932247699722528204383398632894433147759914529543446710104467712111118275472465750069683888610252622468104776970212554441458440000931313088985261636255956596640349727096107062827180263743612197937884057300128902344778535892816813325762059018746473406263774361817615442998031608363152622876271490441008795004130022273508734757782440748547601564166892136264359109245839968308848401227013664814133780462860282480833195120331717065500118583713768627259800363130365003642125935749412982149812641503062120817049004580782278020300453407593613915403187896910105996131624324870104481247759359623714124882859405467537421341442175441669761628876863960704081276782725682949406295714381468522444447447235727740890900625346626211142939937764295570176730769663150282807440857117529925894041277049899872212260904931324935277479712494181481728907004366548992356593524089033319244382005616862881819557358595742355421415201745023327257668667578082293833384970280910307375528318389792415841394413782649235381315075766913473446997038274270345022810772449598164193357115241170908398067983712282995685987384139801424359716194652118575588514817093610886340702855486531698282308589393363719839007721949093353401471928774596707437118252260605507966589193596308167668524789853958526272640437480754184320763101306936880522240946162951725859770173898944869805039258072972773001548588660219094682932481245923727771055837921269324807071395994121399482374440011800490163460567472477554566834227093529494537088584091747581182191364968729515987949933263140898702196043835556934519819498541223758121178617387008081242968576405001617257063676829754999829881055493146129201770271618134950285926899965720097396381338952578515742788137278206083598691244975660936566102754594044637899537030722094133617437324285710299326451618397677454860577643316880563981376885564473912365604945534684757515203003526138537900117251415813402255227196930086736849228289528068290256010022805675363573382678683613334293994980012380210576722383924769425672453678458243499313064941297791705175642373352444392801611899691306060702735083890669769738494598172386592055366444593869211755242061069697740124771392940548908473674362439238273190768557828578539881191742446027359454180554574587292582655073025982611271467531482974575744291848957420402101643715031649064035513722964876900238845143154858876793269403683482629768611322256253926475603962900169609874674884283101880980639908872487544227198019206002040230379133400080561649721461724242863397539212501695919088821321835689134095172879903691679818670623583899315418458443312154501725350279301489441147233392946932696400639552258594046723152694378181046486835222415071648082371858854600615584083460102948981326235022592605791392148786697025828040426425120455950849482884118935010724286473855482635760916761115367999127252039266774095356244220649253722496942603549389257873244491075272742227824009852342760836172038584239838631242148439740398565206593810083746587677796746705786322407904769732326308246769441384808874526883265028610589347886843323758760666936254949648748289043658488543611967696973285558959214714580698226738334909338790712280982351563076778227971355245868251836132538201457734464284973400920461846405173708460361514449995652200188247972087018612861586531728944897892290766959457224724378474244260491134312756275824272737444603997174147541020113960402416729586244583458213693155707640026891956813897734140044310765683404267056461895698165838194849386952927489801732112448239015996172817112789674048837450574634279351442469065196137209040426006149162993227020700028662725421794739097335671786681270107414449650575014995115103423717526586354917328305788020601720640195310236641453630120092465455597183148893601186928154892837592793369896446596534533567998221407037141228978277607498375254045926843377022359742326194407780056829265194475737038609463110869741218036828975416190372254666455152140641638058004842378146628964109804196008632882034327163065411344293834051756011756712611293588942939569825367199428878378108140652753650220125204088122654291314750238792394416808351870409040593445350622970561323189731173475169354597800080400759255164524223632821137060618833388487382567430190243594504791502280417010084909357845723953883533491596830443740324039933962142558782878377571265975161645102392986192234018746914032494291524678857070060586941257462385173467829633700619752042159093368578219649786327189095406677808528524001334943010124343872123008422707694576700800479052991133968378431245160655095910872737472925625713215676397946810012174083590897691278274253035054874218717112891519366376212810044852046905843068410932547587947925542162923885372781056788365631133774698018806617201063090789964355149300442719667667702472081701281301336851151967889268904840113906722342482785857201070371760186622016052331543661766552741622845116770003262969695450125698394549418305691279695437715185690576898164557000120679531423657932482939081061418901701656057897168229816429224333308035481426715537291120857179552596624704926449318943554056790176423528393818869791272475113566411753141030596699671254241498818250748174602889076654674089501370886825497466734535337160150200404045312384998929334371871221879017069978793598949512415943135670848752867585359892825733650284408419869524329013227944148199250505127985318899173817260293513100240343926318551388107197195846407400337505248222751158882138422548657708848393560348896220484818800414217358926943474891976436999444598337054471050267047019437331572105158611119015578746790606182187932616790035718191649449322139031291442448464785929646121465915928852039916327894439679079296016000634298230841034170235184814262480882102055832705247340619499443738572463695925377121066128942483171590560298286568248815489459944862637685322131174982687580581782694031096675100240186615872784278174347496147357707001614761432884545790734280991963553785318271991214578277890406157296248062626305594532161771140128393234558993133162719963009489197666813348821751910746115061923453485579071708012442278143155423326107313978097649556385793191538875512369900114217739025654696519496113803870193654632413690032046521050804020761003010853003172014121440036536788703134048395796134231849708998953254456377022134124279882831942918425348348162153116379357104569756612165209461800705169470386654320187989479703667772926979871945881489372897226104082085692979149389354285143041191883608107468040331831581552604888286547235869730600925224725455801035771240677081496630057127116930547592682417611110736228917068299649025369305105416978904160569800980155816784928038986886928276782473907549825440921017980612835646995939765514140541125268342100308923190485887216733034873096424085222922380974168252375819460650673587068267715308424119660389285221810209884532348491744994283598583371175726230424925921880310248273228215180464129597313120020224798074681904914286443930071939816341291375167712410466990156701757892633444042100885482268450069254507358260915501893782864537034755694142129988935328457550992288668686591176029659887749901458279048963871612497917114260004650504359283447356541250395334344569794039415914758481623494943012806667542323775177963765906066870770333921456552189185326888076550407938916735049547928369680637662746446324165282846224460850378121313310549387886150459236952586025430247170867686365008747103032032689829742490139867445101151839534001327513597423702930435880956109224542791582433409259666012304882899708203122322170144850138625711030737814327136139355197511203883798276376800998336921708685326154100472507011748922827284570366069734184463242347149719547466425312093056362738317535265637646637107111679455021016175379786603824278228467134581664440524672166638885306355092934000431420228312129434455249201094430232299086493903164314205382264407756450733236841780834684377054063999215566160535744717866290424138703196055928886748347410283142298624689855941422105388584548136116530667523548160238059874070210810159022559534337276325339404438349663501572724054061954697005360650553237801563185184314492989367531325083530280104741672845991747696262611849542181315383632184635538588133730169631331539456735471823049373202980008629427640795088330833836043554571271238492348784338543192594345547929403640207228370408097494586122777913050448574378455360121617783570152281557338601016902004142085109580770911677667399257318992507021667323136081748460021817527886561624975328641444105352726740752724211518919751433824564088919352458260139485079909105289523036158209867437800493395927554867000686057159570511408441793263988807173081526326787743985964503251605868667613143834925547030756723220218347181211410125635761316105455024436688784694686487034569766228914123307353232465324647847103285120843855703670893918969919748381618481735093774971710339816331502013778139905861260899269175966243893949470493313083746599645458533149490185837298595694648866288773887282928286391985231435207706587817474360801073097072137746476073569041154694658424393906012149811080161599229248320604881068278877433495681456588918902936994002422551560265356474621299926469685635975751877198373752696129055367232140709131732124865502037293705449707259734745965930919178305961728046804875810073149298354800196863553826730702082912296350315618259402516548406184294869079614943370814232934548207575391079802021532258749997549133148209724000868449459630708639307857130557829200711399612498005422414425743465477521769990702507816332690796251205215511757269266990891971298075789980344766480227132000746791559957915898331736758774735930544516536898593595449691967691050906634274994989674163468758187999964657294209024494794787825278166921727829743140623864459475358771162000186644152951540178004949982519387131835711495452016785238881525358761370908676492137541319716735532700100122063774424862345178260215382056613591501380282432162571449632441833231741537941174477286040872401111609109769028113369217845994741090161760924479199324202042959284650635702286622285376055212873345814474407882110306879712494585135529286404767201823432965623013487497316041292143622340862881150165164268454013465143458415301590525266313728335892783151953582926030229885913573418060589010294149439659137121172139120850057259936024086273321596629403044997217310208577043105237810016318148601695544951823610605610800960151035198566500319115714305058690098504762941007041976325938076311744551690445902339230498054014938641269948774224614907753165411182262085289900696271985077732041233528972422394503165829344920177824733430513161700828638524213701808051484571742050599059488698964566976635044697786680896895863084099185010166996028033517798425626757648278683203354317770367060067865361598454824575491218337902949479294947064813059822699534977409483615966601314200515245365699218161997864231915072182862345839277323130720485588045139483748502424079816859633760830932483101162565278609089487896467616930516180133404640626331414546265870911102810514969699380748854271728162562413335591848634079544284205505732945453658326304010549212302291164958544636776321319629872574258407252176111582060381205486727207891755430353339393644172223742077013562938161198736941174544297823749402952841872078382452289011831740783929881291443729807099519043246949622968010520110991848841571383907602715693693604677248352958933977765296921283327891474762801132266624393920057657773066332443662659015880134253954366406014888373609295092901781987423803196039729020289412214372764317119290811434281892759062674551343183082731561383202251124431187898747425593050103465633963288669066658557583998134736116830726585969106223421554597460924767990150296000626661380286767203640768400597567280774070036931859790915321789658355009682790159016046443789327200268168419662295016373525001716536217674614777044008181751726794146844443922540293456031378438008263468682743817269917090003466584859352326045186398254568036324901198349910014954511608024584542330758612413414735499850442081871091254997142087708598118109849649499230288518484964937367842576182467228651558016347389836037222954786919915642578196222913017127381485978668243683933209178596934778520678997256335678494098831070277643655043857911004320938019717847037831360187452781105634092879605524545937841118537181349730944681499618019210472736364118630542832422991618349609227782402967605676255975516086915909309087951370810142523645257444448335592893414963081283375514742128070412214387410468047195010865650487094723724672999229210214434491216067290389576771228203233171477087410348161843619648384679274030667014093897159263038487121212175113815670675550840954295191556584727007866753475250041345135240803935267061449396185230775520652820559755431462771211195257849946336176754313233315495518194714830019156903416812619327719046065795416435153186819204472847133475452972900186393416348773019334504657510678831415417203254179888532336866617584372097918484580235654361806081580815544376214260351844047032512108153842592626218508607000391633599557417638512391530906716501472331042342570915353226966637773799450495264787585867008093283358899520800901674390374712562368434970265152946491986253797848763666807490609319459039183891513151461313560840638978012815288759063311462291690383720218852974063230341374846234701248756402057191742650279073677328673979147329484709861987393979835105788866670818493909439627580400489633480583414843021260444977800608569817865144333371037701247689021096825132311220212274879783307799013013464695188942097929977297344181276936699766218491483239208988319860869538279728097738144429359655330803938149081708518612317054450439356856974747859042999442161749013115868210282950727914350240638464815425394255771174146932194326351098130409226771480053281370549611462672558291700362709914882525806153015677561629086986351885841365631068949200476239467649457298977697440961520589567111107309567839542927543687833721870045638885245029459662565858542924722316055059732230209087290545396686140082312072974827828466314421967738607913929330840511604826164268303865891050518941698618529853729310770724056924744546697296198514964559706756350869479613408292203593142839892056979973482647970529200939128082161119661420307437703832936190568826860999974845597360000687736614052040383884836290514714968746470843633441703617948417302642407460764574613420005855909737323300304689777050107908057076093369716396762543667080546868479873193246727878227813174875552327745547816806989615270431344713245963285149731249371372096152301412629746375180482597484550308243927422138495404110502955954931969716357546796169639003702591773991830000510351546131751927639575693415652884457913589154486287193551052842685509396934599622986420046798786707811537486397682019563379934440482852636789579420187216250656678823110108638969249849997949393301892488810178989909640333681878833927264628282424554360033741390155333426214760544966784008688681025493047389925098980282579477685376927478729726361658303276968489625248062522529518306953712375629496120437415571077415335358741335620067890033308382097958144125372466944287256886727865017863207319801023007405933833221278910805101087583845073045705594091581823274871647406183941240105426900764696448774567833598136871244197470175893774010465219244696347498450030576386538129721592710092751344895668015244193809560020612236363946640680536612258934828599194804891812903692713650341740796095989881246212511587184635066894194585269265798318973528110413990092869088715488596634503703783988821520062858422501961348831081091250226242302032689261397650266029175696623550138548406072414884249930844087594961164463084025143139037845800628999225667506078527253576660925796522530272277495457078217697861303577034596589433742921243237490751534939645646364636332591574428370978502533759849169601985095010793749781140647455803786036863406488935501498169533615998677967758386901271819988344690931685404317716437652222388919953523090290513824688870216181971812870667384628737118098337196439869886901639544054632833256825201850491531686331273961717472606493361548251433984565646564480328846867224601849137096362565900494795898522378806905934050487944685444289480729386499752040012038146735043338887908011624162984961123890427019257986267293606278567095423213681775286399273793923523807149093001552844331655691224205167040555691853905619917686220073960793571843419136491209723843686120137171366828746587355127196986041497478746966427359288332355772736320320260120175078690387286334814391785774254484176764611835792832442080765820560834236020496746430756460291510999449043030632759580122052146002033445393564622826523459976057344808848319534109414964674796154155795112941060686227736438933576901289466870298212774496485533124558359066587081661244553586887703915344204816893389270888455197653060288763213095164503135515521105600344939406534091086232153749289382053419340546667595679799205677692299210157106419545665007341051787900005247912393264191529608755725909506575016571300177173853026015533010140147896024987987648531366386893671536043221438097930721032188065399894573110932391886921403003395379123797609672152412611970737679745180117197007606550960675639576830303603203328930984859333399424948811751535407414317794309702964859237368695564317353239165199471280207612045578862731549136479174465537174247910048836404909217380163711299775697929045291706359117992543431992083858595159679784090964483473977100147633982743877826091925038755968052376846493499247283196335539738355867111644365103883816295912690834611265906581859618850105072012481532241556010374922801762389841446536379661384965893855626613156837606247954399933108113041327075183923855311002405711204422470485073104780149390436254619701873129787468998313056821112130525643007962849313724851036529055183406740277061785802895625662736531519381944984185644682506172659087442577211473908980950957448513655409247500860080487206785849433798736247212205168408163118386477315764814283588036406641640891356707557171207656703613502037543457220114149802136706776710039648115881970718733061166866898628636496519246628204190416635283586980017116008087736731029507138294112208780440895554227564507190104527087688649233575817247212815127677254212152952628926871765884820550896260583149413872129219083341952202365706078098277035214180658156808039324679065967628237806300350957875122680176309485541998647846197431879638869608348979066939253413171544960434401402552400342343090088163787625310313487315496453691013086368585246353792423143173780944584808561277243949997037478737915629646554444213596361902270216224009060480275438342218984865964886651826626367447822001371335375747940813482212692814052181735299806608957597496481345902838274317388213947387133346774880382582317859613814382155135497485124727935678550961307927459502251015857582601101052478886398354290065325985473158389533744232959993646279615761813299510290748645570327761023181427428143266079859598895332832862533303438726134942920710805747878410346029261194958705096285529994684688459189033516804630071381232405137090103913177906755094078640577757259491814591811395819957538132739596912767545474204156739970667648385939373787451439079175620253064443305602483930654557049266198776331080116054872541198222276529811480910485719656670398829340557811433344973286902793996029632083446299036485301238261523439878335503979381156879180607811367869163476205148346918366633383915255170870291266156778308825627486562064000055204509510374079497966925941792661877432650670934424913902797607550710463337944367196180908872987371028258947145828954975921444694541148430994698476412816685700279237167753755239886701900783837358558012854949134259982146886656278165315229513796395064134454953301289717928936293290679777090341879429792382315385951628938885397368261771794760875296643562565579711493108077819860254949329843160790354245346465518817996851034863902891024209297282432952577034917381586851999492161386942207752228288077200797428438594022816980079477200323347204036406060878795607671127922114464175943049234328429513502302046904687279576051743785102980747694251327101068334778307443954632118735267080589248582037263312971499575046351650089744574526418118942145013847352026170418153161163240397619754318780326717979370022667188309744926326195483820967570747323606926760909574251701166123594111656284947646348640501937976761736042797221480592447267873806695403233244642500833862099284742032793828257402640936354050495770179192372235519793405420646168741537743106662168029479046988679005602007388928155936956410850689439122418708146687697477731213875212199522584733880556521038923313184595001191938935602620771541131703628709184508471567179812496766539440749237341214575473380142620080798267047168115967109661927275269967063636982749062718083526811084206046946197427449315997066526418701375468495611752211424730434433821658163654739646571726021778543192780524114400838430678631225946000919499104755136994746608043576426141943224959820152247087829467021826025456945159156801426120622772020178029662361385609827554012687844969361831760353329873917806263599676180381029178979624209138588325916884119654642842449162824153847968546073285869463520297516764749968897515707123874276950691987084449740841595444096869994002567900742231476282575036393561929593245040712694850555017517442232305276846865485542702327760036068685883255548024898966072168206773287494745772488775563833850986788765247888771455198533008342783340886665828292368652080434807521309806228959881564935702041297720737032839845829663451064648610443659470104578813674120650175754529438933709622149392857029452725788816666560538136781648670363562142064294612157135081908947366512597197339061011254700666516624021355391876284421724879233884993158584185224389213663233821899694995768648764506542266744421986219473081832226381671741563002446362782482407078626298929942271951124944851181772862839616836035933533670930090269675930186205585463424107803054074890530700243923168058048800857635152094443892935739359175814788756452359113409015635252479415100530906343841165515617097133537109898114905088049271514513016562407862131345796660343703350572161648175672053337765429246503623277188742563532375750286179184383065977784711634921510112968177301193156269687786830806543653736514966260166437759836346630548359843651809206417767743768129225749710768211069798166979382131233115050011441023802224265921822552635362137764391060034094647533758748659165345960245379524094163041057599317587973958997466673947636404897935646754890814647613159534215129464562594409594683071420029813198786204027792678121959070507614690265320150592338022849361215594194962141086941189991782897619986767132868670637649821241580045357253201289605318022255261611740417152790887815535549113557750475054533131708497098598479150144766178618220684991370929819963087200921893416817909791422965093958351080157961277776456418480755302907084249127157355799850069104498097889051824859654209358917664921299945934554890486122781489598617093151910092085771544379310270652434572994853530201707808396416234760442503117100453712452703346687404685884295926740809059686693025016362755943957058335749999227593590116305009132657487623913115933993245070124815965870889899618202626908964035753297789973325132507816214704974985459358868186358885163993912241717896636005680609035153046541068978065936184413290758417146797988614171908553106840717382823787410529100476785052993767802528293155542421980182788703630048827255935765606661540817372393537978221137361655509256256135163974079603247588536307497465828874740116018751774148011068918523530883128125531255758547539061818405519036499815496246206191086031689853418381865645852825277587144103523959529157388349694489584731051418391354483759038756056987060707435032624855049022499064809662370990812679149082351322895593434674540681228964959020902847254797916993131348723673863515561140730218147057314963425289474712131339858231901859657013466437300828024001231230530586339984599921014850358191252347150378262400469223836968119375563870907302700773790318522203510512851390824469966409964866825630772289551212998174592381225443566512283579668572366495086820451386921632404699345380630242115876902274184244476067988790628648058328662648054274634201342327878632889976082229358055243999106002183938419177211716646657337757704125304707981282243562144874907226188548563555842053359826639151110719909851749171038611945046296026627234843302627026388152547642072568649713647909018316664853193215708925224984001844058003142105079878312957012112851114103111800082971859555372329099726367776976969380610585202025497777069746441125150264115992137687960862440583876250916676086506875398838687916348490401352995609952158865084876112947447304736707085747582875812076132961359474422744165273624543650403221676122886555119132912290261224264315401888597260775869045128010731799066518565170985937461980814588270692865503901966147352063135809975520297868414066026443589693733208566839946915954170917313355621356230898557110619560336296989291819968957143864162515555237644914442235758991838512428099676105290565940002760488917743022888333861298419278708228225976346142007575786953066045857251329955201645648680182830850048075585162384880936085897875445180436517587004750566989627299574210304091786046564291615899023995862794564721864282120971757916878204808218843198582993086520327467366166271336703720264169216789785419419868089284272635266855846742704878619417179500778912013862082211810158278220531314961432368691954795642668055380839082189853422385100817390142148517674011352358193570823095920154428443992327548387475882512182531821043200531471780844443940607864261435081658743880136511952767032617204348527572398552310086022334661788909664450960361507648852458233693358595700158149159258158806124772278409227047167849637868337669353046068986546768449347102989577768587625205043287249985263570882841740870690959118590063508166389139692420184375781538118559621136429152282713288092464689261389251913276213271453894186621241860868700155968416623175266558839755627566947408565792921034250082987875992126939893722831359516857361375405915565029143413425784935426187532609642647336435538607684123155369578377959736257542083490148941857926656647908916914140044150672083697708828742740462364321043003809801508148121619040617563022566506923922261638551640625252341623918678395864701492020125509061334999674110266150529254464430380557538182356443713935226711064159039067603084755820697242670418642261781822582946917452054350680010255145893810379973949810153011655752110804907667416823990370900161710836968300137514874188620507992765186694646072096335630738591482049296291592111813729500183510239447768048582964103911459844184509739164344257146504696680252742152360074314328314281709384090915690942216186853130789897707174381758900883386300927860782017998636064809862300423312994916302209698094730896771504976497866376057483945695439150942825348513882215497409938657294193629895178861110866036321496348812552466320067724707402140781086338030138161495768146013436655438620066798336083222182367250667420271468515801339815810958794026464283978833005326536857509612017786905196703072006145498571456272454441806471622734060146441777847842614796255889002480597866756404587358760723101289207861667104813958129240047735165525675910345270442935084542528792398979659938153982027684874364381387893454969602340255733939137574088572275955077141161009721477747773185097625355697493017536015753554200060944568264411576973584373206789085831337098259020471035218329369292593213588617319108131177779162811153192655128159039595674654578040573474513681772916875834976020116356384346293823474246286671492960446982010767463917015720390067219393897854244642125367588824240186547923474096380524436835090383866720018547993883136537879105964600833537912358129884319154809145613709097144015821425873795065764371100911494265581378309518507343058659135137015895187832289990382276567793433325395177115214110595582730973522052029975052520996503176834053495952362879164373719467645730772801963320144193427008933770693821263377148075746562814626418349359016990390761885490943743001202926024758726811159189726855331044498792383279053330709707434086001643441422314737416890894243847699782123491410606576150742318896982326713396949406789907871436650669328963039145868763572263268441283266102534859150698088580546283408668244211788509978911729547380464021530369557550952950798976126003887897200124130252960903900164782130781686068195932972925407928188939453368297139119126113317189656590696970949814572018677372768143222833840550343929809395568195292468059177446260907273974716874060277498170175986099123538331338478074338737867676877020840299282512616222462401795124041273458186911284041495782453808545062499732000703716028509504674709707459897141639095482881062525435165075759588378067308697323216970188015264081490244504088767417519993395764503659517802725277289034320975136408089017956317541905788896208573660848142571459848540596208061467596563563527574814985201077057551623371685708616979482007105836190700300982832518464837617573734741962281826586298462205900344978412391430950064571854654145594818390063374012376057353241573811281491284440776969044713457813726237304258121239423983028591414219588300479207953507380537577088122176438508272760761397659887262903490774802089036679130553249034879571248989283783850662124397889445356017571397751390950308972866302054808481869258694921449883094105019294246865074350051859260073760600716926263003003726190491301887023537689507784653598498052587176475879044334462442576610263231614858395058009610412556026153578947521206721445477074570409715202062647940008815574333384770931577665360190002587397350124561543698694887035435690265716771255550723997201709394850989735926761446571070576952071829973080972824959767846736983304748002853647108945000618320342868635494979493001180171998539572724010554231766293451494974263681612752913548311236825045599220716024827640901906418052633860836201668569740203321158348565153866038319982519565691648378076878228535896236484427743580410086672009193761572827872854570638235771234587891743023931215227813964896794702235499025245968293485845809335419400248662933821556966868100743303430788904728097087559580491714035855521403122778616329133278167975451886463286193165272932015555856723939273275591832013603831453127885112545140790972671140813718573833626510627073426513930222202639400002665718129593568810217305365696191400808333216228696706893600660302365994545058105828657870332011402525162921268767044499726953672359670290816494136423032264157474183315154953484199533447557323583047617187100773599133793470231045993977629414836818617641723282010321359487527005274061744844459006499958608515927347847806112785280081996674026508726852764148000826849290295050538115373466615643204492899373925490731765559266816572807844179609902558221866511081316873873550869053459060488242085570144797217940838986960294483749136279893166338038648592654745822769307341261991222344670816246455539592679245281485078892101923006502811471894596921396106642241208408924241651369932487350238583693369137395075896882850756159466162352243507435237869727720542685086703376802596665517042402176174079620679099019055462964840548068200591926261553382146008865275134529421103355574111333732660516848953308597354234986125951852838360716397608898580438369424940433101740962540377226583264849948068335231586983853232418560748014953247578784832218367353133270085646962547126099879094834686043723301736232764318995488342920191113999230185093942571488181768278780731714958920865923544927753254944132111963389681397796281122533087963609107392737851907947876687091339290170466402744622825709985513320814343084176959376574735013783220260423641184659073452494380736174128170617718567020808906492041698732428159660504081231989962094219476785500658617417019229282380066844753301185127998616316112696973043598340973782306022634558522403092900884526041939515071265848414548192668082240911595737554651886142374939117447979486235573058322309823827516035515681250290228018870998869929655253635821794502606994580396082768056059329735114906534050479093670413110821516496124205297588791905232461704765961397147064840834019564107899521034146243522004738009264585369152128005311782441600252311650456774572309990548289107572719265971149770199610822341142206168706190638198394926232422762894538606062888913757140972235196279675485586110542678062933887113588658788112659620300636213922523139304114206211916505403404950485540447989970449045827176803261660628607843383140909266104406575342933792517787768272293816069576058851606306994077587891905299003114007583203035785024793688719511991675117792731297417755037018582995310254984366751018181691625411114008987534607416857038768486765468085474280010929335112226483956571509282978109317371963932634680308042294129488977007920546536653435036842665796668837544856623957401003585794135442627435756764874607160667911835685891248524453966822586710883884318441096667503861126246457051338787722372502765918689190353834431409583366434645422069892346964355648898099218179359421127898973686639115278192321764639194935877983969589131341454520221942675019103319099668499247092932244593612271189842270470454158797183133966818687432995996903486080048046446986036430562737434066472799156182388937633279852447587017278946906939428560610359549556465353727607602210681096628758295869263743667079167675326363167427979872611999974122206197333813049900356629448303452979968774130085751058994658631743074912031998455150502371744209698672199009778003154547471316288577662971544358623870939557772828071309514596272110089715915112171782003906182413340110207885708273738688133334415051201763177815553165001636669295333054213009191195207209955513862912133482374354719438179773525374140755584325800196215215584942847086382887647827808789739797248867023473884622198090610845785132063464630702964151582093420189404564590872290418021312095953310290846436824070541380589114750500025995125374387785413583628094985408502572803691323017784972838311078527896519814907600801508386941236875819003177294005091586397247709938809410036303326158493190905656068091499317099759753739669453165922411784772204812219172164645506502491251674766854167140813764114005438625573509713820748322952656772836332833608063131663551990758331546889689078725612204695329941557739861664541724954834453012499783244845711417668230319259823509505285951902164227425474030900204499368472981946081515124931429373211348611681502565883697065831344928555545712550262048009472677095032402507952603761669062275470345970790434320220068724985064281028433825706211370690399639768424023559104848607923251911810292972135356425596208703875491612718862630890399486114777274286002763254576079381461795270008699531844262876376557251650972578598204786276662630473825013704698865385207728805996177170294601395534022833798836651048140076569321306822804780323275659149574493480731212949701856812035473900056917379590007308647547138221800967521486138195777479083259438219656252406642333631838342978180987215858721463718937545988803681709689369190781234281272631787337142222389213181211452271029339531157362498524771716990291072544616946708003043676187598277652112755540239845379158648417006045576485419277514042134465279658174341387696037048233420999432529558835495764019477582303460449368610935780106009259625722129883265054376310001240292504136943045759705467123065148908028253236315020246398383490829467259940910941446735072135641647947550140932899392668221526046592991844998233400603788079742949852098215828550036202731297070174296328988249290304669851546513810696144564707861637490393238562757681213104785076753923947605802988885231593854651231469037815071265639618630223756985029747298865820856070530769467944192464265160783848829210320140525848904708213143323547942788649929267074018688782391780939872317181611857125137524841361064873764212546105272092669189135730386508100640869264854198013959161579719491427518164035245431953501848957943469195405128490260232787526701457153014974903653095003959750347453019637790142994518989775300861927895172400101710675957949367638545810394475807298499828156615455790625749971880815967390544660553187744995623358863650687186553070830967868594743846510241902946487558974571272646526491080790421975041313107620350906836968655000224793113056409180964033470961764292345102711346724414689095814511458977970446540319580607246910031661597821813001955646054207427491736187870364314333945644399867757470317484654693205834045869443680153509217400136114062948404949753732636255048406489705037094207885791836959546490239731189846029015133054619703022004196272646655373855119334030847359732435332134271022406321121588489556827964244171633355787065111927387111311752616793156706545757820292905148724872177596830885137357128723185264294107791497614314714189730073100960761035076277906873326506023883710323728571651416634052632930211839301738695024405717475705031633155913026896281844566003960840380692516829047189123422823148868160137524365803637318274628008025542002449681283354499318292800756383732969940303912139412449203943144500555584421052434605553365530221365269110444679388521941572001654321835208894265253744595595880402449038206105146725076338053000257521982608090838838612705330179867159604082777248135605830029553738840782466218497261029367572316324506114057779820371638805579956967055416101707790709782390530041974343412565447889176008559787272614092353548496694405628356424693839016302365744271772347273832480384586760841495276735496865138579855643772039444928979589951856153674501676499324180209137866619176471798122876268059600226087925331064617612620501758715516114927181700956809520822434687299842112781866292091775008600804334831705049556462523898481196136086029959704373589825759451398435354342263472816917335138543408467425281015946286205664459305283830213634590808533543014626853066408370101999307682893976538694170117698212007579713857104870550960526481467365632334567458252212648253982001641090285245914283751056889400706892392553269605670066784356541699728960611279109170044192763116988210838043855120448997881447492222443262987583502632442080798159543359062654530800366141341463276239886242679743832048192991433079136163039143215300235529606429662995072722426319442288565389469630378111942951198439943606997230242886388905967677565186218345465620578610932174001509637100194658894507679958488355777501468717924120343076377629889910680806999424097585789350827323730253467440916067432430758351192162118104835083202558821362528181406313825552943161219464533821087165957370243011888258120956104211072523250355689564980970413015729368248883532233856195729564040048051119810590878350734905745295645963421468407228587367524882993186907989445325326456341556412317915185279684011787358251738013251910633393972192167628757858891461291434196036463432596260201653468557778834890674855784653975587894203167992829488403852165754755205201435708442343467416470955525161874499671283407935202769613454134522961436113121297651045168846375724359578021577815075114800706490328273850509219723857554225646267450978174856262283078999008987017329199223940982126509175910381254481444797141506005429719893729611448685921355849336421685666714897717902472338210389104439118505067178433012382250839148569963208244464520806300200087875190248488610730628294352197446322179124257352480263525019734101619896216650127136648948764611892287177994403373086815572403852549571666472716110491281919625171418061711756637347992376169308896544651398265747906987906018093264317266619815969332959870543554217395248179465113868300401517559432926610967167970845189405463670556429065882900352534703308467541394572415560136087828514558225496317343527399453310038950649106357364612078420429002615597337130014713632907719996899120804924226628369123478829593451280133651594198204542417831008520568965883200253024464404991136623875070617460370239980128902780724262550884147935585177662660905085158289003534288523981371343332297209767024178648812825679411095788068367695355738332252199143336374591335094595080933614679893772301713972531960337176818250186825830164565022913190899425646517980552340935168854984530806757927392625953746433034814650989068775250231070445345495702492880252754779495575407355041737616419904042054432235427972346879293117504765322579618817187673475927160034292655152170929043442547232857346726648512788294605269306192897500338953520526283498968751314198632758119127440357146771890192460069834201719392797222847448476409763818562852670171525553639413534974977480516768915430535709115676015244437399893447470182380909851810422100567218315147280584440606081501287167199859968278608576243633985161564769104789070512054847253757238776309974343198572800339784691007875834564140909241365753186770934247973962399623300922704798245579456843316013390668564880531139739061335103042657961574118244758018645447294933913292428010837427885776963587113027861935568660708336959608597471966315396603813428300669847826640392502723085542843747577756591273265084541158627577402746740012549055830234192402724265634365949185313135158121169550954387858709096555239198316256979962847956058402053721426219349441281592176745547073437681235746552535261240030528904079303919128782577523028347227518398031095114143431566836178559191269497448660278417719322613690127941626386903245841792088223233912029896236623639993159975760523434572632980529621323684235020007273511923004088132463791690859378883450456766074781194705478963960639601950494218800113761939586467014613357530963901742659152473050560722389633604631482595411004592045180491129588586846606444427004545366616888372846069785346778517036970339116967062807379397349584200841759403433222318119582614046506965711706724501312049477874373674356433560258045538346981308579159450527168722649783943641398329173827770039547204506917469607306853360678122741045962759088290511521413731412014800640760543079932478389145894751378966323968953128083830490988087098872215707434435717969651896576942765633425781750805643753864971576816816282281844203023818207277861922607659937848958589122814922727143187192378240965791108194180071950585240980317630697780099811640502218683365461937167222608521602763009883522900372780439098450588847698890563395585101028113776581620546862891402338159259435343426970995999673276749951890538726460652185390919943909995708567780340236553335133488653851001168942122227673834260851106181285767983764236615361697262638435930820870813674143461226104630266165251217570289569996625115107052041135929891885877375627537837347771128592325800526475042274865990731320652381448387280031522141032587513128400653687736062802261758461238441690877436503523985139021322516787007816356259464372880444608687454599000218184062520643159575157891582718931669609248361896681501158551882287273779043518248699425729661509888123140526063710024597678770922785942677473503398668926275526235312349118753373408847794351031503018073857017273205184928740368413509477728934178121472732782787994512400288915244946665061723787180494961235582922416342915667421153723415950221247373242569886486819215580531330259171359566670734653035376158371018097283797765974757153823194581789555935716552902391676869880813363925185617395519802703429579045375361714676512481403483159680049257704563858538926281801283948577766807357219422290783699778104471900975079867581395932729885062560352211988251052911405028765065442211549504710100939195098776323854327493155431463554772318230638283503533192972905872204019622863960604203017961044098128789170398896956350513511075976553718532785596528772973815217120541640751541993800808287988997356339226628525360589790195620403994852147544422344429264316009125876105595479381737019996762561506941136154180245739313665178108227124916688545269970888980435689405620681915184422717418833165846348261640828601057070500968696863479614835014619215875937277189322145682904408230421259699901785877086753906480399125746554813514569691344167001972827314748090556918160544659840160238907336959012059249226425443359562224357827465123010434490530441472524751280625867637163402022337628442507642975240351149991314577632383204282407652260618696925548472224973973806846197382429612565547740599357128741250318732453505110408615739129989789602897246747547148876289888509293521088614594681186119226061863937476109628838466112703289164134653219978447000388649945443902039614884806133883622450440338000048643386517962284941687108100061093917678801506245030227095040947806906328417242109966772872046541305898681300766905261762232606610564927500108513124574861012011529826779334189045820809791335080416170150979173981090531192202871806521879720832331511222323748344139126949071469304224966957151794340255242114267730433257364222271162273919140319548866087123825426270794451881847530502687459484985441453806439072898159718620017392888791824611114638682983059691236067416655889336603630566075406136210378661875645946245404031765798149325220849347218513093554036628240479307847340232982012071550868073431209022750111109613800664530042977109793790670158502478307908723788489079527366943285120644244934784436910122931154170544327378774290047762133103718979856439184070952801617166111521513257643296839755156632821604477136142445068641802611368931803220262629065685910811983147775881545411475192241449076450167831342256732323100377602871348830141327359045435134829594538769828987130324985282348285687307376342561820098324059662376292665291077751280649371869240317879560021007163633751935391655314373815500354136964807934176239749114710762422667689069261886094258669639135295267732225029474820797611205237265000659300130697549159260877317152512059942554935316941425796140410719126519450451258342136920870646142411855898302890036127994460978006406491902793222976475003482308184990084106538653202045602533782152507338815554943428437440274882997122614043904825565490601304903746375156670137023986309999906699016370272836600053389456766803505245633858893179711863001727838806490588744010365219792229324025673479355570404404861627191000017533595181151244653812327396436928165226929662153525062186368318644994492249901267139591029250427058153717920333345990207029955464534507063075902848968885392797755339576975926624970336564095067381386298091983582428856183190748232458879414653326498169739891456000383455389206627230939451489600398750818003547314945401454260077357154334877186079583372844024004599675603274487811255884122239439586543772702478762878989493623870359979384924949482074163900480799256098079098468827667118768580701463399281980264309521312843819694570185924540378822444693262632904231378327877554195335819869335474094486268469890868042344500974374823515202594447954389411474155401488290348151663637380720599669778465372511369241455597769039506989205342497615071365184141218269557586372182682393076223436614590833538232179681108743546177022006431478736994194203788951551520934690390347915184900212585271427854678577558550509757953300065465744946907482785101154926131419378725929122259792300259951830532709533831798295521207343846276901104013820782943516291147680622935906736090550255443483869128916597614961602950631690093243048094166137146789933795779234357013392972920807853479045481051195924586239596691840894787747401306174631765538352451186361820268537351698677779169866233382397050010808666044980755656159252383405853920006707544393832002156834449456206532275080041838651628226169177714090398154316730129528957959553609413413503358766227498354360772151689202660649309926941982640358465064397695798769736707175876277804694571313804289979324272522943339831376574090082983308842987849586638705386918200807933390145636465196775349127560277369753069341972399921731182710410077686022741499164117682862511732976552814302535013680481122482918449466558608151739175585159756831411171273415418970946220042363668513498813919822683651299406187998352293366888669400919750698066138204504996242839427809361104603546782875116285734407489199365789620355247085670687387142553842666655679111693043726044685828655332935905555317199821596045163139152755663057048924622302630656484580189270089881907976775856089472108300885884361191542719039603201442397838211276983463127931099271655000719624250325265257245029455791686632374170288372235435830897872990312066066110193923005668937991415035057164990282330763920633464443954778556287820622844188945514217140531460584828766836073952943344166121973536702567080459256745415405201503194817337218265773824422201584123166649654623879029781273148252416246454540829772075561652434452909169900477988412711776629765685577792115764547045610782053299657484088963456865654693785751733843937371493513954477084321422979947412053052289535449554676256941096894261036869781427528078525455991672199817120225413299016086881628221908109484375694058193300255336192643515784396730136073905366296662531837021308311816461968736014707172121353623588780866279136939321426978067651383860539817054148329609271018262756671916164690172472083482744748657791188879586821903947960339520865571869372231905579312299878949759877085318078680975341579169063007635601849937977169484287185777209212595587892497598147574276196755467401527231269896294555828078939890772306264628414243765572108911837285198547853879535589693103050072672476456315136449956196433520659256905678141005674032255853237743009428932749339944390754830337453672772028763512096575171981584314778676194710958281962052812965440655668324532651310463168119981348270260560486314684598959353458760597559578456144666328434300808464431752965124360839634378594313711206611208459888418262676969794290548255968563110761927962938123843522116542056691789100561174045951236022029302786172321576546423721120818519406380229652118870737698775233961215944303958131350675431170716314150372499511149422081668107040861307008221243348173558623816536849175485903704950800003057856975640239149347509493586000405125151559315367730388858711180288142609294577867580956417270817581176126915877165506092070396030840908596857309658020714287177433502940705933296917409031287521644550415119391566065500579649281167066770461031771977563151276965757579935977644532163615435272475252705444404852737059862373076027699433492273060584026257327102482215051557658121209190790671404618436194347365344642822831293383343763330603943934121184823360954614890263965610499832852371709746424733836237124061977732065471969683900250760780051372136746838484112763472443670518505019424902894702481198595575700244050893463696868738702619022432163484916028546146379304097883267339793781425380718000754720054015351596994629118070945333090863796880483637370899195264898531236721901019923173906759243706288057418706007817847110276750383489298042733515539059551021056416212783225087155125367742288578797505161514761442601282064743265171351988889634664366446429047838373809343240957436818259260088548160779062603695827192492091325866291662510028037953104969110027416127606015807682842629468690348761107412892765688877455140642216900095604608408113399845356110161097058455745195944368057749628582572633497142183265156070443160954963271956092757836711082485136502254502943015322560745090951511038422275120858027966748456608628010070772123774864212605082382572833016172673866274438047829887008687035182351357759400939780536626354719424247489344212490527960816129902047635967453672092590775846824087909150695412398165652393507729757093210229369987250951652449128183369618731763531170350904772625998890879137713479539428068912914232262774416526755620579548207797529269452884940121259438393499970088514427009670740927387120108489655807506780428669367882033408649921057878535837938245115514938653661144390650362637737423506868397202322480868752207594162731254083020282369175694999923425073933468928631605047419549286664649549571536762686430191121540690007218375070217168961709577651953778904618736717562370891531017039681093589632480386500427703282752818534748628958477837039281498684291680027550022652313661389794685098186516664084832832412825276109451378269329972037141870253651003220955755242034349901298943714491116545645947846391454494699601666570445809082109675473968673758179621277819524529751923102251166633101380536001294581725568106371939215279431766981686961438148994337955223769623928270395081267769244936348510306635063670648447882156916772082149700519624330804320746666566451083978194491473227920957226335533193095979583479510275602791246865830986333220195252877409817512824124490775986207102965906369675871281093864501817847390792905805572076071844442117869564828144289201132680521847505396612642462931404788644966683131460102477909181787788034413548398941544742191260480976224056809593666335608263369498766614027043086664339583935620204338686940493232984147018093885282328637496869130896016187482756087454422784982438639059368749759593867158548424506315200526022290720378339193047399735639178131439119764812985698466463758537838285477262204052712904845289136726666376347951660647080578298952515677002788104859816526194774978887330091809892603072165570986472223884489608234018613021586340242720466068849044210909071096349240718458902747167537667353307858073453822646605992797483239698760904191980864866103649380192627316527650132747654983644788914118952391955448695167319284378783648960092499461018140666579233110140526961806435025419100962832413510127953693755537231494526669431244960180480423787029035949968163351482217812343598262743798181188145001852270915254218574133635902248937770761097042165218023589994903656477104411685538404467853388098022142196592674768803651523130900536906997965098771722055649204627574620613347672400253672350836849768034798705754372884276218436316279495321545592277326929810627965506048818146139066383859167335445208938665077690162965095698956308609972714302145981463517703535005481654295777104314949121389243229704648304951260358375029913525426456617409865218144679269756379361313157864850423485324273866343633552603115170269000366465795685468575731556603570457110211925575651773870537735399172256432565786079231884048458726987147076082593109761575590699678807059352003759045324593826946926362618054011045377315946304154121026494582006305529612176197842668549522960762131853168491846154631444062962244728789938357563959463210838624100194649579770031952377206236542939069695372813788353375147399633043901550338021972802658619729028448311059830093356165442020602829237634423406877690104606953796122735209263741201782725786075447291797111730634896655763085011483557112225309115892344982350167912269046992424721402220803297986361210959046862851370278012781175035517758904932023359158183579355020480943140264780296506433436552443843717637250257526095056853393397770628397122300705880856934765529816685089741316418245471327815737976618630246473022423403554181872142041411702457186204898374439495069209478271944935059347240772002785550963254228998137899036315403049360277126147547207824350264333049228157902811418379396166928802594257039194025701146980398787408270299037058771222388303858549986640795288287248336251147357176909935719512581218381130706715138367668858867669868538452852790387746910949395412528474631216717915749523644241949161269649032900914175835359965072641916515669884538303186721298689875083326278092046092047913333587916735410791619731552735680765940657510481761022519447819022162326119616115224530817912050344341647915303673951142984981419101343533158239579338003211842991635692176567315586702282549703926197580908762050599371825277712992341208171817418287348517008944196280400952550608281236390180154333847604721646349534394478175988919849885032725917735511123132087671831292255444567759109070058032244148066544391980419595675103763285201636254506236308428593460790675663197795338121962791408769339497495397903001050136879417325201501093727459543758506059795951828763796591199464573928187680778001906248811212868875998553690604395248256744674361536472319208160178921105462129622027586021809389141562319293040613109890700614904736881913785134743053905911243670854952391359269262955037102555790753058485672879020179105601676823009622131505145557225297882461393152741475592461774447923139165187396922558905998119880430161476784832761556568274181263494817620294476334648922808728655877836524828407178381741782698590152013464221704607722534828868658665165624906108784367450390214777117351950653736218347131237554544651427521895779870757221423049640535074059781537305413711358156017381269912378275178936016084741932166206624731031650377120451905909558793008342203186967123879958397575256721083234900883668710461118328771274248506305014919630973731386029822151069656623693389675888718050932611021792435951079226523301835249562385659201575636914370246057681486685253715421195027255839962245170980544037082715203053173983390135414167444010174898025340110979879812947714002491877901440541411382985147991182965588306088219830032159957450133846870778268959551840842377917359854703084577986618798879953031269501431083034451577714192496760653644359164631109764756419200621101605801478860426881086381398764782359421137347393512598007984667415733686865912017560836849137616634434505328426365453956208594289444702446588382040951827774052018557678407568478645943454304973654364278580146377536832983778816474468841396722058145146333037311875281163443261681248168377331935625779132248870039506260159290164618259980132487993595477196950924179105967063980882224650340749437585858512846728485500451935465490628758716722180462578160568030151279883846899450807673348866758303166970219904972070799142955465516772197277685410509607400373076626821705056327401579374832101328788556147874979997837728643102269270172456616953499999555807881141443073762339181433763481843828542705229276140704817936901916298972201917645292728302544949888148368199445705738314266990649844224859623823039408737478353195128241436272938927962646293060532743053273995190264183618703460110191841225963530400490674306567866179876388400065384853629381288220632301514253487071394648684585901372043495843494026816214197186629486422917981870418566237151489139555840263032716423595758014123287311934108563534659879853571208004979002512072607177547991994534113849435677468741033573353125859123074602471486824972957678748088167846131686235204518533798376508405978412807848450013982341832647956689254651147128640364578231116573344608120764396530534660773182685807327420892441187124708601844856311247473961249104839261260150477942775743817292176360669003666078125959067152227303736232908583217998959878614200580611778056427049214747560486828509115059134787076245401951589833837033228300005361208029799169056427729921569664337228701702818238711098552998172717775760387825653418170035639206592818633879627643003276947075479614248912067920458258835099593404939058111898307489039835003902579732576120567033490435501921779666205184072548087573548301068208865255187462591663195870499289451443961013328522519858384631273740423346067683634767142242146563258195319907881920730426283500418142426995892229923383139947647152406393514902952243866596051198442256417624312108792581686082871729411111804958730080235655302121046264278048513899873719176033572688522449335703290623552860949152118581810237367590815778423660130510999518372427475107678099559647799712085738845964771604823978537667905436238113452720071280775736439795970879620068812121747224798520794428437344778008478992380310837004907098486946233064835460370909576896887553945600773539169458254679823527665532352560784514378057456476958863461047005230877710681267403456409299513409015045372983379501354224876666081900644791931857056762026791345466030935175939066710154616869896874565522929855571217550932582796816866080698861528545933509687871951095372907820421176519141104838655584587656108570527941158096944373389894076073364789098557164058387725161339187948862859847508006164429035574974141897908665991526793623636494920775270417166244982192797780822438827014702707305236699808469903034344610478188404251191877297768021736415837556213856613857002166354413562564062974736986592043873086425186075771931085951305537614168115957794186700143302801576730245008064109321207924933472933637307503631355542703540303121516960025421848835838316518139550763366703133753685303287930410486840378673599399539362430114261630257553629313810778807182728369364953473807554988203451653181714273277261369317876470651433314581915477283242424461384138582600706335098134578933017799950188430251903788514291148545908927694741126456158918914965145407800931941820432687995483867131048590948109932654652764448720287951793550371084062736326832755913382890766449597592373875162719049803833240125444196872245079200188713011257373674321763856846714357028522804467716685212533304123329257502103803502916474365149568128312316284368105658494660344690959951754140480360143025448588414057939543605283477161107556327155519440328988161611632729355033580533568829360192833576598771803888293687491644853789054272932050879407894909705926690600164374963740701552347994280995453729517732650303882600386355318329165970630400141814061937795909594847393023464945722124787130673069637457782968662010352416160453883876009807424390957026744949979367508611783607643158709107655930418849840402958994111838022521422509657671748509837673736766630788972528899349359768770982501860452892467634193845856702053252663168720142020329621557287135909616561513908562177960442232320835216096037350352307635502280379816151590832597710860060171005410762791125684392602246469410457222767940726886086070185236796285840383096123496309794902865548104239535606762025861241833956870547234891406370754364993636143886051094629534992150639664988623002191206508339222439273068576639597629074360539686592976370022190859304153935422473643240368090842737076917805346026128308061460170198585131435760191174766359494343722883362962199277036364649619072675083684356186312536947419944087233122626971308111594461006041762309153478183907335739665700224590471231174361276694124652704296840590743886836617230597573676420024179677561059204957748082263574503940657483545246387442513019691866288218279067175546562591867288245201141353588010876258470708420336569380671307168725858941610702483649672843954528339222293061903718246104787204844814848633154008668947231776727675101597680357065645284986028691052260859078905279985612192229682171831557394603522113896067837770350624090304868634049087823387537017601361986684144415082686280089262620807678929569042177318547900540123561081611206881043132187499576923981637558469124769821051649281624709506135216007607823120608282401117465083218372407546228154760268101381293964099829539141009406793590668355249716873768886236592841655110078538652602834966808573577345149911119187456467528464825601206616731124181799944093321664192452773880019503656615606934793935907725004829688343815319823008505750152279819652844982235372659079002061208045498333909143256218459535790879376445271701761705730574198834757413548060746291674091539272102400407820220497083704403059548442230701504286346379065502600585883390668982859603661955507024507966811116577702980084078044306178666182652621465652225370461559227547066075368190314607693703850459913958085808802237864981276618680995585720519753293927683917738445621751455453800972511908470264348513774279298001810661349766437236907890713045117187223653676934654249985573151232118554775813204939919490889466078756025672643862844946941645873071728108352832296532418518594264102126568090610908113189763262642080114939907421193286533553664219437421190920795200689560308704934659171863285328424387517044436803824784154795715836663020613919817463726958597111152233379518154298555736446283155651907569717714904957414501449751460987252421276456826137591451895593843952495878836332959576257087441573818069172549213960763421619418527688103092686653478751778614808610849705073228167681784392461110572264319009401074189085158234783514052224538656350716462744284595963187269186444573520084779966897458808247476947178156459732825339634188132345647363576633123101003249259455662938531534355877766640744210741857877047839338332669471180786126800816811425978435041664402712800669855686433496432018275612235846843726950264844789636500190760915299480132851030737219628327556039291029528601808244933459027234186947784095929147394501972036707927617308134384866138496768680801976355990323868638449292146571047830362925044252046228658860321117771743422568216582722403064284284098562602871770084377202089758897299388015009447446087002985989935694854475050876037889819731841585212953216559264939789856131270092947329739550685595574695502840979719151677653333026993004602061346944125350150333678726978873502480659728608387141256600870067916596253816254094019067004566140599017513642089293635131360262493829861443689557084705584754142363432821116334978663861451549814176692083602981531027074504071883014183630693907030359078759445544327919195261628487541974868049278233434881897463179377817908818233341162971763072779159421759151787504828635922798329574964507987165679223075640987813422773009209058108388811557565579147735543975247399468771838744270500925537326823882598551569097827625211449889626173671898763417763191798724067604499875156528060928834701825634983904934143338831031770216405377249759684489818437896065655046492371488694378594003525425631529781888446461519960519392586145606612485406441357816226371667436930691338401536865135611919692536104812503613438011642904153176634530213597781913666960526004094271627675372019478342131571621094307431052590527920450991612300711915526628206146606786933416846044420105846675549852057541562852734758002127390363314665294257870264764112359110594753325075688655539593405678579262860892514868861347539317238401485060562349313976329765249632145606472918698401387146408759525055660975699646982722834786042882688618243174272595917646028272042793666001861114775140832218263343961370487168482851768644713129193112056291784064783472082375542494260258886519158518611950589394851805203498142714067953235818730999495849890016193232034404698127146133594573913277974834430949234484814682096041385652531274252733513934879516416056509499324125699872074644003758261203874560373773829909524265944960101923437530121356090846395834895567536248487239907175706337719178276445768907396276605025943815532777597813309983118953476643725282574987512891805957722102926632025044237407782253279645747278510348806188827314883785076238455313789941105901931353306410302394519346051430713380894624909214279726037350432803344340395472456037936923040823858921234308627601788766861450862948303137734465583610465552560983433765527395685361219333156388042421170305759278726383783615178908401647382929815421251422638940349916174070433421269056075064300814710362681407328567817730520234144479565318641076624052777249939553516436514560670201252518710107299540441383436676600952620978956412552258880103780932589132617000424897718714991730457037142513997952682975360713446383199272270301044721842798131832515049759012982713666524396526886638346663625129963922715487535557595457338103804907553805215141541476468463911579347720831962160560972948518362741010287889014031242023028527385742481601688072240662814455478039794337858168530658635497819208005139102304348740904749938921530617078906127882368219692587726497778368352605548374266940446517032516745525748377955901191453375204931601358605096382721550029345378991956094860952540840978184849409570894219018102972400040607657961392900252486553287998018344384708409997995585203500823310379918128444981738020995207315292516259282927770059961253947526610433744845147783626875463613781364274421067055953528334310758511689740628188087990168841403126314638937635241021424798618963300663124353192522857270889133574945883079084793928725448608965840626694669809580977521095097316425668928226898431876773093688536081149778927175005655563950640406437055715516059289086058208925831523199960539824870124071085204878692458466400066674428518914087110989322068554709592533960419528071223663253216366017263462443672504363833596270653909283403738786392332499486471975130781973488981874254853446823350015432110113232372119377062699565019921922936466010943372858221903652940955560422797351251484111132174085005016154754745477690820002733231499881923991804540229519424545409821609813661616010063102944183266678112862946421504965083856365903498509737489796873977509789618674897573910667926455031343334517740631302565230918328846062947953857454676918775499048452400612683722165905462043673946705751811864167798800605735366425576805608090197224582719251723485247033609403456971897357777137998792183061044498784518960908796311040661273652646720130200667894026297365291528716566477427165481433269745678945924015882794156930095666924669348463929433250298338196935671022879642985391098999248761424899811123892458296911130986466964648008066742027237537334837064073621047626598893781123801775361582901160271300458216128618884600883918373418581711603312033103995250860697764973597478705198212083922723580758286544959756381073441218168619824623704494277873057628140911487457824806783354673330014971692578821353718795341312279856634747839971489910414451191440689546907705626258185630573843720287488969153794026432185377249667705176537305593826846159889135440912309949055473330189128462479323048999089474733691423464037316624452991691739039630875545136434882112443006869087389095628061950336570890790905446389286342956152307190681841770435257759555970865001739286046454629503173860870785051450159661599429576876763958513206251158514303329284154742148823731522122645162707016422443609180039425224928913006452958037198395414517260697471325302456270886596382307518673211216150800491821556033048087832975103723859394190162370530205759837178663499483292791671659294446396085877606601500258495066202167119523131734518994912195377380574759105266579614376126847464850895769352233776020073917472520824415724834112713472244852324848828346197099850255673459434008575107790728483117093054840939365187440453370407511656265174508104513456540445612402199976268284268551916224783265415434819443812697091354735693284600071044332380981897524772007832930580887239952073790855635798383177178857429617990219456106120724228090941505181259851577831216522542847913222077775049229887101356863160578627867532531869192297483835131683984478564079030562604433177597773782576407493664386580565391122974967216012580519992922358955196768316193453551207372179234651428963784822999149142915162158746610210247849449568917246384128810630891326881298761930432533510206200232416606636713244478753697832025476162213060151353434222754283529840915810153754474390043063529895617524372851059885513202626049925162806397300410261922512074092078407548333293167998885942850784619437111816208633263577680520261654178364469618748391107868610517911669023695410214934535835805584826814717610274032166428127851405628736036794136833949859242897270784105319250805910717527753730868018956633121694737881512648649451307961395533366248035051965187846738099354032496655610812288854653926490805493071387098738103058408763213473233309104887755431200461941035446956058197965843686432997949789857999925313727691500366852888861023074668896648052022692520250856255157630429109060555757131203728795791896632984910140340130816757523890610455623329638656234539619982394708719541444076828210519618798787879621553805608499440786464937768630902394345583243055665294284842997436735980499555238339551692222634487575278093779782320589304146790747253740702365383477309142522928205249263910434813810306990451368602565784104660319906182748165220443141847541829903813454562366703531394996216917921678914859926051131634226444789753542909611292381478889423304880031042683554690609576183137561348708011531352126890938394431847089680790142482754911262488508943971657022466107692553937039608637940794152106620376910202112521395717600023105081506905815181581739297481043831633270351256142527354694756226897931460689554566873632238366346208635675592883136290064100575593620899649456503650332629682833067659986617854678201445050961474427940383020562352462918602980516543912984029262288017723553710008776245434265090610102376967737885170195254784889380589247324349407070304386922786253337289489864739962400253104668292254869524837551986847571711941250645477309675061963926678942604559320152537096269963342362188740254208248521653028268358148628226955989230802633902064614858480883837205182139150611965961647987196998548905575963876434943826941063606926702313599058723444704916342077999272127583379295960339878952436140492452766711673657504315955491515634186360146395023076906344984657415121101176505116199986461259804667258841615852704779987841189773344747271244089606030201536378470780660054441408705860573913576110821755326097621702518596093746110899953455342716194007570958083183210362728010341329021957374930817888372427466692369263675426979761869831245543394089668502236704217414442426459321515220324663030495959565973432523024160236902880174727263372133598288525465315628656184084664617435161735059703600322550890435076379672264207358968122774689217890719054601089140982347721911809987901349669092379732626596535748501962390775652182871765426536062583495608490436894588659425919104299928166490181712336552759045781970017439390682598815968257108692330071925896668336870629726407524290890973924423640633370626581993854442629617673663679491426738114937619013762793205752950580710678788765341598009511326107991127772430388540388419514193716644285413269793171212954969787847208709434561634736153545471601004079851197300604860748234568102121264651283665181409520683742692944515255011937727195579466692534706632803150922073070890425731752599928136835848320038804177774447052302986579710875200209883303296615177466840524971625980163115537684897809597493964621125012194413976433216331623321310144013353061677167128182524823183499849655793461086368678410166198223420395965078510205264131150215998276469844172659985642131568969318237685547509664588805944908073243603264957431271909952591708311128343006508709062678397974774665682128469292823619878261132627963332988955809739087452777413972049766744678155651253698434214200125391191039463688845213286600381239058278674258795779607660506722666765805700223751069727440455710770032807458963824200401034704562778990557529115688148611955589677159053324905664808236104459533294070543184778186050241315459431342108387988980055127852815198861940488559056930105848367480775660089862359691878617318738003548943840322096995536766820098582727743502785212298888201275394563238041753674360905484242341961793914810521489898605169079857041133911967603331509268711520900754282960383093594179183016006690466441714195525404946373875731575576565310142206573902351518955166879431287732421735441850179101431922155908561759635130274499974851973824774073336787356108096984510584972755486240024148549453758564505223934007349455370580115780671985417321531194431968673718168040506479961306518693272262692949229788075448765202201947220055835089276294767796717002134492430010194013011078102861553504774937693117934375574858940093964990487282896224736317737403966759576829847131979261579290116751215108229073664926216536958283324972316728949831144733091117930237101444436721119762715012631031481955490085975026750603668242521721800442561869096591761036951021436599367143321708969507128896672223425547359091552602205938549491383700718682796713653830473824287785098456721836580665723659580032821750024429565779695070262521291694791080443473414230925289046627544367328292442646995744150016255791806212986455917004196746295805204344465565572609601136825454783050235252702491328051588743132628799430824309685882261895194327604563565999288851409574957122726308674817393543506739977523404483239907170699298806941545248301507253590645378031034279176586251899091354432162876216793668635149909412216598968465746315904955055614278007811168495090329513485392127218898084743354231714424774759901651165043506233122801627091909320297272235484222083609140562062020075761510364411712202821440189914092740837924038070345624587168378974082170004397465090894364317857439090393514023668885506642184970341991263657956610696053636201561056935863091748752215823736486479193104740695616544411052791078812182793357795615290576016237037767585555654851907870002851095296338485223991098535705181740331916355445639454175790612553261890855904815657892769224990432590699889737211331928759069450091982277467953015118934453424302780765197217627426959248577283856181875829916345200656757616748672872669946594813711710613457500893155826317831512229736758078978444343635314657715584085982429939513279642041646590454605208726376657248467145066898322501327249481420735823875016212521997949011416602327454639141001051639802337458603813744199926946014536190592123173990096053116279677439285899206340540393439768070849378613841049314879924985690512450687065198146966111853893190555727771456539232054919746389859959097233925620142180103650148940996204877381376332580533676255499189739897772707875231502849256669565088262462689611668127244916400524267458953272182911680132463892106457000206323005793186524147633691781549191896758185548291654135036725000822546063342777428739186269361789120257246153279184624169573395557878224376349902140261782061006387812532545158574720116415741144319889984463535008385415360848512423550291182586642125812837126901269055731361784301630041272667467368256255731594596225648437948784728074713736891908150273806284073866842109680067942257749528434045231654990421936096906299547585433703744927780046337705932156900319984763347265043928382366628639390287411247936357402499745553885379515460947862032961388329007061409564869284364333054790706506922818289577314929815398719175882610829802695943102104697419033530618766268416306910648477814971570710502402929330370739217708367591648283686109810564106185818698943565396055487898469108170822344719706140193247946466747717179659695406036893879216503798853590030172972787821910726359242115492009580817869856418903984072062828226657128988244047555497324493176617518136997781402531431812151419369400709419661223609222870728514739336485349099240682230140513964367858768398047564411647971473150752118362551895219709804430162838421378960992293326768091650759625872741108321368286188808121247265150544665537827029781482273396070963049684097152515073843073346501052476535028976406306316475607412847392832629339297357081376722780817569944914295353528383327305554232172806225386255450454760340710847008732368226158631408317044880706677838405000692940637466684919811821776514131687058070426606873633685774860720653431339568030243679325186939216422100370079862374913984326753061042826505311342410802478923426264230038686403700932570277484148977139654040968299932751632427584538249785635153361382033817630456693156032064689837064571383989244841061267904828108898934302599077394795542759595141480972101135153269641334181589580752552352773127548411801852916145355853830592967718988244384602156854410957166847823511452807568684547332113086520111808920714938938888149952737130333146562803170382591063311436822642153324482606320687955200627004311011077232782943782524466418873209164440682495970014208810767113413856591851467777294563108616290069746303467425151915734480572178063665683623803585525517360853829008019061420339446731540488774078700418435430299810952228229798862251055478644224072248979052672579795535066498244140541585813754656936713720572977326779672184218220573442794384644964597178883979281330776563569500608653256164240949694725825257751283504595777003844359817490735920247769074729145619627104326596522424763314512692812085158184909231905522126731978708401013634504654452280104437512758597828006407632981393386089992939293941250543528883312860820541437446843850682955860350444752924480759999541375728538804338645381081788992021869272617190424892349721560575376071121341127544135308501344246223308249320395440653261114971865877785212545731026651386624551156019968154101749404116978769581044773580011840829687222797242371490673649093232950848991117551000135025791046854210224683169333344260806116280113142201325860059250398366711603176675661325150779818769509126278886558248507707671067458474029779703974533825752039672208894499876600512630705832998592130939759263891364799978616224854813742475372279204034235136853451809248656961238688751231374840752396883700687295245572221800595811525699193635874932185883762579176357528966440577694175126908447475768958547685774021245122899775340200414000309240558491890201387677204773607824720708255881666099512525761516970168664147669632542469246178068000963960019950652085140520592441889414970064399697522098020672480708161818966215596692781077591620781110577004126626250599321532307100599078968337957794948760500499245141531762265105524883132901909380138541872491727929839049819857845900800879214303577107275346849667301387122433681300402325022175800710186508565175299789061265009857688900824274995647484845641946478952570256681492758878497015950418855364283332311735128995300237409959611093730739692539632870491533623518482880092296052808205692423876957258586894300506956242008902475386787996096368829631388837777684009131980846558601688228386817501522946454160254477600476316336609717954361919481237333630548294961231973728447527177123336991196599548614345088223087252317980334551853593772809085663203757228606279940289436276173250199826895999714695616535816266943016750962239503911034929379946914275983166420589202475849095057372122408092788416172054496559043614913233417670724921944031014809606985756906475565859142733303816899341809494659028021484032297236334960908533735847486338037669426238716051423526350373502611759785444612634623563209255041045069175197529539552664065683542126215052479680069881262529265358560557047830595022344919790372022115980068394410999874151883375963286189152227591204311241501858203254026347123285719904806144783112857228876280205907368694778593598702865220434629227069710099243293751404499542465123072207044716745334967708924567610321632308312981602315735988181490516018269185862313650584079522674418984827268717731527789952132076846907831691681268600722934027924244461770804032074388120165747418125208655971825038808706208016748507421690564541589725708124212344649750439295062801712234192608261519418873594262172871555522188700185585336487619554387002379096090551281067187711196555569544827355255866093126073034109160492471352265443469653543334761151521960506606806525630567031813853132286785164737546643908860600787257621922687666917754201828080628204877322226570081097871202221055844271032662766897699751531490561276627740959170771394149300035219868128497319274628735079079184876233265634362682104340979802855057120535942973741162828303967762616388235006139084138380087489247373875382187906617781029675917066712525152717194116987363506609365328877021748436511364418330154791561251977987835340319884587463753624593343749066487325187582944790740152254753252669917163722252030520292250496180132626897449607438638296329250210744103487523992403667758034286666802643416950135613467685702346196652903319592477464114728399790549857325288759242435588061598944314112370274335540850468088523498087360898324330532245184809138641992280505695032808418749171537688135251692543815944335542534938390248138385474450637739382320335380995948204948533189128892501672852505827671964169734159778294030523035593746613358355572490952436947693540988059852385076496641516604102187227792765220730739413586449686116056302613944155445659702427019628704456799312483030076013702608438360669721278058621089212947973760692378108937045509772479950706750222453461641268667550377425505867155919815351714038308573730809305081795535371977725013462410649774889716340554509267125751706663536491897555930302562860418429358469499295736043316011813416295085846092677959170158487954649092582231207477414062290925696836830272138566300424323522062620476573857255054048073349106405845308759158755470194585481598067538259545009591071288166172683224751923293257030939700338776407512697767554780120028927736326588912111494874823387054250168223913079138186157183030854711702837331628932366171177378098832126546199622306932235283985018051472205715409122340061080663120444288801435852603032655618681446680069934655525509022673388788388257053946330644144625255111777674836183379245143646609884208272805777848814742134619221820863116227317120727674359645136644993783898262094252202233062056592312095404748599156418158890105723689819782926310769413307578999393062111329633820128312097384730990251348550475744135307528570696325953825722049149134582419961009621572660692927270429416807686065836274525901754337792471840634391735757389295759977916807184713899189856952021089294146245681119095871677960044320502978403151396559562113362983748367982004909360067702957579342995743973880299288461280805082082499858782210481102471328091037273082492853561158645678420433499432775800282581189558867557927929096302712921495279998622303245257636154676744813288092944708250609590520618119007378857050987890074657652086276767316850366576607782339923370143463735116104189288215729686323756229786945058227001383781177098144797102069260564175811311371183036926748538854659148770620667480457365711258573278626484193539984096203839319573106378127842561768447633477456458214360163495193830296625417451405171638301329098603167799062755611286403195618618659550419579650649288287323578645711594286075076597644710393424281125672808124425551348207719582413853546153395836151934387376736850298684625885000488013835144189675062899028039563392116695080302496768199479638902510749778577120798221026570206284786624379736093378321898985287952317840930168348670162144198262766532490323266604914582417117554737576628095714109945809378465779754726637195509292861805972166139238365683024748938925835884921988990419757806584004286001439722433707284587635439169927522886871175537258614105224073916152767375150300960637936794006008934823601365847996616756944773044927244866144220200709954542293787593743734730133588468506173309301281001641395162849002727831893466844767061580583807137854742035049541085947971796202916264897695947904512237692117870409901042469409345012422708125861306076096773361463732676232949356107260260269223299854805004253021608916614265205201645632625537394330242200854533703891912504798652537231134602442556125996696974168606154778632224927115147857363310248500976462373379167239609159813077190851951856731545199554172373644960051991910001265416540828576923258710252501163993162356658086717245135571196532022985274376196084503733675706073177738397105717566289306286500743174178556822663029892195265140592699176967657356238340132468128115981316996912438799382721536463030333318031049859967815557900871538966765108564785741153276531102669382604382414079719429123889491139877611364406813817086648515517606453393944123155270307165447986254423759067584231179785683523162963681721074108288574077275259906318384561282642891137866011344685576951679104391237347642022000300244170521312840354919039976311683248798007816725421603500067077266269339005991417964015294006408997927510022139369895155898158309865962337959126663082757981636408210521873716317895991688971430901614010847796377179601493676919070426713763373873070676575908544014550406032282233973887633269229459561253716861539038660015174410693253100000