993454283114176047826048132038774599871093690186674803713681028562153330829546457158012419117436771254483550486216465003477634304393499356111996481522279979622271497912115298548789737736714356496263412924848414661328949342665496702423243292535079025425754574942544254704211722966834502502495451654020626765281119058923138602382869475856545133702240198192663284643138923641635893928576584187526129962407336397952092897747363508327085493433806088402719053765901278693204435576918204329804972586696900499628731600474981583107155279856146323275092671128484349637085977395550421656777615118112666679354828287931964950676721146981027902676919841336227945077926537068672484324358771959329418712818775644388318120537593967305570855384597290697300316217072071848661156987611213190484776344713487232863427310361216046500041121757993156199455331101676323966414231213785197964429210888946787972532017809517670070047563701266718299217391735625630682227040854459999459995994998257584739826237456507671814385556230069098303921260545838677135923895338308856044176391673222533682583501169959817734212560006390865563593652644243514476766111373506437536140837922883743009846112958677267834720383183490757669983742448677069176594685824643827572322371878307443206281882634135762852586968577254619146744338447886859187146404942059359355739776329834201230733420753350918593893421606453335408065668340018967968096539626603212577954730771009291118871538638200875836002135972559897899870155196464478387731871623834495398822611850967417700075656772694046502830114713274923791687318663604458734811804081302669882021954369822843868531996628237201957745156072301229738663811826363722842184555583143672397282219159564111558934238024026704440927138849828207178171141538154119096399841419119659942364728907873205571854822427811262755335698524546873097649124743954522870930431029283831081172822217437519119627239237748773915130491253869161437097514632531775974445946725756952694422449032689499392775452273048903421199650041029560456811173318205161754573212032533612929922566947947923779412899470428025815810187372910080193405133162747827817794369430459280014404244578277453974818439054905176724783461826346624886547493480619157928459444893647053945788887401374314892337956965519683517272990821653179910653227812448919866448452703961003508064191410171950260959670684621146917783043320139563289838272839098446778932171869182418742692758588064179548354350592458233685640966723448142711501661377648277726703759014956858752528859741045445334528288292521222275565969218525316431779571779655685675036627642566762115071842419893947327545659073212219115876386361013528439372863250029731449868876576456912036815317907222644398902573195689625445776242718792533672457889555330616590552954738290485730648593266497785136772216663519778640933748206420675149448324870625723552015603811786640036129212445380576464814818976652216776488380542125408590642503657959013708350476532036665650984940283362827329537092789372918222721663336722753899393428394693339099822642979016236851455219977788579674230542465771528338976483240715737939651817863929957475432056741631556129549548537582075273622181703679059295148495764311447681773681749760975472661617173963872864844172578695285155967992917103951259729702823315862229299912447238184702221524957796914722337436324118910539048704551875247861038114834125861631681237804009388898462248876513114787816998332717965449981534866837606673246146860040259314718294669063722992443040411958485417905222548929410715245004200217221426165667837368101454507656752675799364656841182888735927724899353458758711958796242333656665265954485234462954613119219127495440634240495165630434574611851670168002688962049693977955518994335031771008261777738759687969196279135795719662292705773077143634547214009445881763702474268049496552380666154309696815524364649568615979090624227366229151047839352913617366624886653648445105383906712835894155714238868719619321355666473922080286396981939384947489770357325212195358445708084606655878155595971024159775563612722322531548761907054881797289662608442482921651730740524048132931049937290167974009529569339948379395893313128696535075290712931289069530247133108747749773132161603121332792771620852418649149241045089713117817252601121655695530582623763128925366263462247204338051319009268262235408460823727879523845617364579311264362142665705303716371996928290879282702937012403028101687466917157355651514757817312892156866005841826031361921106541325046076123528469280567686972132402147761232112112667625492858398242712459940139284205476511265552881337247932870431015075531958867858333715619611328959539029486846192150542149785049645195738019248893531213264545671765624563394682309319586412956063587835523160667367567645819586867154241462420311739940199645812146705463112937825067862370644541553222407650270294448990778427142527545485954259858938368308364857812765187162172196976564601962487687119595396343684464289004586921359098038957622444909976289830609870256031088784804333027576517850932021051562293606021431513096809516951681833472814763831694214529011004302995767509394321589332582836564829183694432118652284654220305248138784112629459286384954266685357868897827937759486955868630536131121208488251335458917594341598285867755717455463278923400556910101431800472526234813220044781288257365499686673842089564239705742966877482371302463281078759370614818805801019515711516952766523026125185679254874630793888106024640596834443111850730659907262467145610101126216315668533216049312676438311480960919549366186474906171295515696569137035334647942428441433087827899398361264207570324664305681828747339214916433520068999977275443862652927624198383647137827292047668448960973101219542641775922395460600376105994785636749958353489163869577902298778811031540848771612177253859915787140326203363396414407069434137189290