3.872983346207416885179265399782399610832921705291590826587573766113483091936979033519287376858673517916302206860949647013189540439163649615679891746121203511068754791013493581283919531228889292565846417028062509193173412659864818455464628551315940262617672640508646300450577810631972880939781925188300355301530010748354438098719014432460775585023104811717090606284157397581582901013330327444730558066702637179124380047712591247942472763816600135536527229535679457030784654661053577240260167033763749062042960787187206146764349685215198853426648827511094432134918227578894674852094072192113358322321218050007753243129843383238873633019867363125085815035028504941106424124130061786310875454275958235010501976880877132399945421214298433563187193571267457433965110883897630151412267848958308757433980232996028831622106159461291586028246464771506472696108787262875095315688362099090871708500549333757114169765329150875277299737911463436952970866868642440087090506787585764372129854374732963458933221482906272415572275008635504910520484662141392789880751824741179273616622362798041259457737264482812112297507884660824484628136975747151390381665272716148991754708623377173328070064731554045916456768927388200010360197361614534623377077772993069949324247269995826731095088333015130083267684554946383659215874433905674855747854501963030963275986812403629999258350559198467512132316463589265145896491041103021796291506792521662507870890150535589165189466098687937372652292353419191964877459996675265851737910064330584672762081035203941445465448489742721471618419011360556815650909711057544347159716101667970891115734613498598107959054872928175147417598419052951844754739574537099377880907298219768484717343325835331265075066070140010112271286222490242603419631406135946293704951599029374793764860821814660730184418880097817103328957566571134156948185781092244919261374731596254714190207629970000691582861773004213718219860074993312651714410215117637920896014155147072085111259729576268286420700707755700437664993563462342085660330269162852805050001699681532403101844258238997943761894934884218632584453844364316218820085982006297323804676265181552390133937916227756018578559939645877226674375570960070446310711872762748951055911271675230914006847098552019728588001950519748521526490250012603782289644860832013187406220962729059310094796897094573714549633106264055827716375953406325377926727902680531441537584149402633917802189476530246754311560612957640161396364393791323374288261903050293953868953751873033559605181479082333224712362296366078275401031413696242040458325091604589406686541836013934043448699110912698451075008152547281377820239944866878596314756007179940203381529238334357436310035010805404186139242308637861460033284302571147929969225319127738394654425557462375357031983650343549969885039282933007689191572329582861123513973233036626056663731583016452066942109058319068751940126042552964715253657666822635801167467372151133619189458512887237378079874853632885767812833898485498329696042608413018014097866350733667077228772951280751425265154432806997651835401475717306477557554458580857838503583917716249116148775654985046941353859386661700473760486910340578047863862234579642337120227031066867801652894890505309092090877469891314987170628023486578848822076347085330577324004879981478515063147899620492488518007449071256457840424477057294383064047938714717202619536075202439609281658539170052805581857804038264197682587067560241470470725241742802350544515623689817649336129105075370073010971156005676320057628295309847012120149940116905145984876035147379302790335476259711184741012510799256924490847907223671200462269136702940793142077046559499127917412814279853284364321884191832167129216627736897549399752670281891692378459349120627797197136956725586881431098742709400915689954152867822225413762275811777762498925798303602017071239871303555898248005015916864612313433370891144589662865754058348535267051536088541024524131662520027900003142418278630188957047239012736532377256165014972102389736162806811810236755089580333270865744811892439364796605755880609373091809831558528056834231382990057015708603441729220092775207959799721542652802651041939358089796632810325086957109634924350901770635143795011092580569594399145189327245055879572428958319491552499669871071936278599154097557902102718476448101918078799240837837700194151861727043114364854201029000892143553880596381609793319020594135303960672694359608633964413707816532339059694776514001152704060422004137601724076961413688174224757854438006048455382041926364578439515905898035581706199360376098838505914497954223833851948150320499150679879249586147901145785454459751063971819951125582959680691320965594879465461826969658931937425944201034511977545967325995225836396835134600664115782511516380773869646969836464886024579556021652471265517188649225888426389485834128051647548908126092404176839201650907719170599811970501390128552362823515558489371015320896620126096276270284911854127716019542285055583594289312669845588747007167931308935643586734710329123539984633523897916931833298271275664750522942472983019254138654650514313460787657688417177719198860970960120651184955238277207587139130668904207730273027890911630546108890162420272162358671408376243206632308269936005170745586374245492635227053198339026645370867192064531098949603453425873855152962372670468322069231658693057500857771817926721382318909192912325154310250748665943086040772389855510684913199892469486732832511853478118505428379163388633380203487722746098759202816966913963562310692952085945369930109783477444004055212118640003509259866807960097564171367484337152617720621062123011240557068658495317848617349697026221677888084463729487509948227953256515918960497015983416872209574555910638622399699738774094652972965833757088608919324446406890874763684905097097022621909269938814761838665454627400862866485842294777973755746162809296880608580552084925763805745246783902285737802259532813474304887733233626505336483221973912265132147045556311973141930084590153030907080727697747035559591559501482137678844533757562680555671925424854983532867893829008763368251026921326197061607318512780012727763906398018192282828143809819592584838502687779466935427190814579315118273039886500376373848696003745178787080879028222366174878561044420948634825380442843902093237936769446401047611379714135359922530074102324252157321532774524925909776262012356358795542139554345058242096860597261140704201181396229428481759435746829614273048069444477382005835083328027994433638086245713206559227174195882002229704086670588880140959478138900678254954837307970274627308719151905433623152446080252966958307691754285628009750079743197661263873139759534648526994846828292863184827531634892105298719255990702851579041351591679938295814857445333432252397048276065832963248824555708340614823076841927172000453713319710816799263987318544016118359756426384571148572763074781392037465049030994269998824144718291291214897515906474922041475500117535408863100141352352531295555075949227176411764602623357638279540769041963628297755797494432959502544676302036318919095317452480382418240687706207389494473122986724625769648086371936920692261213144729740224964681399140557030098189233895374321600410781790750062077214135021210792177705632507053850288537594715321115064686541729744256263375558398081458881881842401285674965643082962820304731539578574133939546503172582312811945821056026171578265198612349682843020116643816648199000295544539338516625997292884089915385966421197826605605054758982968619592629867938744032740728235188874190315307383390775511583130059368945585067772994242097153521193416363123606899488673145481266859065267591396888302294344599321888410025027816430091168730150628951845349248306089388227719422275110303449308226138926345064515070057567338008470804779967604839743803944068397950735707444942332943472294874082188008473611690731912732791826094713658352654865504339728613718208425063235669866852614344689141195266021974183168139376443548966314575319281610882345558507148480772046414463920184365068886634284777005865913410322251461744039347796177875690801413744316377832771328867242629380459614093040722788242922051828790908331764763127954192727363522726946168231431653174257483063364427760839930883486562031561290100118248275860859518638894865169386560994480708845690930223945292591458357791285158155735792824510652492894144481610617321426248905947306675335399324759129915610312758891152098458864001446627715290138681061699063795597735093058178525767633048828190836967554798633958528232199044474001555437996073340668087356428547959097906385361577781905608952730168716332323049618891009362122496760422646567709486715040049091025755918806480740395428497913039420582524796887528335589333806204677274555371834052994322393103301616580651993732029351455169030590789719366446989612036387540526114157790239739021425678010744363637121101208825148679604651009325568266178538507367856358424324008245544860842415073305641994971514646059103104816795543496605288791520766223543875162343470920774622609789667513322878002790194803936402793012360346071851893047920525864849087421844556828417222319080955540226425564492248382176161418584849359798450746354503446450662311348582108357844128574224887904030031884829180450260253431341645505630633135196505346202636867341512347300424001808047251140903104547052321165454266983773901843626393974440663672760990730469503911626255250732544051452722488507515742769217684538646894772822096914840047741638706832617913104431849079042255946969229714699883817595254249324094748731120338775051756854082383689262688977282054326584986232845235570869858177985835795160552312525543421036416403769886396442549253329768549826044325970627098434408481365289927773027330003756587327760528339937774357924838344011354500782773387357449193963097297117550734891857609075302211766246724801995445017687774085000234343360202450922777294806885664210239610253685519085757129222681240737424571331026596584124250698074671591893735655662722866904088712873256003931415879329649927262714783689716856086382788076445766620127760598500596604956084538987374620159523027014592323159791603504683263582949106937144973255154571399097142212175035032159183989891933317787853348173745263700265945865247569065896027979654268284351395584345330624583278097028406603660938486753739714229539480108570818199022246306376676982100987367985220767632140303298321176940043697268328217314877326732485390667216529989169170614186535981564206769459240878642789149838845520560885875707252417178474659129255461924100145030251586888216139942811518798380306797745796562465533559132233075177402678540909066038358899329121344167549828034422815036679178900277888617815563468139900613434808079507452006301306160403790520016762631200695366510207027375954378942706916119478007063240123205088175102253142920360884048158718326483023895167610806003962221679681075140573013066165934570281879751856298154276441467026826848663170964170556265483773496521760078767958809218433262869407277157102365330444128043427735359048984768602939323396795235551105955364515747771568923068131675263565802014644143846805911736480444633625353819958984151919560409790235303714329072935518159533396999852630045331606186697241756133797683227031412024499358786527311683244751192868386199010812724978513781415134990585836067024367488506029549701409812205706179658228859883003816944070973030488733204199436864955094913707639505898731117786957753834182022098439794928132548461768279561923035385116136318752123362859738733265853096889104479710104145874509105704774316194870658818630069363248974228840131470712165660131833988606540899200768744503520820413308519093429556501664270914124295124588886490114101433156251255057040547573245219832626431383295588103407216195767437894839166599865907925854967136752361268245581340362756626695464843505885020763168321470382900906289418219879066070358953555387917985171567603594807354015077082346820526033084461532971869264621041317435406913077575292598757105298366679405647253038922270457234139841023019094010113477812743401253447746130023726468903112983785611640331473710134651563312307404748487456184656279074375842539314151620694132042205034587981608944082386716593659945900500529287047670407445879063100540073481862613977460963828152388374738914231911630341737173142777494208969581936474275006519356987192282010305446546183785359206302024461711421200120316986896451304870278094491838551131088064632570184928401009020416618428225702033961993955300034588800435241917161827669302027223047403396896538092281969694230654225223776153623341505646394076411158515370501394380578669932323177311488853989980514489664522787917730662251481707122372257094507738029852603118811136266970220019961725638110395493863919320991102438049157515727092455780518371497543763530612856072530112700036913430338387486455668281681632098231848116027134101114488567895379956227677322313773507970095364695700677178908709286340042631942827912282212821851254452950128996413989963130994945052051901830705192978739257571398171802302129860492793563078845691957777870683773715368086223237112895720442127853703930968573816711002900804639759657859329787329919300019029948320744495603281987186959848047463013585839855005778150840822147734007312154125674889084173953559251021570055637965069966087105573840086247147362718311540225680009517970889520419035757396229163915659743907269879888663459786704396142454610077242262496049024625434073909287866423014462106997363523539380780980071066437608151108630865667346829868873897764536875128185734950308332445490648135608335618728723364025382241498433449628030899883620743237616698449066189698067154212414023791877968849443351864747942200035486479970129044184819751941720778674226683323472905300914621099494688075779444668496547319092976658590980803759590623534460374104926528200657935121755149845890477790442050744753360956746696403827123597484826812135518259446372677325203965144434144764520965406742473984196514653932585225180565740633307390852738548395972937176797373505900793613913779923853140394515977050731678044997450644358658497959507095489749467893451812541559882969518287078055395297961691009022084078920305377237639680832520664463575298685198424128732520459626546317456844091163915242234346029562868144952706416815719229501832778764917962547134908035965568882011487684807561720521151893115591761670918955191948411235167252218455267410402675594544925875364521453224437132283132255536128049957826740245925446374435278594307566762745199359567350428480117387953632417486251514271428990422839480955741965265124654951986967730358065415933635985738555435201944113639618032747597384073430898498230319093058685223012423627752402481359556711500233121753053707083298088592948084030670881031945426855728119631686326081028277410694833935030387148262978272427810324570998990610096746234079153868053344386426559109017357453911563636262847270909400399790163223442334602479234181935363046642197894386478513151261543037440062877526342408888787437317361381541346061946209968219126039752568756408583574827456118453613402744526014077358170452379282197845902566338170231727266471561756638222165181405847483359465263340770297974575835022333379354944997710109825469627719187352888801644639946051361811687259056897393346023613539801626776897336780672070254425444036972409536080754965303147069074067702948415937568069896590279541174589993756023279454915004005222240353523700581115352156357503234541833842800752595427098461625206336247071060770523543504652888313452033128527013996501576219242553652251146822978118929578126328977380642759694526217938066717857778343971316799788277646297943395694207885821125296819368845461662030178128426798940806981162916495268313328038840748858199945831703998430963000869780249351723739431881254924601323411064826786600589368336550682637751661382905539999414162669531216730835270051377104356759964467424573596757117635875957389275214952465518486801497131044586474710593236666797874168571435575389197741213644537480462970453955474594920334687620804781838504569380512097892254231488774037598079277366909538146832113456457847008626068234802132614188116165043712010268368586324003829679753879844767328344302656694125871795482713978709853823516717665662586095021390935769530583956541734076137266187886326319367652479199726184604425599998840396554718159402891571177007901924828665334682713672920654460576321578322406479332492611152207141421816144457403004498150120193132983685672073479696779273135242210135143896149452977188739690012866727511018713934929654694118406526305283912137406307632815698598932984998987087146765605302160971007437726531821960553374760981761069950550909997198280017540680487552542795300958591526695181390350780823732858806475613016696833176556180248623726672252286911932114273615602241694216755990686223405271553007647219778475890281176638901626935518875229706085855164109227257153874716944188568816569999714797450396473177655008573089132233440251346244484575132264305598154092398385662308387463346026791870644182185942873820575286561837370090040611359599094116956511192023770225295589330328475907410472457043382636957910308109679593294866164166389313891382480196386713376999963229610047147403372141547940956072920164388393156237172270792352517149869804710818837429201063313619715945009312965174648575003413574156922960945988174694163554424451818243678525523411377780960147942625878320331863502754990786259609145836570151219500837501488001728099968778460971603806055850238859178369902222249186527455363028579823570967162300715945720208257322477421290612465472429516435585224723965287897728434947924242167825411196257043514256329020037741067835757427220455569243849410437916305612653692456109142511344621372210016724516383521044600205281779606912867563037842845999587127781480464605486588189182626795500100530719295943778838992949865926122134222734430032971454111179116677035906511951564679406382882319713686923951740814885941453985281334040653115278696619847765123526777640508953123798319560541629252844789866017509658576090233160379556383410538087753964588631261025301869774261129373206440194243294599140146736142223914219520914365874460337045308699009544604877024231752390932540219964239204802565452884934378231282835072992647806817640381371967345003951709099358818337538724872999071891942722215954833957602403277902625640702441861253371321827752915266938468643989612422394704877002961038488419179115083049419313348285816673038816120494116483506736893800554876824224513246110332780339629705379117382414330677665081073922699556732426044861621283377464417947926629719086618927529175298049129209166489779785320226843209506233646801824789180012182669694536677235383844029667136368354674937753506750075902193337213591226011106449998969508067425577514017378026988578866210988034969578771505574451627204725829959323122896139100680438106187248384605584326820344084938530096590416985948086961639877320998269810143724788386982328667302892577949095478933355270980917251618400478123115493796137201372694285760282695214697774297769955752363989805567089993812062846672471802336721579427376310319975675987516110908957204782598158193000158283417333518153403573154315812994164583975101507240107460718107223846697798822276154735945204038002033419497654412892690056875489890678120009155641784503072071387105826085773336465517421325043385027949409644612800785415335685733464734503897823129677995042389970301845935020480870822821073149757390749942482393799444988319537796102539872542971754389127122322170960088489572740459319112477525437836603917659978436314051028886126020794382402377473087172492429212015104711055207217348133018588183329098624818860127469913362387782384349753848581857989119078464908856647461838893934834135410982122682260950977788260760144638239583256576601235478804712886748871530328840847717135026196917454804492754795860944350617346633576277602452233663828885531853253527423557643329288930483222879281035536203779260470703463423457483453079380970548934197516487695682799383904281374503492816172197284363611016493645548674512300861921111292023925519819204554744922298543187249279115434528811956874027522715703003182521803368949746681796371470188920164158530814286703844494325127366004350999217332748793601106317769731099846558415133336328926601614278019889019097106603418060057094727210909526315383686099821957818581574839168266608668371726782989040817413189759193418791771885922498028784994356517522791724377230341865401496206062241564063112294934388330797033792239568758536545735650102899060181076787402823890975539143926747708179451980383316257021646453992882237549726187677736653446403488969014019243025250476056547520277240247527637587551349361709813906787441480236745802294752439862047881306451702982691589852920009101554324983680392251144527782472278579674995356376778902866457870173458564545981750516105219086417190503883786658703028585740504821984428248352622561523968635415799543709625245403965031123867594744190338439994243985543875074418032669795564461013965878958564306679402554514966972515182639325311080441617157520914329461267396084767169425623912887411745134455259139262013048532730456365092977556886072761897015951516729024803854027735029929948122103862060456255442565668809919003462463408333765825119713036504407022228051122145612677916758683430521335519476325840863097175960268902661550833626808147587800333304834642944272124476468813480236286252352090886841759956412888522391105049937170552781038531652094108989724728935172416963830016513364499227383121018659304114247758374560912373132777593468827714469345972334624924364535327543370272105162259479181134391189369549231308681225285387442720669735871439286533469172762646191360032804608050351522523495345395202679769512579364583635461234433544088103258251070527065391385440808465729025975849752376923707567311516205720373603202098313429786486003920358269685249652604797940587461100207263200474885910723186295531020638052020323652571275588401296252724460134575285393320067531021133136385531230065011081285890440064000909280076720202829313291594461629015349264864659175795108893460707802686397263943830880246343738035196313582560897389366626835691401527093906082334262869395679218890347488990298369764648625244466908604992914154397710111210160913910514483920100224054029781293858322014918969738352694452390939253279727296527796605630376912850176056854300235067660397541771815910368056934482121267436815935114224661810224626998532223002295514460509139483903782936528765935229757703218676762860979678121189608348963218291220907737180330337779653819436539704665207414762527605066919025176730320413498765090920054741299188592981887104966299544254201040016980921980919341064397493077238476474420654867256933771097431611297397608098002827784329406787266471838732687744600250090892209778550423722928405928453121566930210101221306965364874897295512819810633263861396546184525777527444508354962454166218550429520275313932878381845521999080391693299407464853048134340860081011948031887932132417977279954163047994204544068429664238781876030786318502312255524603210449528433318405832905059344769638788753516963537808716745435760808249883113518973895438668292910983088162480402914907898453005977240634047937443699133429840695238768336980307917753183892517440973211721775742439325605296987390346988124860726908263170667353562976776993785695960441417880581169596126778223520969117272257885003716364434115114408788862880414985156448778685846029862315547092982637775186985131592816060794124072982074592733273721584837577235243558997261287889663649043561434680315014373800514819258982488381069346046113593849765621851394896216910396207975547249748004296422243578664224295066700633305760917393896930701373662284743172795675363418995885138270651660750173929321313268538537239416513000150905248813088591620272759547074013027945748621795938924876015780981878842451702243506443811073944728501450790091060771821189023464727195275456908605362316134200616764760782121471944553904160863797154295146336768779466378747718131135268282094605536861694674777378967324089431420282674231031516704771810293301741111884166188396039444363122535783512518529154913291716179071999261887574499376090601671639092351765273203331460278333938741682613189850126973151624672219925463090157838962065780523752338898394228152140595567846175830116577692762478560869934614279262615319090150393456738787640659263054103834801190110863940820055056076718923103740481868041065619077677793563189353827428617755789020010890215525760135220693208557721969652273712826254028183017575464207283835117827362180662637692708714533935654484305293956211779206293338318170881666067104766250132923656967845507695362275027458772149486812465093574355821128761137897896118364853558909960112232068110331801823521862704748013202229362873223071554043314096296756010711124054443679877322835204127439938127789071143601715113797859512233529092538920447590995429887487115683043213269112819173570424096959624166026676526480008997593061549539137742917888769151147076215733567591045023182058258294663708380775116901413546826469492862440657984008036451461321703548823201871722259125179708475994451246615014235412098794464987702624175603374547365062563701290295196310986356760525413386658882916058149223780607753010318957318506766940769604766752528292036376296638747096644242772309683702004139057163704102059927370954016681732669770773208466934024737965469652463807316276112867208009315350898067612620417062410515819411862625665193506611650059962321412519651552072019149454680552487685391797360351108031493805951798809689376964427562791416889023165545126636969758880629641086876689779590076614585062359499391710098805296598794729434822165492175006693158131149664879150977576627977494472509438555421305592355750591469451795806234866684281055408960364308241694868203689699711136222966765662219149762138933009793493522237850129612062391663557113483982107163410874842951745437155094203349355714799225176591442206755390198305115601549868443508972018808896712310264134357973437776315228794282508061676836673010944711992948621977815114946238595946687758054150929046563774466639578822631405542124254293997776527686498253870931699168175256443992985146367129770015796910346891981037672246197902387123000350680963738287893246597986631860355414041422041686277356853442180302386498635276354703157086114752129069413116160114492506913195192049381546688879111302602960282185461672467815068344607533309234663233183490129613413585192975701617397454902956132537324432125774276289546257390381097354437922610176316864962871793643698475886625547312878815671153088373500259864634421857291682142373814891487870138312214844825501141415077124268414945094892904871968199912949438269457638371658048766775309944821020105838522252696914542464924716550484451282296120993570962977095770258986506681466853936843162404678690289346647066392370847699586451897909108368305896008515466737922929980003566217817786431244106049740250900475511802799046477314462394563679250593220456652966429718774450324340336510276307854224014377849390918978092916042085955558714473559998974031960497625232599022541111396096063717322153394211683083753025477189031387812708600200925687828511793158647581786192402104431225705215682197093827438221350457807364321844909364064180139286562010373227561784579729572900036080985067160939750706936493574025947672171684886593487923527892813114296897968603660459276190469223564479995125818462917643457241428848805761559029223946004399450255496388072803296624832559269772317085528745145676597130818222781660157913948305028678550114968846409057760327397171665795688168187251832712974649508374089985019185156894052087074370274895210543434488202387234949879110250685718808876919239379985008858386164735009962676559753465119325313646253605120237350753497137836040041083466560047119694475883038501460327531165863599630390330926344412629890520759031001710929512424879353122019541240793025454097095238128628334564231797214207798146350922667705667915611441847206467443154709950115137784075335391230042787908942780831236757510951112600816869973279908630881612133099269516123878450412047808584383313693724643110182862989914711302053833383657874029283023249625806113452991051514575137922557213532000815306639087037458500860547117603672807066859610260399832362974568908787800806196411549277312506533981599309843954356734699554442730141138150571196786075228383233654776370408196911557811947911383932612281235052028632691617003506203608328834068766101702734434116227778536234660769321466020720211216830791336191905628990807586677523386201897298913862956741014742711137068150969733168460990143896485238636818593841602653830725596712535082231738697017939470944470255620905006516125063908464087600365264362794960578165774656144619934486923486846694234357607327372659281994506899599519264793839244880877178968395298845037962042396198935852019194760202629579581870826685804444452978862199824465431760139355315650007810275902432735936510916138989720069116493094523362658255392487769721999381040967120912238716796684283316317835315641518839636166981988737727767566305047724647345438472244051943691009515718364212656904386693268840815691085115980779258196016476563208512992073506190391539070947458875102098101981269858155657831148699946627127266482793275415809048458678465876836253929461375774071081582849092746806070945573164822751100218382923540379091851130866256778197465584176847892639421271354224712483810330864884256635100634107297995275881719102505103062113059028303879800879929152123884364664678289801048141689845816836386313408920959682399576579735882329059364278089540481424183643874152684368517781642418623470313501492147343437474563961371718145481166491643593819327097494031904104784160829506458324773944440617237545767589839601963356305799141271783600787539381917527308021933615016123336930947671005788058188489646879931690129175373556309873768408139777715957620695603532500101609563371477964217314050432587321158252764168082298360520707362451310109179945016575593683750356034152504247510913767244660413577592115892410003041772659356840419813372256494005646358980690139958263559521775064606647493628472590089912332882159238770403375039846817558083624271808817579913677602532450159574631557800564277867409612658252636382816147674242534328626190826035064189435121873714807090620456131020011252318576389811929536270509139894239834400432483866516643391026363524956399139265377699656198727897359810600559017109433981877690584973487828082634211309903177067186479435925934471271076367439894855156997529928970584842696633556597935087122132549374177279232245446465649524036730276215206126805260319953520457990786126990044447099626320756911231706174030813842209969877684648630121818156782904272227332708266533786064428601925979816548309081204402541368557536679979715823482807044561323035025726824529821269125395201755803099306801343501547748260020021259738514177217196211755834324276520565321542875296071788865244678050928832973008680539291955471699688681607755345261015650586128557298867396725113684566871992193307570941642882920082004198913684288795621725218253571442945366635058568450004821627111312304319368957876889833769455189464710764882529792167521087030418822504103857660067149691084567127724591062298885956489070471612780923581461570087684346136120199453478127216338856651390553530165575236738374938431811809264136610383625133969103210742436583047072031588046683463201662346683962085010265855226089825099637134277776731369647433155580414845233408062554662390832114132306315872387252702688555719444463808141992749282663217350575736404350947499123518265418007283620305208969857557790381675711058155661235873754936823977516820466499391115240593248818375309907809715749848465007806345841079243820540945550517229087249634836930786373093808325759127919621336024371823174058634298860150068794334809357456245221840925462870546863313178875347685809181951795633779224837319256949961268537612340495553212782572060654595810284253589533221005730044833152354235102258176772543491570824814183661322729740671605236724725767770607148680762775144043757153088816700105565033698700473618795279606171677511990065453355891976273739982758448114817685574567636944044207858844405133748263919238438986685864907935790328949275716694349320504453484753790610175938264296056386277108630938947726470389999453456858646777333725811363153872673199551019350406436295455889114749489888210467151811072006333269365770874153557957606840818764618740423385442489504972691169914294306924814327190827444379029007559551597200959890753642724009608097021731094113967696997427668043159408835807342125121187696600774481737414721804791013809915226850940002911332667255956287867754845246874638432878814717318143620892095570520614044606407545503579051345250963538062332725066162097590573391947812388365231119970656283980042268199422530557084938777952269498773962980793362634612658213172113590301940875289637588806646183490886593883596363628796458305714813456156559481352461333389068527749935034962296691640735867554156960834949489973575498657331317965274739127422480540558114872565734794429674621963423048577107459853175410916771017345857398689794002760123206578491370550531691665117166731786880015557331393918372921177217931095633768699157417784995868749185716891049478941009291228652118955979468393508387648513989571061206536669758432015385089997392927021896267328165950788409096937332197826928855739530868559446659313372829062569222884694608659048746288916208434884034358293267294488819825484991256014416344458714293596113155685578808715315152939068253684982582066269164281249776996197432219123018841207059366711011505073427608159515595513862918450662552271744790011856690363395043168224483833985221098892613002126634093956689579942182890736515122154122280375168893784481209817611440323746041909561388207263191615305059858606208362272452225436019215366325468953516365422817994743832090175151641037358290748016318528643609568325464956807209355495975546951672775730917815381773084383600641903383413478834141904291023118864843453529430174236695120867781543222424715920619693252234326719286702198073622191147435905592046944176499655956126703519049182828635701599793903269192443623940878578154858639129968286572729355927572547035262275717379650253708747165285392141794886049613253765252307446403534061474450006659127140712498860397535780417354169416102997090221176939102282653918289939080794128111109280503865764397734689806216440549771262031231989262227426596306485436419476191649148607630682430460848533813196574115834229100489235715565242661460761555950233981969572217475648796212998179248957693040360855134223020245697566889792419761528585207875364542712259746734089613717007127075685872788819928211880727262563012679640225133915763392888440482787281943377065376245921390127261789249135345419377962213563173488453494106369903426034977473828887965495969771377759437345496192129538574381884053520515789288365341987673412586311530623268877123036011492472733851375880459888420544021239174941777467918500699852168448191459731906655680742570456489462332635053425387393482910754088509796920115579555151402207766724170217727170415448210054730090200990258084218224267301470899949333722907375239847678994292042448262213092863331258752709988204888321599274771358865066073033352249729240896441058232465460618761191639865599030189817634745194191924267186710152450976375824592924862378190567190235192822899241200973138324230311097304100511468305165134043725166146037593197154854530013321518566751648525820366392983520250931705569705157435234648156946516271577789098363763108277789623924986027585365410952941224185806438062017530500074729132868578804744842233240044591548601734899161665867237433563951291489929541473907037259233922536032112535500566655064270544438569091385847947173445919920254233686111068044716197723312577492901497402593957173753590061996864108961827965143280504012316648384942785184040053819394679563464411803982912146238338650752182676215391481875842612966643580971536674668192675062435669571562751483962879194882515295137199907470482699891804182519952442097825482165711867468249968947670034502612833104959265447375319045818928667465034077751174046039522553015705270173231715836523622916241922384916616098119275624991718599830862919850729087170275844499956811577221284316605966442678340365888008421768340978706067653238671520312562249562288162958615517627662700288590886736489114970005328700898732934747704753983494733229834999348322632377337238131138289251315158963362768553426120092692109451892760565348859404178450106937119737236125356290659223067928038570710207859176924368844442844643874664404222573738026976034286050203098184445714042467192499798120339732626477340862093460499070419011212841204388015056345705014184453105721791415707039231505891786403371040880133448841311668747598682876316859162261747751038230194653834807805215414798627816419063536743310659314266256423009859630674454038586140201930963862253267707819370164395684974766064297630089877467888731776042062363096821108231844059668218022256873457456536048475021902213472699928839225732612416625782119102811747479935415432505829499790775684681310759369344216033445553981113746557909629954523012960923105517676016362281027711785393217281295886202679563865360199270768934772585976746286613411941951347436930192919047239756894884112967265667479734081690609475629521309536158864806245055282883940792378554740940355003178462983307095535924990222982383570798333074720480811144884386260295855043473622465198264626191412387994053820080003462564977651115010864796447569667857973922516675040358023736259405961224192389859522864601737102254744741221948235525861154751014487209576703838135339237466762094648770448214133985445712582937594120759056481690657754034188172864712997969729342079045248070264203002449532873182520371575991983769393472101574246568870785875498809135915052865327873227375831292007270694411881504119246467992978449276897659927429594352303391027079715790021213551217731047762634656897434152767714070431729675773231674294588196868204989033094475088006862760276131147481965284034823972461448485979762736233661379676073031157541386450732985143846571967408380611754332252559357544905561667495287871424025085928376589351455560707720124079701727979012681749786357270342094722062612023038558420187302205861917657370388756333389554529966069329222456156877791955110407668847097016537791286944348616083715017633077964693746185146263030691818368831909290461539346531995621192903488870979499868951706730474258046756388346457454050290157222034739735037155064546827249721826476432839625915429120803036791197275867154480859972679446406406329251905584690326354486504383849087941653680934767927594135779141220870621257198960698547331281672363249175644296644806580391578314366793738046780776064217015032699759823436508186532287938699997457089023270703929618076630166102915692528655990529285732976234793845818147101422691272646105079349798074790007495912909052937253100314237968159165890013227202503461499603322656309497220522736968394678900421356937254019460716017505231551991824882707851234641759463603453881501651711874996510274571586196299446983676503440315019842543607968931310707766701004289730740349474165375471626474607049094876384571244725634206209926470253610374537620442853853992344041558164368454002558515644924027405618888745639894123744491593082876538919257473310900042247309216743288199790415317356965867660924806298525328399849470826456361351581433353844362918487833481684736824144335845672226087047272106968133535739521818845652190828256393355445326759433325437805012637567513273669656755233670334471987928334842922244540746318068357610488105382138181357153435983437692206818618406381452814317430493614744859706153462829197279859201783399644416204621961355579772012347455116990185757028262167466462126573893858266406946967204043188412310216068012863334974895132194376905149559432946713069668180517209542333816849082057883142115524594087885858705188402839174395595168408924971486679981650357403697047345094178487133787769613210943802747830556517939383265407501986444089000857408085738535326764265148233633907648795033373826236318063954388700139851622175749702271883954015709779693707401454122633610549051573344179138567822105540441254096030683912377856031764597609874582412989864748905060320768194052468717270962953470399335211917849013308335714898105033613498026232488004734566125727248157599982066931661868583147866066644499667830216061030878199407653872353051445424611282865129554415674091841419460048128407916774248082464701030811023766247927191296232350931314177582157870599086565911986949408110651681155388788415514556062633919866485148653157528374268079153734905133688134261155369712073952871458836776141464885457394135852349825934154908636604263898787498464953454409212232106126323067702542646331138388685103362007364959180899809175953824436801859726028777685915685319318178183402617793035835174988485044575456391588641258898291847187027051635015949328119392796271262445449801765417167770256189207438399479792123257658771137930919076666160478748387148379999876704334873140749610327097463768055136713088740984895799699540212787689762223382272766596034283707566598625730229997852687804552992560225571318649165386136262591110488125650057557242990695563526857446870508027048164695216289954094681651002065631248588128217410474276867746782637865757560047385253428595673282120191166405497782681412912537247764891769792096130441198109427889396637064779962369070876706410695783361384244152800888555948869795179247228984784542232147158848956986257451850175319197596955108578175587996365970157610702101997138879697860816197725931296163577195346630045812099949553676093852014524529840554671428380733173829020004323261665690958558894883724477725967259174444309450204063225477649650787675600147332500557282295029149584376982650218031391126006765953155317629815090247540465592953411055016212201324663866772413190326628383443336165790617902814495740417997848785578288930683592674536428613743260039963529515890513529359890599482900774559716181044626440177945792167215055669972357169103695167163031489292082415120617689729935121904789339085254375067881926391032822812735077839036670533237176078377410243587682174185650897197307902052337025928597720168705761787901038640333749242555427940898106799164072714743339534511964108787345728183088016000449862354804494868601895020209080160023261949881574812567335975618652079293580531111206326453184785069024516125992361136342330212440714929066749512655701605416075160078360891449967834844747167785754347861632628882623484597651586566043511120598874263427176640133612156689768332763763390977022138461225443277412720534018501129593763150881174870015859125837757701402517521155215489105471080753131992712674842263701513089965989948410285401876590186914245022824749318419684322783528314527885287303003792025915716127861453614994342520323606047538105737621181089908808142270827538237104310329197261942920792084003864229267583363764576236384744207428770729602809353948157601342583573954034229997797460220893110979864945138377545931101777966244660343451787405218330969929808205844033988945700589818177673015448493898627457119588687231403038179379417656246149867347303454363668659609179393934690927412662537856603165044932744700549039102231232299053047911636790688941476720987549175249386470941449136839096263049676490827376992316514142423897795484288323371049974523963977873675683162560080357782464918468734399416221732378014597284100282334428563228742336720703508195206308191032623115746878165002634944485060748007982020086064940135655537277719447011188118899446485841724141629341475242257905350195603069435024352788771352797043539619778222957199838379433139912731568617763206836194726458918856209237239982906595455039034001554551237274076292789381119575693053841086764696703978114635471366933062334432148301598318335399954320206279700472267214335684558860963137845139974845653563359903412503896270443105988790616983738229288603369686196275854289112962329820652555137172104525200982193529652567344959208993545181572469961339175688968997924289136675607700008634005414737802877571922915928714266210593960012788579411924679994700976132010360066275129411243312867246478813750483000063656362113746766672300123348398050152689926900705034623485089570107291481859511411942969893967314543190878418766442675642316192792439243410448785371826560998125465814244993649800840698437813669894954328318423204559762470693895801620382374068514183719539714362232006040731918797772834934467064965694574432183743872620196789997603662751238778435240098235701672733160147094035696467174729724798127725062528863302312901279278898207045253296870113427294215694736343269654257932193095361781647025489257908425928507215124479403654381133918531605250518363826280632101221530283023952876577375716632671434324215690639280730594327534059788745925328157647191789865486806249954810586458415562955865119052590768064395844750802349730230485679168775308495966796667615738797828152535877885492634820932333207538675888962499045406492634583053765724700521088616798410520978075509155513069011263936278757393449690451911267792515571438113579728393646654663329159217860249567174355130586284835412945280640794426414566726220782953482438671894591304975409958649443112739349457266811699801091392090539286853335664044879062738074129183623971439119982792660722561601087523578327021195573847846662156982770334036657554832671399021028371666906129134711390454522061312985926396753621098550426370560732642304324791326915189792237245370912989101894434976502998303773061320762050615615850945085432854625994258490993288396869240569327395181683650033797952688096737866489253676833694893589561260803850138753689327693486992257323852118674366522322766795763061671981389259710967424028075602192596962728753182699283910946563211155016225651172971215777893555437651599884103220767558446677343869389172130168964945406555673772591397235363571655384300731387346101521639248488712356198457808144977906325784742389156536892096475280135046645520184633522426156292126413795942761467598177705046943599191619962490271127807920731965858249093740501091922529339650633944357312399816057872115357585526033476179288459861879229675049351837625918331809319186726635003509953601195366461812569770814789944890589464272090220237350514134193321626090829358414423429659553985042754049373964100709346285375064130013084522803057947560723207921431815644303055486362442811561686455308958051190403101272496888719820090367333510073160587818017906664115931988900758059239390044243325853355308030256029433583745610727702135377540477069528080844194723564925943639952275517833045887858779002842701665794502168142399036709157596273795458836304413740825062401880943096387258867566003403019064009810694248496877785484005809487021446872894922300924033680854639357969440246922196871857535002171317913532042979685316360885123188666662494175635179496954362639695217066517991548459515875704471509426060896159003866362230902571588488192724196763703565223105557399717882725958825624713142422286948723558226165695307129918647420898587659617086453884086923245791278142787498491583275266599466111347009880017581222881890895649284973846551931176851308781914303534047001122296409506328983998998480192996720451804332276394133726287873416683219253922899478813879054535066032306552951217729478408448251645201084347304169863860506004076828339093527279984490038038478253399984276081758878546022220816388873392251784685834072754478948907461927850348417743327377880651903762441130404608335084676715575646746302452605419251077040036875043939151999652527118941667806939301523210197755187600556917100537844816436102917263062482287456130358140455560281393326895026867517850960365899798561367699321317326307461918586190653945271100447887957237363435653115662929405812260195300130573529133818642617093659088856528554838816244360348983834278506904638281539559792507032466830096333958154942489187793612595533429404160309888910339994919048657638692964512377185273227574977898265467304420174890201774314054397079483500050365810721811269608856385189790708274831888392315231545178556664433811444438432860855650480803059643970440143446439854770200567970601150371387801957186126825446755311779572583682163784748853055741690095210842798979244918717056536084165106358305030700441201075026315745055283302280964469425045651709926912787945105837853525877027662140568370914885403774255779193938076268694175871305629155482887385778381107364052076842038216722289642299769280975440670839077969026090671956361165418630021603256176258932117212720715381439984515850454128270774942567784395629901007891191187875130586805922877020595401062683211793026146677905689064137552666034162629050537203699083351955917574490385580202377427773451673333630976684751476328099375694197961625421385022231279068908707972965210856598882836146321834723325123983696674983883243997454755051314298509356339593836163464381187222651122813036580597343281511905062696254373555131005537513465456832485964139236869378916290996699548610744214330178916088715512271143928512239707449156454518102437325734292689797077675774941237786414057442893909276023696233335937392713578514386544393258575381962033077354239462034921717699700374935167666825952765815631070305207862035716887622122018826918359247565503751065949379087531905883214667343818033874737782252638718330733346273670580655464296430483373606829667176603103032641830781794767290618134942613388070709033228773842135150528786037195764593365792570867567180553414657260527226256088571371921416120186111619832970058028800427529928642002403863863513140570178738383985948565623557154293025907144531759019376957475608258144841901644677209989296605489292584946083819699138240059991607805763693205716586641940761333818788863889373674048941629549049940644019113620380089603663418857033202148392120992420508693690291318094982203633513693138082761622468498753665873335436914413419818928899519986515743396980455704826578444900945021623616969866228575420965192989701582487186818714252593349658413782030618107552810928815719662357345160614906003318700141985192315876440944197553505930132095852690223103559657573081750477267110108367306283517250640419702627302550804016742515676798635178361152087119689779148509788513384284487806475032384538325693509187150195108566700282533228404283986732376717606215657322258653884956614594449130701294926488492757466823283752315266177580101650106042529423262322491782521337768924677589830254738874415034859491611961548985963589659737980755615271501226020405020539417016779803079423580256999516382719622326036754053267431571283957044846639373173370728503025077819942794218094027657502759006307058637190149629387916248021427972430362401690880647831461104844744355097584802169419127186949263723135992654476784340158634772960754683969050372646717936275920709028140470421888202401870035997020775954574354587441541113662258660521897117856077467452197539255555116520197325806785555930444842555949399295149634955994971157677791643117658770189276667119190319177036079703349390428851611489283171072559920257958169653345969005068327667909479752451740820358237736455453504426592159366399147788174613693335245635978375745900694713768098046951533018121556490822959985850929829765858665713549985536812453943753087520745404085826532629262248317726546999211089736264147898315668487299561499603070402813264868840243263632247272726454285239241935347393524058230151493538441823978611658666105271463818749198322292437899011602948215596397708490232635978919623236818506415842415341414918279191172856021432484591594291994602593335452311371564427897330429049072022275976681210323924503405388541449788007116879101131348891108061298406771918802889327415287991482631146881202209316424514559506807507670978618420767909908366849187199481425099950752692895021119109517287257223800991960127482046665992327255239334369353553648555765534171905920312410350643779429219265954383372416860180702884622599074804682723105206262222083686955731501706235380690680196069524693843565145047761016320984720206489421015233899203024666557492191433886827965594234302031266553899638239337271608211897696783999627092688012517307774740452985047412629468500608510020607729382467243104659247879497810614952255934579603420547049793520537866202660398562087875074293086997240609075809362144316063266895467467438066107993575176679445396339813801845195275381827044053172656459476819076242284889750147340845097996746491796923609917153762587073862846941560855646167777578199490647409404346083209019853035940051897866738063730017077565015724572349282996598871133183498581705428258236493618035264486444740819848722225202399646831887185247412894981109688180152802407683310651845973351453402717540276034801033000010859185132606214995393926604584779162397525387864422160580288507066158751256550320802078611335607701341664164558304616069644954010759679211236937869387070802304720197012320789964739428216946537851175692345066782993040202919282437299011221208856075278254683634382225409102614308237478108737928310930229371787820826965046959580041207406286690362291560954059822535505571273662173667413642547060630033366250228606499292121037923516161769128673027489688738285408863901392234481566459407339619119235208062955896801947945708151216492011745908071265980622408138947196125748262083397259194130540272191746505085735414271972445618088629497205600426978477637535214619051590896656031766288915954941413827721539504126545935498719912421644954673211267954565839331422075729482973074844190509346547961499367173653881809114066677080282765433422894654446077326679214379845568389266511764725815777883023691698615379747111110663898826899715714773590196477359107688982948470282389368113371237479038313360825895918369640708467827204656100247360361723740771082591946590536218657031594174421365427261807389910714915072219498716719865099053862916065472961520942553867878759637051968703096810085408666267856228782862987472423078618393089518547369191096082736395126974054407758052452060304701614112762501120664683687301441858039702098271500378448518969707263450483609102677820105264386647660903933255981969387098845292867963382929761107613600303206618945258760894827575941658111321643340748401282298241183501626996267717121054042691173389837391881476900247243706373744548512402106014363005258356513210855955254538281975938419525355255645151637915398357104407727023970604301105586786276830513499484246758501696863528605614314578627172594943525320770057083413780396716826116531104164816078929632086439247879401987284405869852312315989806120913078882294229864103424168374884054947182552188694103390061268910983547964242372173390581717224123357166359327956261091568359438013774603457595046219084903260364681315981968353696574870604102447412033848781344969517004271237038150610791413989060705604390369696469477989141309293134825123044084499906577027560281174789246506007116086084840445146902444296918783061820925854599234599138140259051764227529803931306704996187698642867278504047474717012161326071137332967070062359129357497218773364193301935929762416131285891329319130387133090875736983010052912802518846173890988251875532072825148841787063722489459683473601222598484871405189626822715273207482843888735648568214222892325839497473029137301475025187475088923017223822657750095607256765000298717171263582109232784537344101562216259347246725884371631911781324020175382204954122288238117105807378562269842504489072231979640156573310954086542127595927079161282071595950628779092867428740711512467750248216303442727804162784962945499796743574487249358674432874859772209690543811855144932662536962068381567854093037286455511370493038073847742294013370298884739789795872540346387567423516843485905757237807532340086809663112477121398103375297185838545618709435260800673058638523090053244918056585368911692393140987537842446412551711934596139880648456608173856666735629024822526250606337193962621491380458440947457602165678887188137863852980854801314059562582072334064504681586953999653915208251230557271354882188744288218959295435244708723188507687858111541252657853909134477902818289017995646245771270310611070133740466670898611547423613484248191521166589034612656923746899819984834706755148771496161339438727038568481398473448557948130710182103655431182967276252079949095247951164074132523613906917436071031107771177643445424469790906857990984979962445541249321693113836105643899080452945147828868425979232992682336394027426105295850223970480551891755326706409801924738097461454071610764262591142864716990566651279370944423935005725476949708458451796727679266158358339910568507949638189494020552511843416660494007145549730122947057621307850411919892309739201598370976693620952450659369014920225230468439098466653268560081207818343289219692675962264301110169803557765162314748163589987391092898269882245549745956433266034406538013454431309812676778048156179241745044366115546266904176676658689333273944405002851852623260036884739607351589956568368432526295153358290212895290445449171014152831055451623324910463970150373890805268062284940748716046262036456689536702365740682275404143323628382183876066138178389174076268611832257091471541174039315872926990517787367577562994790265358774995190673084045381255696265126169200456115886460619166748589608946266434246546865556630989594436600305788219022822671071037795483381409719636673788499433494354860294313245839131144515155342451874334572601470586439385114892076863193648906901141305803850774326846843822087378094150917697694970269986495639934035681676523988116966664617734166969216355093022845755543675268018184998469640501135788393110509885641711281608918817328185920596021704284611998164631021667477558503943215548215552202270005573311775149799216737386131907306457407575854985239560188903342894573872131097200685276317363706584403086587594466095698029271069650427925875614341223807604475266518989247014864459023346405210887149236363190255073512694643673005448879970280055193202080591011120551135443024704169506794409295232444183142326550064864424066517017142619591403762218748425971684452805595553084678734898626275135357175955983144314122467395772439894088789153854028649110120208839479358902874651156337711638505936639752359866679807109501119267797370294840454167577202962303709757801758799623810802836951207202055888950418605106990722954606185168286860445604128071981008158259414340599824432055079193100077894742294921121870468869942848649353276078452653495030326150666980248000289566876438877640818192476656213712592322915762382032673487028395273580515828674695063287584852960705223375555690101108306958377912712014346065025552576066585920331869716562637196474251193142959755052846042158426487459183276258400635468085510112436896116165191611202573708790152713423835741735922037790300308384526701801737230777311585094872104247640708809257566035142298545326457045936602932265615443606450166425561502150423503400904270698888573714586927714895670522693573532347575106360110089321653763517290504730979190636419207243948425486534356981629620379293221870883972623108168640111672124134642020120267974181463592149315454244567593600264412271966746650983768969838664221318756718504771550864416391658964737944016411609805593581632576938979752204052197776357621903021603019992614710179137833872302322396489360073991425706797123410651227222025250715290080767745285829078090034968012923298723448506379234624146583179887570440727754434914585975064349220008025361263767771178278090437546745107324903200316385519679276758231073600942767762553798016881168888195135141330196871052820642869099453188569226693717895935740681873843064257902613932470446429611435782653506856578423450341628673755159305909330746028121783183510443632275434250108909528320973292701175054908722322838758703154153359002954968702808572057996188362505373767066593390435047068624159649904381149340344794333705526869564479979664065680336126748625555670915549131172907337339030632378918724491846932292888879904021562241091968854124468251993950382241752762444418054196660869318594941612652205464349924387585793743408190919568975974817378336688157314132283512309964580018419252082738007341876879642141650142409932792491974056499245613620754825511267735812892239053822149969724724670372672238438838958511009036576047858441435063745387758116625613277998638112812151230794388259459280011705810907080876819732460921782357061021260586072774631209936845829792873597148180106541588956125118591120257287781597707693241987458409343219768262529557130639145227870004783636618920948220398533769220299124173554024297828499554412346274145462481599515862246978608642509176821980433124445577575380087625404256538750477690316086117290030414510093931578225644678941968754909809832468844659552928462795729083706038660774720874605151608357070924644327976908739296593337468098623847445410546442911480903762179716299648120672919097069706658374299788521465668089378346993511132666020397963813106915882918119452367475820571197573554922238766399168669369275635272565998223185622362674924558676329346256932757898700069154685725268697358619166985887953238562408684011548361848220661497118501338038894368718433359636143980197057532216691382744273808173975084828431221747329120537472861697859030846844190867560464327363105007534848455127619463993906650271867718830386227805237035218336708445719416856785171339435159406641452411687250625609733276683977131145220284014337200138824885883607017201885150983472902678368315851947135555664969387526053542648542139090431366623669281184519166038218627817352086009167270927162103829570953075546073759104579824540693307722518059306651663562225150298108850814000186794868281380300226456204130427405719511456982589220398332653960058379704698971266141175498262403883654054506892257938057643473406446249615330420575818084693779947539990151460502699577908466059067627978161640595082154118111078118048125438006572699643011365107809296438715983978388590491903492624675251650026768146756955336407525564288945350817835516066219965630678681719283331874209024912781727595809153511993624347203155735285933943697897236124462001135392295790243799868120738561336402482140219770580003873537883277828425897733517073829631159181837592457557995534239862697280773185266214181064973992433758126448697611410560231320939289976260401467883556266291038756511694837148511461487704527835538828295162691124247025926020170567291693876817020432537284437871622663893826348528821104134706630100071924428440092659479346223019526375469698238987004947659999154875661344805472877969504941754805908871892455070567068356417322813137456806870857520886818474255209171116381861069781406167113935204820825817666446452130872262197763981575001690507065488227405439276493886696363782627019869663597684753763789306446778783395040231587831326645517643271442459157629564910664347176599505859526318814544308438831618043385646085007873808769271075987418344007012212536514432162940201850697160528971813098639394921490381593605985904840521876882392777004741404231336898579635274642405551156952707857472511634127243728131908205061042367301281087141713674070386781248981084788442150166978961005047297691246104610795184249038665337901410333511334839517608884878750929937094551629281522706796712866752282282335857751528483032548838827549481108333266736139282532614366247937385990846784614936738142130717996679854167973038925753627220029803282818468993800272741923750293377719480575580079332813348829155732574237444857785364157194960839427473572054625293599945116573408059434233401323106001390747638442308687045355915644918992101315941240008416207428585635333264216126153235661784621429145975196165178784782466620208622371801937388265904109407159625808825340268769888299015801325356313383109896544191683035189183555322375001245377750118835658618873899619718099405277857432007975016093771247702448678324525389264789059906720399764073964199487803407378516586037846402071187165393449050321298457473072857646341005038861438613217570711639490107401013623875434115891225691340442270846402221139603231382065480106213863971996843365828716013892926988443436394203614634236321682711630323674209807705888519161948953632412495084578582285912795896972336922478555239072000469065343525139843172271752394530689031010978861534901759185844543880742162050964167642597438958215275481337424524922308850428231248917880453723719102073085458530759751261547252744939410377546429579364655551954336069196313845453373199222952282489689491885055746332908756732032545672151765693785489331047962670854687046304932281206817558381375165899155822967161654417433326144849861416379434347248637427755228610374830307872872235456916500572795169680036547694947389352045080411811591741892391932010157019893434957715730765877610274788569809386885112074733921174519586268282732547800959095899207186092342806531861997019465041546966450997837387055228224030727230233089268007882426305905017541953042508868844130742799953512834422381576534317080161691985039999692317493649969058518853302863338515786633170542343918902137286853379315533442266181001911845187023425718869639580746699237521103034284466086822534002802141359998143917869381719206346348139224942459196705389321101258816464425625356655012637557186206976037630629111547303045510199060716918451003580403164855457693242221897959615090864622891967267576513516539183984380359339302500830707940147374174056204571550662753592941335455085612129247955220029951585519241086136033730316241262568434728399180229207830944247053355241128331370697546585290613960607014146727064147434610179133753052275341328838862763852566886212553971045719962540273383825439595901501697604336347832187275544857510321466324975304280909292044508341471671522945467567011851769008200556125263751111396857338385501286474854151289288984782492481479730805345474649310543876889030737043416801200903244195855527310393078393929350255216647436764824208668567947164365460436772674211518739208702755817415998644637603559503504676226214177535271002274495198723726075125195654805710172529981853947661068388704986259483207367681565787675689104722266167530231685366456298788999702742889232360239771613298525584597951333987129967322684371197760750610678669460167068580263659078016367307744120387550553295034691989459913687002595923186614352663254220214204603100580811962124823246443111236186381362353595695354862909704315731283431361820650883285676085100711268158804983684840391653671894915005304685622721774081781509493406687928944515229691665381901180464757536404965588388008054147490728398466890627279875670256674156807874028709503485292025624805166511261979370195334119910235722081461546121197758049346689595920442554711771861258318665756858227932912046090607161865218851457196838886888800272660056281781602339420341797447168359385374112752562123775961688914669728430619215723611828749290641156343510819182038500852906196765624931242032673607318981649269176206921873319877099158881932612989331410858769449495360627226497290383717066513695518953318883093400543952559445705139536786463543189172439312837987989793530958114486043869689384895246924861664102843034923864039689588132026935881050986072235123561152518190636543480020365191661602086713342407800675653356753938652563596077936848647851979459698767021877133365116994499213162061889461655800873877129759006088565059033129267083657538503730698304325736921778360404857042174186000560788219550933369756844405158407781488368507659177276829395773601860840444432468752662927199415572749858966578887170180732612794354036737170312317509363830104395813204485397366598564277055197102280201511724303538729163341675591932920358446585707937387768086449931563519247655033503741559092289595301620915826392206944856833970206553838642709900878170792627292077029980747311384261665570349979572092733091997951863773566126091573075785558582539062662668675823569416425851177536801976109389750059234302314284599600405588939052419704077807066512852368916716346914916317582487531019091279420549667640497403268488902095396572277354470158962357603044110759260806474842698296434712341147176839697247665359349471176780531940658334380055030970704728592566116887903532106654416850541961038552864927040358869990709951779990894497861975180833922284445545919392817057076697509685333202021284449545667758688071709609452558966803194767081736594798734914368694350055607432088611593150164666391708370619170116301994330200653409789952909085571001609954663615034567172389509707910644822643807518495947681017129570742321088046684156909431429820055832409862183953174248718595623845037734419666180665608511681458251347504976650786417784487095333250348098599549289189579395405340039061645951042994597977765728146113151215650129689089281676572929177929000145661718303168631196874868356938896737368476027599468683491567959530158769101418487600108939582629630975645476917691334576203429376454093190152926029713384113781908073776289080607865630706491742800599474955956675690303984085437801663229269510527207724477815116337850651768808239239869861792164702125358876182724059876658614375161025597855328232407305758827099572795946149978343196346237182782059449119743525643399865420108548338683277578546598303231987630133776145328418074493125456845633365139155711076992012292801867831537781280724302876774851616358338161337298340299313389899959128645673441761347248543396673266876124812437077196435480875142612694837432780445586126094549831415837650807673798986955616738290513056193001458198226456020798179244173510428439156125290150903499364396148757274464911600383172223186851279606722075857267974477913071829618832028943580568343575515588192701060087236301184987615417575171282838108821722752353725003295714701050241156650552125759369862168487839534920061712339065199118540907416110019489716480597517404741346232179029851351868299493549861114313077493045191577752622827414349725897932767639436229845595496744334202393291764165636738203756046480628549425124780764721665224498487469369414961524028384700397860355479921766160999846472816707184834578811158378359243073928282331583288838973435878815364626545616920312227869221278277848986466025287614412076458641179255827646977134825164663586667830172256194556116090186734337365548838997150845121842031104644479108349274183782064090069183892004502239385139523540216373805858017412535658410456505402923267959761547319262957604434448311554787054383059636048068400198004200667726151465933023560408579667830014972333126686375922861844662471285294432651057764569903134879048217277853674650086592689796084885513696064357270282666229212260197103894165830724277546137383831452149619108833244104003123147991897457776766951796262679600620322167011797870450253999220611056276382535352666485433113576828740562253133099100589992275933480205808050001664515389135043754741503890011497156380092566562758067320875202719302394770724329172623126317246084231268768576479111890091777046763214775183972808718204511750775750698981706365343221935628565498412120684167007702374836626486109082519248256701037707430930904022925913271408364080968735928121301156407781271477244696152660343223030057219657449697910858924467385268073112420713563866398534596894787594549926868605801693323483202502845370401397986237574366116595705689727043878450426991979221863083103242170917217064215072838464695241550542401588085228513728611194071344049829632404843029750927257629707112103328465424228081936405623800131229280648086900849172446762085486580701925935056260168589670555522373882606865406257456873714542612044864282428513673522828321343698243058340488673721871386372329322616564966242816091797178257895107295500692307289442285286578346517074838508388725280176816969381043288733499283417420129824602594577295269833647651266151979527316181788709758915653004547927995543781888601992240150016772463482999851665124831511603989079506406785668976566551497091069081814546038591278950712043446956448589563150624420299107045057429861276556965456391067851125030576906969110482896117441469410932823540350457187066778613334512593750679657577956919796651463921440877462713347914558563060614297295245644140841146691927952469307909428229820838105329133994182586484673597434460672792140108895563697480121965396279292001230867222969282864520971933707120440398730242793876356078924139664929032009362397486816832132804227362447454364166208133831778926281256289685899493356176587838339401907944874775971894156985908998656210575280470606965085359220998603001859624236849924576348535446573433734822234562352523846604014272786288178690636122462478068363945788092749390544675361713246195483471906649669475951031492048842254306407751628094785346522593675938392747080109326006892192237892926794807915462086674966804154297127814401561304473786556091792323953272291820566031592874439453610059230987887793131195046124695522878180528903855873879760535808388372260706699020037419255059618620399449241554847715420584611648801232940835519195869874746875257302273192092475688550723147725103674738934788253610960632098644397383510681732634821036034064886082034278547655277398208541007699012922588641318172198992707715964245927723114219609743854785864123561165277299732175224218850845706808511937292306338704002400045481816780439583248230898813996387359581900593410050987430895767957074703188309330684622178477831052661853650165585674663254835876829223202092269153182321128571200144453535765190467572147206084745748107621283282728315770910679229716576516416646543717517041705751925562600084251611319663375095492577791724842240389131121704884892280011605624868974044256055466967353739422648639329310032605285146091678164052032597776232667500440342317931963984071523099550505450480461922821191588921255514309297045733174926407858258615348378836835141402371217661025335794939613067268308438629240870250240118900687017943839950603501812508084178662752406153115346093176314231580942912332354222912898468569441057528947138037363581322053739476981047612152697840328134604716863154392378996475696962244873103432271458446511394370911655164921915612176567113886310737435667907260892813487362354617026440963908768218432076032535221558035835252668182512348282388768389929429796252569948298232297974590016290279283166979788564837333626266580744887937538134534529974898939602331780208652703903065559928092910577624774810616831678896813195134691407962390422024376094865980931829017627972503507392513832824904879119017414514270977305335158445243172377320903801169631000241142461720741886934340094373225168544617962457244953206056232661320512093556520252482768857362626261703697286746345912182051710868902039734854937614506093652716017043580421903949584415688828159313198318498373858020871744371648769449695365317403673668652100710992091889994847855762813859675993928021650414835737378827604199420987700543258199196998007969268222115841023108331392000279773652142906441053760143364070423092931135511191665533755249152020852083719529648213145206925111963556074191308321578574524022225552625405746326631044395146319586250695913243185691815605732812707113100440419547532989282310636167505557489679986226390425254348201124911361229479174423718172682100322895113287074765052551726840666920408531762677065120328502384708780586856063375371282148162609895827355284940295961888804844071379455459025484026186179774429111790958889709269782816278918569023908584121679411496174989854140072067476313737251508017559282543323399246557771362919744078822892631650020994371126389155536444120660567981605128040918541924667346234252886628684522076011875525211662941657695818761445426742908126156802961441454027983493690775101185940007092223099915197777736475280930235524433045865986689855084364452690003668458957562506745227976865070788410455227486345775126277934114717058984684795345581433326612316315570364949657597932671251361942443130312144663969417297391945039638345310223372996843821929044754240209918407628262135280556989803945712469038907807546624936421648348734347176347741064742060858736466303369419957586967141296332123117583695227319332598424265336957356073927011759234987632771912416608714078279815418270541312537331900070348406567391350393365516583348193584856434987716120389029702120342941194411764892289893620324077570468045783147879800085178395574200898824276336864513976728725079609029116604831848522679135080852956788288540381771603695856943911400787324306899430429767388478016180250083541792183942385871386394955270494182911702274802649799290100752064952470725824843552368562266154538819669538078391190647844974349438618306599025071045628009575061577073680792235923325366106982750465122186174618315001113917471789241173021226475700962309595021738118191382957618220128371248970906321942778909763047764028738090829460785778457614919178584268967895272889799969759140301234795520208836272458373955297018861597707132168148525421386752493161746291888527773328998380206006232529727973032822320630381777615281754108321157757640046024863666665524406470979196434394340419497321984636006350117408288693197068896140145127058824176901381567709662432076760673321861014175539439768128733634183444126309935860112937803546036957187549670993381080947211260624794631553850795236992023901609396423158757034415626919172219865585824006411456069401532858727988579494216895961889915325040681236640021129533729456415125893478098435581410781588355122450214179206460949581225386526084611780195151930434541532802898059127934984178847039802286310304364978707314999069511667960877109074379373162794133610489614427093418108733985578479123226579049055645593303294254283315154133257462909457321819402484277191413605605025805389034430300313399475015582643306135767989583268798024309767210101727993947828817294294392348722956493576775498380943934837949221196707384664511760333895642974486464729375810692080959892006529691114709717714281068108053751221458871855779681533979297578357098726851716680143714806021638119342089745387424425174416899989317608860678903257864247764131623868093801056556946762791496314616699383843162680916760212501113959156938587172127504843891598753730386914069680223446740180172738733135118371606046909597569118747893295640677062171896996317323109970495791722262455036414804199376332883102148367357011628862397479009800872634129463080441881815195184691139580742121154900642111986172563055274680369868623275289318239376094370124108416538985995457465583261801661399794055416856267130050955362404682183626184947902926401886901882426151307764775931340379594993315233339013620356378630286228887109899647159163509882052501733242220634768628610228523947328185263158621069793257761930343877091911657102086152227168280364060207863390334904435287240134500261561099109827943513664382869963721567478672810368691474943609639319948176056413694913643969396343801345499783088346387225640208996385690252240648144796968580731868205163522882156754777614713163241379114528820138355469025442754139957434330980940052512914163582763125971332441604915222020059962870065282683315639059594774614045874794281143637815335551953329900394472084766025638883542929471270170419797551098477741705035778091739992934510789225702959157018227241357433003032171440477848830205187172156551962871456785926845059277977006918987254884086857357437288513053856221051918934091706509076340987309274109219217349565677903475412886494844770632256393461769615691676607601626612502645594565950402402748809330364231701768288709274957501294530821801874107262477080392809194307824951632819790014714750057086109105201326704277972766960950789347223795960234104041160343639103581537993712950439790006513986545531384095465336504164054730656149692588711235049923037137475896229502551877415817054671129615048079115131411921022377948367350730410275994300227026618636717332239687901774678854113472690880287694806842027035796327576516845735573482895054774132322437985935311721445426152445152586375941484318285345043388619550166521837248474099286334279319896044762740490210971725700004818799261537353781373453972749423137020199382945802957478041785968785915307305901846482408527780410168951946644033858864265676619499102477352003655438983862409471144490199962573289561726027532930134943292369445456519327210004595921582623021462275211639325226590255991276801350468872287241417081310865684149357027555097990573466269820344518723546778633893908847657277497215163266994759980240291663059041885454862026035299722167161519505062790758043568600917844104808971686429708858613270724568740569046088018156375656643762226577291850725586092148299560265659830031917268323401273269949769298663980342131854399935460488889460709976466158465364846766954993303068992619478926842476391364927797916498050096355449417846018960062223376795447647805589356711845231351687775542516844624727808521416742630587660013308725769537903726160935495581415291898638796068925208194054357548504607228663460684529615841776804449568687428080622123713792173560865104941746188755307043620445743955202074209522329838236278690698938779741644497772054610757033628647872280376707743482368413144778673856773262709721258734653096488078361539658287168448079078226316160865341873665551540319460772498363369971981469122155302005661024331860816236350301468386181889605140522947796930599365651894412519840654571288503589560624772401489415895861381561893358845654006191723902239818516350421188477772909429276714249623114140365907608109166409563344645017789226984419369210750689182318888709056647791969398797856245018568896705222274079833527472522961438315355780964594002143601695852853630434558512476228407285128892174288956382904205837087490604335597870751469138998383719613521208885420158142749387285423218336429807007104098266547408618466894142905859438620365524369509242580565228197119502787171634601716285680110786517781382625919629905878453450948783985302460127215954723924002381431171357566996984228553529108386793315405293537900246293191189254267936285196319070554292107179974021805890966472251372629444537254101469055258894031979534280132494594039277256720245864895622058254763524336824159011170297803559006471647465079822687766307512115704586010034240527263934911497532865795394733441603236557778472542333615609788459230390739058181870396569953985077135204871322446854698413517166223516434713599353175643566515972927411017668428931216849803545505202245711237206562459314240374269822189505768797649889493114500755452425983253792821207022478064157182220953406554503423244867937007744181874719293595535551590415066557707531827968722066802080763680452283084477144105611680339289269987714712261216156649205395240162407556351456720899257363664518315910766278513142276012182638709926368550290078005535035020394890488806253693812365679790206967150876664279899020260038237097202966175200119459675562162486825957633625401998043333782170396405171298405862691178725995980020926157004633749093416151460808956056688827444554233199331660352121299101291162770577875311057549707203360841579844472589952838437354670746774133098684329387380790953093802459729889329396378088784794233417172583691630568546435088203449800325599176359822321937097552523591134956381905803223812964196156287047823075790262603059785566376464242475500631040108273888573655168473639616053884617689523756860599304468924885634446112703050991144344281764929715225713209973861859423570553117761035821472847831247437237640931137376902899957153178214131385052702563158260625135721397650416121554262908622369722687393174696257334621480378420300335457015559418165460022519822520515697244543625932190044144559850998640730221546662749756911509106533362203742075953299221185863930385897783092601864062226820694080448123237943947278765399478062971383366258826099851607640776371179382518860279559359968030260076583993601405082610546424089194673297088418856591587698769789795937926197543298493899348427654984468899780191606762518321456809396479387946445847362665645572022693422051413628791858924294167230353592721502561106167149515531627745840665972759926523523849953689346317827670552695408189783464421360797269118478222103298649958676687592574379895088906301495134575968446581271852331894733176374605250214702951096516539916559774028183188656447275690384998668161830515820007349530244028123964532954463397541550216112301471159547544261981311117173112709363666312101969355897634838576077865125969331743067769860757474499431429420728976245288437520836276370525981189010350945654426549516137908354499372087669944455258638733685242813759339600932482831909397306254269844863171998623878612091066130142138994469606277319532254514758771811476203574850449581115591772753035398787097819827479309470515918653516956438786040894343922995188370139344702263482401913292535807621963331703134974037887309738277774130658918785584223519020871643771249756540331489801087525148798535136463241717165562162965196599291953790390793278478673689089877784979567357098361298335301457036267715056501469260911803523491036119178194990655644383971051177853773693459036311538342394057955604928261532902086340295895339111271749958763617616976548655971381878400942696796803695025612429182207209322289418771667510676875710214465116771642534276398937583215061459895775532440165294301535636229152029166470776281952006988392319321438285136700600640115598518879494544230826228801248945949064386438044606643955835785970021761555775056303691325435443472319369947712570641128725073650655208417191840801973686151796407686060863987557852492652975818892825121377520980450007000932757840240541619057100840458103485750469463751000418732638454599131461214353766258889092169969190633175342084722687758750798317669849728343661897575513551362793623297352738755908105801199999403754225113762786966597146739215986268817275312460805686115034988768473212010067401168814876545802028943979038241037825479806844767208124620665051700664086359310018433521932308196032708278748431304665025768296396536738765309889108005011745372259530357303628727950670196051462799677464858091030639593446093436419923519878777066477032190301742399138672798036693673148783664494064817628501680774783088094241598646636586198446391590828544368605043273676996113919892040304774933259635156475879267392061608628896018867753739516251025190074401836274569653237108051179011910613179334633514633879273086205048607294076152156027709002954558829668970941634088104558401993355836796524796829208127695947447907253789623965872882970384481925907177981979912586714475011467335645115153560643171894696666814727374335218790859989123997494852346553558322639459128560632862150491644812916414194284048487831370681855052881147153351264865500807552800848603732704570188494418391097771136003286332939833779676261357061753893026783774142709280357592584160999362023580377720750738535398077471095647147172718672113951054329013741635215435755364531006787839463444944540372317585333289564196573442484453973633777438662343551531503868650560934829587619933743336604839619471626468020101786864680088282973447952483742355782122595622615136950111639122607178880669930737853023707434884183491226519036725471282690779955856100740129959754585326972403788755730162145501548656763885858606006180359750637075251825748316446436490202753555644792489037288865814409758452896541738827267349049001688764410442749393060382700881671522784974304023258238441824642612309335695296004358472675107679035958965642812341490032744957435479009847807335206027193778485161518930419951896569183656647893709136268366648994413715573340267843320092989152605019109621762104633733903581348483597552143361013365753642676040655892523215878926701232967520963010336357994539321865450077526386400290876800111879836742387588170132515379008254440315028449400579242196057466867512394659848141251369715933954068797651381553031272068275520592850733949739676727543675759933654621792747941245491088647898242812763315268632051995353477370483642433609875922216374433438804064455252312742310367302601140992764650106948938021933350670702917414836701890810232606966775118235383310135164141917834545602833753700777976425597359847293764758809656019655856990854992275023974663869657026782117030613384987748953449297305296272295780015932367514324720794132530419569545788812052572989514121474068038348421034331940939157308081362941752907289398647463876603122962614395111077435118372833946186562648074474813991586192363629380061661157333859631309653540973505253574712867502487134142418292853841004708467405923679782945483293251524976420312321329865076155655517177637737019713481202375665159607339381352707393520089810104272860408607075605425862544669455738646883320485744669203881405447407126100296198582933514622428567408224198850508135416192749060384060745064905185106123453856422313822794383302266864842538477194932978668077580923758962871039085553273326329775864280775356938407978492902266959149796120055288527720193505281194318457170107123544854485051189978941092866054133389102898728982290853692211214390332367838205018319198208106174498600792077130079726043083629354047467132910128556308403586338161302891285831264017683520666253961164243096614283019641197322073082189500074755929250800747342623359945647060936588703636050874400127263540458523460873301708402138005678848872565246325840825398340419775066249796014357740561755608141309360344398695621688392339687181638019291429437892471785543686649292339575845623335424212115845219907136471218348612629936784735392927738558127838136275081325011195670021656835088734750813716200755253413042106185387061825488677694847140212676434001084105979565334210286496336904899567430591303993822453265406577532585262434883278723250771185005557460764248875153534369384146671753914847061872737273797165453875085210842902651354893182579333828644508797781307189381167574792340427076779953825235833784958273367305434875675544829275853739289064760336898433170006464816297439432616928695567423563555033132178095507626508755044373790596426116613086335611493863155210060072661906839412547270541926516912739359241849662640497149537083147598115754143556393738974587097725716957751390210803110575584404799163875146154005345523069855027146657534564072653893603181696871068991225703056091643971639278778746979446926169883425755163970345089657627135457015618801033182547251090387012427198245322312035285118234912308458723041622416513469317218462396378350103260360918645848413162453425167488641354475170000100061070013309354771735485750088896959246530765733594385175576932384356099532967328495884915620111075908117581731584805770018046805513395920072342370308105802218508294449261091494232813351672265423618190801893658636372188937469919299755177291551842185512288714018218359713053184782106039291235650349725999098879921345931795644138657131286962215638925449593352790225257315703985102858652188272167934503724951516863492522296833725628020326860139860433593097400192835685019403017081794458044083512317656671881604904218902657572550883364331979833986527658856954940000271328871179707999556261179853679786238440632105246918234858469169895591745364478845915122976320900212212593992645315788165063802146256121718779708068409515350350975260027838577227862363499146924694949874943559787701633002424819270125885712478249635585100865583921813662661756350177254059633217846054400689070286145599360554122302236005495225282571172764340104781083443126352540286879432876636303248869419021671842656223169040138901225571818247631891398326688487590771516186376679149354883584790541474998546430368762811884473548993558927702493829585482737099668414850163686931132313211353590388166016076538667299005721955366915126585731451652836871007210795827842779624360724788926470321536085438159179376871120318191834417234287965675726219533884399372429676617089576163345857821479753491500131031816877633395320874167178025363092309365894465539524609264419970841883651028498532634902687361812287567269140182559857264244380577817924877015262921706554913173997266024396469990504809723610951912771207742511479197868301629441491969334722201585941662875785752945158473865862210299333933491764559939411141486480477013492112544747818532381579345608000310647551621336487221311327946147643763787761627329964991238771383045831590308493733569334954781632937356871591809767528616228665051268090057696147562526137688094397695250558504779519773982857160334604164542174707198630877695339247226777639591405601129978865666262772305467098542896521752795033555395743610650059257811982901248051312244154163600614605457790435774127259630682018319618993125018256167455184030120974297885923853937530916343886361777477429810275008096448591500827636434305765757971985464395026436850086115977162337438421811318419134714628415699648962191322378885290389909312742149052781411737005203430006143273192797559896033201821850650303908726837589137956823620334503333855759423506716263514103148137839802513572545296769516311748827620287787073296753734897864237572504147727817735019715587762753509646298690364723607738116141039981510312329713728950243502019268229908267582457680297488939956836292083157607783061975016833606467612526083200079711619908628510870472446654983129836445728111984668826906074717578866155247729478801760958895016763748535241793296131211101062467795124437941590555027355430145538250571253831835605746118779814616361594468414856694198771115977486049434564303673328585600703993605606078246493467088454216866316443731979067172959794050834437069808064279408399010067981372408040060878658372600922024547261216479186550199511824863426836193195557519008032104580286574901299109042888288422223338756242754567152080755002258052849873042193501696404380022893762204362215622475592308137022638326797243112436960747012548194807873592666460365514792413434099477810059459242708802569231147117492779740144599171233293548382417832998256796107257749354939426778541992167939701041049433763117134129068644913699289315821281370423014878657425953246833743411646652771581435946060123677680230376718094906951272559309765791264347406609156041586147093624286809390514210069117641942448994496998082985569132176244403107953523504238284267821687821569139534716469415128251713650784280848040769900949953251059909368112033966011674117404394009058322001334351215346450291371783134711125977058293355986912984310358153849538716840852232421578153503370490147713865189243767572619863941457043306308505001323203650323795561210716543099878585782372305844552441110874548894686513309117438780079941358816704867758122220064095447824154043537067492194541839232213636921154995584707433459655185630603376326649513953219693065409542518994525970405042498253537407842885512201947297410690842513539862636961871752052219509036253757172794042814984221350086539840741778833005614155643717245178824151263279794138317080626587411891514372852559680490485511685370232429516447561482722292296405496846240856434450675504689933846241816861320739210338153408200290966228460785168011271872032377656804579650816444387465290626873601460570102123982110338928454969361291529470904039819186415598074152472701400013686728599935900375992610373077719670365267650607895791595806522581931481926581816216215074354328271898185411595802920629885876989638176852072128497590074838915852748486447198223426774701686008811093279969280170757292416064442525339890474189946125197916659307810582520551466945717588577764292837926434495253027014690553456014020877045946050201746083997872671308810928063390526974177180292694816660588173425760336997734403385337035812689128552381523049169196767185308482030433136148716306708784568889584741012466310743684137508381745986627963234369661655443064102257752762397382397621323705854232696890951488650667433274358640833271913000384874878465372628587176939075073965934010