0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-25 20:52:27 +00:00
OI-codes/S2OJ/1625/data/ggf6.in

2 lines
98 KiB (Stored with Git LFS)
Plaintext

8089119315936989825692580084658037620205797271475783400186841158194605294249508294051753775343253497691641141658250403841335100199894157972630007165816131313162853509046104503000662527485847865762531835752102118293867182022905647992055692815637272737630448949649047543693122343440307480760680496973129409601454669956302783927097792465582408394123702911756895103283807666791542044263411316470263983931620045022897467458637533570052646442089761925557429114658974314351958864793979802312464131229313403772571715198944551126619296101840062332996063221875890970732341005256340559972907072670482185372604079469383228728401062374137829593986296235132066734860727154096613727395266271042516012744096593319870908528231300174215896260695185339237174900384202893725308139798803165408225782752482621973980945461464797240060113706094245561804674517696600854121601487554692861153741720286677262383963036841159183417636420292929970551851159373253476900302658418445443119378919353698435668777636400851424666028665008137298363583631119006494984707644179614180945669279646769417604345557633909989395276743182521940101351104738622582254874069047619041839110782830179450160364897550476504186188502348428475741456596192886839562562313162032540927808288192001981677761603341514273321135075456279012063900721895407279072512175821199027346733491888921069503007528744348951652445804729576825421315890240242536541646948639200185727746512269830645619578764506777023718682287391270492529768120965139104595899022958913632650911797708185812515426634561402575790756235106271739768863970143455297026899006571526931988754795144916311309806814607439744654694864387018741197625650004648370483718696250466547225468888928419300571548362416220050768707387866781377253344964432576039489767057996723478566984831629027701200062442398652889427494930182029530865349013336694134465231060168735842645933059831367993467829210990555717464578938954926519163514053399019818378525247256581843138684813114505426878549014807499737903182798696356063355155739040579293975688225952481132335412928041711977127902987088464644419921721262427731770615509210483319002877730620075275706045566746124825857365275806201721874934633504224706273852576499709514889972081193382165090377035916364844524074614270722683023747873846983643596173912073282237243352980263958791818878989390581675745490970793788159889463627608673852449815395210294152992224407634938992132897776967767291020057316255812729983225711868362738532488705783898696779308671754416909811501337846628554459243744221431504742684801739756160857181200516118702053366510589966176031202850772052867766854554412149423392049881476563170070845042658940318231359935396661866076676077525212374411392039452158376697962199560501042447730645217249713501445520127045266554086250024753632125568405922841030012773090717567615778103033998908217138221728573910647811502923153532798975783052443257528376563819442418526418193887799912746582749706527105485051452472756986095199915491925985271757988187799499028931895350291070249379720520622072953408875860326525049784245352147645156625919035655354382464314211583390192260718206257387323100893504913199193264932917955773376476920791112699983012997617084984569531095772519792120999708956706178547936201265608403597862610945475595673238173830910054304028657850747716964130455467940432791534928135837871942448956846334994114728867121371477871943478245023553923125095016277314609382516678253093311938450046242955874192044093331804004511221813166997779083859196975813300780474121187008795883171315425547180860028340493590051349744743155252648303992930661323026968633254136788599442141053929607361536542625094859098541063819611808008109647812505820900897284589126677697884223507209545562548122881749497820906265026241887508331000760097422689063862535958809929086029706650036299851443195660961797105887957839288291681042516728168625894287785246278945638376323123044230516864810543807622571218165736962885755419957654817639248727273787451009944469192562522293857193694465743073583806994087116195427965586474426143352436276052919133846104222908971804998110976936305744716749825606081047360429684994381417067667702338593259668124805781106078171497164354908749277191960221507464127620801988064148450218984426670141974547122608678546710289890904761707828445601569363844761450226285608813123767613829322714139340686025686725917719610369357799566607969238467788984096601728924871642256255035124824969583540948824766823154289562799988709529962040626969705331099222522076135413700883230062464308166503769154832317804459462592161472665789516133102874777885680107468767586497309799660256384532462084057089655956081987808696172834663054453057238335115701620816253653752781788118347925834155886421251687327545181034013847807842435795583511900941557681628139093494020070049591554859208853599539799314553341318791691456088310708895636053117442789210639551946596107860902504131159114080787859471043523800870724558611009282539154891497097402732890193533305858550047988283981389255278672173663186359969721980079788607064978946625196330388861826554614259939276323211137308358089191599638829744331353094201322040543701521378202395700146806600191592663542692171125803162469504974559427446190020591198684166853349246922505987870722720727404940182473453630059968180066352205487556114928573114696782463178189473785390070941242875514647903943165232997600713178600036215705660730254793001644502538712334441924410603435390780352202400846634823584554474565043368363539305294920049526766190264581860159875256304661332245740133267634924272929207075072648258543933733141424567845554693098723905582005650836413195384282332788450243428418218772710824248345674379402434676730666622796952898973543154321143473545766739432804147210328287051110286491972973146121691227052072658849566020037114361992183042668542418854813940115508069635643241997438947035422090196896339594559599339471020557441059679108984274278276770535603683686046342843154599825233659097721631369007642795699030719886870575909513676276966686129417531676324157037813798712813110129041745991131643813523095237229905378086404649018318320743282669289598162816832872603577988341220766158578695119161687567689635042580213845290496460873241470403812520138033639629033113193927173691740228278692666400967578898137561964020648585297753022088532399219047009496676144309393200613089760521619967716379046905804096124010440922587133290125821604934600628720609167840855102383291980538982947332274538561853156641008278081238552210107825756009134670253438273287025228662133461819380566077251641422786941714674944550154356229369573719281537909341923897155921791364008891967608601695254763261280447709321863729644859653339605921190266985345667421841460611314898535349771760061031885482030918509485394073508211203155636783868708753519668253934394980319554246217940481903745207874576610517063078131266254347899347315341031827666619420049595166099782147440017582605091701594780383417330346409178229513884959736922452453588823799767542695450609775986849072755271686650617270268966647007694272575180190614782050345684086131005212396828769476132308159799125528745059294736884746268359181865101059436683074606264035777976997740512873220944099751708982552989142446094897216412818638721771696414366330823429913469918435484600735194907415930399837388252099509331179316941248533956154400614223658265791804794454035106485417435615591209845408172448407331885402932915370132896456568091041830079412748702274213767083715435285715542499391677241163904595871099220954862700204894987142300726483671560089837904633596205765756208195839155246001751658374327328887651168608124526773125499619054460231694133882577145246345363387115405426584902660656055956719790548606357496566150213407783485866385300911069019867812158206220699409658241679788970165441057245939274838137712419504375714535155120583586173192400431405342205125351136638864432963327421720781067535866825853891068925646499816294183641212560944181661717795900091795542005504858059520740382562989600158865686274864852347105597224034546648125860881514562076692930490410412881850084716671834818132687177289555533625500854289523496379583377336482011470491373251424832484547955760447780342519456464725352130373966579581439673790326849914935428198270696710583019849451159276708362330142913667962409400792701922775516603178397171518453732830348784683908425899769299054269385962514139701266210540933597056265708057451629486930209182319539252733195445377239440006606474710080940115799550114537230316478368474208279214303440202851941376512897434989710898573964092034632035633603716952160924492862526158948177268807795722109482959780988847083459183133771965627379084977815943384548690469512016123780148916427259788392768302732024859083753033939591824272928885741829272054995611601546924946272322655940117009799245509962758214387938579052921940981560927539854366985807523803404700815275890857315712609304058492080507107023106592219622467027006904343129161448277775558289582430137256459115660280898076797318553251099437890755964315503427254708856362727072008496153960053646336459542584255351849718989953818256605231841499483467259137899780716735250413365825575289365953191407094853148867129297425792059928617087319980994240000185075767739507240024961819914300577600728295209299942172700900161718816045525570550220243354843918492942749029784752279365746821659210005055718721512097795643359736405716787332656164241029739847445811864479289198212085838912473851748964694901361648873074272329310720637123814082602557253301104636671928273539126295902507986291315887053404559564245758682050299595489606300107318163718498782030997242610556867615288928142728636719544776564515181178260539849887374909431550679861083428832422280890112449022805325429419205759081123019854556485091757497414941538845367776982210974147012080163067513682808397966133022875098522200555207335189566515501197596808795473552489225022073210436117652195860034051977753035497007969864386009035631098858752861097972528399104940063388984486552075661232565302224767954630363100771288255927152190618654437933170177183325334600590453750435275391728979628682229349296574339375012109072517928479960581506387037651617772757928204689890093205555962535104232517121409218777084905199280793586032771619788875485251948422955566619618348333753119472786326594267145492045118383009229250564783651218789562459238098574886716664665420116264947687078018962215136211842478139035151397580114671997126896998641764925156078418531646773377808480066148291741337833619761779406708897103481553346041300544142307997712569369358011826921294118336066266347579372201149635237024761079394654729218744153754845027359754607666021414890487714124952837964354799713505171107359684366779874753331817493628594388973352065331791478747527397368564180035659700554644510330356914496449176815426659805733624902216399753215492620337536630336143276735178317752789491296304970699909493983194731089879130702866553122066605678926493219968478583655515473917277570923076135862443041159051514301088422402814021337238889952478346046993509371969399224631697514383084304000215159422059811611663518867645913666465477655735294820676585959419636776275556912395193176012607682142772113259293190519130026000192086060424238765038065327068799984952217626369321150989459345692799943665370715242103779837970568864916656461078519900114352666891506096366493804617192655932792520322659452425848241843612678052485381728402792058474153594971764889636623845207544049357140699634043906605659761385598951355497985346075279116542312861679378412792236841123818047937904916620265493052128503740308982537353125963769077158052225057977838031016609968404874508084506054978079743970803333854253655102854409260065609403586658322785119801842395892074438983112239037256418782746129927966221998078017951208433719618935965095512533597377526343210267373851323514529213007771880466393010402906048955492938236815810511581976431723773171632246695618196022867937169271205690999903446329483268989325477305491580671285722286027820568256866314130384712343275794538498668976967015719685071399662153887138083037369500333807601200859504980072883456881763823912762953065689897530379844348186259954426920391744821023039589762617317947092094849278267863315855083761496368396168335285761451637696000645353702124171492360234588536897112542180109150616939698383379542077710313542467053499351582488713578604112682158276411205777724724567550285590891458100608604099661141198437636349684139621336358594319275771408439089777565650385373670220903170553186266643303738827422476410379397968125763848690082955306012901820860284789015610977246958918005465029596668929833056090403364380042654496674768595690063786876973991271940708766706015351053479904720534022797948775054412638453104579241888040750836906605592749067214225213694600484136406543117380347466347443646921095387363366242815345553618840202740898999116430533875382861483497265317222458588774363932887581153071481543347378312311321370054167435895199552083254029762173793526860886686036276131418290856674588536095685758272004993537317680922036415040891204579873465592303761945170967423590589927057182771563241925603379541217894174067085104891138518067668498896262966567760250564475237759746675323961464150845253642297636036693005872975284922890065525081538572274813951609199785587375185064176665919090121045058627400287015971098896615314600263066866223939559175484782798811297960663416149472924570126776797599005200340320137107361066926755453706307861261112688497322439278302115459471430714355686240864259906322148998481457089808072087128704868694872178122385734843265956012675139180304168744737128020442185878209675384548425805157449856057996707367837340553742420868124591817094698758723964726658005468272151168965219992362692914040419166992175499863067314779522371968963849930845892532580269765583053631640498459079822903829202291270219377223061573387274281957013077258948125387996730693753343762123879832981629029837804824000111224869086435184323494247183964197603935106416975925969650645985403014264436109951678741357972906170402651989770836243151409466906867497512726684253801934036022864963796303416460551465173280599849987546858979226960229349091886233978211150249359961232661144260545266180282067558737485895528325098258870756388714015178195429862777192108846405906701732901025452999853389039981547038292387725576147053966154781105139316748249580147680416777359030330998116597132962884586589460086682495164746126529463956310376252409253414100675867921019798382799398211390352309541038668040890485528494771398039098048863315589094394937675044689935481956482209791544974553054204203466563203522478601083232094039367016803020660699742340878157278885503022392289256679710532309689104461445715877902186184595927252770477727276814165692020562524702426170243014566204918806692279446266374551122306458086409767172138996625834429756089544911849400723944946907035647445391631914661080756117733819634441284656828162003830021664691209419651322817252124001004209682906406391031073176169383911147682915496577780800577883815921037696071573322424539528647213232339906127923491590720510302228919876617752237298698851437866690390473120632436243161879764164739195652666432259414025359956674578685210017216105578012716111404053287385359941733425340315825979073700537347215511656350853488973329834710610116866225910966243474229391632465090675028862006585745452356900094350310007523495374825448785705862255294924307155899102326345567185759940608592917063985663801858475730744614511300084319738100136114079576010365583249647748370361336930995712231713823267110853495949645628799093532601727686438793005086957437293474922243603902902274973661776923591835938660700762158305191072375461580082135451953956133050916176785116151210031295387612921057898455704791309936560188659157250840640278547189610646327301686931281152214185866210411165688054093931524425473100682700999618918228033241380403645197542619305668825653613704199246664098850311407154734283093506063021853501143324759225995422341470334178820998746325556224509697004111557488767438171293154455279624796368165058714988297044165212332954315332614129980824118481899945923560542994779006898975383119418401571824197761740178313459255244295768443145989805975654508474285257687703804604269862198024853616300627641153739121692280894699277572769263566214686760500000380984092827272413018005980109584766648184810329030082478383748144274291597316066854511656301049263146442852006266500765894023653013269953008485511723582173124626876746815809042889699167291690052861771109626047046944602240530540841195967617574436812547685902900302387933559631166428713285877011611968560668360789823346437581692812074436656636278926478122725037023772147813537051599956189874521606801352940285471963732339195723698419010718589748899224435527828636375078530182621416353985841718321831651270321518310704553044205192507686007179068572036820389237285322669300870135677351133122814937939696987160198704791419939319484873442359634773543194188490248122282563708835935731577556674698950097791478454990663803555212178212436825674085360461119853946002177493680567673851112864406187649889394723076527649299895415778739993708068612088775721070594253452675927962752424379907695694909423169144798958110074638350499902939548688634403769419903150682690424104789171855079288226362278497671351601435032668777409173401403882641795638610943143394062786697583119240137155154166379658609421321756633001044222862286668044758831789378159799001396530221316879639914605566991770057365671537848661529508875076440138501254533652164040130171165957232939493633431492443923811845835609008810784727984381124324502549420515018440439195354167012332456040603645113020841200916441635909550004820530276132124481960797938512476954204709425916192139560191802499952853465387036136272993604701164177860369400989930859583856316509619287041507670184827542196825453234755020261937688814521043008087305047248749067613523721452290864128998271730341513287309269407022858191245852585131104240777256638791098727865611020458843903061351883809714952251238820628252582217813276535120107624873623501624483652241954311842279958066653141798564893467264863604592458299182972921156586438228988088829592929274612010540076777266701315720836548073443807090164933042406046864748223484225392793693399171817561232989406337804036611839895224185172293673453120614246981173300254890670700406975544458757937945594425267747704241930800437057323884758123919578768262360881066419216190393226927753418709648441756957566128729996484214399980652018838749584681507968929301922466739793904522911322397844912325862407806546196725885484504012920240836454675272932797205415057735949187413809810625536524444086575208311986491921859862104283051029699322916583178678402762571116801795333200601051864175908017548876465881456410020401483693505073084350121613587063605768479455002360977061179432070382380335756767338192384191207759525041588289594881435406793152618539331234906304515613580456584923263077483242255131529527643387823954522943247721296635610487229443770107827668124704031156467631469181560270493538377272266684737141606631943573665921955237303970958425699865351141638183346290909512512367404396861742121534755281059999504103884892850370442633528601639243234087123509510261194777691008821650053768667224177212359525090136533471559926198721986819032705713232163781101083949832830058473590317960256491912842947129315943666930646756362052325589831576145679610546321628076477432095181328483803917487898086917642266667544688435006204853730887717143218345697587233087185291981913776412670437561016606661668408382211339254305519894400112807633652500816437638915064930175877536953382415636455459781115939957123103069777211352594318909542538254630521616663883873223051702852572605508398773904550312533998519025832697404160704130264077791909115753626729231816027451353962572648620615957861076707343273003734399587275247310077326686094531485785163461463239543857557109162458780569119219398460416438527926235898196822592718107050004941134734065742890008127608338585644171361074727136185830359138767226482098854816512150719246860798532057638981519660475276679091889836772415535705879535367946968386680435134494985107063390401468782768537834846964250952835737591021486008965507445263808474724664719830424064345333419574946694297181350552059562212068720574289693917627289878688627792892134389847946231966169053507571964381430384616593396289615967578187132688125114326529614214739234803825322049225500056766986428528142448785499897981738574465889494740798355039705368520362665154477779648943054803127444592001995805516701423420512612822556777445025331447499352064921572055644904915566087715253742648071850691783803880426401177379021062613410341953016289174174844099469398915827210378883119583477584621548502930458131430384080095114152547541594702168991716359958406337125324746021772892685417152153035755058587270341547080406050763306190363041796168055611701863750538571381956682738907475049985608845711968059431451381115244709520134670542344626328961589811790995051075216267426151916690756689172839177429769485075902286184778716131966152723392330797466691827122869331467972290498239259905235790552811408760113223516782783991033268840740903165038855118204341249487560976905689001932732593516320868708995348938347597751689005665224773687979817717415480715116620242376979271212872604495625759332271564295505434308589013183524770584157945763282317201805277573815391758724855006447743246614951888800810469545631075456603520086228902521720291535410754372482230051940248532583542523754663780669340589419921025224080278962633744795282024741042096542156990350542210604053925940578099174079834679952493146527204415322079040285155832220740052055847811972168015691576730369632607616438693457495129616897576642222559719211382846034881968399199549284041083661882502926267155241798535497164669321339098987068967099871465308858869374669704724766050926812229979076511237329784187234754112183680846903533467799463833730195331745630137883245196695659064724444586311977991192173956386071533646503656538080216223145764796487132269138248654659791838779034996464007473104493614776837123187906736072092007064630458605613977486080890510832789538066278049802960022093923912315034638678832830051931717743082677414157949455154429510012506141493421150864543590499594219195086664075848248785800372349468402267827456136811762064835844023923754696177747065547786923904537056075327242999008439606627131966010742814537412091765546065107804702297980085586022718746929089069007328392212590478539375050957405080489645062511203815628382521100114259578013512166254287714605535533001448245766850710703357072455751678137557318511101113320686365440733086849748301505342122979299138538267485920475212280711028824450266029622900195722395616547535050815762616266113715408311607863881375000548978578959824033223940181085107616989092880756087707282069186702449951839963809627927269065935384816819197638663016779765937109197576557289617531795857958194649516568994091484890948174347970912553054722211860386267346318056230189994406355765708626491758424123088556074149382604565529878802347817649155955570905774777590721579324371405435791978754101720346686283949198308291514213056587334376848618051911316589206100122609502966877656382791437618581940748262692168189829462127596503111324657791448712852709663602255647582301196069569674301990077377704288362308498245528197263001854537065190941318128880067212446833240045986026864129211655003079395138146112469608960475660639087085595954631207285263104896708076776767241334251020991707848050897298816243812967680926906318031792765208169113585697816101678083685934648471829449379383515774038610737805654874568248222746887708034440122022557638032010740863975160015942237213788940478603631306456477969636175165436251599632712596699065602196566707816558343498491947795358046771450264145721071683223374682353072082866875650478528701380828764430177276369775319605488837933694289065341132341392530727685239603819058042220089193676200633434799116094779529721323541291554148411236422953865861248807970347982325708776708231508149743633110516357326946666273320556685374466932976913933994419423043810624089153881089305055873783579093616136569832953332793251169989095697004956520769014792785701314141784103694112607720557382674517877496115030964450498129559165631983270058390748329979801762199978538253741569388946182294871315469589444397963211256211233422044020954671857949236673089907006505154415097615367204128147189556869909657592022344489757996574476538482021663835162180662876230481939438783766112189918602928234969350680614708838636839424149368105041471987776616266235791248193210018694333544913584147265532834608998251602886696767003213962067378213891810664143481626906836848818744447073467757559485445217749442377541096611741220965898448512558675657014466274394946380707929201727881057397364165135664107960826750558331800837749166208928068978962522416796885585420602515032561121013770746811729228504599247022481241962399223030393427547257471859375036912245252105431237551506331047213024442596129151360373241946455796677121215740804745652004546925239594067929534474274475268028615833124393284082431987316249719316239815941470283789331533912971069770865902985093005411704073131540173880163237459773626066168325494779712486179117108871143938291828568256445232772279336617789115075860678556474193721547110639724982818746847258624187996846379509288705458687591811257354864230445757365136767342869424235340076105171758112017336917997869215924038715063932081279528741360460692956511274717992279116529182876393912488431412339928948649507334386169227855677575482031148505497560332958758547063126867553767333833779950922577001033402148794800287360087639419127771871874698369543295902591373164236516456556377991115393970987635947693816347263120009114474873119962074961292299603351075838260341196226362873173328046175901873784609247249223048067615728018521762643746066977100556919754882494699101780436113113399719912647650278537419637390500352883733836593519655197915190298038766344638078504867100450043415997376090394285016491505208167122288923121438082440599640602316656230199576919167000037675203674890557239264707078630583060348660859700783200879798830804004028112822469524440481355944803494913930326138889153167298520240237293547397578363337521541225111991119915710286740002892174145363936593927033416145469289043603052296679452164370475438370872201779414718223716125526610016457524238521208202615083580888448520351656964817299124375672663131478816009251206401176509620609191028224534916083168002026930329434297608241775424114210844636516300536241223321400738941137074708673544996128272182799368056110982691795052908794437476950645418762594299382859886032019373810008928093459329582363000891437378770222897617574706611758789331919582958065690009080139092163768093755944647833412018823879605174605945127941445758309109660219714381306289624425410156938849394889478546084177212745710354052942640534714536440970604561533079611001770143517844183871832344653955355559084737630572040306393803127439290894725928388604615864219738513990661927438090202575490932957454900649910047961427704812544482686572570681684702473759180843469851313959480228269982136546394358123982137320797158224832216626109235601384311057989202901680969357093637101956923346215398704577538228467797188313548970312799463041012842498376263271991923564151220027856698361329433592196536356668015117408685345054547307507370072834174535386291496881856261813727827825940854442862513212321802174121724023085678065545687469685697393668027943898894113934283434100227495322526647510872210471432112685078739472339714003964042623293514406995601094117228953455012138511950248326066396796577791252430586968208269621704952518779398373271041695767224050029214798790099673573504415884889661039007960053038237911237268055086548446497420594535666203438380564231291648868037612051490834578740241799354765251781087756893403667748195215410934495632257473286166825463040837468520661923924676897551006931412457933078743940403850791980189892812606041966274484447377219674876409492218620080734728528900250531413267610972465706672380849193118092399091092471423844096028180863588260091910985185537610592347318261452663325081298676170812931097896056466277182348019873065559456724387031830484788506557846895922372094352649175830764427474773289876762959187160960889659351274921565050099852033378947916957528092450849256934447218210714077092505297196958044678518790862270565874914638250002559008011624334771775774954588611370743820990377070055607278390162142213273013439866245173631539455456186526353197277463196182832853048493762026195570550248199128059291310085022919056325735322108988160246479178622335626797019043451580626563429956130652008390839729556660083954930941678668734044049560899735867109046348193162975331563986241011953425307634750714061873046773882756770081702716115320543533918567914868385728314171397441772588974740355526111223056416181938504990185848266391758422492917044096503652423184777998600237478350190351877536033642181737093272535934836315756130497645111258560864521745041474235436533806920882906220932953890338112809553618491120024285291072231701953399193587506432050592706180549784753148880806245406004408139291961404474678697546536073246558731884539041575417416283423399558582823041865757692587335690700703857422624380505848423222633558491536194708223162087892706473885560917327027969017236130476575304601654043651778406151558251759929572797677754175783415401590959920922089840478248302035821505742304838162476808493927405092079688579325498854080627905587331484561748491736634313964002523915311724765803667724338228795637237320819264774905830022362539442144706257499469639437168784289962477947310475067379276519227152954088294841493375657592329116073868124106890796705814004883298817012365156459164955350966149421621650844456166071198364861736316529928883077024927512548292605478701653901628782801448221545892022190994995519716879210164873421262147798398555234526347950784801965656356254723044855502819838764460553038348938964239283713032817004742321447872772887571406550011722038248526338749990582743815375739457408783050374817908721550371464466391201424146505250070042793174372512334187802243631730987794514125211061848496383663501824222674177316368202688224791853729526061130149028193579804632102469604177352740363043313644963918364119772519782191077053487565185372752385404564800471043942024468446331094495721113303183473670715409414113272704225220989394423007737580643836492086178710995985727036094232021293971951265867590874933242149175033293959866190308767092360918487079502952585232094823798768093862727502823689797772985353142039456613540923561888683981922710545050849246631937688935376696730985391660169173321294908749812371428835817854673506356088295999641009669585357106390482175724626884689434034343311275948025494085722616568075274824655724224908909928576708833787686127662429688538665698334078074856266681779938078684338569090766904841881597710217545912753521037978391863796722636137734263303698223655234062451611840104291619908061799097262178099060933506709774305394791336835553717615594756985625059626529630288047685668424068685971948729271781747663804083915320398202460939738972536852759380891841593176674801907395579472029922584120138036922515720814017558130335810634136980070847455931056013085906061903845707298300179104218471292633431438550693193334410343323989226327033962642963764428461306578562073785277982268572403582763181786773111217444110692117011868663497380131749703685611335695316887477919449679187596320070640591122390939211925995539967365143789835250297975616451234632576995233269087089309562459217979947429776557442170834331180003668894265933737994169067978348395516546623480349743564560900970894795401118742851197516968086121065767875424146402485854137000862461214714401391559405571680270894433203142948635165076651221082074977733809972542959397163465724633450054923774325948578642930352549223515406792270955033506705247992118944679494980923460159208575982472902622290380955279043180360109507071740348817238187976427238900165814444856818850676099788414876686201487370423618740517789297078065649283516358045742673116909878823320159005996045530617733988941860847121259820773452111692691246450522472823967151316663271026967579178345204412531005058826319200133166055808270961984966140130294492888029735994708954620648064379227561683176651421242512451815205858949893395232570043469140660337417539409231128349065790746678785819856770743939426261165056903334053750438886620267381597512229963402229215498470908712438127454968123329685849502009920781704304234959089719127153565067358301521218575140593203753526764693220827297264452196803959721174097492781655840571447949837086376586392568322692647531729508311337928597947988661700638576272396017524221336809423308125223828587523884588608009212190051708128650247635938967648099428592402698736112799492428987177209405017440888765006077937844548901224084848049552473299706931624349319524001618481458315470034255724638865958329874656511964334374530019512404809564614045960249788779058176639691033320723262338445803134212519804126516159748129872760164799966511920279485130566463836880783259889429034480762209544235934036344512492285478402271620872265168414177815044528474160106516597660049677260183245745960837249090810205242333663197936571758287316298841494082691939251730557976959383236784809265673658023129260569369854914782541168545502345897939438103828965554224122075602362984503767558486636587483330759281666448382297160666420233248181088734653932888126643775027091502957473172265201614264319300175702359821258465210538277564317899054607164719802079366752151808636986770349690630596086437498915861466842039928665917297311849328783834415744308379613325328396822093585960764475195784290054071002769999008598318614267123155144372606069313861209583117717771748108418461694571897193094946659461720723863969784176949268859757575454244628106854355990887979252566307173994247403689623155055665817241569635384000095742405734746170992260858534208922411251561764914062138748391782629890671858496715186773930323998531841668529859415365311458473270068538196652896371071836036040027998263950594450848055903681758500267767476211228996383314870143768170544648769428214846942039101292860652304582306396715422472969450053620860328591491723497458924401024106320326173663895536720247876919728211273295478388770552876506444425557377986880409434979906776116302184821018044375132478564318575880451889295478886156478399904574878554542227567425984640434655366002114849517798770398619508910847054942681519624651737464973630825843896141407192401239813890938751439343800741436528404605437806586015199379323864832056578884188573948189454784890616230298053442647508310507400064714583848547557478353244671744834458407606355154734053489594913113071293799289690675034029765621588929646035320177223344122134387587122989569603031162011143502015851354059947850428228226090541447133662334440327878753317509094352813832181551885688427218785595078411093511368749330913364173991319728445972771665320426640945389624866967264614408693747261877794270706769503317427602482691310644462115047086086722841117452254389305617059664125626448952277207440351822164896028586141619670599981882953654865953910115645408116826488755510872740991023285542447089924081100332953878067535810838880792326045460087571438172106502880659644262027272400033031901911073343559358745068967946957340511597002877919695064573734825266216400104668236628781452524001891643170875685058673376790957125892467986679764781454079462542049387850279794593021374096000298942113294512085110856654693507516982034142777575719326804536602704272844487049479597428325549631288748933355013023732042211213341888242991960369081339464890467359018473930788390452962000874461532580862747706857351745515848179434712592366069632273422208660735553891710188533567085800063166311107721956605040308662316642002320673235111603630643639145931290361308875449468680586370923328490208738806472211387711415263241333308228832322928588386071132190899553992798697472296487103106849326879923045705969477714579699122349173161202843668401653381106033802247962190809922116184077291209914674096004566443743680716059134652903593927983070837053419907245477795318283319020214788667430176505248315318832131811064411826157510141875543458401501672515881446112298646236586886751647478704586168685425718686370118752698105886465765976509095207880129953602988242139215245368293628310898468575579286175734309694780348623529669662744847977928700868447285066128472552802376959584667989062056296457753091943928172970574471013735092484780454817734751115004213715795710334050983085630550512655224842841082004694308875796058502944314620102647363820531342015189687757260075027704845268520747582696050130458003980597360643687081922097881806753719819113442149920177124920827479013699677759631286473492116601987227746779186727586022472105147059093138362829331711110467014686452010783960113608226506496067556342484978183471323675982029753958864115657590788424083030683588545355809035159384293852137124337924168381563036860406671660300135583212053655565277436316256777598525060861468001682512736384974067850032235785317370210021155409082535480715181964902835672977052618324246008498647248674102278240779568986620355893996770062678578753105104334809244906678898471398466155788365590344635960356759485318090071361305772511004040405034725373297578787114356407630842171904923752707222552661912753560878055861290666868298725505742485345598317941016296657053511967564574671941337535341193556675902227281644434434228669888939631971149826468021815566225548624959278996166044309831575900529176898805361787582274451215459971321139162348655890156420906600228388087741777763141776611258438486491882743696889775322158129801965018097152460780677311470624961360283391789650981222780733064566671736915555064728344080432136766120945061767348812645659898022151766519698936808515441364627293712885218078242901701543857856894191007000538033489448178026451862684387265430029896443281636818030756909209419402261679529605310990371755861111511646385217609335165984200230355669669010578292837134905527161467475711347011108684598849471861290325265616313927061563839669839640000256153721359063041753367972014797246599641167345241676330598241192708649794539914389093717463027580935635539647268278131125263632879226575341483334897272369140465837530713488364302264053711918916306444280058845377783795812125002424036088061948158202101143474221519044133754205069846960592351173560799805108317214372568214763926892571646272851114826034009124101241724102369662775369785245111882929664088941869534689517055767432542770589139883577743785386888105558520477886721155397278725099898313406332826440850847721460773496943062514935688816284826912326481386682559236629363523134995781826262038917145551619460327584228586959217463944088671259743407475006493973617454512955138135940271793413109773557733753690914002221320643924646065921702606985940243654379029612724211836917429231919975115924375468222953395888632007048203784345816691814400779598758229141691858783557758896215710402578145968893951593314781026870498078470978353907456142173081606752524103929100972875253858326268588126458017868439921120332129262961816751837435578312150477652001992283548616987390261206256205912195697671229128419149688681433281524959999028193090871842382174481348246533776858668559242517976160486996633029350890780090176182364844695919494076024976191911318293320345383889351224119295500859427456802049951198353026649932323919830761190952525135682062578964765217039819292203887349478680068499306743962843424360697454640019139254092779825466276296510653660132823107958355110838001245528154147975620666328314229900597229177292254203668308486077904987188610972516188167141269927544437490374452647951058835422512419462580507880186807997230564961770430745279793746981035078141543767718891247900823433536445843793687376060794693932731774036703534923561763387665916807092248768004612979687533451473723781129912402957658580533546590214865052276893011655365046451821505319492747705955817206315933377133944223903572479985152689493385749619310741187646758552385075371220094707445529547031077743397005193490560756355850602905147220848043995191818055687336402573026058024449899230557950963458203122321844141374391313632440354874793529511882887191128006317938358265448314740794319857017548773162922663199983265830756997954923036234755661012138258884880221055684100304441923971414687089225370914143194895135126719385144943017131158463842813717856511983450974018312867090398414553069841999283180393713151416642603193177720220518694010135219619787112755602109299206994860810256821732066843698694396360639599991966558636781353244246878112112993901960965412416036935560409153100976129109584177637927836237739267557083131134003201881006926021788019697648775607580765995687403916797235229095618081253675302397856437792612282871104168236657050582383963286190646689660261857305790916603041368204894332507485548343211707747291038325513342836560109125060454498878457064089087967408320042003826156030735653990873521708183767912599024662033374286339218870836061163977807342174201639360255381096495086409431654160840931049681720541156445681881651437901490208142993013676335392137954635431976853252522442346242635660837798479257827662646356375136714718347803151198813264712168323479559741629310173223694871077350981820731535206961259222042448633119718951371064970308767180721822303551802811264766273810796587953747924267277730679132300007165840016197198695842140811620727675846033469785326512891126536895836037391308404574187910647841410550293465004109076279934387860451678916133979669381020931901939804392195335592806603252311998751791042266677037426543402175061879048845064791518366680418084421877432431541568023781714768623468835618423945470501354719258933934492507867595306368352769572275096893740091115829917580419040792309317812944746184942809473615971622837777979902186390932496637933677275518978981260773554858199013383432971888191276989306211396665121926999772080401755277536627524920502016578727313770024968094334088434168503251361891578344597484599452081665492415712644789577726374274751455784073309663590941287626097129965420847349351179301105664608048169512345923515244557733474807203218956588088068796660332789950429491178560945236922456271787464825728250063534539724615902371225994562325428199203705593098744053927191204386094016562096183083271156938244785178948645169712444764324307403841008898219861320094505191502063886865365322063492188627733464448045990728502545363820660446492321808762528220751418084292228878438888774395442208614156132842545707522549626639987341480964976009648452917904257201919915027737663976446150769120164330720535651018865888571849347506206915380292109062484142309434899323401594110655549090505250643945844680812869603344077777189483856473903347774086296150295561087571271557962961671053186410188798489996398106986345426227996194631194594505272674769721591492999474626716547398943810986965625665726668595088356104947522651464308887135884276463232836834008955115155892505391521392226995662613062394104059677247000099772446274311927858882499157766239770485885834211047941324047036264597500277509335255129952858467429023910237544987754625183729918470976084487502852318466428685384367197810462168319229163197491160680532413482868921820301152836745116835720099846613719020735877221900408304144102930100929767681738564550725280182869824474457825235970182114129082768741259929123954075958832425002081194943179827813788519404256284625695076457544022746869553265571587454212941508150205605507156009125738538495593651593093031131293287740851574195858816152732957648618402150245094372918679027471970078744012783898476048837429095481166682105045714706070032160254059470079001771659844452837195240455500560032247129054762369361320336587066871760933903229532654362515824779777587241848700763946333829443874960775892369315148471951692250658002781575337625158577107297920232448096895821277356858078401496712991273600857150919258135657151061370643242103934380355106057006513608678501608851822666123662257878894091710037907185318765653050022975924360088453103668336583478606083924012839257748500002242026630065642337486006362954370392064767694112278979376006038862731848480673578529679375575164458512194662440727470505495480186732718969469505463257056892136896460184659475742084042505858409876583344124706072062095009759206844294357727603602952548070210988835056348754411693000536598944223874312871969192903425525231749372292485049535569387607038328810959084898613265567261001789130408616453279061876999789935387338149494497546472777785282660975343981769335827995361041429471367155398135710452602185344577951471042832763942363841291340650047000053037758041070049517238097789640590925381342364999429676811794453220655386066041592995433641778270539593959850887321100899931111150362649001750281629899871396226940053264430022804197265573901818254516284261830444984600307266199481411283680297170133916535140293733594894901236423900913927347429547900727858500131415003669485414528978417480633319411880874184202692317844539809461010947009280304911619578403058967061818805678047927649183815236297455984913944977807147562383466680484474594619626605051958086969808681259060273877917026844673009900553119527667625734612485658262451558587536416084235173130776049342849460511905640212468090327215473867222641195349196056121831125721026536688820071748838002670091706098285283866904846576105971642171341686918916555728865265537435942063159587195655050429250735837867045151458375442008329411183108154989637567280992414671501536470767881267192263514962743582508405793731054438788943360874280949119384421782339823487564345873109234821160271661547750984195674993257322034004853390012973326642356998371875061785908680932297459750699169362060421568285882834664601925296804720233787443861194717932009089364998289986371764268604256914689623252595896551742088600760651541218666493213460685070191012872528318311755302874910797072008093446745339300115144935823946374647639020503206596093595199142493284473720443266539498925500635886190791816256085892482572966369957387321510223981950810819389288926784041140967530219637435767110349567249413244445771863597153130574144986086400445487241999488264370913284412768229694732475925958309447222150395200323084182823834492417073731314597745504437399092705879441981029867091980852796905879244567463821083982472635020696105651510270313638780809436189091457386211883227378887763202993129410215693934485601227632671242991024991007528664114589057109958280229260227393542669742456181909044354494954014733784476237666547160029150700612877380645256168340814599885237211361049294912353233096566040971944781209993967520895359770931237148954717775120361307801940577964803349171573436600038825131850954836555374380930238269118758220227873076793977238949818836277369149672834238985476294242345185875518563445704816319593854651744669609809265212577510054717381803207381700376074990786080183214960790041817609123913947095421710750795721009826736950786407561723562552102984550821453642030108566487405199801206418617934583412060206293011391077892337736633016388180085055607695140029933280262047349505300875577872805031005566416512806639317049106499506112273875773797672022033518306746679343915053400509369951055938746243514431328951232848770526453372124449283409203189707545777024009780919046825208494216219347838073838833170393775857214143738279101965825649749345957449328624000199630920748857701766266801462174412313952778174136953798493900058643538041942308152595112840374377126429283508113219944096075504751139390728519211429989206032596919654920164531830834490439129760065755418773266588979830342898097468564310892652433433396987700953972547712309719290714573538524092402792580682404931362693106229086726676806596705167937153925380082685309243051281395542080909780483033957171358721148234883185331539836562616870587651782760074753117809988131502277565798914529931518761343859666123740789007099933882664445895137869384021093042633105494875418965218059509473852623243828993175612551242445222650757644776543817831286753830635272776688563369042050012054681750042301190998252679860804729401350362172191468444193994738397336238277259720077012238750550613345804229004149923171243828787022244978515526584612922259537074839148186047942782548791202657257600269141468781590707226021089360749849844530977266198119523659118441520172492818377801003985013569565278616511904625476961129300926586109974289440365088817920250280771040659096398958420986801327017978443848743954981606645591833845899391890777747508939234269248577978956154676210472375117550946473009811684394881684936661220817867301276441017922991064961555349505131077281640463749996193213813823513242294766154495985338978552198154158788118904842853745654130005871689605219005013548309546617843572278535027328695830502203513937267306119937019653425324102665890530058776494288181845890683337616466893680448335559353100864179651581137750666673753850557612748203694988085242304652637972925038491770543234144022808150288416235058304674108687551842401467020553582506026206401949826491335013987271040548117932283102634421670497117852353368042897774173190764345147944513174178128485159589727911545143992357321867174207645743241224061495994232386599728225183696110689070043905300242353573943693428569518100260617196570092222269849938585517604541098537710668297604872970825270281429607734052855275968576263512697386782279749026439984563315081280272753721095225778145107462294309007189921133017736734349073387433819430352460797218049660459142484005128770645806468830857489954058769383105341836850666360249826773447413045410885733473878517728761004549414193482310334689479936067690382785062989083954239583521188401757403584466579684814595879199289079791971907538926672593538588460427991665326340528512186154756743746226658242994248640440073930525587457991006431262952599601227608443109642341393710941224365275385315840599139506962591433611053517268650694871467640711820735508207942428688411275082695690035586861336357725640904074049710056398165206741858003629348008791483051139357137133818005245234445479563393633254120990673432592736925766670494163908847738860366463746751097333512922842452418280625904948547859745570353510861967250069950555474129745945301887136002093988984010325144424055016562313998331643711963313023840094441874389121042758479467364367477828400936582214437233300653958524178312915012591455052075299238794544026177736984485851634898937366682705536004329906020410298734907785125510164441823170536088711088447800299030860876372721550329959067440088211849737321065813259655640289447709738897810516666743443338846228830176359186092947400223726070987219345119638128416525720288291948801807564940438372729011360736181152440923136667180107061877067933120465455745229104240039584168944935017922785246729935958045088464605598728861122732855860453100183694373352136930131595979293818418865347791417737107348641666174933179035369049260009433086539644950015893307018950747348502165859284998036837099329220234553206449416079712613149454796896184556790479586915225317620889032702436451260698574946258632765218461674398066813935063849747115729594411306743678772218542919567526044955365394669070076644457495711109727777942233285982484662578996642394789051338600639268518615455310552224155915791851471032239546807084696734159163083865050243375412333069296698098818110040061685052490215246768187728686900203324845843933597558721787834142107499376559980793505728678425925571178883407172376992054905173274885977313232820200471829340875293345591799679297975895692705324577446010269521766857811065347720231902229153775378664773076975381828351056461387298204965340512542136115779395326916687578307655102609622143715880916064465471012698735357131790192591913900722936200102429802806157280781007328168335161835002365188658059526825602281902954394003446028286286601361048891443473191053743350380631702087499867358072376638578383358033406015163295533928542087348860066767101896148827657368504672908690228215425824537161026465792272109874157109285747404343484886416374846252961532483676403996793366006515670465427567250386470477797561712906965395720733795756791840137026529042726360369254514210809280398929241039926464780974519349742337940379803220099353017588803586064591969486966180173512218793527805449728830986825464476744358290424559444800040541934614194225577344449999234127399620010375444428088918840708819566975804113926876646391120242825907234520666625887706966562299978701145096875737765038129048825005975694712363949748466699705560137500657885288591767502088009340854951038634482804827830002494942281608352212488203304313686906869780540723617547427519370609473372020273778413472581166137424269835749981417381537786847216572548804159329748226435160417429560034399050322857198750175250760284673533700077688700920234475453156973069866254204507153446853267710972368636109365045338091593439156831330178858418049940508017625534408334826930721158970838086333136667295507505207866411411085813955639040090810662147149960608609168712278201187765715344545330154350808777944479595745058762252227100234219889185188875283698392160935959183944321610000756582668533940161133858958497478100064389858622857250372048735917722376153523741622224403396779131305742460572903255163997355089884485784549404756498432657521342254058326719616522696767103760765316500558694853044391785881059129998948699305669346503380984319869632035064371527831263509625745366584833617181125228656319220485312163335564984208164375949025244254818526304410209528415057734446813163351760605478295519259229448890248978298696100607711077242663775282651604065595928950896273768340130474163310394242434314202484878387522022216522780715308823238450856155692923660655701071485523900243264544447466612159098393839983477215159366127133203699697636549948218260795664994278124557712114505359219838358791363121997755394113567560033573398532119002704266015944628094447060885068006515068158528027142350221690944026866773582253734169728250104357563753059401377267773323549461842880996075789425666857982177951573383111288933777153314071452746404562776945716750763379363013818683904257027113787149512547095496580382976984595530514356418038670043487665397430889788796068020659299434939547897262777723772025178525022020395915465909214904813263920825178104914626753742230689110884956891886737369779293190021518143004970218312730002337846561276539057054611135955380599913729657764934255855234776303586235438270151769884184930248675529604278765558856144778228094969368195310152883098602341433733192969132834724509869694124611004781800267294092946136930874143345536859098671369539079772569604624736744241923207695314080533135623825548048230013084936161681765892915851077386539758341205915024198750028397011454267986508586989844433570610575672380395365389903463125648389340470981336130079174231310975125769038652061679261742942318327093227472809161771279504565979349088538726165817339361550259353251087505267697137813519786138335536425409207667120312439830127864862407510221318278219615092350536999723875474690546414688920613806394881794280819471450012124597688759742804701088095411202333823957005154281880066902999433231043106276538326620843956743302833600360197988620678846283167157252268246666669601246400901154606514843966678252980948908233314182573402701216607940834009655825215641153801495501254950833171060702671240880940534717920215346601121671139628991267288372807233628183383595751299388764952730906418970002525695363090346271325941040362749267845339267425470344807309825965456422409296398624511304924761709822981586665736793323562305055893998188926694681637153245615709315458060433444400385295591131360025323202851898763445986562815646780810618226846588891775952515268497603716219118469486809802316963803799071796617539900572842587193762512043524327965098491169599814859600542043234758896748471827484748889210499860267878639718621941227176468289812277106490595547201380489363984629343375824890601408893947108560342908099616823151348348868513906441839101607083453157568558635216536845709777509128338601207717524117229713480856174097581018862485641232001933869603603277556991273729852340460811703303850697912070618432833823334416572437941352523847973506031661531197404003336937949897720687939590961340449217480738594681765134357549713020514284705078602915219777761446228344589937461927335469461719242902605643674302818693142950713690280972629308332249887454881466813111215853515694319492655358067397040606725955114702230046730716697778163774527304954356533104426718867604491902987524991585039395649889999229095574979058089892908059769701852168071580543032137394209459497145285399701504093016026427299053382330054026859998756218481494957219766143578553111352828584510119675874952288829685614234281922369731844240504267453286667782275752476348922732307175071583851615264678855664632421575876164051241317797963372719529442394799112375907990641426949897809275578920430520259473156457108600530742769193882208811129001815404114804800542970688694126384765376017822271563910203665336135155585311608595738007709925310961549532435407926001929209454282928114323720418827376691439280338338689255669721144144144161174556771461619850160932951256405007752119558083055730240272045925262037393485949175529546415290913520270673492726729346256154351245744473398106623801065114969074338264076239010964481938487692198217154231738973771377866595226156818627509033621314552796334649801403427129335970790264929914005869029972357883901514505529518588807693400300460659397372072420194274092288201677468520018035672448949250582789045141801794220821314191448160613727755906383655143575278072145707154766322213971127778617040841590699672167416861900687131669663271713208473299851279850816122829539287212157152184192333473632311720802536681008457110397842833800244680044897790976513731849893240418899299612908120263706835007172920511929481586851818064116843329482350999098658569288439275039052127791298364930780445907792964110101272359171395211980685641347406688280123489175853302351718006187044439693716000044666336965673837538432335605947864103975880188998204850913544453825491593762468211642061610138730293841451522476352894505309220602062610597825143562720707262841018496723566165366779514047876401515977080981429286853396425099627298042795450065859660670128881801056177091618533173446188854206873470719832216979174176490085749805796929246968523475320875665910367622196241770865145978894152787806951199455942952386972774319511349303641909168825763843200387581719640019880197253727140178784578318821972748042627927649377485252120779855425741850708260042224490918501141848635673657236362785245441976770701422417348834852030826629768497498055008049380906714214836084094342891359714443887596511918072157520766018396826003198764214484085074034283536774605321297035816933654194949374289390974948012661770156444499685306974850480874776496730678098992427409327830907084295447993072162424303791248756727238854186452231182779484937355610176685134856446484616685903455309396093855736599838341555171666774893539903845095469057421245789774810132677719146776339132795247408009548406497273400156578234926165827245643571533383395980062206390362700104297703907936611160063534418524504744928158090844037984344290195465495759891629169143051801639135936221307519007104425476178182141808222479259434737757423234967546366484390584469601277226190221273913237654711366321989859056172080085067134645546392360595334506709690147273692756577069024185888481785748309702233351969005190269671383243374023710329914440743085266715367930006648594018007494313926829892329734826141625963003322799622260070939654248057541263731402150706314221368025283595766622420017157176592653012914143142363862961590686007827437753509331909911869040366512208189985591164958184973892305663990839458691866482927702168739632646527208306313394712179372577198179118201010805344681675870404715741088280107476107005386435400518711405559180148195805621397855561399841642402341223855666906854546098347173974498156213744175604011059204230759679128374405536082584806056845036798291294215860720513896328119730316475823577306926365434213088734649208148510026801188322837610976634932266109232143146939652648136332234213209722820988532338331795483161807425915231466938718332419536472769525575440072142070913985035511557145957609801719215059066932136906079250233138696260161849559569138693335472690858706659704303467533337917280073784949754626789387680896906575321751355448190430194187190244923720268777505765550680343619464747223180653680171687682582029480128598929363515203257657038185962212954779906128444258782448769201222443948216170711759733850300219123941859308781510164498577146385482688820994426854148871237540053926733388762792580753586081379786289401971869892314086970476101904817369933456048677138066697843007965385582938855392603785192347246804909597553198261357012245986525772960716583383157514559923075258111485919846989574814139918670796539786774244900519768096793168670671971880848712338665790727629629968536161468933148494278050005910384022776983893979904737314425626817203737304405765745775929578622682194731985889831297388514122470891625502444935417715188566198301489917771846924506575352357236256629905715311122267377068456258206185336137910111165006847101429147057710260905042641081975481340311439038831020380010233146985687753265677292107343983816191358206890952467052809197978712350568137226241461721807453924769827143854048395230109254311188155036260049232087321626090550904219547994103945484381178665378129277101059112482685871092400180581177464415927462520873185078131601117236467681929352103399665141906366136059017493826938897115389476524794798008325802762701407829771246434246291667478851116107884486031159648039839725128356943932028365900260546031401231723203000753187240992796585628378567234109476032328359770055605265195870308309841095758113594323355129340574842435073316995014637678724231038807702663528115268150386524550931972395973473214632941017407512833614747364530806949360053689008041376613702310393027814737007938812978169570032997833482227484419727351276195828712878685749094365897301062367618246108808368966218974385065648370069126649070888453525910234127991838141814072890150159343929159327845188116033946779833537756255600868870444700671361003581074010421994771690449692725566181923934177541181565291416418773169565677865076296031247580160899441331819859744359380674907231662965906798001148290107707086526600924019646615117314231578244822488414814862733544298755742363867212408738555524792908462120008405762879919302302482604039186419644188124558702332291443457344115082770627357569648442431729136718377933427485872119920455500737879903717873014208391988111762556463276162711010872962510087672252855978548702150861530112823299025317371733133991837664925821313267370924331834368576339059455808467313554429080374197859431641417528582165047378368145446226445563100215879573874013104024543592570938281327447114947383363595403167286650058719895275393643724758016098624831591280514636199345573618846578376326480315033603807316410270367765351296252565422262671583830824467232804794519742457119402887832260093016649364394669028604743284566582374783241807271317050159479212571925577401955854579878430851650805460645630606342714386723368314610702000132636476444826039301413252849071926600390400463584878409807776018256311242553936340372931596922810963907131449039297602668571492693258695931359091950337151779387211166715866411777325739501313693193051406359739814694525856554625314450166243778774893237812580418112397955066955856755859704062824399391146821199240414496692311998773307596146444590772198711563739890663635739911553174518559175672610715927007972490463582224368006505564964338852377652072073476932013118195720942133001621537892275563706005128076885646389206702312057961052150499859774527081941422778965517335668982227790221925642749058420743680046672283164623067867457731546869109647936117851545547031488811078496411103597789779571701292215330998424039565561913570348105864103489519876631735015831342044279383145711625304796797685357366236244173376851049373038403765656786856598144952458653972047281791903432920468777384898747640621816583675736720793223694714538594932706503669996513742896011298187397316951745193076719245640787724092829306691407879130856140895445312927408122829260496455425438079387101886804452744081831574039880607973676319002964414836788313644536069730772874176731912401136855577080022338819420208530813955984316229621839766863118112341915930642508437343417824023669487103662587975760002542525269694630209184281237571222164923146892678732274192843901949426376060800070861627072985443369320916337833282188146557937756903680995319361712704013691368123225245722203774313292594658108693781629776328027965223776969820523473458304784907241036589244974809603805691898892882850780050908336001127234189516902616853021443625317541957911245259939765758918848789170613467920555899719268930500243614360707615748504346864127375227714836136166413619527686507753360623684850674905387654719024454606649145207104305514318596241105648943339858275360005926543465757706582823577643249630043481702417421957550698109973601544384844772683640183928569055685231157782528933141072586805725576316407647867638730432248803492350870388703359310441861651330984301656537163097117843117726462204954618792332628693599472891710808578367268545983654481168318561707688678872616426758958029665449280259404275522342562651127724673741775038787597509310979038967405261982046977985104211513234629207359679841817334132166874925823052671185292766799231001476585997138590213251638724896273370472740139670155268356518340297495595785393960206331130895052839523614994600079833075917006247335893688871727937425847304109976167229124628520996519044604504803312259102251024114253047031225258484476113881995869052111874366299477179916292517105431080552287609626266902086274879944006948242613073267823097190995573233246843798873425355916010775418136442713297667560050777983305533331552224932905962837937595458045378308638909364235657373233674894475417106807992385877621267944026075913567714095901617537204621282387792990218082995102012528453960283425063423190170603855877554783458669185637545189097084781572783710704469910930359639167607907790439140039305575250108075021808036422703896976575924814541300025180895465857426296903174853393594963129550486872678631215289050567783507705992904728178250041711918675735579696359340980665680560638767116692006840768979595848993446624748219937276337646128300704855177697658839823925457381764808495924960121679550299452795900954220255973819196158142771425305009198187978287140942715274555483427604965826140133281379056891060511295692766898591275207295952452381087099116155134395335015703019709927502905590868064731199146149103869862263434072649809180167498902940770922279009254656966036135389789491232455451731303426590094088901243465946246554738093255054373128143937014256404780489491561858588634878368454467867929222151022445268799916460717585569685167874206172529539890675476728573205072258059175563505342263560349601355078421162757490205479108374717312170527638394769042156042087738655293098826775807915017658591435623054811514018109009245896151416868590798176261951146373691551291781699935484116564635314634136835142705478240531996676903175928665576244089940242948651696225644646832074195279766040921791844808370710915719509818858640674367422575740954471081003436471595835393416274146356191682684628178002522639460861842775868184401683644021472830681159022066051827157366211258886811600520319686422409942596488454099680180165258148159910940410531585957176110902216465592127580317938446496134535312434809847486174813342400806827869055400217475933771227406356565241318066881745161218265820973535847470644337225436453092376429482932839538885836889576262618431794362377637689340225931837700040104176221083298249745690972774549561052616182610875168183373805668499462707424157324776329601674082796541220387787422741299575237860785983030147909540634863982773087816465956670413753463333382118765572828176985413175946984800922016036213856830472237119284283207986737661372365270335074131130968489799257361684431101142421330104863574349744078926322981092005613159255841450648436385726531708296893943309427622946213509137509938749026283214255158989281848064344533991087293591063695401991274033782382686123351324028825047945453143947175616391483730178145530291134024007343846577756800192116696411112399200639776837451774526479104211050088661549485721336207931473386567271530795804465922283606531424840966537559442535295746950459499294033876760022708189296258911639683447418637302810891315866363178906763158802477283616668695616970103583966726153380062990405943700493605997892255130987532527444891270443313077239225826111881192524969488332617891036723306164365421735039331290879523680396563250239362869237734555206480812219170834141207233789037231998695332973995095377830324025881339306568741085570685491113517501811524397574809968975532928320113908228851787110632243368379704238665472439869680755027308595988904735017192229506194137480646393185318892561472756430555188544661804051355591841290410581696875261365820060147894507776475132332835234516666524067081050613563741362846058066518716050273242107141674815046329278254729308029912809467539618244647571856894624040480227363892345444818312803154045738523894663976217344681485342097516654443851553795702614035724122617231778543670276096259007451174683265523998296109970175950330853572372407830714869584538089233679147082144777927199283606378917820446127970657226284672008241682889339860568278752308293231253440059266453700875479846524962868818427836020209093674164035739976919817624353126945585510026313903610547580829140440093451525219747811110372350628999990208804750732618802040586033618130235938988310304270975274946321423317549581653997415737339283435808676821078624809194630766485939563265229123555299403412416796690877534927169848928959973284694966481572658499055047231337629925896069113612466254175282760722921412068899105669327794506516165967957756953645993644491922086171489814121069187501356943971666560237946800506017651102313804634885795004876675626701161861906860527439877961164133016862668874483672221224806684395043811633562924233506358555061167756089206660885263158978137066610057466537010935254095305651830397187928690197929303229563214216000031239269193104650232269220746897487233477197816454809925098324228043592534875893413137791824650394914223642197184237093464860380363048155816323571631224510282268412673321514041937364310892877689401320108357382845868183387462359285352387152236711901664466328264959995731061530960071768505437249399782450620027429282977374089394519317873923863237384574021855980437634449630330038577433206771217701544720608650155796213231035381542755316109693431704477957598137093268146057965260333130451427063861541437554940587270856666321676565939039499343014071773313377424569467061517993421379808044828553796147745569302953917464388112925172154940455278167741016827903078469865815505159162709163191749761821146359542413826586456809249992611111170322477572308722365079972130362101389361034659834572923055155087042841713699173584940553500622641982102225745040916719356306684403706765153863891225098676217565295896155538569983600401527011392175049262625012655734939133232898530703501747759193032423643618197295207409922617898805293368727954280583518936371725043397614348764782432331825924017697899995400351385939003215014963427721801107577433333920988054087223596618268988941698635106868073476425403398453854082057603878123285126097268380114487440807650376679625411915256130445627082420573968983990054313000043667188551880385577174781048342411909288739316904272102509762819785735244018326728739752767065208175571420556115903094000289984528901334950171804526249481070549868255116911267774527601650059555397284057572375356552701743449162893731542920058315228521659085763895284717602034782569065172689554556896766398463138626796615906779747383911760912277189505730154133091846945875931427675207718614333338868851611891687646262632232914554688189312876664260630885517613579750198962354876166769587033310343285773868976083360505025713217330737777553720637931221071269839586101051317059279746002496996514260081036071054577016306190639870443964539199911820089110124041052367620349415370098852749357218776922341647950184830050503370145400402364698139393964291968917974374428832093197922451754948230575081916279809322515235586357146360552865098667208722778877490900575186304637280811470982570034453904017783900298186831090199193561018280502296309698955951528943415207836990621653680512430709364974005801000917193589807538964436148119319914610796686338347667655463907170872537398023522435741165301217172667273765263413334236087832825173068396038785568418571145710644554058044228477041696745078433588788611174258439512347377156008677303000161207245290921735531278596871479110702401135540591846908745854240791211209538591836110517444863297777751521204768144090501377126115326291003458552704908401168017538330045779839664170210549210721322478732456579511313480336375091187824142493754190128202472900227494736886538134553620877739262011655351915610566571310743684578288839014468581523723663949421088573922119615167994294074270240469376093172431090333685230211032764824798005031351546437722350305570140576337654596232987307697939253288829834707651179142502099126196757247005367392082415818765522620107528730569788085726049241127935627055636471040482840947604817264533453522880300289865808977524096827118452518652330136080148621743702268476772258016186353811375724680087774603271613003865864989755928098870233157097956799574055583602762943559885135733578143876548085922615254542587752689524458423248034198212692311538024917448605905570704176495773811512804893443001779179345444841916952612645122119250270686450250110583432167722067228836481481845110809168612270292692284603012882538064997411040909888734814692867340522987345481066970842068338577207478494313263684349230900691848118571273647432757610030803948160485040269832969449558958515880686381043363086944840242444747933529253837852199631455694551447813577457192158238072449200828012201422577332252520511509859963744236009163765746899907881333824835513396744744906229278587807269628379626764637188651285356613166365578974388448258246415218570165610189286459024084551961366569428958318039877118770973467365014193516443137255080420167692743497568449029949837184269380406136387721713440481435846508829318218383809053459044689247019811538474740870712907884042390361675244330073644943064001699703790242064658840230854090130549189398408577822639454588243218269066942365399290489130535571857571364436345903269841437505769534806833278194587062288065709161109203174375318175644774643446459649565413004513545032467307925837930144913929048037645661104668701578070335107560112773154763187999157757028334412451678810471111292553558337302031906142789370354522803136076684017622924029809462928370634971382034979775629164319970515431349703747851236736920110471484155010428577451924187030735600859768292006363862713743603536659663270455152921014085202579330389390561148481769942872269621396403390688625560850502305547349626858586371703969088422338059388930050271913607239040825774516851569673376098667461782750581636460675029056378141870972966204504491873463086881075929094904704508029770206882098246491691006026174974978646096336141831729444600530898059733600553867063426495926834118884192004846195347719143046206254214528714624321305105676819549404767823240180102410108917951786881102120322004421822448254925031511828940852153120313880587521190166276706842054463502702513213055954410419851622486390445039131077819149951219445419942599612148734010712460026487657823776909633936348552917944380488329318251227075332938565146860404079431553024161780557659152541815803815036117621942182732695306678273386144391467141423346461635860515403409378301078666640352883710830874496950868586061092196734951352777528277601803615479384757141523234751159973628442727065032238777089440468333539994790409020384866669305304910530272953777186009540651194040332674875895725813288291464726469040909330325001758804303624758342118857917080884093452881673782586661167457700784162989265341854696352836146912188338357930785846460199041008211952352062771063881577609042831685074437366248997542949214724264267239510312881193207666402645045667912533265365150263321891556235425506466551698840079330231508486733050363447284749923847946227470502976680564725161171657752656425430041107192163678435743904114264018918654672049269964650759887483484505557672589783422876149666625822513125408570790569795938445254072367460165487871774660202952753114856372763213100754788994471646402824681456684336241370036804036329079355953484779491409918251510340526417880606958431354676713797160429617151111435308625170413671268677357620580519354459394489269945864609290381596133998180770448994643405680835231375235596111135788280467776925076570748310682622020152810382180643372910507376334478696795734772355733986241157200086664100303492265750814511756786551738276662734952720949424607094316258883424489728642107771161838414367787185233355745458953636770549736154060619190854194855925360930349551184395292560730142534669669515963532647128380272661223434141088431609817667037366875106503251468968257802932962142485620133399038028303569763261005787080638255613118198290538015612466666989116982034922292825091208027560349825828752207736944575549407744252668911612572640379956840276367057448221123048869256172366378896237129326982504163645624724704177141181313534829106083104424869509855357650707669766739906635080131153366757454798512287488987738119938638831346500406292307675061994086217787581841186030475472329571746780795838928118753448897330696696536214453217197342495768217032415171840736331261766276558393600502490798889888823285558848392134245696481860519583685127777896381258963698598766897327334594093461374894528367514058225884667007863096537447085608401085850315111960185353183771015775887847243594655845930248208563019074631821927483787280132912188575348005471911930896529972450553453160317290033730935114580925691647910747763166671314511611549050705840811743955872401596607338239919070992607352697825300970360503571592825034498160294647752413222805588403499449916817937415624732494427731823968305990254338711082948297599057657757376623872673864137840240336757853368680932448932392303028225494599061719584773817837763318826457698428649762216732376465591754499580751300111634156931924321094800656300402645460323768272835094464077016083701378227686139670280100184171983679524068602260242265723763602539496829929982986177676498386068438531797876380462928358026383581277682504786783852391590123139402728322724872522018699873750492657180061202956571842504649379139127167577647834779374843284059176796968658064976784452893634822428809432211344951877662132827555995528504280415881544406568648217944079950040642064635909152100096246916920881042862906065070521529133529138587704007240450189395055684886725162094531787688760718770610401274999193280681676665057205349855799204006606920665460981281441741680878138234680857253497386837154961256548885719915788265544116538955634253707218049294780080966914115111307579658183042101154294773743667548387565274895183906031014489778698002379590344664401271120065689386915594890104487332128502828092326208719886496721892129909582740698926012432904933593633626236621699741981831058425681193168397901501771744457287532234490524622083490562513267930440521803818218451726800142116913172131524530968086912498703733924935854398157614133095803084662117752945420547891152444530390568220322662082878638214843192029002399457537945121145711503782869530820133861630754441053992750874217268373505436239785597642653756828900660243369563362857237494309726263772411514206096878360695052985180392755392215506201592472290588308918763051157668678363662194419336053081832266890984793177012238225724577535787046733516517140019286131389481961838364283875440402773297525583986956959268567528767242930810574904744070428491161269717411149635944411707418442331845830493383999188434318143365945186353533140066132604603936124222792837066107302037649664982708956725809582966884340844105008323712124104163380942195098319732162733086742948069635166618068410800777029561273519416022302651365106954263959627691560291704730661519799776694333536838439339766403004867251583672351787793553725725212070648682737750586181396664232125174378756777235922851345958179791707031047822243484297113130372694928291853460857898143785294854634669668737027306219242930166989515462761009013272823190339472273710282910578316445471284912049481876159542365868804649560723689638986275030088362634566963535332870010412179348716652791507766575096082602296239908946379161329124440236224508533663336457772118467418881131640923944893948580564926976428188751517673076037023528197634021625303958525268754260243185051264132328657348425924229038022859191286579086406963088360474936782231491657383494919518573226924474375527014517656453075764811246875671875108510016684532379628702719743659140655426560177065097785469713835954403504761100793040920227936627256466165016772473171643606595525313109084681497788672523459779685643049429261620820693898289104428191405851918843350987713201432201412080507025597865610093684256903847844462986010581970359646116089818556959982226967373004655373135052477798871209443656039082106623959005839024184016146525543866177464548335944486373801665732933139792414905363429922751869831575393498755469174007473758637280823701932660660066813397380902034240185259065758295534438787813279666345940443351298650385596522975695073260892902892989655043294978784776642696875433590040354255790303512422874825515095240295890935297683085997428842766042182878002329838891090915774199082815116407012454813531700842710210252482487290406884926674542050271863413473592225907659042054322319647760490985053642861449590431759841313208717787977681688564970996753245955466708257641301731783015326309553975259731488953073138210758874430692941695556256571606003359900481143883008139988407866191307211379413246639821261437264957109527352986466417450705840595072037762262124112901856089201998094095354301283332224808499252274270434055535391236414259446146726196654343649089935643797813441557189404050249581446454640080643813406545466764875984543134130473552007619800160293437252698582308308796601957149165650437588809965184658131255566613693643269479951771273298076565811006287790903871936324189920936210819184238194695691286029427774687726482153723537024610222704062137396767760944893775360644360185695529665162132616262675658864335900387914331712205447939301466678012845045289526866450653689202160340325995041178618630960516619880941313755076425553939369940291442011268009226505769898324995434353717792908349832033670648532872074611901081939963916738460357557856085052938920044588861318181662506348743262253801269560452215012188445447798115540590504743047815003190164377657071270843171145726723433818188097055887568919990751818274158228755366041773827903895770388701785743296571403271586143822607655588163637066984334587554645211035620821916549159706776103725991972405256838029186091759981810652134469907326520058050169990141614097127573206871631100620720473376778568394236134484960862648813553350815683735638039977438266165921652860014683061691117624136538049298153239350120638190657851314168335174291317188803489566780916165763933866946369863038497375477366304043760228253366331032223807871743149662294382035443570081104982625142158517750822816954267215496856815368162127869989708039138725225517150616521393740058169762559423366729516676879074122832752173382317155894295400895141007288919235905988344414954707763680430125718241397108024631875146066321665970861558421320183813656899468682564233008129770130940371611610159846323433693968953377857191045894108004658863897652533196383054654844381738371817864930645824314543509384108466513993685606395827767627037526665661081591771501758163840368860464185305653198384631378671279369914082789881754566655754840280803483027190697176648550486676776497249538815401116407676246321755313930717726305648175401658508458082523037111669667335630921515788606245214026850643150278230064049728688452629717087511987745503362194754408754694290378330491195565842451381381924366026305802219013989698834167074099988045982970152303348672132804425830269321423263152601976049585742565646331906614316612762760948184283867156761247873188774133878576193475429523321198037806260272598407461929104690561918436786606041541439365077979537517148234621913167936602945551285774859822404491483337813289604893313087465187099906878644607780501727556609185488078295606518243966266668520578540938154662070971728896936337724804774249106914683194343696404450061670310515881715503117325627130981714352267102739957239461013720204550541512654440050604505409555768245785498815991797405340265857047664960086010270997343601045981197449347148017840678389951926004224202277320911016679277800975386566664949261991797545033453084093514173795194143988555438647412705270204457446800065263786914605347377648471707232607356233440033862619571118117787942828640543143135877820370757630400405343310803211773903516636835501091179541930010343276106020046718351949322744701340161790078577824454543479954487917918681029734581101532007612805742980090772266629119521237674035643567447999467402228632858121922978762871523113076580493463811630049958298200603135053996621725229403586677837399843825351661812070556544352843338002485441643823403888247214987322368998190566475276291288627554256315599365339687929998329875661359264544381232912546678460374357131162326661384883669222975556152006604016477594852420490163201083924499649566248004235080196625033546081198607152546758035459685351537162748147479698753491766578068782323141813545945534709431354895679450758639010565901461628539938371116291874831698392175248823549411937754945000765310739075326591085058937758761441993093861817686393358623135399630408542333763189080202178972653378162701626043795572104976123201887286779196944807852882574316241872063970260119224807347002578048072034714717239407199341399976647314685226538630394744384873705420249271653896000430993245004771555631691874599484268564254424834071827596503931849049736486817448314356527117724531054236098410813197219634846805570407856712453670045525867637438328423243462326664855343518534784636832522040007954137920174471398337163128255084933949042278259797233748054704166534377026815028373771457142323898564116211407016998885087274102214112043707064440592584974888728225505487422337933449521560443458585007141463716475536255195395790695581797029554785588215027402493408978576607817008568594533152022132882119954458881313846449068720265490453382439281052856802339856602007307719540610723968344544146852891637358239119742839342806688506069345375773813510058784786022290212356545645469688002564457302609434112828125814110621609145668086644645695794704276585979881452356532701914048225592597046678522701765363902204342915495888132000879482751160692973005771945134079634238476057347638872821032312173476563448322817934953424074928969249237886002209658515048971545024940882441622975691812706709172420833948836133931847173137505530667077834922162126955024323582006600515939047844417889064304504218187602252538453661615634208885885717300400591535250964184085681849633326699348497744861785061784804550702362386486050830176736640162149258114247505452071456650353632662587869073981654005856635816982336034314765821760382661943403241487375667983585879858156374378083916885068241600847708760324539147565957594209097304515161908256397207919365809953575973499274012658762680036019289049811404782597873907834856658962739478162397341435093794168398229357403813904555565053305445679582345666151007485653768574851384757210602728111811673347019887264951027587004720258294684566527908577970204018810013628869994512653337061549787695569274366194721167137336694247914885705261700463818276545379787051860880597424988021871242668143985613302175470116837804912119966595009648798034236162030218768261340897287477516918746111659319302323521198027720271386743703570794941568501458724968424480498332618852353356496912108663296240895687065066872811662911338819650344491175834520688834126582491610610691571188647550155223856781304458523986881902595700745726952386614077226441592007922407744146740235207855955723241320641288109048203732400565982617378251963672520954706737799206012887708371567978178312302155394974478745189494031599353547793876421433194527984046393418638816763894687417045479717456198230067539252123157918673516066513757628459694097146804874229577687874289090004258520167706140792807657852831031106053796236957712063217971443697356350597942857749550647043276892298897218504868058232603189967866877539556335835332903772243053680002677602604507729253604129751372438146855191771956476849301949015993079816065292953640224774276859522077152484754576400273486343869416956268143683538291512029645479798720449794246775727766653000092146467203437366167933979754101937431064672007276514558331687535513252930401032807892490377503830405992223119292997142903378173762810965771241406947042171789456385415206569814454787877376219413775399536174560711577237726648540604556665096778978408264711701999170664399032258273376686943569642949264908554268036054352273636162030970710453065968317167234516884733211668082025933014929008784831446479068064288540795132154773964344869077867588831295305028202826218527541681320780013216656070011904698364782613052259754133671584245101648259655009234445225078975679884480134567824151255951602942840056876889516287341319228217654635685802430421818718075285473345311712397539388422111720201441704343986742084357578183866494889107659211048816902070983014224739973807194064238930532341458597591001310734244453501147137969770572811625152229873355718791671018370310816680810447483341350932649070555342609074675915471903117659129019878951333923357711178477643847015775011911844319661016882923199403304890189360684897021583749844889762683670197167007347391577816830194621950094262549093957151357408427073389988139286919075625572000446219296679965618122527563369359606646031989736321631484544749924146367590845058072465254503757451967131826440209678002440733926580150242791858293029345974552105941718137136551031665167588060842052294428957410417642103828148245464210605376768623119013334011078310518155018523005768330110641006924860726494871244098002228180684196094821506216339246841152514046637186508904561554279173263005171396507925106656948451560988092254074767735473183265696518594166198406731421898764064310472577590636021246624285533526777333021203704160122126920042751432856218649139512582524580743792907058114310243843489142126746668724957892840707797836718707854340335939777957602861196716613634393528100750633033870117343046364477932846288685544402185464314596057690384512961140006485474026544488892574453347485330008219297678545923885413441765714993089134324292584013605833021371507201800206908764614646600164486454265040324221843591365234400118964560241137687507591538647440016632620082721268253795028073029213293470827286458000969837919522675892496651985176348448264619070429725328484945274006483652217897180262248898543504354942991402607386818140119346552162932860242165178843992325140693184146739775369046822527434744913938943687848803328052997761552762866634451800488006443172303938036590580023670394370230293437691795775712303887038437560425131898742158769954480527337420355715786564873919723007276828932757932357881227321057960993363642555131354651133834877819176594057812520422354219947880587984119614836048133767670881100641444382315093620178451471210589180428022038385201655602562096928054379813662041033126652632795619759321930113221376345925590143349126142222751915101254928069330511972153582742527074059739329274590181734538197265253748088958675694781119241791896606523151666088232325429299989495227901833562060342257457407488569606376038522625191896243658113474254237925512273998667085773520616068973702937880218378916121033558079378344943497804491039232825463614195392246462170012171456570947327633616141106123362880486903069740828103725044162260999151095381315112106605161204466056443288680389913911995199743072013515506023648846919869975456672102802927759308258986275098636439575279725954465551941121889108451303100741812504413190997445491456675018650854567428115148500639185480880490089194206721879951812549060061389146291783783599810374547575987386655733947368036607672163669213305670973179654377342308253262274240583251187117859712234595725206467666750958002221819949728481604783265476203799673769566909283247298428556881084418319568609541489882148447088699833432150309431510650564275146230421225236681936435323692756594867477633384782527381995404620567571615954668321380935977298427389292311046088404855732678972219008861438430838508869752167573899262344728905011446414422004502810036312049705320934587626317880752188255097579910870274202400608278789404125854170924378502479654674986290811050183398175991464986901141427635033018759289291610411033766536491276285484955159254477787247041621198991089081347938642792490871894147331287205273176713146622804127584918303081402982050841394056929882224887265644259188530889460465873122157892839213679566739207912700377101543937193765136665784905844287357837951430745665352596703768918543025386565154074818783509122999722944087855320411328817569474315295408568244259441197280853620016314390196225472075884636031814115154979679823926276156066235116971528982660565714022321398972174834289312000221280604975893544848184369302725258239298975217235370995876388895882918837920461461222673987345404077416120464015739737566499503269016990741970384160832638987988951215721201427538577140913004078462146337922484805894273656207505735363655943970137962042833340405906793401279077748591866830397072717969520413128410665388333298690562729863258193397314270783174007911499515171573534162722537182773404301128533844178367378934014116773967215279762747194481681477793417731356967631341926095319409552643138625856382465332150979830756082470242742847233525438254577107173108910358217518645322801090962963229452708532477529797722791140827945845962546016802169975039378449881945121298279318788868875504089316824495292668903738820708335731011383066004448998321194820168824551530396232542849932519275552546539834718740477051422084009321020015413934829209561639529630096008147066318837353189696954235909319617563577620140036203820800712841328907354861725840913064800736203702158358681925993398674430324823530055419934729540084711507139462429655727809218581671807445586110925128401147677916854450076717179646953385706616585918431931074486721509928276272746740318302340161275556621475729437336933340645347847366357166411549907576784506162311102049700051501194061233733899462524205992708549210940739365478286049167551638280778864672648616349289058020171526158374015060187518742233675659446348998319746725229638723069527762286826237619723080237858204093882880418682630894086843179854312979640291461279068804598157633966350564075761368391979957208558545678882568115750344683816579650574772722162643309461110208943060419870255444356941713979533610915683639669997362373199755098134487174801774445651092218334962567119361068805167895743765631715389192162412874972474320854772937007251747753263661893681935601522210670622811029060081192445695643178834330640438956807232807357638105746459323845193708821668609669984315532167595143385737913014137326261434226946451504277123873935972074310166350675378983901934210591479058314023047934050507049594763720300893385308459739566531432562238899099287117950876786804217274867382964648634777765283589804899603577792738530128156311667148684848035564824408157730152300142518412568362334762206819649906026793153701138119437893329719702037761767483198994444668292360520399419219498777721954266119777958904846500768688044626075708733120243825392498673509452710845634829309563980369200074426328068880171079238178852638440000202691983469376008711135924450249962637528180818853667044928358733027872217111307436449325491170005562361085503277772968710469169269919018557632450897893060795304833750303692116161695647934619890096300306699650462730605123845275970138524282817311818249216313049548577911809384810451428229631441142709431791001833276070825696124743962317850389555959952868997681772995450066233025205293573556570063273987814845621898304516571154639695039721398707395864445842732208983965587973730149508982498225099817156320515641811604803308247718292074380199892135948214508322839504991283247878647575533643723753577180573317646883634538536413227218411892791075564965144620890775986627231043366025697919429956186443511671420025600745502742893572288298552763322811541220487535010286709100836404246330077700991330061817976115942578412380253622687959662764882770909370720107363438505878675196462955761964623697719439475876322483365951243348628190395719707157930753953419003570586194995125113289700082716247679476091540147511080570641533538831241790542978050513591400067679313571964203341726183272489073357380023468894841990868623513254986583167332813101207406481809835803588148736976879456958718493327398791217331826910860655219917047582186948429339039022397082136228593240137957455262753001853045036155443413917341877744660745688262661419557095269897221735903882425489359653755691157750417224192636919587118318954866633075227671275318157155781699996814867768671199331265581911329933909242125952122748061449389755316693828745593000726467862536707058533222947135270470154332783564100654517783458476372087416186894576175996123273713332933210648875022549215683038321803556871546307497498808237160305995604897971350393624241691711969693548461368172797019182211731942941382702612042120892407371996102873842782794867522615137995326340109421522561066479780981903377424813868505185356500751782640406372368562211969806559957204111021174147538279599713543122137024501894159215135925033730548653021754953470718888753234584909117459542468740365774658038575133034863331613993155222182775925376396233686683218543053983025651450215418379197665607130733778786640969674545746462728721557701029903457468045382832708240864843330748831665919042833099203816946291699365547111128789060794227925539868428142142102766733738355108171964141569782547860046397872289566387233259353563752071361069143919255532806994256059213825448769890100822157006854880206728178181149650222579413887262764565621048226524749042071984251887791569063070105837296579869992099078120424761922263930491600504963925840777400528605528534024667040899162649546015263479877985478674707527706519298126581592859294825565245673684079966634884327164048392247442819475376943818958870026070125351143735645925416355092735396657609074908697941786918457158175390553365676335813354505264433817264172955774069814037991851909909719579000787728092791519503903455027900470739396417346651061749569566194219243995644841482671726941109784679661045856145619028690827300808582462394187869342571095426741994376014270905433893015876200746756645927417724308754758487512557717930247003974062139098932996869067172953921925071146537308134713344784596126159658121750019925040502416324467544381798138224102056925997214734117448852742736973686452197972193164813019851410388237083577660974655524571668465535937598064419862475061461104362297339093623666936493914164584315057359681051349548913470163654190529930930469364437498797011590236211034387770424951960915762800154850031680616342519956073496380630398186550934881659237617628463595132762750740874385552040060361382677550699968398863492992625173530153692344441879109112639887805721361533007732463270728842635840969613346573070769270297071088469172306199386788139117315710488485782213256383351485261753710806455351167274757545809255075843398854859897748392996611240374946879910745884143636355424186964332148890609244102686690956248101349953207120845093049611891365987714789969477455152031208189919109248887490794796599841647581384197351015636388753004091218516673496866735224015072917508359033612054414301262062351470509698131025617748107570751614146603731263089438724792461559405115502635187708