1000.000 số pi
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151557485724245415069595082953311686172785588907509838175463746493931925506040092770167113900984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367702898915210475216205696602405803815019351125338243003558764024749647326391419927260426992279678235478163600934172164121992458631503028618297455570674983850549458858692699569092721079750930295532116534498720275596023648066549911988183479775356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255213347574184946843852332390739414333454776241686251898356948556209921922218427255025425688767179049460165346680498862723279178608578438382796797668145410095388378636095068006422512520511739298489608412848862694560424196528502221066118630674427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839835259570982582262052248940772671947826848260147699090264013639443745530506820349625245174939965143142980919065925093722169646151570985838741059788595977297549893016175392846813826868386894277415599185592524595395943104997252468084598727364469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635342207222582848864815845602850601684273945226746767889525213852254995466672782398645659611635488623057745649803559363456817432411251507606947945109659609402522887971089314566913686722874894056010150330861792868092087476091782493858900971490967598526136554978189312978482168299894872265880485756401427047755513237964145152374623436454285844479526586782105114135473573952311342716610213596953623144295248493718711014576540359027993440374200731057853906219838744780847848968332144571386875194350643021845319104848100537061468067491927819119793995206141966342875444064374512371819217999839101591956181467514269123974894090718649423196156794520809514655022523160388193014209376213785595663893778708303906979207734672218256259966150142150306803844773454920260541466592520149744285073251866600213243408819071048633173464965145390579626856100550810665879699816357473638405257145910289706414011097120628043903975951567715770042033786993600723055876317635942187312514712053292819182618612586732157919841484882916447060957527069572209175671167229109816909152801735067127485832228718352093539657251210835791513698820914442100675103346711031412671113699086585163983150197016515116851714376576183515565088490998985998238734552833163550764791853589322618548963213293308985706420467525907091548141654985946163718027098199430992448895757128289059232332609729971208443357326548938239119325974636673058360414281388303203824903758985243744170291327656180937734440307074692112019130203303801976211011004492932151608424448596376698389522868478312355265821314495768572624334418930396864262434107732269780280731891544110104468232527162010526522721116603966655730925471105578537634668206531098965269186205647693125705863566201855810072936065987648611791045334885034611365768675324944166803962657978771855608455296541266540853061434443185867697514566140680070023787765913440171274947042056223053899456131407112700040785473326993908145466464588079727082668306343285878569830523580893306575740679545716377525420211495576158140025012622859413021647155097925923099079654737612551765675135751782966645477917450112996148903046399471329621073404375189573596145890193897131117904297828564750320319869151402870808599048010941214722131794764777262241425485454033215718530614228813758504306332175182979866223717215916077166925474873898665494945011465406284336639379003976926567214638530673609657120918076383271664162748888007869256029022847210403172118608204190004229661711963779213375751149595015660496318629472654736425230817703675159067350235072835405670403867435136222247715891504953098444893330963408780769325993978054193414473774418426312986080998886874132604721569516239658645730216315981931951673538129741677294786724229246543668009806769282382806899640048243540370141631496589794092432378969070697794223625082216889573837986230015937764716512289357860158816175578297352334460428151262720373431465319777741603199066554187639792933441952154134189948544473456738316249934191318148092777710386387734317720754565453220777092120190516609628049092636019759882816133231666365286193266863360627356763035447762803504507772355471058595487027908143562401451718062464362679456127531813407833033625423278394497538243720583531147711992606381334677687969597030983391307710987040859133746414428227726346594704745878477872019277152807317679077071572134447306057007334924369311383504931631284042512192565179806941135280131470130478164378851852909285452011658393419656213491434159562586586557055269049652098580338507224264829397285847831630577775606888764462482468579260395352773480304802900587607582510474709164396136267604492562742042083208566119062545433721315359584506877246029016187667952406163425225771954291629919306455377991403734043287526288896399587947572917464263574552540790914513571113694109119393251910760208252026187985318877058429725916778131496990090192116971737278476847268608490033770242429165130050051683233643503895170298939223345172201381280696501178440874519601212285993716231301711444846409038906449544400619869075485160263275052983491874078668088183385102283345085048608250393021332197155184306354550076682829493041377655279397517546139539846833936383047461199665385815384205685338621867252334028308711232827892125077126294632295639898989358211674562701021835646220134967151881909730381198004973407239610368540664319395097901906996395524530054505806855019567302292191393391856803449039820595510022635353619204199474553859381023439554495977837790237421617271117236434354394782218185286240851400666044332588856986705431547069657474585503323233421073015459405165537906866273337995851156257843229882737231989875714159578111963583300594087306812160287649628674460477464915995054973742562690104903778198683593814657412680492564879855614537234786733039046883834363465537949864192705638729317487233208376011230299113679386270894387993620162951541337142489283072201269014754668476535761647737946752004907571555278196536213239264061601363581559074220202031872776052772190055614842555187925303435139844253223415762336106425063904975008656271095359194658975141310348227693062474353632569160781547818115284366795706110861533150445212747392454494542368288606134084148637767009612071512491404302725386076482363414334623518975766452164137679690314950191085759844239198629164219399490723623464684411739403265918404437805133389452574239950829659122850855582157250310712570126683024029295252201187267675622041542051618416348475651699981161410100299607838690929160302884002691041407928862150784245167090870006992821206604183718065355672525325675328612910424877618258297651579598470356222629348600341587229805349896502262917487882027342092222453398562647669149055628425039127577102840279980663658254889264880254566101729670266407655904290994568150652653053718294127033693137851786090407086671149655834343476933857817113864558736781230145876871266034891390956200993936103102916161528813843790990423174733639480457593149314052976347574811935670911013775172100803155902485309066920376719220332290943346768514221447737939375170344366199104033751117354719185504644902636551281622882446257591633303910722538374218214088350865739177150968288747826569959957449066175834413752239709683408005355984917541738188399944697486762655165827658483588453142775687900290951702835297163445621296404352311760066510124120065975585127617858382920419748442360800719304576189323492292796501987518721272675079812554709589045563579212210333466974992356302549478024901141952123828153091140790738602515227429958180724716259166854513331239480494707911915326734302824418604142636395480004480026704962482017928964766975831832713142517029692348896276684403232609275249603579964692565049368183609003238092934595889706953653494060340216654437558900456328822505452556405644824651518754711962184439658253375438856909411303150952617937800297412076651479394259029896959469955657612186561967337862362561252163208628692221032748892186543648022967807057656151446320469279068212073883778142335628236089632080682224680122482611771858963814091839036736722208883215137556003727983940041529700287830766709444745601345564172543709069793961225714298946715435784687886144458123145935719849225284716050492212424701412147805734551050080190869960330276347870810817545011930714122339086639383395294257869050764310063835198343893415961318543475464955697810382930971646514384070070736041123735998434522516105070270562352660127648483084076118301305279320542746286540360367453286510570658748822569815793678976697422057505968344086973502014102067235850200724522563265134105592401902742162484391403599895353945909440704691209140938700126456001623742880210927645793106579229552498872758461012648369998922569596881592056001016552563756785667227966198857827948488558343975187445455129656344348039664205579829368043522027709842942325330225763418070394769941597915945300697521482933665556615678736400536665641654732170439035213295435291694145990416087532018683793702348886894791510716378529023452924407736594956305100742108714261349745956151384987137570471017879573104229690666702144986374645952808243694457897723300487647652413390759204340196340391147320233807150952220106825634274716460243354400515212669324934196739770415956837535551667302739007497297363549645332888698440611964961627734495182736955882207573551766515898551909866653935494810688732068599075407923424023009259007017319603622547564789406475483466477604114632339056513433068449539790709030234604614709616968868850140834704054607429586991382966824681857103188790652870366508324319744047718556789348230894310682870272280973624809399627060747264553992539944280811373694338872940630792615959954626246297070625948455690347119729964090894180595343932512362355081349490043642785271383159125689892951964272875739469142725343669415323610045373048819855170659412173524625895487301676002988659257866285612496655235338294287854253404830833070165372285635591525347844598183134112900199920598135220511733658564078264849427644113763938669248031183644536985891754426473998822846218449008777697763127957226726555625962825427653183001340709223343657791601280931794017185985999338492354956400570995585611349802524990669842330173503580440811685526531170995708994273287092584878944364600504108922669178352587078595129834417295351953788553457374260859029081765155780390594640873506123226112009373108048548526357228257682034160504846627750450031262008007998049254853469414697751649327095049346393824322271885159740547021482897111777923761225788734771881968254629812686858170507402725502633290449762778944236216741191862694396506715157795867564823993917604260176338704549901761436412046921823707648878341968968611815581587360629386038101712158552726683008238340465647588040513808016336388742163714064354955618689641122821407533026551004241048967835285882902436709048871181909094945331442182876618103100735477054981596807720094746961343609286148494178501718077930681085469000944589952794243981392135055864221964834915126390128038320010977386806628779239718014613432445726400973742570073592100315415089367930081699805365202760072774967458400283624053460372634165542590276018348403068113818551059797056640075094260878857357960373245141467867036880988060971642584975951380693094494015154222219432913021739125383559150310033303251117491569691745027149433151558854039221640972291011290355218157628232831823425483261119128009282525619020526301639114772473314857391077758744253876117465786711694147764214411112635835538713610110232679877564102468240322648346417663698066378576813492045302240819727856471983963087815432211669122464159117767322532643356861461865452226812688726844596844241610785401676814208088502800541436131462308210259417375623899420757136275167457318918945628352570441335437585753426986994725470316566139919996826282472706413362221789239031760854289437339356188916512504244040089527198378738648058472689546243882343751788520143956005710481194988423906061369573423155907967034614914344788636041031823507365027785908975782727313050488939890099239135033732508559826558670892426124294736701939077271307068691709264625484232407485503660801360466895118400936686095463250021458529309500009071510582362672932645373821049387249966993394246855164832611341461106802674466373343753407642940266829738652209357016263846485285149036293201991996882851718395366913452224447080459239660281715655156566611135982311225062890585491450971575539002439315351909021071194573002438801766150352708626025378817975194780610137150044899172100222013350131060163915415895780371177927752259787428919179155224171895853616805947412341933984202187456492564434623925319531351033114763949119950728584306583619353693296992898379149419394060857248639688369032655643642166442576079147108699843157337496488352927693282207629472823815374099615455987982598910937171262182830258481123890119682214294576675807186538065064870261338928229949725745303328389638184394477077940228435988341003583854238973542439564755568409522484455413923941000162076936368467764130178196593799715574685419463348937484391297423914336593604100352343777065888677811394986164787471407932638587386247328896456435987746676384794665040741118256583788784548581489629612739984134427260860618724554523606431537101127468097787044640947582803487697589483282412392929605829486191966709189580898332012103184303401284951162035342801441276172858302435598300320420245120728725355811958401491809692533950757784000674655260314461670508276827722235341911026341631571474061238504258459884199076112872580591139356896014316682831763235673254170734208173322304629879928049085140947903688786878949305469557030726190095020764334933591060245450864536289354568629585313153371838682656178622736371697577418302398600659148161640494496501173213138957470620884748023653710311508984279927544268532779743113951435741722197597993596852522857452637962896126915723579866205734083757668738842664059909935050008133754324546359675048442352848747014435454195762584735642161981340734685411176688311865448937769795665172796623267148103386439137518659467300244345005449953997423723287124948347060440634716063258306498297955101095418362350303094530973358344628394763047756450150085075789495489313939448992161255255977014368589435858775263796255970816776438001254365023714127834679261019955852247172201777237004178084194239487254068015560359983905489857235467456423905858502167190313952629445543913166313453089390620467843877850542393905247313620129476918749751910114723152893267725339181466073000890277689631148109022097245207591672970078505807171863810549679731001678708506942070922329080703832634534520380278609905569001341371823683709919495164896007550493412678764367463849020639640197666855923356546391383631857456981471962108410809618846054560390384553437291414465134749407848844237721751543342603066988317683310011331086904219390310801437843341513709243530136776310849135161564226984750743032971674696406665315270353254671126675224605511995818319637637076179919192035795820075956053023462677579439363074630569010801149427141009391369138107258137813578940055995001835425118417213605572752210352680373572652792241737360575112788721819084490061780138897107708229310027976659358387589093956881485602632243937265624727760378908144588378550197028437793624078250527048758164703245812908783952324532378960298416692254896497156069811921865849267704039564812781021799132174163058105545988013004845629976511212415363745150056350701278159267142413421033015661653560247338078430286552572227530499988370153487930080626018096238151613669033411113865385109193673938352293458883225508870645075394739520439680790670868064450969865488016828743437861264538158342807530618454859037982179945996811544197425363443996029025100158882721647450068207041937615845471231834600726293395505482395571372568402322682130124767945226448209102356477527230820810635188991526928891084555711266039650343978962782500161101532351605196559042118449499077899920073294769058685778787209829013529566139788848605097860859570177312981553149516814671769597609942100361835591387778176984587581044662839988060061622984861693533738657877359833616133841338536842119789389001852956919678045544828584837011709672125353387586215823101331038776682721157269495181795897546939926421979155233857662316762754757035469941489290413018638611943919628388705436777432242768091323654494853667680000010652624854730558615989991401707698385483188750142938908995068545307651168033373222651756622075269517914422528081651716677667279303548515420402381746089232839170327542575086765511785939500279338959205766827896776445318404041855401043513483895312013263783692835808271937831265496174599705674507183320650345566440344904536275600112501843356073612227659492783937064784264567633881880756561216896050416113903906396016202215368494109260538768871483798955999911209916464644119185682770045742434340216722764455893301277815868695250694993646101756850601671453543158148010545886056455013320375864548584032402987170934809105562116715468484778039447569798042631809917564228098739987669732376957370158080682290459921236616890259627304306793165311494017647376938735140933618332161428021497633991898354848756252987524238730775595559554651963944018218409984124898262367377146722606163364329640633572810707887581640438148501884114318859882769449011932129682715888413386943468285900666408063140777577257056307294004929403024204984165654797367054855804458657202276378404668233798528271057843197535417950113472736257740802134768260450228515797957976474670228409995616015691089038458245026792659420555039587922981852648007068376504183656209455543461351341525700659748819163413595567196496540321872716026485930490397874895890661272507948282769389535217536218507962977851461884327192232238101587444505286652380225328438913752738458923844225354726530981715784478342158223270206902872323300538621634798850946954720047952311201504329322662827276321779088400878614802214753765781058197022263097174950721272484794781695729614236585957820908307332335603484653187302930266596450137183754288975579714499246540386817992138934692447419850973346267933210726868707680626399193619650440995421676278409146698569257150743157407938053239252394775574415918458215625181921552337096074833292349210345146264374498055961033079941453477845746999921285999993996122816152193148887693880222810830019860165494165426169685867883726095877456761825072759929508931805218729246108676399589161458550583972742098090978172932393010676638682404011130402470073508578287246271349463685318154696904669686939254725194139929146524238577625500474852954768147954670070503479995888676950161249722820403039954632788306959762493615101024365553522306906129493885990157346610237122354789112925476961760050479749280607212680392269110277722610254414922157650450812067717357120271802429681062037765788371669091094180744878140490755178203856539099104775941413215432844062503018027571696508209642734841469572639788425600845312140659358090412711359200419759851362547961606322887361813673732445060792441176399759746193835845749159880976674470930065463424234606342374746660804317012600520559284936959414340814685298150539471789004518357551541252235905906872648786357525419112888773717663748602766063496035367947026923229718683277173932361920077745221262475186983349515101986426988784717193966497690708252174233656627259284406204302141137199227852699846988477023238238400556555178890876613601304770984386116870523105531491625172837327286760072481729876375698163354150746088386636406934704372066886512756882661497307886570156850169186474885416791545965072342877306998537139043002665307839877638503238182155355973235306860430106757608389086270498418885951380910304235957824951439885901131858358406674723702971497850841458530857813391562707603563907639473114554958322669457024941398316343323789759556808568362972538679132750555425244919435891284050452269538121791319145135009938463117740179715122837854601160359554028644059024964669307077690554810288502080858008781157738171917417760173307385547580060560143377432990127286772530431825197579167929699650414607066457125888346979796429316229655201687973000356463045793088403274807718115553309098870255052076804630346086581653948769519600440848206596737947316808641564565053004988161649057883115434548505266006982309315777650037807046612647060214575057932709620478256152471459189652236083966456241051955105223572397395128818164059785914279148165426328920042816091369377737222999833270820829699557377273756676155271139225880552018988762011416800546873655806334716037342917039079863965229613128017826797172898229360702880690877686605932527463784053976918480820410219447197138692560841624511239806201131845412447820501107987607171556831540788654390412108730324020106853419472304766667217498698685470767812051247367924791931508564447753798537997322344561227858432968466475133365736923872014647236794278700425032555899268843495928761240075587569464137056251400117971331662071537154360068764773186755871487839890810742953094106059694431584775397009439883949144323536685392099468796450665339857388878661476294434140104988899316005120767810358861166020296119363968213496075011164983278563531614516845769568710900299976984126326650234771672865737857908574664607722834154031144152941880478254387617707904300015669867767957609099669360755949651527363498118964130433116627747123388174060373174397054067031096767657486953587896700319258662594105105335843846560233917967492678447637084749783336555790073841914731988627135259546251816043422537299628632674968240580602964211463864368642247248872834341704415734824818333016405669596688667695634914163284264149745333499994800026699875888159350735781519588990053951208535103572613736403436753471410483601754648830040784641674521673719048310967671134434948192626811107399482506073949507350316901973185211955263563258433909982249862406703107683184466072912487475403161796994113973877658998685541703188477886759290260700432126661791922352093822787888098863359911608192353555704646349113208591897961327913197564909760001399623444553501434642686046449586247690943470482932941404111465409239883444351591332010773944111840741076849810663472410482393582740194493566516108846312567852977697346843030614624180358529331597345830384554103370109167677637427621021370135485445092630719011473184857492331816720721372793556795284439254815609137281284063330393735624200160456645574145881660521666087387480472433912129558777639069690370788285277538940524607584962315743691711317613478388271941686066257210368513215664780014767523103935786068961112599602818393095487090590738613519145918195102973278755710497290114871718971800469616977700179139196137914171627070189584692143436967629274591099400600849835684252019155937037010110497473394938778859894174330317853487076032219829705797511914405109942358830345463534923498268836240433272674155403016195056806541809394099820206099941402168909007082133072308966211977553066591881411915778362729274615618571037217247100952142369648308641025928874579993223749551912219519034244523075351338068568073544649951272031744871954039761073080602699062580760202927314552520780799141842906388443734996814582733720726639176702011830046481900024130835088465841521489912761065137415394356572113903285749187690944137020905170314877734616528798482353382972601361109845148418238081205409961252745808810994869722161285248974255555160763716750548961730168096138038119143611439921063800508321409876045993093248510251682944672606661381517457125597549535802399831469822036133808284993567055755247129027453977621404931820146580080215665360677655087838043041343105918046068008345911366408348874080057412725867047922583191274157390809143831384564241509408491339180968402511639919368532255573389669537490266209232613188558915808324555719484538756287861288590041060060737465014026278240273469625282171749415823317492396835301361786536737606421667781377399510065895288774276626368418306801908046098498094697636673356622829151323527888061577682781595886691802389403330764419124034120223163685778603572769415417788264352381319050280870185750470463129333537572853866058889045831114507739429352019943219711716422350056440429798920815943071670198574692738486538334361457946341759225738985880016980147574205429958012429581054565108310462972829375841611625325625165724980784920998979906200359365099347215829651741357984910471116607915874369865412223483418877229294463351786538567319625598520260729476740726167671455736498121056777168934849176607717052771876011999081441130586455779105256843048114402619384023224709392498029335507318458903553971330884461741079591625117148648744686112476054286734367090466784686702740918810142497111496578177242793470702166882956108777944050484375284433751088282647719785400065097040330218625561473321177711744133502816088403517814525419643203095760186946490886815452856213469883554445602495566684366029221951248309106053772019802183101032704178386654471812603971906884623708575180800353270471856594994761242481109992886791589690495639476246084240659309486215076903149870206735338483495508363660178487710608098042692471324100094640143736032656451845667924566695510015022983307984960799498824970617236744936122622296179081431141466094123415935930958540791390872083227335495720807571651718765994498569379562387555161757543809178052802946420044721539628074636021132942559160025707356281263873310600589106524570802447493754318414940148211999627645310680066311838237616396631809314446712986155275982014514102756006892975024630401735148919457636078935285550531733141645705049964438909363084387448478396168405184527328840323452024705685164657164771393237755172947951261323982296023945485797545865174587877133181387529598094121742273003522965080891777050682592488223221549380483714547816472139768209633205083056479204820859204754998573203888763916019952409189389455767687497308569559580106595265030362661597506622250840674288982659075106375635699682115109496697445805472886936310203678232501823237084597901115484720876182124778132663304120762165873129708112307581598212486398072124078688781145016558251361789030708608701989758898074566439551574153631931919810705753366337380382721527988493503974800158905194208797113080512339332219034662499171691509485414018710603546037946433790058909577211808044657439628061867178610171567409676620802957665770512912099079443046328929473061595104309022214393718495606340561893425130572682914657832933405246350289291754708725648426003496296116541382300773133272983050016025672401418515204189070115428857992081219844931569990591820118197335001261877280368124819958770702075324063612593134385955425477819611429351635612234966615226147353996740515849986035529533292457523888101362023476246690558164389678630976273655047243486430712184943734853006063876445662721866617012381277156213797461498613287441177145524447089971445228856629424402301847912054784985745216346964489738920624019435183100882834802492490854030778638751659113028739587870981007727182718745290139728366148421428717055317965430765045343246005363614726181809699769334862640774351999286863238350887566835950972655748154319401955768504372480010204137498318722596773871549583997184449072791419658459300839426370208756353982169620553248032122674989114026785285996734052420310917978999057188219493913207534317079800237365909853755202389116434671855829068537118979526262344924833924963424497146568465912489185566295893299090352392333336474352037077010108438800329075983421701855422838616172104176030116459187805393674474720599850235828918336929223373239994804371084196594731626548257480994825099918330069765693671596893644933488647442135008407006608835972350395323401795825570360169369909886711321097988970705172807558551912699306730992507040702455685077867906947661262980822516331363995211709845280926303759224267425755998928927837047444521893632034894155210445972618838003006776179313813991620580627016510244588692476492468919246121253102757313908404700071435613623169923716948481325542009145304103713545329662063921054798243921251725401323149027405858920632175894943454890684639931375709103463327141531622328055229729795380188016285907357295541627886764982741861642187898857410716490691918511628152854867941736389066538857642291583425006736124538491606741373401735727799563410433268835695078149313780073623541800706191802673285511919426760912210359874692411728374931261633950012395992405084543756985079570462226646190001035004901830341535458428337643781119885563187777925372011667185395418359844383052037628194407615941068207169703022851522505731260930468984234331527321313612165828080752126315477306044237747535059522871744026663891488171730864361113890694202790881431194487994171540421034121908470940802540239329429454938786402305129271190975135360009219711054120966831115163287054230284700731206580326264171161659576132723515666625366727189985341998952368848309993027574199164638414270779887088742292770538912271724863220288984251252872178260305009945108247835729056919885554678860794628053712270424665431921452817607414824038278358297193010178883456741678113989547504483393146896307633966572267270433932167454218245570625247972199786685427989779923395790575818906225254735822052364248507834071101449804787266919901864388229323053823185597328697809222535295910173414073348847610055640182423921926950620831838145469839236646136398910121021770959767049083050818547041946643713122996923588953849301363565761861060622287055994233716310212784574464639897381885667462608794820186474876727272220626764653380998019668836809941590757768526398651462533363124505364026105696055131838131742611844201890888531963569869627950367384243130113317533053298020166888174813429886815855778103432317530647849832106297184251843855344276201282345707169885305183261796411785796088881503296022907056144762209150947390359466469162353968092013945781758910889319921122600739281491694816152738427362642980982340632002440244958944561291670495082358124873917996486411334803247577752197089327722623494860150466526814398770516153170266969297049283162855042128981467061953319702695072143782304768752802873541261663917082459251700107141808548006369232594620190022780874098597719218051585321473926532515590354102092846659252999143537918253145452905984158176370589279069098969111643811878094353715213322614436253144901274547726957393934815469163116249288735747188240715039950094467319543161938554852076657388251396391635767231510055560372633948672082078086537349424401157996675073607111593513319591971209489647175530245313647709420946356969822266737752099451684506436238242118535348879893956731878066061078854400055082765703055874485418057788917192078814233511386629296671796434687600770479995378833878703487180218424373421122739402557176908196030920182401884270570460926225641783752652633583242406612533115294234579655695025068100183109004112453790153329661569705223792103257069370510908307894799990049993953221536227484766036136776979785673865846709366795885837887956259464648913766521995882869338018360119323685785585581955560421562508836502033220245137621582046181067051953306530606065010548871672453779428313388716313955969058320834168984760656071183471362181232462272588419902861420872849568796393254642853430753011052857138296437099903569488852851904029560473461311382638788975517885604249987483163828040468486189381895905420398898726506976202019955484126500053944282039301274816381585303964399254702016727593285743666616441109625663373054092195196751483287348089574777752783442210910731113518280460363471981856555729571447476825528578633493428584231187494400032296906977583159038580393535213588600796003420975473922967333106493956018122378128545843176055617338611267347807458506760630482294096530411183066710818930311088717281675195796753471885372293096161432040063813224658411111577583585811350185690478153689381377184728147519983505047812977185990847076219746058874232569958288925350419379582606162118423687685114183160683158679946016520577405294230536017803133572632670547903384012573059123396018801378254219270947673371919872873852480574212489211834708766296672072723256505651293331260595057777275424712416483128329820723617505746738701282095755443059683955556868611883971355220844528526400812520276655576774959696266126045652456840861392382657685833846984997787267065551918544686984694784957346226062942196245570853712727765230989554501930377321666491825781546772920052126671434632096378918523232150189761260343736840671941930377468809992968775824410478781232662531818459604538535438391144967753128642609252115376732588667226040425234910870269580996475958057946639734190640100363619040420331135793365424263035614570090112448008900208014780566037101541223288914657223931450760716706435568274377439657890679726874384730763464516775621030986040927170909512808630902973850445271828927496892121066700816485833955377359191369501531620189088874842107987068991148046692706509407620465027725286507289053285485614331608126930056937854178610969692025388650345771831766868859236814884752764984688219497397297077371871884004143231276365048145311228509900207424092558592529261030210673681543470152523487863516439762358604191941296976904052648323470099111542426012734380220893310966863678986949779940012601642276092608234930411806438291383473546797253992623387915829984864592717340592256207491053085315371829116816372193951887009577881815868504645076993439409874335144316263303172477474868979182092394808331439708406730840795893581089665647758599055637695252326536144247802308268118310377358870892406130313364773710116282146146616794040905186152603600925219472188909181073358719641421444786548995285823439470500798303885388608310357193060027711945580219119428999227223534587075662469261776631788551443502182870266856106650035310502163182060176092179846849368631612937279518730789726373537171502563787335797718081848784588665043358243770041477104149349274384575871071597315594394264125702709651251081155482479394035976811881172824721582501094960966253933953809221955919181885526780621499231727631632183398969380756168559117529984501320671293924041445938623988093812404521914848316462101473891825101090967738690664041589736104764365000680771056567184862814963711188321924456639458144914861655004956769826903089111856879869294705135248160917432430153836847072928989828460222373014526556798986277679680914697983782687643115988321090437156112997665215396354644208691975673700057387649784376862876817924974694384274652563163230055513041742273416464551278127845777724575203865437542828256714128858345444351325620544642410110379554641905811686230596447695870540721419852121067343324107567675758184569906930460475227701670056845439692340417110898889934163505851578873534308155208117720718803791040469830695786854739376564336319797868036718730796939242363214484503547763156702553900654231179201534649779290662415083288583952905426376876689688050333172278001858850697362324038947004718976193473443084374437599250341788079722358591342458131440498477017323616947197657153531977549971627856631190469126091825912498903676541769799036237552865263757337635269693443544004730671988689019681474287677908669796885225016369498567302175231325292653758964151714795595387842784998664563028788319620998304945198743963690706827626574858104391122326187940599415540632701319898957037611053236062986748037791537675115830432084987209202809297526498125691634250005229088726469252846661046653921714820801305022980526378364269597337070539227891535105688839381132497570713310295044303467159894487868471164383280506925077662745001220035262037094660234146489983902525888301486781621967751945831677187627572005054397944124599007711520515461993050983869825428464072555409274031325716326407929341833421470904125425335232480219322770753555467958716383587501815933871742360615511710131235256334858203651461418700492057043720182617331947157008675785393360786227395581857975872587441025420771054753612940474601000940954449596628814869159038990718659805636171376922272907641977551777201042764969496110562205925024202177042696221549587264539892276976603105249808557594716310758701332088614632664125911486338812202844406941694882615295776253250198703598706743804698219420563812558334364219492322759372212890564209430823525440841108645453694049692714940033197828613181861888111184082578659287574263844500599442295685864604810330153889114994869354360302218109434667640000223625505736312946262960961987605642599639461386923308371962659547392346241345977957485246478379807956931986508159776753505539189911513352522987361127791827485420086895396583594219633315028695611920122988898870060799927954111882690230789131076036176347794894320321027733594169086500719328040171638406449878717537567811853213284082165711075495282949749362146082155832056872321855740651610962748743750980922302116099826330339154694946444910045152809250897450748967603240907689836529406579201983152654106581368237919840906457124689484702093577611931399802468134052003947819498662026240089021501661638135383815150377350229660746279529103840686855690701575166241929872444827194293310048548244545807188976330032325258215812803274679620028147624318286221710543528983482082734516801861317195933247110746622285087106661177034653528395776259977446721857158161264111432717943478859908928084866949141390977167369002777585026866465405659503948678411107901161040085727445629384254941675946054871172359464291058509099502149587931121961359083158826206823321561530868337308381732793281969838750870834838804638847844188400318471269745437093732983624028751979208023218787448828728437273780178270080587824107493575148899789117397461293203510814327032514090304874622629423443275712600866425083331876886507564292716055252895449215376517514921963671810494353178583834538652556566406572513635750643532365089367904317025978781771903148679638408288102094614900797151377170990619549696400708676671023300486726314755105372317571143223174114116806228642063889062101923552235467116621374996932693217370431059872250394565749246169782609702533594750209138366737728944386964000281103440260847128990007468077648440887113413525033678773167977093727786821661178653442317322646378476978751443320953400016506921305464768909850502030150448808342618452087305309731894929164253229336124315143065782640702838984098416029503092418971209716016492656134134334222988279099217860426798124572853458013382609958771781131021673402565627440072968340661984806766158050216918337236803990279316064204368120799003162644491461902194582296909921227885539487835383056468648816555622943156731282743908264506116289428035016613366978240517701552196265227254558507386405852998303791803504328767038092521679075712040612375963276856748450791511473134400018325703449209097124358094479004624943134550289006806487042935340374360326258205357901183956490893543451013429696175452495739606214902887289327925206965353863964432253883275224996059869747598823299162635459733244451637553343774929289905811757863555556269374269109471170021654117182197505198317871371060510637955585889055688528879890847509157646390746936198815078146852621332524738376511929901561091897779220087057933964638274906806987691681974923656242260871541761004306089043779766785196618914041449252704808819714988015420577870065215940092897776013307568479669929554336561398477380603943688958876460549838714789684828053847017308711177611596635050399793438693391197898871091565417091330826076474063057114110988393880954814378284745288383680794188843426662220704387228874139478010177213922819119923654055163958934742639538248296090369002883593277458550608013179884071624465639979482757836501955142215513392819782269842786383916797150912624105487257009240700454884856929504481107380879965474815689139353809434745569721289198271770207666136024895814681191336141212587838955773571949863172108443989014239484966592517313881716026632619310653665350414730708044149391693632623737677770958503132559900957627319573086480424677012123270205337426670531424482081681303063973787366424836725398374876909806021827857862165127385635132901489035098832706172589325753639939790557291751600976154590447716922658063151110280384360173747421524760851520990161585823125715907334217365762671423904782795872815050956330928026684589376496497702329736413190609827406335310897924642421345837409011693919642504591288134034988106354008875968200544083643865166178805576089568967275315380819420773325979172784376256611843198910250074918290864751497940031607038455494653859460274524474668123146879434416109933389089926384118474252570445725174593257389895651857165759614812660203107976282541655905060424791140169579003383565748692528007430256234194982864679144763227740055294609039401775363356554719310001754300475047191448998410400158679461792416100164547165513370740739502604427695385538343975505488710997852054011751697475813449260794336895437832211724506873442319898788441285420647428097356258070669831069799352606933921356858813912148073547284632277849080870024677763036055512323866562951788537196730346347012229395816067925091532174890308408865160611190114984434123501246469280288059961342835118847154497712784733617662850621697787177438243625657117794500644777183702219991066950216567576440449979407650379999548450027106659878136038023141268369057831904607927652972776940436130230517870805465115424693952651271010529270703066730244471259739399505146284047674313637399782591845411764133279064606365841529270190302760173394748669603486949765417524293060407270050590395031485229213925755948450788679779252539317651564161971684435243697944473559642606333910551268260615957262170366985064732812667245219890605498802807828814297963366967441248059821921463395657457221022986775997467381260693670691340815594120161159601902377535255563006062479832612498812881929373434768626892192397778339107331065882568137771723283153290825250927330478507249771394483338925520811756084529665905539409655685417060011798572938139982583192936791003918440992865756059935989100029698644609747147184701015312837626311467742091455740418159088000649432378558393085308283054760767995243573916312218860575496738322431956506554608528812019023636447127037486344217272578795034284863129449163184753475314350413920961087960577309872013524840750576371992536504709085825139368634638633680428917671076021111598288755399401200760139470336617937153963061398636554922137415979051190835882900976566473007338793146789131814651093167615758213514248604422924453041131606527009743300884990346754055186406773426035834096086055337473627609356588531097609942383473822220872924644976845605795625167655740884103217313456277358560523582363895320385340248422733716391239732159954408284216666360232965456947035771848734420342277066538373875061692127680157661810954200977083636043611105924091178895403380214265239489296864398089261146354145715351943428507213534530183158756282757338982688985235577992957276452293915674775666760510878876484534936360682780505646228135988858792599409464460417052044700463151379754317371877560398159626475014109066588661621800382669899619655805872086397211769952194667898570117983324406018115756580742841829106151939176300591943144346051540477105700543390001824531177337189558576036071828605063564799790041397618089553636696031621931132502238517916720551806592635180362512145759262383693482226658955769946604919381124866090997981285718234940066155521961122072030922776462009993152442735894887105766238946938894464950939603304543408421024624010487233287500817491798755438793873814398942380117627008371960530943839400637561164585609431295175977139353960743227924892212670458081833137641658182695621058728924477400359470092686626596514220506300785920024882918608397437323538490839643261470005324235406470420894992102504047267810590836440074663800208701266642094571817029467522785400745085523777208905816839184465928294170182882330149715542352359117748186285929676050482038643431087795628929254056389466219482687110428281638939757117577869154301650586029652174595819888786804081103284327398671986213062055598552660364050462821523061545944744899088390819997387474529698107762014871340001225355222466954093152131153379157980269795557105085074738747507580687653764457825244326380461430428892359348529610582693821034980004052484070844035611678171705128133788057056434506161193304244407982603779511985486945591520519600930412710072778493015550388953603382619293437970818743209499141595933963681106275572952780042548630600545238391510689989135788200194117865356821491185282078521301255185184937115034221595422445119002073935396274002081104655302079328672547405436527175958935007163360763216147258154076420530200453401835723382926619153083540951202263291650544261236191970516138393573266937601569144299449437448568097756963031295887191611292946818849363386473927476012269641588489009657170861605981472044674286642087653347998582220906198021732116142304194777549907387385679411898246609130916917722742072333676350326783405863019301932429963972044451792881228544782119535308989101253429755247276357302262813820918074397486714535907786335301608215599113141442050914472935350222308171936635093468658586563148555758624478186201087118897606529698992693281787055764351433820601410773292610634315253371822433852635202177354407152818981376987551575745469397271504884697936195004777209705617939138289898453274262272886471088832701737232588182446584362495805925603381052156062061557132991560848920643403033952622634514542836786982880742514225674518061841495646861116354049718976821542277224794740335715274368194098920501136534001238467142965518673441537416150425632567134302476551252192180357801692403266995417460875924092070046693403965101781348578356944407604702325407555577647284507518268904182939661133101601311190773986324627782190236506603740416067249624901374332172464540974129955705291424382080760983648234659738866913499197840131080155813439791948528304367390124820824448141280954437738983200598649091595053228579145768849625786658859991798675205545580990045564611787552493701245532171701942828846174027366499784755082942280202329012216301023097721515694464279098021908266898688342630716092079140851976952355534886577434252775311972474308730436195113961190800302558783876442060850447306312992778889427291897271698905759252446796601897074829609491906487646937027507738664323919190422542902353189233772931667360869962280325571853089192844038050710300647768478632431910002239297852553723755662136447400967605394398382357646069924652600890906241059042154539279044115295803453345002562441010063595300395988644661695956263518780606885137234627079973272331346939714562855426154676506324656766202792452085813477176085216913409465203076733918411475041401689241213198268815686645614853802875393311602322925556189410429953356400957864953409351152664540244187759493169305604486864208627572011723195264050230997745676478384889734643172159806267876718380052476968840849891850861490034324034767426862459523958903585821350064509981782446360873177543788596776729195261112138591947254514003011805034378752776644027626189410175768726804281766238606804778852428874302591452470739505465251353394595987896197789110418902929438185672050709646062635417329446495766126519534957018600154126239622864138977967333290705673769621564981845068422636903678495559700260798679962610190393312637685569687670292953711625280055431007864087289392257145124811357786276649024251619902774710903359333093049483805978566288447874414698414990671237647895822632949046798120899848571635710878311918486302545016209298058292083348136384054217200561219893536693713367333924644161252231969434712064173754912163570085736943973059797097197266666422674311177621764030686813103518991122713397240368870009968629225464650063852886203938005047782769128356033725482557939129852515068299691077542576474883253414121328006267170940090982235296579579978030182824284902214707481111240186076134151503875698309186527806588966823625239378452726345304204188025084423631903833183845505223679923577529291069250432614469501098610888999146585518818735825281643025209392852580779697376208456374821144339881627100317031513344023095263519295886806908213558536801610002137408511544849126858412686958991741491338205784928006982551957402018181056412972508360703568510553317878408290000415525118657794539633175385320921497205266078312602819611648580986845875251299974040927976831766399146553861089375879522149717317281315179329044311218158710235187407572221001237687219447472093493123241070650806185623725267325407333248757544829675734500193219021991199607979893733836732425761039389853492787774739805080800155447640610535222023254094435677187945654304067358964910176107759483645408234861302547184764851895758366743997915085128580206078205544629917232020282229148869593997299742974711553718589242384938558585954074381048826246487880533042714630119415898963287926783273224561038521970111304665871005000832851773117764897352309266612345888731028835156264460236719966445555386108937587952214971731728131517932904431121815871023518740757222100123768721944747209349312324107065080618562372526732540733324875754482967573450019321902199119960797989373383673242576103938985349278777473980508080015544764061053522202325409443567718794565430406735896491017610775948364540823486130254718476485189575836674399791508512858020607820554462991723202028222914886959399729974297471155371858924238493855858595407438104882624648788053304271463011941589896328792678327322456103852197011130466587100500083285177311776489735230926661234588873102883515626446023671996644555538610893758795221497173172813151793290443112181587102351874075722210012376872194474720934931232410706508061856237252673254073332487575448296757345001932190219911996079798937338367324257610393898534927877747398050808001554476406105352220232540944356771879456543040673589649101761077594836454082348613025471847648518957583667439979150851285802060782055446299172320202822291488695939972997429747115537185892423849385585859540743810488262464878805330427146301194158989632879267832732245610385219701113046658710050008328517731177648973523092666123458887310288351562644602367199664455077594836454082348613025471847648518957583667439979150851285802060782055446299172320202822291488695939972997429747115923828558458 074381048826246487880533042714630119415898963287926783273224561038521970111304665871005000832851773117764897352309266687334152828 367199664455077594836454082348613025471847648518957583667439979150851285802060782055446299172320202822291488695939972997429747115923828558458 074381048826246487880533042714630119415898963287926783273224561038521970111304665871005000832851773117764897352309266687334152828 36719966445547276083101187883891511493409393447500730258558147561908813987523578123313422798665035227253671712307568610450045489703600795698276263923441071465848957802414081584052295369374997106655948944592462866199635563506526234053394391421112718106910522900246574236041300936918892558657846684612156795542566054160050712766417660568742742003295771606434486062012398216982717231978268166282499387149954491373020518436690767235774000539326626227603236597517189259018011042903842741855078948874388327030632832799630072006980122443651163940869222207453202446241211558043545420642151215850568961573564143130688834431852808539759277344336553841883403035178229462537020157821573732655231857635540989540332363823192198921711774494694036782961859208034038675758341115188241774391450773663840718804893582568685420116450313576333555094403192367203486510105610498727264721319865434354504091318595131451812764373104389725070049819870521762724940652146199592321423144397765467083517147493679861865527917158240806510637995001842959387991583501715807598837849622573985121298103263793762183224565942366853767991131401080431397323354490908249104991433258432988210339846981417157560108297065830652113470768036806953229719905999044512090872757762253510409023928887794246304832803191327104954785991801969678353214644411892606315266181674431935508170818754770508026540252941092182648582138575266881555841131985600221351588872103656960875150631875330029421186822218937755460272272912905042922597877106678738400006167721546384412923711935218284998243509208918016855727981564218581911974909857305703326676464607287574305653726027689823732597450844796495456480307715981539558277791393736017174229960273531027687194494449179397851446315973144353518504914139415573293820485421235081739125497498193087143966151329420459193801062314217741991840601803479498876910515579055548069538785400664533759818628464199052204528033062636956264909108276271159038569950512465299960628554438383303276385998007929228466595035512112452840875162290602620118577753137479493620554964010730013488531507354873539056029089335264007132747326219603117734339436733857591245081493357369116645412817881714540230547506671365182582848980995121391939956332413365567770980030819102720409971486874181346670060940510214626902804491596465453301077546954130887141653125448130611924078211886900560277818242350226961893443525476335735364856193632544177566139817039306328721669057222597452091929172621998444096461582694563802395028371216864465617852355651641277128269186886155727162014749340522769465957121983149433816221140069363074304441732847861017777438379770372317952554341072234455125555899986461838767649039724611679590181000350989286412041951635511087632042676129798265294258829511412758412627327907988075597518515768412647422094797218433093529726652100156625145529947451276315509176367302594621329301904028379542463232585503010967069227202270748634190054383026506812141421350571541750575086399076739463351462090828889349383764393992569006040673114220933121959362029829723511632593867722414779116295727807523950562515816031333593823115005186268905306583681299881086632632719806112715488587980934879129137074982305759290918629391950147211975860672700925477180257503377307993971345395326461952699965963856549175904583335857991020127132045839032008538788816336376851820837278851311752277696097879621423721625452145912818317982160441113116714069148271709810154577819392023115638719508050246797257924976057726259133285597263712112019057207714091486450740949267180358151575715140503976109638467555692989703835473141002238025834687673501297754132795320609711545064842121859364909979177668747744818828706323155158650328981642282882327468661065927321979071623846421534898524762167890502609980452664839295423572873439776804957740914495383915755654854590589764951985138010079580107837599457752991967005476022525520344539887125387801719607181640781248478472579124078245443616823452395706895142722697504318736332630111030534233358216093331912188066082683414289104151732472160533558499932245487307788229052523242348615315209769384610425828497149634753418375620030149157032796853018686315724884015266398356895636346574353217834931998255421173084677452970858395076164582296303244243282377374505170285606980678895217681981567107816334052667595394249262807569683261074953233905362230908070814559198373553777487420290390181429373115293346444681512129450975965343062842153194457271186149000176505581770953024688752632501197052094761594167687277844720001927891372518416228577837922844390843011811214963664246590336341945406571835447719124466212593926566203068885200555991212353637182269225317814587925937504414489339816086579008761650246351970458288954817937566810464746141051424988702521399368705093723054477341126413548928068410591077166778212383328102621855877513127211793444482014404257450830639447383637939062830089733062413806145894142276947479316657176231824721683506780764875734204915576282175839729751344789906965895325489403356156131674032764724692125057591162515296545685446334981143176702572956618447754874693784642337372389819206620485118943788682248072793520225017965453437572741639107919729529508129429222053477173041844779156739917384183117103625243957161527146690058147000026330104526435478659032907332054683388720787354447626479252976901709120078741837367350877133769776834963442524199499513883150748775374338494582597655609965559543180409201784971846854973706962120885243770138537576814166327224126344239821529416453780004925072627651507890850712659970367087266927643083772296859851691223050374627443108529343052730788652839773352460174635277032059381791253969156210636376258829375713738407544064689647831007045806134467312715911946084359358259877828352665311510650416232953290477721740835593497237585521380483050900096466760883015406128243087406455944318534137552201663058121110334531207450868243394321590435944303124312274713858420303901060709403152355561727679941600203939750998976293353258555756248089966918298642226775023601932579747267425782111197347094023574572222712125268523842958742735015636600931880454933389897415714905441825597380808715652814301026704602843168192303925352977957658624143927015497408792731310516361191375770089295648233236482982630246079758757677453771601024908046243018565241617566556001608591215345562676021926899828553778725831451440826545834844094784631787773747946535801699607794055687011923286080411309046293508718271259346687127666948738998245985277864995691654640294589350649643358098247659651651420909867552038083092032304873427034682887516040715466538346196112230137594515792526967436425319273900360386082364507626988274976187235754767628899507521148048525279508450339585708381304769378813211236742813194879502280663201700224603319896719706491637411758548518784840120548446725888514015627250198217190669608126277854859648183696214107217142149863619187747545096503089570994709343378569816744658282679119406119560378453978558392407612763441057667510243075598145527861678159496570625597550743065210853015979080733437360794328667578905334836695554868039134337201564988342208933999716414797469386969054800891930671380571715058573071488156499207140867582596028760564597824237702424698053280566327870419267684671162668794634869504645074202193739452592626686135529406247813612062026364981999994984051438682852589563422643287076632993048917234007254717641886853513723326678779217383475414800228033929973579361524127558295692768372312347989894462743304545667900620324205163962825884430854383072014956721064605332385372031432421126074244858450945804940818209276391400085404220235562602185643489941454399504109805918179488826280520664410863190016885681551692294862030107388971810077092905904807490924271410189335428184299959881696609938369616443815288772140852680887574882932587358099056707558170179491619061140019085537448827262009366856044755965574764856740081773817033073803054769736097865438593821872205839023444435088674998665060406458743460053318274362961778625180818931443632512051070946908135864405192295129324500788333987884293393424351263433652043858129128343452973086529097833006712617981303167943855357262969987403595704584522308563900989131794759487521263970783759448611394519602867512105616389760088800927461158608002078033415914517970730368351969777660763737853330120241201120469886092093390853657732223924124490515327809509558664594776344822699860748132973026309750288121035177231244650953496536930900186377640940943498373132513218620802148099226855029484546618147155574447096695301776904342720318927706047177845279391604722815343798035396798614243709566832214914654380145938292773933960327540480095522318166673803571839327570771420467238386246178039762923771312095807893638414479298025880655221292620936239306373134966401866195108115834711733120258058667276399927635790780638188130691563662741254312595899361196476261014055635033995231403231138196562363271989618372548453337020625634642239527669435683767613687119629218187545760816170530315907288287007123136663087227549186613957737305460659974378109876498024140112421427736680827513909593134041558262667895108467761186659576601659981780894149857549762843878561002637965431783136340251358141611519020964991335487331311150227006819301359295959716401971960536250335584799809634887180391116128135959685654788683258564378961731597620024196215528962979048198221994622694871374624447290934564700285376949588595916067892824910544125159963007813683674902093749157328962700286568293444313423473512392982591667395034259958689706972673325827359031212887466604514614878503461428277659916080903986525757172630818334944418201935333850712923457743755793440621787113300631060033240539916936826037461766385657588775802012293663532702671006812618251729146082025418928859352444910701382062115538277935652969145765020486432828655579347072096348073726921411868954673227677513356901901537236690368653891612916888878764075254934942497334271811788927599315967193547589880979245252623636590363200708544407845447973482918020820449266706344204375553250505275228337788870408040335319234076856301093477721256390886404131010738178533383160381352808281190408325644018420537467929926220376987180180611226244909092426419858208617511771137890516091403815750033664241560952163281971223350231674226005679412814062172196418427057843289598028823350598282081966662490358577899403331522748177769528436816300885317696947836905806710648280835980466988410981351586549069333195223943632879239905348109878302745001720654336990661177845543646877236318444647680691428280045510746866453928053994091087549391660957316197150331669683099294663491427987808422572206971488755806374803088629951184731871247772919100702275888934869394562895158029653721504096031077612898312635899648934102470360366450586872875890514068412381242473863854279082827338279733268855049358743031602747490631295723497426112215174171531336186224109138695006888358989623492763173164783400774608866555987333821138299287769114954921841920877716060684728746736818861675072210172611038306717878566948129487850489430630861699487987031605158841082823512741535385133658953329486294944950618685147791058046960390693726626703865129052011378108586161888869479576074135855345851517680519733344334952301203957707396237713160302428872005373209982530089776189731298178819446717311606472314762484575519287327828251271824468078242152164695678192940982389262849437602488522790036202193866964822156280936053731780408637272684266964219299468192149087017075333610947913818040632873875938482695355830773957614479972700034728801827852813895032179863452161110666088393140532269449054555278678944175792024400214507801920998044613825478058580484424164047750315360549065914300781583724301231375115622840158386442708907182848167575271238467824595343344496220100960710513706084618011875431207254913349942476171156333214089346091565615506003173842187015702261031019166038870646614388977363187809407115275281746895764015810470169652475577408916445686777171585005832699434016772021567677240681283665652641229824394651331973591997094032759385026695574702318132032437164205861410336065245369391600506449530601612678226489424373971667176612310489750318857321655549883421218028469125290861014855278152776256237504563757694977343368460156077270355096290493924870884062810679436224187047470083688426710225583024035998416459511224852726336326451140173952480861946358407837535568856223171155209472230654370926067973510005655493812245754837285457117973936157561676416928958052572975223385586113883221711073622658162188424431788574887981090266537934266642169909140565364322493013348679881548866286650523469972355747384248305904236771432787923164224038777643301926001922847783138376325361210253369358126240868666997382759773656822279072158324788886423693463961643633087301398142114303060087306661648036789840913359262934023043249749268878316436026810113095707161419128306865773235326396536773903176613613159655535849993986005651559219367599777179330197446881483711032065036931928945214026509154651843099365534933371834252984336799159394174662239003895276738133306177476295749438687169784537672194935065908757119177208754771071899379608947745126547575018711948707387367858902006173733210756933022163206284320656711920969505857611739616323262177089454262146098584102378132158177276022227381334954104810030732751077999489919779638835307344434575329759142637684054422647842160631227696469671564739990437159033239065607266441164386054048388471619121090087010191307260710441141432419767968285478855247794764818029597360494397004795960402927462992035720997619501403483153809477146010563334469988208221205872815107291829712119178764248803546723169165418522567292344291871281632325969654135485895771332083399112887759172261152733790103413620856145779923987783250835507301998184590259583559892605532996737704917224549353296833000022301815172265757875240588322490858212800897479093261007625787704286560069961762121768454789964407050662417102133274867962374302291553582007801411653480656474882306150033920689837947662550365498228053296628621179306284301704924023019857199789488368971830438051821744191476604297524372516834354112170386313794114220952958857980601529387527537990309388716835720957607152219002793792927863036372687658226812419933848081660216037221547101430073775377926990695871212892880190520316012858618254944133538207848834653116326504076424283908701210151942319616522684220037112304643006734420647477180213530701240988603533991526679238711017062218658835737812109351797756044256346949997872511254408545222748109148743072598696020402759411789425812818821599523596589791811440776533543217575952555361581280011638467203193465072968079907939637149617743121194020212975731251652537680173591015573381537720019524445436200718484756634154074423286210609976132434875488474345396659813387174660930205350702719529839432714253711557666000257844230310734295515339450604862227649666876240793243531929926392537310768921353525723210808898193391686682789482811704726245019484097009757609209837240900747179733407881418251958425980962417476101382526439551352593118850456362641883003385396524359974169313228947198783084276004013680747039040972384739458348961865397905941185993103561684368692194853820557803957738813606795499000851232594425297244866667668346414021899159445653094234406506678519484177667794704720419588220432953803263105374948831221803912796784461001397267538921951191178365876625280836900532490045974109470687729123282143046353372835199536482743258331191444590178096077828835837301118575436599589827245319253105881150263075425714939430244539318701799236081666113054262539958338979429716020703387678150330102801200959972522222808014235710947603519255444349299867678178910455590630159538097618759203589373419789623589311259839025983102671933041892151096891562250696591198283234555030590817307351955037216658702880539921385760370353771051780212801295668419841403628727256232144287543022109094727210734741349755141907370433182766261772759968888260272252471336833534528166927795913288613817663498577289369009657495622871030243625907724122190943008717556926257580657099120166596224360802428700245473620363948412559548817272724736534677836472019183039987176270375157246499222894679323226936191776416146187956139566995677830682903165896994307673335082349907906241002025061340573443006957454746821756904416515406365846804636926212742110753990421887161276177870142588648257752238891845995233762923779155857445494773612955259522265786364621183775984737003479714082069941455807190802135907322692331008317595106590191212947954086036407573587502058902087045796700070552625058114206639074592152733094068236494415908910092202966805233252661989113118420162916310768940847235643668081821686572196882683584027855007828040434537101836510969517823357430305048526537380735310741859177056103973950626403554422751561011072617793706347238049906669221619711942591204450846417463835899382399465173955090008594799901360266742614942900664671150671754221770387745076735637421547829059110126191575558702389570014051178226469899449179083017954758767601680941001358376135785913569244556477644641786671153919513576961048649224900834467154863830544779143300976804868783481846727337584368927243104474068076852786255851650920882638132336231487333367147645204508766276149503899495048095604609896043291233583488599902945264002849942808786240398118148847673012167541611066299955536681931232874257020637383520200868636913117334697317412191536332467453256308713473027921749562270146873258678917345583799643513588009593508775563562488104938529990076751355135277924124292774885658885665132473025147102105753525165118148509027504768455182520963318990685276144351382136621523688905787866994322888160283774820355060160298940091197138501798716836337441392759736440170070147637066557035043381211135764150184518214136198234951596010647527125759351853043328755377830575095674254426847122196187091785607839361445113833356491032564057338986671781239722375193164306170138595394743678433926709867124522111896908402363274114966012434830989299417380305884171666130730400675883804321115553794406054977217059428215148861656727712409033877277456290971101348851843741186956554497457368452180669829110450580042998879538990278043835962824094218605562877884288021275538848037286400194416142574999042720095952046541705981049899675045119364711727722204361026140797508096869751766002371877483480161203102346805671126447661237476278521902412025699435347162266608936752198331118135111465038548950251206557726361454736044268594980743969323312971273771573470997139522911826534851555871373366291202427143025037632695013509116129529937858646813072264860082708813335381937036825988678933212383270532976258573827900978264605455985551318366888446282651337984916678394097613537662517982582496634587719501243840403591408492097337546424744881761840700235695801774101776969250778148933866725578985645898510568919609243988415692806969833522402256345704973122452693541938370048431833571965166267215755241934019330990183193091965829209696562476676836596470195957547393455143374137087615173236772042273856742791706982045499530959188724349395240944416789988463198455048523936629720797774528143994182567894577957125524268260899408633173715388962628896294021121088844273765686245276121303710173007851357154045330415079594477761435974378037424366469732471384104921243141389035790924160364063140381498314819052517209371039640268089948325722979545640427017577229041732347960736187878899133183058430693948259613187138164234672187308451338772190869751049428437693250249816566738162606159417682525099937416728839517440669325496534031014522253161890092353764863784828813442098700480962271712264074895719390029185733074601043607291909457679946149292904279816877294264877299528584346477753869069501489841339245403941446802636254021186143170312511175776428299146445334089209769616990983726523617687456058947049681701369749095230720826828878907301900182534258053434217059287139317379931424108526473909482845964180936141384758311361305761084623668372376959134926158245162215521348792441450417568480641206365201703863301295327776990231186480200675569056822950163549319923059142463962170253297475731140942201801993680350264956369558664259067626856873721103391567938398957655651931778830002416135395624377778408017488193730950206999008908993280883974303677365955248913001566332940779071396154645340887915103006513219344866732482759079468078798194250195826223203951312520141099605312606965554042486705499867869230217469890095478507256729787947698888310934874644264007181831603316555115342761556224054744733780492462149521332585276988473362691826491743389878247892784689188280546699823036899397834137475870258057163494135684339293960681920617733317917382085624364336353598634944968907810640196740744365836670715869245211829978938040771375012908586465789057714268335827689785547176871844277261205092664861020515356428406323684818072879407171279668200607275595559040402331787494473464547606281895415121391629184442976510669479693540168660100551960776873353965116149309375709685545593815137895690392510149532656281470119983269922000663928753747131352364215892651262040728877165783584052196460541054354436421665622445650429990102565869272791427529311720827939377513261060528812353734510683729398935808712438693859343891757133763007203197608166044646839377258069092372975234867029169104263692620901996052041210240776481903160140858635584276095370865581642739953493465463145040401995285372520049578052546562511541092524379913262627136090994029022620628367521323050651839340574501120993414649184333236465693717259144893241590062420206128857329261335968087265000456282845575745965921205303413101118275013069615098355156320043107846019065654938065425252291619918199596027523277022498557388248998827074659363557685825605180689642853768507720122203479209939361792682065901421656159253067379445689490708532635681968318617722682499114726157320358076462981162440133167378927886892290325933498617970219949819257396176730758344170985592221701718257127775344915082052784309046194608352174020058386728497094110232669539214454610662150064106747402070091899119513764669044812672536915371622907913854039375600778351533741677479421003840023089518509945487790393461222208650601605003517762648316111533255877050735412792499098593734737870811942530551214369797499149518605359204038302357163527276308746932196221900642608861836761033460022554774778136410126919065696864950126883762969072339612762872230411418136100602640440300359969889199458273976241146137448040596970625767647237660655416185746905272292382282751867991569833907476711461030227766060200612468764777288190967916133540198814027579921741676787992316039635694928515136336472195406111717673873725557285229400543617851765023075446938693078734991103521825329297260445532107978877114498988709115112372506042387537348412570860640690520584521227545338480082053024504565176695185769132000428167580549248117805198326460324457928297301291053183856368212062155312886685649565126138922613670640939533345705269869596923503530942245438652786776730275404027022463844835532399147513634410440500923303612714960813554905315390210022995957565837053812619656831442860579566966221547216956208700137277685369608407048333251327931122325071486302069512453950037357233468070946564830892098015348787056334910923660575540508641115214414814346304372732710450277686619531078583233348578402971609252153260925589326556006721243594642550659967717703884453961816328796144608177892721718369088801267782074301064225246348074543004764928855534090621851536543554741254761527697726677697727770583158014121856880117050283652755432148034880044429799980621579045641619572127845089284898064264974270905791290692178072987694779751124473059914060506299468942809310342164166299356148281309988707452927160484336308184041264696379258430941854422163590845761460785585624738149314270782662151855416038702068769804617474008083243436653823545551094494984310934947599446726736653525176627067721941831919771963780157021699336750837600571634546436717767233875886434056448715669643210412825956453498413884128904206820470076155969168430389993483667935425492103281133631847225923055543830582069416756299920133731754891220372303490726810685344540359935618235763128377676406310131253352121419946118693508331765878520471123643312267651299641713252175135532618676819423387903654689080018271352835848884441117612341011799187092365071848578562210211040097769944531217950224795780695065329659403839873699072407976790408267940076187295478359634927939045769736616434053597922192858705749574816966940623342726197335181366260637359825755524965098072601236682836059283418558480269584137725589708837899429105498003311138846034019391661221866960584915714857335682861495000190975911252188003964197621635593757437180114805594422987304181968080856472657135476128316292004498803154021055305970766663627493283089168809323592900817874119857383171926167288349184024297212904349655269427264025596414635259143484006758676903503823205729341329815935330444464968294413673234421583807616948312193331198190610961429522015361702985751055943264614685054526849757648078080092213358113781977492717685450755383287688744745915937311624706010912446098294248412875202244625944776387494919978404468292573609685345498432665368628444893657041118177938064416165312236002149187687694673984075171763075168498563592014868929431059402024579696229245666448819675762943495353263821716133957577907663707645695702597388004384158058943361371065518599876007549241872117148892952217377211460811543449826654798725800566747240511220073834592715757277152185899469481179406444663994323700442911407472181802248258377360173466853007449855647154200361235933973129144585915228874087195087086322188372882628228846318437172619033057771476515641438223067918473860391476831081413582757558536435977216500282778037134228696887873497950960311088991961433866640684506974207877002805093672033872326296378560386532164323488155575570184690890746478791224363755566686780676105449550172607911429308312857612544819444494732448190937953690082063846316782250648095318104065702543276043857035059228189198780658654121842992172737209551032422510797180778330426090867942734289557355592527238055114404380012390416877164451802264916816419274011064516224311017000566911217331894234005479596846698042980173625704067332821299621536848814041021944634246462207455756439604529853130714090846084996537678037932018991408658146621753193376659701143306086250098295669176388460567629729314649114937046244693519840395344491351411936679333019366176636525551491749823079870722808608596261126605042892969665356525166888855721122768027727437089173896397722575648905334010388559311256799915165890250164869614272070059160561661597024519890518329692789355503039346812197615821839804839605625230914626384473862960398489243861872985077759287927220685548072104978176532862101874767668972488411395603494803767270363169210073508340738652616845074824964485974281349364803724261167042668708319250409976153190768557703274217850100064419841242073964001396036015838105659284136845741191027364202741637234882145241013477165296031284086584197879511165115298278146203791398550063999603265912485253084936903131301007999771913622308660110999291428712493885416120380204113401888872196934779044975274542880728035093058287544207551348166609278793535665212556201399882496284787262144323628536765025914504683776352825876521391564809721419296755493843755826002531685363567313792624758780494459441834291727569883762262618463654527434976624111384513054814498363117897844897320767195087841586188796929558197332506999514026015116755297505754378102422389579257865621284327312022007167305740692868693639301867659582513264991459502609170693475194089753574640168308117988464524736189560564794263580705625632811892696630264795359510971276591362331808669215357886078127599105371714022045061860753748663063505914839164676567232057145168861707909846959322367249467375830996070425892204815507991327520885837811176852142693347869218952406226579210436203488529262679840139532164587911515790504605797108389833718640380244175113472264725470107947939969535546696197267632552299146549334996632341859514503609803440922122067125676987234279407088570704742931733291885238967219713539244924261786411886377909628144869178694681775917171506691114800207594320120619696377951032270890295660855622254526026104607361313688690092817210681986185537809820184711541636303262656992834241550236009780464171085255376127289053350455061356841437758544296779770146602943876872251153638011917581540281208182556064854107879335989210644272448986189616294134180012951306836386092941000831366733721530083526962357371753307386533382048421903081864491840937239440334052449095545580164064607615810103017674884750176619086929460987692016912021816882910408707095609514704169211470274133900522533408348128703530310239196999785974139085936054335996970756044601342424536824960987725813110247327985620721265724990034682938868723048955622532044636026398542252584164643242716114198178024825955635449072192265838636626637508359443148776351561457107455280161596770484427141944351832756984075526779264112617652506159652354571879566731709133193587616282559207830801852068901515047133403861003100559148178521103847545429333891884441205179439699701941126951195265649195941899754183932346474242907027188752235343936736336632003072327470374071239825620246626519740901997624520561985576257600087081730832883443818310700545144935458854226785785519153722923795554943334101744201696000906964156127322977702212179518683763590822551288164700219923488640439591530184640047143211863606225270115411222838027785389110984902013427410141215597699654388771974853764311582298385331230717511329619045590079380642766958190148426279912217929479873489018684716765038273285520590829845298062592503521284519259279865935061329619467962523739725655841578537445675589980324054921869628884903325608514553443916602262577755129162007727968526293879375304541810807292858919897153817973434961872329276147478501926114504132748732429705834084711123337462746172746265824153242710593225062553023147387592517247873228814914559156050363345754242337791603749525024930223514819613811625639114156103268449580725082734317659440540982697652693445798634797097431244982719331138638731596363612186234972614095560799206283169994200720548115253533939460768500199098865538614334957816500899616490796781429011483876456821749140756237676184537751440314754112067601607264605568592577993220703373333989163695043466906948284366299800374145276277165476238255461708831898108688068478537055364804693509588180253605297407935386765111950793732820831462689600710751755206144337841145499501364324463281933463890509365457145069008644834401804283633905135781572739733345372842633721740657757710798305175557210367959769018899584941301959995730179012401939086813565855396619413717944876320798688003716073032205474235722668968018821234243918859841689722776521940324932273147936692340048489760590379580946960417542796137825537812239476461478329269765451622902817011004378460387565441517394339600489153188175766505009516974024156447712936566142539493688842305174001299205568542898538979426699567770270891465137368922061044154816621568042198384767308717875902792091759006952734566820265133731115180001814341209626016586298210766635233617740078377834237091526440630540718078433580610729611055500204151316963730468492133568372654003075098290893646120478911147530370498939528334578240828173864413227100029683119402033234564208264732762338302946393789983758365545599193408662350909679611340048670271231765266637107787251118603540375544874186935197336566217723592293967764632515620234875701137957120962377234313702120310049651521119760131764194082034373485128526029133349151250831198028501778557107253731491392157091051309650598859999315608636554774035518981667335358800482146650997414337611827777233519107412175728415925808725913150746060256349037772633739144613770380213183474473011130326702969173350477016321066162278300272692833655840117914194478087482533607144032962522857750098085996090409363126356213281620714534061042241120830100085872642521122624801426475194261843258533867538740547434910727100497542811594660171361225904401589916002298278017960351940800465135347526987776095278399843680869089891978396935321799801391354425527179102253970108106321430485113782914985113819691430434975001899806816444121232733283071928243624067331965546926778511931527751134464689055042481133614349846048490512583456832664415284897139723760403282126602535166939140820499473204860216277597917712347510975024030789357599377150950217516935558270725339118923340702238320775858021371747783787783910152341320984894234596136923404979982793041444631627072147961174569757196812392919137409829258055619552074342432959828989805292333664154192563673806894942014712413405250722040617943552525552250087487900865683145428351677505422948032747830440564385815919526667582829297052261276287110401348017872248017896840524079243605827424674430767216452703134513541676496689012747868010102951338626986497482121186290403376915685762406992963724930972016287072001898354236903641492702369619385473724803298550451120891928798298744678641291594175316756025334353106267452545071141814832398806072971402347255207134907983989823552687239509093656678789923837125789762487559904432288953883773173489411227570714109597900479193010467407504114353817824646307959895556389918847737813413470702467473621120489862269918885174562517325193413520381158633501239130544419100736284475675141610504109735058527620444891909789019843154852805339857778443139338839943104444656692445508859463140817512203313906815965925105468580131338381521764182104334297888261196304431113887962587460902261309008499754303957712432306169062629194039214397402708947776637024881554993224588259790206312574369109463932528062416424768684954553249380176393716156368478598237159023854212658406153672286071317026747401311452610637653833903159219434698176053583803106128878520515469336392410884676320095670897183674905781630851581381619668822220475704375906143380407258538620835651769984267745231958241826836982701602374149383634966293515768540613973427464708996856181701605511048809715548591186171896680259735417054239851355600187203350790609464212711439931960465274240508822253597734815191354385712532585404939460108657937980586201433660788252197178090258173708709164604527279771535099103407364250203863867182205228796944583876529479510486607173902293274554267856697768659399234168341222746630150621553205026553414609952493560508549217565491348309589065361756938176374736441833789742297007035452066631709296075919896277324230902523974438610142630986877339138825186843165010279649114977375828889134503411488659486702154921010843280807834280894172980089832975369406449699031253998639195816014689952208806622854084148642747862819755466292788146216071713818801808405720847158689068369193933818642784545379567192723979723646516675920110579956639625985355127635587681402134098290162968734298507924718460568748283313812591619624761569028759010727331032991406238646083333786382579263023915900035576090324772813388873391780969666014696150317542267511259933155296742133363002229649064809345820081810618021002276645804002782133367585730190113717546727630590443531313190360924890972464279284555499134900051802957070829190525567818899138996251386623193800536113462242946102489540724048571232566288889317221164329478161905548680549434410340906807160880282279596869501336438142682521704728708630101373011552368614169083756757476372397631857570381094433905645644685241830281481079983769185121272019350440418046047216269394457883770901059746932197205581140787759897720720096893822493032368305158626572811146379969831375179376232151112523497343052406221052442343537329056551634066695061658928782187077567941760807129737813351871179316500331555238224877306534441794534153952024244497034101208740721881093882681675120422994049481794494727328947701115741394412284555218284249222406587526891722727806071167540469730080370396187877966948825556146743843925701158295466613586786718976612973112672000729715536130275035561678177654422874421147298816148027052438068176535732755786025058470840132088379328160087690813004924914736825170353822196190390149995234953871059973511434782923394991879366086923013755963685323738067035911442432685615121094042595826393016780171286692392832310576588517140202111969570647998140315056330451415644146231637638099044028162569175764891425697141635984393174332702378123369380430128926263753826677950341693343236075002481757418087503884750949394548962097404854426356371649959499209808842947903636662975260032438563529458447289445471662092974954966168774141208821304770228161164560440072363515811497297392189667373826472047226422212420165601502849713063327958143025160136948255670147809357908896571349261581613469018069650895563101212184918058479227206918716963163300448580201028606578585912699746376617414639341595695395542033146280265189511679380745733157598460861737026878676029436777805002446733913324316698803540732323882818475010516413311895370364884226902704780527424906034920829547550540034571601840725745369381455311753542107265578356154998744474804273234578800618731493415660463529797794550753593047956872093167245365472083816858556060438019770307642460834898761013457093948770029461757920619525492557571090385251714885252656710453498134198033906415298763436954202560802776144219143189213939088345431317696851018401038444723489488695209819435319065065553546173358140455448378847525262539496658699920584176527801253410338964698186424300341467913806190280596078548880107897055169462152287730901044674624979799926271209516847795684825833414022664772108433624375937416105367340419547389641978954253350363018614009515347669614762556518738232924685473569358028960115367917873035531593783630822486151777705415775765617593585120166929431111388635821596676188303261041646517148469793854226216871614001223782137797741312689772667129920259220174087700769562834739322010881593562862819285635718933849588506038531581797606794798408783609759601497334205727046035217906056476032855692762734951822032361441125841824262477120120357763888959743182328278713146080535335744942976217967890345681698895535185044783256163807094769516990862471000197488092050095219436323787197648703392238115403634754886268459561597551937654101150140670012269274743938885899438597302454148010612359080362745852884935632515853843832424932526660875889083187007091002373771065769850564339288543376583425967506537150053335144899082938877373520514593330496265314151413861244379358850709446880454869753581702129084907873478068143663233228194158273456713564431715379678180581958524648400840329099819437817181773023170039897330504953873561162610239994332597801268934326055847102787649010709234438846340117355568659035852449193701810416262085042992586974358170981338940459344719374938776242324098528327622666049423851297094532455862521036008292866497241749191419889661295580767709795947953060131191590117739431042090490794244488685130868444937059090260061206494257447103535476578592427081304106185462198818300906345881870387558562749115873754210646679513464875867715438380185213482819158124625993351601989355951679689328522058247994210345127158771633452229954188396804488355297533612868372259353900792016669413390911687588039888288692160023732573615882071635162713328105181876021048521806755266486739089009071951380586267351243122156916379022773287054108420378415256832887180469879525130732663402785190594173389203585403956770356113293544825856282876106106982297214209619935093313121711878910787668720445488760894101747986471378824621539559333332755620094395804345379197822805903959599274369137937786649409640487778417483364326840262829324062600819080818043909145563519368560630450891422896452199877988493474777291327972660276584016678901364905087411421268619698620441269652829810870454798615595453380212011556469799767857389201862435993267776894540605082188382279098336271671244900267611784982643770330020818445900097172352043319947082420987715144497510170556430295428218196700092025156158441742059336581481349026931115170938722600264586305613256057925609273322655793462808056834439213736884056504343073965740610177793701414246154930707413608054421002956000956635889778992676305177187819437067614982175641865901161608654086353915130392013168057690341725964536923508064174465623515239290504094799531840748621512105618338545661766526063937136588025216662235761322019417013726649660732520107719479312652827633024138051649071745659648537483546691945235803153019691604809946068149040378198297323609300871357607986214254220964190043679054790499300783724215819545354183711293686584305538427176280352791288211293083515756565999447417884383815651484342298587042455924346932952328218035083337262837918302165918361815542171574484657784201343299825945668845582661719790121808494803324487872581837748055222681510113717453684178702802744524429054745182346749195641885512444213377835214238659799259882032870851093383868299065719946149062902574276860388505110326385445404191849588665385450405713236296810691468148478696591668618427567984600418687622980555629630459532279230516167215919686758495236352989357885077460815373214546429847923105116763577494946229525694976603594739624309953433104049942096778838270027144784940690370732491064441516960532565605867787574174721108274357743151940607579835636291433263978122189462874477981198072256467146640548501310096567863148800903037493388753641831651349825466946733161181233648543976493250261795493572043054021829748712511074040116114058999110930624923128131163405492625713567218186289327861388337180285350565035919527414008695109261675414767926680321092374670872136062783329223864136195941213392780361182763241060047409711110481400036233427145144833346416754663546997314947566434236594934968458845515241507563766050866328274247941360628760412906449138285194564026431532258586240431418386695906332450630003922131926476259626915109044576953014440546180378575030366862124622786397527466678701210033929848733750144756003221006223580293437749550320370127384681630610265703008722754629667968808905871276763610662257223522297392064430935243272281008599730951325286306011054979156447918450046180467624089289256809129305929606423570210615246462050232489665939873249339673769520239917608984745718435319366465291258480644801965201628387951894993367592414856261369959453072872545324632915291101287637706055706095313775277518679232921349552451330898679691651290738413021675732386375758200803635757280027544903279530799007994425411087256931880146679355958346764328688769666100973957499678365933978463469599489506104903836474095046952260638580467580730699122904740898791668721171475276447116044019527181695082897335371485309289370463844208932997711258568408466083399340456890267875160087754612679880154658565220612109534907967073655397025761994313766399606060611064069593308281718764260435734253617569437848484952501082664883951597004905983808121052211110919433239511360514464598342107990580820937164645231277040231600721385437234612672609978703856570919985075956346132484601884098501942876879022687345565005191215465440638292538512763176639220509383452043007730170299403626154340013227639109129883278639204123004455516840548898090807791746360924393349126411642400938807463566072623366958427645836982687348158819610585718357674620096505260659292635482914990457683072108932458570737016607173981944850288426039636607460311847862258310565808708703055675958613417007454029656876347741764310517510367328692455585820823720386017817394051751304379948688223200443780431031709210342616749980000730160948145863744887785222730763304953839443453827706087607635420984450083062476302535727810327834617669705442871553153400164970766571959850417481990872014908756860377835919947193433527729472855379257876848323011018593658007172911869676176550537750302930338307064489128114120255061508964110076238245744886551825810581403453201247547232690875475070785776597325428444593530449920700145387489482265564422236963655441942254413382122254774975354946248276805333369832841561386923634433585538684711114304982483989918031654586382893537991305352228334301379533729540162576232280811384994918761441413229337671065634925288145282395062090223578766846501166600973827536604054469416534222390521083145858470355293522199282727605748212660652913855303455497445514703449394868634294596584310241907859236802245607639367841662705185551787029040735573046206396924533077957822459497104201880430001838814290081730394505073427870131244668600927785818110409115117293748736278878749074652855654347488868310641100510230208751077689187815256227352515503795324448577872776170019648537035551676552091193393437628662846198440262952521836785223674751088097815070989784130862458815226609635514018744958369269177990471207264949057372642860052114035812310760066995185361248627467563758962252991164960668765082617341784847893372950567390078786179253514406210453662506404637288156982323175005962610809219552111508593029556549675388626129723399146283584760486276270273097392020014322487075823373549152460856082103288829741839064788699232736913600488374366152235170584377055452108155133612621429118156153017588825735948925071088792621286413924433093837973338678061317952373152667738208580247014335270092438032669517421195076708843263464427491275589077468635821621660427413151702124585860562336314931646469139465624974717419583542186077487110573384584336899396459137406033821593522435947516262391886853078228217639832373061802042465604775279431047961897242995330297924974816840528937910449470045908649918727273454135081019838818646736093925719305119686456018557824502182310658894379865224320506773799661969554724405859224179530068204517953700434724517628935667705084902131077366257516973355274623029430312035962609534235743972496592110106578178261087453188748031874308235736991951563409571627009924449297491054898515196586647401482251063353679497371425102293418825851173719944991150975837461301055050641977215319293548753711916302620303285886585284801935092258757755974252765840117213423236480840271433563675420463751825525249443296570438613878659019657388028684018940876728167141370336617326501205786539157807030887142615190750014925761129276751930967284539711602136063030905422439663206743235827978893323244057791992784846333397777376559018705748068286783479656241461028995084873996929707504327530299728722973279344429886464127253481606037797072982991730292963086958019963124133049393504933254123550710544611825911411164545347103298810478440677801380771314654000993863064812666143308582068113958383191695455582594268957698414288937434670841079463189325391069639557807060212459748982935646135607889834724199794785643620420946134123876131988653523583129968622689486084084566556068769545012744866314050547353517468730098063227804689122468214608067276277084024022661554850240089528916571176174390203375848778429112896232470591918746910420058483261406773337510271956539946971625172483122306339193287079838007484857265161234349332733566644733585564302352808839243482787608861649432893991663992104883078477770480457284914563033532650700295889062659154985094079727675671297950100982294762289618915914415200322838787734851309790810191292672271037788980539641563623641691549857684083984688616843754070651210390625061281076637990479088796747780697384731704752534421563903872012388063236880370179493089549007763315230635483742568166533616066419800301882871237674818983302468363714883092592833759022789425880600872860388591688497306939480205112217663591382515242786700944069423551202015683777788518246700256517085092496237477268136942843500629388144299879053010562173754591826799732177350293689280652100253962688074980926434580116557158867004435039765053234782873273688408635400027406767838219635222265392909398073673913640828987220177767471681181958561337215831190546829360832369761134502817578302029348459829250008956826302712632958662921476531422333517930933879513570953463771836840924444220963193312956203055755173400679737406141621079236334238056468500920371671526425563718538895714164197723874226105966673969971731681694154350952831935564177056686222152179911513556397071433128936575538446483262012064243380169558626985610224606460693307938478588143674070005997697036490192733288261353293631124036506986521606389872502672380874033967443978302582968942568967418643361349794752455262914265228424192430833881035800537870239995421721136865502753413622116931406946695131869281025747959856051450050217159133177516099578655519818861932112821107094422872404424811534060558959583558152320121846058205635926993034788511320686266275887714460359966561084307256965005630644891875994665967728471715395736121081808415472731426617489331341746326623542220726001460127012069346395205644455432916629866607830890681187900908152950636267820756143888157813511346953663038784120923469428687308393204323338727754968052103028215443247233888452153437272501285897476914608083144041258681815400491877722878698018534545370065266556491709154295227567092222174741120627206566229898060328916720687436549482461086973672255474048128892424718543236057534116728507575520571311566979545848873987422281358879858407831350605482905514827852948911219053831956242287194847594078593980479010941940706717644390327307121358873850499936388382055016834027774960702768448802819122206368886368110435695293006521955282615269912716372773884189932871305634646882273982887631986457098363089177864870866761854856800476725526754147428510281458074031529921978145577568436811101853174981670164266478840902626828244482580275320945499151045185177165463118049045679857132575281179136562781581112888165622858760308759749638494352756766121689592614850307853620452745077529506310124803418045840594329260798544356200937080918215239203717906781219922804960697382387433126267303067959439609549571895772179155973005886936468455766760924509060882022122357192545367151918348725874239194108904441159599327600445065562064611646556654875942473692523369559930303550958176261762318495619064948396730020377638743693439998294302091470736189479326927624451865602395590537051289781634554233201149759948962784243274837880327014186769526211809750064051497558896502930048676052080104915378854139094245316917199876289412772211294645682948602814931815602496778879498137772162293594378110044480607976724292762495107841534464291508427645200020427694706980417758322090970202916573472515829046309103590378429775726517208772447409522671663060054697163879431711968734846887381866567512792985750163634113146275304990191356468238043299706957701507893377286580357127909137674208056554936246464126002437968454377733902647251281941632007684873625176406596754069362175887930785591647877727473927200291034294956244766130820072925073452917076422662104767303786316995423745511745652202278332409680352466766319086101120674585628731741351116229207886513294124481547162818207987716834634132236223411778823102765982510935889235916205510876329808799316517252893800123781743489683215159056249334737020683223210011863739577056747386710217321237522432524162635803437625360680866916357159455152781780392177432282343663377281118639051189307590166665074295275838400854463541931719053136365972490515840910658220181473479902235906713814690511605192230126948231611341743994471483304086248426913950233671341242512386402665725813094396762193965540738652422989787978219863791829970955792474732030323911641044590690797786231551834959303530592378981751589145765040802510947912342175848284188195013854616568030175503558005494489488487135160537559340234574897951660244233832140603009593710558845705251570426628460035440282367876855098267816176552037579565548167789603892749835560879154117774942357340076416109329400389998219926725708695732606877497422480202330752518765025596842076069322998858757989889646074438178817008154889522651672283404527721910699141576463948523112679473086580319507645519767562895742888179681209002638714525785831527761510908863174024369568056787301523542780479341426649522383370711751126537550394237209878466804913947344653071407962259728713050307725871487557050258257346686661380235142605611619740554343654869800544487929597028759035225840978268359866644658604569424139072909526624993290297344056816068380572662605727708840707347149606006456145407073443278251408747427550672230484535700609221439000299298160821171704791761450519100813267037521493074056785331110605835291278100739174994919784511291591368110739405517520801963053935074024850955377250036705466516233043042508744232426240463211507899733692998540704165626104197670020241509489241185609240963760442961200236459070644977062720791901923596480704892363697986019828308728422856475235316288279132429552481444750552190967204608068954518171220493032185374062724742151974030576904360268636078079200477623242955182947352202724437633902772139208776706571624163975178585925442692342853527432885633685078965196207251941655606187037055021846284543425785038300009537451829295844046491883868579348396115129716058166574509670367749583666669312188176367964494361713041603724305065848513174926405585519401800518090847521186822461697614924323831948643441590855801107307031120150224341607315792952875293683582039700338911211417068521936658978945950315438958901530382714300192958907414994359289408309707707836287591448403704503861896697581120185231923186865996803858381237032915620757883594878094168820553160512819015264759280757495815456422134145937816705699286829989561198235383715788048047870458417539466549769017322031089007030336291176730844845037214566964440146954517385743415781015861878383927855260939913057025557555906094705149809348777332007279757303824598946680968082222134848587382299928179409082566520958165547247524456674369759447468637633242890426977610679193391098330042231029372829879890320939109268283630617361017387812367989864514931170243712828588263048629888449220741564060714705913740552466575697187021735528724543942771480917936443765063786186132434863579741125852086345992780368879249835436329845768765016506511534500869572123950754478568317363155715352704652423525973751340882546160966144074667551422683603195980107215246355106917187133573168548563128085783443562367095965094994696882066118511808603420282133180124941099150260143545001743273079362511307029825049941799428445114647932915459955590958780762163666859179106543596606525352532027365072598912125568684280207724648772201099663182955955290339331228436486447597356085984076094729838954243393262315323991898185226418083129633354635687482886346561850481063228880559673784456200094146560349928087940511531005758712955257196411150685034077371060438037125957559698594936205847751202635494734753474818926225419035267161442928489985753674069216527163008606065437373682355658862648634368915321809557220445677713736831045807558452961283283260631962972852796667436297480082131862792186904428434263073576070399966943078950814726973025381737569492275179535432615691204059483286094999236641228788122641914850485632807206641855705952037503032291689448942757830609091085241060140068327420558396977382315073499610875876370425556496408685507194225634496673243065625925047458176273328181601701969816654242637876360145303594653845032547667499973734083566513818602515652028363738917101654541488267444800910570418616262683797112088614135727961109908829297022969212818097879895139150427093678644498319642013456683390877594300644248562301212461451169792193963440950808322928129427043659914648274998437594211302041829730841717881309037955854560324717081919530277146579455547554475428443440813938890860977601785738930751866190650501807716500184074432585402418436050111824299070232341724367452536534959479906333454075437181269939983371921848541873597984534893459226851506818266249007802933501265882497422624188535252663670282766249934982948874833106176420842901692305289960897860413006510902817980504058710767117904113021748279668235300196022025318557678984331758680637835996879160153892222023657576558158661140919939486159920915991755334178303334764313163501270539069707932656781241590643428472136023521823674121473312449994433415591527431593168747788253315509277033620290122259779480985539220006452716228085539827890658423344755282127651765057266326769114107503484587189699643487577513847914818363510062146681858509634888708145697672202016799119946241777668890791713686594596072646853881077878300216136827669702622345941873747673353799888440342704680304255169412715873932039844437460454781611305662517641275982118193966110185056288055594256606003231211618099462212930100247091334715068226843045868030090424286168202556214094608790006519109949557081581650582898334073946608445756578063669027284346201858732825292479650528668140850353851983752363745192562279549029055790703028395010485483592983454281448730435804705331508151050300152142811717539364913316617262123540552786330800208317705563029496359420165433309409417719632623411938710516157010179805355167937086029136675698609712412036858381295769530779814136570017476135696698614606849143969957383763169582460251334210807262171360194301808720988855141502416381832597525959316553186583311712685794152720661221842266141182515465748487831261034783454674925830872998544742120644509523324505087743149616655525179716802099172002640937492190756993689633028139164720896358177173555584859270652450486251641954055080134351032338981337830249770182275490638149996472333407961304146973947637265086927334710841568560843092131624043462986392084166005590459850649124350526476606760034444161818640367008377411410109432058895559865867007786367189694408962232137403411359719913313594655368544669236765258901210841377743248219181274784789228726489297003237187345615798159983483910041260105074696459943033197881063491392381249050306143340791832800406390709867259619709831126596014747372533052685371774214655400587392462372761736490519871336806772395257078136068668326139501432950947485159472466752720168431658660880751276858475554118438116901162200555211348448896066825922743131900796301158708467011765493539304656335622531124472779666900583119061610197266307397054253143981845737944948678013461821787593907699960202908396567728784690573640156401504769644899394754147460833991869688927115694234549265124664550779255402810503762203596753055860185649205606287909076945333920880884947782889485112215474323019138324556299388102061449026687601020775321091568497783074085964985796715261701003947549453991769879132354655010640735581699940975624814996744327842920276264418979391815839456270817330158216022551965989876937616401986120746675504886111085572676450705262244613022233585207227362048505728923881588493875453522918639971438088406175728622095012250651586310425888413435543197372985621775307202262947555248304444534043488887858117034134534252235431940787797284676018158322709774518092934219318981581248283265895004070485520609989378390034191416304463916388054965878650137504634169565515661829887863070584230696766025405302481147100789978421183048901046405689653970288559553092555863605215895737511408956490584415677493710585964801431587461449125054925319116465382158519737009328019453032057262845265804604633781663142993307664664653076059054896288872418971606022588261757753992205513150937720062486308556282049357575272499556708922163423398360256532873102919400704117691922085001511673567010195897100179701957812089291096941775436990436820256302405482262540190569650771058157424072149633956036527028333440730575007367456226058464988611510168961218111905847171446106871976101745658737379674069713742323875383903031720020020720592848878512391174647167374373792328388196620168762219134623389376259952702567213862211245898021213050140728890430032253550409586681872413936993819306914874471718664618311194260316166407037731648700186479960024304400324224180940227853330901150988087067826883531720076752255313800881878043169019007280483179928741412547612308960683309582837766768828757868868309297600101197453389833195258861963013291709438581661537417179449631917715431250695985348128568461937766989427745917091880252001274990555940728969659479333167224362156789677696670803522903901848573080627567086765862710476940920356559302535274341896592700222704923318682999156093641375700498853730459639615273462939697495174806269645179301871998678853758141597579931480660855723256837430528276417567005028804048942989958094810353483393414492788592526219241554723199714338508663732092663272824351493364070458968385234562474436117525676698776759722343920635750747155291810276261401299248042288399029787992541851749912963028399072963558857989059331779590876907390564602562353356722155225946883829845288292296627513716242217295467867071584092418408414755758253938524096330205134970474069539956789798172786092046228683973577981511186815265988460694975896548131465115039262637774951376155724819511611987725034456471073851343592735553871246237559819381321423844158192907004638977168388720791636174143249707910965816274642971707287172514274589835689709553462682016908535610894489840710058192030217694512077177458879551951047338418473998079630676788584516757572990430697154264238349800987086993367091210839445350624592243231234827854966037465718801489293794514787054060792457590060121962212392872001721558866634573497140953372115165598575794172441988902616701610161155783431502546032878119842402748460851072240667677876085524761777383308950261006438835055020545632434616785945194179566987496851524488384751361818066710831616556420936927052061189851729261714171443465550870630606355101294940030975916779915842604919712095432270267843265429657240327208871432199964531320258710967716512854966996255269860731176371820749882739977060199136209308323073683820645573256376598291257813149222422042797124144162995126594563979275938038380478262316042432539913285112303224703756194232173304785407857624401329171799297924078339071575798142681686465538294684739920588863165593491986789696284044734496802407709283137640810335225524271740410767356542444100448334744010172644105295478729634589864050120360802445119035099497449397361718157527709378020923666813584163626831926340671418279742134254622070541560005095967404561684045177174795279035325493258912048338574659009678173041600052108893461076875400424197780308288518120017336955912713771419501136130440975327919050489158324639914348353164868154857917863293512392555251021118278857369606027693130146966143344964230211438248370563353279385889526767207668897127443581563208810665014956814355879657690985776590276870745365927636497555344961730807816098710324801379513617036776345759497568620801399637455176242514778062872226597145548290676929571364357215267446898788941882075129222575650914355282887461419509786242752788157156640076372103780319404309584427254926998716923433189002214150311399876526068876156674021019720171960239086108297492763956954115303227546017387079562599357978530244347671639959146231793123998998692843797570249236955158729768385400522765149561444710597196288988815710941517170151811474351364385400511624620213117480079198374970010047136343252328157891135545045337190527506822915618500332846956792622620819044247334036250389279207158596003936315336884272437536679969864793474113319832861944146065392278409990314384035456504705678955202482717601187433564369024350308563130955905525039049273161331173492258464460902453507919018441129932169977045183285358648042855682220873721361649058630325636891308410376021567992702000532235543980465311933977545904404507856802139846500969342954731026924994758646605809166998416068464608729394380827430828581747969417287299031101319267557389798409136425347969494348037770336463495847686298259010347072786121862300198660798778268424593383563891957020685352160321163523006498874460020017041305698536515466875202385937518328037285114327481169968369284922044738057063349661871124094783591586962685864358914135985425357768877493274363451475448864086881803036965243175568830020586077325695971608648541583446843248996307701137134467515693024488548207712413355773230694945806726784523594363150787272815790157307003317879685443627952571902362327461426286873273800949774112285623766321490465329407202619753907174042225953924288816455979657003095714138910693684503626823105398674375324005270153474589332567951494185453780882706345729596216908538353537038141811557381637820903256151986974535764641212549807600515614170729804699481359348315056811664279321933527982271471576734018608872151879966935025270075755609971988286306428544812827513928069470275014816328972731434734852852950460488327167397898156367880478044360210900732072736974934463049973144257156043313369038761810094887312071348271081588985748326585420751007795311832686170803707093592761493678253085834048235100363216637895742620255035011686154340737950451648289675569835893552202017367954807578190950269798127114870343119036311224612829530382051287043092947197459469082102563478899543177152437969621128122450342606639926885213307919637027778044885792057304699080092344018663811325209712309647605998994792575985100817303960682221997532730160658262852758257669507854726034938298133582528178670608512656002268871781125359782933734779141273628418865617592083287944741096970387985473698402545806329483502235939354358748022398976091629625011047393116944910066690723063469313016971182063253526924404384009372428442820970936485690946892008737175325255703054353982872781230113980809386701547488580344563187131960267854879389331620500767526411204439023758334272429869965478636853410284885737025472550236566341868091903838867078790720840361940216467012153483797815183282647257862881520710108149955898033811896156944175676134071704653851217090212377788433364965187211990540758187739439752836414395304424591390317881300418879188711455314826746998705558793104024038888408385068734162507165727418513495208496367095554245043948394804597915622828248378793415272036226336956180555637107681488889361927574265993582355943153088793305276755874751236506584396947560429719200231986802435171993786810036110231256836425607959741057415362829718004649774857371837863903703901539737491165468549971645394161121641761071714540176519056505252066227788312904571969320599024137539598386198260320549583950167555250964413711822256149601400302303540789920969867750786720003807426797053030716793229601564862280851840335235017060858951291222324611783025316362894394607365277133651163164644619909902122492241231516899276785586373631552600250348848781323300191018939961670273141699962651194574263676196500243473717272902846220979839487106598227000995491887769618850543265321180221944428222842515255614118743401804194614139451471287252759239125596443735683397289633126767823491035633296129471910151571431157954909339032614119186547523762472153110207936911584874220582274734320173558507712243796985796549158062795027409771688611480761631516185530685669245717176922044366843312739893379411162972245169998546856221570241759471176995291655021168550010898576193463945590882627077531146577522388463435193765397349848024549760760244030808448901068387869726123709783578245166801171485983679405529046198262165669172027426285482393396001825459940925430816969103297841123402288560019054934275022318529471282960969397681373419770427812130014732867760571940596997927551246171843495698564171287248118346542064231871455182415286763056751311626771773506175112454633879942652912701057899567180572143655791835069177793070407573290439749499582241062381051491765023850418273009662017175094059080540895728375540635515221996582075735131570759236153986394592111558640009880975526105383825689927215847850417460651615113378833609760121148487005560165812492470682568442720454728963094203066504452986462235942260085549915891499536064984280345794927570094979594506023787750194706246323949549578230822830668408188025210766390742309737209162853371768062164469354323179178553058331714208479886303408465726426939557002685760575393478885870946005827232305191081175142349126873365859607998917329289158960018150918163374008060354752000515117510290122992487096154592802620607616982721810291673155489294237408519674330791660784990557821019357136624359908836138598085161564174769460547855400819535306708030896976304529468682332105328782374389441156851762717116363094014799096494563545929501307390036268210073263700823561506912696431833517162543903046989893142615442635951136346605737865495124457475262167895470362890483048499680403772251343193737344123661858694458806401858407314763379294038634043591941987235526301565460805186867606804316084512845916042441326987912538560299159967278766195195053176488313469325736689464438255813910848620966374267457983130122234387258312442203309457145754147047929387585823899773851521352372389559664312235643262628601147489086817159281066872708400820337718692153523526926347226809082598988984002620815217828261122931311820866007099686036540981832680755824776706950410997586143624355216194535302920025466736799648504337313349520821075119925892663899564756985870790185612379157886437446903787150950011255021003884531192365296559946190047484662064234794232967006052900370917557818870819352214687142723527763255989808694872111384598001412384216382782441273654244674883338167971620112886191415401936712909478990264666443156098372961501968624228250672306166720943546571425149308642488778598682759588749065077260250951829536765181182368616944724360783764294762469226319498921964644068316928766161506050813846319415116202577907863071801231159458603896562526554223346234454507394788690268159478151196436945210216883190446168629763325229863851818850049286935727647668238555646365544964006317648285575785866610228551564859908820958689444362546986795238226861159699100563660829267915337538160661122478695313261585318717638859893779291889029987938798100036973078489592706254104848593158543233956831042390299070263443797875691855434089764407601308444819786265079476440830134942435834281885915259293471436317533749589701072873501270788980481635045676667693207553051840432446100740321676471836083708475065126930707660849825299000317850305853682139512735038638246056425103377755809864643398017186208142663074172592226000511091342681074670129014301654101064933212283790827515001003530015654597508323772965439697382047741626571065740821649960626227496187953347907065988974871779564334064841745645747906925170149499810095353413548908754836327579522407206986291024671703579251441766703886609906985726260581240825336225218992000418975745765315123000064445715931701771688635483333051921582055946117357716321132233931965320386199005116178171334001070576652689919708169202219464704323795356411866063920558609034457064151797782145054722278852987210197858846070047420028468873795844228949974333656271877991721137916164492541329715652879529532639759538535920950138633380507561369530899547584883024261962758985941513780515805025767540401785795852448831172105089277089227273431973823884687307168230248788688585510108073522781405371406520758107270848167263977098731455162646911423286103036932984330300323676162714264067587806731883971515002798163374779078775038307986759404591073921034587404219617034925808189907205961291586420202885734009114955238865107911371495334639763988183948804530075074740372280936820535430494951948332833470075161979008687285439962981575605891637624723069162871111137676086480323752459664930411753946136464337804671165055504670671836221285795048067165630427626711429999113487698447050370637900181096888629721757951732433802780617470496302042492916619171886243355599282093243919445711886321556320161654247055375938696624656334121541014032286990930159132885808831241242882876373872742838038590710292748633351503090445328052597795658920554562434297982794134891756382400771612173324736428540160610044337641457220785921715591401037832020132133833096380778904095723810558829392796374381660686835195059277019515361601722158904287856784820682919441698718192862730827044416303962547130532843883379133747687358261221162583602728961624559041896770247453827583966522993712351630489833012421417455788591594256059792427721819908556279848605617453684478923796907975594555154646853163024462325674034895845462256744858202042457391994253094264224504202689038150152683602412559807597523648162809304891274615119623154611400822056396780658535407668688227542650381225999162076017089556747446524234452017661650325945665912966786324621379919222961458671422482492880647680321086477994100410060033906792752373625460277429600734788038356687522003482457694908456862696057715701919174892260635208129738797443835483286136939562450392976805783223402171676555917766840375723484409461762931288492689936871389838822271060279037990019045583360079739277410926655739233147025909233890654388422351324115388018559234956139930223919645050450369352927011566305153351918641864823442499919272027295345959906304872360804159576002966812111683172366038110542803591445720248256456105714055462420821343520948108417158289572445072063546816002305120140848054358742526171017681853883557558717415424775449772221419261315525269109175563331932322243218525422182729149159810583689702503522813002141192486014248068079753699647771939490680468355280834732761030604940973309169031678309793463661183278453186871646268073883365670456601042376850580139507443647963922284112697945134773004924987864965636794909929132712528977651918175427962806084932375520815361113240339713165504391887960198382138585000773242461778849187581459642642337889793330819488160040113126525635693244659398400636890315254722923991414474377069633893576192603918924793631780083102611419548543605157787160049557886565797066588551042882466363057207778902266777042512681571979533225107638903681976284402861025880539233932947467202408854127649238644760216116262082421299166036229918492378223630098347811952291382184732634228575912097980547828525059183798336801787411242644746002256241498069140074097972102327853957561512834580616541111792671042799057939449713494632895045651286884784187175802050458328387485313736911351025506201027753458094391050010218339732456504728894768792989259450198750767122363791875864720121496606115128048709648863056228440839369443872169212084920085155838125107074195518720809374694245973117281172105192890389637039423577686212766821093182763664984042124938144097959863114225436483965499983479084307021764385554351257436828228153032222380834767951113557014806318200453220723794891863572149106242526993994671015366846234105153338142684770627585203524099207972086991453730109551641503317628200196916411546026820723669255275141842996992053985343307306805737238050416719722112737405078927266340638850686734458560773266648384578027718911475801323105519878413365218519071460681389868867103147598264611293795439526672867275994833590259744587868768496462683484434414135917714587766088077845357183932937193739323640835633757668846821111799350554102085561884901020160050563954168745108220603555410817666460524124966224422804545243216032036019464135609792001959024049792923673298924553990101980112140290868699920575891777188074146122205024728585715367530747814389730571787268366360157613610077228631963885264623512553807731945956356796538236249992655180433079635962110674552852142902629498265675533527310046878865731047246649332656792733134512295505918623293739332608607745135077530901574443829487339779605322849358301361837958626480321297368474817516476913662110360369509106666505171711508278200932788358722598394046306837631811808904423626219988123682680785795262197216687201745517472627818032683058548803970977047934831035439855907843552776676033139884605271503138856332467688927104595851932895139167823857735772658100479825639355193520055204080028705967824973937478860528356493591497838037796496000521244583477900175604246586665199807702883943851638095504304921960324436090340085174660429627430976838715194598264473594023424821104475729111777958773134155360952759570898612586771456252399450075938020609355024892008476733229308574222255020645569023912654366357852427242905605320575403082101451238209021746697579765347517250146583747884808053773515042222404295760361375432486199655891939220504699982106293160967565179075132296077785755331026585842576086686764535520927748275567545177169950878941180593630524994496701237598006553499873966639539441701705969810151271933311840767923271853953980976404852784674387231643291002906549530861283330266400758012961849920702200255597215695758837616878436434679275586357397225356488413306011928957464280935785808113233143311528748217976603971257952890036407198923328131611640416937736628013259738222237426818917648959642270338039059295964969648213311447316676504197678110849096646942571706945700787126401448652242846948897617256746535220506162107300101926248314682120355169950152200731638400413203033324231216708268546893175843663043078435078592810447849266395265239871864417338008568169232134742975458326940216125333283790096064862778549412667951367404587741694559614076265662502990069226726787603658713793279604184883939339346926354341548095183623323317522937035210291464133127520371171667548720634738923293785107290295144629274154676194794274716691603049782928896147458702649979707920638724082502300642554499590401197410853516784440901880646293748354439614400353523310304041178457228902958180581032123743825898702747370401068377771592512645357065083009214792583498924751274536220061058545759973693135297078143742841340551954446721489415057452839171603715453082525558343202512542416624457524562964457910769717152147095185055003550543906316882581057850746356562047914667680556984384552027709969719889807233714869563567031776877637897432734928293439051455670607446079704769316462781214171381827437856146219708808702106421105737785147135883737738824076528045191427137488110559744718310093937519765980210024101251123081368260338474491087716132285766026393884928495989823656572720426357202637482564949491262914191713064628059566982549360326132019252804346170439028926027993140436137026582012131285148815857311178210413103357288871817295262711200081475064026830464189887697478791731737038139991888242416994212152776045185956711909418073734793310997092831554681656395271010461137625406644958618385463898220899677832955011143149959368039822230371363295742321735744647342109741491743641994731958840052638726959231836423254918455955045343778467094704509594201202114220864191279049359945213739248711074323149511380429379365543637217263481907571135312709307952729522112479531498969908089466574769556512436056114200866399056099000380302506124236077503293413472890501316772809713162683495963409292243031195084878867103533520023712730202916592975252657039210421496349523857085605723434621576956985134068304548331545907536471146996824209102321431171769227738534770417794076441001301048596092707211320523185382227444870243327103987811479127546080836115687792151311310450083663631007517511025900280864277150209627136623974010752884454683316182115027892643072976355761055112462033248005310599511150543148482955343295983057427245173788652719300073232173623758732731489091094553740270481185557199051683938745352067970859211896407854895041094056996598871598863362077955045219321563361246853031747054439402941829263552401554523160986825531389701880153970459625016917966481250155593231148267300563383579726032860177847414960045697257834956205873287301245145557634523029864814954410090788352980120701265410952518460666201767420452573679946907719084537874820608029048251670176619820730618331239219353569004070521549893903446593880904750772416954365185807506649045944318886297872357160302248135220460109063521450828063974927551284769435499620339916448879197437902095718886320024750207910237907307296374632633667459427556378453569136734552401489712590948036856628232100500394007310663207525728314711519263328928520696723934717509829526021254947643301953574383509258283111339115390633766173730772363027988986998579945016592376906754883798892940060516282614004815046948281403308391643424865093963545890913280595111633455036563482451915058317949808318272813479505077271733594966337188214919283787116463903566925779942457394355473044935559396848032790208614196815082606481092468854338332986639074547805263629161562798803187828270745163032786390756653362197506322424864576945975359667320060389826293000076125149479800895671245256955982758548576901246368659494224227727177151849641751071598416357207241224371968067203927064789427894217128426413342711831847944133460647243141150155098551171241466824331235206284065722692606904747919644729752832274956981963277872816259540120205380732958250049744593080978240952991296542331849879880077168163198608651208831586725650659441406184468374963189291374599342160348482288315828973094216147368925585169927155311558888760072170341024458744020844342827300467309795555666811501300338889583802314643138290026007632285034758307808788951803139810207627889851743534782251208467594974300244378958428956807526632036276962994601808349419949127065591308400058626563996391104068510412820071532462564263714563557576945284927112635577196325065896545536482125459263355257292595281499341587877651569223119151023373440716991656476398200089698462984399775938539811213321810328198969945792617649358297483733877523528594640351382382306269453634581003193672502069828073843334117528315731434263989641634712705303477569915580031181591809113788026883854757697292339888286032302997704306662886955301210272705763395989768941024996847949816842011992561348075644040655946238370872368881254894914879487348086141681055211400184551700844448429484755073273664282722206336582401745498808291301883914015680905000084954657373000327477972099175074617859515799532022372852359204007425152256386166756203188398117618611960221628474319079702503674592828046781785366473935600354038278281845766947823374571138221219326167295010427069409520265028052289859093500239449087456262053452217311940957783019536051850385496140621825306182036518273370621119893902448897538635818099449181578487833652886543654224830202789241704968965110417275947501781226785814391748649424357300909171264877160595920974458114629554223100220085120522589764778114827039426776664278274625939511743807198618722265586504030028469146927864680031836034638172640570270742262034297187555809938687124046562233389146465830554301315509528510972630050805188265272685335372937338569182693717167730316118647494810424215127915910146065697953331337740959367493264414637024275245393350301309928336485407069840343991212452492755802997988240920664464042585966200888741916498773027540372920421581093781471313622628866669454742124495528490914921933719362340294337125575569988652966236450353519202677763794248208286056893623152152317885014521313214914698685483594470686585010981314205892676416115162109405356780736810089734245872932705210853572676380564228840929665884477795279546710735193295474713015079220840328232204428944678218396547110902117340725139724757357008555312743219996751259582568063235880883884366203262266191414934740436498000247398332092411838667429609269460701418388178110714282439657796388439864782313715424989472583041145149526872423618996763058816820846327437441210390552765218710735564525713360114558045585684558650432859917676519619327114349866540777451450047307271171479571222757201812886446440777517460328242317338533765298981044232240467724632047951798097157602580088576897513405948054826877288477629384645496040270370508539419092769937066804551719416040376351180185513657545109524703460226002074174282384948178225490636599208474903758320574467795910675566064077500934712981700581876940802799269046059498721176341519148822518670439557310017937100046657292180372848797971569227888839704198254565706428908985827958625659901375968750078569853420944399597152366767355991155709006141301885395600693305082611578831597901882912877765396964067539208084858229047556190518637549059417647208090848523929966365377746870985680142361370763704674236180292186795924769777652926292904179839275053432943384476533398501228283627985150263745427966717714841975733906572871543054321575235449320534653754238204844850884634590853386677292538520444984413136863751894117684862613603681937363513393254080685226921474307329134467625293226408453308449386471515618139413634350364817794755097633925598827869036963238633034257944529229237752032874489020040532668139354752855017464531717214599508145561364692526650227115337381817597855795041988075485811336289154900903908060775415757361373755988018757307536248737001291223826113438103923437231353689889153374949378632498494176428141704528408296939917243232867725641504837657731144933521553852300178110827616363037090205259503779092534110470570046565251977925679331410886632640592623178893126031528575871642421190333798725775874290129037593626972723431489357257241883794186276864566775868692027601439805016387143520477673880900578928363381779738845734410014996643323582225792535171105948560789182401521998285226946509587631492471279520164467647402704689545435103069826179991402234072854891546806842095743207506621154487626644675798636443880232586360886918759442271521429650664161384963815027972173071265920578266002784718140034209265693070309044570245964675764901852781393148131509203641049845969060225314474822945707025270436304061114455142227669366501254252372074394018277525089414329152151705997454593125946821214351062276330331850433948895127672063729151249368193570319104693572905276288768782500485054800597323075326522779255241991315961791152206941968547918734156699781096702562993993208164507174173490564339865219986639055709352119852439067986150214486239284387398201876022854712303949459661572587509650320071247665759381372124801134153550616754720369579105597461067112541711745369543014719141993731972279716902116135726252431164722893666441426212438549813623694963571282116036854416071082317751078012983042538141908922492085953646108213956481132053160737077720760559934981503424064077512331512158999246297497845474385785595227089267102479199199645043040166005621762962340149282181611520504643814051201017632797902693271222701259270816304579408695938850308858577776769880577120277461858372818585997017721116037109827393241471979376638648431600084157927253061164085015150016520300200142743376390418788622635274702258984849469077694747613276391052599405660382382371636943555470658174827307182474182726362724046239944028444473642458644475104690299765267497344356985708539057819159958599609675061283091019474886565075126139713632927641583491304208300950851100414074557443784927898576072610576974181963369679075518838322017344376439805368296268732851893953081597213840998753657746635493253113936255978954300091191426740753859254969015797341918371040169991790094567835962857322447147907320456964719786315490862841233325174812784828809848761022100974278347516462790553938519668895696510876062872957459088920170238672074010602453894151954739328142466223126892362650272056402643021776903189555520611271146314671703891577339006545286923272080811157875737499103532444669361653517522124688660805939738054689486755602588706871030811898922024217495293458219535300991561355360731590956734699069924874268001953821752462105349862701061321590757260240804300827868356293198384271052198354727511764233027995892687273053118355805687527612409197424447633568095687484441045467028352365141527656270080436309747745376780982087349803849825992488106702977549495352282995165465598506874283176285208571961393797828505779014996232139220462341524168238038894466242673730018965433764765036341251828509512088864856294714398779566559280749164896256218592671541469217676839605450082164216260561064231444357982306919657804705747148460072968182372287977560496089158178686729363237902415792047283646970210313975180097841598550007055364938753212574961674875872583259925957615074339186228437988301346044540880817809685491194541193470268965059919860410997653211196581062966550051161836517062029288087760914984616731644268641970892306484630567545738872024760165257760852937721093358445387107402729259191524626762353817978693064215340131633701135735635111098141821129662210736726269615672674830775248874448416766573702400485083937025583859101226694835806839154547916601645691486305239359779324467255886717416048550387114903176075537321944728305822191558078807524536969327446017473605242058646968697577061218677619720587491045165142715495423853920232526975123495465463090613294600566507283098728033873735155375223563183570253700649409263808031737463485403611466000484687624231089472379165007451797052486284672766337551730368736838564403704980661790920083171078821049818331552614850537354075035108223939247445630109692042278844737169688950911185736926890336659718522537770329622016708106551812675800940852515068477579219138932138092869611953122090503801810765874883683178827814252786261879667606821977039093260067296151275571252786437069898354444096139173790354548518040397333137480523587910955583040481534804539187854038243236907304310274062641777762657301034703384021129669084818046162496487394734584412155302581522214994582224994194195472564103175021144228086523028022134240931939327276781959906081125986239673394589896190716797777802595116314775762640285882625148158216439944135061960811758904619511585390826133549603880323713522245169681180597512189590028591797390866524495280407827130270045377437267855532504850397463757394646098408565893018482234161498658315034660821862236058019481145549035154742662660612950268784097547798140726823956931472487609828034508118938340409615343148630112486764653154787584549465222275318773560890835043837081120882441759938586466309397048117253004020305813409044745051156377054103501416686191248525269493348297851018111472329874045396127540222219095844050872306623268888497042234567000119497518597964940991489713853622794588740760990432854228127730581830402494510870633698694686740089481097539710090849476830410711529550638887652490545659994260773886347394552511448972036104793757254472396602354774812749416069835101314764023641949146105980556375704465155667123652568282701574452847602207817539723371640969862649205576687615644577446446649254773467297255570538828590789231759706768639824966294555601938731527103627201242931201764252246448031819544683337639946131383614457041608883422253715587835807016115602717754142472333152781356694009898004445823899842006407489589238923892752289147329455312404247755208380523795101239384358587754549990012720682866599985790984293038460073296238426290797218233372747669464015269204881430422739438838386988072365034008809524512726001361525704157749789546427459286696216415427519072078965765676204708762910259298887712834058061317182068879509627355230802280366588530930270461940061446449186278566424494208162102038327611169622442138639731157130118991853169915158165025834281284874149275360507355014927516496556894986881445782807241540090116176936589862811374592790322578489093397688160867085700299534572157942098099722053214575142715411220939886987456280116533207925455196985191038428157268351201092367995242906867995456830838859301366721852113536417244228370492060364815444971779988618739061970126506684370640425124459951909006226082179845415139874086156189246593084402747014710167254716016686017397691997662011119989301553540628177813282386798739883185480936514175269040502739923269532293931036045698425205947108776022321016774679279356253076833772206929809952133275493410764068293696256538097982992215020076190656713323330719175311095376967431445827047452191856565617305618532166042594645538561688375993453276738278878122231537281113417355451707355320827604407745254423078545374811259665463557459604327036854215738696224447960925936750083098914000685383635881778748642710688257878740799283418251977140842230489497915517987678274684754084928993864763498391753924459329312913808073876500505220066666272734384454049896801183432553499976250119217678755809806723324167826178257089116301798088195583791075401180509621601093080422570180549297646784115387691430708824753121723137940372365928771043455446962665999926233933298641137100126804081160276969402287136507298106445252016551733860468650406212924578927147227426763861426823676408516411947662651437101393855680642700778296596804860775179492212156291738671635464988985383575153249743158354139913221365051551384109030902755433236441202253007704282111471419181475709618331378229434207254341031555828186693283866836607269163836967793201021420290468133704915343805924654711497083540122724100650394974216418866922744736899506252894502777189894691329634675858792642352116335464746864260548561315778403611431490269544275056480384788879432956556048443391840602027045146827824231514065070221048519592072312004933717673835237093088565264344841946773453824132968854306302477825543502819595717543326873583172827933774101026347172525800055108998087920427447783853642749720654309224796057214003306615979398156970613660983964055202876699917225472402063960609642994542705915460007353673154988077390830015813351603573011111410928015412280666670587855509270333850098311567628516164924255092928303908770988934946072349028658560205422067037156804635003826052763710823986597931848309367641656360790706605233434111377931216120205880951461437739476835388395047212945283498654808648378850194676769456232670199871331845545348373608451276718005678754235887195105895652797804537834484650468146951677538136951845103083239037496571621433079638601544816144955239351112121894430238269540578601164673736647956520658725081592753057131343835699200489996180432549502052195550206179277993056424583665872167535192817503344992391833256236162650208149035578612440518344040381599135827173843373404529744999640599186566641535612424308001626179337509214296580882832219570578431716979462845513309683824600036989961805929879506603760712432725597536508820386360958809040038001760475078669744332587723215438325998399864395011449541507700972822653695839438085091284110416290966370127424988176163441016674234005068361676482327103889422394820253086967222925243407506026512988576358781375008510056886874328274718732324289847733542581504162589550238544890684967676489282970728115843511676077617260489135585109814789508429849836055936593710532020599790443697353401662876453206371886938218978015732190762998103612568387648387269853601294481607317618658066805968373389411982650087326242669600240908832076226117839991574402105842789845063036014199339283624554027683509989720421859620902016210156519223584211948820209123783927557185605541656205455347196978661235058348962821286082084034973119988107725904545863376610850509582385030751284259642859749471596754259240349558609796434019664667217572372370707851846466383706717029954169832988691247281876802738125496293898760722340846570950989432016548760479339467946851343732630392230933179068730316994180074048000687251365978579585994780199496523427286889887178135161715505778391587138640405789565918232137081400587138088365230471671271822006018608811257260339862403542067521276908921081552260329300444101890637236591957119530302882485868478256488300525181260810354213518122471584004627510592444870583709540835318975215236103420408450764137674234730058822034323160474633043506281423210829487240902594764411891032233740497947408578277622048261821951428217981124372676625846895195106998673740227323002602615059706421527460232699949700615823592828222978328684019972903653781681600288411730673324496628384032435365041397536205509105219749095799860595726941384024267555967486377429308583140664803184453153290815321549434582880442937355680052766701800094788733588609136494945838526892791365594342881741864555941029617929958126080970645474650902342618403450108124033539000610734694120978386716277216137083614515110500772011704214057510295511491370255453350206814116524476917845869435403411879135071947286833389662476101183017004972618956118398981605390920089117277245282732995868083801073781314001876067250126926454645097673374700236767820135235673242624788804823436290099963301097657305710745086213218779682807434398964835524271448757305830321802494521092319912041786298321106456189823450495054397161803039568512653801492251694878479554724186382786275823278212993978207428675547109249821824468614795808140835500466875596261579061717590219271869723784547241129855757317937479535182955842991336928140588480421571538074685311302335494627214184400563239744587537727518071466016570650353750000780005476100367863699111323985862132218224624643435010363223985967017289928425234113154343262930390735953429144139338742821872148418613127907162685826684720595466403565113327927292836704215333378156489787872434723165771081189058811592205341344776752129774635506551109801811454708921701244106349239492424226738349439407865465836386859700260199154168385586155789670127220023220031686195419702892475742166676680152480824022111156190982909528829342278406490395339672008649956965447075211846134340977857777364263165869169876274954188683133247514531590023354409517149140813592731911461920067757921585633107612547070933961164415088007272939456368492532718589155168814720960114154056640038921028118648545950411900558007928394716199676003018770007299166134878103899189799277933082603333383340579193386012599266354350647100912606346252385743463526847492979065780017287665968256219468541077987421844550471048251138993654279944593202443898985134425672669327861329504851702042670416810423988787766282835019312545495101087037669638120603127617996218893187778305204501948120474270520457321254873390393028668085392898551453951830701677372533915679276903907336248590343351476117870517797664710107502450768161655725395482009480911058631732989175311841603640219503463573219594755860083208292675123788495516672506492207206097412031293135743537452185545498302580415651798622780164689374817239713381123695363735811057393910536917973929343197751880325243525860808275537409997210154008004697992794342234544768970758031314906549976457271996996280332692090891558381760321398926448802376910082742090668080043739925045412236849719409774670467316737887852049416564473707132543728313954096231813376473848894121827756876058275472115348406411192866091980614228229552490758852587114072134140163523811998912747789131397574682809342472823110218984300702443999642906444508447880276686539463578359786330143574307385522480118057855163003059480351702305291761937668044897455190062298141740225468793859809142285837449414294668405678447862996873037366863397510139100798455883197189398404205851783126255609907516425666609144857660683679374480652972403709933396292834348332661041368713447259629441715366168325692987460751934900436754871245012517388228959426432206171837705951665664903889623415903428365924676238921543162109473965009869257089507504114157819718945799485168292399767685260590940847692555560320947301798892618229473834688688478774214747821124629005048761624209757229517860733959886964186053995691274261105379964864827288214729865447937270511431036415399504302492489038987190473804812173705725663713465147154131222056319569952971074484542325785409319607037480624328873057403741431323821583556267142756875575513618201917633010862837972585511567417230504719060873616277083262964429580482797563630823764361615455540616980045819644670667810243347845988069248477274895298262045169437003711201912953531129197138017595577974532179706899810786979967116140647258355731385280378144794618645821634745203985589751231713640797468385145592041450052177212291446699278647652010036539788997094195677954229000414384548714348852855651763080299251676444247682186490621512191723425686851600605859780896623668832012839653122703074654818211999482253881430040168114450362116720244462048282967776160165637897576349795548725510809105781339420347277448474876989841921828085630416492602991762303626322504418296296521543856287607037421868140047386309450159109132542103032561351107575582873478656260809325645074346337233422408558581633853715306945878269202052395067272475369001398011496431659458297164868632204841795219642449832794880631346462010891393287053134556150378876921145927268505146771355995890632238650764778282690168036013061708569828863363533982166411661335548040370382100344583808150558303401797120822493909503856609585571395374634762832404217519342656686392559177433783255482070386105633012623762876981734728224250946153189070215082050421810397748940765721499083247852854595100246795973930841106272522541569649389236827358143460772759803346264312598278889441818491738026870449603886707186477083156478758911780354308201318656582034354073422928347455769651498683915039761412613360789480997559164824906255168553679482474050984649608568188917203699873757964398001165295270277237226019357555720232631014768692847626362851893048492690926409854724936481814128316893832831257956621359883554452066740895840923148625755911051962200050308020425737002899660124136355648802803399956946560958857632199260300046853975598028765558317107063997506660476148677763563226116127152242671096736184025291082552446153885776660277960808983028370687781398492381254517178987577906769165132460310875518147960012167620168554361388753511114464644596594898628685003842938167759796191272999045913439604283622782145743849108066267372039815968331145831327755737193964762139470369487134483796533672088650760949443106748938628101668608093548762040629531426836790162232434421625009619198865282501847807500930929896168789351440485278448521019497293149122933664283836109583591179266973210503286586371961913064985733208661524319891775175613307253369060628944014036246735791686124190767973072153896099260914778003921829096605678051574245394812705158278656086176628088767548528264353457929751091037432431480490509972013400938712099679922667327456972199757397498352955663444532434557032626027829313689388962967691490051117916415739641516223459624143879984997239721062591045242665562829601459679012861764153524786433047855814962571113956032515036318374506194258790732974799065403378129323435496477095994159702169181036814733833330641513877132215173398409381746568333237521245212042635149480179573706485748255881296241114146469266177478173860156155696776808063542808133926222268057358604395739162738771435084847701866265316974888647386824309419601892875891202138727709615384880950656532073442058984978568214481099344327143794129234072975479326476182962040361443641127465240436917542835856614059594332610091323144864164204976494795520171710865170698122416084821707217101649482479807749180166663180760457163952518386095827183272086570529825589266492312740506731234877203497799829560941063603051658168190384801114703042390182045758372731652085922539947510938900121122194266654459086779269137115495078966657667654609628827777519957055450729792366620852350781689434003204754374040076217990918813510949939669431342798599215806292704213826756214353405924672023502064258541096859551282959888016794748534882762322608988214260279669494883399735380911531026157275260615166467574723112673113045630210164427562827821914879246698975320978326529216825843304790854783365426975843307795571952000101207872401988134949844384367638270411742100369511690111801683269994661201008605320941579019288976139784035165111599346420444148276820545506341848306161979946027048964895243897025843417177319031533093214798054202089619512507592936490162781474077322477257322019135045680559997856927754305465787984285946840858678413411453824124072065675598264826257619030338341742518485385403847037100690876508085350864021762101015672829143567367711035116439783634404283023478073545669143817704745089458721178783915416653092472697951952686392823300371685067876207877548178391081973218290478799329139607887417683308186531819994065979267822132271345963247140952946307619739674998463493636097580672536615518078598145349535821601480260233176252015063663993913514287751153532124112251505706572311520853765028432210158406189825700470439171864907241208917145612024917300437993499942065866379857873460604806192281194643315629256867108796971234962364061937388112180207379159818010975908011327225784300250111378803495792043918992883005162429217600337641079337196813319206758299182607848524757117752420168349348194140053916463935218273710489150036580479259761583436513553494384319150921462930819950183591670942530265403298032496761584396347114353247143703922148617843828261138668855215984613445058033026369143941743559917537871666881400452968934351987652723008458465501565659895211301104852881693941568670635178319221855955305000298648325444774777199550165082658896713964088988056795806691606580609404851392801022276976156138260831907603324548465286614649429483966773300807073200675104262514142962447145368750970687850660059394026518778610327654702806325729906196897591887386672305110123794932925976495748262551959273944717640092556185211857724430888945893130457097527258670714556514236034181989031519545721142962447145368750970687850660059394026518778610327654702806325729906196897591887386672305110123794932925976495748262551960149275564019275564819275 5211857724430888945893130457097527258670714556514236034181989031519545721142962447145368750970687850660059394026518778610327654702806325729906196897591887386672305110123794932925976495748262551960149275564019275564819275 52118577244308889458931304570975272586707145565142360341819890315195457218862114917103453059657845082618680743649773583175770086475879964322744548950078096671196162151367695085308923361238666283481102939804607435534272724428104903280756767003377271120949128434487450813568822156033050438835175410814830375344342084122081683605813262345767754279316198604543050444851055580041167943376713205581470587272088253604731064967931847963735278844788520587318286600656334932560235908889835377725079702005054144021055946107207649244091363372278973994663975123411788366312509006141623227657028541048506797449812718146764308414103002375256537304952767275484545999787163325331050619024021518146810014651262851039759839412882369862113183152477649679577744191332394798552871653023199869802398398473198178817133310344339890837958000051319653452338339010909704447143479426502628574031518152035465072823118385198658029362135224379754319380198343291431250275776675431686988860286567701350037258969644586868341764738783906654442181923585773107870023191744542871416003026828372404946436034787690357332618811431010813218855279858973034505344033037227691514045318236187832171998898905508290896624197658559805783414287373064809852907821459411264949921965113612567773076994605802064072391808669002017569564175955272113593375897911604759823155872535644568257143746585668898203737054970452907158469737635558706092801201769780532935796783807950227922001052016768988732541083893192509071742888108107086232075510184800417696968262903923998393811623663847871308193201855592678658980709850229537394942175424696253547043954732413392476485210376117773112313850016187130471064778393248758500636199119677877532680713924689844038826593605108546523692226192724034991210383162262972411440835568680499807460483713592520753901701446937391640928648639190537573932945565367754356329489530854791973561811689434694434436430308714442549106098294828815811595635629933779473922097851104067216644803205310670913037594884345787343984737076537474047930809034382443397058305326958562998479383048081779750890193239788196447472813485486485639973679076903930252128591950959453303137975185298186626201176126095321392633918271825632758305911893721069157764383887227842285290091226125140805231508120272624773706671615372979623651717118309181715228052653759337375581282348642969322667847133869598876915809508115049936337356905900842892007054825254617689541647107780117586071432866240448305523642593775798552448696080726730590765024885140814761891799989629290795406069165098627507033091008866119931836534781106895005532321232310409943156697571284321105892729075626652983068346126881743502763445734873130812787853966825948045024450899453850626222815657206656259080710600907194741580643428961731315157060558113998960765684277239548120624654927922466441086739301705267840652247504105360432350868815254382188405781522951987895606499560698274532892273270385375845209270924294667346895933777896580676951285904490573991307948762539798998946853448670842763284764409804653488551209436064288937383710535155958795075103681999586009247940522051548807777499830613137902641282737157571061281736249783647450207227756195212674327358168549611969888258311261669505222402188114669306257495384708699586574599887892786847387198643837904804637462228161268712763451130947831661759970759508533257460284937400104364503455658044944295034531833812907850888333858378697710849820665102062795707669833445177934527180376911410207557477431542932903262953211497882620351598741254642288439527779549928956475434710589858515900550849005696903693994638054127440782720795881206109501826667505282910042864401159690915602602458721174560455109407684697973682748145979040455219048418011545663478335343808815341403723981788190775763064723383684807661718788752544407318658305011864756320301713983390078987542441102627774925945578726315160874870250480620381626062841567542997110084572360794368388317756971160717747601977362998608470922561241903344303868060751607783650278916662836093176759695530149368127979354666523938986549220821261327763789820294679958162439870593623917051175070504939244293712287520721004790036952035305417470268810031314275311744562464073545200130335154416116128453063638220620318271412034710573330570609561041999774412943789723336195293680711629464974174674606161944284195771506421244911540670731221384206414126967154566438915947177796949351958346843367832214130374310734291743734376354415907377380776833554545220416075583245001412712899741014947054886472434158991296092282986240745516058914963102100059587134719209797239836831280110175264318686111835170173586754064926579151374058216297242018837510297720276922807801732353658524866103735524636051974175871823490873819774519960413516046880860827255906104828222575767463581916629034390705475970348090440043043333174134614234541274567798725892324090915108730592024279001496737015134772151425714802387818972789099319232118851804003049762893873119886876339770569031907414517629750558295079055157128977260343546722251875194722777503478062988815802764088305858873211408993562565445263256262930428543993328255032950289369907770549029470796220083902932214441126573820895685434478522535584373126933754793765994306991005699082156031450819886494389488679597736520237763805269495558714542706585174744459646823526941056851933737004914486237606597957437429493137628495423747696298423620404069903223286254828223354201652282912884434215751270602021538317845218564841150669394364364463390329462869215001200331737223159459937024404665464401070954637786273667690456425997758603414233762759258536312643708973075795526996850313206909183067913265420306400314824559862392657597573177591286253089465412516622840716337014979026738432530161901013729788646954034256945572630522038762942326480649962381630855003126516805447885568199731089679575544268392204851309190268824033771201778639860463980025603720606929534601536735130093516649047599690415348442284064946435783962739597969701199959968970550071398026714315391239146116135818340680876053466725530504223979280965662210911118477896503351900312819308140470647874036715555211403407030398907223233915942351265297171121449159128746969645445570922804347338410138588742805072514932018367654986544261906876750303979569390242134374752592028444937070321982409508528743929412781595864754303669533654646504381229553856960187081463036000681022319353567758842217066271778752289539374973944984606881958992605790426632428181883297682570878308901643540546417536779752140149169816134993044910420427417299073183796985131245595860639919965966899610800504940072963970989595175746349501131523954054363842477157673057968997809351123101270006068315601347056168842081862105906584385468535226530994080955068645181964310455005698528640369722726449640722091072805065651759005363319425718826190168520911094446230493872762260130096650980181502161161893149917554486648451019396408924245351858629668535880723702520862903963751354424084167679610625407745354397187202203898292588150488174626321440193245912638467764538782149003218736052884016158146769340972434249669596797455129521524754130038382417596775542251548689034984675846106631594198812117971334525092753070140856142635030152714737087979022966356830017879902880841938939224918844891176700803803875888780169770111345334911534802106585087570025517363256882009759552748712253571825516978753150955690868985464837948430351870614923135734029631365279127615262306104314092395653522974932610180235741449400201075752924889589293245803518893483362322662110704722279517896431135332221513311128130269965705654236666071242736067583376783519101251099443703046290763466149644955996730321258522840068128863206013843915352393209115790604734139362973234927591808942336565260939483133648102906435863118308259658785978471502344907874767879956674248520510401039997571039402206306917347420208969917560052888987367593966293674017209821954183371282339328624773171964386256653145512699222367766777081986434967998415260451946404590163957896049279139291043490275683817268404705229814089067131491526250441754527101123578680129893682849339139638336607814229179455434491680970664913188453781202579621552321288398882948309602541545158301556456231328450317418576979979910789556567996082529165537586122338380700692195796394198374261176767691005073575014710412739177835963479441159241607409649189238641623144315098433799999574123860845568790650179660465904011900931064914597645508744169170936159780546717465899301704137539046825444198493069773963033614330040322637044138842456485319600091024035914860434195671889198585615655465775089014431777128616456862190012845946074216074295710458314004620124639011021019323688746231874639063905184609082474661222258683171698906360640254048935087506001935383235847779777771841566927112240044551677054193107303883694387978890462421759004666609104016362270064506716725632981356191695775856133339039827759965225099040387093278986221595494379970630648070964941770800581227055933091621184400463589378563243586419106154006820478790162140445787717398102952607173000991217971137542433348822666186718059345350035979406261016945589487985287382394619259273830058657862369012719296382659263937819596877763449192781383915273468510317128350116775412896963401763368803347613242500654794483551600242312566460801078670258603760993908004517562600906555541309840427357430050066877433135282061707299033893705322254670042058896404652393614283079185404169666783240709559587709423200941561095553433443491385438840861082486242898596197412565717042400678767123685935372271091567040606219434726020409941395472013175524491583459442749191929135023558344041872069743458860538337018589765720622546686389914740617138440911140542444892418125280587378444375990337027144323207852046419314755947583142919416971906297697904498821308019258759048587570102804989009276466743181741931273879879190866705646017414104518365473639211201831272642135299075075316741860411390850791740441726580092889664003508561829937247213684341314956929570401981300160608754127957466419031797332593924021074167670242353517422118285715161832976814222607309029636948713308807785556663239728334225270656507307251890309039502297514554508141344442816541436441049217506227064362861017571711204836658149705824635780075504562645374462805259328415678857985069010580452797562628572208304783543668131330317233238135264707525779523301528916639528654318999573174578016782672814602226403818995669379948424210982489742008823311140013410440951609308313090546550315955515473977480221462406761105271613757998628354396966578355245670079360497518767958500434785944448348747345525999632392588201044528789576723339110852081379948423471531895261281875108905121354654969246066557673451857177405113980900507493228007094056920655442879928976809138532882392312742649637907197997852490903046095850203281301188191897987538612770509831126796867211781006094288603341607408020448532441414457945472105469892916649981941599750811708399758552531253479307072377194823738336760655418502113337357535711604984088630696264989015115562982779223043334984493678391519856268504325200844798554629691262997883130293630646337045033155263752040473922415707285777998802963532890069840076781896975635402176619429442475372564984572265506787359093405723897937819146080319827113924804979411004922981431759499199310328089795747253376814606174543313264489248037013462642669263173424435742705177475650675563413336005917831376373759203890204265171691865422448413609465986362677543332217290972806772121812294501776642327167331091927523377242450590808589275655643441154844388895321327028560540600643524034011774394263831492694203667677312492334460461527922287117473732068207379504077538070248751397369748722080794183627245792671586058756843738256966015288450159363605799764879554666897963172764144582671409839302605844437311832195273578242992380530460979253217595294376466967178599565547975260104811160900192559877031603692890535464219693617900985472078551257259753257687803418428239419301167647127802001324490541706871940608748642509924900412437779902567236238752134487546868018057002677165904571741675093585374663278466147170222912775381648935814037542041316317966204626016830058358402780842508470610285632146763492164415596565399512441115272252098855763180788086283744439537336386628913943990459186935629799316913207431084912387826967081737983802760073283523713057038353881201921780745570539213125048219766934063942802345335096980545219196416496966420519223222933252249809906809438298608239338686773954452673632194440159865904066528670206510049409786713024508960506363114749789754318632737637932022795300108771768440261821800385909060770293459786409329695112338532614945655859677117544246194620867417898814347780270237891838654750736725070123164595421042303682530154992729230497065006887445529088936646551481938480563745544703197171864227209658706300498343665718303094585252856298925461326079017237462336013820894764047217671021078363530632839185289426309708352418426880666397245435194987459495272368823511064759383705313614945233262990060613544202079008007844359185142381095406246359288007491747232601428291506647356469491490753130404119487461275842517254229933765619132283441361596884512305097922908093477806100012024307933675460695671886784758902916716281510479109848199687950537574761034383928929818347559135337283428884922853939659501645942296849021635769846036566677068849790614937895866238978513950301955252071159479162430380571339104412351279771742589499718132089939724094576305043817654202377493729292366664085826356304701889428471366217962807794758141064720396869005733588378323839385156436769291095321263095302372341887763775951325585719886841563511434654449213461836258200177391119635659736209174802895107119119312161615049356614001989154067719147406045020084890078521044898407155872491318142412374531473909585928549192619551275281540455554894860530439518305516386529635114358554267895788433224703032239846296940370036386670597551896228216684947215516799401023726052761920617504560496637170762638459530053344438789944328543663014641420751502676529987148414838592420468435150528589264835412959996419063836222550061620298517908079995517161428927433221628069635121629029650503454559800242920380661131224998757487778145433349578136558008300458790545565523759643089947282941565846898062943112725975546930218879127310353002168642276336610318905110863359639860709747374195529341785078013653378687767911514738332525130023719102358758867980393855297049983218303899853337353315103458044340257304227586826097239834223150176408033273176226319675659897729718394229716522776196734085734441374759147793179333989243599405813960322813465924785587565505751594286116131767395528348150808518520715479514392667287510574413867697189020877761195924593592908638396962005768650996293038181454912807341809720403203633667664994439199362641452271450735037059076093857524400009474822971362377215926308360221391588559094614074069763012970865696906676244218618363552047279035331753093607797787984708023902185958744878960745237490562837474189310268062804817433813001982212777060921847008152523271459867234378543104978390436493058607645357560259838281625409849639983181129718814386395426544082800861930572917995688879881825724409230860777086263513136094630976774099702847276682966685429084540520229190030343224718982049938248060751638727945668940849736665162281336948828583395313505021705361118175021010169609373728821746838926180687188721171220320673364983128125457269276310564825879010685752080806339287513648175837581096955969933848419910626922411365611711295479677781238623934934140085470537845837828515123279873088409373572110045860365454494530186810732937611086797828280343661333397805386148635943716350087711931195598480218289926777976940913930849268923971610875162598136464279519116303391796129190017609532216557349110374712094579004186028992215511759156830362494716086505186322797429561365198303518971428760223750716059990468522702848242025700962993827914781801540664169179259696502306167496772478419474142009242977297138883251166552227303389644473052704902414772756471540923768066416528226112216605519035104953216953829995701741146510299848982516439056990939459868204985525831287644568389843421093658943105114075558384927893699740950138919882124799162098883924355873655545237536238906410726631365733868871501437667657439282983207346131403949526170953084489658005655846309523296318712451836616630427749852736202349067859155769362205347242611125326389143025289376673739262860646099166425839998746474341416395267773224693331340898922821352367160956282513492348592680407355181536071965673950270691353576343437674431172490845537767032666988414491148088848013249302584381770118785666357293539878114064658836941728387365708433757510447991235973659724344557427183847336205164098603931021959212112257203436510013963890649452967142056089086176982883163882838252297076581896118954572982581073394540172774978345406877641107780044074292966398079580266893129468908915006186184189218530416433221694927821339211827719021675202080596726274946300280538877794596218568307438429892564630240890633667606473897049687362677347143193464378269527837602861465838927893362323616036869658885994407170901438576500856237035707472881230042776474747037794632000554372747365847240261839025081850203994131095039708124812210776128324595639956407303784228294941790417991353653370609295358041284490195677174363265587334302844014814990754651032818138782109072143398374541509572180872332163931411848854048824761331564993540303113131971438856668338021766683608295032360405951367759271551656796802958597338036134406930781375730116130026579702426559178634319436264662301868725879630575563660782899695363498145223886600730147718791986416066143908057772551924487070829109767355499112006123175361847813176543955729503854529236536694133485621787892615474045615045230885311843897833507480699448020815830478029291395027421867886919801765554681814454430741911022927219318644407497903172599397713621809971117614689000137724070092348499633083203042973219675827894000846652350711551118348103201448352947448851886324133039606763958576623927274353864765533259261139160105897206949121604194384362769225020408360183481182715855343925553745823628255237262533143596996463666782559338210091759874444027185225129064251574535947961305271895994888478243531722562754131095998504427747535263888711892649770717055022010568232530711543895647583031225511628763968835143262728629815240755887995962098043946596889329519044901057419141998149858790000533489612069163111754682534858290076839537662641452052739360786513805722415068971855827765389521513585658976407301488111133738692458889098227602297339512441350751003872589482066478544539290551160492546556830179223635263775546268409049478003726847161026495088262069357484631643968978962700833763037430175619457389078848104243092855236310298355174517454466065297670819947432059951652915960087156521154612967354139573277516784434848645983391375848562505546017507922098835877193386013948967514833763802139034152904283626453763745808782815379047085445759676142103772361232961964022920228951469688114470582893098035700150410369484170547286922751970446946972920349519697662176641436203210987497172990814400037157392818915284083197422943733677477825870921871722529840693055569352258367862538776990371083298779795051691696299576070266248772561115321024522871797030937380056335405929310890187400495751330564575546864588192534437227170484110760458345052572429176844235610013945668245660428800047407292619165754409533650005445833313333486658197274927600124232382251718468930694085723246155423928138874220276616937979356634410450371155982367577143124912796231411501645288804409423900517346456378036293953277878016360441042759186420251677118235910812494784489548807258551257454960799569180129713172054038424909608736362135131097528620986224262418742435783767729126417918801376752003205633261892410186165130348102440068568086061104811294274090093752748578585868409229731577936688608619964429073615749053303451074679213921393573414693782678405331319923544330346071951552057006610011693010611464556489168050091450055613784940454369313485910618419330189545486385219860080820040286332226857792865947499006936075105780234742015035317737300836494989167289350909354212097520747272504366618800613349590930611407110464599244759717542401996540730654084169735239250415635500390264400292275155191086294136723600026941207127811308763653161522443351622669190123101713629501331698077009767031225923340995423527648984420891092439027564816170040721739272566024295837155710671685414187130035713102305447259377064542064373028381478419102186882184665671383261282637806975309886082906633039669846839624674768851145064913151861552462947924811159873110907977115298058809209285816227706527567771953931120357319433459343473372951899415721472276190367800430879590479992664242819620163009888371488450439801224462455602660408616133199723284978761593171268140040450561896686909847082394137085518132619963768897021241523137818733130015601121995657035414106535356384524396556426727217434505317089708620347654758674128146407197922805744695406849279599459045820901873176586616251787331296935726248763018274805306560029462418101514313186902408749384112421582150837307412833731003222668395769073506988176827548481773049953913103184653278383865626717476001806278875804925400887840392798564649645155278927345020015410031319050962710809628895237689828726513914081945116719591666318188533731279822794780963841863308123249343682732708847168484082306510680498401989966141848682192923712432262932844248302361017983910042699040774479919083761021111239606725071929979313651770673164504798623225519797029925665315101596604596690150887068882982527286405989514250476556464386139713909302025719458558252713927198113277588869554462920605202687675221367966827468775874528760778634491382699563480082544144131825347204948014212654329829678466860543779061338910206076538974678379909041982264282917135698004347246669699301575114953715204374031918107954868943240622909458623262452209667574495285660164657873688424654026560457697329001295837874201711510057426597492533286825866257024583781152182201277576078722787536254417678516818491979949497649100036934909550819450205563811224964796766249650785802327123689446228669796319715390249901099117672053296592010243274158366462851035194005414571907148638824694469038224568838850078244103925016359715374849056945245605312540379176033101653477500199864958058355366142071699741173310552540420552110773185810458946104627355807094714668352878352224424395195109596480193399728225441237291197533523339788200500320948307780662833646063246671001800870666288977157613180394453085177859979679161756236424579913187479952951873675602067243360786278316446550471333425577456220329705837065208461481461803279556572311289137915061078782367241706315742790860275826804832820482530595944865355305335573608943668378778877908835773316581566564046333631178965577553867451359654743792882443277617766529977537884432122626758789612663833068438490058005776137309460432457331415978761655537226301616423353451002374635368298942478242558064807664336180523774156314037893371269990081154608408142405869284464087423891245775193664669946373591584411931779500858480652805204513861789723299109646117709762971698805474148640403588839279500405680966882682526783325875358351600505794585314848377702967618326360649136605647118508049163591118168057356862567675748362796259542314440842686944417808465459001098300832470127327673251862965281011987566742512371854719174196446109963814369225276487686524296433284880267104880448880155910644769829183364432563837983478922499242473473474925585572931518611034534137335672274625782767187551285229615719350186325172175999942277944125127694916659641176453311307678394358755701511268339788077823089327672921967390656501679098849598999718362018377246697916468158884004015083264133901702440286390700883106649068349767628800880971315772643341647052515364717730661392722405632571001397299899095593747730559636348560061598496125351831074504282805991011356152764613718732307405486443870951037623912931744139267996447473236182136331185858040699365837776065584149533283266028778546968943002292685310193430198737058717358218098006693891250766257084746595062899184683469499119620505628810062352434005024075121256597621835683455225766840491652515707584146144132895209700930687290227163705638590610592169694573513122969929258356753188344521095375701735632618166442459183071917325928053735184818309872294562621725404441898640397503845136061110062107180886892905388556538032123197766450079788089229139071971832155337660714688158886146659370802181184864094912441578015869647372390959585803117354939639342323981218838583222690622730436915479647732903620310231584622821186608285896081690940900061896442134617344682521433863060864107649130309630386061561226947756727056616419832266128295594054185267009938944181452669981512196539671905138431353655032131380682424517348894759250312419248417525574038182351139026163553709368646884710152598668200629666043326715884702846725282736751363691589349857215149576969573937931293333878685870155864384721219088131194713370873382327500056239923744771721034792168999587001504698058956236518854268293985666712723058331747394679893879179844757263966997256515093350494496239329894118380951152202738593619916208931559373521319380127029848188296824569246640158910245224083340735294723767660187190835662573439468354704836224454619937129219945521607705226537983475106667694632555115664949116807052305281730869088268238012941254181467305845934358127343340746347109810169733784511370003614666147779737566767622118782539423603706549237225664751927002508248888604062234098115451133342239017736841135991533723731846766340507156896681938103585480799073996134538888268575672435045918997400691044704111628786526792010616132471999844823715233499783637523014313513282695539529010864942058186043961590530582597540015734752997498272309538705772100053964188697048745289735915687927079944165810494426879390222782002617388424638959221139263874954114195943300270846714237068128137782298487438922580196067322955766462225607265008320437346368920697425731014887778328145970055062112529709439551348206970678092045789009005563599319303007467104257017918474679952016450985381510153969617354552778043062677579487710979913625936622349370648370598168419144090086928384175813696077026265263739842179275186558553400180249473884247950763593696251658159800549011079707269532448861374349938844083661468592090201387462929729093845395689309155247032545649484834255843539275002683980891951243857147278892288180047279791059416493716641756765094433746540972890144063281301891438633928063344349424002602288104716999725533939570764107067895059052416329022129176157072028133796306498598823224267102982642645482279327154804587649921241321268182767230903475595793031158482489483014173171934310466356199829342266084524197727430008947575190644364250704011573813177948095995339269155798840054782895365239563674165729648804634630573673711721580999020989445373325540664924455565704797720791458123045061888066934773161154921352859808111096403564201032065031387832981444308563872065793894070562327958687446085284069806283901283199404031753698172910119302742164874460186196321594468453807557098722129647584261058043710144144891074881337667213835454142478713666653871820712848476170700280230771398620015232852846749805171600941770084830607816307406741291585704585798091435416092906134945970968892571056791005567529007475043799463382111921199900912215396556317263329873593583866650018970210376810565539125811274256503658921429101919356774007966612713823071408188284186493254567005047890235799834629665205390345267229736797112229647576384279533707030794156328931174663489962869105186047227268887787587979536548113309718525774883625499507808962383116823946505116854708626136402178204452762262185094687714584666765889994793710284570278582886494557819210247088409805488404942892027586325135120327683691655093337575687742311036161066838321580802564333464542717220249562180605935860577836839825461822364498335419919081817549239621687105280495142246375891201136159799843803455389874368637941643003051303788958312792484549868399065860064078993352812785194098401671972972706993221339071842095517824752068026846361653977165123457434030443246614781771199610855372824309171126351950119153810332261700960781979229460355260187876692362124863624885129035442839737923251389555064014239130766546753811452440247068376528064142487208913451379638599944935160867710746014327477238510284749466636334619417230160773629762889772512830025808468772653015168202925087300134621992315653871990410605507419303633901844423978744233849982606967605702053536845646427272703489439236648459002459794947394860416671133571702812092268052781568833531326433175902994653857485218471097204771824805672156192313199662763782820670627977864382255808727403553887557637225829990506735915414714947437264983978705766331150533421161217453408965415215549774624788862911830352604036873282202507089353084352345808150719569588924126052875718396496305507662860091116726175300728173888458812373598537269299262642666002172976904093229166457800802861573105013834059960521518020233746749329410957691399996766385217537464885072146422768364860918319733236392159249039000696788812101129746358373405258687854457022214620873685872796641453017626335415588794059073212225394670737826546756081074649604180433957953872113306464679928612294857139338563297616178508911558276611979023379998663577047496379682239935095795450820550511189303477935702443035283044283470241059046122468081137539970742874343512072417982710008293319137141928877140989863705462711361421706031603887715873410756266034626034693205757463632653061205961474109678643663281284892462172769906044003564831372701718432611076286907062962876782483372521816784952087018738888352668188068856155382102917938468812597592238717575687377663652172791829359888912481290484999654764459655545951531923019867342143962690524533746344986037179272054279681688929555879457553413146588128331024557479280502008666957169395778015341439067707468844437199722947314209624309846450531853965219060267110060566217145056523961676291582141003930733389291862567033371447241709240794482208195793496981155249255732540880883164819519948492518859797181791650718864975353694319576366026242617229242548005605957217481535593409253828324333447779423450894659468295480156164008840235503732349654987866217107668010625102744723405477738722823370632442234657130998335356361790451296645359207727938793927009546601461050918027326975551357136549094051709869143338343735386223956625316705081322123467368781442761854788305850058107851555678807693973242122087306618262009083050415060798786720780086387483147104679622180439475755630990862442443828090707516360392136097396719349408198200518930846341841851377586942138597002519235721035235978147565628370064989358061942774783767367165686044012425353942546083747346222496082982724724021875373415104438842714089303290396631705985272743575722491980439640689369083307046069033634037611356692720080172060165258701662092465653183217835903483184668496336231773544630393379348923795838233801483524662070768884177564682572717136191483552894403611579624682534709995778541481648466735735611338031920658221354967829629458379489925909065715085858992403687772470956022520603041059454722357343076199202003870342440222349094967180951194798118123176621613281265741888792671780402385780055985292325615688246765163590483405880044838458230241998417624203975028214420332378136469561291816090880705226927447850235794371561428549610330999701394772146061745007882475417006791781881337307355387867960101242192434173987328976322809867622937453437289981172593008222324624375985400183726608738326471207255449130643364499510019478254452554256119854446896338619233410886119023663625200616717734072684448767087078633992885187857488689069559520575608065535972362554866576806599730026961449979138639491376433439511781865616972457501195552713987666331024199364961593673423336765935189951082105085455865902404524395014958657097516880177298008199222597252891615283264328713301912072026225055993021055200593642720672067436580819591983894686241507538027516566228260425584487236963423152737049647360124729374705823518946377728760858627139523599906922325870359910709275360771787312754815094035127013817079487040027946364336884277169240128264044475383002168060555973991115327567430425079168966493653461066490303392645479826245075275297035511702938954939260502611673280508063619113504150387225535480524950307259220832129916769939385789605219190402265932968932015280538558488326767365756858379942868554314884845987804319937107848408933741977908003386369665963270004800753410733130286958286013592876613508856941307268952706221194446570901350002850781700817329693606994478080116508997746983832753354462231178900414244561256592361906713778221883099012620503871386374611075471382433334260661119112499604311974873003557846753855809319405365641438724087159307028002233620240342092669248410365413924603252815139106025806900867924694784641513774253049081133374859256590325210843787058369018030593385329700109696000874250448141845892598569653455698082723712762554004837927076410170208700067585244432577526457903618268036052623878996687562686845758711349482617027872642077405327791783966059302468053761252878362242163181476420476433345658692429156194617414792930326727453319879627590510582556439064127960599605162941055835770035365632428567139724330935998617848544097181817255447779140932095918405016499843861280737887188167547887565056631963197673047058648946240459492697664532851091987443373512156644888145132509782997998568283018302927181265875799749152594214260663844934761823669436130100077834745045443839405946382531641746962167963754039491521160083553404587300703416744768853863537241759119191257302962875769986698306028450551254255778130491965735370810975388980514498281958517209632887924975966878585576268728363857714282335234665679589269485489195448742419522285402758101327257258848460465495185162225272148589697272632895152661007419195971783288365945597685705772628478559544883724075791628836314849064779145534872657558501119422648699624391090095948421950501182854570218987410345718389817904863646490829677731508367769973355150741700812202580538852451953639834531876177812318292338451614920189467872021748024528159190124225586516987472590215507624974912267376594563307616602119434840323979914407024881734343302927257109286573898942406495618109097976549851184247711339007288092990163018694114212611703437224966747668259888183377748915300135800231460242604720552757993198994096431611442985283161148698973174864230826264934163168452780162228694521765248789069955609915109601587941691038845956359668529361259912457292837693574949960006374540510293312523537194211565013315475373628090714281577318511859276331001448478115773051572774116363217629955597106437427871640408298307104630541915599371481539161255478112643743890397452120735757677775074211505082981008573752383518383575399332029759891578248805041207059046440732276884830874353451226454706269409754445136975725708915057302324257356727210851684706739011137210182805804603224791660073832691454159319829243254337464860467777507421150508298100857375238351838357539933202975989157824880504120705904644073227688483087435345122645470626940975673971505739715057397150 2324257356727210851684706739011137210182805804603224791660073832691454159319829243254337464860467777507421150508298100857375238351838357539933202975989157824880504120705904644073227688483087435345122645470626940975673971505739715057397150 23242573567272108516847067390111372101828058046032247916600738326914541593198292432543374648604963396534224817293832547511140375938437780558100267902359338479895865486078741941416884073043417349690424069174289582911338815739432277101561962477635519024021712746862782472197996762662900919176955643810538569264018591476166954319407769348965559060313034157909445519756029662487545487909111753269937093712638067225675146306074023344598314820578077855253816934364805356807945204538688872214580520228137165269820116250616572973797480750029723392190975012204947494170065939296729602873876719522255063086438503602286418437662400917471903283390839953674746861310109327545085370103248816456357548955860367991893611297876190835673731227482378182701853106426309613472487143605493189037702613329120207411857020396549233685908632729003478722237659894186318952339757526448262322846781474167839417587877928413411223019880554837191966208599311296978303388651675854462279134053844760839423555344903316330001247579965276168526319453293095962731314672619266181983219456648004891272404216573041363833042226648978515562645655321971144729732605821321486152801009727680151040298965202063860686004598161428523749991208520934729230797735030153390597764783428907474877815173481573626882872884730960864188664530329476007533093585380277049260073288432941195208648297113175937525344388958814255548385173295283601137791532901133575981174759080829559047506576584568604989519869930506625060170970783298760630468160095210972977875136018632054589557818005958757171911723235091578713751539912551505260695947605933157635090917977332083361368071945515640749533035718842256369317118343973251605736503774732145350056359563826247493638224705836847521426072791995525107455130424433833640549397003333713488002997859465754494276518303412111970210299873361991177647930047649326491521909917772362558052712725779928418622127220259472957836424156951838904261862931949850239808827901822770867087071935398018357638280472176270261490249184634025236129564512600179754496131220872848373883319385740201890828176785029850526215633527508339394101455547212563763685464079094647653816550805001796737374314099089474841691430065081182103990094191714290554428743486917780828412716328334933373876018980519238236373021976500702991998409539536408192939354484433786725257077729595961387100715792147218370758041500544134986004929074996989379034881020827925069300574236017467712639825044479879477551383688753888207757212063531958650030083910654471490754927971155721846090155394573325186389812858246877695980082741765554992556526378718474988706329149439080307417260367589680254871837399996196829326612241217067713397137880925201702623014717820800639162135982052973855055582095940333264708915619555223566380626412574791346382537492599128801431261443620117181006104722585841850028634156211568844185662028272766006553624341653186172705470460182952332953648960573330745306473007739458174055622180102965869545542962321362680851935845002587357305866651956174463718111344775636102931642292999771284847399247914997524697574616765240133398871189935029199507259403541776788784275863173386202123143312232454999521022646419170590206372156364870441042698336333313821695884831981209369368359190411493162347872763662759215456841070241740529792569429819149817406395271447869051184234337195592612319193757906211785809093205884794836305795612156010565182075216489529364750499783642596878804760925999701865361111313604844810434313726732714932517640677959128270418092840993021480957457866349377922712137553712549498364613219105479011950805481637782317553188054048344745682348295528213063830359546479755313386037131657640783340885935945737671967408625251809781817880369860116613883471299915377112383415452874048995646902826030068854276345189623573554618158222214071967866843102682655738115194937131618234925304365477918872773039577291667603598906829849792753264457930205625004198215817833679758324582016703344016375194361307936066877060596155074581873007405885541857077712937653954611123552017737452675365027712360102626371140850249375451997238811849720048529540760537575504863349851760393434036589529608607344805531229553356882145671180576047588419420583496338454216537702022628873203281426271924191134698071535062364060488010610176139643065506664667145977479275127501313346596764639606994405703118605608781228063289678165765372750629672835762639748283846472950189179856048249198500799160923239976671964767833012638465080880428311109850255466129686185565035001236106852974356644656198492092110126637583119546240112661948930083828438659999992833337948765982135588393330975965394351687477025420380520337338231789387828254304773685927377235747888656685873609256869105637744685113155947867365164849217860389204692057392137396597629342661799387598861055713847390158695380014400337739425963524869263689609087053952625109612729088737679822241074767848829902625921417206513544327199164599833303338205097023670379189129777113900021796464556817013808941825846295987689363592439379803701260437000195453753209475856566862618691377693236555385533736640181142604011712634532053725124468808392504553806425476628093450603910861511948831424647739359453611346263253979030531061551540475704318358069888911685088278357540626047008133489427756419881104615033910819669743603856073267087156087766588589106089607208747158269701690562668719926815848335174102410950604976133322103046832009316294819666417866410892596335403862924130152476404151953276182470723527897727695774543149145720405417995318578837498108505057157671110581585216705522011002403121471715798464585433248907341098761099295649676156544718806244284933719422274740449837985964755841334894107426083336152120775019298015129465672084211550763881645988966176464369760328924324510530298250512242680703731212808393512202255408415132029479998057513768649336556761678499471334926956257739078483718248283155679298197287786862903631056068580099072224021538766147136448019656148112453886271654233428875619797920485573019299975004175881862203550843526937422418347754235756053467255495615418988381785602926769085061313659528803917355560245687971772310603217457604975950232256294196379063093795581044909587621359167786582953930306576530923070439867570625760671427063852605547595952532130478006326107107680832162100145794640977692680069139071937272531922852627428957389504137685477459296033592272625266668352170703189496282724565284582414254606303728040777479798854129463539799924647469133552433723183045353848908080893152518135768485272858917328591746450365612006882947050320471690415376867800192930506366957785508855054236989012229808779126706105235629735806022201829431580735552190937586577473626473699288881279782933393499869773523241375993155463631192982070653727478607258997312069306272104015723943842608756039326387063929022190308589098777220198559385372688147932288292236982590464309339788165229985971114388791916811255637498313161109319061156325528926120586515985149397612705562408767671406059062759367897286320465589407531927159129511701844375575853523697820603460308111408561622204290428905287093487193875366819942119678716034475116563217044041605351341390173136689463887385553138636824336997598597061645706267041304591264372849891483568904556090934810115809231807301845998408799090461574931098614313315919784060635683188419505707596210326850840753951104607136774315063186556811750456842910985936094863468695936722775807730607288379881424681003426858744195332034222592225911315687185512988438399771818481775752765286872747867997560955981443326979802322469251748008480437354026738684446482509456837198696619833088985878352579323281004784980000165924072903146602815056472411034520315765276577171450510804603051297596390336904878227083901331040053851493735374972951613489722639790211988963444866201881902957692950434647230578452652005806799064539004955427487396033311151334342323939281539285755241892542753368993670767360327076953407153977831769329985800290247380912222702470030149732148309934933241880821118256958623294651857563689754163574689598660266517287106373178211544073283084095822937176862803685645159152570329027569036857129883127811874734596074173100978847315628386494861931043501661812266303769593726764588538380943049453023030268014210975502503890721484246009339875439915383842137754597246409868737926602794166204708663284387662736608782721500359892776517074454770653839619602834310285238409133872378563979536825788370583048947266348134821317190888339633672412315363972952037995614054202652355733182260536030151610767270161366775347202108995240601901907310716711572131531313991087346049948558879305557329074866756924991779147777627525721533153059191543757640208556243114944537254595680970256475764244423090474070144938720093148556612673864189942549493136310475961893303490949930728432409009866042964776416063621289476951726567416922104126791976202629175585305961605883598150943813988815546473953900221085978718592405964780276788923924280477323241680115088099429075130067286149727378504160015538097278691011653816376029956001998756771052874341796486349487590228434508102484523242850619456464928288338024674531436007665393932531690693471534111025909155950980999607771081924043400817401909049952241694593670841551263350446837423540829126465380354941695384687191594786448216907197188279045374175897865653963543641749642113833239127266085382956774626422043748613750869656038144115446781746318241578012548976258024056722181651902552564665510417840313993155273497012827464078379677343103957500116764350123239218721736939561572561209629465861258179225997122936015604832529324660590007467538289113588769660502304327546441577272041355353431069230209904095882802842492545660922550473678663353597767011475477937895122163950391748837006069208321431310565114032165914971605450331526087562443039751201627044475665497445082910844914275328651257884320143371916195074243458542671276811026007996977327310910874040713888398593020568547705681283700324106099488089120372337515691677129447677010573628517526922673867332490411057618836343343739931740573619353690777058069918700110387550682586512339634192984733096678757320329048370056903353621683728691586822484931645864130995561280761354315839479796503645798442252939980325213460972862269536267247076289971779632763346141120704154148305304401967545816235986063466572733057403342467568253998855700384203956509771995410026837628297511970715692877805882319026171014758008973737834649921004305707615859532250733610872957027150743122979203137211031512057869458182420174183205651511753381284579981732961300097228591130828209090533147601196781850383675303470470005787483609975909091296303441827655051198429426117421250174531088376152772103209162330883357102085772162595099252986436418206894396569085647751243182903018353395109114675137185342463058517707443432161316913045445620729557791498890485478502949425186992301564204823672996782085432770817139937297136472855162369102809439490498095711147987353263361086154490921362107195786271826589846454595870090692492488205234351128687386269125293356955656244015333447567162409478118265711559547566993684235624999792277233328567847862452694981303829576715883682539034846167149680141385991940555979179178582819757848123724780229627342713273807017121315934540225441686146416206418549556220175802717174193296040307242855759140374875241255836486847826530579021129301504600930097911328939110209284222126288743972398792999872217126802442695704364082691751239472885809766317352190347740207830108250082306867481659929162142043785596907008396343174915704007049111330970230468766158574831350801444759928520207278604062469098624581837105663182549206666339286894164223168139785374174558983550239814134762756866162211863675611345401850612301450506414647662002547937273701691150910570058805838552877515535683461355508881431374498563637773694334730779223692023281951260198833485319308413912969210345115664615581718451609186530489711953801102485257498931586472339992674537252191487877997888075626737506387237805646976435268613067747611615640308898107229900613620291385538646836842458354434207249065269431319263630645579191032817462246523050868114539223790346999357618192283841178311127342660931717160547230274858700010478660598353687620423490935631467935443700708676044416080934303889641691229384629350216611002107616405466145328261330250989929553919275962994627826326321165658743195517335942787247995482872278107931497771103534255438166350502182004755984571947076429678271587726848362361118065924451595282915230181808971672271763496522837506807313174144533509330105586215719733675910516720488567454157281632172593979270182677659278790726975958652444479862784876695394914610177605776036071107508660345575557129623454066377584487731406580502181444145701216138894429425430127261439960397515488096841753887787099771053156896057795536359670078069985650119553616995819109185333740366199906618677458653659378289515861921683583853720551718196699002906225244297196477607657921208349979814831084253380066460564654628441059597587010538378376695134144117115765801529197239328318237419072418270556211429248125950086219348254518565539701258406477745909416107789844866798787983603594306705082646985065096507142428798416650133033647595971329458356905875969705836598402375264559514284152743093476002848059737445115482304008577453819441423549187838092922978318441402238443611232216885056243354185884325115447206432849620845632811941082705883189354288454365054845356330088426685693563642890202766923084866336118299142987263879880682998086123949763295104635913382691252518794669450894153964933273454972994489836299473991754744164719717317798726839436024010521661014981526554162540385451779521584002495879879741049524800475355816454411607964967437476718422118358157376737048968165761864668447399574573863895284956651895744786659777819507522588829870247890096406531852047423769523893355012184785996600740896503838595147018040723457768783856075809561645339216884897542598305991753761013232063543253442404886000030908226190037306341848688614387637364941788740120482609505127598633905097702424725298017588263922938707936732522111670579264414090854374014853045902503716963747745860719140542569438156117014437888441888309159229271920358412987162286685053246038943565002307341670837518645953680252758240520923744676573351270601601170349080682223272341214084695966733251615657580665902431013032064115375116874077567874060359258788617197363493677111426543048470811333032318663398550949431439748048407876477678327705348801596714101698443566978084548780518231995756407397883177027113564392420445203330076097643679699900409585495562013135848058753749472569340330909172832394183692193249151868723547739392127561179466401851180013807501027772171306420425326555361143239078820350945377075084348892301020693648517284976129383325793163280402402366224770735848850558619602148189507568896146498647108584644537329496552333726418838326212711782724069322657157078641755728961453382916448918652049552729526330028104982310985733943081602256698171115056421803074943611078136138968220487736518566702091978710942722765034706338508550084211709404050825699245756282826278137513327080529455232216084540576543785400717990812768836695374975228640671461534564901126938742671140362151382047758754942856572278533665848729086917495101023758749766072301695185736509057949181869154204951481895063313672323360017919244397594016416771983594510693427217293483713315270825228587814764495406616826606632817385906468170848098019563095401910023030383772107483227813901168208258238927793613956120621621339157864079040962777743062394588711681359324124433710944830874229948965727049696689190976787295678568374918266228075947073087639094291791846467289893503816657160323834130048221490735573101147560439107642307049971417179272249889362511853771844565361124353668033415834710999978127504593107294920164004043873689108489000022065896894950988355454330344806346906836264269262252604805038222965665856445463817257872024223930603167450160539775516554246030743256914538414066770009334817262533785783695496880181971420758304790250454493294344080654706966709208196687180957451822379033311686660106588546461622251368075580728178399049938203254035222214791278735733792405058170479343611160465752035096499203009430633851515570103965436156004250209175408368025107569627240540070613073914839978215497526962006777174612537517747408077042146949807246566921031380365590139144631933785249560765128958847039568360052405603773226648488976759864722223687045726002513146533027894907366831754285279304364168449130901482297794441453977670005047645453944199744253400902206497079506577866762562579041678795171932282160484279042228145745555525850110505111853205128248170449340850065111058596796611348054315799010027116370414625588451469531501613765309863467935139830644217212539142104848401806995555589338646984470972207292044160017446457448578988521913325497133025482098021992094686705513088504112321598940306060776407088621530225283963061061498449297470451281206439250952683933163016535406892928056518715726578741194021747809172799541874118113737353482320492402854443728542414478667353172039728409992107533852137685218992027547637515508803238203451410449033687861055113974555644534413352805893314950724154536504253686358765114645577638528618422250037354433860841945720257808362467051613544121936052124926547855797901126581591993322554214733610252203564003582790857550730527883543159467417937426497407409479489447795731660962302173239728840260162155089907451024629671836859160378905981635743926672782950299181795702806863651012454451544131814296541845245197887305202002880204338955209521262425068207362516464829688831505095970100022643721353487858260253357898428499264259849382698655591574552277223044783670045129262032590728447007071826463942993971057965049240272151309090201632257892936466206907911418909170955485858170999693984582418886230434638646853709469201908664425001423704907060547944016363622448420494614145407334077205613675377994717434641869614416355642947159197095912457298893923381500104122943958528812429031638189391182936404756748013200548377764224130832273379016805513456118786526378739084602983248449677767652671446090984272409221944208729050777247422712849199862752884095453612244260812236730263624166646367695658234050934786501143545223017211043182967461181271247726747558418347391829646892424390835898304107786122216466741392745808441093446709140768890811548042699046447661790370691318643164487293481162475314270947951218371189543080160613686742330865206856839261480478445664749457483232983711278348494575681848235738129672986025094456310021387076804904301108841043560659563291355136365953790577450863465841837937855021385507306606203236189202653437965542409138866780517648660235568680102444381998217408186830806326579344501366069588311635276590196371091221683021799431781781159756256933481181759016370453954880025438691950293948429633387880232454026868311592077147266096408147297425641352377071326558656729260935213135632697386334513923237949127274160440716533283727666360699207828988515818900740681788356003383955024910544219136949438402592897576804164798738875441907101007388250260025052937157120598821799751905251548135128926507035031295388797395196807146312979739398855224067710747813296611251424440942546205865605638648411769737650932223200581373898885989302233630809521934265228150675306773116834992003074978449533317392356287724988901104982913538099432346738706479293918382984736509174159934422418013609070218537683948237197255148813881635282508237808756177303718593310237690155181489566802645106695566763562703316375504282184693552607931286771716300815229705250139944041110995237587821689870722832415540437859493648816597106019417011177530819779600610206107580954184382263771744158930893440245480776358985983864600448191306329182121252200728063408905627313615628251425972911690969621167408247163145189174736006959669914230808783383786865901598670223214286915701414248070458972191054200479042072618389456591675766243374816523343101319777787506264814478962379685449183339325445226328238983995521435086472399882461823467833341203496969634652310297098007031272981130029874875884515562844310131560990894615878405840038361454306275028384345168367939943115519406723368803326183813019065159316862019183963643881182869704116494587694221136576981495173186043944768192239400670145512792825405653032464235241908378911520916520753450114775133761761316030346350015830432411983034504597311154802352914726755652853961549825173221870281189147558219251097518814749962701832012386646655447096270322119673520668256883487375964507251207969145168739639987295089292861505745093918352489864171151563371077207043719429897852585410651220208721985115201196820066851549509077569921619316805761225508410799564473572362115138442605911878523611115766746246167605894908847321882511881891653729413018475636508362290409687727075906307595173734465381235816720569986154493374413551158082859997972507000542569584482904215703296329695418372061125327781850782435323918726737975390106042189821333568001491762927635897397491510336102944854875541265945883082627308729741581359987850589708156429324159565205722438860158420781047504262811290442552635054829661343198347557885193222267186930364566727102649599400511663086637317274044545694973748748521103317754936462538061133447431080683263084662203937077310524427999513745019352661423522551418680551040050214387677859299011085925186749913131450008725837116693698249769940841616062428406308332897997161870505765196240492431659995151896649754750390011473989031896878326455784745372518045223597268776687624285075381661679248800082340903203480714652289022230806149657427044772212502661923714235626092912260182505837318119710390751753385771378077621317724528794791583171484322731473506837177881579852023035280059999869776669370082267088042043304271761036044360211957405318323977508253762435335992587448066952313140950826729742008271959187161696015340654578147571012432947034049890117240314562707007085891355513065947483050109267533105047676685100687279532443236896493872434914018868580217669706551588502561741520703150927265145873588577166907411895667629416813405784240677338866529843358282099209279600025605373161195748651729717114043583683023331026924475563496301826785735111056397494733570817580632987076680342130966827261284795060436152654421703635540658329019547411263216179414368623878244681088510060879820657196947315316887276558292548410060026288708470726414636981454676023069064848000195089152920883475200294833011835707147486046003231803664663011378346148102080104082416246439862858027535254054148117877257844982440121535808832631115767938834439941674255267181270687048579050017001882766115402598966456382269528408612570000031201513414621462743588188113752159623550909618693482530381968085084967571308026522100175445215043882446963539135452229483822752193978161006308157139473475716433100288572011561747191922667719543692831282660439606992546372196029142537779739831674438120809721881883123622660338707532678942538559169182977283327312615508417484951235989157986019310463020408836581232828339328287752748597870536473295156141142985324610343025553130194964301167037928656376695698547963744374046951440475248627476738025589674084963027253885817383209577772704426596764502346241958872573593386155268081204775136402786059671489936812371201186212349054817129245481543023804103650148753567454311180060450042613078768221588514426730296208404822613694974262081760999935003344619768841879030415959515392641119654647748208496035361889457612204857186264614323274971918808584172165024925561228486704440794528091825391444698761813663319439606463782245081613817787292827839764859110463455622717222178176922974115386786214605724201588982175494554749486363176722743647089802154620073250130237057212162666252200530396135167883101300856801679877138600808744144960859610304104119748536983111367107082479747419717080824301691666177077131276333136381545315891337525416839840847864317750667503948846636777214679211218536122363167218880380661069859370237909631869224025911914634584614974171219255019925474796004846006334598186460801159374470373166319535189087920564810728118777240203974402460212973911013499269664898978223364655365129497329341543406894694337381826637786050347493433270290837561801105493469017933942873990566379697634781069552896198764618985072208634587475775355868446872335724917904765480775103923736396185466753334959708917470501031396943809023634045799030707248529632851430888786688074249816358563633931419476252306615252056589630703714209157446786673768335155822444226371755529054939532882366689615332633149358392812822458493254055594107195071379970356374234009731613098646213937953087094716536125650803315785044573000094141394600147452544140381692099336041159658380050630368254566308062825009488020034180021455841755463480187653567764411516477104384366900853706116905032530314683543713358180929240076805095818888803131922996604986651192355333442715995130769082085266296774031025947302259177682013259107773158578447731207588645093398775618726625393836235757625158805620309231213866578072162611618127003756053446226349498386252566652422923443651396972082378259957626108099849375422735675122410923244793072428280291762353753386370876387351815527482111244800245912464051115111499664462619843390057925463539496228889243623252186402524810490595955408365028689357489054200091253386743431340734226519599814488762644831855273277494122878561306225821878120011628573521338086043652520123507908301505963245468281892247598913287169435985142267573258150924982124899051846590727823763964923211904205643849172556431873441622962006044719016116127860806915970507233831799024001062116474775843902375746789131695701182264621770289457119136412685871868635824932717465627067280751367431597507565774758376406338044944820668352178332133327896776383657446746201728839572367211098154016213270068168740231366194833250104464856464603641253174133332379607567293733052122974579333525661685589200437596251342030638342943060971584740953801974115495300102821650559592594591948533482273271554448735213653447294239495596453047880531794558629341890107779349027602218084991851412571653165137450875031401466774251976476204616693113326045387896451657290843861519443114016151423070224716393990100437906864103416236790741850646376825660389550334773489673113343136294285431488760312473133541967098000845264274014209763136958762258591009311129973793600135533529207482985367204276126984764006676698661053455207287218738180679105816290748701076736965216687344878743827719973271864925542480668423833027410696091855007115354892417444079433704231825456068386702420523393305803173064778859332292996554662168705712818066315810759698803795419028671051589682183998617226456523727215921272699856166884308596839602871715385266941479317328935458449531502185930086689117971366494924105395301740136078588915471340850039768036453811115720861295639470964557427082387312687498873097059005337318346168969341709300000861680278005895674152284436630022965265070138562656843588862975858927122897312250450193975398801959929585946674448852792346410372473341353383902594807739551764067414764658014533037551258783915206002730545980582800834158675087820218298029124179773152353857706406771166845213368665010906443991846647291438415228435595778052417869221343902620970359030350252703283979867654871112971641506576891539350909404216300292126234234712852108395421664911751887684890160163507949908725145944284090769519699618037712827929233063139463215096579366488528671853658985428232404638733828178481530209203088315697267343925583364321632066089888458071136277639996649570648133324300804430706922817962968328613163949834158178871426219665499051404499949051322758329020397338902854257513664074283771983895137584603568593319676365422978795979675682839983101815254236665985727858888680648518945970716203467370351680456789741083210206877691531050566876687732933492002389350574436954451602342979457806030671893157679519089580811282704868678565179494942531798989854558463511016629241506701611762219757292557732222995795702695142731341258703602132593747642947677233855393949608034943296308145907993381594311461023743648260905274892609114997817599242523396972869525241668731500923820412128542613616353249136625137866287441728736927773266853389990509144288059316961768257728559277785548891224880886696290222200907105319867273320350125608327618654686069004612176551141034532831271204435229510016794790313350534253556783869192234312490521332794361256904680330454064259314334859893529878822549531857424881037641375414844998295227489027969508981498646907616443895752343566506497982594152503242632552944116596940559895866507612153399297486410528083098879197123728761697290730295301586338095431940182026691046931393035266362835832196293419502205582156281151008278370219142231861577528944307401251206982236257041351162127934474793737507085853449040251894677691474206491390247315240473922375703568331255397444736369775913101672485564252270498558713299184758438211851524915321086608709389477465558909768150090915524531843711016797043942272006065934727864923765594695847171642902578632718343604387060615267993199251780719606018199788961891441329681532735536565531782787898770454849256568315404843368663589348279115378499601462943301785359189222687135602115638066888736024524286151770771110671285143971739462566840777072585891951865720028302687827488064624862580451433334454133086163786823325729625795380067350910605339652325575968241504827951961974945905100821796236567014770564590274789801810063095188896213790376936533729872681282088478870106308255415850421334101495828542771806949463381388168245190344480504922435510003314142920894225768313480195104195395648342838316899469970689361239529933647736059673795630161780318422618261992081634867619660275866447118087603253007087453508535754908948331667080132534824971180676522815802360708233390414281170229413525360033063302611245516864922753389765333275088373087354659141118979834197708121109080471374423563241997436195814232767405600444674915694945578714935547922254176429822307573665159603939567872952083076212995729056463332797905608736019668380684152160053409822871768205430304948296407143779589677891785265134420901479656996958603321761028398322325242090918749756952825023624449423568735010347018741990530029380969860908761494567287112680687195992424006465327711570046123469550672596301566722909054455688966949036381979374684658665340679559719446297756316458243438624037934898047300575709839515821613921444041889422681665534895414328206155392681993338132341431398790872065564411761005197910307921159446412482298695403958669789629636022480766326311185609381709075532259658171492545809500486428193072375865331093474102684608835101765523297927925886429690577225713908291190907196417085384594544335991896296182581379576619525337770939593093755869597915058546959060081600343557079220572841848585599616477156190633768504329365545474742979308228403401042147794004948180654572922448342610480152048933259789368235759477584893907965398613200977738878389002306649650673186526505682839582196258033807020970898871414621585654426237525431393842532127573407453319116295517118791369927035391723508149986623779442841884334571492927103332266309932715918117779842737897501478943326849720515430723756063998772961668725323470990717464054024073987653076499928272555573339710224468522819744063567415442339895224040425483397695537147315990391151995816094959851210374536599442439645586621895120731402017735567818531957450015913861910640899786932831364839009613757106272347800522824211842642755283161285869760156604643183353361039723374601999153889315730285882691609204948845413009226258837771404879655160155435937451107898471808847009606077890762206936840737849633609634250958470825725633681267006429102982227999157619394123050106656193243852913122708830715674719682021862720194847446914775099587377486602963126211239362626843231533917193569137898919660667127709734322808251984750619540620344933307037842679837994177188238477857304923986255856611633528615279571343531452481039163835170550778772229762397920840708871158662399192331933649557410994937541006679688014265020731066633219037296882469804080705418631788519380478271412256541799994252084728832820347685848972552574718194114111004174156679999964197532840324093311906319210471346702337851518168229866134384617955922289227272479295126971190232496391380440439957405009271208186132542943749468080349527402878663862439341710885765745650985947669489218450064054656300785760186337903961142713096570463860917634603875681169616742477001757012096224159952976060385348857001481403137001128029694543163723511250880211913858542622105689948995183018091417190615926369347364953071541759066678807228201488291988205155707763583295672191122035770424951685061882953088988913377428009260557482311908831910313193929933455923134282290824495258005239231203546840959181180376700411041242952060041674976055582275384027855722899442909707922037347988086735001702235402887074872415687791506214652489173325524770184486333604237917427498553433628195137659386276403281742636248147200965705761727339321971370162499437607223256132787424937777858926933033596401621334413649840271139133842747075776954377860117566491086194270718291744124265444598136378594344020432286589754638643482729148367579090612462084323439039192344334349677277355611142132001439444322732038136908572979573632674477894386577489038591809925988629697792589137470528577954613032054330367752203355085505264185246835194929346835243286029416899457532838210307005971426445390140901802991823336647440778847072021623062385605597582213448377296299598832119434133694583446147835969370283268271410484814528829052616640328149408184024376827980831494520463340131479318752237377806414495657562106053033737363146674997142819907423970558598153503666209046505844835829037062788217951701095497639603291046554060692645863021268740270333376287090086360775717231275916195076539133776329195822156023957434293446887129808461218026897104243417090833099109858888883525408594227691776828812075617943969011907566345241700616320081014184753329081130030931097586770730363184254529334530976661529175236632365647421690422806169751560533305992507917682502236464599957033774761084147501885998830265520406832253239105872448941321492042015076366197289000406059272042496276071999299976515689850478820851909803573311574154465550052413149012439899507673779114797142127666155536570002998064352235855946334029151965574477372577452551736846772411482287637268001963584486242603798649865758213080512548677536718044961870015910447387934243041878546178704578543664944284385030411648192666718497525267073658399302540061886594630044259349864218873674667791401028992193519034198473257602258531948483933820611464807036489978670865314053173481514324651853400564085301928990763601600914087648414478674647 164384262549228598167910812920521882291519447434704103619261982249688650183287881228655261494487243355986406705534886675352610128359160128 82707156181963143431092962804052569380172100643874560935856366533754096152099368441090064234555949678992586527173749829535334417 732813095490090911694426764709960605136678992586527173749829803717638644155408339933247328130954900909116944267647099606051366789925865271737498298037176386441554083399332473281309549009091169442676470996060513667034017441183036622504899102028224104498005306393922465176432819632004447864310710645181829249015547074663013665850277505079676669447092311169507428457926919864654796897698574424712025026199362769049186893853796977482413020560763043389224736757475383147134175467829749624477066540938198182940533952786677289838848282991142392773632457160143733752630480263249421654556576719767519347205464994425160098915085265375080025107560543265537727234223071969679452722466159738660217416890391227225471338259155322845251522669469728173031755253671085191135887654254435790412982410354317442327643432713706542099632157063640609687138452462456633526913012207892078038541203760206341195539453469466949309162079581991165930757419826929877866650365908258531021071701501844136752913848473908192235647086656219503198651985556903747671094714087613531548718159302781883820781394000869999670451740058902929472049512466807390951722430551693010480382781475446419377026942493272433681252024601571534861044060759056332037417883714753521439572777882746386184160872134325498236900483738218263840092510215599762824924148323911002469278925362538480776998752416827751579814453455921809123520162309235618726203561806371374370501246256812488635116226947566896813619087391386116827810422466418488137749163775823530717510933636515920783202850748781773294567957228802702925330393035629609655090811123459904500640983146260011339766003729813388131614498624607384004103873895233467701560476564767743753091353036027730649485481818157985558458713627831537680464822152484180500243604859204248195328836784036387899563193321631831778397529919375524219659608965065537394044608982289650830886050908902496512647211910969229403866059091378266635979448407832676362544382973826316123851271358831895110725809941985723942638965905949827824178092350475995807282287983383670661002041595376456908759360820905304646456054983510903778477908765197460005749378268569622689236564736896640023761421391404088530228530142292402293423918474607289182440158403161965703700511650374832836121305179276792029495844961075787312193123627924907087747049402772076686395128995958103791825552757370199035639855128240294793513430470149853316341488272414708705113722107326378167707957042443525424026587849103230994421850476571047629262215263799117735029455404147197973618939164136467958250810525362210095673087070599535110232822554068808184242461329055034112463682062595644292917574019200970574675178378709497383462000351520235096582205132349518812880974170138280072774927060738429578676545651223280696018735927938422502982394526545661537689095003761204162565183010735370039070291502047537142778943688059173203027118577899176666342571642695371669593318314176864699203932928731478065454996105563585878580355988938253256278427797527748695905829017843531703864196779140765048129809438387688116335995347497834963258404256655648835230230971526389610852632841399355173700557015792433145571339263506491269103287457433680168470883210198318057258996356417499479991411764640878309858738876012622439291525135127431631142409165957985442311940742639141995737008193686324395428889189215907335571177725165886954494464905156957324223604942910611398818787978145692300825681635089337688536087849150976140767272201765263270063040429882985323604100024040182990715058209534866786585491475231039176530439244445196651342514858865935725306187893317329084163403552216474104154352613758218181879127906528210805664458170081884621209532764188236193739371584541654500461376347557269167252476102557802111982212191616769247994681485102211083546869776047065079702326979179446640582545878412351378391598786857658017471735758400554500216991566248934327757053162343985746512112556697615957941655004309278395806436785620176109369534322744203237277829212641072792733153880542657187195231461476085124120711621453707052346098735285253526398555173759886215228325270623317177105764683442071121848969716263292124906141666241887604178683965335208134039931999745848516368676490886859104526807873062160502149585919378227149265333228609685365050398614037995783932359268091077890548555861088592428224225927744773651178182700198138853160730568033657967627178457774291699979193696296290729972681030497096970617503617848728049157145532340248970086518250571841390970899814432108632743076295346483010602917603173983162988558076971443395677290152947924948925730531036288092988571097742034339038942417749608496785311587575244607210626352217999579448328249649817968808777035604906974060975581511209516205013277091078039134611475100496986771957804672823682217588508555121873788238435502397135356476753128488751114558439441307561669080219404705402509256163887305799593571007095421524240238973866144984302696436156975938350358000865252066344823250934289128159468246881311076706480727153921338085490889321744630597885811274425344881319621755074539046922922607786828636587515668094475047862672273570769537148972648601362808015084422632659722114711872171544581877426158697079388695592310355347744844271027727918126541939125547604844318093436796646334042828332733741850629865499460012090566860910949503520844183899163403069633435199713722340451018393656283949057157411991738814206864491885648968163335519506600092884333252480673558417133749617150550934263718940232530354259938439418771874208814554354356164303489103148152057658869444782706449109953352128432519104912469054321738051067941859880544012894251232589909962312324053877398210144640584965597415865952320581449885251037693065497489313506032936074481814998982011182749277815201132404643038340009302231080547259597551216746706659229444385710758293568651598011790199480453582471723450301763989149022144948902160198684151758737919168266109838573845376528041890093375503234876758875765835081680848980488994613463846758358275894500466480260224707959607311234708701901229396384219925088768537111998543312937242948475788361151740833584375331090665942701325803295439815269206810548042155210247965114545433197115305740995493783836932001706564102399396852034151317330925138608298396103448375643485470945637411060456166683280263697605594107860053014854032125282532232725173232493557882265939595083733400950598453008448615493760830772932369780539020694898436522867928580781581080858064953263317305646816091785147125400088072257937135985919602032117698516618138205726664487971456050564764174273684189145067342456756416048290309818979175956744799704418481543956047023378435681267617715798737487316524458821001641061928767152951977309612579504013279951251230446071737653304434889758377502200674146778016973228005456734499425372413845823677596399572285545930783851914039504744136175891007414622681929769694988612865298551788024993319663563824838294192474319235584267635073198580303015343074861824378325227933579938356853781132755653864730024767430672375844555706643322396705837897501940110984584530312039741608149528633651224839511514265139521361994928047761456722848443128565961544973138278595330767369601494158637070362175658670104303586961145791714834458205482295971166547021136277282493540794629070601403720169035778923993263032726072545060040364605028380929610076000676210935821615488096827981804590876990755827971114967485871036597981779005599204619921086218833393864367675453578236336989088161935642182109559511009398375374775546586077865594330622484912789787545081355800095536186322477894557821672858215655834857416920557822343615032535519130694519600528949869404686558645288393239196124043995947790575543519058225812702468257321602699353123762173162563897324757116285960699970829394959814645468124291192894493216757893635877523658708312626129768952214037121333371373636570097496111467954738940216254866841463524981486568437129932566103690320984324524436374578928327453254010137873546087085784915339133018487965021588810929903714350114962119197243727036331890117992931009198972066058919499183852698678005809392309173781954298508516846681299233425946670761777675588620801261412614640886156063703867564612888143788618168840692105737310071471275560282552384610494287319949838014192749437510069479060959762757040742560527920403735132256437205320096902712617878841958243923433165252466820942546627297934824209502732777029535981564982473381806163938715477491975350493217917432066843409206201758084778305188754961244239520118964907047660186063573332139879373467391490808812351345513774071558682223545588457544686343337754031387130262607146224011717060240106522549119864684309641572194492446028281732525366703537230042424986606480531127501954356523225687382635156061797817749036314750495732032582722820879015800370394722078471144085353021626740506650512561669500573990832732506899521269752616060272524728366524467699546935694759472575668558118942585377725768098397685880649644185753871729087162366584295460006457283605313875813863629441043134629953741827762718530615919342612177132010310021145256576690287097455533109073858111289551403927166875224799849874991785025892689021482459578259051864454825308670960541524639164867481996956919637597196303980961058033546132789435981843508697452592000548590030372961683071957622685435364173118174509579933164776907746402740259052553880918629368604586739521133104685547484403817107250663691014557314738282505357057566139391755260695186896492503446866474914652615608550503791394202981994222199473543823178322303684713733024748559429826380406512984891971277312697939942446836813979719308945153130102282071760241132296391228061815709537618452022878633617842610353107341759203978291654370239534309225910850108056559187725277755480027001929461414415376722756825533214173720140747134788443436316759161438722559433049497719612338422266160489643962420532677970414308024116401196808910109206342903802792551569679532441619283486641083828605441536996436593196913777787005936030482022913026514592296134558029718272438419687672437084492636755070563340502683719944935473265265632066274380836995826335167607082354952985615834331195243922970039879106752683149442248758705971197501357168808077088016385784327781815130277868311685891946114301089589218392897133594139288856488545091637259398359742076715707460714975246059863989669574623157776860487972014803576795648458982197028876161231947013209559242144883555057627232344348426426011753223061822303565850804701101189919325257172054996292664129773504285043702622897235852816267563789630203898474355948061217387390668535438453039293129881938833041183423778361478059757505840662254133629335780931947819663929742350390848059320069789917678833968691319748258864747086279971313256137172730816533406139462568550590727545864506864656527768255534297214088338372788201028902932403132421020026106356642443696612083041768693220104899345155973211746630090867120083557242052922510628503029406692705805044006818192273514256346584354811095932073401274969490002544720797360379164669703195033832848355167676058310365452708576554980028239478223137188703965216420784140386320050168755928924424891643210796200313711074626069359189558182399883659153109700423581742946007359612474329057210929097629241041065662092350379244313926890303062203407870584752136844349814006643996828177728832830680829674748510726842285639503119239679399702278280832904039187942701256403173198670548090381729010938267703276181873338233299287354251791214674169684443841609957921734925475411516955036329294606721879838177984886836278290997984302172041753625222996727432571630803326267942700883466799312372277892804907269063435938633448273734946871808806945088824068997261658713437518740712443535899935749505763910550260234884831930109776287518455556142797284284876039387213049090254184884269775140116269376139550458568990473003987622256956952852270270070700223631278275647209189072366145338315064508660157166725030442531345730761424825299347355082009481110740264270328796135455899723876924388109759704444572797225595582148318579221168381920223766601470535503329905663899611395020035590039531431485319997339561100645962955582149616215804551632496152498462549133866615566130574710730660649476125925134739867240429470527139458700571144617743592489199997798539858915545801175707545841985707464441715735287088318155664906711613720524842124067568833334632630939467440591539281243468652741507636710833294679930796012132262362971922889061129439568658906746885822588883989165018835533075233198157903553586855155782065468218332159074291034746956756633924854152236453715003886217890263431378530266227448817999987385332341525005050759944529160103849242964737923144851996764003120426193110183900107455976932457439965196822111570172250000780185200769092799527481957223522490092455102100832943506047090382176234012352784838737727314319812353312167350741624784195463253446152082891223780469229085093862807526773733648916752751088671869074857315117987191127589737172122200697902686270153977033376235391685730235327780805150085259817532955508078778866728156509666916158391127216986993887591126886484854534528983845001720075317880961273477440300452416750323930383670617071013055043805871730675668335337453783036855999377590869513062184655285792359339174191712054179699872561324532665773975697093217056219380046148285749989375231643513474707365882098106057788654165147324898178700946301385079255922260729715226203881943748439143105940959925843344656576817396893261104598701003727543525116377441612272999941018619566051421596941206355131448597195452860809748682548745244590362604731380648393797344681866249700721554710601935002386483893437562276350127925849417326436623720232785535941949304500111524937011476346341575426409557473943069445635423620812122411763735769708677763593019356383644402889363050783332280366747439432486570798950852508727418326835271995157792652719876374997907620843894634721262036078308173814280478785549782897862274724417700301632550133970537241768281532351617690692199702556999620546424372653577547251024031299435538645948314701949401560266849430318378369365546618665662547082586074894839728251558916038553495064513847442211882756298620633135692134350535417532546229427385701851422160479791812391358185702336381354453571127711719432166046614310154741982155492904756210901895720806062349088029040678545667463724177248681190074206557848221929501065966835352086790875855344900927132510735378131123286004105291883550482825682124393180978579666414416419743846503597543167041838521459077943357731496484574214860854886745291314574589315184834205058542721160275207010530288121820442571850407971773519382644415143034000038965083547606952112614351514494096991515178332585172479894740524206100459840736384351138298293353702855164153281846898780435921758197601110371882601157152121989928035754608388740947375220406391233628982806618731953235529204014220009515480880706100745386563972589708030327985512405709675299487752503483811914844763960690239980085887510116129006008076911943810302609494806598476196904805932178521399828659016361397294733342452975784299759023288921228876174536434315837531437849574608874737342587958758219901935389814229423917941515613153979302514641379860895988767541369432304048702855541978092295804469899019290455890684659783833799449251271604941337790706486578589496757599405061755763293475680828922029111549186488201592146177654499211827254988676568962251706361483219514060308448688429474908171412276698952976652846718701072919337792928244353243138285206357061580769259282603222119402768779042924083653232321510235407534232109476053210171678047889604168510719739693991861879463461896797135467867224402905164443964782932669463584918661504011655032137958238846403545337067500146824508939635084079633883393164400215576294876554514962298494573570455639845828653901031203119955863297898599642742416545640221552693117618219340405280497700139581856995045062690832184422098580656036039665052040509265294491631122474122439854552334593973602158488959564576035601123947226002909110232358183270776031819289578931912004228297227192768010578564466733402031860657975998976736300451553441212227464921178419210429930233047545934081486957338855853118789257243599624701958104940834271300659716364375165746371024987053629169290060997979798208147147131128995085184920039864046146530250994914143403583695568842161518200066725398585320356707875344741018213449970395917873975349621147236777151075064434193206709784810139061194681429965659469499803015015050439499165819364340617547120060232533051005685661995398852109699179681030651566276114001239394412740504065600221709854777964424685874863196946189551035133391641195903971893876105442642302464412785966320148479552732274340928634620098405982453385763861519336443209833918195749629505252717041594110329416055200707970044527426550329106801682918215054886572979083065733200566711040393166428946073974276132720699137735888776468407672601645037969090673762491231815694613258421465112430180886283850187273208293049320534883490802257999620893153820434587462062523629681224077557166761470833253074351802801564661524123357726665459689501535120964074098799335251124236839325550804077953890651359848693148572687489949014085300106254036984402433985738212677629454919277281927072710075950541945450379091805163615808362888700153867243945007027498984321855676474032471439236648434111606209310196018250317806835398572583913357133449303614491708665979723338814530921740318117477520325816743389458264967527525203611262736721097645431340238065872011251345146117238016383594726875228176383566558961886132167299893940149412510356465833636887760906588376967418291919203119456469780942498386090416033096376452927942341930023017400543432258546250947435455170968354369756035650199238514737184926705972332775797911738152474353163342411729845894129107504555042885877762737340663304160391808268741726065961598933607786330701992223184666488893045271524055117461202230160366192193936615793786736961581625973005821281128255764679594940281466745760455774706739022001976983182597002938195414927590811337332360588587778716100672583596232604960016058991488934220473616132710075452300484394310989991637221886232625722472307119791823049444351403357447663970836106986071445700692763966397349202921834629764438186018937668805345127770384815690854061403280361502803860949033534893230357925117393530415841133265471290567398884435930822283033032221165929854191965597971848854238871580891403693016171725700155706148369068127422955027934635226450068693430774820746663687476147620022750181551796978266737414595043870588723873389632912139573039946630543402891327746816875466950216141246550370091265917983029038873484176139723433945569356600838016094355613785537468920714544233776467196313846465263157010171323583974874665442363027792854190450156664578818599794789712514811405023776902617289793013080656571631212120791429070542150888983795453659164355123341745987948092769417511490311746055224557854581355867021530900770319556558995997468057416133383616416911400992334155643868362258664428079403362670105226669361924674723713640905428985205188351003692681879974656470525450682683936264069944223117912997333641066781735915971628983274177288723020526098042487577710069881962403729127162845583584784034049243648781833724320371618788149318366321324242424201471879866012908295449020987399595428721390667769827563089167942174016882358765397504203024489864188963690963162701205576819699291549927751425437881294676650832503512671684664484445472404101245280642178327322277604369161028807835887184371005180840179580141083528163516360380534630763891947615018698673670605014755654519125563485474406162027393835035627856152958894681701699940143323110952872124482704720605460258500667040757911141368279069786865871177920435611489299687198880325903495462586850786451560737217153995339107054574208447004899811282899421602122209262449472745405610358209264251267803981905452659443737519428132171370336125910575516989928472946953424298072325629025888362684267844702983631329496605441625386147488283479816732288109784876941323436718833482975132775552098111835661299848568702173449715945581420516760136316810447498709163649431566670016341247315263146646944702228602807118139928158887516372142668321214150923172057318911173288259805252015609004155477759524040891350094036519708487007496783327432335886946312687900985023131720661411321086076048619570635662452304872049297016794578145820090361928067821394589374337776931269876868117124816408491052538842393336908946354092358023108172557634997996943645975444894856647732804498867623578917302150269879645498427712336025239601367889026391276316733486900994658881028631022374955359950171618779405954272032568075099172304060405924475934755878192311507086038643640016697693588444107736870284577037940928349414028221295864075270639353993044472385084396885275777983552083175810709482686545514923467711645118856722380760062998781844878270052720312938847998209719432022757136352039888007560979354968507222173819096427575684664407843849762359541643789860716673486049953642921576909269615170952825421086026688812876213228288701239411121356084998485602261674350348830521151995222130947223118824547392608085441215344210434543110428353361072322446109504754903082384976233787723979857646707148507270115503350791768894285532565557856891411105393768123007641727332335555556958197951616787651611271588023817370581258433764454963932090336308884238313464741325415758340853287016214784675273660353298142198999001039965166398578162708358962481375811285205027468314346218654210028735798453064197217331119032520073461929812872295178982451117703283234759864039562706190854550735807916589710077764022903519770551651463156954288414243755797570968942232887312501544659132356822348563230881862148691752544420425031155171125209326672093524453853285759307857205196311267715965633535956460663812156991761342710503579689346925609775922911355755004495468093959419880769193752888650248971124685916195119118057366233650749218367328395749066939668994863881254658855888383033086427922354597161408639132801696867060967477934970251369670949211851826806837103932976818279349090488099268529794978557333715456812291190828899996496173672758296772254271826422328664001327243273092429509230566221346977560274971311377496402160451869335895994334517013147431671669925355352625191822960685511025521066176939130589930470440130555394785866316843769182864723435324859388779733700023743444052230578338504233697486700501600286637163548072142572742363471659825920005995273502863429413906679266972379873043735393795775874670438709507356712455449660309789611819455417024559219300964059380552294276921735098819503385424390196223556566509598118950849558347583267944137194334777064417430687607287323860319093764674529189218392734056524491250586956517611562069812500393153884581844064908193055138220680810239336308565359538328508151852860249073808881939719741926645634161448426511541316956283525195911244283826288101030847554548973690254035882364831424405950604333637217231136979737662537789832914814676854754118971023646587793294524553660846298717097667145215393593629565084168679388747451776846470197056012062911196593927169428782001047384226912084203747363388386274792663438170746008618165177012473800268910283248614546728946437703394342046484241967025618791648972518386746222304165160001856431299654117598208500563323952416320466755350013353729684917467646319413499223744247224633022021859547406463788211882345939408996899586677663701142952853127079355663237832561966782136657092206028310256539135401190662142923938164112080696172160438099387993003279135193961605459067259657242443886673098839494804050019958699540877610669138906842799356469502459908786561048152626194880291622037728544043107619152330967613456578986649276023103467080783909926275476450002311159881515250166756373957401905770341261342041635904480839076537485827775259666285431629883314207477826120950407760433388366358024308924484034883541028706147339632834646578357966974592587401134634576232160810423976222516895973476817428512737721348884312642986891670696316238734200146948985214230208355107107105025571884627785644037605341548737134057035304716047710677529320079908300857963350589136486977471509376122562844835142793387526367457072220025676912748342237943660613198626760944062105152371984859747379297406177243330777353802543022189439576676950956672798124850084862642588484579677193561466464626014964951463471490061886726013021674810746605411192668918406378835311056304417080835780199922329564347430329597913588943793800972704425821506927979988831446725329768967209243310967877870437254704049693782685353327799678176291518671277541365726683693491087292566065622815915263350446694975679229497645839604031247826096808076324572917963135706380553018179506155893461920055250204212768920472652351959084416370597622758052733539905727377292458984311346620894693568462807708795934236143426183573972841216652601954384817745024429687378704478184580845669859181675745936300712509929945590215797971267979286814183617945293811474383459113049494906254577757396574482504189366105015672239114063379044269327671783572823478402429229040376747003971346834385546406427071026117530091308476127357563889344495780143671978013898265342437760672048730565920693328169737707720506732140005736755344980895540538688878671591124076024028764936109146485632435139228289616920538474220896046608059038230996591893342589079006223704080066997920297981944092771735027012733684682086738310270794793553022082277521544609273562071517195538748966819084680286066268052662617307395592893243276656082055892649228114572078932587782368082793050500307417743535142587643209181854326694069067600791908213420396368953094525633402213073020986458629768965547248652624284611047366575090417717320523237414075658489932392708682167942643268756947351912174769111157754079997199926682888507939039340610310421329646825040770647705217690955724326859664717698638291411537797697600025819272394469201049660042850854700148091808108172665045679671866880646205847880930071167141907849713393914993995255245452094946507843497198103614287781840332205706946395154769469727677477064248646079392351956543663508307025207982465374274256996945775646261198738629434532805415082762099066227743584448627037670924884313967312656356805978534285819844609008250228150510636726914188760397883197731862657293142180732905509353856244448880870515851205561944137370328540547572214634071373693265521086932227094239075429940899442544459068675741143225242616723435219127825854388455951679782993283236427374574525445460529398968062635137335872148508088202055186599580340814883297012537812350567930508188185685057312332575555424196054273583194479764324992288226604355585233496066809055029052163377847463519347497130223294939655104159878397401675166185936051793389503924662052455112688373111207852572442457996232944501683417135951402520951792646811568298203136188273964266233216764415246954875581640843582125850442476706996938037585730039057901105154147795571791693127290959982213641159815952014586136789206666635321839445791129429493727464246482392154779756157336708957618405753220985047485835708917663527278094953542744825251137393829123783351841471827848818093776259467255433420690238375597658467444988572971001533657025938386098378883705596616566122618812454638780740364377558292593401364517385844624554076490296162202292447917789014243272492456246105728329944276796783144819346705517570835029425673263352649065141412102378610932967188631037171704617628931161672590290677122398588365964149245530812072857084100660761685435166635303413828011338196779122899741266552449513483389346361812822564990534115031791411670938307677687742325698034291407998029191076113965307761804076221944515194026040634703567993538832743785881520110804064908851752700820562380205128642184248230026324320559979983469262326656447019563573006795390572441503981642390821362351327177145861912103281123572699330876625534408941512051799027314738681826266444752804067274640857238015503894189125958937399265016877527437697415337481724220377071286644907711626031544171194141083486068995295074447722033627442668184711965636157137724246154560704796508783129001334349111362929755836090601759494537968615068179085076075662127381001179182930761186299116355745026020212756543609511385690948154244767226073400610373342612736080448553121475788902375590577113174550094118597486529627058856391738971595159889870141758696486541853248637794337805069893455538805052331249498418875730464447331444598505524739865399707346233819398008577304356954761698282658938100306024112186656859802072533716561353350992188595601078815219559929848307371141617648399503300378988247903454105325020549556935880161545989189368865721247489636136718628188546447861792435817101125518513178717745043073536450297615072923011083308025515349518692948497169009917303947697333789565022956148778780483665828348275402301923036903858197885343038285582730067215613042476796509973673898639630845953309944673660052789535100775106235405180950620729591214778792662633854287925897759586305806465044845262391335383426270504308670094670362204063397672529913651878423065839667022625805621222107335411618502936356416166557792377663958604946932445508059036179864427557412949830210469698616449313701037027750848601539616658645128535453048155982963829859815455625924865918632881763011014997372069201538698774186216557820878850289708567829701926958276952394082579589346666668839183588155490694368307035327632079349451093653994509720428367306703514419631552887532148221893259671737078127140513347473860809636945635120190184391605573384080516638291488624793513794037131979668758562594829420746324161481962682888498009688756413177902657691055508025432280312585899845828720832573588947631349260624962718322007318135424395364377056481929539957001445543839108784491441936804710651634740311703744824585051857881806866288441707935660426980031632363491203029197537009960106661938962173187622670718263148522844172794334068181031018384175349973496979013526046083898649384170852934692791583455942477874147581862606722466248117722498568622989744043843921840245603609191236989597824880644631955555593083281673460231204066700724877475998063268452732025570156216876628405832688949305051939005049504958701540034854277602462485884666673423859744545671611419843038357063974266667038555609645239035702010736523283527692067722136663585746080761599482575890261556442866496737256920804685117462670246787668603228796511978576164426500255366220799720399986561469155119965918926099875691957219827550950647597861562647423557864501138970419935099764066765571208502958421155914947290752355349927410085129491938559625940326382025249882249214444755882700290036795187052357627644235584183330712046012462993991548419581355125514677093447144330924763732150118612798381856025571631417442644210392318412486156130470981480247338812569605196772694383214901046524099815011833941450600842229131941609950099644961963307661716802799661459649084857174082378057131294396610368772726979043490318967493232166572331903721541461036471884246356801971257097712420455992771894016308075557915318038863852263293491228689445871244071873985131098072996000054029691390863266714179236497562971925021288399097084846804390717631982983862589760312738181027549342610128244583510397246172600271247264410283930603677754398403846237465571177660427479404471102532275260708819152596238810359449121002592156755099903598490287366394653336222785601987852448078120000922672556304311870218783254738688044091883310482551503395062370353459115756948715844081222535466146121336832914177138712079113256329969610586306388145503829307065076425004095978377200913542843287311066940704199932530568316953318544062180960834613197799338171659170654879552114439934636910391325853497773805380142494093450362761658136895003095126105708412344562960132807039487146758901016641151703939321469890302667266058467350596475274805617807867953935510326849129867665654263127329885291927008247087740022137431156586969076065899085477980877564865594130890270456897729741955965501092219356932384978162258751764655242092557409257176954688605190100031608012897289870528610854229739093968150775009659717371460086115220926226085270829883643736243877981277451170822368080610770774136633479557435335472506634409792898991840821815020062629005813678154528485775952733595359748408724500538827410399987019521262331698628280343884972691416958629503620272297488689849003974147161674575114133460273449742355058780721866552587350641253083245738803560851576626591008479072047704536889750719974356650630663167587611347516441890509949530441171998514991673976622942694451662140808774913553673453065182999775820146575308157940816750357256313082689752768694913175166031419627412271620957829974512595073689499764786513098304455391676187931636640409697787311715800412265552886370914062581788469239036439876794389944195963322773315106241711111175895820421382268247158558623159366153128943219165489282119597622766581435967431904693189707095462549848023495501869231129366402929099667008638784004289044208624836617790643020633059339203224343651607943257024658684668977153432807721709879801181485515792816444921354300152529961377236010772921085951314599524616594227164157476323657025718806117063487629262732360083125256996543432189374507796744529154278947127228947044648131474412422116659008100572172330443870087373605331646830292870055572001906994319987064544655062428217271171245920681242948105505040470592410528835740065648454724560748756247634725962019554163080869913086567869678755397008127911768669194968381351509880852095827679294878548181584339038957648028985092572460862530061488862865030657198657936561579559825729918943289477161896205693546728054418563501846263442674857155608884433767767751811195879631684185363912337497661237712587055753677142553545280102361912882466084685673608493413331195799335404233357735889637805318390934442804922703521622308714944360673004231179796828639051719515750520976559027309967099890200513002263326473818452023997691129524606155729336699654182678756146447436938872908878942599227147563262066667329080946986292953431110762432816432736086308641338648646683683340341174172433613790860478805680045975432893327214060803444750328434411461171909670176253984282266864683881706100253649900743173847000861481761643196421460919937381887765482706997939841539389749094610308060895210562372337339552990648545654777111323511505835187239748697076352293343549725610030112158912678328492646452926571161151465300344961441304070786937141792331166624769640876354873990174775371020182114281421448246213204890136655231442441340428775298118356673485565936917962558531536751079806714527966374589942103118815474548075246518531702182499670582009281703471433056490611030296600778862186439586203091262195374593191550111691331559547339411720861353588405204585927360463219827022407154206140331096148629907590810331330659147574953943653870184306530383427904019396610829868610826 6842134010586681368770086255041066965536224307609748692066674406842755594708259403759545439328126461519786010940922100394543932812646151978601094092210039348615030828150730828150308 05396412362630356804450233024794334321344188084314692816183923682018691893983933307825793915187659886158526588303130548290624761962476196345419 97565625333631844676895075299258677730897811322055452689320782579391518765988615852658830313054820647419923861166216919045975656253336318446768950752992586777308978113220554526893207825793915187659886158526588303130548206474199238611662169190459756562533363184467689507529925867773089781132205545268932341196377415807042979172961849337651669375621514648813841726621715323622710802784181377459609786557245216534926787608800918807075144517955918932074648407619905173558584889133032806350787970523131676769315773731879594907212372637992597153494224165049186095916392980515375415305601083541412442663508841170889542644097702742282321287378185848137739355097493355511406244664368942045355237930229556990256888924724764828569879277717704395843692472400622209413255549432923268062651006560671124877997880399882214586345295917166624816532287411553275264112489665623653627179051708201531002673539588247022352816399724015346412203202579778082731355120501936842815520818554997514915110169914127116084454009076208300514164618825529634620360873716790190582518946838954046826629717486680083930295126077669299240694352257774386318127596795069437001560625056278559143415124133940303277129532531071186174802577223494892925219809743089521223146195766620759235563597266907679866612332910595279610183431069077020322287162520836119564948117529971327497305978355285212857854784428618168525710739979164485073794630194794860109379383640540030350892499489138010893132270306436604092136152251750336475912552993362345087462062522116152134533464059073152732407955939560032748790973869426066361431450934795793642528207605767366822455612779788579850905074655759995233257680197851647322235734446612494779990642933510320292417061814769571050772801917271665422720280245480655682926562444571074844343809247355832405957279281370093179495842802006781667030234830107405474219268605401978802767061773311698549010053252658070039193322183255176221950049560232954318807248709892249330737590455348878518957734282512509676519718567996529101719951017464781430278133357169564223193407571376783460869671224381217307989693831217042049112414515862212057381989260281325336165063327096126811273544576450343862718373919938943796958561167126683833937598558264615427978133179120578291237899892276277256159512584275400014463204457910654686673241405336586191842804226258216882737103215382122900160538955574580481497079514288287427566570758148260548242022106120376883410734370446169531356584731584649952332889740861389260374365455710313573097870305157976741864883330833346830617761996495333234340591686783886452470412755314395794027884216137596849182823286006692891160507611815980980572296761164235609054782755309990228360118255687572387881258582934211212064353513623423335454800037637353922844133746644754648997271532487062343247393949407436784904172725426574267589518279602033436226061843406548292910969473277581063150058025056894921339837057106195538103699251006160450062319589568527763384145338709215687875803212746031128492488714697592389661216541007845166518759992660729902045834562796342043971565244565003933269758416152741868905281033962277286801457027003189627877077513728951374928538916013451181479091212455428351145074766206145020787405527198310649131950843193937940513935608624487120632823309725631065680671593587120399214096663322511910445083216535436219937775858432812272309717649727002825335202360334694516082287284727522818468777375072298833913187683690263824493488856434606147021410159335537083375926119354381437532583680506869265160213196385900424945026077793289829297493102574748519154758212368427556373977810151502777188467396734397418256427158653009213673388007912311266160418917228468906382678717224697734147003033770948629424678362291721791257397858895723049380035859123639968963121613858310464837079637662679929761566821198465934155933916744468862003556896518406189650209957879494750342134510646829418913576240994955771883376474844936148903373387364084487665128579906005691803558021757432822372098296405413984917686142541135780192328432235662201253375699710382103714505361135215808754432588751773149812341597900774841548524687471869828437164277567966121882258983635864612337270873161639587829938155273415802880622289603227447919731513419589488384195292905675291358284702889972904682421781158812544500275773489756610693699383060028442488304085568975649116156938287828620459017159206618355597055735021830926911960506871136379219891638826470030323985599825852973720675968502122325947960921370133154369004734758005266973163662808767546868431544120054451810963963317799632707332700784242615943287198367100185305221100049935858980934727278261324522255474466336523469026079952018829848657929356433410586192063576580213494971238154233326330818249633020386361806074300789362848049457274765559689769047963077258435896097235562688527717695095754854674156318936544434526825222687331658583367174104535186016897390037051140387216074925657286694144634342819342201078799444793152890807044167837208591403807871920204687148954042965778274232772630067548268392572047428956919167600520523215382114088732406797255883699722977039781747786554451339369528046730979198754644054050153559842149017649397089933682368179786182637137747761899242139647546815218023565700846506246212580093382393758939853525532473703072687613186932612577333372902749196950150840481799877283736652550640271936147773259880890814946394227307546211379742525447857306562061623275845663368716041054565558219632284442580016130922925611695217058561742929711699372987985526865736798162230768594917332186376150773517153378053363994725317379046703857552722373827813588564532376608389812022949751795849901416896634521878608358384118931384728325768648734746219535389978008754241505867497801560159311365405520709508035255004812123123771815210729800323101759183786254056596253994854471076202385234083415014218901838963027669086460628899731583050006054166105211261833245630887494237613211173832359910267154433339809030107675192156068609150992975794898470913404847760372533164866332739977457417078705885849890364782505006075652766776667301814279834629978631154724719046381308270269502715524345837771328888401133228561232764247580549141453340043073513682001671030489674079132204173293655886380819902402504247589799061997394494240613938590020437450817126160362783912411472682090856905268374225068910991937677220777687371267701529071296822615843757149665346296154035289806984981990238158813249007282842031664545864518677871817717727792832125269683229766412454967397152787968043476589576126533852457391513438137845005187385915329634140536894844397225508011960792690281162293670434371158371953865778600341946713096653442535523561350392637433355902487780093167585566502026142451755202310518037979241601868165327213490744741879263046379357019572546568707696490256283113949083065981392587716575343290518298830744220931539456267189136509327785275856141886915058431128180621164533834614564998610279908878315999233208349703499009644828973619972608413030501613834375735033502696791991003945764850313988998040534762079799510355628009427119807714138625374689420067112929037940211050993128817678635571212882205845259023298827844889728557676433765513209837208453651972735662945407520786837748259937695085474585377854401518668703212703251083788575535253274224674561655301752946970492860349352376631937758153126911215712505456493662840461315754932343616114386894155191795521160403279413870405973659682877235554936953672492603352744989288822044886844365275158954689558858907183172928912923457744284419272505276847550387027063282979975853882599387906789963676634726367997091137000500451915150705020857447053203113428375303964506837349474651525431616406958839656960477624810076981257623240276563247145586781166535633573841332037563285771114579477361177589109784495974871345499454050089749431237026691600227796215160164431446321556746579869691343020917375379329537363102934825941848515313457700649437390976420858957317742314576728829679067502992231525732869833026341233526316349020649042970821006326488156767632425444687039213337678948960012513626523547256517022255955699862842510886689684710787260016733242215625124292721308055932622130721409368643549968987874303526768849221231834492419076374715747446252159745764663572427527952228915040642776786566115191933191817830567164653048138101066673424591568641744576883906241920186541022526697061538909990725499842854841956681924545197470930614227531512984453091827577151361181673035809321460322584723528118255047060621542622432455144689645726938231665552509598950410934253743085999797137004258858340304497267109629969763233607776743734798788356730102864713845459287916374901454066475193948993522123624743661317478304868846315160365922435767627623446665395897964687905529239027020107572189191382148316268524904958486754329312418264134662722820936532772839766755726728973193812934194305723962072329200718638674667030636460133111116425468025122894305331125098538601201236070449699785210958598753293032771622679823055107676926800022074188490301650050385344759710183016737826819436124165696392522947410357431851765836560341232764339009565118632607917338991262772072135161752222552418296124339628251823286968625444118623812330640345331556016406957472320383651456635574987344116859941616551824960425979839267816131483180902534507164666442670262761185976491324768295272780570322383435150636721770663763740249030465909628596027197972553780014182019981018139812595042348662483440439211364872366629202063939628845314483748901026084036148407312006741562291596696366940836032643341496371209854547525017736696019714617846451555599416726373970858649598779532421583282184109391640528356790706864210780346607571979891481554005420051073009627962347272499701122177816567984491943322263341503385675308244677341045503274285611574553874214000719284301774473142300983657607515512777962810147220530668174203505967941050980466563136377825172470914099255524710368126705138246752117200528494295219748862848985277878356210600487812711440634990881645924451898010442935708329047220160726966046198426077224783107171439093492897379507505647105380291618749188699463530135729350187320668731150173153109129679486254979581512168220757123189190913833835344710236597944808047123388274440350534679995291335460941392728446513911908360762265798398156424638291599904416284527681893532791356747403227351506890987754721815574998488346694622271194343513957275609331877672157428578303301830422251704963297161229683675274898329472315069749788741400219267006720656772921310849357294076359289561828129001109784724328303846519743758573685912309817836030314052823008130266313304139925339921794157647985347081786361137720014085708386394377035291834974037418351162237004017318826939326308750548756645290932656650302439445362272791708003815785132529023651056809625891794240016387149612121694699254423986747262060057131153878388338830780165378838775211593119449359569491793940578848860623959444184972892872308495579260721132977121372388696986360236829162225464710880621094479132399015406678160289346942821550627212605417982917817382489199733829530168266790617780135336504718863397842735335856232791853579779226627038024456968296862549118748685305497857965989184862186237485563935321563048992834865561541540649512210466103765481806025067654913403327386294169117762638138347851183641056999660949202044895026294461684668551060662420883145374012687794781398595777699039877073994170325653193556130005281435994560612616083223589903248956595675275769853245744035607612886079681857619771788765561985237527447223599272020602389167187908147088670683027939897683780233375796837484716792042056118846144350842383697378594825884978259521414316768984959213193894128750695961491932711470358745336608149437546971429195290310193894356371835937491483074230449340295962811166523899581106000938622216226552529766106507452713589497334474072816739263486222629713471555329362444579946508231979087690744585253703457090077440815341678638701480996741240038378085234273977881746910805353305091194433138730408380430675060306862695321245229016675038563185858593174377694941574108105727494443840013991522952924016806674584246966055691076975969873109507845182518576898000939428637121910166980788517105711446695070312737069620047300356753682352058152491868239083974088092648527045816800639153401349373525471509235270441619265721100423458480853223980930819701215864173291305325898717158855168420606503405569968593715915621939545955585570093477116811798359958427981955643563653093890509419646418892434176612177117545737144294027293771776591831074430581515315960948263506336557238614139208130754146107405127413481388906875208965175472864434890201501872018366138417280798827295820189774861263383603711094140868044146381899755144190511520140241876289786882338665288749564740110724599055379921751556478198091849558767527782808038226298180439415639795617256940909295185774478836515944787206826785963694547637062382066962023966206659210812781832191274680814530314217798673533684893808266818969129998351994223212726387715975764285213215158837171464854288124231224684028390561577968199897855625102710706283793994319073579797536228737199478452103831686685214208220192667231558101173724423756091514893863436665265794260371682892815806931590571523794802566191268708876475069508501113702578802333818019030210029759755926818216359535070641885719005949744467974174202521309472461919502772132372470257029616316814647621846436446517995358777590480917246955673967945537349710322193694559627789377919383406972537884155020629583874830961954204615469902226843474617677113197374866000879354436073024336632808653684733506687074089001847030676982147531337315428622151551318140954149797246706763436976964583092867952120199414066540432666834408196869186229176544103649208078572924233887550618098365912226537972884111201306910185760304983295326942141884259428662146952768806320825719648671342246985264194190222362411863391302841718447248227557233799697074820024375803717921807342020805369357406187656641696077391209098134947021207251972136996423442093054784650692374464904208887326302261563579196063092369916027823649300034497471237794559512408582397099465702753667598133047775050505366345747155165583727731007857817871530316132768489253576078462114788603518040297656960584867175676366593087480160999279507871789131042038494789432860847970515042833265245718864231983999328563422686078834437453092728931460925442990607871117367669598496330621775148848993377878678597852652805705486612173792135521247023953256081906788528038324229680755447174377489501430231501469612254948953383627569448693046741980229225550650874297727580760951068798271091938371422909682687285963219428367272424774439090600368048527845438548199558287433441890955230992659295884828977719675054392057716689385523977360925820906934305789867423572953120514850903846524931400689961737317358162222944554161493578714775062703761924980363844001609136117137295576618089263864679402793656703853057799129885739447837576390926794433365054967707422859638087218703995827147580004402224042140033035903609605480047188473046782868077409898322252624531680320340844351093743194993802990812417921108954239270965425821958485866799241157884478152195574983222583356742267989600980320093548651085494676767134053103434998643497580002152868358357213659782084357326046612605704644092005206437488086840419995854086974773160175053902530649036204494584764408820400538605715251822177935180194147116600865329482810600219159446927834603798292688186777848837827131481606681284808747904302342003771308964647817855994618375106206884413586284506303464419139428937623547427775867690146782289070060926832522503246399533375667289976602542465979519632609027426151574818652781929779836811013313396516257933184194070269649889513869239612612753695920602296900874208347208408331884158268380193833589732243351364122443211749794047668241678096352035664154332541509645019779105414609437498159904457928380288801335624818140726114232759728948241418870259574549342547227469899768771623160993228850420280708381008140918873526333183584207407484465733978384298053471060023742199872117626833349092090738653379590749280892830301072075504724508511833346763047598206617899980044627448033701965550213204413964236745069537087816973799693790616378482011697962707212703584804794885806583089632312886734029638482411287659521853624112569697491990574782803262998612317247930503236377058456987857745316103866706755584406824089105118184290258032985140961573315387563114385477921529836638382158713588240820127783840973623264758443526302816647560799932214839271563212499908370989309463295598599287284335212524274334943790238249494457851649361270326423390945448086200283535262617529818355252978804650281353991128471612811534144603897031654677395258765383844457461103515616418092733462541422179033107147203105992949538959584368857734894952259821038315964206232730714837166917989674445418418903725112728353005929827393747375710992776523563703606473487247848396842037423097589988743878765428415935659735883450609361299244925874676915428045981328158258729991103007806315924817220522132060107714923366010031827100667272664889495509423368979354810557964237715449541371774079951775014666954655741008015579341795983013187154617138382203332872631369978080937562816985753529253902365681143586553982842832417000516419900517643835120057569334304218029315236854114240598680573897377172090328164862383954980500843602353585825546188559424426129289214341478982670941767604522251349298729974353338206276224063310048837745273811887225818199822194282936766660000403799148700185686745544123195735187123793059951482159548677010540478202585390833356406182622252080286486668097631561071376418909023606039541245535703806675356765247266803675176738455646966935960226342580015557208962384036477132142966921934724207987296298616757967460829597127485706790346703915786585811127382574325190397829954457674305752992830286341862425450224962419791639827349043594113958984043489575783324648221652497253318119305558561405031050765485899155255426528862875288955457736787420297703784684756366424947670848543073541328403616349134710744683298589809511102012425448846430712271748865869643672237512574076638075779685938518232158037901388513245670422527853876610135195682865233946040200356733860252055134753079007468945261436163812466020943396881829985725346543552854046361041312149937692163026148315182346942096279115494171946607206655284400443565753266414389342772209055751842369120803473798867079692283986937508881614607383824642000815393674001886257307369534997308367252810149430436456349752135453195195003507648237036184538497563616339744294309886387198988081880867474958317602229846725019591837178700154647194377440245879644193433052737786174502452497071499070005187269292834587178630917484387855063975477813979761471029748052589306922166622252353734490113539862660281419264762937097680131872041406668762554595422292493849462711775501758620213788767600298051574112378095519278181590820663636540356868332445566200951604633752256882558545829200193063815338736565179457437025887562647321077322764662315226993795825381625074119359925754347032075189639279292162309129902590445512172093189661799346949541502186833770152207591130088868902385799152826398678246546088746278526226814247331885885724166512619590003292244047284089619602649237730727930328698350719950917336222069042662113793573787896339821927111179243751868381757621347292273048411090528931273975665464401599108920563595395506226849034817783401638880747758591060473586645607299400942000631204356230811649814551496555130058546117355240521671556660413334758759879204455921756775632837672276901154164921122464223603954033684550113426542474489895459967920364424296652482735068799649501574046214825111167401638128823705492676679728005746329061945617997309444872374670630628346193769263728437102506294302398387471804112779445151821086400015584757912846401287399509776297708262263458825052078183457605053081571276816461601267456151310391071769738455787322413300300055347195116690125811352080156303730469080930979273536585649135747113509044127590764902991938820082621739395928612333657297066464102705878385513189346579626859330479560260115450359677101400579933368890040220753848251399308637163433660079237124064576176500364106122054356886881774062530570060230189829110915340711775171244237036436371589022011623171026356501302439912154042701273039166043485289217176780054435379602681447698747940557159937783563996621006692741927146810896204073611163472025898624647440819612040336875208970108806335428443692521801742512119678569911058334944999168309449469847078063675466677678253837230405284892911730548029893106132822852430139744212784010822979922563749918616190953950922923524038726563349624474469034805751356594650462503096250111859963630240365418782445707402458948806050741683907150580324241837558626796044894031184207156184266389930059683519608809915500540819116094261561779964945557389362335095602169384530294074153542201700885059341080215377441689697655239000700113109469280003444356063607661310302728738927422665249899098159012376515704327731921850284488111933201103571057194443871218352322554867726440866734045441353674039901046417928811413277329570523323399878009160267002892904670034550632113551822596454563655802704621531470603214767803873454420398877573153641972943746586782763362311198646746083171624959380516317910160217431600363721351355065556811627671648322879623900371433163480958689243847116904830789651005911049650159928314383120189325251667689558973105180207091561282127947857682315030996548701378014203423508621889445113091741552012125037797657263051175884455791816612431914793499879371889746676777827243329227024826454802849998567554945269468703275037839400366514426856820813090209490578996221008140773669655662797895875993816037392940818983260231197906051459780384494121855073472344404641363331714829781976698669655140051818454197633105563504488497134223603391300589797173467823734723292305173885050046360256819980627282581124555915860150184390904098641809717100754618847739349112735711271075330950790361979461708733446648052417888060677311064558841428743120553686450754131237892050164182455985291702855298234917568151981749535650404537358800409736931002101619740994088572336813989068523058021522578307985844449884900267221549288886129250288528135271737803182076280866581987021339186121133602461873626491285983857042460547885994420824018091973627117515404746563411804862886439875110526018600763208664032080058809812466828727691582888514535559929721451343188177166455645026663362751571422612127028290235870314678624273023359989513383310690803679122897592232090053533983610528084879743470505105124297994696958773290081207079728796535839232426576733921443804703617065295956729932344168693092018662571582035045922274601133491784768678310636302367243553709325626949823072618631310910501643206126742460867916703779309406696071354477720412401713871525414787133745660229142745368281009292055889007950848372326787186595562128376549304312274644597738111563966740927499199030967831570443792739641666751097892640931174682418788465392879439142807191372281945062111996049420141675675141552265693285969399005410111647767529256494404287958357100368450907034580190874999930927342332379066474107462898117101040277883382145098316061371850584279038953949613459869455343321733883804422922186848247101171485158347106099757869761968160124373302306844692710557893261660012959934985974917184503344610562408400109524903112915131020735366066991425097441671089180442792638502557662206256643470568888120913431296547816198453967515482108102441606244493185873512142860108581558715194193976552610624780925408142475964662701919437855071869834968769265751713501764020035993835301783027817671022024492886556546201055956741577115904728583016542256142005482685137191627689825272660007703368359267689271174661458864432562954417051216860837357165976102782388486067014463296368213637303317464871763201427880067424934856844572688678255255509250061546975828854921081222247668229027751168223695025439873245618612099967380501457521453467701080259152981604212231163287602645784892088144425417823517877294636849168637871033559880293528797513166009650345021350087861481652756934254915758254478587897790042101592801135480971581549325386490211513898577566392705820047833081031935861720959285030983719779563846649873345549013365660629589933126670354255179585895342556852221670572063731668209322415546565287062082026853326008665800583966090695049703022545349369418434799181485403175216153188936016989829712382727329618815135404187049273485262656664081364863788716802997434199218404526700361558020387500409637218865537661056462525859676231120914555806149237446224865590525941467834123013364881208645131781450546417941645672385775090452177054997583323609161824686637311995974256373924319368360663346878883664893997708709923975176942932704315716340505835198994772125986124659567580313640200779332879786511301194767901228493345593727454467773069942456260202388754930902233573983039664285659923462394343075435576614858518612844661731439799759776844709297927738276470935627949450937574975809402297195543701438592212160580810042397438533045434671191438712266270914012615384462773661088651827155664020489973871853842797408717803985878574872168926362934079370551601837140508771496281607873833623355597883713608096663152189322875105227403710184125482971285689541641949279438506394548386171545286329870074344746461465034144602561936493892557193423209623857284093622072055176469825304006432287560380697731469996601018610184090834745280892809833912909149258303651173029967654739251518450277244844953768047638864019063487296774799021248561273166399844273618623088551731823996788171581832063096996485147295737236946479442548250144837278643035426699644315398152771686798446857777731767242149930635976518135953927680687103230458025191560364641845527228861482514597409299719945291059983347241041854202720851360543073574876227384079200167634661510906147191081330087692439890505428382858717459600200884576448251903137554808601794034109441898837265231940718313705379983523443759548981321534240842874824428098988804719710545292339984765517177514410963503314438415742836080790134130163961579445590873662789091442759845229763054393408666782643140163757170561881345065363728887368457730018975435386415363938173762901822963330494418919406597305753851213398627564624984703279184151114912113525010468511900896117079021888918806248825384228364119065587480883812073123231413442333531444336096562719210824764039272060888862628525885199283013330589057652728295714261949791649958943631773247495809598414916399608724055940589740951851845370108423911078235447953897722079752261759973799318017660258416783458521545313578584209699130699520991878609886124440106074119863744715309935103342861637568094850359275704744265896795661933828768847466738762703577987555965494014662899892099869716485407230339888393676110133037840451130783799704331160533262199544257703071039684397527969197308128025112622360077754000513085974983046454049513097048034261383540913445405641341014621937160565528044484008804530396494929738268650227452822994845774673433786755028009975605100915288666465879026257768957124187931583948729738877148353842481293119168316060135430299784836863527731202903029710778302774738958134651942756160667428436070204002387686104592077696567626787819706560612033973047229654813734461913219885892321867439123224152577419290782257091414018156957284573833622918850794868329493305335931935720916763645955813679923869635567492986511324827139460731628550124132311737264877398296514923426741322472886328460210413669666442677281041495943027672387634286066448079048426771915985645126086187040257274427745143079017361515617731515750059883996401418804973069975506691012924075303749581557846276831148373516100826421056868786356840858920119268252437039035251766690092384082646752617092602697104070471481531020573979976815791829812892353041464919875936156322124516827461722779681573302532557352230229683398277994160348264985693826397360590562321392948550742764853294267105896994589264214411960008453533311450406865373131957148434854150415172347068715966588934687947761605065252053255188779427620006779291742862951480363937155624921492192899450678409720543460019562984744096748624653637113020873814175483338166165615185111911346847323655382485319878581818145010538694131580428941053108502625828157123111145551238854904453479867002570776217413802918927623452389391402805293096864556020870747502963056856668723977499859113562083485942647022385403313966555122940520677229821077169887490683123218656678892534843739289398243039270631046016785592875306017870222133068112991425648726649716803285494390895401159821493770170327676209298763615294761022963864003909946651742860527160651172140132509592705592948397361299817981025671385331771066750331317827873251215013278377486502070331355062275581304810800294605171798864186469383014272229157943503979917780164905282771302956245709102784944459005025001264756232514016120398203255027526969519670742351684211910982090147345534524738516054502034488652611948457946739103249460175460659491334735648784812681880187073525918380839036790727219871365126911287379537715995274134266740529860582672777608419974697064196590299595629560556000221763788281809646584242944311604341015403241618371124118334133690860407381821867859296600601526097920430269051432225681436574696554200716104926071055162136298793005559121326652543344723751548317961256407867774243070700876622029181406550213601916638438599988612327515290352987034953210752896906114040165980218828037680534871490208308719178047753136085841410659675196043240179858915353244342336299100339036772618991404668102761485787215430327575243593205031171651703430242737608232710098962149506384969100290257741671365850448982075513534469441941851991214566815068435730758765412713166542356681222737222333875877673936228746034106368156518664932281342304242040017305391395804503405968044825751340555490464163357843816058868602279917915156776991848385745819789813620129705387867266068895188507220074426102970737128356942669779338208780912705267402281903448878106828049595910794308881004695618358720934323233044096976123771968962982119916878709833961134526201769594003458673833978234147321913824997499140658967734474340283580315374798489967619249699851822401768193052100224551085786038469056876636412890897515543665065616506192218185586063952563520434789459161679812323605749683748234389055596433504292754772607193219830825380715538852177309242994131441902635580211053579886653626415101464607119855982928954907551481369440936071764942629103403817182161439604176985281732820882103690612597704683140598765898142685317003106627425740828091023311681597595865485617816146064344765193028717343009218001005873954834544037627646013824276340532946558088847737466836256169083430972700699748178242457419426260777097989142290035008433211923977359095594574681566469478110101036963569468678903093375711027620866070878210655553779260881641337529391559615391062381538131481317662760323198880497921677961104910238832275063964710076965247441460982262594476729758448101388084101452159329887353851807306981009460126167868930860243784986072082802669244510981539169597360182132879440792230675841298484903656303436908701425831419899105413985226930754669501999027720119934380998096571948285919876724145591715959557500060243914734649999094962280732089018531774166215707333892838863916441375939741779799619064527740965797692825365348782886469722536557545252280316884710392694299440177441505654108392481853809722462655146890300020782127549450527915436981754966618751347831918657412558355397407737334160156114452815017161751179996399406119110086304704795713409531582791149697550614252596618790194047452875733438892990800297698778930869873399027324722936187651932972809463921588010581209173303560696088255232179700576000415904488179392298445358037974607129470760820065151683365645124128112940020791146082742431095203360028505785103178129690111967320860994900367426065788332367599890317467841882737621128226150437357826128239235832602350621502538812050380876107577923411020066388359646169318157504286066212124025308127579700257872538449057874024076775176118282802205700768033173143733222497208953222317699148309229185252467490518771658719283391451272224391076880381467647768256051991624289946664158685700335897100581727461170013131727201526453957506701723887331443852719496997537245850451851121245323760092430472399543989332763258474199660212612529805661849768230504120572683027889590129847903701012363477732672039081071163930328926896985898027604285309812579195732408053145359995068028164763767861620499087220505717926326447013802103274475785095981537692794373539955990692011086845727615873747414978132199221009794636168368837698006801932672463563313936198022844660290825749708876116126193917988989141472036055993690883893058053593693391145031666583767906825338101549463368505270216052865898969422570963534549240879532449834501523023103683349308340823516829151896416671575047629019534676550504543318915726570514987763841490791267283803179053794039065513432425793133041324948076088104697312495453454578562643292457539754436311066043652894034438429341310299218563861969039536229361901016399352853501057299327718394468786490277192411969477667967432169166174018371906560463900076521196114835072075559291017853787705695420746007253475463298759180083020271502977497891528398945332554071951666575323092649513942114255404511537786456966234680050010557665686222565597532000694853643862230379848569368223874903195490049166578339743669860918339199872371947258845288725401284645056630547236271099264278570245829223730422001039892514376074181197679980049611584889031365744048147277693497933519690791241286804950501774453583056740426732857897572640251681129144017289388939060078622033980666196507858085348249079437151059318692320640496738656353128130407910722221357665482187805198585300198832071946026351214279937006940708565595872468136554341671216007026774829236204014529850560212244185483378259554164191001106984416061119361341572843855737682243702736802105490498596516582972944555191824151604065511839707202720208464020439307298630013905543486080572720871181258779384498490437052921037497010016639981519494762949998642849373675253631752188331308710888079788392417704627889360773769147013802057889504947811588756399045026857550561741605589946250346009210210935213094767593435082242287365273888374232113471060109204939561731748853780227314662884160388678815342375391560037740786683286939848348080670719236001585719202923111341735102217455941199598354445613756191796311070401804744803809438397548267445519775059366593295007869513983479298733887810177945608175447381355918082998124982315003735066265433776452183166172959235665505036298871193560120416793837252007715931419035192724580169449393893968861290001191170558851515798078321975863643962234115591247845187082904022020705526888567677675720843301962157900852947127982339707670466783431019043137939095674184995519480 689392255733193871822401654043894242976165912825960645565767896269500675457661057497034947209854964172219226415181027983034947209854964172219226415181027983035606593560259 0214954542925225680119973223318629930128897726005488830518019073656178487244896155732164825745475381614346708401825711394205013402501349 303082324276272440249343956105593933073782790939544010805855573216482574547538161434670840182571136375339420168400511442960030308232427627244024934395610559393307378279093954401080585557321648257454753816143467084018257113637533942016840051144296003030823242762724402493439561055939330737827909395440108058510853811441266551615428095286811705096078289107899719529989342167794620020169989849651440553369490931441566374789827892780741711709779831715225227691017629063753678298686927280589881500482306979073492161899553670790703347937543360494530720796487701633503866124771679889404617208901243370958171600709412249362154964957549239133890521379284813256006540708721929520411745114657836210811062428541807816619494184580109484822606357864009531803805531752590882467441944083716975126383772221899903516608185037840103696419148911071627920249788407850357701405616347874226400006355817468995774598161717654247358213363439055746336700418263131436114181603329667629676001679942055334036403518166605499089721637891019331493529788162093954196820658190642836426624132370590392568046454636658820270576326491829158713636046873638450544974888393625563446902584799733972437826866792004894254402223869489172004665582573288023324994353981089464662938621067826158527899573711364825491949666999004651483304786736213896107397991573499337265679173820506794890335785170348015684871190573315030732364815754371927707826788849883018486465398211832288477459906823397462156125853826623722831969860252043378627735575155507201016059787121746506973699977488505823686182397405962823899061718458168239669939404234038027152149341645806650609425516633060493107167197330836033118091222672826165364917781545471333613951369357897079038129100817208674970566963962750528372743979162876486455768107697904387778853689843730036014312948664926231077274903705956214258751429326687828478807876284781862459567816866258302682036445978850982950892525944172113535585941142399515351241488610058114813371447620574893722416922190639131378281162017878760864388860506587083240869863946519451168883795277463535977800599642251188127560160179159022475213976910679863209283384060086102184671398118661205103771796785864715889119197808206511049872092732936744466455522783331556127984651988348361976080158313179067455124100208677523822065546145593974897869216323215553119290602588527663367002810850040367760202462557785265266977034006959215776156476425963474335647160218551276752648922167599801547259118353017790110214847022673250795852527548423162615892967491280149800575414928943724074644381116109689127925533486650439477764701668970466249702173347336807947732108619344342264216085801303502463711108941668102650367375214032824342933691937372637891689833875137555791026545295231372878571956727250352327250114908852401112212315223953566814175636082796889420199323245274911500056806619067100730562113125640182950499334281783611200441387083045411777990828298523910316521755322173908386337724070260851601865097547228451197539120397627596019905383829494982268416069423707468528511859666876879722986460275718450299124692064899469489774830505013519745922277894280494588893626617557558501668491138034540655338404509254779564836853141322067280529532217757679973297500007720903025851044324639934067451094331243587323598628587936132286240082781507656081553948158074626359271910622864529121954899127388993476898406306935015305808395651394402432325066622429876592396826941031130834151196755536137839854221179219411449561916538849185979570764326736974593593810668775110459390561587596349661795677581631290731439520021171624160236387809632990133247037859386552914051894854020217477434941180746937803653261313994620894555749060397697094955008026496879083392220773063033152719944794899781981828956639787262359965053845084022616071288706919179553483412729155634507839290955496217637809414476039267620299120979785261012616158712707535586788607013322937414800980534901978765117235013926032028283193813753046174386185487073152287896043801626021519321727812501015366095539593948266297850096472147696304142092856083675536971457674465825137792689300349818767309536656154094018181213814515718934852114137632397475912493597045511811135126263852182268414222905761672336221741638596959428555841526603258173569687347871528253854686617083171567897986920796685793852038673279363131109701750909153639715774785466923898418800085984984931159137283608134143739359840877268138815763164529904003317006143551587132104849086040863099554582932498512694150896588966201964410303356985757879719137187474794198902398557644542753175912782182067919400959794488980216551994749107670219496596100713430683605884398062502933339291805043787495845783955975219184993991566568420764440157702637349736079804389437323371035779462949595697528642416907667162597431170280130433527213920989591016293150314406167603304487131088893032925209532460424387158071374113333496752189467842043520120051017155888101407279033709013906082962325736543490225158571597343839643254968282425392777124223574763651474626863042160036737390572809741518026332536477880629778365031696247887663049465890413981453683496483767637972403013154653988084173969361425867179381914048143126221184901047710700206513634019865582459549151893608860207754337442587939235037833850250116772705272060991938026117950159381871004394547864261178425146172560272380476328699796611311614717459878855420378960304851193694719210877495085538628995850377779904479879768191744941429000980359750244314457216387987325933347484330457394081255124793772083829886046552487144520681203144328720218249171333241238941303220359557278051440495605813651409861600790510074644557432653939453916473024455409044935918995009300701806172333716798202231732619548655260653765962406939391279640892608416114880330646499405407464597314824039656863432159312994393707782160027095587125926393806265309063722715903021445408278903536701670981523898327042384001634810127498699659383318771950793697308356943672885650611025094535204704190595424682019898279610699732262136628167363122989056247377762923755761011654006559385237273915066906457679463920589716522864977434502284140350888083093446181683666737157251416382605626840092010884137838892076012300086402723310587403779236807772363376099963345491422951402634074069500035719201635541039052403529072732698238914645854980607121971683395177468457273270578300165043438522673289066041888411382508341361379961981016970527367724719795932611776223445398195320472440733945521293754849964621282877989475926355647112480984478863548576844040079645408653431178446986669963155071535534675331827894217490529540847002365155937191300707653206101646242846057544591362740802494426430247420387231136814035011649167388033979628128823708626314777371095092521166966772840005669652355331235727344712250584933421000654380467153351524918231784616510258088180164460499940588489085235408615183894043607193406712923672606944806459997807772492209029038624407445869701420590221988806846096515170948230600096465701436440766806637279687569407135156782799064907906327720904452450324857579280708225203262396833548515860693145978385283616945633618631495689575125205427583408433765438773575581133233224458741691304462333288530403416818532765079629533256719680304662622269392924233817614740621769438130181644683625060288786882638848622844076864987050543822925806584870404035562573256749520111431937547754077091962079537181488250616630692548318888716236852515548481080757453534756650691089989025790067471165361044635484862584532960111660552481236658133484434023033838766947308531146822952900928520339707297247845950326397304709692877275566741078792127067696914719162964677848426437554185756985108165871827151474955036156500371320738054521273860737134932832995067948381046672169613166745564983864106655385195711477979897804053131531304695355956012501223073013512282359030897413153187246065767650692731207540535622805396956670940455433100169920093401603015109670070870330896286586954811171164472224295645926247022843837363168276182638145452738190115715089522016695558952554622067920742767776923081152264751106824433913416500252404069330258598945633927036419440753978120082182135850455473521574804387050965377446147811346871656555888351972792131850455068355394307605036900936296238783640866701294439893854444187850881588375087629000114446901288812955855677523752165986849343242206433312659157488729539953386225175380682153450511244744094691104511632399585150575512312582940123674771515790267854663437832997684375181671324663954643020788768384514133131120043836272094728966779743948889034039333934771491655609878440626123581223512954925625958583191636244844911239536576587105078807396708810976691210513367202108849092498348141080851471979311983256014913407118169265377176694886325677385081130992939242797311269677458349060895901467971121975453286879491003849694060700564567237710534918906445065280295574475701857859353330253437314144205303581894725025659741992239008550333847929662370767233463629037599500875430750257963974150203988495903758576829100173441003016390174848563306422011752017788579842745795912502607278147035731188031082540722337056184039814643086670132641399107350024418877255635131802012518580814897540973697308148730540887173734744284091929164342440210244964263928735739824038105842003734586953107032797985022930946626806901792724178709806252382975492674271740109313390844006031771503988397175651715664250661408635197545734597473285460352577081637908053873158069228053306986610717617047231894172238541326756768641085069361977285088089991205932294787017236599579112547404902304217356116439548935384403866196678322738363099111005285837078249625061455188256938516357639930307559070740917791768960090942166268639945930987166518752762806121677655991791029060977988760291131293858955350180182828228425127176741423279437724908344684215709467901049134293973815659351333607061912518396634898789049470872644134458081024139652538971443908917775225241178022016887498243016237329016542389588802987575006283104455394872770124930831524949797471267648110417923690325649790862147591407233856998568489932072281268315037098991931307602227680917759601941966313606533754265145417078972656421694991277672019356518712974238974200774227060081833146868926602940980858395534529813264337429483971371578266348938881758528599643215246849202217050423643862971531703786120257828547239685501094726486865273393613270531709184960842867973063004361654213462676610101700359875797906998622320548802641853248629251096168796598076953897654536145457445540016522391424814892972938142790625588597012238728348902405738552464234439119934502720657717152104991279089921169924264097040941620723180394969416889854265615303280722468255424581111427009573232719015598853789575571161924596312339001389238727215278612420381681489646782141666758766918285458524439413730677146403734330940413644769293578325756754722460492377254530663122614055017563811599943197027883656146997453561866251992177475878966802204666776259774383389956603904036282986148270213861905360663668457915145149129662414918969008081539878655838537811570342660344304822550131978660476762711151914132960639612967956751485560535966427176487338775484216680732679344682737453566108015086057433991986215295787876111855924472352713169009007276022927785720407394928408102800388985665402155563337562229145898264058171848809035219592322984559191694639295796753009154987109014103988738347924936289310579711504620617690105468930136691256496076455191053362731791560064596482747654805723188947139841098601302864866561626662957625009817839445743520393794916318616232450841043616455539817023339682807540816067678923505102764705204099569714819307832159932255622579133690177937093754250417825765707059622397054241206716418742464155756617817518321100918462648717765091190334572307787317880484937765442539452471494240914793370735134878763145769851002496749829672571838957837846494786398544023121454640702316093210360555946195476083184107815497585524494732214389320523373497582947729369785424473319216585338317555224946584875939746120313681769249128790055178403707516106150863284334456738495665891503494240520078974138322121492467179808528463428682044702757836988286573044737017987549883391821644363204383602752611309004461003747799027949076124599381124051619199605965139007790963429358311903430562435671573409505616362874827820587615489988136228400631951119520178080967490670497658942820319324591324255961711416431669441618015524066188633117399506879643778155380972229297459868674364343772446022500821701314936991814024542091576768395501316818107403428304112686525498680326457932318450295097745201389805535819414101913198483386798555481994017166158488361181485049186467563917728633058374665125190995176278621822177837392160428438123658550359877683167988769176678640376960033967280640457345259752019328540390384327847518556147531022636373359384639799945119773456856654467428389581911035087502447542075011754726557934304064164481640001854896172357369876500209146312440068050665618211320293368595675472266646602468685420080392607405662982996622827886673306450655032884162938829562588755409694680707065812198050857892405667820730191320067060364216836491652563135377625483089594842053609872295558275245931500943341900907815467112257271079852122273755615832610302392053167927886141183298226459755765340454234610490295722395875331195796195022894605030835697403198482479375038973982795389920689718912962709702681601799948823685154410249063450379330463850598050068936885092159609249345461701869664702253261938819301682122648436877795239618136877735017839876014287972084836641077328764288692535871469783972618881033845033371181517114847157535728291113771363131977821202456846096977749219637968473749691094564421462352746752726128530180078957354303275355058900276072417108242779772273273590062666386669601352230256085097299631537578243379250716217207440633313796387517144392662381145539390043886785184247175875379030663666093268883193121032320723514090703360541657508220906033720166811388503146846445191695043655886615212595069382843445815287087122829314072755593369968121099035159101642125607110757656344306351170567316743528958194754952161142519311002589041345289007507758318181226707486169370511374740514479454619795301747600610679345348377394055213592998818346545867982587586043173404055460118233649355330635908322439166680612102928592930996275724503127489439096429633208730774671500777330083393431588596370124433769577694548260771609767086154816667942389103506090461460441303968713689488679983508780406806438162177240634791781191620062957777013993709343944321724972218231952125379413260275336745685586088441059085112302706065537968948611903334311829339108761961856541457096893874369570612342801977335573896240768163158443358487707336072070640126367241684125509830095138195768861512464866019104419000405387333567120152878262611453144400194905011564171801462355300334608021767589156147995037146733274581502728112721182646692255544413188398595093341962398594556118494767478653220714920141404358734838912071052581636449069203988138792728992853988460679469997338628784322251003743280666592641993060846936167567748471799555382249785746556725055674894930960003881116502599000599374017386660470626212388528481701094671013876835220025370049094466710475579000862748699860758010055989739775274853207418346619399378999761075399302511442615689204855197230784075822784838312358647816828634723970507033770155108037216863941507175891202523520030936445381610008908813050203916934115910823275492996997841354483322967187542418224655200379622790431069770241676548293949761640495002830983893942602243046169048435580474772240387178669349153928857863022989243143684173047030157010902306067503702447200332641348728560100321972365652015909492934148262122999823173320730648796012037972764731556363037609293837342346820918332034208803758319968924099274936352907356498472392751796483564603811318074452718462234585979449722843180527406250005784420048300523823875108485542664866184058788046412068103591989839609872713115064108184549045557992760943542184006717645354861510528247568296268598180602937728298792442529438708541207310252940498327891791277490031521755214882526034714160181953845417671180625218368758194154070367681561576618172047799869233146403361380334652040184261580390264182536185722468448606128873686999272027416268063766621120692903461969545811364344741598714018921166046622658266159054206976394359312366204552875603421650034736011943422561491403201579417118517154275639651725686453846709545248371305948985825597452775643783720939037376064487578053808966666139918396305543463515315481858867792629127253634262889852568544646981449746189241495863663671981400650685888608602242673379881276879694064970299154524527213257542819532491731150662085866520774909529651007534040492273565482829570256906293588816904146510697177724209554461302585438178630485080605899063738090543069502613842422270537535459859099326696733216515194817253453274733360274472585272453947857870490548475863311571836633235913234758825934064152103907287193632679637592847331316123397815498565077459574263019250136134421817786573268459498039257419696999987645982495670940955954906451431929975329699029290181133468491893973167337404737610215349790280131722337912799863914710105736458088249640377936691442602252243291822035969479652296324150462593037636643284086561602312161099027177979404824423743772421754532743690307492626172588806522332614106033816532093232026699108708475868198563990498575011761996369059699254104368753291819072004157598262345466727015736971133357041403209379345126606070799065586879616157998493410954090321243654431087316158637572737481745017866557379398486692291175992043422476006485976005497828062941873914749664566019768926361659828965655744580409914268909472497067352204701161915360094527363253066644020100232018732278197614868663489891327347014448203242931178410091528333303769111970512525118902970829429748839813714997780527816493437056043260053526981069189865886898161088992699204345478155357404652938225547579239651257816984986734218218531240734311529608214112091999940616010158219127373016501769581186190366897792756904678571018105939373143881192914749443565221896260286325866365190174536592121863876810777420915836469090916518273980753103066499806244849277475618845297329472713914899726840778589778686560487233057524228571724734436667418181232708415917914786168197800328752421946480119315937935152394174090419098412578099090388940779420467270491534500024860427455307306836472220758930821994452347214521842825620929143768143878021396936399786022126322109822077357144129412640653765264285434829706936551168067283061481553500677992734287467174083666602053729220484840870252301258571791456966579523963596862706459037207268058794398134006676701411765812522334810483868677174058797368961559962178465497307393409546604314586015404956157764561673447212642746874614083020638793598042849662247223255046609523176817245863626112848338740765075828895677458958873610951974207232126233355615193382471760218186838953006797502120769043883812835625814501250071190271565144346270648149505901969961390405607906737260724112924471994770283848353186332981761999473128331449159687775042903279770347619380629551238401384229100357676929698595905443982892666608780103440596705590520766837021015952195139454477311874107235279456084435494667607928826819356764666589161362140424785642792681562544850631668526832752465600274776524127942705341934828054626702815992453912487393755809401259197783465336557356259376680876997525746027021669649252998377538196938462547085188615104752264751364891883357381891697121958326810041957653770211921182725665088966824675048666996598850420411916153320898856723809260181428117623447955829428808581369886073727549749121306874374219430148667662596916951953688569117493823196975595579402179388737225151599714054472897083955103654866628196503684868466103927455684143635901777440387565120807714563648777284438331563572496836756314810394389680921192823374145076186305657777377941453330257820788793371355232819306677810347448788145330227671159824630146773913180646990171453231819572964017138299344586652810423902920440420503010850372288970722667320416407583835211625547293542097706718652620762946720436336432735056632041125212872258941499762804689148555075973614650511764125793028369745320360465061569238119721325105618061345213438176817327628414181021644134170249175584365681145479777519582806628442497503791747723620420424505736306091115484024269956433600353014366659751182803280395342105404919103056731421075413023579348772342390739593893004368913281485468821970534826806406133447603574659090656460980097171769957520437556354521685044224390827808348072156800312138051374475573866335806612898256952535572326630739519540636979469139273919509297099291348801486760727149785168270269050710767896576530440463362626888722627429312028751738497554214315049989074564612156955425357015201474626587358829154486936716821097263877036692987627033326926764051123565917877363247704611611875283786408803828013634904145085131829558738033657159237554043740366009431266249374473501836940883501231805702551089418469366688303806236043616899868181504628145439937084394672379528195303288606099631547805411053979831739104819179879337630991824007163695359256783586699908525682834617999204484921582868255426606669480659055883754767477890063030763977320119162644193123137332822364181193438305058658554498299868991146681311711942189160179373602575963218532104868749920473470299426787127613334237668342822565756501574897202803431803206244849572309739005715093145389184344943828397373451579980515625916432262701418620623694475930214105085028120360491099390536847805602166270463685525727413290604228995635102522847519070308253273849955553304495780330902592753163522180988988262911598033711257017217676690454568064922305157474689155717101756724035418935061128887302404314431986958652186676073303854903602774609635450195252965340703015970324098511502529305886567190112508328471496806489438130078371862392446817902162173569122887239480216484647377517681894212220710356555965079794844990082719355281479143404037138717208176090319885645874610810991059369177437947128793689503247741864858064819679956146436708248708993683951315072030565303007886859820360720669916737616414756654287719353591044521169167692816396364562978340737064788274061834054357077412161383202873787903785858932745536149564461255050554782668745445509088688946927185988949423449507483821850184341303236200466807001917504592628408385053643126768698034026811580709810345898604130841735509956944151799175432334806330732613391399797880003821091327660145496111570428580281606751623381353863052429563833095032019287816413249223004761179535824956059145300042464478806213024689786559692629257635740287994013569211675539040026996645560256829723695049590996027170973816661686780048327292990594281029681615746963060606101062267170212539667479513893813748538953517578329451364260069361377774400056699301740201136677317877044694506012922607496911061576207637893345041373365119560032907835235964653265747497435286721116298075675851083850160699896935867152259646305700913908762874164925417081690968473095488602332982888001016529628089769877231969074210270093488809344555121881883365197843185355960674763507221611787287356394656554342761406855941242591214170781163030801019258762199380989589430509396825182771303303349266488532956187952664463190634938964927974779630581823776065803540227966910818093226725142614287685085502340363959705621412515137620467224442897997855454131901372056002945670634038242991780751257244844635771525893472233684526800050490579407659261183404627646998353219893312711732710511293877462720081317263208671247247831036953250571166846693391999383834165301330924772942935847074388263424007013217132097282749479611635667826150715662825021252062763897515665851340604552901092611263816622423668992710649041886270014421128735923939982500565800643250607509458935850072180729322308246108258185874671334067334432680515475652761122900942154655618310341268701722865416226907574466637402578505819839033726685391283425113889776103701554705969784284381211041667496423619368984063561387622795954521514689288132823943963661294501387816765909292508975324716691236834827515460782728044518243453759655049256806485323099928145147534550927555277962794142455744052552188253239556250857211799635301956758117744367625509731975115565148451372854240749048380819955880915161179392191042619092848578161390514823147445531015161591784145999471223905165969441039727295741158339745939062050077580709596765898924961437343487815637744208374999146183451341178572135657651002882165343788389069722998862946226868519562883232057053789421789593678448999728380822512958573742956531487043040321954330164722045813979057452880207472858810311408587987472118632864898447340531146044004800111896474216571999311588903720590031466418126179209119408878500667780109991854619093489266918509118998532817580156149634425272742021323083262625378297537478084964862057473772980595049021455501089693480645109743330059979855532033131826917519159195006558488436551656335235079497441486995545934682666761749841931923239198584931429070339724907410433531550716185771284452704556151487208217879010758099459907819034076848455908034852561211244638832388776007725640595058576145061729291017634210620163227631335708698416113338433519159552199342391045655659731008231699479978456319598341143056370588841358572324394599937160845154432247333257474326902932111340553605260907241688375335436141287023423782527089538235765851659641732811004236702247942658948954200246277977930989345076021362417137031065132759759613489924270047047172533326422774262347566320225179842495249821276559511394568141270076623154851582573596335382671792266993633391806685509480289663970163358030635777920615129299586818160233278268287561386953489833858078404867756502916232810223212628623703647116725909111622074499444703371546717193557960340649572183991324315717586890563578201193562277776342162367247566768761722061015213389428844275546380391429829340970637684665116996845497749248421623454987901900590122307110248805880499208202673415213345261948227180404524659228844295541908154492145808904570493927298321688341342995368258674641083672846833132874321981230074513031444007683574024462780977013002142187123511884439078142864571486713031627438140533885760388529469050776911243964028442753921160112468485588590871112043313698335512983177044754395273511809456262736507213423867548781623509663987589890781058433372203975442049861899214534394570010766993023334045070623558228321979391210716339044784574064959683736835999610270559810934327545718226581916273764083264919446339254141257047278930012181409950288177663218498545308566679007037626577058382731749561209175232476012728488544222989867998826628395086789457714388158096755058011481632951013417845494953248474350246166826049086054349862607076952206845769308881019936388602056908101664505187218150057434727469240045662801352442429043237968476832649959785995418767960988824064974266522958440697297761914626489783151028740066979236203320604044535479441981998947525319571705208553161777916410772764613921571177402991355550151670979661965240622229141609972270298654087146907919329111017460401206520811903347933507409339673354381066776442516210910640978277403934724092269713998641932401833676257879516616692114857084403473110985771860414380657030581140896522799033707067927777173240196063669059902396600617475966027436477233417132112564069573043007387189697608262537784076168904565036964121017260551105063180587830717710457167891720931555100513126248850749712570882776081846297351566606413813185775692321942216169819818338615910911121296406834764541498748925967693915520889997434834825109771717334774849042415704476573657457752887031370873919072182505772993177204212596617789094627810737489396727533366949775977576140133909640059949599124774240582260227674347914043659775007117490687276269345637528762791538610334809869295742898490087041375521603759467876439843626959137289972377200731453366733526996836629260856570583903882359383118961476361331704366529764436074940164969717395660023248475312782613511627451693498591497284257801156635401125748838344957820547565134867525353393094929877785668247383224713634127815663824590502307339832536083003873024839639954184028662980876689960054360674637478175973859320010970384009432908482521486078558007203028392624814842107356768943650847829172394313537730783382862045256079371434798902477544800015738911657789491143660036793543639320677626302110521521013592154694544997058887628365793340606132391102338123478911651339606482327343027611585343257078225967456692639944506549281999054027881507062990362135050452317325013670624394106180766761378661414563785766044207492422926977034984501265149216717696331051676726784883729549005678657239784427631134732497719890600761875914089607306658215138449134561555571151084513215973829110011142873895994616239385058360323234420828814504339150737808186319372078380311364175837348751976507933520535426106483964680022831803234766267824389703438282856767409938801224558418282506165887184191773971348424955753553615428351062448328211410756609679699510482522794215870693151868682289065990544542897676834078428468663516950735929005944652517186518412045443271163745245912494051031774974327164330478610425203579403271210384808446436333013715290149884275237794983457479987528151196515943440298872149170655559184939637362023534636888218131437208134936589804188526181461668564638974283915059558370394712383217345273482136156961283263085165038215295650842082471083485563684152892779777775636659828621565022125074611675903211654209654147012294283854575672141738992979980052464181684733481802173252198821195035184670582808429271159259997015375097479007950930331880565580101398081229845654681618715385799281286103766006844083084983972797637004166030652461482660428311779328935587420559345188132647605029917983382716373959860235887851346092673231951588729729246677097635098946770140282292245909364931925193174285969415236656465995111925468588648001037779316307387944437871151634358086838550980361673411774679552505415696325551756593001109871034383335920075203177187132116942973736665048161622813974369194360219793318911371477579284604851057454283287481793287227871096158968260415191032160358867794747925929885099949904921648497138544125533916737983269837424487412745470962063371390474048360794157529363363904481795414111734936202604851201230536055436888793862914480787910052555989328252773354359247067399972692273992775653397256696715240967730735176129922142025550653142954908742617053358503331777460258915289378865430766613971869474350204696966875056766378250013366544341201497803953340948430588040808713869531589891754432305576148445992971287256207647002380883308255786375448067354538598763808584763650695267362809861199004026798113020461010194459803592743530574492962422737733955201691580053320669755130197311337039125611913305432979416991929482939055726795795281772696879329114257773205002147601996981522020615245179423898458185268279789797440541656480562100833028605473010316050320145740518887619845350296999926465795650019044827824173860954017910370254638143624452508870292266392336640435196780035665454436425036250795296489213906564841401827369714502145264316466210037380995041855887489630824657407334263002530994978155914212875197052710011571017163774988337879565686539344266119544077414439924874232060422661597714780065489643349623583962211353125728982013559848156570204574821091737378662802539307044655436889747490658477949409598122447874322186601530097345480246961726712947787951944151344017301188323674487204478062366370035242586176568380848573688569023709229088212227208341700897912925654354194078268993055731519169901180705018958859647404813904626097073419544942270677540335371029648360620327556173102159143468441553909565909746549927915376332947359960200898026407946829253612778983205853605856186118945140611322242712861116686725025703363488631585717397116032882123866374918745662604295318985208791769279853205968708273206077204908756249762398506391873788063610737211590757336298970566574688377351598523062078348566726739945019724570616041702865614312668507975571689508067386196133576130779338566529426117899557612822039627861630366976572927463176005226248813002620159344695993323013044439085141440696129490951435113240437281803780305270161474596669731823396165575509100944772011231301699270821104372848353646580227984353176487604395208073622595864078734581915310594558252403107537721574321457134477818430984474999189198857234881539219045201566171925554299875334540023811097485202700537114712389797470101585475386268028132317028620129038658514423644864928655235817137202938801752941010225202856911871860796450108765298425329716311744186507520187692927464210613131762030850679066588256061616245123298333856021225199613207285816407020906231271834484822300789404092439163274524087456678136735570039755142780739200343533132128228732868954206188188329141890423929582934929305948139194192101543032435674476992430684895495202395456455030650470971258953086410011569687327280575346288820928949980376942767152372469074527687494117376112489070191987929642324749483718639132922040334047627285290480570200588772263597678817471579821421764176643490054851532223351305020047426608426027581114308115877357853681413656836671339174031607056503790852843226782164643593015192070991234338444761974897013637518951684986306334712439357199345332511924340248672268509671224442280954862096706420714603892359340106844004753696386497513597358331093783260019092515744319203761229377089055745436284773845335137564981164123368922952288866851999159162996178672081918371734730700682281270186065027530298339014669995747944610702671611160278717065002344548526553180461527980301358894310966438222475439771623046764635318028199644937566237115116051978758708342921467498000152971410916725705796936154875615717823583111771013590125353955687127457997201759260654619005937960897846190272218145072358795484271499133150396203051241109165044196697558251321818617835694275540614559727053523826735711023180819720853948601822054826898663602869566818348668524544614408406952182633280487604446919008266967629645490754572236923327441664913195564864399458899338775870098805433186399855404932306776159182859287438960578046409842089740550683296113972392222269790364697767875517303966644741574726584654780659639564895358195570035797166891226946992715128448647722739811741814886633192899465947060089211318989429677196570486185276861342368815000041723800282976700527792276554084855433348616889849738718678861898732323800424009638640679843517162511269725924658678721107053801531949577164948506298157989469417142820421641655866599072861984938491754802695846196422947793149812238364153855703808978900761390103234971796963254719656491227455826354132341424364357459474929792785696077635914847280121218205712372291254433245566053407484951814467690589598069520034923001249866193762108500512364425478264357338213296609669731653535425624730809028817761133739720629836430505408619406221838502449854756687212600676339743731532578383548748244097809739336148731020239045338094741597766456031376811062989214090166123270039005050229476135188591241064706560312980146088899492786235478123370756373524321271800610530855171703405360330737630187113669353217698428260176112186006358489653414360670914199779246409721142744954698914635554828643401104014722300847400589719394255567755784403993106470656031298014608889949278623547812337075637352432127180061053085517170340536033073763018711366935321769842826017619126038408 70914199779246409721142744954698914635554828643401104014722300847400589719394255567755784403993106470656031298014608889949278623547812337075637352432127180061053085517170340536033073763018711366935321769842826017619126038408 70914199779246409721142744954698914635554828643401104014722300847400589719394255567755784403993657012637700923304017720157097140226189725490249963962566890848589775041571304292715928933801462762817804245124334611567291708721811698669587131261066558109715515556963348198442249377278998490016913340650139225583745253644587113153774964284515400536404218597690932979007200836296202467322396588374131752905866262694467352104426037919315211035606156132717795833242389410113783086245462951409581718941653818826098581362550702814720744101032283856977012126679321464728011596824377110164058829203812229822825505648850200090315990840966980142501599597425610220263183617255711149139214436110185338455682860703157664486057682509194621585069508284940853018066449912071428675989866884127906465394835715319791629682191642876269125672169472287743672269074631085341954406113360848716300832207815371548154354645837025948503616747070730275849967231328096016293612335740850516758670470322859872473980864732679403949139379130849736324141390294392845766383519842186763466430180868960692143383196042210094720984397666522822544368304222054701432565119426870397199293424806391183114715967928827659016065848116137229441994332637690168222434355926079908820340023435099058591392977157604947270770283095758427070913697704371357590202672271213553449733043050674103705440773459584309227693748403956382048859264704386362111993542255000025611449708505270500916289296049847398305977089314120419837701870006385807844261773612787580995515950384666207484815725018212354082543379820275256807457417795530258946819457764606537499326993288820539515184740851474436356821092425017105258634953457915902871522129953659591580769737340686493813561483468625939742529349372392299112609535278901474152094619169375233960791800588818378506688578822174089302237670789264905590178357330290498610475662408840463017442091646079276592403350052136975053666580334050131280712427989700062737291525907016667464372456678743256001955542420944533633439391956768045908713309834479621296632581163765466480890071124740281515643434631081445327339715432334544926861930744837353290342429022706323445090815537951237757161049271217981853535850994155387182194494270861149692620822283110545052601764694421498479691624938335086438997979437257258503494733211236420156454459583232102586733821208272011023617181329162813476936133623163000555185416994512370308747176934753063809491488282318114601484735917650196830571470471397168054171207608541527790614840815435277054711138661935519182555496737687537565590189158920767435261488529376321078731238757206484082373753032884640234882928758674575174119642595547325471299887844133769717447828951480606297501598104109651792487372542415860607092634345112218051515768050395232079839070384455908024897675124281118683112235359449536233280515642845091163825328468276903779894056097304965982167747942906052290642711540907596304907500457866948064424079141604249897363962238355342656882489249030940135322759829226761802139944680189960320675803429397947950058112356339869727902367019776289840733198614297089945534090372605768223447488692010297648871946187586293421317093272777691651871002498996665855083811335678961748113924008069204414625665382945223391551604594824870277524026560308024160840633583104991593130853947426907323472088411918202484707573291150721245446898526855311599851117939381080209773473817493399988897385653699403875952533621748239471547834800589460393665918892899621752104716304660384444123734509103829324838945600129836493417320422432165642758286269646298705494370864746342771185293824804393582160198607006217119659183259180757449365566031905742103306975370732230140442939136072997423148218620571279724084322974222530647847022287728988917204454136416830186205926694781065001577273034683998295511059964275198344209099429823941361558326538840685298375019610026743279608322676608982437399230458381935994455203647109590825189916629159319639863860998442524559194442374098076505561175057896146435919925564267596311962778375128746537965238665256816957003269642878507201847166057379227252095232109907611270241949139628074816965149432043193064899696752352377801336017153557941527226744043835477478346154171361080719710473088602374503121389008132562431720497688680228292550243349395991782746769594115544309850361643131639442573259674614175806634244925060402322028029469873751829312706554137782988619584810935026636452075093196152508201502395128106961883020837877917531424737800666136610712556138095687549097630224818254733695777442501363334650527296241951503070016298234339909100061555024946737128843219723533994529380672234196217016163432924793757445914665771562668285110792098013823602779085249086140613238204702960336142123967891694992342321715288832979939112946652538472686405318731979322677702760178715157112713190221683641694532904519520461503355347344697871415224470877070845614120831498011066671652074655536718787287374690498716276246805308575835228041919956073276659175695773002879207062873063562282907109317225412441028996562194393033935979312729824901885059982075302805818268734536262076988428838928963551772699775527089280711983832712641649813585056609297466819414332203763601603170238645401038041933756887455935123839827605652993796946311157362367658035157564368020797909806973589289503336310275094784781357000647031676531798437489385931992844679705050146584222778269606759197774314228489834622963809575224532923435922351304412034590961012744858914050582747677591103619718748112625960272458667655714727549394120555133622891690426382083573995206157239464517444989912970211065709594498556475671053910136404655906165911779062436459573934607185777117061118451700154545080998850040593155875095120616554563146200738739443327439156540822226551667114981361350737399548933917480863741966480932781710026395502591404777519347205269361172155291928948911285123125631052770972349386770893098856247973589327598084634232185162498530503627316455508600244801128794870890218752873453929413161466208814826808614162015915549122041986025984886099100100893552198600427434057310121427340294759435672697762854277727675979540678321549998708026058381328690281838621000610033764237919800194423704420633319989321465169743345769912822318261140907089861441540819914737474336816449824325266081666966973361969533212777691297726357984301509710815856277952410140312197253995009854837006991572638174933423198417086784859633091293669773835628870784080023922357823103612292313343138708713756072647955306878567678761408679785388418397508504683509284144719683435669245391453969726703865703172962418389792354536870706291053584095862528817292816924710463959137654339775103303861869054162785406796718856452314625346834643002030663624300772804183915050483997746390652352700476682203370156915852377013990541263834764846638411791076341639450962657613452483409138987537934888710844082251502479447198768883992003573792607365768549301553430268438483889314027219668203872768490406507864149839548386239914432710035484142857146636758141086857568497496424920588569843745946865744801849342280279582356377564388268232624187762216226070904519845932677347735018285436069393524165896011745073761140640689598829299446453818686066474728889919098229601789297804735791247963218691536870365595294443349954251605809083049273594088101251280459106505047664962675822241339331580270942092343548241375457305908715656756767010920950546711178377321047597669794363570249991724776409909961842234225938966846991544188772094653007034437183115728705732067398759578214079407363342360849638323335917902277126826303276948775320046801847577053943430079511966677524396159166308278083959053832295112723382075507441530788977762867716625188109118753519733009863771747861881547641160222390303195596789815373333325829836004518897341313857960092977745880614240104591501478206797394363629199355822760236751034782755648662712188255528531782535860103510822581450261120474709240171860256469006846173176799057349011007272876892619452758833587582219473843208345786330528075574549382895239005984568272914134643234881714858460678305948260145359687621596708124955323057637815649344565257825522938249626575117074949886687654410382705337408989210403686773656045428584516950314022323633757026417965778520817544892465570992408132366557869852645353888011188919328625192592221355667681557609276306155759306626473926089832783476802146055571315939157513419736238143794497888858119633437282923219663203357801261130770108572159898202801245270141944055108211091262826167070806274271062080737562374739117901880630391519189825171866613757572759710389811462813209411824321201157828817875559190831284165898101295993972458282885034709053028292225178972431329487897374321507341389531992364509403300894441779949785506114695615294856553112229462352630605156014992464164694165358171790659753464774747518944903388637694549101338475379570124343532832144929827573206494600570358797413728473085568500241405780699494442096564545420670406712691770342055893545921475139946586563795324498939480729634535959897732503522425366975520262596619022391137446470151563774946817344037945328859539492677763875590864797247808868006817235585313143563297543176604392538385405756899742985095171277824885406609203265598281270195713564281392540661309838725191388287432303850700660199215706888715653136986458667179283657355256586271881440144317143679374810596913709321216806242471623729661715393439953368054145698679389717848891015986030954129352987461691091925238097429445514885583184994985947959024263664255486555633149346893561503414883748846312946530056598074676977360194559815286306276126267663557735976758113842161237331459708729860471384174012488889187971332736362625113113346765376292998408903778952000085393997635847442819798576780721048963459907780154266971745675426172384022032773364763975517549166533844727336853524966915629769248343626504746198823359455938542388739013641770469453957981187527121597768442511799580716945466861749820038914136757425295199235363028640995847738080667594169715580833542623996679137191811974565095014215741445024655942823086685483454755041753280904924396975773383406920036596269823806321058421168311536080639600030298348698625014189519615977098530989341590691826447462124298360754346446243464183758912699382353801438495736433235890880340036503562945098957173182119387536060403375025733118252570466934470275756657246020243435805176179804305001576612206859107119164478367877552875557651495538646290031477843352420182232281862889836049955671009471307362511750465682887493345110800437057008572073227508319673684109210872646030862698701217604409040280697949111839643660521843149230735163158890444548056797832255596285773250306390738623703331339379486490735595468517965042966618255310526459824517353756325028373943551018059272053090105142909243352731278690015151305587405395535952649030281312758926687850268380277539808784196954244470759826527714763680134451227046469658616014050005981355426600455530412564538564899316031280559646970972771764775136237931869535642851430445630127610428264940367974802933019013443998609284058688100268883287786069070057522291637884595429511271236416290417249259287033518121777245720634744414071045798701168348653894086087934642885814053237220522033388278249160655075142849889502673047338689414665771519170670071546284933413054595326178257624745577860528907055681209392136360207948400190453482271750199199850351721819829155537394052447488160840114286829854219815417399461519446756653991108625702661728915721161670861280786442259687806540552408407698092622979890897438864871881241215285862107144171314682739415124540231527184641602104587509694837594318073620219293740011902747502717656734359424736706618039867767305606401858990535751230023066083708711686914757913363840862325384349267186066139046684337879651679007095096077004454535563136240513581616173843997008720780057279737476697330001951815716651448215634062181865695556952305997320961352796043608491646454400985340296086167453343809689982394369382494955094716954167064128394245171412601916247382708669769311806960971015572581478531946257461453503976260554651254350214524143432982492413812177132034032371867152062735928163374410315471046396311177083453501544825945760866597757173914576609587753667249840517245700825958212454852196164378931310988248170038422332063288500432542084921594423734706930124693333918887639562414254068324429613965686240316412840305878256465234281833656651895855036990943259530942506080824684142553143703739066510989676539808735874993770334589530194951951702175226452073203602754639413113711611622289900457080284754036140638147708904136189639814679360905829482054185806765374568452152011414513584740042491714183497910852675578692364608405102964056854716291147960516605129860116421892358470677447836979163436922030219888963849015241726483510873673134583953442150224626155336633614834786432335613805300749667620842875753074484767612212952046402684256157402198984963409036109218476043128882969266380818247741624321491805174576051652767148595672360585448148544021329075323119337897054213766925989414624437580625161532179973469637179645547335354924900140560743663106474176679985725698630252839944434637993051824259841257983586495906278906953651854959181602825231129648862454662474149878023489619904934728196665830714757725320158683554707783672825756239924355463937745447797338296029223953910136392484245799089520465639804512178911186836846111736749565952373215883192224769664295949694007368505028403776890626580850024671729589763991528855287127946920792122067201320528093964522632270868221231475800660317858618410693450455257909777395661801233418741794136221578605007833903459125252454048575436327708936373481376250658388020484570153291728775365851028430430373809464582794463170347696134486828805493874742078360720918196695607797807865955740709604430297860930907972073074960701081558685015948097534353052729341161714831747339661005175217002301479901086903452297704877598405728629894181021529690074555659724334836185037771505508603301115053176164169618772366138127227871098651734520385737873021661272225806239456342389511827106389993828193946808908917142686787488703236974236982543558888324608458202840234836262358836434932664801755904603428215172195639634953043008484166217827151449459540901179448852595049472655691194579203679365403761138674937619135288389765488612131811530304716061968670436442884349882255233129687502916354586542686608894604692937059649512844897404856780035852704039935626048982822152555719969935257945452617407432708598911300142906714002259432746902189829951795534427487181116421174293434661858125957750175413534118015591400125239948393901766175216119230063203926935030744080055648532173648116815833020317058976467823292023818247676449092399715748466900662684870792697974543610502665979171872565458187225995671847189539689635639827391169454008286772208397356485201960596067264555193429252306818637594677165747163985103758010266451314905894653201170259390298092672155326188112168705958416472932271969153732331551498788130347398894896254271704631085200203089349760747480969523143814485952336287596393157034764290005251909087525316574079244929463176141128160500604332367814921702447181040900025235729074509400875419094485013234277377902820376877759883889102242894658630718857836325840114004029582015157277750552204976717418065229681281445359630774683991974361507755608490148304881526622616887549680346283304068496724884583144896108984111641853472467904954298423368792950285053562273808693036290643496106389027342398164443712989675246221349980717909832538537518245143182298170149804714744052082067717348293075742446071778472524594618574890493050965097953905422530692123607017038379108571469830225772485251738459145607910558853704706629305268611514962570167775660509871522189311993190860804095893272714652003159911804363740649554498522211631107924025308412085874327508302573604673559050242876200960582178254070725358819424274822906126115650670990690000964622866691935026133569804484990306069770879179642034494706647343583130498593239705958907652120593897697617999546099025575012925295051756463328193778481798272892162688397915039028415489284840501018329343016939308597691882076098327288892113551698234456444733325307296239857923564576768444655740788184753280032062040912485037907903369696799857569854811754811838668849282624893373134636562096236436017604756288482557468798352316689203275812083119267273870776283087919441640602074628031822157640294565833974760879869175255503170496291961917121507212452773313637547286304990037502459348596003211514499284066215825743674227447550106391222421889039120688571499028125033222930101962598793831274820795145746636908690111021310530573875061028762582480472978297597037886652702174411246083737007276409150371333361497174009051602135428701865990605537125909298969887572687800067915869091084574078027399010187258340250270675234927908455645847233838793694839321219370566310273581109630944234629357335874395461017150974841760325948353621751671249004828787869344317863407778956134314765304472710158730835918654422753350609450045427094382959523450061795081549912226067705369540347087231670377358003858882018536060774078592030910013073668615332051430948329712861083660252455592697326600103297614111917437427678278974751030295465030810406048421266292749225871319580437832558381427972820610467164454539667827506633761195615471808114106637289044508607112165066033989238555537675320538799346850503492185865362156116256077378507833681394845092505697034605431168901434565623077243178045128441499021187993090482889896661964477429526148689757457320468170131393090511705612968133624656576703275299788425636726104684513955787617455426140794992788515941932345573064585536376766627790456519468752359050707029026423593768921741125833571439855472717969334716699045245738576573463632340209580112235447644417233019968875948411158859193880265208241262541577592395355713900994061925788576243834396708253598508677174520306477125971687162927198110872264071673162031199505749535335078557905805522805676870940035886214508419394511021296641803010250719004143518026258391841696334287108392447011217284273032774701343798411733012446913775974881728083780863283584806041092422086576772875220996324008042994492930498688498984582499837138589166913141159480537977042001597068934711183157338901047464798780815652192644112417536626682168177076943238146633641948679086382584713414390786785266254202550798750059834420864335320340338540716970048589542381941646320236449921869693519762514875895364475163444940641619894167113410443501482484379874639160009785800714886541351357234604662347929727283142415592080025103467895454275219424132570402630697694654016135485468798571442948680303910184410863890414481123754437128533082399373283668196231302956918569585662741137703388585366462274719316725033611040733156570076520712424079756999501517168219006451178870287463522929808818771007290339729922566421130560137577597719013994123632672808453894003190961542149931926133641122555360118366273278385267401987547818763539357339492847102958252871038099756543973256712948755822478362680745273903490374539065811519419572645585878826961885994749183952654963544757136504122860593117832774704317170217555427338113164461220577791460736577914630762301569877794279947080006669333908086631285203725804287139455275693441864382832163075424935767434066898429248175407624563484358599789479950735840897211272601098018591318726985820436021544935373422820998321512799675477151086725568882198976906794323199185003456465975468942090858651868854156500530177043477744794386727039309525080717481143880667694404088033700276228922940394954645686946736562765121574442727556185472729709231607710083303276120464400195010882554366611838401750643307987896018495725640922702645363838487828264437784676467889452186137353554365637760647667817089845054355114691231427414164836797645974961007517515958073916479931951112693660164858482939073318797391690878819561867435883137351553906131409862755152129544487710458089772191058276339894748491027833916995225437768143940741866823756712442332351482346586764996451945247633087053644068714145683260663976945480193094371008679575123989119060859807956189770286170467140202639004075521169679039679720071713355977146779184571361114940796671246292299933147763421654122778357482586275349900679211197806030788574954697328419646448724815492388450416874884403265627747095296067748119527859251481070284907091501865228753429418363140611237085873262940243390981983868089791860127462081893950209887488319592020920204199143110243288618404386721469844721805882747761188553143345477594991570811215472430488110982675308501879271223606726542472255495116778349951376070493031367598922164576741761560889488299509311427656818795044573907260386601558121381695557713584204354934789536420233897464954927668535362013175286570550588094409771668261877850356569324883700619168688132576989889215377016429415477035280056119484224729851874877749535465998647312837668102316847838642080357150661043760802759009924176268410207319104116864752349250603645638677729618049536610561814538747453647356295576007682838500265390338220423592553982932841939449420500089988724891806211287049039130029485565147495434457524482287158340654542307467849427493096347001514326312416129821109765779780864620896364347208805915536423226483126451502160519650265847206670613012049338696992206072120550748469831325044567903619793751145105610994059722706102455316434184231593135390530727736431563672645801322676377266861863347929609941243270017744953982304320400254498544641258218149205601492188788848500428184182953837747170367919128937630870104272072105279340761590955605690287884154359370412944870677376427126382152837911463086145996881385154958969349477753009109089564506288798749499879189773300553955499696722311303299622373574385677800288472896421335832669747258346061528037126274322172432529339257592492447411545058597603142539540190273271795348245344711818326753377256883131935700208316178318579346955506250987414808507383726201448358464003533691270556211958906298935556277917839908857649562403797143088390971110264225897462931766896722340401278924999440030146467922020383042161988077173466473516468109820565844567718498749974291629569527774417095631284596102690145422333953644324790898827529451163209927530749937938189831475679444124595963726257884877982459217012800557580271614757921687730287677241427839045907391273929426788438577192396805229940340533470735733345183672515542658263961999930983673079503724486864611493730495761294157070706620328918110723891552753833666381708043033055670727526167741946306060870155565744523087465583961240503014805791061458163090131489886188210793827475130476412486827801601908496784421890111018392559678015888440508539397683873601419123096060086888484095875909397988754571250989027721154014401926221727965465649895992143756911429020204111157924873126508075595972847278699682789162682786949115247674585192281108652677009819279435337913553500514689857938237138827353572717178938301422164857171410290069972823532328848462192811289408170797402442190544369303801749299703208434011087332111453684235999932090895156690859649152277667229639694224242341883180352109911640280643484735443798320000362808190976855849256117523929774165820418448109089512683647084624741173961271488101932945586738194325086126535883736855992025907815396082128790730606533354490598834747010168086963731773732582913940201499232920969270678316759681476696675208077482680711116784929358461984186261721109253221606852538815918559880627768721643818351604955385279364210903131036078162438914712543316537004929543573131191804284196503216157809042520133124856053203608591448176717054976690739276489514055215206092541329165702491817166443720366613685787673325110828590381921544766528622524635921917501303428439331954912297279269763953174862232078789202684450835204124961260947859764764050513446164577995797419209394138731127672405794054104620755970157418271819156561183209665877740814676916977483766418386081752547859685152469480775281790629399270652523129308948664501479045471076151553997996389545735499561642096460474745985377240519452042446951551105760149422144598507856289800520015014421723603039442834244487088873811175695484586881015884730508202936051430137010450699026815819894595150453748572348798071613236899889286204993413477844596482623886893449564130688693968016240225696097259058369035914478304640969184582654758153494500776516075819566412400743361172866660578064097906850684383908655013660341715661217741365352466629240385273163158429247510718207376199742570052663628734248527697091241463260439116468257193844749765274127912883327647534004587978756721972850802515877654905655892204714962052521040120166987644538174938761539621762099818669564349377520407867045502757495420828343826527279906640404630855560157935415801838870887714052300577774791013360758346370816037414033581662171052377954778031082878931138989447958611693922813772482097662231537416555187072430037844683873444610185876496624830235355290685620889367050129145033747129770829859205524051878310562165213224612288003475473255932571175091617659416648239497291335237054388627240848370552817002962980905865080479495462458224013571415849006733084457388181196744514291152143427939269965562257198643919606775303837468667222170355689084250348329476678415036783681989747562636076056173959495904537872887088011965418789247653078202554123421527555465375278485116421930021040069601544428550071743703540070335935650539865178570700658209980419574495123587644781248610414755659045005537787454257327663137388250201726489696161291010481279326374567313473871166387709984542067027002960111722637627272674521018118655910525861453388197012899119638473502901740007068063146230130805397545776028724740990975069178826192831971647212849587379180354955908545006179881321198211429825837530563509789912359405448601790248626076719483518442349058719075337294433959240918535280295720103839420962334277562087477231701175275687241012245302815387958450963485798391045192131863495690303912564113905964125401943629294949192135307171534484096842071064228228981186402676350716079693504702100231878109856135679106593066007897762553197898250066315156298335443916444925805700780106162803210220195704757986565811680933242300056066489673694876242617241011990759620694346859404061641090571155345453768092327128723539990744359195398397372110133494916569271429930280203147745605054466184575323059017078615644303819701791495676539404594356060660507017393893132134625850381073195038674483556019491822805167730576850268843254958908956081419950752565189355402263661008481614620386544647710712187951630698336202140746124327385607330074172908534137146764662082332653007577845780127550787262783016182508700842818774533207879778942964858597581928420499648296204273540733853100546993954125461947347217039952702270357793858512968366440678898374656563613544478066683846697651766149996185439896235023717671102740890919399583145146872361287138497242069080950442236785510287628680425188163584026162985180721152833223758097090574535691784019381600243965432578250454451969403488409243408578999827719151230309473805540308231556081860716158343395561728106373311060601526496414815684043194623560436301743175092077130490886856047273855173095380847501448651760497567736078331544722925343359638456302152171049873859253102039789581433366384155929925508944602780701796227452105550671191316326265279936696359892383006096981600167088134430020391177191630701637780038300371126418241460149870417148056626033849775175603849549191579141792953684959706286329717452214945264364000401168512758738794348666883757228899613429938664023640589448245291242820165800478166941847806366047848381761856515584017460372897821585659083148930651177919857231716476472418930431531999088154997137742072101183319686196849440518471348051037624488758181727723344272157087400085249391949339810308319995228854262630851814551410496748964257681720314577419760554011665143719337637218818650652485445039993766092267777074793998014225808662149871912470138746989567658098163424079513570373348683994607400148381880910912278504987422563947102858903617892486945519990491711623170929740819517216362506237142082526119071317918763800373820998941551673629031054940290537253798957737000881786588704904392091026112781111293551942277819214700743637373519008329473368732239654947632992827531835181262400711892034565885546809503026304251921987977737443263726092891110900521986875537228105305576414761482463985863718977279776193730876704264970441151141289006212611388530603736722959581611702139503007414176611284833288601673671673203588047015802478486463980799957676470792331064456626033730736158992261787526742601353600729527851144731299279145245062334029096397175923219795801119146699283960660905462007982374521224503601691041156322195329726954455515182840945395507867404093718532366038779628051431267662740364398239831881760597852813466394695605558118458939807050113575168206806948943855291350882854473482815176097154238595221327308613220412923307765655869279095700478430395568199401596422335959455022810565437799547086244855908003706950156080193072146489726731639389255381599586170220591397302709006385884149534616276426044283738912519184781985002549826303585100634103443763340733469903127035583080112435481586611646799047040995479238128789718678010981520497880605047666820366296725093693960731366933747203672430031896662049975065252017547135786573464383646763792685019584615106967653639024474899543219972319061169329622877894612265668306435189561638995745077221094512799188532444937648778904054422423347097958726521769377763707960407327897024558295386961641263246575492104481223808933638076494996719634861554060909141594976780877461912277082868446053257271801923246319994667678926030359795781182790004713940921719399874076000999706958163447923360510616646007787559395457858135619117973484724275643954446900185370303889947219983080588340583672047301059337164585377733373826188199786074067450906292255488990834435844707186834628390792947080116968639485118508116438134602812347712665009370864349808106119251169983906911241127884922501074046700100249875549803524056367371564404834835224610219675040334226809019609191836769753918448889810307693136036846490751851920899807967484952064252815039882199294501631224441929079058217550021246415643878011473635348603231817697699256886234224365116141378358486034572918456459731014580144233910343661909121175141432240043381471464957028036817478157339925527876758136335975360559539384017686767430474620112279164213879016271782936332025735406498294315950055471411440663728022590649907729721531848353962105920750948187022309948254672970184837824611212322639194350073177762006695405996037403765441062871924178666242088214648278279438113619744675884359564005433840353292127859574881400073749708325048327857556278773866528397788884309372421959455553543681653293719886363436817907518019612735093458041094465517258849680261210153466972738116149856071359331842125178208697644136628031319592662998008004999380179915344918391418600149176520095550574294390306323540512913272285289533183861280090024201859206830124557688515998603667088214403617994975769301015816840489636950570719416181922986998546181106643162421543438857448343388807199476674230925541425220464613263330219254123326554225179003962370011877224880121899739867454023278310111558138887625327523466564979284560911758393972476956922958164791705775346063017007527431401713140934708262075805563651383657797778566866723143389971585405128381753951728867267924335193242794464042748455722042713703833842824335856314255103756910181474583564146789534508685629018486760916770619988006592305344363957172825088842599663928971247757401309355439247332407918204555381766372353322209351254013248159029890264297425927878945475006549946921212466620662608214349320020805522405722398438304493632828192284548893289587402257932082077749921263608591189029646609838958881002923882049246229713322929703775199313610098035267052448685322637447804638432564630100081448629121994571564479009944608429368284796527446127653332448811033242025174738622234490697236755378803399596664030721437536023310369657332315237722987442690566896177962823218987189096251000966738160799485616991125616466451101755971637994994874517358658677084047168447477084990976997944707107221646280139462754592336253361858445760238686903734040234299795866218897141588045753756507850426102120697436970969214409411346899426308743785693181269940438714594895998350024823390435296021410434798710306835342977082983320775180715284808828337014599515736692340895220746753110902000408776677345208304107255415939005257603460912081402841774203771307008424371586729360593480664925608906006214007352462203466943404377629737141729565773844359400547535778336478717385883199572538063980996026454053272056287315112297815716086295737468456654236008290043057653315412716898974622851338510767066427511106126351131616092424346656970070932995217809475711291051481146984681636209949121191573759093465466617608592524996429649049953008495876078196360047102673940074073208436244200346144947032423951767853242453480993775280280525924048657628467141218672997407703083930742617401450032210497262071517016718491281343898195596976652192019081370003672782082548084440770548894977352900740939641152159281309852432760682475952253308028248314091145503496480558833631436378808692685098402275435610953038777070121200028980325179010492325077885025908326341435485168772200998294771996023052438855804487383316035861722692030067101878742606941786040706999025075004932336269299321409465809964653142858940295050759938374246713892699043308896968931712215225093296152832231404015224720069622519312187694832867420029173664435680663582105332804176726151562302124288855432501934774716280438341939284793348612220573524012877500894115331923097650828181118963550249584671068452926448455574277121347428588612865531692904976784566259641824726692778344002660727947414440837066457585123767092000483121940348372920856002290277977308648541474618588111570240287314904233747102205122542105996607035383950648233459260971244250184778080977172673924731940165503960786701230473957653328065850834841252600889465846731191572917457422417794933549798919007820621308610803865516223758124648355406507243292929115450926671318592967693090324380500504705798029574716346546186859666334816473756375825302952862923734367894946601088352913613146663832807119837174914550006429820817274506175115331643178506860559958041447050514513443466135434913237773369000477575850404699354952865082123106885520961899712439343411168098795396248170852933855760900270227949741241797404757178358915130101948311420886832494331481780233765095332429955285944368343551972731851780494655835099194309370225681931802468448831867708730934727803805915525023120406422360947098853016075837054367783741464411605342517206 94368883949375010807823551784950908235899540726474620437428881050839645588426654869276504840328312182091922525491147266403507362 572486005108528078987509229541520536859292619877916892215922052205519853201479261471085918843186865741159637899311216093958974613112160939089746134 3590983289478678839749661090310578993112160998976110979633565444902734359098328947867883974966109031057899311216099897611097963356544490273435909832894786788397496610903105796567898848146337793780972063390584010251514800188040123088613129755420721536964927058014552750216146780869136607498122516216343548510063344349103534205339346945249747695508626569362762126109157268918512773037638397957159366930679492986483866338445448631276085510051818945811041464708454015362914582274572901534105798816935405528318673603825088352304739202146070349331910672726512771799141383722670503004288951549134802923632392882422079577308657735443007871499407960630325769589926239205966013855541803419669893243670285104942836217902424447773819256545997264421416458801833242657385618786789598523634784235368090599271199955978540144835966062156329516389073004275682540019235888320300191134975232861300651097876929455311396689555834764370807033156924647705668317087358183948045388753075171478337119507687976407728846486649791823184502315381055175873407189625387985376214371724368207104688142052492393655087044891355416556266667131541921763666664454613419706588440480395862840116136033685481345505093590314165725257605525869878703051193190755363634544025154523395823365871603816085282185007141035499360846627840750612368387644621458919217791425930064973124185463655995675129585020308227841032613715113519839061241596463339823900878973879933716728872035678948696127846918029884000770240461416843570964611623794845800243691534462319297027637045810546686186489200648185788447046137629428206142107034803630844111678006148150239136901396657580309396590441591251209695297358127309790325832927479399692824383149206259029330928601033239174038383427457113513984577478320244883860219680767163316534986730347454013999215982211167111512544258537609167343276999040058449743475905564206307694693472835650649910777679589265079832348108401822448911707496651040618759184748576972103674326815148420195697220747344822087928699608362935876316538904783900487427479351515284197270786143219658284170693904968157725682805012202075109236346551769315157232381050180225855175182478223413643178816520685066139422626534469728935978057557926078321667388980661251923880001695343252262005288995610861328799507595735547495524742430832870191803056477082736701434453937593763155017509351851587985050694639052319582925230975140740525459563140074366313653185988575773788784190261411868954456504216033706478625262724708543417597795006926490269511202750263095436740580164721315926794537943694975261018446608580007831271913160212350913829704258702336416046448461284709186343151986536546609026761822474718012253559968132352238667955973692580689597530371264802448204581370182034328690863716598337757108583301036874346577411062181431765563396210063858316746748091887170773765355898662202949987382744425547924116346546794060365024746024561895259093499667359512271273205240111113918523027067614277230922294728810133192963339978185503182934432632206469801012951704557043006325015625043150836576283267412300204950639717367841889100514252530524968862567387384777966286621649736240288369309617354373373136677583583570179447145747081249069802297768156882572257089498908991206605540252060801322450482512081375674376619867964264129860594311283000540888188123313347297473121267444431186759432091066818417810265573353262138773747375534578279041511593132185182858877744177229662046913866020934969425605364506621333173259619876825885942987942670938011410541539939189608363619248741879169306463578448072156583993120379401183244802015567141428598637278598469707404755436182348158796011413662352454806720345614756939780122895658521622561696712983690085390043834510362995911887655548585010382420007282573831915399075270712724127201395819955356637355128909069762510703048920279452591556500485530466782494374123417108451112727160221094193145540157999752575970623571196509207796535145582849694641247127262752026385688988076835163458821474438221218629646612627082674226350571950473923863507541211664830262009712767100489826716132451910352783620701285444467011130523252269301508703063384519741892706340692454588091376803729575334680677935046864787458770737621925305287481361985113857578454292910766542928340713435022508828188929152445277839874721900813143807204302072454679317587784666266568465288615076884031223212187332960724426849433913948234400487947318100156723452617702576708867907794884357597613518177223303246999116657596635615488804049732012975600952659882349602233294960423551178727855292408028587766780633702288000221810335470733819373826226757192925933563709540615727780572441483111640428020011737810453773569712267028220634931269054549816718499502811568901079688029001125658917905559234547229213785287232821812125034518205954809677227766071310177860343882957331820642358723699341009810617234963824686830091332565344923468406806939017473532015044406113834755190428877540607758191617811541300399257403786443591301907846113155981228743338330985378397280207272868923202989439733948198177571392474916946466667896123429109370338793251233773971388025498350706646550164356596853145826507561070572470299837409048601724376419814227043148037384529368743600536391267265076156807813142004122411959494039297701634281240787208085216663064592305670320709816172252902696023063081292602279781774357161381029192980622509729023421402721191693803271329832008372850667961628159235828668657609990441599158720394183682247309036694969071774570121777144672683511194579923576437894693565354208606297301046730719822766077439302309468861548281095152021597052550236156478355794196881755560913857785219222596477699410230570038366747623550697882318965569824146502867863189211312240606180938604883264517308401695014208215732606429222886911152502549936021800510419326096907384748832391402415585332601152850704306609322444248252414417460744488445341855282414037622464301160849294866458299855205426715174054544202062807034332941069337272642970668910815358484014909456938246216847992970706873787740628928325451342260408837187219903835552674722094123126765963381557250244846112695927469752381449321640444689895162240069283709586273806888336291637240041875958645520463746275695830507984538153471523066411007256923629349276393671091313512704030545769699668455358471455918192837712462583521412445812027496607847718105699457043360508168509589453746307951839500347172519484435994948544685268129735901906906535989033569560310064479682631204573191011544496555112268417325152277386303081359758217229059766137627641766163476909125070161999553759643211557534396621688271084036751192999600088624632199987541809436005308741339626929982076296680154880905235587186807616985560604341753925240496799964651760002692691655169875265250677395085130408053884450609260109643688108942026856159073899850990825015494639182209700648455366366899685892286382159711076717976789750115428087230391288788699618678930719828675499197432627093410002685103259296326881852414895791244327648721801452982185749771429294366689378364382229658591114179405184942073570645283259884591225939492744455714667765151145692903139525375804633758579641581163621872276615189824122053513224224882561677424596765412540331784498838411137607350077200856972776264873652783389163614249642106308834930890332084877942864404972226828618599466893437948513348559058282069646123946497574122362831397733819087455803316751727223866473603363229422165312776358477306315342973727749231497394273391681398751716501781032613174550637765770978869597675742214937163528845687419756069536003933733202065164936970814922958343311631037274090986625747050514702272309629622876768936937738712390204651672955925396375704229682701372159784961803623480433790639703585582422108823529872394968853577050451828950991937634747320351938281114420925467393367822925849653220080015263180291408646888248451312773062679808155954764828504172711392640315538504058354882187206324982256830837811447496727888333200287176700343696901126333771406814924856099222370955185473844571790541768739279171785165931986828875641818677687684101914918079399611289070751588545524699476508217675677211646636427681998522410096521305046508340727574484966197616146084059060741022144497622366799448483777754612007723490483468047995536374920022287112718513560661682291232392180055827814185815990440624052625463677109244383173398476328514706535000797831849158240117595659005350270640384087071233412549043005892552683369109471018856806309748638940766073009576591462156505019760734488992170674595990100871084361834433277876536825877230822334434543292752645035082751036885278769677924752905435163484717783060043423068025104169270984042942326154928313761218792561598055496179934882234043222837656531886125750264078045152954197194195477977406155462426767143364705108681554032166445251623107122601230893710475506825086032404639086714436907732441343984928414678828471479332996215272656768340104003538027202527541843522537228344897065811560857105993366677451985660472200841601908600007880595268182669131384173418199055901058235929020135405146103729259840892444057996292612098298196317512145353321039055651854357550155063302303939832174241638876581418283754957382481357953537641564860019910209763533920754849348388692816112409042860516889724156259375795831898950072924596046798855441909311233298527184462335677735993334804074703720532803470697637002715728202307305769614148719664204255727504919503663230046513954181407251089307094439783121107332766875928037765071725136087557193764856367448558888257887661339184493021191882292709019500146842343636992753199546115671386857045074414321633904078029992349058144656520449623351543572010554182060440262989131818118356521480138655484650393917442276899832095994734532614851533809088184406737269357842931940850818005411125012034574453033313973804469488527709899805696000519141141422794776296903922415244615981368125575139849403015890891283903969068237159676228265437559056160300204572745615279459651918250071334871565451017527723448508700166716220881347145595773312518768056485291054073928022211200328627810564024398003807019056977396529787790988003162006689840372155196243342979928100956086160201491088191150979379290036944991206217653774823719553245806361501300980865044242529347835698514942884633840196508628261926818181331453522710221617868856397961804255727094019690419527822189723711576046001639909088872571825104688428346189131812029696413348931760054804610495092798975176311147402264219675764519848872453240032533025182483077491232525668847561695423934889778461915757944227708558205785410061634879826139855509192493376344196938647024154343282328276845684142699438372354025409393730738046343438282071965531403267158470169414833139149967410908125309984316312073108505016906329319101821105395585567039824196291695207657199927230717637308136423894014823262654705509038419616639574583687476267352525581199071918362373584368718343059092217995449969222330034287082269330565446768367767558779608375718328106825559568543168045747689684479201244439748747005737572457408749217827564247332585933827183601185506372711682381424624589045907602969214280818057785601886552690999279221547127089592401794765078445144146455171727245484769416076624783260657354138944619885837567498476780536983929576326602264723992041365216237363614666403231551854151548111858108443398551504367348070980163062524751019715046695459749141410113086616816368604210338807456519949324586116048711164862799838024812539418990136377273111338342667785325923245333448537596647162083385374122635553089374439019515415756799424532380334083072168419947899681242688846165970608333973371771443649867987671879725126150631972885540631915126103864962031374005154413457210449044670519451569227393667324976857391603105431148168922251592576687809534620488181913512012841625814721027809659799919441603443841823262314480816732189123799465974694473719947344754614472906985885420101625230641968059723722842337324511406540283755263039707842698045973210194934570025250559594698145422107028369067651113380082719704304519247809251178562729103526279169742580684026273075841902146284409178984425616298673909100537002978855069858231909288554409934577175078784925479171378543226314655666153587021169160431720984265232313966065488930853830196834019241368671420697276336719758147787236143301726125552055830024756665571711557695597207311136616476492124100074325367211171819026986473496581301013671137322293076821469823309586260175527216725842477594432158344832516677179538137449644406567381383266457517449057480046505684021118589827064600254984222932072749822069747698062260826601109618485569352118066229299403801572610103842829608898746065630467985022929902092919324617716061603848014225088691237342485864417312671847466345121490808553212758118947482517859401758447229142593819966479033908751036666615416468654700720220225459753480984235013648485749478855474592133750963767821654279141354746700628127674422229911882799813572690737854690911015568104297173057788424763853740267974152370946246394346051216392451482105079760326859866094008732341564235356676663753122763480101077045489051032405795659667413083115792797480966954347260724741069201533920909334582777447339616500935752471124170750635032088677174121934951466676387126373728461160408770630158376001115336492121902033180685003246663792217379792680466363761955836204719574558817255112000804199114613633955520113003942391597535667411367022325519019341764557314694822022252295483332977455605137307742517709774446598076075945466065931031273487155532643890833837027738220743145689445864371754121066049337745424904700149039594657459437712378972800584293962105526750395663214923767298140663500612023607935950725002611882298817024409323060665400972298243353765243779941591851493390417225014699742533537805043621410935772354900881869073902695140166972148362616723323851117638972737557228116899199803995729374603221728192845340933258441169630406238300354268874290211824298564512457952073479846273461951045524256137362994330149839372911108705299695191835336505348442428480463104765220834208593651730965844961302858336548195435981867562202941613843211632576859825629672018289067811241868687845973133871404187297007119198677012931062930969498993548139218759288048398451387407586430276561571473351835440735062553123436649600531091488130323844626520435136290262659333068120511588851043585699456499388695707061119235727571102941969289941876554368842569280638614351303106384443343133961969797335615232426664170663902403623655935749442510383568249385430663695656283813497578319090242770499094451411112412302060434223288925974914382315759079844235177845411287242594935333309857109787553868398175482521217518103082181765051555634524299484539045775626744657855175914891622511780705328811704597405975986458300800561032233253843007509811343101204508331904228654685877994401229656165638908159592239403439222600101972217657362171163599025757529000338660227492594219355961294755185136993932496927866350652388267689411676389089823146190959683386123118586714957572705756863997454271130365918183847178081808417520100655662130476326752494668205997463936880649990764134258089308204090236323835178306322176172064336320110403440994091584051468783262604775680407126154842603468338802680940447930891937342390363864402549244811573907631680266467996790175567187064136332402887050874571658713959164292536144025978402908713437744417589566558113073762968893475271737113137790003100827293871224879869141242800845027251225463527219920187624235080278447967843370236807361439928590481111125419311013509593127276611248889546891945355636218793299748845867834814486269804703990091628952883689113746167315617024100451577570016037783703395725392613540532501146574192248012182431698530353639459885750411326222400541097051949162925743792819168762049267568477748603451383969467990943530558615004279444831120630905934432470009375367100560449265560347274778079078363950451876244839269798731353528434846388813323043979277480220152961923554860004734273095078678062530767364333228241961324270565577945226606569501618926256269482380056950336491504711624285796896829089690583637582782838928955203632239309604204622878106376581117827427625323405055645853432873936828810555823020155443402566605611991608331245276376749383219523349563178625842213416657482628877447179338703290836250399594515911132550505060040551933106785402214013928930774710317833410559482918371307692456979522064140227958467058688577578468725289470075085185004530687570783974666384507360195357370737853567003625855820667372433386238350663573235272550298747371571049578276193935635016759283674230853838573512761288261732009487808731297810994013720875321879621767507234310420409830054307545430893475609999670530062600893958753980300478168171271950939341910683317924294515954385112109091722673218321181622795705954478225361268295095486221723123631665072572186345317410723976503826472612065862723390028195090885740960057687874591353731461515897681028944673460860109973678031561291557189237969413783512316274075169456949086805441787597920036554692634446181773732271670034442667760460949248120587970646584973528807924153156393243441257891779357259017863758256938063425044305458827958137410756022875844478109654276517670622237069724197918021522914548339562562284607838662926681060526376677358438248733782586428850121233292472070960759606827560580289356980680090424779414480522461408019298274453591426130067315399742203980804453750119539726194484844951991140281906600326280269709544871657792318799155265031123235536396866845302430159619734922623522743230536042233756064177773162385607180504055918235089414216126043893732003497532633969317683963974083408761489660534676500201801809501790152475738159051446684042332046251958596479602895315590775472041875168042210488273979524827374967425882212290841842673273540506297473956251860978458070132276611517332515928012500661030784565522793390661195546769846706931144543416538587299991177255340758362673072059819231864158196833440775617358760115854106288590251485970663025662727818819343204435440594264174728744463849708875389243654826954256770519550050304857396719259369183132249952382903951907875007477419288341283393151436054565549927400340005147528601176491368819754058351813010642819185427723979888911556544206132952148340397465595374693176797126059326227357889369439528140371554981256229183602897098844835199959092724761429273847611342739427076465965860996751230503243760925283745354475985587192797451354560409284463123838891929763872245094869466433164585861170878840725956634464887728389814480697593346348920920847479336641147691694830437595998302984485104669711676118031575670430748683191350151086626814811080662676444881876373411910463014864339513331694386486719125305119771222260512927206628882836514602219447081969546319782481806230642959193438031910707567289113034166693906837665143733400982917691778335023511377237807008013449375124805050073219738123851625063208104966695365173928688581397749077190782452979419561688697223167521045066713791920865389367499863148664101700444576299589453219559866395809179418510560086861372835205544642033275428459604284332904254398613235909889616104911040370538129550774681638755768131629919025081570271907649077578436021697722790417283215248311154673779867534863300970984071885291772936383789686704544938022017157424305990922776633024297441704500745899447515007657427829025938963776349353159478320022542432672518423005068820208254972129214056337255815811271047415701853893178293987877127982748865671504632246643855553484887868766413556127610485824205891865197234353363957236099480816817397403119030930451000439618069123447708555149247296678508952198610901655248983577004961920373861655837363132652345982453199510591605837900039799695177706979524695229836760743149900854856414332722003498903384042853124211234021004981624291858924222434957536080826030676240154695788064729619266845275111600959053785483163671245484867788201725205463985586500358235002021508516423663500787760715198561452562649515910555074772785379815406327168195111754102288929837822254533675665190251216823016918198394259899975941176958752150927946376619633608719250944468590221362185710407220499663863587129905305552702841046772620212744667454521545772370823644453357064522514975678705171948005008025678246078181854875838922588816417620490361129043128167483207669348522857760679348464586576690952066100878790643016816753391621152056810844678941591233741463682113883375773261402746246664515098921044063818083056080401370100890741719376629584442169122790893283198267723332127920076809166102683872384324544206867975603948267365820673451550426763088181585580393191617327544295576436516201516644668557593725940971151878369217329993841578827660226709252914746182341866367219311226984236086854520418831280199780334878756588271058702370961302747991323482258137696121704622742249610167337547880106340855148662286995691527162633501789803398273644877428231538148290013432567888322876071651101159587187145010578347629752887433927458182768600045277571772478802098965643852942388173879991874712975874116541332391556510890877525768628661680719210903432650301463542749204474931246520147323197577036120450117479398628215253549720267179089505195085909795621538912180564878996785730688499639032778132294015207305052020960765468832525175264101355065145029802134353365875559161683674942894412148048659982256111987972086693021284995016647952381706495642735155258468462892001418813857435106708068039340064939802782040845015597431112977796802358220439971891827408195202452301617599479708280586003288928867410624713286909469466843904201205774106699462157238511091569237592785586844939773606880019229349147175801631652547472728540411178250031540494164953211474507549665480231018551844742049336821498678673878924957514706902466239047396630200661578109357920463627713503946978434359174142643778031190219547522692089547968878254856457071355666985023275461239882302786890131757321917167849301636501389552913159011742248960737494602029485127985592450773793569081333869747037415739655825885737413490358278143407462554235516439689046077958386649966494450747565796993514935135973200133033720811662891676509869480729440329917612907230111404658911382427272632968517609428418793980260523956540664593300789657415766970867192092945253931552743735282800482345750914485335424049182058302117366937604973842272159134835520404257616992806428547140193685561411027658280857040342325875865694650092023084983082678432727748692779550406611100435976476867865384955027225588542249861365736317396148099893608474097176495471543340623707326586975276459213374297141242070511225644949907914419244483283937913804206362380029700282062393180756192264853973949330832519708731384581198570171002491365252271986840831840478469364290251112927517669939886203438789175172675722174421453857611002834874321905243332939928094883906152940641101879375394113430317191685263553167352985363986776163506611968224723486403409681038585046067296014761310740240074265340243680379210684461534197080808812207680711064389058863421578528258228774367547014083100311384298534935282493585040362345923926688311448077546710591069406547237346587789419248732364370240202401751759704682954025507967730984443179863541346459539022765743203518843111559754635233045235505529285063631152408117678464547141327981340659274673208354528227663430595305473430938175037787231764648909649104425587969404117052776629702325695246367177584587882202846053053054661817220965509818396754440119356702782721083355606446657522809805862870333075787382108211292102103896165231228487920328037665387201958205185618250144240962836609846332252841101574173614882341460287377498491498459046298890328492560839573991405910241206845576248034590472359536883927461900635300602528684434546600578574568725002887974078126995014359696494764149318504962555216944452855745294807232433027736555745610429660883569742530736111303108238000315853873628688492109174918033905482850546278641000131694719989488942095308644650267961007150484392620633117118608612081871573273455137001418676869219670488590103624233151677601727174223305049530615852479196288967594442134623565193122194284407143097895505598588624420173628260735051163846357111878468347158834906233425883436142747938295483412634174168826028887355478166532383215407683590968120548845481718926920620367096536056408987592845081574274786219413671699432294586933049535372296799780048719102034782473949179717197672625388495281730513600892270524308556487450412160335515149310396418638089265951903435019795036622993710706109803283472869345415135967181506297663744309949323695704953495914193527271514187376586945122363671079380115242166244941198004465572125975358046399910239327977083871847534799854360306617746854816743025350911414225363563383883543544686001108638480214792763158479351071062272212328900030400855510346076806651955216865671891813348506806937700390687013762540552466849767101445993496184224689804170186023510196499013377865083234368694437821639202188508599658131112658894829177348973611017473924599639788237708464359325646405544663545645062781650789100006035789584714117881140014704556579246847933898590443560951939559830484119070859683908269696463010331291954054835663347075482559716224095724560789952275137431729204329442145717570211196649273295045892435115422498928418293096801627909990143910006516066465476572330384646243951138306777012416199103093992894039811606167420760338291759306566044008716224229486412092768005484026354604602128643129686176048676854587332459049044581544689760012917675937178287781574634474974431747224571417824959332658959901232631654318097855782577535504957177981990246125777284944635352521703343393134364513830425898151477362367919941816883285991871572172287651994703142482487875964116310081912766602885664731096116466676711893676347212909630086923962342070886293386312556128734065346790974199382881663850602787328004850544918201993378711308294933902544408454452831107906717557815800938675360038603557680639810642357510997331840280685077099666201399383021570574904394911543830905615830011301410991395832903258695837676197074489191132631216409818434725600876621115969513338904625890504021039716887529763411565301637614017241741275415677573385156334096892443014061797497537174425664734934545792469679930110261943376364486675375610876916130436137483304794412259526124151489816998076810184818957800383257633878043531185697199517408404042921573207178938770895931557022742728265816149740801332063433840086890238893918333142004515961400898611215629243641694725431356170181179200559592854391833343694519194514317154135007420063905060716765819058242162028976968440905524544700128188685814354954542055668983878624483207521217410948736474109157860409910258555863940130915517560027976586538407568236397358347233648255335205247722960881930540821053281311304880926255044062395575903919443171415265275408089529865726307163407322439503799871488151262446063128138524107414359794085766578525169438992746556218058869206623250449370292128851274592702137674834292777741271892215540626833008286009017921875382948629150162454072477788669988900709805056925069858183739013507639436541872329303118365816863336447793290070785745106113991480911099712792943849391367015842418969109386238027257645216678140223613229046809772487782686418812287799343297670716387056951199018963230924589999021797571313451742593603251369020883958608546750477732292906284648172031950728149118009595051258134475715705546784844362377691481917998405290667715479291174266933488585670881394734484862143811115954754498528040574225069514647200842462447229932157922646721788145206482083027693611921738523678567409627910852342295609063266671048028819226371390907376844480931844498969929310603687009530872724102621367887069726985697340022803635047552368800495586973590390206919312830707106179135567674215877257598221912943186457454772051328945878273757752103071194255451752885836334459358005524008931209918825706554866392314480862374414595305590030658095292440426176752542067710335536849552465464357701017897964163130386749523961082890325772448991862299651984232782749959589340831031293267661027241080737954628188076342698617617033100934680083065183477132870542549962326032501161928273021299349341397996342615126485063473483275913631786824728944493214660618479650573040671874828415191474168416908972295616067007281977661083114106186927435733553564627254143794098134638322862433641334789788909126415318730406053172477381035370826694106544406226612937662336325906138381976319401303989855820948209539186024819909896648627135664987570149795340067644785868204910762709697757054915087961976919441390159412568326794263957901827825455689699680322317815897782256576138716770132148021155272767311173416531189220384514736990231647764759388060160755374833823285458259506291023936001654473539429828766820737121927529990736974408113423720201314234045052593169727755905856570031320224654790866575834512665456826305546193147547187391279239721184692177837620063262466814563224968776560280104550069682815286575425982348340092647101283284306430256976526446941350270621458319110491793194143493017703487026333460168710291836083741253275877631540223039562887768447232803021429872949464749395031464918041335142023938815248759373715928383266003540642895354169850619922353038292186104869182552690255749889319778472061991980501797226224763718144597964137138462079820908395882118704801556318520813430516852374158421747814580115630583117678770897709425691536078780911362843548240228283945658041952201303119772279659598388409363583559011857427044826650563438421625360498340854389040285430492689930661353029562440020282673436728719262079402973506179692541012917537626608253968221806216418124621731189673347430942208876706063054671699631418215590292435137843643506322620931206801431691638497810122710715021679247205626346870673908875675394424482708382508788265356558197441663577849241763188148362164412222323635499389429907840921650996112353251201103142338355065493889092759611053693980830238610371304756676260555830927849435785197856390534743267450560490940770859188651065545300819826445252817408774654789916151163487539306741930233427583650496415686353883449297026988302128385075011730722531947412188603060660866565477142449026181091509558307427608294858110352011070330305870925795123533892215724742478567167678835897376761772117513058693433553676490367437388170444054369873859392664944715350381525963250553002049067646244585226052139312196299705782550327045779804485895607020990215344669537068428452178214452386671046940810750616731747856971897942787887160528345042902212243983433906947676464131458180704818421658186036693764098943364938142679991971798152335108415706476165027604538632999522443033893844869869487964925415099694766465468976921648614239235682753185096540881335332360315018454309181158979530096088238018229548364665073083461587537390946753112554261080409659275271456272255273501217657824322012822173684540188340911256369605867417354418830302910422954093121391632516652716281214020039348524629267702533556780132121100074687510492729215067733282463405433051464110169458015239281064871651193748496284714520592286022164309227073291131485055146260876549103696897085781125139947748938328842659805612121831611530304191551869772206964070517065583074542955680205586064791985611372083202139733715897180100934195299240863180418622996944159001484453489862067964505307736118399136114400730593042057496786395373172912778358482156291480030842989176364034258219775859099886154229150648818548939194649244244270734606536628241104380687463464244524892172700800269889684009770499068790618994349059987912329939316865429778734053637410860411682122328032144301845079668191420237115246394822017709314272988455433627298647398360676197355206465441486062065827311631505717724208876556248722268292666020371485112146244149649995152029735696346895793491184861387323567372723628672295693070222728261893624209144683434264680026607719950221650936519124299129890949673488691609975570841538563266979992872310669681200387350435700139029251245561252590033221973074262855770905192682914207816015920684685189496026803241645023217978454935003686853112007439987867535318804473478513954317739606005536111440635364216181260212638657309469059325590639721949203805628767882874309190961540686915212318936278924987012453882907430838160748627389678774537823637094678891160341754045508916975405922739404926662391204064685581911120898761302214445697256862545295013041121719980910669115415746874858495998661990839837817126331068153364133204083616858950592515016827684752401634734415535782918949921385910911224831818717219486883865713040482947774244406010996901563835237827612909596748151072258291813299828742705498735967748422085620675206715994218091188510214643881536079623454150921340343006129978686825796029384976591871270680515270714186196057390318885128243387268376641020767175712661092745822335229051299485282816135925469906691601850275940168162449823038608801382424988306996391762309396134854599451780067107822551932420508739012679549784401569898875079123165277472128947915317312845796906128837001975189510916690850679856760516587307479984144568492492127979028812424100884088477837315919361320454826303567474927756541385599873032159054076295143637885222986698185149670834860527446526449817637532110292306259036863585679948914924880896041265110733890966344359338441249583269826824276010209896594546047736523987118017518651367339339449442676775423211910823094237289686802203474395932486237694374108666028201747655631949510872258892022152498032458392717242795866773783806580166137292977711844665025011525812407307096301804069407496556849930872630421830015704120137922456787319402582131094546109369974922261858374651973232203681278216797854825403853579958685209671195632358035567447058723268627928206036487179366605594411753901808983779028084344224796870885659527161278836340432760800058045094816137624175734203394779863032236738284257194060583547437838904464154065790999931856081243084635339679917228812637887991600338337885884554719823167938893362837773206411466170259542085088518051290084316307150433107539545541990796465090231644288344740687197189354667356494568123543049612988845376092977089319942146304822076602353982432157616254876128425412106161133133648822454132448975453566265349142408224913402066175007211269430612496634133218785546802945912491721746410381867136215145716495073219848969572768726883643110536044271571542891366815712744283321333976334300050812739567187482635046210393143243199754919580909613656257002432016658070951887305899197870679368295244048534202386527588450776292787146342219301500563804572513175940122856113554368542010818237158690133941061317832929792041099132745410547130717453300472338395654618716344570340185560471813815780898159470368494257868219263636344774282218605964247457947217015002581733330227320473865732153469489387723270055569460064750620414873316115686228526907416880934990174691276069271989385055648400243370326559752936860238742696015916450956508885490208984849887625009506966763593812316977903451178055406673492287980647697339913892073568086405247056322186738247850716446114309809549488092473731800719660589269647674380197026822410328865611136584927486696312680737684133674344484354915694758172853359440100633227523057839938753032550721678007959541067981610512870123532518904815935617217032398625299239141178738247850716446114309809549488092473731800719660589269647674380197026822410328865611136584927486696312680737684133674344936584927486696312680737684133674344936594753819458 9440100633227523057839938753032550721678007959541067981610512870123532518904815935617217032398625299239141178738247850716446114309809549488092473731800719660589269647674380197026822410328865611136584927486696312680737684133674344936584927486696312680737684133674344936594753819458 944010063322752305783993875303255072167800795954106798161051287012353251890481593561721703239862529923914117857155601316674495414313623225134309093811713897244019512308210327892658362850240295904940492941532776864235979783872458059395139056795560489022429600734317792826184751933955564593715046875619975797431690153572144066875808686554524850048273571308531731244135792320993581940084780355302666178999034001645004709491013833401772294629926564233454788104605647714030170786181447811161624796255323924406800969011790922851352731479550364501613013003828067884533563391135173141024267843977071244855993926430774456327190903208839351852366033052369976131317334834526825772849605743916715539515852956333008194184226563499761732066839099307221655802854054586971189012219660240669460829422781432154324365761017502059129601843671261833291453458847496239270976581693940402863874677684859859221382070348649830522504843916857753454819551137494718952124618141523990215336585113352535414111656440333991014817160305596064373428680323910031407094111326232632399839699537619227136973500148398583884971448168151714974590795901774492774451113062728420131635843764179209332924316744005546123114291616263976070663560386006560837140438303004134347463989548459451126970333775832905533641222535927524973455348333723258625709633843342035966408972856443178958761351810094275452037400888010727884818895951672312621189125001920873733861336501373434886404252252001770462072668820070446561847389682355647147107826826300452149043241055363554525591842135419686511373978866630975008142564319847403775914587895906098457426078857863202314402576460524637248392024315470427111900318904204033381700098642286434180747777779834425559893089229069745701872020468182941675249134855996061980098948447489166287604198006025970012736569393629754093208594546675623408046150135458215508632072266038934013767305762534065551698152777855992998824194642665167687761191736222702092278336052507704807075907180343633570756382836596813995390760727068181365657591986683751054611521808378119196475540967095824956017828245672736856312185020980470362464176198682717748478222463490327810885463141517371814329792883256249937115629715737390115836310870448602510300496946914258386937065120377046630824216489443358000596868730214852492879538242286100073642036496791486942425477306447281042550872919341960667052564506409608790024404064247311413566099006514678880932791384938464806546101789056276456355644526787973176600856459859045759450452936327322914034062409343851631402526002102085325002803141809837523389639583076237367334254811893427718926930339828412036495177176010034675192081583382936321282066313108914560201482252304552882944291740051438913118279809819848432290298386962825148739445820391094065328018875407720949074786117915770017190387912806376236617440144045207022924523204540576280696579308502039812183784020672025012026675295531308349435347193634177273406360262579603136511978554856693728464042046848927715778043458677610085289607369314413346487377352501592452119765975459087695020605617578193591077403625835765360080893765328137084369439022722986532221828843740013882581116297155345756740321498609755428688657987436900949705097986093770278357223388331453980493989210171433582618967400312252799730336457106160728496826402668234770455830154585574827171372435847099486137265871302549402449573855889966053537090338925114540555812456929413788827165199000437610796725728059987482047989567855938858499483469651949308978149972776347330585707179027093568227576306393049702296633955287633799130785859314207811335111432012102601987304216706260143575841179770790458083808849808816662618535883559242006305302464346289923082030708064941073041567597710077523985586867594573174476709455684268903853112849498801814477456650509614898991517629924164287800047413850804520329530539184097689946319969559127867694931959273366205430918120556692462152740786651432352659207070867879558641686045277535750207487671433377060119129403158574310767777795213590261308082898324883948320949988456830767241759299430340209439932270827548357388507419917136940049879858619423446279608414447356652037928295317016335118153029312723025435629105545863957777802211658866611269335740729443614557490563720071282544811355783402901604851760524329698135502747147052635429352648136623886958489819516790476124747446800847725887139455273671088784750842568825983963683066764766451330823429953840637149396551260259641269166395532942221627797607874955291748568842182486374632474778324492983235440257156760792867425952849433898967643436575482307575478403350369653768736549802239878011920354404912882683594195397184364725540905314210556663207320463884838276837926105500380573953794021513641366249674935373241044043486238233624920495354428579053065452772650722034659290443202201716324235831378351252109576415274124465776261675436094709743356400769041436221806829935515109138556573734119489032184562204438771527004821101276120814078245264988636103832650848085252951495226355426460671844543042653382666861006655771695171442956555905423681933938717532038641155224288474087963872655996503545316017872842995906248975694314657253297995656442753810259566672558761130308635459508684842081702309037760107313710623429337807454750823785605494798769021390566558589286009199045602603206378272907615539703831101800844901121481192777967483910272882057559782053508834615002190348376576463110568401425042106378331650979093472594994266170452072326910171868068931598950080623997586948389705241612230171728940390466998494272133929568126161004650902845621267573941439279503195865023504811047168563578354042648572127540263881287194620920381325464811617031358676710643658766055165513311331702271823215687736219584821685646528460697066190543954014065106309733365138119633316594903039216427085354228049798026714911895636425174891344121426361554780892145283670822169402598711263211438852993916963048048178929629882011238074901305294249294801611435330239008067065721378167971985686130290301299399445124984690100198919360598279169730514759434649602883328969660815056345056609378129236133490585780550945642103530907360195844637121650731982015642422013268456687741832331024731921868515643412032717030573066078517538509706917170791725285511743627871301600952208920242405030575640215372736959266799747810707279372391235577709346828475601076301279131199539176281861594303820778398243261731966313336206379349676875089524023642469231904541673862358360482837439278866547759485902892040201939593770656732119490991043352855179871403502030760557820191483882880946496482084241766992456758312262478070390557653141263260242922436203719532918554718091596443185685205788235010309107612806044570442514799758960888028125997862387743549659904929673220844972443458243503689780365184909951214229401566917453416838309035284779643067608611599763678720495505795636516693834521021205712467189023635837908339119080206899596896990188122321855252869348573651888630160452941028179736080689549524036066488944683485357371170607994305471921648759431314126975952516610252290957537550950933718544900072907676126346765291664645580371533060205534741620555668380872331011456706082197136019911669601177265351241440510936203601001758405334468987565349002447580184990285112905603628154372796762883123816577437517662456404578370496485690904281846741434107660754984114657421533437962825237739351775877039942552131816901739901861642141354392779733470876597369481710103318186376892728376366023019205919792959179148224416394031804147790028285712517764484105931564467536330924157970212626481304280838933770672398228654341731736481424562966180793136953250911287546949801550317994516691228413844646308741027987820955877346176667793320063616141299836112387852698449676224949460162224198481882844175972508965043238838826776211538694490722314080038640966747955659603365865500834501574668100371549812154559177082855269058782746268018954840985480647767322593083364643266678951981323034384780554257118933244880337102766080664261976800040145768192614123421421090837882603488039871589674691868127595035419040689672781395132198842118325610948747352764866436713359368373719071671361534428920725273057077805616065916154423589107846465547369563439707372217818591230109443692313952203010113674073457059526133029367437932120406159970890681203507862354127805416826582353742593856966435762710973540865230333395749249771995346662569428121211926674888665256315169706607240021939626684282515447561496357933365845237724099687357953227591900979741551721334845333578681422873993851902093678274021559991420456446438381600099906505371881484938160865503572270641774386629751678966655499987889572179026230908454480646518569309255696453172241089451645426796761819728832958413935133844596041672854573991415080495944661353439845014276180542209659848671099440825081513239252136069510626733736792233221425995230222936409047664596154505594842048813114413172046469267049759749059935116920439027605157446677396870803247804063437778416725021988849435409828211600072772915050759869365684722016941046189444582618551160041549451062815887248514034519005556346661524473749607661135778748374003886293884886101950281280781792745034958405752928452983890915764913247310105633314781346402650462629156753779092137247828970031963259689125133021524656120543583762268609282030777416870045904352635817494636724551789784931750675390464041603363847240546498075003930024576610714660605719495109140248232735266912214960160708972207220546288100387307622968906215262971114289273463392143785758381679957096512975121288247076229375657213489062361860141899595000293934330117463300332972907834026382527837960530000473559275468487189299720656136533751537477921962495517969220085573147944574288225924228767773212885980653704654024619938729649935943563230213110848242495018006757189398611897262182430778317833445857036118160941397634465162725658288616878213013425589073818405734222752790944015079633506963068315858425959758344133931666799730480514710420516213562175409048777330227396980656495900945695698536584320835620615934529254241892916173052220979352465712270664005413539212620953741607025988131267956667461709323717405236296319608936529844425074302280497664164038282925713716360306176259672499571761536958524866449317201096085345723423625450385444144127163847672628333308189585593647600616352498590632887445032551137768181305334664669950154774932420985686593504901062114129914177309980459978865399855599720886527297388216508774800198668603163056123011444933193578407633418331385977273234527021265265772962648846204405032377509270264409159921265248626771659965913245715413925400153811699661401449792205985286546311988145874191873375518550958118710196924176642924238937549451631594772453110198414508008761556264407882172093511259342618446830352107379400041838289360585440706517264491688578728545265072810491172241294152234684844898973496533155693932685540211665594490751531039708324623445957019685643267568038544519358687335149681959769600820125379900840010546335233641891279605446876357037106514135683715512448361849192509499414144624632178459676671911648776744489599464431583958487181884662742027844189992880327512449666964867934589413298602330348292887626063713644580737134010172699240031409996289875932823997324878713822652547419034882217749819545570796378004278014587919441189077071435801103026624542936251505434616515198607934238562390664551545908689970098727578338564769103346863889942896361916953313831063514443194692997895215042734302745054891282240465675168373840917374148437318197118822641196702951400104844973686883604892628854074537124601578468879477813170839202770185008395994013507875106453561461548450353467874901534027514090183464567541976045483308692169390248980675092299229407155069237778782666991230158990938081337285055529905993471678423507867390580365538952018111477155275161383726656687055032514568315829590653570060806572699022721433791492375242219582555155273904766415152423084130932793556194050053244414539506109491632703871530370152810088754080933294790986591783965408974119198714373411365127164382405244158428876975714977114147142795082958870299279246833213370515267564394231135026287768903446466363218444592171575879241131996329875413120183252226786967899641329341131763665388968320511916362239963736400650624218691982230644198135153219731985910156362569862181748547088883782202161710149124324921653238655769085274725478596829812494806860664444935191830374836655081755422573352685140389878650300704028993343819723019614734086482834761260730198222686144117989843675583891590084699913140541383193918165643088434978829915171742974864909638389673430651712173602754537578343113521721501826959291493227874737425724572136025662638413895262627930213000996619630032325220131382188448222153852531276767630485518700683146840399268185487653840563848319210024722319166100913439507678555138370482142849151016989753390789756323399217789038804763368137484651689226357162307184064156632492410866923967601216010814456092321337429145784488061247863773882641020861802495130573388369415850878231970981515867117095173880286795801510678804493390248068909905291953284466968288254552920787080905016614853675330813369070048013388285854616540641332025069383559631742436588406472615757600993478411408406299823664823574855435335905053612627428200187848052953044769863226366278296327416370115311182340817867398766107281273257785139211380768154189444041763294630490061864780759891264283257299873528716127741833680517563794195244023212888549117741506531116818362269895319004959229250837626080500331743338563784867495822310586318894073980761449692017917513933532988588534336449979130016571286809999515576368835796903449984723426041943185991220465827495644137636777021611431270014347716120164648321329271182571328791058413578619311893745953236310239127088901391290916652719237745868641703648012032953287516120129170609592709077735616740193911744124471246014178496797282493661458990725500824349970890968096364168915696208984519256267193430471714563044323998155688693543372623026149800352837166513591216931783823097964852220628541884734869393594384325299875376511924923350991966689310683934309929177429112608797283043316638758402370220112172394561144733654127633402705845417785774852486316499991704854769484320531209292739986610752631319764337653802952214163742360237221850677911388725805767775543742535744238997963358197140322779356139744707119461141651761515123882362790564886358947268605733447972830925709439137795165630585389041681689876925808365068825009361192610789112427098812226934685319851706637174204680963766557289364171324938644334052887352790255086899509376151204649845093084820946460641779407759272735187506149345281817675171084502365204423677681513267431932510951920058767491849302776955965409812253963577116946711260602360694394572136480764649901663784374841097357300987497338721557269597603311371288315838030624903238330486195211498262358667333635943608153309620435231806990586725316679671989775739671985056332039162769296127845043250930278493655757046636650050423538070002104337905436545267691563211623070815386679328752803991810222879667549274141381460065654850877794899447855050889491480528826587688444566272939081961440068398308052403725695064114389933181166377016307519304450021566160912397787650073874339861213776763163799499160358002942539415093611828779256489019970636115118334377322878051378170068546189397707800275450470574657440961151865016887216781580801618548641080898632223340991247492258081118532699879573620303636012024863397052946712401923986888626998354310920045622791699844169883212018095594550534885326175425495363851506311896253092176652916582431590045834969397068765865424328194564764785373552515306898910979666887810025698390687113192142541988664192866687545377244317614463541566576287140553536428785180176621964712668996243194827310093974171042590552437496873330365968721460188999669280258230500025049474319578873617743981181941294800460295054273686692310079383355277975003835915620816472862995161814151182430486495587047642038715770645275872367708081805904084235237757757540088468775611166581392511935673190940209614289011096489957150397207159050424785782964191398186464569806900388364679836798101237694632288836091585443010494261487603503799034417768599956759933050225323476525468899552580628931781172182316379508778459343728786415144638730344373009824804924955400332234343780588846442656516711172540890242516568074345760295714812822409478460558543210753456382184804837562589157517060137146819642168971776054953019924695302390199614826260170628481879635799123969700159444146867753185645831272547174394450082162982830493756959752133974391203106521261696229281178721499149753725472129306870385087565061502752264203373041216162349639788099435270804166933227218359322427911165736309254664967124992961439907500009763571020509135217210267487838180045968331069999559077825546489128367433945158247815280574610341511343563810566377035487980940326526654845824868458290675564358632459180753460775801695839975806488137704343413010596884392991793174174742867125143313255177595667391206113546736483115197935420861547222832758560401773389173211141862365202764491763082599430939167130160355550663966400637699177448238398404527277641720112291229061185595127506650649835460296102965747543759069555507510185935075883789469234080884424210404435178451018449469776602243257275763372138266732831848510419137225727990030230195198814570212171657227651891902737558032398085602854179108696330380502830582541552079221546755099881660712637966690626696222880410521943755535993478632239333088074294403163633929743184574294796453048481266724296055477893724165925475425727294818303585240798970601383390192188164731155785052643281067107830425382786255073575144178094379451520876964418039294505337106958002880600959261554240429538493922366928251865457871541550543768172161949416243980236697017645851682241848234949856122612205259406946868433558288000423604267164920519830030400639082160494841822317937800187897147326541391659694146628544607201166338527550831900032819349165007915757425415726422107319213142403345326076600054088324224303953642851701019071959689962221685724205827008044884586616008524685471176644033745417169725731664357129934938871819929175946631813286486618479719449399756737688968894218741250518128652265436890284789523945318907597818378429373869271123324522402704855011368071301499127539063765677619504082472945779516147251783340582936314389374727744967896513648114070023132746198982924674668855898433555455760427757376276091205804848027199984955395267234262697175122246216969012780081098444425535915175083609503915428095603229402450125344480013590713294374264407657156719414139579192271365410090161702991031998657052584092579984341415907909404761270738304781789551094730906625750499363514227862650746766596040918727372254779472975212156735685726097885664645754101381930184782123365156997722636151699971162308147353868744559534540138665599995625362468346296316834097975504564050102772610837878518203493705332792138943408370417286053516274318097196418515813346386178640580852899326162674792028229007798061487378774117335830276131207960256078488189046862289627843902049983703685368810277112776491648078939944439040925075904833289087283241424493352364630816798184071019847693663055389540287367449033739847490758595035606072003587845043016881102144264988472971774495941058452003823012531660787088599066303712804121528907855153422131215471139478438631378025693727576221585767928915212630006697169938472634430828463068278319532124797579764030143681437346152646919895021034218176259365978453266760250667448846712460966866173009706625245017692278852056906735900843160412459284748056689469781827677947558847010378813457163188174944289989298716727868572546655367737283112444617673040875235065054391728319619830505638090014071189077122132920908376622049304967945786678841810035863738342709135352809394255181980793497854644802496427368668433552167080896583682049543336741086899344362297041444343961098861270196212361682942389358044719702097389199208230232314642350567106499113603577319563884719181976988071005806703870572501530190615358555901464126696691923629059503854868733761219137217442714461555526745228257400058034707483503081485510715399389168383731109275020581701951231311776778518448777687268042139392860342132389958185132776669365598180645571558540380121592971267768643842853718880917909957308068010225411651642985479859780120053032532257524997410354310883801984322002357567408273306083966425559365951758305161534971344382636799028771794289082660425974949114770714229702525112586060390052960240254582624832575575756121613127958128121568538408559162780570929372466124367205888681576790769303505178957563934003111259297972535777544200569966402202138347356603769169544131890619160614468251813160176609861677232066349745604650972882659512753972733368694175508487217889388640618398460037168689685091852298344657755164156298149054346762684211445248399413123038525805184868019570889226188325223553643687364583479146903567872259825575975596021681452229949197379268978806572774996020618312361912598422999744591793191907004469955405843606932673167089261261701339842671888934212498755699024305950595367665402753307550309490689335933765557321753833566489041072878037317426730961814074515620721259831472457483012110660947978796294904381332427061165526973317981222046734271212266413819291473278943660918278788827641461469764222050291144484184413818492376352771491469069743360808145042927657615875421705249394092838637329473577842342407795488209531262353402755035057102890394313368148199515356610924477427046999116723789895516390463749839660324274199311394429039057605907415555332506554821517929225476425450871896221311351669933045431200007471829800650638738989262564890543973968667943212705493923274442799571733635910633348441851469534298128089686874083237540802626059432986205629181754412222900184021005925843557050011626334138911164722410329354306799246863155390027951392329972227662129951309940979505302073905595811915124333040407885249710925372417474301388303179701844108570451357681512915362442949250375261611011837321004651896146782697244426178043464984407081819464885701556647291249400183231574748921227215054856761733105517328675555551372752572280701584444306909116842079448527192751675238846945201405843654124419006882995745900543574308056155946524228819312720329234092490339765471465181113145925190572580493515112436689165402260062755458017611743528143148949991614671893523814433684640427672953871675260813395098759620778572778924985598283482328917720811777733834663342418849227919805296830926375673184709704872233707624758369814717742114804321363094148725478149263087466784789524555610053498907888898459211841022359782737316521280197485413419869770543953887497390145741221190480539008552547517769182706070979677126597248844196823381058259943529823826723631734242671557829646010506831004613792748906560307636325981027936611235706225460930384592230956994474648995943528035957281220735900214846748760962849701879898071617087186011317039698435437109684351766492479554420274224706377160003575229427613743288102773742437633846548182324254585865229937019088847477674002680010096731972668495586454467670798787717513539808839832073277017804624993278618880767133092543389284289547339980467826791459819674690198306839892263439290357185733095966285388450311226586325701495178443681391853583920429643375838949238481221756550210355406710582772688757513784359797904449145269179059270350881467187781681401490099155462169014256978035035958724739149761619033480456499169804389482848716057330970807205046654803487557123331222248624733016399867137951278867986438102554256042535792751624131624549552973102364591993011349614295221853169829571040685148038221398883769639075814255195711993591711187550877596254773775135923387032299401391763658037067844008595624687639951401471457224685434012807858564304393947069971219759406459214429010712931914057426533471341641286645107585645881239511401177955080732163678101603734337601573155634925565939373671656193550045881073223355930244825696996555838830534131866761689980856668282771323568706812262548462982103131760771801239058725534724204741520016176660218058824619496648746064563878996315071244291538840423245075603214047762425803652609205191482910102715774592414262871044559729269995650112860668854627487571876650669697796028230413811084693087871684835790925462780349442642545861204599719960800316630347958992894563255312542534431739985369459805836028674518508105331304764752853762874570977776754130771424300232534740409303069421829116816439039165574700321658811000624207185247579746980527651709727451530250946186599372850401168149577814259636124014780968378688851125147127622317915331487044871205793776550304016642970150767388550477383288817873121246007452761235417666576881701011494289925734910123564667639625806511271339649842282450273056693708923735816460953561164343750565029963151679745340938235328999702562718021656243625511798697216249832309565871968296025466806500004671622240239665382418550573065814460635905595549641982011396965284439301573931052062830891492180634287155353700590035047086460963541097884106096566034365354449061700707899583180561453390650477052743156641760972151791948928336481286604608353071881948053442177304236040841191576164461309136759315286399233963870540720547988479579886169962180644201535353179004476525582272767064593635057287804275734855898768296689233572428808680624632489791895841694457900295928632288829382800916032460635320238223124737736787406179409010413815330576102830088488649415922557543809460630258626769891731846156393679957705382514934153048349312243480633331688402699767024473274906189736334543327828082077440266709778178207831208572634456094708554852142658489101849573503186642174822985673406328525642088746642534053395045023102754493429019160008441503984952021532560016392766936647780958412656042906452568061709558520418712814813474344515393746475496344220538926109954944289146367538957876055842484190258311817288502158858378806898930594521539281374654088777536100423510149310846076543290946086796910018840384162250090888837411244830646123775233176545420148684333531525807526673468582177646255479877158003780737152412484086925690704928900666781140279791636537433395145161411107226456176282259912478849099284872988870529808306524599355173740824113367757972723356826803378116357549983476669908238378145543916215512856385576818804480343213210293942162408135480262308822241912311925661205255016134989977537211303331839809636216624718633004541360033833053057938607902112932032887174995145272045062395800542689317348183540808487347093887388619010213621756502595911351442127021011648093093037494167291593624568786003466022400339535225142449151606042997647942423498377961134986659102717829299312465284256303982440607897986973420603951700753187578630616126471450010032081159416960435788247184765644413513385091862089785746218053947270574914758885846342665182414683879858080482488208055020192887763490205355158562400189346433242686366341174030312234237172519433745140146909287147290589015061523895622846152031461702617566758586209515477682835625450643162643745807607141785780027587608048332596758878853180959596581481600806521298179195843985925295184458469272466477076091516851746385647187622149193215623010127131052844507481070026502446417858724356779922130399652183827914184826528162510461472116304790782242023484217623506439141529823005543625701476369958878450144051305748180118673087237596524652046435093431303966655856293925156810381694666620313639439917344896713982981562741198826272351095251221821704750686253399267537797846680999542042149911343540701022056926819994042516658933928498565667347332579493437311852048961480398907491103503139468334077786693687354754911077611269470298782112564765681491566691909552936732055957727929512982090715157730091788477963374300214580360314477890620077155490476480542427051316776689353266943735909722400831594023758388314763542140440860421299577016536729659902048363057779854577067028190587186483061382527527860075879070243587438121184097439290836223989125389316731842659559659548495881455735273119107469179828345743767858841443980936994532326065725996975882421929358791454369349104390422637817675573224987314756957013416041498872979606838574148390973894482340813010956583016594628071917844798263328455536359745121872603325357817924068700106861650620278236810634292874145081373060954890892474450662277330838526810902090813243131511849533596968989039103170864371432842682490648126662406926704213367160470574265531382424342208560979350065014126838867933302418654622307472025320717893805031719917873491122677621899708478236081116007980195606821356266409245951405941919888659605278045961898798897812460445075204391195108742576253503374285344359966802548772112938561910122074296511208884295468554439251909040934596997623225136684493959391431058220054977616511932363355784477387007275167088770183360897310533306167400940748760848572870502540396522062498438780791421232920380618831048172321093001720191485125537211230915157190161271374065368354640345909017516919077376312212625722658664549644959123749618371939551519665045731490348698140453817457369758982275113774563078672356216976682523924529815904675621852858455891453014822265840535952639098539371766197101587838732782383755847244288253637262108186657407440201307721398294034324598455034889846916089350460604602972075243052225050884840981344559999075868131547522204656145766233140452632696535279292379792937392919037486967196463071806072478474739655051709747509660626023429037646844450582247222021323863885571451323474982034996604066211777772978606443414673662111064805331614307054651648294660337643562092912703240902104351027595403970654729979272108961839673150847030362204984020805668699225246595358373749601331417900353700524645605869477674688973094413691010744202027223857514205225470819089634991421944317404112374851728895430801845740910319994611280556433442262289579340517365029531336028314329702493656220118807383796596866938563040365542449375719742102493740570193694513848256986001953215162568971401835116525496006360110312028199534967046160974620829177365729978564571306965165001622777885273834072598355967397082404631525917673804229743178528315649444954503695640110936985581798511502721191591763800482965813078985947039731206537802032276034416297329698012059066824690143029493995250158989047710508025383515715842805178152642640065745840279170365562834115519991778849951688578980881405096867648256081575871689213785261434824019867008595949183437996872749380392439900124089292676454523422192207578413785334248788335354749324685978019743073891678142961050444496628579719868493170449749155067552127911161583805706968196572594815298667213335258086767899959649515960610988893062288696613263121755757586483262796857114153350264721407950235985958527648203136398655628137447612938148477402022504450859121825095624779073889654945265020370785100531156965622029849937475086136190439762995990313119008043197524580940000914558217454526625805274039981316932570018276842172231805140682005023092966177270185446003704330143234525164686645610521720692906036720273335396157708284888237288135889404534490226994538768784657248578192875582017026334879541782535545557549068250069979739505950461342053430926981905725531230338713302912850319228135696396012838534552115943569140977460158198777412381988958667271114272958310827089863920462180345379455624339718562497127140957925961923078188404535552979777422106889367338855485881072236768784859382251540354409948225290592834847801360135009151581145329214423539629875548306801558853165966563394478186222393658069731261285120024220474114337596177699106333914637580520358154703062295277217035148212385304932657058446113196562254523852860644493309181674712723697272029500262669493867606739072357441326860714781306327962522521358345146175319707352809011354314677739453471024006089517815558307572118215079950055883774454731926129253830499817430402307022389098160761531109928886528725602179498866339642061820921316043176801177815429663673507872419183405805978019413641380162857929818320868424446974760959467546593513927192027086066670096446912642578969760050375281909661537566185545806264352294921657908349843792574319715877064686820018182320486899825645633405013849665576402970834480618786696893121635133966878313623511774979419930548228986619040064715435959579227544277779439667263372974662779775357319608434724918119021011929439259038026026484174844478200516856843034661441250061225441185536036696829948065721395351334078869245327059129149828017411210718841342687878882980021071193184154769063232133035664704280199834162572610516704131168493867700277509498844108513693169564448607593170835467673690177738942973154551145922770111036084305577182412122340329282298744398644640191956092300014394993453060442579969384917723978161494511312042048686379167525306349006652395804402898435392555784845807220033202925034659744813261401733733484152208726498583672364880564331283046930530487353905968489776941066248996816465510182556276908923306543747477325157482346420761826937202001112884908374084156663787904917715791626174472533569211027963136363961933383031690960585634786515836410409521854218925393845365190009456821882351219678534912907472733457619087952770071453429642885777891979700517737331894256474677870595141670950151254363254585850590927777223574413690610705925417965794073644894013368462125974037769436292671078648069165694144947649627554797526997506112392906590555602998061827757923211986904515905942490767601449443302144753811078861683941736268247379536204857866736619434018375399507887357076956973633489060966234152033032736644168409155972675060681869195428972955496780074208880873199984229331801642263918301140795970491267195672661938762353423067783745037399215560497316196545379184136237601366609873437405615646163459852384782852331973079137019825090585326929428640128896615562366533668086796762690219338587009470620408502701789450516817868277031934278430701645193131391148579096169684416066209283732083338786764148839135298925848184530866997588412889658670242875568773123590034961649957608292377522689365557076354134082655772488902435754853975257909113420179830261153474517489394228238827710449742344359228203662147297399136740367101215970943082487534476980106697699031419407850208010006384516220354274895328569552580166987140127909455465844685317297663885922327228023922957255162170439537798680918870851195550148345006535420589588172819071594632777061363476090473165184177320017762749668619298300484784222251662526812410603171436519456728348892810958904469510765410361898853483266943402184793134763806133555152023602176365618271131545325315248318501600255035300235099811874568401397841324504129248995106356188398860593998518606626698374306821560893536408037221056922170621065402903346895715239006679969843981971994494884736379926562713791440855451262773768033692487909647451106309430481047440825975290276493019099618286720668008381247708280425348545154944826733517709915865139720744453559629062029789651482279964382284624100494925380966317158494746496877324294171486011775792546480922293925634847344849734476876789725518676844578041930104358838478744984719157546612527742106519834036887682177098564798974966413485451549448267335177099158651397207444535596290620297896514822799643822846241004949253809663171584947464968773242941721004949253809663171584947464968773242941721484801 3925634847344849734476876789725518676844578041930104358838478744984719157546612527742106519834036887682177098564798974966413485451549448267335177099158651397207444535596290620297896514822799643822846241004949253809663171584947464968773242941721004949253809663171584947464968773242941721484801 392563484734484973447687678972551867684457804193010435883847874498471915754661252774210651983403688768217709856479897496641796375853276088948339937898038693590500388591500418224769262139163222115117073297407572999505921614195341795453956482580695755819141010547408583669763889748544356703808877762253423725236685862528686070111207376644417703475923902205402921183363592076828746819163573443621225846855184911737828149893317329432868786673412770941950614067843095596346611830093772355931550084081882042990111253625495158658798777933201606023025399639582088857852464068389306031488155118818510633928013806882947755338685768700628738187175509620230167890829577299370394812355322511773065141377479705343893796451947762336804445661037728242377464065317471912285508752570124855530349584254775511192310417412608960417645304738448618495987688244554949742237079627425226137859561508152707173552251406092471466287707657592328000063623661781851820146612996897320450670193879122339028019679284857642151753605032428049537412601702757403030534227164186394957860000645995239276691728895103478325073178136744237372764385742521775361860499615778451640562125120075711268692543912705480417413062908526548019648798111143734157554754999170822366196507152797220508969852051364905355472784482972071078145745145684608611157295659631757938864748424633163765649448116161921604628737029040409753672886130662513809093509849143091520136859403499036297931364403312590118696488012087866614120892897810507017559263159328947593335355585396153573748647327788469290051483756269645692713830108719298422825611441326287969308554351482195929480670805922268245906695987049805652022632188600045813384821338380107140119370503199986558912494606613140897994650450291669772328830601951849785565324355223479476176792576544582052660516799447607227055026040253806930549886106509217465565888873017888384128959995965915932279304573808414378982357797812216639154001074121336095716896366700574845895205479261619617366617966892473003181633077684291239817740029380690464820050593056721097047072358576276559715286685740580991153560586905724472242083498594270765145780433987934167957681379636208339039508329344955805953637604854622311362516792364381354247748419480435893321459881942136057929416741226159998361085501672440264935290269294762413425825638723031974350786160646176951012185410632203081716611241488676440338872975765844395220221961007374345414850891687133744267835952705613152125262073869332183059356589306210304929209535538145495116012146419843979390371896439869348784158909220909390704275782190593570943076723702438900534531209670035089619222429881608768643298293971488249604124465132808211248922418833144474926880363423918296667166282241567818396752437966596745811699149281369014502279780135976931386539455472068457777174591385361784792669537103695089637722790612812365479157088869076676890819374934061036841067386005411002627870087470594710658645143919698055970695055650501512339366658905717331336447642130706567573199190393881189382530752108828595161475068094688392457400111354702747869821686212743214976651883003196033345622355344214173681170059576634936762232906918488032373451924349124656653297182384173969198658713331341207105170736834172412344723718672494151084270496155495037955015287382248605384606767203928758686262616984382280560158757866830925122304015998975384892283600959807521594902580747171577353748066900500153498535903697672297104371592109846939120490542624633960855082491823286584393402629382685637152596238947447178336999661802011547882499133236522159566534048570112325827708188621501307157793460027439516892752435518239624083915012347392466865100222767351541533981744380629368188431870219539467457880683873304502669934820474093085095294008870695181863254835482496626070665024995646819410647040712273110042154418554912316340734019618090749872367033899749934392439916588065128366790564169573652160502822448852175736113317429473563577483084783309849295743057306045041284029711489736552333702529333285934154488313740058107262424647751553561189773427429425968401940681333381416107490916404430780527772977009382768736682692808362834677259100328412812893578761188653303799439157109917313087684148298147316743892415070812333046638666526885171522877349580865070902110271308011488070525108616418161525567481710478621940010561280013464710004896008161813633986131437595378357344634700973802239706673331788471217421662379783395050849458405648043005911201841730050224196298113764325550862599366729792121239683362625433079201974575553798577860333993611397314797358588046748266319055503171475107408265754553845260052439117163947985454385464047744527444232082011580589401104109453833092047559831301278034058767338113451784704239620884935829339947629489274926307615195947580863523050039063526975508973719632143202797580886958529773162198359442566894666349865566418285278405307103946038370553195307057814332061654837208763730542151049819639823162239461555401624481922748898899154818161610141291114223327424807105120278497238490440264296807698034403160101365988085642296075406956955713350800535659518884145626531983654599814935470353339657880494761273209004855311359086974714535368901571896984157754811777941076041901914565272888404051882795084900826453601324291522888893797519995599859682889360891127109103099730675706218659729673463984306192842955042921054669160915418280351783236841552181865567963407111243064385515415624897517639771881262098408736098299238363730302750594187706262635737848136886836829333969889277444686969662949968966027691600369860596890471841716000197184123626519979301278741913927227986980227245952294015243220840481753981240082576371360670303344776541140427436996205412514504827002105151741189088254926097747214620553667790075520087998923234653592526127377276954567121544499950148452685432597408757444502355950317588809467867062427950496812231738195319346995561510042092153608326032153069185727225992986003953925473431806464770644415440963085983320989428117389795068274955248706628273280536479247410723546119459442653797874986979596432214495014352061663273608338778957462690088960941621373442638200267657533910341892476105635988817008353964495585219224076981305252173195013237419645342897616581354073313026303028547802248519255207832323745483267963289071256274752461229292964140942485029059474155759927512425085069966347353764294073839182074190916254160972844591625614472721705908293857676713045438433599082616086284671963287516028608040353472085362193749494136655199150853689237351274850742948144519654169382291793153091803782047287223894558772648584565835836888354176105647212556438640151856876957798827517422243471111552623436972117076334504665327247663342378211958791176157833972287470845127988659924518327916414459828021443727018946266803579233337517480641049931852188455068211836085689756325118138750460942419557443263971984310789277524723566722883955273552360662259878859853963287728445468369492367606484412273536829219132455470407442166682067461265670796430120055351599047417085461637336202703865952273806423126218740626890903998167108615021958265006449778173573185052157715160847631314297100682482491391624928925561263847673862182333452283028570138155437476505784656905883948253134199813962957362501919857105808466792364911059290880550683382177183709440626999382691970682447053200579454083518610036611615609450824239865041998731623838357466645452188735902612193453160485833921266637725062085190546236237337328114258166438424988979859667954175920036913004537037196275360687183013764812127410561482448795986351085005487349029844775297575349396655307150551544103909386537416665215918335499738256689326452686208235962140239634097122426826870025339558269322438059983242690845304781419914989311071015716947495557635219458745768629630183899058242012787867557969347231850307446106034839145987949779487113913546290254862822249743894474386826616436068318124885987232687910766162305380086029215833814432845322407462355418799888174723812853596838289500620225246463573161082663603643148563553160504991541441308872154144331745253732106513961197330694878139130968733186136669619394025720049930809999534821942765587811323521877812457183423976468069730697934060813830189077853792276215484664088231264298164212394174569713566615398255554352949817223901452223591925741943146421826647768886677250217123294152289784461629105662854200714538834167814891345667445069291290631913561846915331585581350764875413218594557457701564866526167466208580107002355681687581059596769989019854727064175312884874941390708664208080627694450131967019703355181004171924251364427448521978153703577709617978036554715010064181805027540735836312100758486904203604530637430343887615238289835573728526027901096581135839900820251064150068488603778514517039936269383226188823018995912710008790754166287483223944522850239184867913815692056863543217041633586370353243530386031382451788944252008048530148042326400652099629600966417769376130820806870201308834720999916645580574702972650642485903100718469895310690174322837847571536750984970434834820599312232247519854853545545198084228145074641693251741711660329326677622781908348972275100308089752520503024664935126461278489087411830385877998569663906345052002212393452668657992044238614847572428901051143288838145837001486782283330164072761140369413621157371699856058417354456080336888906925243533810539715931504525920940128868267619578511313238397636156621285764826409723566892206504594883179858641010564381869889428992763148161311411978394851438964020161614470282221756482734200646153016170156730451861843770521270625734225871506289598548861762052296168865652158377842471494798664877070673248179908424974414130307727812217275703938985310766265694827619763328744659604559350180212323136168294691051653679961314965618814230797900281970207530720413774496674530625110784565792463800382738568602245895406143936149940484842869698064832621084643807433365583986880899884715142957010145120549668428966748661018668765129731396283214410268341658603599114389318076256443446092747502825373247224396358231441866189835337323691680869502922048143623720481234723921748226842910666117849435316725923850410537793110490815729580082189041099653740522940462019848205947195654684300768220373283990614679207880313062108074288782674565222795103975301854924501080667143565220340985209717127515883904861311294666733964099243492647162312234605681600440545721462865662561689286997468382163390433176286370809582850819096974176212074055085110018153302081718136717685434872720891726067431810386875499096428742804106528574447831399487497892443435373201883750977953460440052811978526927544248963257416298794288255060763951651083871176646737663875269750883793989032883574021122956354320874374141624949105157682271174177119322329453919740921365908600004762024328188811611636449287155599082998145435840371709565305275679006103858220050257742242925697737322966093854673369294496815432605685823408507390915045923150813226767810636325059586274551489228285654069452221056355802862241676405576952603221833562396373988080142461187550546095550941227200200166732907897800070963848283124462955965450221207433264365718697134514468968889229510802001625680799512184131609833097021782768602448714433613144592320601473497481486913207742459736433949200730885748206722411847926824053304598692754589707213154584154047723222208392080363241272176311628918816433940368693171355826800063517320974505243783052633429820515857292937290651440822520931400383344286009437177696508292941118971208737078409355275475946676077007395829963258388610673745079261804330672514053521161337678960365385798503221845083723457258939744824492032873386027992042012799506284586176929349347486450464919686353383914495693293534991399224536641881006310307109505687734454230964589543614186308762414944474198666983477134053009577978720792914623896263908846392996906393101638336383213195393793042804984875962794959779336483584800378416101863317414981336434273879803025779702183088650364181062215710292820215871814456266435519128923907464494910427359692766523114695665844581811447637737523501285931265925760750556501984335677543209175069011358786716195493655202913909437717332015580807227333191001779316519681542280883705765075988375970217541177380871379853389628968302629816280553011075577589785348238548129828105014962885887182322180488826018274616448790291728418400029367469706652600862828438830881335633580243510577635285933515444380101024499421747818965531884708737815522364407145428295483213118953754081821607486597977762279102308233648436172336602917193399261678828689800578911911569612861137304042229962444456452288117974715366357914615049438121796999117195533929154679858885690828191103147183811299678656514530596798131908004221827090056930448074830083456425150236093637525563831935174270343629268402347764138990390433623518513502639300959664448987760417437860381723420607907143711944475395228435516778885709093405909842628007555002487258306505575112593538963151718260658460012893268297421617913081168782127210392175796983370070556004792659974323649525447559862348447404096171475662882753250917375915460325080960114432704119873159696800796893604075977501803740941714699818850466289826305034062817302823197991255309183628077992511330655577725895805497219375476854503466072184115570530967474247232869920729495417686489051896687507736218429791511575851590669815433469973569518765532300615728199574087984332687865483877037048388679696344710448810366625529586283434384804626781221476425166019764227020362945087987909230689977626220233634117711820153990501730714939961155484037152282685779983851093840045282636757612605639843913529408739455742776484992414146858242913857917756232954020168247866760021021513826664110130042178006234432179195236861776961388050065925090702529001557499487526013723194269628376917390123280026029927806831063027349010110031406707790045792769827931368494516308950918290483029650019089283364988372143961807932087423287680686490992044495073598605289572116995190404083389840835633066438541288900714754386656707085018469537900325716436271571357347225105929586511098406845689715658254557256333555945765777476180201568378523640314978538098315662531858094257851058139046154652480727198329095772958055300883576439354657145791359276746643254483845455827309139861671777995943499455031747714365979668345645423457823495302203379392308962273442866717466798655682537325145377430092237212027531693856659776107823598018863075075604083677127418714589669834570275384870360304258428021277883107135113277277749920464830373404864279022583676007739008365615912219662842690363666029854323536317994514703396394961386871671776305654609188565518443445168903346245846829124143175358657498912475955608960402921553939774464288772795162230612464779308826542357480107178091527740165487104682655357030989813108310430948667539415116316766582814037008668655476438339770427571250447492214229690806227876085444048588139957127475613019026375150738783118851441005371031418316347433675117492320531768258391503423545058602263058687027792432296916175459534404574473997117121192077899158121806247094415506947273514012345502046290677833781762141918901469088070798181006734859396797266934876965238322019108208731369657998137760621433456083913079919949161884261517662011516330133652402686506039217254034345528675180825801046290582083646811073518337297519614561225253713567711887842519940235439622424775173733453533891507262882321321961008440631515479985995215888847115997837510010625972439544429056478372428271127688613087297176674503877844706050498179263263011217932857796302134172905845069384231278574470982819903689333323225245658784864990971750320221672852149988277546583065590159584351618555205489782673613579627957493305220111916108420802369961389004399328350663451816407683899879224132306415886725004798621914872760913836555345671757845474556760412913322446095514831253536112871452107430436355478982136977200927930137261704890828039390999835574082898005613032632804878407025880190853877303188187127307461366420509108749612419017691344997077457528363397832315611035648212470903595368161039384137568833771578279382941354623916270576056022717798353211081825134419902677286104968703506073372089355308640081426599165087223597269462486048366658911303958507510474494726993926452646055226651892497645308072131093520962315760848831138260364791668246800841422358877741046115569322707887932687436128379575768538184074677820984677627367244691118916546554304847971042152397792892067638966358963835664180589442147453962262317532655797252681466311769780129937110982453405229270933003996295137144383195135057317880566639610421225778725280132528384833082997288182507498851831471768420564258524847512955453433867631293546440777340500072199683801405226959470919911895518840537007723165819521053047311491449137585879146562388719464798452652848026896471317271515010401260230712122287922468881136328743346672378205581117942027216479225653704224487763296970129276913150042520225981080099979885590235689043290231478538738724020947448385394177836794323325613093817720501734309796245324951033905554193731155678109600573604690408793506212987488240528497439396469465846777436237028014143003044016617901165797602697905113693090919413004043992505664956242468380203405089480290002637622005786405521562274015538802800346895591754312762186131476052556899895094989323834728790825399842346397579120047011707656479780085662647461192149320181526856763348584378214733117677538206424894580965820041347269571623703837207793565976200522780225182252963200325369276531984459658381037550792834252785825917456435006260843441631129701955375474851856666610908213017688979176081186745294529881571076612860214031901965386239562915131391540587849663072019421858020705480546447754769556787208960159717907361724140611419772765025290138599281353137970925603612068498388821519225181321799809333597821317510704838060219422357710899459174705182470860381957578800281615561611665853316284726372858902442337220872462933270283531749284100443472630417990086941692873722278380802882663780139205329286772928042365659125645148945492893200840060968418317839059349023762050002243391242619182832918010847706957415586736411928012834964582068331157546262339166418139061988522457343683067739836101046423164641331355323522737526644533820300409551032192889761040287882571654340181783887410155412948949210975077746095597715247869128811244829284257197468820488565490956157685128610593526780265614393833585921788673566005965300985365462064254346379106298885738983183543696792192647757803797609915199776315697301911388169677703831361743164453785457007319360521970015173541007668696013054372758816070499877893650174222466174381932691928624293010619842541634604853306131224444100538119042170529502102039492849932802291875208800031824083379536386422378318266935454676378570360640399221330699778381591952595555888781915527331155001317087949016677272842630344949747135658767281439426549205263006190800059109449562185452175790848418298466938419495588120747001060376835634410332054500161516572407201252986049588947079721834259701643847598486582809808690549036772614620215398636294163771793047627218313659680968500291803114107970431138118641849141586975849866022454649276513102872758629386704002130005951781635864407787481178065225685065307135073424589446026834620834580313392145354223387544486303860708727850277777750867762992022240271074324591340040289287209026586544735621084252719222866313141801122028687658119592727128351324215088164501912089966902197373677201815546709893992735421991162731652624506949920028485236634716192101353179446018193273960721248873981575039346181702082230279563933543167655527885029351632734594726579510401149973448237742065875730346360250516156139272689820660483210855423220840720240030913751582541746042105745596153391984589002739715743753802242641556777875930793480424536014455008046344124054408972659399663300799797259212922310941947078384204183075966255394324456096358954142256613673796928542371376474952633755697716260219922673491394272360917846761965872057597033676399659157563639934250587889437668301428916417573850338881007860021862503880088175428204767842725956719604840605712100796561649269169969392085577449942497756211414133332432379515093640966413408084475286141579712425085059258050810646205124572216884820197934411532299155248204859897513010075598847969586764952488027942323124198073887359066664964915113962924488710570456434199781743710931692166476206909405665634791222087667353162014395794445762166386846601655005339479315808774710764764454783961099927234890028514579797443446604405111760455861770084338760531480088536735702115650361045487992840375321759148201882993997086526906455381591739541840830826296942142296036192656880385459991453155319530519391834550185884549349557882374650985608212984240079518041763726731295371159953298713794809681866455468851443625835036662440852558593062441470020188212204642192591723459339896192579016317752923865551976562492371628465685389344727069088244110281325841910775755054815966754311956994397841516332406889407043926608112156186190253032207139064676977326836815066112376928002489683557571372311288425827689287823109567811899669697740948934872414661497397279494126610763694029582362830348242237176331997184323999039812849393985868272446460540716992594084518183571889109435126417684691477909225283783753239560194745349090551016423380781159966344826207141587238135420324049317575753370793509694613482852746513771468342056262363219717296199917086663830438150499887260671726765724838996673949347818640599731199005296600353299413932648526328093008221083677050197128707669900247813008513052729668440606101643782307191363070494220493834196009535099939871351587925219739428061513565643134081615688849017478248578366068004039267599629086309379031115067276719418768824628307518879506897390548979889399988362663176223805421655009734384360758921424204680681022487307387780947877235273901645574306789841755860978059801159655866608180878353193002712597379133589578973340087634431188614869768378811215108771266775723101833251113919851666507968096448532556638417583116694938859216141667456755553823786044244557126333966772146224467415869012956205456527681047363682609789864963005682790737691986315601291614256930647810069891970202265386741626030496339971273667679574289555663140148811846154458200759316788356682670899194556985802409067765427444507985684535490547587810827427720219796600382020997865951969944929335431694916491705544129448209296760925147990322588900495395499572299301806217926211240711016220957855270488860538192842360852957014065767422134831332602634217705437309535701089078073022135498263628528878265586915685634662594731325851956591384689244624458344022770496706653499387235475209097706488170900011063912557187406824704713672257092171222867211191725322046914596922156122975243745550688205617369549406662733252604137044629086544615104425600763291794861451069225887944374815778912508859111341722330315674973819208639722065135201582800869824687653737532334466697837732810111452619599588666501082168815975949566602903527583321493728643587459967647652582086055524473391211712979767298140379890972865069764920322099279240402066292979560833334837097343711038313640741164847600506985201567447227783589996084255788427247353061170516020218645681801484237712858766165911990118688140951609402458068261990511296112127545741192753463822939947534991074859561410795940104716129658891591656799255444422507796929870576970584791430401182545453561117242733713999994326721277193231933913000689026267852300420447759813672847437901286717096517647825594600907601267703866659554509740468485891271332399097293379835865350809726709485316164545307908715735299550751692425027520125482063398833903447828489486253263843703940445054343631202404956819485038629028569337191554779296289884532505765976820764344629468981452443342055804499465858237505365957053622440381842993593544150681350709205774449799905166769053802096217663656068357815873203792310267605286259507765452905795272104204138524615686057656282187475538902520578508007406933729429877374630579256993775040268566158661680407615422161938897946385363383112595824418797097195495224074795953951942297685825139007695483654789933863568806182905679340765197580246742179102503322169643776004412820779904903233081231761123799725721469283312184717521295801191664227393514437669837519984530645787366407773806996529187031231945950041645141202258269724698146148818462890498727283619238127204197791615571313447996875757033935401932546128936025654403122892178220340954344388369354604089544580247901808476297034197962302160294516112476916501860059811641727438266730728952978409244016569577657255557295761302425335479095067619819197014241516659357446039596736185325510610079244346653294418180701214764603012486296399753334724745983433900868516046724022521613626334375200406632342549930842141858826098209436157432408456471082544310188309077262585702511210465516446200720391537464739321529206337979709851707477303806053628389815119695460644201711392956688531188328062643343170171702051702648528131841251634392473071713355495060515867136110105805046978358806115072292612757693952140803029828397043141726570913295082911253431769430807546865513292224276499041740474813410763681949573977464379686518304446566839831848419482441760598638213837823531373045228594983101017622494394053901864942713232427248943202272085052667040161106549298027268862995032014078355006817832661244294733793470870403693394744488364014630143076654888691999519065406311664767819404973010037519857054167252764702308591992273998423414933499839097864034390769224272933766892660493494416947156971554705990421742192588257534259299956598642676845141061238468788065445791771750402776282360633007943758407436694813190183015709126766620798933170017202053954906864094514977409774109437345210942859684717270234064506710071428745863558686782369963390799448807437608835336820312113732445157104041864292587944963777514577235117586608817493878267538776413037795190605040647630268064742690687941447448269351953938097017849673194645289143892223863280101218343141180980750479702438991935727257052706054704728147464744620822245407471416940652069695167600105591770136489713227842017003356643205551146221793313232221711932737347771577886583769699079117113172835374019357198631824447047615448184577025234412484550968128116664970906043227471833668098116783651570046801876817095688932418440736231060256627475747969763747209063548402949173472748730812019505270963758360746254547935295423417127268198133990264190257633736116569738550874413024110469983643222100126772868218094989076236868926338441751885626283212965994121375179698905209247519987894668451205783735845043148908445688161384015880396987292009854086296947132259863231317127321942891413549432335912293724230966015461649969855796276327555457798445440322304090493465934666330885736959602328575018026850212000712714207655565772640798302072919480651293602177611360939113593935308121773628431894417396213554536050024613878796067604080531693002509344182571342161361444011915228953065300777905397200339662894179465964177798355925342228777465640003439352647735178351593305571994715981212503801755954757774595152071390843361001153790490150789070567088184457411450883051229970020996961130971218937285330835942880990492700746796012809697182928394128198960521323361070521443176014995019958953589718336907828313863423685795679656341929304976981520997452887831214597368460756747663606003968791743542138503489532629582054474876924133036611832868911277831754602912791295567600741873322554290824475967304300804589663453378198753699486335053772244515901054165665887069898901375388802432758515141185845435365298749157271886535640826832722511014700909898627167722415287768986226770369839699597828165579408882537183764537402218188411874481338287947196445493757002072346962533601592218202808179726049128292420726712980024237600224648500879889885723158842214694614749102789155465212305942486102726047126981324149381499017673574896094118268050477173013164589468234540907505186166101541070179554175975982804229386271555107777996745912246616384747714601117896485867721918610441753073190603997309812718219106724424419481471152783430392065368122142465502269302065675881276475434385573474263281549277056266006654671184876520726733565473166966217706983364583582683020776633777864748958731255219478599052629324698436382468573872328427778983992573759790403828529778739768466380962417547759148309642991552814516580372824423195752092772658269323059752461245056435575591405340142976750824433474662439858343761487938996414440251411300246886937195215783044869344384073455908669094644813823535320421925347916889980143917862323760175521459465427445917974760636166524018620618884755864873805830893796002947147554901679495904281561842872515852939829836320669197995673894788001995879803482831259925329759910502073507362660254243105132862940349554176399109476329448542904448102689152595895214573201226639910332168000686350486200735703485896106179027766071816770681793663180453823791912595619843885760951802894321579652120565761109398991549688403137754939354085695344990800901270384017262618018204667379599468295436971942325792206474709758952510700203774171942638934649675715427250404693871883572775634448769445950849863887761683550588497002868572692805421291795858131914228380387137282755286830645433314868809215169723787601375527981104596698829177796241097070913703788393045064501245988678589578863709104821652981152058332278081779915608263843346554197603150488841919860848406264900399587816932942706196229745312713653269444151463625697342752416087344026979787900214636269626201203775338836775496915720824154639242413505757494323179537955463238524199308940605113410985187805588409273559116716167018711815535058236609856919392270006468228835899448657522671480046316567521942019661830703452163928231825112778342832895414247217260081014787580302122947515344037127233216708657243418108047795784144265189977886011402027123294823762338268920964111163011032217548508094335350434077628341593003000533913418044642352624003807395109513701115850953473248223743803508935289352165877809760032571212835419531225508204126987603541890077136511086047181941080884311107425363917138988135975319323346515798647750468457586989391963118824114415430357040008264012677795384110666509640790498752217172264156490434959626706563289904578376011368513262468346021348455756462607773521883602166221683273267524660090778680934843387919815646612082484867805064429695846021029304537246334876025996224270099370735871074599684633237610502937874080790673626883143222400263425418349464974943378764251078629404943559708895096801337624024819095581134913297913613799767020614698043501490706733150637876240206623907027183279048028514829560611547406959972561949296683021021193050250622682638808965406298455619793389128419758811358200725743561685767723665936577518536374076870100824867273258270559473587594991527183547659915630391378571672985440402751717388265873849917746309881277693341113336407022766678610507168850450924177681798125076910950909144115833703031224085067230545812454372712593920137937129895049768896410465834850748194540118577023591724690129665114821500743422992828122279978737566992007129628455472834859249657682030788467950647021947309801494977443099497791041466285009066700904219602986633110301100111327823018058898455589663934608753728519074360022842303896215171619564180656270009999560134896928557393262657251636400204079984714123360388867468340872957614697626597150757397051452167403880838542015319849409356208349418084482165184390718645485793541198865262240327191774938527578225038226935970540054945456324866881669370213670549848865275526796375925429531152739433899621680155290688351370329024845825815071276360054835685965429410651704196303896699098713022758534590416511750974861330271136043531703717184168098731418195850315648707721494788546280039262775184566504309126034142218423042101331402856915028903541775090965422814083329824732595632824701886813189069773412240098245720477810212442578679419621797082454947151657388079121305594255798293659101859295214588919897364105748908948877461306386842597756423252686346343967798383912119284815590463257268442980690380184893738786626776014667556930214317529099268057699957897317628916600923519338328859418224344448373374585706226750497682736139292125659038855909391789629362867921956985672207711451676871151703638400990180301892877956685297391770541609614530699375915962278339171127981012984300277489093587489453981173533815768461395084185638045832986728493628692878012754723986638924135282045057803538853648470973275449256800942755965160291034577512451359419321526895090145445952416961136980647081102315333388276662298702841007248866052876037540430218578429642231635313350340680402784441475200826890037863547841565363689567311688395043354563178010166155103643844886149827139560795729139057900864661298244152281347786442264533490158637174488626108777428373375862772081968306963831805881107893895728376778301186999700894336560624571898381501767465512480893494477000837345306194820022438725236049547571173946629136182524460576260094886690256581329311350674437793232025038020543501852994980778105259985304488755072493125506510038857190824854783899326602860337393568736445574675696601191916014388077529876643945135794760714470988893277660530741163115301391104923282193110588097367047432344058908828564002679759435346427421078414906154092962408338791081565789909498815712690236620043280215289589615775222060621457988284049182338365735125431269368037987268684755236920077772138117964924003615902345770034941153406833557382487391313539191475815852762541337589984203618879551380731734622447712358536727905300835514369174708516100914754482240609224557576103986096635678828945500333604333720846556725164894623272786930989509455863098301143787825883212299067132918193976522025724558400814024130932133420950689694190778702026153575802182105123290813528319509157259925550067198796875146302345713152953633128866961298875104615085935633839150702622404505679511688694605110946627672376072375052884555332350474774899801582880457530050460916902159645238303826292106303225851732156752808913584883548548712412653274247165752201579356043381984648837766055270265526784708356010243568608832661178809770313606137790936091130872340772096181023901578532920354712719691056747947044146433121314395609675166261128944405036638819340286420485038072860987919829804873133499004845521940657346541555378014662305783921185114327966512426186044783706656942465109697462111066255726717641719632000060679461544447383009587849363123252352851899857198091600068141919186168389015181248046434719012840007070411738005402484159936710284924075593039634872403013753519911575118044416261522200880897896833333245220004404297312612251617655694246030207535958932402085289249243527073965651388572918316348032144983104 876483265516729876219997368370945854939343383325884620594015729844642978627786282332906904492327659329244991240461338328475901560 72034305510897923175286777387820132668450988071802682039220280484921574342425680467306971771218734560857152035670621709083270736177073617 407399906036839520612792285497138600225654467398562769675644776992563005743424256804673069717712187345608571520356706217008389369827536191719737107940739990603683952061279228549713860022565446267398 563005743424256804673069717712187345608571520356706217008389369827536191719737107940739990603683952061279228549713860022565446267398 563009495709270131191929824955775763750859423691449068347634546043944371318679563025883826817928975790738675774381973520813126806852841944365315510971335681257482834697901789014318277526180883313639973602829599010000519724377015255864819106123617676411458323693479550647375250340609927897230719508277849700119603131624755510087288521738129185608767747856196063893512409250785806286682155371236246489693259203489219130671347171099770337362895959783509532523598271289649198711044815613010829185812739292211017926948642819683286246929210846438959969288165507695822898733723861578329428488075621932309574063083808914628364138116929229083233675690406787653576163961754266645938024360197471995403483650856887128855292429351867994655684451320866302074899531698788879839089895456546759232060581922617788376612225335473386370967729593023991180556622809264950044987752773346252173326389389494914654038212432180736158453611404602155525975366720223919881050284681073770437723293121597536227505157238764529436348387913528988787905821550111104233584518310227611334335804789714149771525157789848298936164491828979317790326467228749418675453269183640879828266619105953142528663092670701732405950706227386670579287338827184951879760685322806148088186465932879942779746124529540952671249690441046131073909192112396940683518446969930471686617424050519222976752985296684867348368116257663525545752244031843922462332556165225141042359232732018883363608901360504726337496205823706184846895299865267466363021958716136936786724835356109940373813996989004405153889590391032827945728151139758776274744531842930536613637951698172746052088546469232041759114350013503950753484896156924950900207556055754384170290146078181869924923939119438241100257051821388230098035458587811640045530311277179266614743774837366237460202073538403482309687677893623056167893806731785663137163538704715874017289052724912520827168930437398229658837763226587058276813473532994786385827743816547793609856131567793418000201475804245593773783036039563134913576340135030348407399275786595343912755160207530865236538527450378885971248667165003987741926537414501116049507100186493015358275730695530268422875848340321047793053485220954907925735639770275737320455079910158184367980977313035164498978068477009241246589017179499863901523452423144640733146239704547452605043018742129943821257064491507354692970932063802903775911881873901579103827946849262860649355770579275356999844748784544845580050634603101943277182722031250809775029951919768802465896398114153371350684361001131099629825109234007688626817381428582041411060789570114950689430862796526028879535397611684580730435299656271220921968552522884916973449075278234090379343664317568824083192949783543147314493991484494446342896571796553328504009467593996359499073386426656218748107263247872430406290494679202538485915398026608630282068371068192586367561616748830031493430128105299599888061886299723689641652045680607795101009177465730814546919258132731296730255920587165658804203391315397441591728719487570142622214719278911066027507612894427322429136699466592706572510419363102385981754907986994389243889008939346341213828136219471807981114503000204339015792043931255399519222609088999712563092330271429125014403981870500420259608780870813586866490177244473695219446703490650223840969305182593996803942103858321601640076947789192421214895435937440099937964372856130362894311674370894674473797167618208641593168356184240048454270762185606643959788021421643166519009607281746064137684655528891861819603488258520748455566190896931890551159916269087256988217638846374595506473777391415806674076650097783414934842161844038388310937601539388936310631548713459725290483703688341501686075158579902541153195356070770381497122744696096894095305260098081749270092193326742138874489748595826098162781123934793382770561974066637897136621101115062064178327309094386421044341001568487946244696759993524704930849927057311124823975923359898645282770415482776290851650379608150578350982302758742157795977900459206088800435487434735298281470367665784539260478341670459417691748946808253772836216066856869113519452383389089189111091279851458741407650285259067209111152799259142128435543975758998522071759099462414469284632686263402158266024982921158694801076576660549161908778645275866719423683443431434193812335002128977713142500052922497167310777100171685118882299889208472946752106224245534716079912083220472626821596886645081673509616439339924477511462369670308230209426462536749134703407424587665240882619103362519804641137116122739349796447567014545812884270106771962632936917848228627912056184982809090073238861546445788578285840970960477441126591618895177662916625271687217187625165136317089796176464843096986550203832749903690139566167724533477735942841050791076893352387935549818784678123081259581976513263542563940234617028903607081664241775014401517898713394071954068036840143777538230232741686512733144671792770675415259373709342131975970409314814919948898722867822674696519315663052914595713618397495524748019433927949365635114979908435426571310201971443459520117787594580375078746251804995052213989814784595033178625784899977510091836758799219228260550380285078100178544158073124700713812448131990189182879151729748063153541840272497319866760503046989214001220778491865416706288946143739873621697146657403395403546570420713258686633362792832121561488105450732644643989838002417068492199129748009428508166943564929578343441236526169848230319409486334102166069882846231098338701418928078207374832054307495416428963248139509455899337044918261866426541508190058270723588418982809980191510351770638816439664279347043773648026957853681036798665319390376877658266085036871810357283666433650577172278666728793090809972219221888136713093480501052572641573813406411781621048067871430238916681156631072876053694575377847806505850299526911703233303716719601123523444074752681289283558682868402632571605697450019444495170180661810819064410545524662199746055108376658288581298144515267490380226956781150070305237616097616075164743583933410407798055772293477599134331367215978661055073422783711677618319948593027585726139705865847098686679533960946291886780557171136878610078550074388185710641269205096699149289422749742545108502926884893954474822863067499394273403248683744914556473583037878860598475691837004542330128662758579270951067896905333597342936142003288246714880458353144138630797626597404893087110768851232307860793424512201715455801841692164076089577132875645199431380232720750051287556376203397533006053915208115880105429443178555893398246356458310469241582866117884901004634140760949982144654146039283751024735058944073491964954037027224534572201244636870031384833984230918324024901579518659337859928294701598579591968598386859819449054412980974841995536896369963547172061818135855259262329953991693759170924286136642185584676677206230544414885826253705320824543744822903027802706575103800171088178328186514598655832587195546458525341975776978217729236120713336412402816349700143731500885527129175891960828973889802021760821048775450013336131917131976208564149148137964066304065403542908487514460930454287978881572479698005656607995943883648202831603389466790445113655307314233276057871082079267604395353546642253678185026829228847438639303958374009738587014265108634462047051758476054990457272575031508505858568197468429290417067166141331885043846980797356017771048117683664107793967943620268481911773148240899769255512882631452780126438139137569639489110846479984997677906299545449515731787008040712480283337111702642723015442391360206618534063071130828152074975371931468400971062250371959216386582428228940836492726282455960515525235059120784146707605675873673361894111742761679155530171994367568479285326732265780455932978644256669444338925456899171225377298404289632547282555336798903507722310316422225593686622402932897079007749621309571349629289649293878759756447666331001001208538049136577804869477100465384219708755533249565430227984049186231967906253176993147358452802777820588676922324779653239355985991799263382568607931297153065955394878327773888071369814974640506625175143141064669754807888250621080369303014952360247668717017783045944939821354666812018915558951093237791066397432171715286101290073335180113311141356684680079103996224531505962071620704028551570261433581030078027781650237751720096785624016907881512749267410160630231957867333096674195332631791548690087721251730723578980925225302256322654190233991410380309934353845802706803344427165192772582342536905924927564449959931893373020241561339217286882111688625658527099872906016565710880738948758361695217062095632682460903996183788978720182268702378535683441810012149346172306767528635990112808891008964737792459795688250073985023807750959129815553066924895357372764132385668467817781405763877234876040325129467647135943665941345531063140695856263463368973106516380743553431261006909674537650144051981183492353188719407993999095538928957798750477277803270846609361548855965799697025956232802846174744164826320487241282989494781029882283774618561858232334667185868834958184219194388322204129256621821361627794490041022380140242165823660436391323122954434656949827222067908232880702415137352416231227477573032561247042685443385322470127977785997835181995430214875947781607618852708382020848349974712755282025796946996655381939593798289613778443007953018540036966166115762868120795797161535606620273576267247120993482629114587258566100302026165460068481438714608372797925961459932392110170397337698734954390474516654195473774411618809167007285249734723534800924594736914410232283436343841037207710013462057946640670753098240855503576886997007848143675510401545336522149188838320213279173749522508591040941264626158726646161917696317331416633744493848851485951358679018700795817364758504070965634445300631086513401545686454609857793768228464230331017327992712144695553139665054817276401972657906219538813253509632509474459898910878590169692258198604873251616314872253320868115250387783903092109639731408701463262774873619992516036903516401813228638410157789138345482086953949114165419212244103725882353735283296622540405395995512541880469553470169279658180842216911467794957709031814719952242004890588559374644161534909346821095273819069249340125854016212983888236067112990472785382510932212676008635678872991110606474438540631307026915793291147168357489308607341762034842422557974325100100386436881605524668277328014816697873496332099634172377923788303516605487167179287400111914472624567124700249762245822402739770702702350323771241691314913084480272640099449725957209235930230699273000522490736514197778118272030525906050536647931018487082839762435976541024547190212964624407218786854291307199115602213435981092612780992449298835321421151688044305242231335172036687591092061218171572150132304915038524312760160267807102779059878363028490995133233325655424283233126970826048284109116462935530797013471599928564268898897007674423346489650045114824894488438119052031620239561251550801142934559384022589044523549160677057526417751973609044020448336788189156897027789366044998316755033346099743453906679681237983313639844586220491826985980185062808365058175856328286723970216470379261157543687834566404659060788858593615726073376479473628394189492835760504833644940113498654912082100481325506837562819702568696995491876219763972045027900446675639511937613156006454486485525074979942085002895444499533574504683662276687208248316413599480307060161182230915617525952849002899529342873761735102674241881593715994890969792225772144013909127224617888387436080519675153031479114143357320736585904930427733798447129195444645430440095975183097418233761863378115291280151786636009016476974544958957323146795549938933751394956436260145495926467373472160218853132654468600885372077221345275103105952625307111023553788569164995911692208388877078051735438398567867015096378088686475757669825323540442454284008826874777703285382619976254258199293420591217977808277870511858452308972985638768651127507276341003599414660122279489574955920360994603780484838552595991081712362827442040178498021103176278778875030363022636160976667580106039555479978745699815797334233997424447588453139334536645917552581347550463442671610948908179968959226704644021691768051005907184473526312354164424864777438787765173853478975014025204069329911353255614813604353296831292899129535615290402759131767734127770463653085221325754863079335478829963834069993715154224943808824064733263123350461388215947951691759254509848097911089233113778953966407460834573009765117060752414362883466091800384906356926853296400551653599785791306066404745571908486625041462763357204425087660332076412002768371472025839577572548308176352281706577594153270832662553910968973058504562259368984989756227021582652652806200251844164898191969095582120789897267176461338008395664877220193204636718817239547049302092798661041184695704868470049638641259530673766660389421761893875423752240187458159722844252290797737229255101808867399083988549214491386356253886378916159188842405129981936517136925916957791998849494149771151943157558263070599485758635347496397568559703862678054007200897450252705193979698125296883119164590452097563052833730948602383296272132256900737675339111682947198127705742624375221375825032008736375320464500057389179346592355770836220414528501390794640672466736018275379854478140769212560856944810541661956752647507452390254517053109406626366824745757346070406527575357774320102391334113813577503322561143900976099469521398177028414610884136085659183932993931358081952707069270927607721717779098763854634460240516904994977475774828730093397894064147369457198504829905134842867070991509330445796639195355891478010944345098270173677240979049480592883846575269082140684093675224888424661256052695097801012605772822873599379849977045731761175869419846747429048640123199674462226863633260076411070293488972360126214984596841603187424531584352054891859045356941964460633379884931531169547583611157497667740703154480578978170504573192258815494311439025793450499895500372704236182645680415899700136977093646184318296660690731354763645120346808804485446394798810546809849670131795494286681388276584446505851797712368142674585475571382290726634603164381375014654291945359934360820628279072531886575179734245746612250274430190922429627769366531587168094442427862498407494665563526804502768435782113627340694356164251537923224666458237107932145904446111092210703976045651010128697605935565797997230393938683961799189869179915938694708632424160101610309887378543956773148297234896594767142721341284004376210660200550566202333951957558645128302417714282371577693287679784522757104237281724684454616224472703666186405467249250144671204565478357269214470538798054274436506654919003697852300703720061418372571130911168102172286721258959485746004353295033114695796564900624462269539125112528680378263752083462010919392052994067353165017583782632764100489944648907195082147841020836669964415554899731185444595312327881988435193646690756191744363874898626362765030272068609251880972360884793801625295039225521028318591195209521603087970922306318243049051361251785266783098964840762618711211938564523325880156358456632568153659741400635166538527833027993327618187316429284343663516156632552808774054766967000188148312992649497560617449945560484056516920660629441907471164740575561955183453874064046466344652333203510377844767588566666090172875209822447115645045567243110919573466626779195035111191248491406455543525772549656639267852219176238547538197108319832284839469222949537374931725775542580964794985891026863594535761355146603751391496845122967455478424717793060749999248715039173711331059841824004577425759178667121950517428961196738988890457931260778363161297825694113684507888434449786640449589578177977537633175038686569214328456590763877035085454922881774592134644790364096719378848001565990852627617509773940164374064232153788341300502620171319759124864587923006850025338135489151319984710933979884365446048272891549710760373174451260971717062154915230935580784562839217995093664990440960915699421493871124291466312054691322386063352687404641869764975134600318428982574751202584459831039820140609484687076916183830862387891061468241972832005261503851106819905835176956323656969414236261015215538172503693919882029271368544401062943672645120333442448082952850778650223588668479872923363345267582654613647644880992776331655021300744945298954339617526611749016912130058109554244912267385285122343836959839780483975246451012058826742830639996089076557344363448014904882983571898164096451011928985398760882296922643542082445684123687523325897783852438454227592056760926079584672793866397640133375298174103800839713669875017925188890050961627253029063851224481562947348667180792167574395023354187971463703413595070688796031015016464474223923286729237172565384290147065906886729406948425427159052053409339014321081313854582597043485809314855063394187054375482019170226882317510901329413617187700580911334579616422030125980220431073829668649070375044538684428440879094580713838962095449207599615536655713068440469527129948783097134507882757248448998973497039622465110498777004179371263198665504248264504271322916123093246164135330391676894514835856927021660319065689993035272966942540932985850471428540838671088927344310873634570026911192432496377298229400944020752024662066447383917204425754834014539408035462734099909640690720756229073746841311985865787988559142521470803517849673589369335350075446723246131252582687046375634396463905947907039289612597648667056907181584602993604285664165237827113760774562109031798086571731999343128179691294296204556952012433154460835957656507832446721125850077609968907142990621463722501837031998516922005081391020537898391562299250064687356797954066278295022474592665617686886293211625656050084542945590329173720098208588173537468783182064470226861276497609063433941566490264262194495999726278798874206865377484001240271202527473344361668130227204754587027046409864346757364149445560401804690256490853251672716709512790052393421702743032886141323309616964755602018386215997872360962122757042109968737000712257994295186963004129541887796287240932784617980486479076998905777338860558382491142283163748692878538148143146224283984962337855773508605110105092612932309949247418926751316188186207532574038684806964904698279991221611386656638203260191359684025156492479064439833300318078952369616518405614103384347993761781821004743519090706548064032056911716643220992154712404616942471043152222051048853663827047208352220722817923077243786214629860668300394431840318971195938758807198115048397750862492845205376609935703511384695978429595440648575150506208497122812336063954148045231830375903923041931293580470253223963911512793759360151408705351460629899519407457553548868619822693246955382102194720212488490442636553953053943533004050613359968320166698794772079525866914331899092118652260584960881496268365467234984048143810943198574036837746637093658063733929458794664451682611483334598089481323014234497363000817700302901541674017957443616201842207605357765423162845642764409375568971553787286959872245740725586288916275422740013939248909372055545616078424153956188399905582479740297074147881435727079149221043557745460934900573768159682819680197715906457966057549425418144532992479819966571196455188565565681215133490980465803768476182660137371756837274130617046443808292439165371329638261653072310606823338899995102553073274412094269941379201101046632087497154105874458261159959068772409428697875946269429880547786077645800522940757030840638516043605931255565855331231165546386554103007269934477311816907866280119553224809956171278815563935190125607711288469473226363577830259656423269738474469674793817191834984412010284235192195947941188864520779602313430632171743540692488623758813507950130195421256853896066931254279329444504604143997511059306830758986663120897091786738144310626732857291352473357373341399649816225605641974178798441560213301230296004214891147848575264386251814296191368983822274941558639578740823780903834140879297644511888802337200988640122361741764305063703810769278341189017294013294623856393085315322442227688185717288938851686500759048441570973663653939411381414330070841798311723439743212898269308828179084546083522761688392367067018193779063875186889826789859261224877072553707746809091738121955681542467817582498635908457752822108733709471005344704316264532650987541870482604085049432894496711511556404503759922183153150621894176807974004026780591637359492305802189105616245901301913073423092201187748905417634752347872050957508301245800976089449020142283215170817863829715178754102327793778540726836395180372272739907246132811667262023853629580447687448945589355612941667877115144459521507280112452897838988924398057926113395117163372724763220356134137665549360910760775428863941537509112835509538910175699273481058020524474988606569414068805981571455349610211640412992071191573822396496879006157717959575116755908481929690435593444902893696486190086611848364084454709229880820186964350102416589280672893461892128839980588675472338226628746748982760072139691790819941807236451438298943017355303225114789118467993569437692565453511408824626441787817540585204627520911945517150715322322900317837863929972645795041362243073887474295884203865379630088782849749101536714044872706052239832746544345293565280769604772215030240603299608201442874066463090243695582201751481902127695919485480650025159662766721156265827038707214581147446979436985067657688235035063279085526027524578452139311897121959560222778010521705631239634446112700212586723573709009024674069492576669653047973714276265705359574487908761992997975491547095674568662666933178160269499245637861334504012864826825645467814425734313848600668267976727082780868964032762594167884057145941148046291648812852001026105619845278543167673430194180028739280946151948185468663109907951504488133650125461221413542791228391303694726258978002733168003031221980792227233930233396990249323813630178121360113136831038867733900122525241037628839200114687473978301968151623448458441708471154056306712215025240060095668450209965442357785547880065844530633545865197485172711046869237082103742383445162144635916426832646976748511916117839341951421626343457280693936967164403452311179813313674725581030233003356470919313118415493271541872145395500896215199557764809532247281705684628352564627543057620000172149902896451384383311711658584177645106185825082104724546989085526057154334736407766059802184462230230357649286983535477228669116725509292642349535911297780867067640091417604725110184229542894697242719313957825111771373646612886109938596154463668555664063242409655115271244874081386339584032906830166375051593788944700324467944420500623238056780758614051617949156758784854753798036133204588672013137468422277739338301015927873826640352079385737273318787221160069788684910568876737354682071793442051691869120733906023040359531440248482755249884966863905615181291354913330689198050958319547452434768855877383104143445399339782643790560079325779032687723893359704089290637986235913268827691204823532268533111309492766145457891114707181678298795487397796649393340499958044511144263787805500618120194285658011511604965975147093608482447840715101656881915154763085370899177749500315467791994055430238455568432958712280703393036550805203590269022257432694177337833020778508816459977499843551470304189931092788636285559549866645215146083224327029398653547117146112097864464644325618002352000486416928090125195558796777707120141585403242927279651399821426254278523836182489744008376465719918339566033650949707852328897458814933477309948639738318201932446879191922759819287059190059075406735718523481186834643477850541578282244907985840870058612052844716335877723304380827091373968895056845553523261822111023731271368814205839838547470490005360938657617777304878307855972175388186172720052568368730086721769154412628775495032392221164872217861522620911242592377467055016125582354615442087445842149647760255957274029184716453158885258827884286855889496508427039429899354427475578488409253424367596461265438109202556299820515414801937470048035796677458741008841318118725823857854484888166827713303205091480499027063386694690993512487922710050927746141495291462610517648599069299238175990244161879497023565718095144258549957651792962105674460022141336737548079860359695946856983379772672852875925060444184643577824036237766702987283237060452744255506815180955588868358914753304570116921730819041368219619792444604264993438484527323746191137110824464335016948015502532841846287334922661345689441390024706633554707881416054856796686564326698130317836216464658820830050364454812922884964461641012502375768282189455118458059573209093946206486775093802437912896018008279404748174220633279147128420951370105619432717629286857909094932180555689790662862891547375486731986937384664195856188997708279900169246494251903473777039886301492011183528372327919965077715581634061761969840722231867827012354034994384291685565051517438377353920322561159929756879655748563713998498418898187238634477477355150135350791910818082698953601252478254704321409778469323294380147255125843760860998146021996986315484735762920809967022312307799997668926149370948131311761267250290202511250176953858317579332482374758716019598930968995429457152380277892235685048764182413910232691491655744448451246083051457874175073871767441735511013076455378978875222218520586133010759127201284158160990129182911856667157392998092917991491610004660333292257760867565666359653418185422560598843184427218109423181090631060596773327840395059606697721027773614118272064342985384424658772847185178836337528193254258300549961461483735041419186161986291067063879119517620505564105481485307823643720165399965209504238904116749764360290243419567622446851420894565680323277778182804023531717271616138474526434256170300403880716888884214757957281324163069397719048693210177484934395220889779774606413216065912354287306634985649513842991511937541568268804640344074003191648752422812899084960491088752481897662954439463753621983060853026629767762297282370884106403067983957045507986425562413295697069031260693727227049738584906354811946653533660264315355456127620022454365014092870701038450249422996824698948193110638058489638349668423154689585739417810047802743102434361706393732266714140476450553206852545277727133799598971912933510953352183762378144828212389833183922695403629441944477939338629478208565391602768654742216021974541625034794865733087486963621460507966572115585682647125640198323687221801627370274085461233153148746531939362613438727849840982678998619691220266975459012033474871715272034237848532019977394108939918323993534360838319448350407170160500197194079556929169441248268460290554602480556637492567690235856549630563054990947383386820022532727510147653820157189689176438617603846691471270502090101667931435388981799261389495820568431525427173339845849677842195542284969377538214198753983628041513853270951507067783176184926867492451878878256523880787559339874189923941064660842841595176800291899674460456234768417462843614905240996146091329907825077671729948737993004970609521902915918788156550294869249948263886396823849560868500579992081259169809576250063252274297757223532446463129919160295278283878086374379484878160079866918449449520338909118199684001436019370933054722190471786161995211092911279170019766720202163966918422241349535264054150343478493730094810750009923037091538820155082003301200760403674004750282381217235331054698371010096575548811661428174197142241111465396494088106871353167996748974279372263513581038998825451605536725102136416929003210731223430072399556914225246430126273566681782285901690339952558864708517542843979342327492533998925840392320798359932521574358425230374366613899386320008006457475088070937998462747096657080943692993610700273453815684801439818002264979616549839242472149538551664906133886994794487640706256601605517178911310515789812484067441540438634321808049603577636933696507502496754659653517150085997507640004559542637011962683350423969409324732540732174653657712189786335455682417039103781824265672441578184384945382562034978117494710465895082321408204782053999221708309637924719143570526892737882963017204598416396765979399246845120216731557594061085011084015014939584813243143264831706383522933898357328629625006453965323234090166345534976145397775435455101800227298781666105724231243062350399126692725593983870446822440569021752720890597314031719499393757606517044308178435846890232264090670255825631565271039919878744996005669653116942017890333193079128764045002452926077757355448308514991216046260407966357004292941415210785179395124892931131087234036875493332119971694155822422532345269916514842708074964982432091087091302719220736052823988903337764824402482164367448928389327178724630129521377758406567665034225484479527343892962635217069248295722337237260521214867559012437510688636168620684810753252551908087008239375667993000525640041056868732134577420110043021274796404626772079602886807545332844611639636702961676361061209564091590392267597725612770823369101797932402760094779050493905949903550976232855245692014923380389555114536945379896424390775315438661079617254935797164480344612666235380414555736764262514459057192580222293064033049431773991107745994805184843416903012471052840011453011701592641760310046687984340067636613575415938107394902338459599785664900633100192580761796592748902173088186545124915610084564921917339841849364007892425340052885127409782607281844993623344396777834164303286170746555744709588710661228597984383289888277860899498259344457062552084666933620736456132995175346499096607099343125635974902965671846803518878764437192734322849675753487438060586839387320871071234119603308930602352193502379647530151415937286211822952590670185758559048698103361310619537044107720860233000669435598229899720038942050712413096330124739898898650161344604163697641299185513985641334802440109038204209805098188163707656025354228852064250474895868089917946686117193250332482302410598055847663804552137893230572350200971557476025937720767760874681482134522531630208788823985355668408462018877633388938239400596938234755581196604405366017085155431409286335709215944811601753296583413334717730271105970905178115890170866029901605124794507024301232306702621797011415106820022681399975072583213035616679491261005420128645322980067268900094820970758541021988488529545960197473063613284296985538522652381613088966591450912488681312595353629605766031975042950411884393972470536057894798628317140039684807642119094142756812027324542331959311195239505629062261100996439894838164644874586683075485778532874081993757274852197413718094296777741172223936413560332119093344075567878381130451998451486289800060848386942062185271928018778042486680802995128970347329446317094600385951254533868355796890584651723006704488896840610863040612135155203874213928449620222575465858208669864060498655425885908145530994843493842733842178645051398542739742909585700856146256183495270022814173253676539794691275297470131700638354159654463424496835263505948534474472107805610781082964942647881002597931877563923904329178532763420375229756575274340829508454794701524526089931388578312391175126922556675728851334043976962540393117493371399449529356801060379694459568597524987726734807907326761824523355212162149680234492925428865514573375655765945557092395334281424629031727815403998341556419837718018982112476085595551899950620730071403452081550332981497507024426772643603387375397314843137407092665449229520423199007345946393119965350568073329814865841109199443946272328453677112848473622460633136028591059635237193871634598696364439068540532231931524135469324875767304633817030294479835226020518149444585049612032690923375271623551335262343207219430093588150339359897449335269578745727831403967039691001707341493253102206326301692523701801202442268849290981955511719561208381550144858365716651026908664871732381901486099246991315460820019927050473056887614189329810831023526482810810248545022087572212834413437948499972792025835434172044259846932740914178214394928017997456598736982874282682674844212137154682327511285341652370316530704325828337211237137609695939937549536223222219746596193325290740424876025138195242697391017563719753430044796178250431153315067582562735343476252539142515275704787843767885241871966346241992700802576108392749762263654900186532064549951558029083985132726273219672847830253852219047927868938953878036869931884660310436335243732715469989881118644367011402842620261504738823589974728149334325706547463702245188728906125503027379190264039657741760689897698345664647052047163592144830709958430647172750763371802071459744565251418850503716377381890296968528440925819317441005557608985029232710160089825722381739454369852965476949018738404646564373071319590114076131742822038833136029708526145123490730714762453405024542376366668557574012060405988695563011441544314169698607403220788600313279055391786967416355524025076765308563224273784714974603778406460934681299187190289275976307015984088778174519269014769103003023497945851100018088660621628680111091511610409832730880899543375511871831737865587764873588544903668790741691825383133063623382058201548854498278838217424375805492381597296406196310582151670919032631873093381385011309133277093034251122109721550561049138705042621980526024761160750597103794366477152935349171861250661163673833049956487877936569791129319587827777406010753337243279000973240725607038880087113730965963445709604117508944479119162174551697096484476204617412815453612842260155130158952586280695706392444354780239051686133854986192665676227603582349855691922489069011645986609615679554154921575812835409202539317080737814650788320352665134570706553685699281124265670844801778646149740454921184312276218452244108847150757019088349502243756988504945424105726624609458320959625728720309947765401073985580699661980195345005065145010549240188610891341730607592384394612465698616056090945417729073640093913219567683643332996199979654243480265694068369867061758741316765050602713588257443370721645881952261339705452052344128092317306505198995450285853835228737872869829172758078242098261060609015092521109089899643892978629430141114006762877499207817237947462091689983896189486307730602749102670388394335247424342123671217702461011602406111857168705082440491623894343504702508136491551551043272507479410247374781922652059335513625530181219642499248821299260177408010371988421254744721602969500277426850775217586691799380136258422417398560766991654327570612304528672807076318947058954406188421315713800339848740868094144618458542303449514485210539912489324554186659303449514485210539912489324554186659305348357 8533920824127763216596753832665064306388069556915620262225946941429007998769834420914699989795683266709041413980688633325156872576893332515687257 613964370265431446393337990008198575307978817613374360948392830223380327973203865364624249805511402246922647893159294491804688 5644148556085605371772287371482282368642780224692264789315929449180403829836490348886386975644148556085605371772287371482282368642780224692264789315929449180403829836490348886386975644148556085605371772287371482282368642781136572039474969069372399156100368280751411784737825622127759959167758140385329868885136552323139384317422585356280701915440077630163476477812613243802484218656698552740076410511901095452898382563484070455808090522147697220428738220206445111655802021581372204663476633351756179905008977808856009320814541764439032352419397315472189209202024742704058579135437926009768076362987566147826443389261212134565944568010422276165241837640186734533914880790013636035284321747804016831467261880679364930468658736463114832826980492022787625545401785091774977282946756929354516660986419481458364447890960383045828536989560806656661903603100453047200242263938815720686746900619298730822484900168163489212554337544475803887361586588592485975587427838599929541709917225115340254222296922343661777819296533134967477572209784301938184450598507508056494831896792205834341478905102576174909975820012347244102850794123184376014714213782951102187358993917081686805598813354699137945378313771141354919712434658109311278332662175922275893699347704984352519210735175737020054573451305873132214384620876027751840534893713237662907112055269490530038882280420480821085192876107677281454892794403227236284124794319264419243079681370382948200586974201501323531987205199203538773142158822114859743182387909891993253934150378768995969580432725177768986612588939544201391713064188629510665268960624145208448034034741133148800431386473171584468157548365316705126017466407607280959672132729422453610426679280946977358363834982281147669169596955732770282791209979260863817017654210151115811092683287485950646262362992592496943781822291692343254853616041525142063692521477459809419889268147764439053761119174630260741704144922419498001706238668169466079892475169718500094287444466241005863803558630650636095727097973493070964889076063019079233461701974566562487128849867382678546268945120946229054827542330251732132827853165175869340541118457151048346328320081011525254131193679545612612161031974278321038795482539174314098770652570060376719683830478692910032674834420668406673515088586091662976572277996926003868273349641875833211808091686185171345911568508931494044819961072502337896779899188725826867053775743512465081379862813483506643132466270924523654698351740704265136988241433088355263194547542532484588409399378463186733813366103100581146455151877305014130815666018061132268352963971146240104983148464604395200616373542584698260521254538591505364620141659306152413774330372464410397598500156892102790937867860318517672404695991572340529003816760724247701697815214861519474627054614221125691272253815905020395830514685850036024200549094550268261850958754262109739913220950295489582891742329813431540692575705880157365453517892741527128941314318269476902588854786599196898835999043885422748469473118751974887712150191591908885813263769981215908089691823350590797148746133368039706350036955539422590734536933263896961623842541047946294837937463813246124082530690269146502151719655242567884712722975266792028038412966157502184681108869393992526879439503267287008758188610493008597501969280952048237571389454388442416217566263735180336432774017341259427455820267544027881214092868804120300022706318082593186766481490447257994467045942382811148786117712471299402343531934763897789484462560417454780205295530815025429801570903923821472145748055026968444380960380164437261953004403990818426587487953263601747734396347413330292755818200084648860981832917078621243703459404281501604147705818564413222318877939216398896127369924002251605351282937236557373193193898341753843970830903585333085718369311365037008190565450432984220993814900454454004486182214055060528716831341426278964416953339802968795175366678475509672567390773471816933997590011898911139624652061607188564911926642694016069590616104437801498666998284332465257608825710108991959111180835030365079742812307093951984025480169446262059236363510719901481567744000123130725410256056015931684053281699733907071537208809013265415408408486946485133762274828499161274747053222550579183371978299802173759142434471486634380845991013925549446596674237301191215691048473306980508171297273138066292296784931657070031083055678897912329813037510317467834011208135309146607336751187621872232478968370382795012395444953967588537384466413472024700158852017613121548143721334792656722446917956258633003069945836289103812648952338880763843818809211807397927683141230868809469171765526719713411290271581467529442762521329501543011533690389221384101337883275393592020905194209393897941289380765953087027355077304221911430043256684624072289034021711512731689053394678518738227848515822470484127739268280565172603764458440068284667373544825924969162142390338893181170113891315019222854107381814522925921851485752524761838480775838298666675567628883100860152635893586357127421777289515445831293470980084717828967273412903707607159708978389934279262557381889563194050727520873259994565456085868553582631337084934064139349137491790772182285311600949827036679278923587884316084918389533623615765768334222895927023939153868119581529960664520818861843896972001893567854894942216512361017184737604606038296164427331173040258699852153721647753632066072061232929323962407800474280678081245429927950935051439760211929113037802170395082950990699443939119550034072157414801775922997193282716303971339380034926791334165089113946424796613209472508981957237504911331291669842737114895866286493361339703036247163012832100708415202627689963068189695266669440516751132937869050034120042841739429541445844475412467718508710301949763730646456618634940656615955590222038813571361768234778463109885474803141607518313054403428112703507195990142030588149232148841293569445296431703131903577937739190165691257717806985121801152036378471823289495344465514626784682026303966630199069226106232408625749366744026581397192480133160604128043094030117818395338456973477787554965052267198920398064650880987659599040268354582908404887435901210248570719056955851822996481632457015703748335071625617787840260248079543643142774097520462960077059523215937839265605847631831645394608691291390297075293245752831122063165307794559970935880191017954784682220298137949673390087099348352365925215317478091492963595768036416453157419840829497042403902353402659221352598530803324317858577406056900395174966247831146154707471015241092709901906946055592396830561480772653739984996188802045261369572230890736822583697253467329304349079623158386261263444240863141034997403655086921605004628097939425957370775224212775596279285841773136930903645943638449398233929185489553676473560878989971977807038662092746318519850851926852624538258702495738050109938163238708202285644740218903503702051586824571125520231530878090161943705387176816448293944911865897681228582282863058898610296052832544386045241598879043704773773713685021353938226539490234217108897837100517498175970206868257027259712399904777313320890674211212008218398677787056562942469382004237813491306663028758752092564773273167463696647462570612003467156409034789631481868213459806127296825654557674985919728673797538106742173858019486939329232978545561007900054725330516708185495508295733164530389667280573878280582588338674395672132016122364271902399903185069780948472980377051720009130562696720528431664964904631103134009037815217492434067144662452624788444797032670809204796602152536229777984130352918249166775473338610975771752089257006270953984192767246810212714644651636182903867855736355070011836724154289540477483432843483747564304527445068084429432880032635348132660476017214226940034962856397025725628371882800895476023866630654974704534984376640385989464581448053195091992594514982336136539044123167407129663261870424198840786560346889440980735651117190884162131337038328475271580140233374087460550901973370836047200902016509576637603786372188320038639008631870025211594327839328479264705620690613940364883094552023943727600115564487678447540835616039984885137729230343235300979396783369830091277799794971704628531410043534933382267484965817752353127196015906172828462137140103053343920270345130194910703446174565771792191324143736496939690489657328257566913276453108344568715944990050920224047579942148514139245457253260782716471305699581372348962272410151358146339359857391762405734462715784143189580687674488008034901047315958190724146417291159828969702593777767500673203833675999208981411198985757705456900880667351053470372132934890554554972053530105573246966105380660995007027547522626763831652725279154833145361939167195510302515194171781239124482761114532218866777176734174064523789930150371042110232238847769373142553479838888837413246016948494522990510710895587932162056322085156530074079505592494459743510349190441133791566366617724617723425057713516044266303431268508796541039734739274529051405512410302983625893362358342678655320477807539090909460140438067643829114783029646518215386189201400711494551862692991324737572992206115252478291665457569566383251147867252560975782740644380460707154246177387337680719306797191303107259747170951488737474695034915202425718743866194207982872883105710281579364027146345327984734941390242082297386601437354856090802957134692265331182640679652544349899969780862934703855361570010379699864618068028932857297252901428290197040501117093960401799400772790730059574064535923916663881144597641874269200937829705225640556982994851451162539665867422363083935081487782114697145156264218397232451972563939261864816182977438532410643492525416862643522704313723804662598556860369392975077940069921092726870253264588061666922557296352244204858671812045093427166631890519262450149084600688052235094443465827402258290512950304979961401660772556448746146270978688973256721019292300982454765438008643740010975723666092413723186800774476268629452639172489702676745679273486954263296293307799383060695174258956537533033198251374669746258716171967671157859591293894641900519594231162554265589036040426117249989093064050953199964610719970516938281588424916149236396001113845325917165402764954766172956590312791649517360294213628187264592677678276896029664972247633742345885325543235731917632165397243501468576239165650433876800210156944358236086348457350102531746380709120581568187968385839451042367958767056686080265948295232559420292102688752911543692228947178983633062840897730393136992191147148162894383234242910144325546512377642992120827639297377159406413974052092305309640784163165543554240237060821781822992158282156540176766976612089914480600595299065437623636120263059889510077235755651659219714516783674355129084511136295559530875867083778001919961816556831004557022827891916130240361835164122316270904542939796741282350843309452202160626684268919718081496548307692214680927243772183273970929550675247929813115669882315933109698993912254344793577456066112690464296564074054192882264785479797974455922998213530029315531271761722186319708982235311610694068488157552894816208209181667248131289081046237699070132293532844500814089415189311098796540721461827574805585802435381615139187720044458506579847920254569441147796639922979053202771302349978644034421824961632018918118043264783111515946811148164726454776176349787130866887569529762603031666841214634302624407946869782859874183950317139429001355908772255770537385820548895316960180686323258791510705889327168594220715607638907859760776550843037319077176693145523913518622363114271160854458040847500024799875823005870882654914622078726726806363745375980674164794484814973892387547284593438752792867664432725647955615698313724625104542888500733489513025043675009241929034354360108566920829426185038839729213803592097852633481338499592725301325821086087156279941191224265330135185468301475883617271648821814983502877885575396597889061068322286186195298276402577225660572474465593403252865816014386518537361611416307557297037999446651141140540794271475377811114255133972834961152875330388644328160811651900971960558504031993456527982222342807299181713054322774875923028252948026550571740861992523706296814981242042637768598819539599684750680120317039135076007001949208483688796385142405835386068968037754420706427165194190884481774909538052581044824739134996228296437835613093745711476150935895945792653518444582440734844891009395575602291056062448456125600438212279003427907039318710752380856389211364039358354010582073711565980725630307728235851731361937077949085709984740133668500208412981911223595969682225964545883214339357119483477892683458897400760306939454021357274766342848666575966790937797646768163015848816770646038970658327592363081409299550394583781385143772011353236289264203778348412135950821407271208953373316878810000342084057618038903775566026792357942645825046342858264058246647041364199474705466118335438791076331452420005378089995503474173982479708963230657788066150878820932715957565448426168832058940287967211719805372836240656118907999138028832094343311246912681414321820670235390665254965636176151324015679568910354880795582582532800003740724316505915305906941655244026442226553465708270971438428418562650322627493196295890247541653457612824093535406270144007091148209548333649386576628566250273021544259798453829481913014999381683903264080298234887741471682495878481818005552066910156137025327368239846402589188012033765009206477291158684977059128142539364633256149381380988193472958921912237302958434157505102177387600274257006713072132715585027183263165673229741655699387896932382888666604753463987363328505616254877385435688300572624974075468515505447792066495159632292580229326617229622139077254749522646217975460868209939045420657122232019376562938297808861803061952849313208496738723326039474869730793856785007594093947867425498820242041547066719824068073770803660751254641737104593569506195610338555273220981093912275466544307152856539660824821860992013074825707698853489469154319716569722476616161766706519887344489662458628625152225384290156087408995434217695175410335336340373475038196456961620860504864141458492224453185569392104609170949935123097068124336744992981962743873931320970401669537573173363924066206733660664354609510478033905319817058757712382737802524734990313350046117788777274760720342573148159707116345409091842317519827442776377940258294921372461614244122992493589461434008809389144670032034652189837272897423974379715319830729612428502696561588466394484055677766860581950531483370976868517186306676495978906788870683150525108802156270017004232925652577553571474880717033038406465942131322256028818375188180027781993016740998644106271998252745569596806164230149058371294203283526086813465820686611208819994256087192395986575599068847944798957284718971157601126635233211871997466584003580218134043653557895102240963230644670362396496910274014153840261860400252104070107826599150449718939463765389742339594447809412596446793881059540177061710349317906010285848179428692776802516063469818648761586233701525160236371817879990343795955115086514540258797264232005725044441943317120137468254190708531072152085126939846628017711102642445638079158824956674349287553422153367398007018414596890640693638164153469373358041348621682362812485519628207372517116447100484339267712904709544982177124599735379498959250181926670099192319815139687203924078131733288227406183489936891596258827794341812597822374682335655696616170703773942455538602130433493640075319533984910869963335613308498200462205237942126112738646977343529840614120293357476985428379850731423029608600645839020326683297106647485928028070622289411984685237118462881782523378018175736273865633857652511458976914251738657976813345533125961089216796759921620047777736601739698157005189305563209347680575208239247093075056486535401470969258633244753524002357951420808860993523690497927164952973307312176270227758280584330992778199380439217268111765936516774634858681152391360381723993804361913708704178324583687073268792759151242132793069249368067256716409379581154374100844743180798479818456229533783159209437058598793067431495842128091771469371599883933836596763332855084521448717349872982802287224597211100337067885195708636469326747159061232018112861922070378166898254061531830765384398395669071980485139529940333118652808812321707773513270097093437728645069055248320188640544591213111790441279949017804606511934621383518200791941711869477902086478775088118722447763439728760053349119723576540686820193680867718864154368080099068512360463269609940850990396948362171570718698156808599431927550783617631063522862443582975777239716171244390007852725787442545538826516658015450494415164016924498904268345734562617340205714011793825315539669178650853286160227797761828448212867294629371491109116351044932010780072370744963492569121890493135736176727370757948988198708148032945608027014245740279928915695074977187763259012185583211683324563832463542641366304744206953390687461804874269573082528928549775570446553072537265354490916550585449050090807360813300777288059176211340781270220715772179918469199964764765500100977660172796469665522445266993376993129003168352117905283272874954475129813402506291381095496685728387795290504428896615155422823760174491373513862739753898374287836457085777879177722829418378625092628139451414028381810712499370857034960067976856336968647672081079401343326899229203210797152854322309368783898249784699775589777584162128896661183097189395618055898887347882238586298360614828197063885376638702369971905688791420015005893278157667955412656153240777511837016662680233363450787841366979508958640285849250404849337961711803280455707969321708308871176259199594356441397149528262209871179393056412254938187438143080847275530838917269346294899678637549361154624333630992676994687019223088148390348146066609544524703883761208316514201007631833758934939996200824800998604628306243249049275733571918058260532493551274110735860302253057698204994600214598639757850583213910161582089381025366404328385622156050481874565965450748771370455025814588687870941584142363695825390500441026067279434510615024772280622350966331573612514266794341407466520635345465839222611463235578393993709702620191622134738856245398302016554714620847629726525746426872338636231531355355681663605190357189524466423758661980411448025219901302595893499907018346443127068059900432561387112104506890557506790767625630503842626225137290652256549426548273213499848416053950047182498565601847314490742691964574526581135702651071623877334688337258997786436725917411557016552924842063152187379159524644831952515980633946037421867350241980390342917288205856935267866581582011958760698252396492923489146794430847865749745083669623296079018930796244587484372517492298595716781255748423316730358061373238720790093363369257424578919538675866761134125824716030708943168749649125716727634443030554358794396727983916055021351483332405448295912401218783134030459294416212927504998450167094648495344091524718377825576002939794250148934214633867588345896387026112729779481845303444231471312440784982148467358627326536286255010397360301794632125535434232983465042878299269795250762117660416274969836359499603243495791210300046219201462117222885844133017429091519974561741221425481510127488263009469748351230072170223802516362654245731668291547444218100277761276072978923682586116206667022106584256981663821798412038784102644877355661996291918779924348976235918131207934212628580852454714318097767637213645840433599276725551587668729268189864664577371815671372712732706917446076837023027879242438214038304398781254700621379655600744129064710835313042028929121521463452256753566839681362781899954496762854591729513324623126862712073070316867408660159570991663158646522388745623449645159907497920994590343139214940679848302722545724305143530454907855046857565598503141863084834865010575124492875671828991276457246072592552964338464547294520764118443817902834258464092984568121756169389359659757404292955715291507682970780202397891696925219956916743579510728110135844878034761204586517986663278274801506364902275231920574521535572880248195865656936663054699706295114422061255504568691480327448602817268281027424886402616018934181365408817027519036327982203827038208983512455779035361653446984428513345483864352548108312849983289418172916120839071390684868789213810103679650443525120422214656143647220149894200214383442012409701466236343858272692961086252552511892129071483604566795595168653305310545101978321657417626828559346918714924724254791232715290930876743532838750563162595363919968592580225709413045416467857239737626687111622820934741373839530974538562283954012484780817487662218271515701356954660145145276861488219451341105980195908637689785102904745476657438215181134510250246512821307882573115182513573208273422069550416205631424449297757854181047996194442936394669739813593669111845157777992643506435444778907866885667636555675101330203920641099446748697238001890185771237393338518911517615291790335703578359795955444897859498954246647154327706708272651894378379480640334221433772404786786940630662072056502773700258523743934557949437175759482223948482130909053923116986640964837350683077249445046879290633705387963710117044090375203852640296257030044175089847800778547400690983159410928873587189533947358288473512024777514415286414333015237602025716546639313515169580288664731538340423443705796376486698042917498972943309837151215686192965419767908754359006588519119491014260755969465368844561880990145071492835593653328658780734465634881032988679671646781357384388603935675481267316383463260815222677433610342562799044580710243729086055639419844097513553481936898944385856295365499862588604857134920887479532609109770303465012940402286028361334223505478683117531048043788706828828150004082704666900724460766081328348616471638169678446051551761653711887635152359278589755531581273539168302801968872202551866090543478414559163466458713173467524042320513784665145484852108274337280013486724506825679412532619761659887652396688873925240799849352814127096654205069769479109091969184310175731322507064339087907860867329003063983535165159800074053082689602417037023267069764470297602604698157613952922096431184121990812443297453496971403552504286138984205987355762655435347212310996418075573943049847583589778675340827775255945346907202949290138613691171938131736016464766254974355119237231903375664039955424477839442983518287742464123279166224872611661531195565153183793037448307105649190863769246430392533328182321026516298438247988940816153152609817835820542047575742391907906610890617263336352753588367285253235669995686270183081216740528018000255368992933693867881167440777299165427880446784135620093629755456915180767133129637553148165799090729310413796284759941779072489099883994658129887050988367268841726245600654681144806371742950845879829312533822895706426355589519574792100474878009906747134908177116597027874004848558461844362188045597553613978187711001600120973806585206022746739843219801950690953316230458982917616258601136021828935305946736287128555704204874035807380175224160105364492072700313587362744654707779352664844640806718320237279420143447234741680498214353219066185429925469027839023946936756585504715201141750008863744375280986335535666305314474278010855994616123990295628653163830851747979431177026166211075066725911367956573126107906874252713210208934204306864426562190889801026878816775863339198793606817796800152073864581118643322230027606609792372849188165221926276820901885478038944356032042433072568734606173702324526804366175896199744461169110304860590553199705636008633935746768254932730261029297265221999701378474566833692781960326841205387250396773387410094302331065949859757562894408874945023244710451411575928385431904365609979441778694565059086737279405018103589133007802251836704712947858393258945203373711540965251726143245821365109492864963727906756677570290788108245219873727940381999502492852736340743617223491460131337418826157775394499817582444937381706204950516722942428537471667761788064434756742240965920803803416278472569426829022925212523848585337347913671592469499736083501009084159991613780484158077661793091915947188569099610232560063679650977588295435738186298518032859284770413724366489514614505019206944691005545175316280653305226400767770893310898674759236311424921196473798385954255778544792305750680638612690209013250630793951922213386091859506512594966211156752477031726132363270363423717204669236175272964371717948451046238560425822273820574669416399792178115941355964646929848306709201425779742380093529530764213118796303250033849846428603634072498312855593980962748682443195781859038887550090259136755043758914720260583621377666420090901070593053387190959348338330299912816614493302348832428627809450374459419962277192591212973961871592020847315534698082291794557411069295622770746468292250640769884404759019173477414664989263523613471702165066560590473280364968243983685148167372969698615723107288050308655420546534599832179968137693852187938647137415299348482991880895775760669754960742573489972049994459247477655065588130988577915322125348254266184290083358153300425533240532142124836043612819221729578384448001546002989505011823896463097856070910788010264937937656509471879322583388446088955461529462664001960838911309128568907495244109929559185087086298774924629350984305416318920651890102210836873850768604495583670088449719941471180764413202319502904398729819740588179575559249432469415479940500957863464910789359582772786600741560112775892715697466918567208804615859568973929234646086518259734809876278032735783122824239714918079349952189648914987489119544660184648597939334327981695217348104730074648312530680755197063807910667955898766453000450685243345844501419438076057321597242893329409535776902892813273095037334413744484240496526726491230745760280033902974672600719069651789305684608570486241921921895529501206499382979045221890711544996993791443408977751170261408258401444153573912575268782112047795676433288753969726244731879032952501475268642593745614354879964023555025562412865641888711495639054779427685872504112799119785252786355553260549077541637281878794216675674857856141623043363824076503788015601988095772380487988087768681885315507155213567545824862107453652890422991722156412432965485960404760340108960793000197018816034018706687673493011680676253758341019449395995975179929452901381967248764294353034940384045489020690811451703580193819159005399253854990428116443209598104297256009893982978142801815867903361601288340891824265607696572754763199672245330775663565149889240332801785290967159121559220796605920051664715113084015747198573315595081493132744386096777289684562866947981365031356609445293868587621647238419472667526482797803646166461654600938432009638665105879383584087496361419706343732440744061759639504054302308420453116892618690547745512308142928671314547872493672262714019480580720895607295402660357300016591846228694429707353592797791351415457236366805613510337359416057986935094459307645925364350129491834074656822106802432954472119886042088970448772597852229355144143595866617108405761912964802496895729633619081064734292915801249233415950727908608747347297779283102211703600785545769509313647869059130192897508136820693747662440979739060858195703694795621733909224235687871954488870765540417538648949470012505326595490659115857931270481659345687647710613834516572863565673081448107224136252029771512301152163664361755541537773135312607367384511610608415135837496499914467183123847817266127832291011902305693426788974768845305927887905349031050776142554299629387548417519639979120671487710566996732225389139322340156445850150383589716631779696503376087263341625665152168570773753040224794403987545693099761184759503630211288883923449592670037904222571028065129805454695532114953758276649718670663197079169226050790892188740761776634726929343000028544451729601647189015641206994309986169366851898334010548662959489946569035360554157029370869503683225813239174001133578912283864381866214276391120167628509170158013239407971658678751993359226067740973101511742268902396322001301650111700896408566091596419960202060399859516759933616460872516105373830608301385470114691786335380234107417724977129694982389334746097814666330889062394193197079768488622039448966521855308553719676675096359880517797472617930326912831826748620578092652565290342801908827059014054663747001383302588936160171501548886893591056944044972172021139245648474988858366001193030933405042481909480846789876003827669218171908676966018297820355992071897780429236183663066794572605188960538234728759328230119515865551801782831335658309861373165259350308058239625590828657292138654721957793122433591473237524037869082536021646294813204884573987051367246382465059987311460376225349778221030101454298751138224482136735267372107046667779742422508385846488729490960052186147747715199660246552260696212706208541687872395159978268612079223288649559947129439200099676084626144529668818191118094488991955881471379931481529329582516076010711662495155659372028930345139657761202158250017927165821147493989825216413139833162921591167878631149035037080467291134675664573677603167044711872286977774937204984115525342283689364699486599281638902933332959670502333106318645471594619892117469604407479301121141664974922769663879341360554362801356521885916919160126501703473492198577912155996554507884590280024197928361468861669687294067326579448551412102933164767805043203023892916209496994094626811268847761941929888728302045325483555956456104975075261052442558093862734206358927768284422812958146473473670736225597282943726377487768399286376323453936634450584640322202749734150248757659910215195448391414894528223832681483980519970765592688983154471576951183155510618730067685680405712307832433568627813031698684340855208154148525567720882895194035878583720245447816863460841197036059946920420502238950509990547462252473281286675507560592665702381967985443697384303634755135301014223131859665983550172909122663560683962724430840465236286528423238142349908676609158081152998567318827000131093821576191329659314579978119982342630591411983389412562602152147455618597839408169145555130001751310208382556317361621545903512910618001537992129948114092826421522700318799959583363724143264712437805197524452586298660913976536312050348551968701426164273739442553870410409340117869028483173244466964383927413217588098000494988615024556839321369972260395131599909527837014548012759527925657066876033943012129119785059365743941306541784682021900338105036071495296968271934082499540824216163965539009310071446388762031349134077562755620587774807984394581194951882007132052594033442134001243688746110151026668901067251610584232452648551398239240043572195668307365786346362847139477187605142398707775353711988544676572934635846988478103391466784785470873151504290874245923946132610892919503710118254923184207210437942006267224493626435095955033758381719510544311687327960567532982916131257543568252456465008122805226368146115975321199170660364359744808288562193226739368656062542938224900619956077533306524648443072734872088797672926968147974853263746082115171227217434461213726243363240118432918898637112347583073897410591681818816689559537182399583109158955865155107939110515371592823919727238518934595024177790551515157264975708724287679440973145302040959076917387500961326483707455953415351331344900038752803101337856441911474235022452362008865534205354859562097776348591737878062122554402259252738483077651799963738230090961975938017475257830796156323362664637308389573846711167092750644157476328242109681866702142077632683755260776111089889449646732775343901491089616361841443514027645812228960506038155465315732310359157359227589113492569009356071479776887007319541022834271748757490709187163047623887234096963025340782474650972500272241452603350827917050952440893757333312319820302154163507867782655093217137817123137161142123181244080633098153607437639502654255747238777747951603707602548634894828153033520219413464669637514327152808029100281629344182641082759195249518173693711365151453769757463035503968815577039389834871549884013238769153330886083961520387926598342627243177492768626963541310684656244843493116508966874844693471034053482295484404249445480290150087120911679176586065278724812579775347478803166890035108745856817454970704973599571133983455436889482161005371526145300563991242445399625803132802285781555675337051796143359354831260719900258511108667542907999170353700606436838865760343284213467493632847981345995095244594136668858863653580165643967245588975213805763615902148421583350868717691213845760044375608187454847305378791606854309384081019497206105993813537730874309360802543746183604369148741127222098901147672877947895395173377894112656204674800771293805345840765561616367140328136450673896217852090789222464391679860438040198487605953575729784808053646541796474341632080188152262997279175361841901057253910235261006661285793861284828721151144331217481644040056183601867286327932539692823242601400072598995097051264681198513807028811692974703651388278161801811431468727933233145431510250480273769735906929697188889345453153536951518987596889246757887794347506970959483891870919998567821390784326370316579878408076134700595423153306313562919723476311123701263743716988364569939180204023601706548474104482716849915119737619157080068754318896722949153519195619312478770104883649003430712202169327164487378907486971688905566978934955748268599453881593423799010669245538086603569309347485162719970008372666259460916369119186683408760398160534571873044883787844599456410661946492827902987144851382966227706977101867972627483623450552498684334621758253519948935838926400082160425785815010148688691944139135668696883144598621199233497225849337410553246237223178411540422579197837762605724976861180888568657979800450074365599616849105084972307353455998115616755131668419573344751329229644291365157996632553834794507661032896848698762817246534181038300169434521758808549607478490075673039704749799412435126184213715027756166827369026168815088921349350732182693228066051823157630541607230367138987483779334050158419807105831531091345171439567188012503059886950631165440619618064708073612376753683950228243987528605105113518141919737956946936386812745316528106350383468283573844055142293480079936682108044936068621646006766344830319224958931559540458169497241368057496365679330791963671525698071861874731197459621434447874538755676792302136148597286303389418237450498917697400714288423976680628317290119085740325033854522235403375989440089793296037412054603543841820076325880936286978935955808509497565067995350334583706800572396726813294621407540131282863688230745377375496644876706623705867452856052628768437103120859783070774298894233319665993370672470968952524985445820981439492120793934365568025694559226089370437968088305921735499028081872394235008316672586298989188652170704858091843945174164560090225973841145776221030576886909260019619975636498357231553711648007804190340734995830844145512294281776021521049358131823966276787157371499828414080368819714227388302087450157398585239725106689569962349628354927273450826891202714752570427050611184594647182853205454272334515940869862411990632707461826679560117012752583508647388492046027857128502347846753390313187862966495520706455076895843839186767981971422738830208745015739858523972510668956996234962835492727345082689120271475257042705061118459464718285320545120271475257042705061118459464718285320545127233451970246 7461826679560117012752583508647388492046027857128502347846753390313187862966495520706455076895843839186767981971422738830208745015739858523972510668956996234962835492727345082689120271475257042705061118459464718285320545120271475257042705061118459464718285320545127233451970246 7461826679560117012752583508647388492046027857128502347846753390313187862966495520706455076895843839186767906678569477562130037760802451808273452521432055160633150403699415486061306759533659716800235921608947814046818533147106095468336916218480655870713410551936174510371015992161361995097086501377805338975939883669378739548227896833361381628700251093980230769216401666959917739312248390826447912809985780640532434091371862188532304910289011371610830868087486723811585974218156537092967446551849292875004065158071920282805299224441627354322382564952517424671577482689612161852563998936569445055835103281856641319976266974391111677809487179369657369037614319223834766554637308885177708844968323805818661049089021478787690731157126141234536496390084269944708025514624680875023203989773654607133043284170537344139038932348425031816883026913873884588479420355798916511772879206893386316827004321470084246757852941660469640375384119123764327438684183406337690865633424691994128446600486512177804327689855184022775180987901106967645819095323132112878909014976869469812633598854195455671757126766788371557631267027615259777699256164372103010849931303543718989924700939575282429872969224107111180096726415730726186239271371578280611414300201711142648258488927207225721220327713009982949992065164892245518836614215959589128237524836062172044495902485756809969155862344381651671463163310048739229322622194319536546576778120984486254203960830112776745283134067622943688413542209394960718259832600135575309969096916373496655974503738055417879293820300756984307669543903118727067442208400259867930924143662905227305487332037499318170389925641616744964935692665215348150771057177730318828452217536385509090287600520764445585217234669265970493470604553275629606790606632310267244205955949617383552205881466766722615253909909223734700140656139750063356944875096877152084832351897942123225929201006950720089427540980857268094505906415482184309235205988084931561998371348630863160817753099343135682611939113131975531178789183155992277502484615967066466405284880921192853256995495732701336628910201852959715102098731818463944280052695190904330022355676019778705309066426484472311654176854222119167486235082140555241633628561937291560265630374851963379831249371251258466854494417939893950361305635853814653497429452024282804730393196391966568679509781211945037151849483955346185707607532969762060421264450505727237362397565744000051885064382554728183969647559539802630009732975909676681125019203508629139643085638026878054242269120670846669566779380842887975906633338519183165807333128864107796998027738812163216461819722979938232792250343923207155706556369315292188293554619023650716907691665853411416202786881452063334351824445869277959804662797012743488199998367141615930040385490934771232162308539249668813677226572366504800742866450667231972813565442043144422054427955692892481651067906360543142276229820510603946839073598742744190252742980580057378424677214050758689327578238964933029539316754365582636829334227866799690862018808955961688981948336656830850488836176460312166876308659491983675260971893798508642961542780131573884226269097207549301238347693325994685064488503584484386598349300601794354979546847118805815318348388546700900036239016567509098519743826089176297051751626446321046822400453548606399543634998761793295439245093275322116718512553617107202565833354352696800851148963267718413948971015796822371232377799817045313497795344097553782240414687831031187320430287713984126674284308300996375651519942564082353249959052809366080177081548029774680469873018442817224891333669076425734983149530154917971860386848864164136682031527841507301603828760904785507046797051029723762400497326796540443757434614926309232993953102138573340394654643138039328475460166828945703985202898970561990500585663316810254247961224979941619238080817186956176833555930820343291711186119406614245930234168589283254022811223751448783838043753338600524598377152198085748474091159656051012610213573908775874485223070727867510269340595258400443876916608889983769297115767546444686686822582163159384153340218454302004455678786165353877900684796481611546147742567664346667861657143213956058051068524929302034863111876979067573730613086580498053996249830885162974483234209187093248655663168599888218076342633618038033093708068565521163083570426598784939627742574272212686526087553770343242797213162471865621815021272100153381435276404467438408179213985247176560645327166630534436065878850200216200832224339754743884656908084822976109598909361512918143246941901775429720168260292606936286775939441303998070048562472270746163817080272609324491040716169431127216932459613466992507264935833273692236372077527056795318598698939329745192340658032028977873471602317472274608055716294488616376900498802876817834462006220327101913512335770364900808455544255768267109148155967365538582594382219513580156377119716793670206222456863485469059877803465897456584478524088192688309227770546049463556158414097453554239477673427530500839360542653385834292408867914093681442328587900922305291527999159050090651924744141709100477084998890303385633941944104864392190202256628773984626697129628687375722161881712782123563349047154994707588680405946324980613245053389545238627255245644008130368634687268413792193795785077498902782431583827323503310967089933015706641952401640480259861958294666114657087896993126661948681911951688997857138260889720165022115150000459167591831413795284292401626307590692810259150476906872272115545836998472442221101278300842149489854275989287579626814082842462027344811563776158858566660628707597984538985888539735915067846667744073558896211764902638877304631228815008241486403525126070075059042685515458730819944836142517500969198812147177694290558463647557815938880662395420189374908403227510206348923283093410282378940889895317257072781466983925467615050901133856273474822826535359010089528178689238513054833708012163757061868763785954802148810067207114027051724468180760760129942225757837851526237298044375489744603759100293991487767534772424112309983814691187957254447449604200948758632104967562261710980657037545797784528755506706813330119403702836846318300506680753062470647522436185743826977839833542129935793422513520349235503103226324224496188486719775355803165214710619958410406221190835966907897963380812136398928437310743158230935296944233518933301343708243264385327899082614976500246622336013479717464642080798369546513329453775576622725244620507851699672019899993401013335072075807710403826558364817000188252048738626947279776868198412449713014367444617738360378450588677310415521380295511482941381968111653016235598910147759480759411771570116508692185411471004985307661544503263624343420505278561286837117886986242284537112278047537319214048956991086183575809549838444566013084746527651201522516404600863882540892101024615835361898855615679545559434153937745029100661215587064016652981681454915048709104536360233696267900742045245107874767111085816038833504907301984545965754311516272250132882641327327200458647504003597538841150858712366767330536716517667235923474108220556620738971458967361244286013184480990099661941855126591403124482682150505096821172238621231152652300713165865427360924785213735015263087364504209708686975277506519538734683752316717031793864707833381254703056742160675957181244817241549006779553950339497434406511014026688323398138407299525779426860509803857100388472248482378758702492339217271606723237837596682806558779053366211090973343419979784433485265324350722533603987194609870643016788954090843383183273800955490568085092791321896161996636262009622696371104592305859857933213945718121849704692397468471194090316286548267278160233466412458675531537220698657075888456159200392763767615955391438114106410712803664182738485702131664766755240750094911376831891968759459457677975505054359139588476862792044160738994386605970487557360320761893992907847325701218938635124345040256111531106159816041062934721259033810339622107691013592064184427275725636244992188419296928450488655716808147667896609363464271937555630095802657166740606967045070055976452397530935669267213475656322310521709797267882011756733844202585858563099582772237670124261950140214124151701706257482391993757315398056518447478149788507156871414235362443327302122681085470827797568225700932570140588369636640436028018657355839449184790336263501554324008794445528858414945115640942709224065884058157027469906282629123540380245799757493270182391447626286719728006741510646157842608708921008843375777396856008810813692857565080184359309963392248748227346979480784064776775774350810648131138541202668180146216960634863869351822833302134661336932791685950307992469114783325130820766910151785797169586601857927299671940055236690498805765228834054038295723294956666106181631097892263994073011570024576283747735763081837981616381190797360315872121983138196203449769816206423985075228327733732583324372882160597886109873551913778558814037298650838175116326674547594083452969670926281699808448890104436399294171335504917218530444136127553727404380196616706233382973802404906298258609513935027495898750528072067318378647302489130579054815627366934203153365934803545221237593231989288843748037324107862086056224621755669140664965603256270152469394700985147116009940891283519475682748329672272176682993494445340679073655254171748865839010393192874133368705592913800277273147754869775541198401388960452885541646155295967306253288304118555011888298415869115770818537363775060713350543268713538259132850979585614230274360395764960678598010893795565430875945538732132350076030077301079178964083799188708619632086790511588913741262048385411578488220395923594332704524591411473507805455040335819033847064810142486891972563811686319332164976298148495396460838748495439694585152579518091162665452367335174501636083335297396558922109211569119783167291844257925757550040307490466642270906643224285132454408076050309972583021790257921821690823779438834808656545165803224926641396247339605115247595839356366074438299366773118971243814345071442634906683367462679651448757604216490046578045668108976237352466304486513946482319660407267126392740537148060020288141194791417421096450631305594241005639877803076831545495507157300582014792515959046024661151783936785601612532406275242043711925061379648508919819095877705809924908420856001038860239431557064092622965854619405990986964765074089090371020410737732283300019434413131898982911460768793479475637926076608714832586479309319426065037650312207896059737211942645807433393229464562171529928698775723744217452435105937015224486976130482977756125599017514547595430957297867274007217741044287624195270575130818896669903902513418046187913963917519996106880395794578140869943557929398861400711417249894605120231528627326923240980270344039357213519034584028877988233814226609893318496674788926698874274514772695849546580773589496632043196842272939054023420699365934655175946440193569680887573651356552737827558456003178125785472579739016890446296702126248612178766264775483706533502859187059393901778046471759424323624082047979583793498520455967990254051594049454774417608395779736867376905855647918279488713678562976470361971927727368758174220619342121583922147169397052507247831658368690921206606029778144229145154061195058652651412881871106491879697943160479965128847403654083999670832363146792721324493626985707407047130584348263293188454405105866194037558732502573156652753929021523622074153014465759307227508883267063705821488431961565310418901791255484578746340538187505614044231461197845130970565453691268255794448780425882950076968232189862623811110723687449921424691504040400313321866823059154359549671890135590314696913736224077614431031226486037647919392677174935407534162571025588711228300980455394033370487328235883976509095216726564747258020548090639892790959497565422906184606794762581291478097037557429248089816541744855096727088920335142693606922157665634684417142514188413007346342117709133884972815682697556483084091332633671724772500819038332573981873743660364293416815416085287464587255653507621150730885068803456968232915354060692724241361263834962430252227348220766743282446251953438168663298333351231892641537539026898020923069024691880866165342597137031996465636551784185225207740037755013360935861416370449092199891298081723596202953847731659451593254575127621826588269650230832748779521264161760154839038458698458319371172093681990832889325916016831523789841750955421456573542447703079868907388542365511940355299976861512185036911858118061965525762964582474395494638849523052293904319208347004085959062477586926739003838567519596357188381477340819136711013050785355589760197241318688735176938889609209708119960863932376114367610703567567519545098566772609283078303333849478963026102904982778516773496566301792404581418889016861103714921870755368544212842300294361846299784470990238920908702825867759979329002406874041289587818001551262385066983520761015258102922206918505898797807610317527440586023149271114853812525022120659086590178202587801042247426440305081493400889355369942155412427940242883301635560084548061142519736000794683676743928913680375452258525035643374923040611881347898649501791203952139272589351885032274797283045553778306485639221525481817233208066725276659643162054180594480709373376273851917793186994730245908116531708464778489793524433572038061469870092327006538735123781189355588073827614313871047732133065852429217695200986522155832270762404786747201853835783437702235042508142457128437565714796893103634180893732997220191856775283873360133944177263815622028490159604474228410691468157779660193578485360756676916433461402954821501762780794026532754016988343543419531698259725727032376723271043885021457551160781078490367273413756850547512833318281681806879234839423579028304653257090996989339293195685942215104275316137785891330262383995724924625652092380982163100220099385178387862912847546474997380846098849157178387404461981374483906873405912842383139922683550617309537760077334415519711344778011363671293049539990019837057605614721077458334412357522587981973201543708493212917688204045074494910930517869705671177011419656169548746956995545794664902459880581820522678280554400630551716201091706454966577280912312827303711793448888192757525099425680572045715600308835125483545318216700312020988817566560248156433398561210335218031222038724546176492771976075616398999255588448247125397544419957528755338160752382890749579434084784098190504995472234917678089989735554281691198660291050548190046634137155573699308168787927857366696462826628267844983767811270499161680058808699835076429727402925188906394922183187369232560399158730451177448334267912516853853293533405574069546616393992231256623733289130824466051596075681864137729049551578853288990615412343781361699480463908311094735416191894425279561023915503630620246485820967519520566863096088982742416026648684310185357920109341489959132940129700809792093387285245068367706352271937561210705529957700568521654739563093401459950709068494399952610995037011491148583565840356944392440181375872950668205071295542099185087650711181272383052550942709701808367332460479643916371196248167128781688086672286327543572199760279585502124996042934207237855661033521342883540324720884075362274770767226570322161459853084807014327113323279558962703353311330191389309874263357207481014426060412219499873952098204314094001173960150011637464937393337425009359679835495980816817494264116175890029744537902464510011573256811536605504921822907182084906673068373474135408768646880362810534636606363963705084006032259444236806840701090414791408074372432537542045294549232054885409447277733086772895728448351993062406233360148946570102953727693192398007913742461289880620940425107182168700354182717824693588528969368387123395081807112652032316069421394350441642211804586597284701987470587704917452361406216647182684227650430987221302532920806244101356519019242976831941842247953230488722276199998130593434354096340873414940098361137992901040490216519800169653451050932011865288950013498554815797648691997535540019962392183037155704956611140749069890614688031627456504309292968564920493914266325600490954672462450603867027790659778255886429872457951551827889549293791361864335494956074796062993943328989560710185007412974027902759832985344536654737382544305064921875584905472536631374537077658929988754531817075803390144697612612080121923648496013191453758738420887032773631045444103175204216817020249242468543393848183239720117336727143759140357324974219076628395187262094877364228903555507099568064481385391213949440769981765712217675877697741374769300803853092414702592673097243425147389794333082207091984442963493682734555999275654308492145005895949858388972194908048002110310107746945750302798672045602966829024330049019586565615233850660108608524705125925107236890391442604480419106885691711560554676557754131337846734357281913557921521252441634267287935145798726236068476879424492454329593759322568038241243080404415170323303546805930255459808401814193883913099131378039516586688564053442504597686306846470385293042281253712888124063837191968251315506404586582122027033445251500245556971852044942712661755709779076522016314099243456249658234632741999669659190963031507721622959737941330449069123546628999767870639644275439705307201015678667651462562096649852069770710283319925355222101790715425549106689098901571435225232088249354832640582544332289933881814332460776202119276353556055401812466401180644907486567924930457530305406358998581036430506691788360446337600725210593072101922922418953223829158909341282287505109801463162395736714345765411805422274015650441113110505863376808693783303841959694538613373289247160253222936973132249379972928005992675567247975790953496341417002038663419614534418285905495280534099977630879343399759789105686041339012606507861256082320438045454486313325106637239101332430231854665265092939118054325741690275954071908417628867735299986425460585144807032455850880023749219853889982576356904694020369388274466818401399841773978038022542914925919574927731783795745010729161896999328831375419807672649180013064389905496374484069145828464261242049616787491900287079969791885341262481087950554207435264417947194040344796510910272448179190320555977587738427273813105814360328119623482496877066808719029887234172895279364187064069484639801089564315352334229003147981016684313694791961472060973085801361507055166513339144332448586946901204924773255718230581885747169914636031877933013847597598611209617071626757731572976133468570481409796915486001251242060298788553533764784651123129289985200406105400658342503451634685630309405097898362527739341235446910129362617019899713956710393977453100963054901054483657021671991872203463575636382441116170937888938549393556125009047936371715422408061034381188603305755612486733268456069417527934409497025997743501467019950271079144783210978457155621888327410710976530634168129793345934674275670724413469431451621670473376735826853171960542817128588708301593160488414921903243630580503307219660182809009404327179179905769932354438810503240674918606915784062898734473767092342257822449454348280812656771732125804023869289361125565308204506530663405614901036968658562063810884162112507243746872189242092630265334764851006488240187531107752387990519147513017011555125936509502776638656047599326777269553478063270493039489348979598091177892565374432654393742278506271653261710049130127647658588781300480840711844142690290625420067897649616996620372407499901838392496230801679713342360699757087490626659373346349331174723891567344412867677628500732867428934742984354169140694898144641854134452472851022266000796138096075270104077275968926615167444366066579171195189270912069311570060784613104860095902797295146546772338319753003929982023067750861479378310340923251667930588580944497178020124060753205842690453320997327935806562077891445512444048255269303533035133590148144451647017174096780541342209529918090602912607156833927661689267445611553209280009335523419347624811687507833375052144864123004693591272455168409493435643592020840086639728874526447641681222431979005740376752041131459356908294863650288665138667187098401912652087193821461049629177160561124132622984729181973501923264693476067359179204734601950214685020422272549906050039052717398308823934696132954605823559616885961443855177325568257200408640667157261428742158656293653466676503053994372643377711755248633346546866174710294742570747114524084069357459330581066479105872577087039412159583497208014347320216673200295921778311465479415676323580901593449839343603113947019602368064364710155265483303322903249484887401748716255541784323459835831317368567411948216488283219830392937820890066686416563563299900258912425367465987427578424453135056811633366503798136161033428769139977909395653758746991782052951266065435874802495310546207908286923825317348709348850922029899749216770759304665115811333830478324658453779995964224511055205282259855135799543314078046873828830918171688650474647342006016159445817592764878317510061540571533408027770017339348691597254483584995703116908905023479004182696112774389101113682498365112435221732941277060381302634181652357514835007798682610689357810835786811158166380254286394548824474315217144653188212265603371686438855279490837229672715058599839020073704352045196213006682618638971124575397983167483580286609024375336597037955301742860170982285254346628226050297822819229679749507068469470141114718271237717945439542475455823176370720020939524803055024861529194258380746445612475663032936211194064385351261733638375785199093033778956350709984872647563288157718587782973537054845621840616651638052116335535956157136554883040230839048499053464022753635053221312628579847488712087974239197129806515715622514535737622964969957851618947258601930480188788414077064277898211155038934041729907842887791396031909094756427746282346450496185589571867270893050509917508259060162303560854100261506599582940941882231711766856103431094090151955603594197629527151914465465701146273564760341664073355301078406612170688048776765829603445926238647585574773412285590994551261972615033569804674294654465241074799894679978464892745481446292704610242772494517285427202517075137258797350890288356512373075140216213117026404825133197504282209895138455281362688417732670088252543172435798898927526987160398846333076402741020725428607539146320563341900517801695481641794931734887812244472518611941008835131375554904941816728642441721880263881656275398573336004110595994336004451093825257880276648144257909554842576325666768618659127051483898044159755020202230844231648171457820102308761368940062171591863696647566801150589395069179486179388110691357391119291194764571638424398506767609270156013876254738775551308216149178633110756769969326398363601998430563988679303503631101462125926182324329202305048739735551038806183963033839202244502187780634180139029250800165476559906039088069177185244075096351519581930854853494363752693142834726012863215569558934759037521733395698605355818133404046834587120394074492363546970801353967029689205641532705761785074369410421620028138597409944580394843717122378085916106254729128941850143373320113941923776992728498792167957048572084826211789537450995901605731914510330159219504779986163997351363430181270766361962564218296135571474141968251977845129239951809480276157790515052996245646768594108003196552477778443101848753683776930481208594934751495753635190836645103834811783830402008724954329435980183990961161442520808102461548343772159007474654697078956825591781021535644406013968931598445159332120198273787780746052798480631885339359255326405680475871392736171274390494442064001760465960097267419950111801944219947030763868082018915210696080337311479275450469180708663306830471771276993888434975203615083864030923677079665962407466530320588557954353589859477754208465854466213117417321363819376111745267198453771073659565949816596887595352725655305225867778743619699554527008888504312759094143302364295198309281704636367105770040823556263457878747852344823998469437807398003882103551971467793674394843979504226155553063937295775976121390828294776160906986615995244347407208254872747416379054120320437632649767578839449115948526175508148236435201449006844903755254950452871127759024402682896602399138122666872871694391424233569071672197485298549065028669385313900278006222810546594919496576773408717385262225853195847657410136500168835483562369923544012235969360060512297048480867065598283362546162498884058080568387476805924167214899254667697070427975947074439924019217135876892945577148244404837002827609384443667265579592053332863638211834362027746460871764560182369204997521426141119495091413659399395988849687325390545616898630962962774556931596271112913890687533714285816832655822915316734128890277343355493447886835534106128230021846623652602520308299055735996294121284036158487698284476721665060508430933235779163412598672524107411628555608874176483498207142090696390405828539182621622899826869597594938059048857536815235174514964661426965879562019976643810050615041800687076584704534771470059633072335779079437670642119611920582425444418641308896296689603339150013243279609922778353395891846625759931945266902421463659868461586505934071484008604030338552638224638158915811836335966437381856210405820132816569854031673556381630196805645873480396751605716449040168382782016031003260680326683960468558981291340311753680129125576890009703604992591452651397757729834685305855369363518247572333780440075047551435090756127219522846296067221062160746123771515371186885040037147862817884264613905805364750289469072392890947226362566212572056919773693290313934135875697822879124283350725027285956323478025040789612019789216413238743692991691397743472714978009964967297895391487270489581227501458990446238905869642949272303541293353238761892115645887644297136389781641322138439455803462655791314402914125011688519989228707998820333274588508787396201958428491699988096256663978461402160950597299728709612433045762531292681564329180373839481915146495291988536197668964987775347004098933337972715949051939180303124409381216360642720597499374300957961622047067461174085734109744287490240722240719200849118581815181242763385231140880919338699052473755179697915334836986077884734179237590002069645477898046544209616558245456575726010982927946212016035864590980012146110812974865267664937754855501638009363914403874704406807417307111491203955955647637863687252125866419965181552726826102491047161897279219963728814057729543718948300129206125582500880958648234350311584272504471441799240885831604436354263131199883815034474732739773265725829183742486825322133620191484736976267555076004784747507130263315279144246484583105426179273255959789950216364980568016721702398636422151384913678946966518959963698189528929209109158145580415830296387791786935412183004099868888870765056067578452348837144892995803139722692500263442393372937783612199894600460805192918157365071406052132436657117486518651095866553176699331817383034483252372392809606769052368514645582723843589209066695738354627801124291041420564745807139444790481665880981587834729983910310275228746947404696773821161510972471275609181821603213271154482879902209158099544671791023985775776007593706623699315285106178001622280013068950348282438059889742807809786337323753673875156399625002026889171560872056819803813215927133464986079783246988263250521724677323215850527677276908073951802063323920222893513074342659786059370251069263878950489395563219211666113551555981326905757540944016636894260092675520406533365539514595944303364729869725224613028739834973048301961869455565752979106778727754721134723081066651220266183702365900835311812752978241047417681200547328540882448388546683741423365059125994228687922948350772627145754704620061650940034891292603995543195783268320040354268718280682549652538315835325773079887414298463873930588432411167585453287548999719550230033835213264235652711070175079374880683078560332541460194332096770637493574153953300374788399099007025314629659804152645589779939487647541072485093192760329489791717413621378419810350684961640393871356109818785335064948225067534562645152529774032989275375616918174853755507337163704805113108209276849359945306955812100822853145418170553396237627676852364626589367737334280355878578128082111574306197915537124356435476888116318086833937758278931522464199549300169784479090007976647619878336146456619219757545283023899841128019862103849883015774370873841082808014473728766681903237096742894197093402433644581613180747722821337753759924689494885688725904871418146023764695995080138660434705943517498600905231831220139459184889075304017368699612543946672139967231403034936228627011018302110667511115697441309369448508843086392094696380055670063404787656103708240980486788426585055996477627529334517217948195455073849381133042385946444639016837234401990718808607747458465023324552057248971165150373546124839533550370716633546955833592208900331481109310503562524157515546073932444462024389516294507183976761698709746973277318500836328590628633813257734717679708600828636578477101424365570873713729405753606851996199014232615351912187818324038266010409932276803870251828268990501392874943375476282680559264438064463585291569837975102408599405715559620169061180606385304794627810116368837111501855642083240988162569805452419611080501075913425742311627438861264992086892643935521215084790616735964953417920335729931922987009457311999116978422688536651053937230734148336277659461082027507201354847990537719775211020802148813910728443483895833745239607913126446165738853182117046599366534312649590347241970089105720731051403100314200160783683427754926384781255572681147907979017869070658706347495144162525321346591354161159377354271127487844264010320913869535451417510456835940101622677546837090867791763832995134146804688956935286804536200975579858801075441759285242964102754439417498319758454369167154537583187985830646715342764626016617073652015024125094132891717472435772793642305284204915384313671868862378670068866990269549824223482653556886677643797575821735368172417852613962129235281465101903304020295980863199433281222029898589174133129412548255309686872331162921846782131002620265685696863338986031149068251518406535826202849203691108013004510658289976889398622302002987302026668239598343372148343594114186800944102423948059712951621528595803182583624588407389192471713075627136269742883335952005433740229716897756514385002397963122083229688685441518076875750485099198641600385192906490187818432826073803657941537508892247333091289023297839157016547098990259096337756258327711521976990127206542767363431443596338669837899069142731429877121028098135403899051819659025752871711017725535981091889718059690665346225255996108710602903850682610373659519036598094590387568023489581209837818456632847510122625581176153911397278786965663647603878330958458695212974136021230392623072758316201715327098091760294702138897544744047645354181384402323951927105008365411261449874776295766461315292730408262464670170879217673162155902352103397158595470580242283827027971494018602228872477449515019204840639089778470639368376384247027691843714011326399534905539160928436499378627081492308485158569104536572034214111838272419259960984403071513288390846139536707141210527220506102534051019402940749759574527174929539079385860638632271697588309131577548083427308450034582094375678511762382918133228500723956526732881809023821928341494144956554284260221379058861020041883391973178632547226069678634981468979548112924564919562757485899108511676602352010867035720624104191113989650805631017762544678994028211648920629930993950416269193632852505659071223682642913459750001143812662446396194029226124931396646008217838602422263402909882607071413101340225182292518114507453249611798278098090904059866888739465434533741529283527320684520374228670618018757744193084575684590083048668952181850546205836400727652064823160244792294576503502716102402360482760918929259141865443107973061585721689758130145997794166716858356701456279748137762877912019970773376009154885054854373491910724448878268507976727424749887750371695099645685066210523598133155973577096559064049995701376219792921438423190219340151337337146388569975602575260969199204167969823087835133893409721274136179671333180216106553351478401227180500056058996254410874291771059638614888712165342027420219400108982349163214334109664552364564157442547616280614994862262819794712099533265692883575707687423148256547621396657615870188608830873520634213818055080953871062643310979218340123910155873234497899286404340085664332440355206342945708350867459782220190720434918209816527415475561920532871637706698839126538932588300907859330973252798030071390325461116679061262209148495864246313746047429285121225840905884715319438431133107476804463295291014411788533608414724183078822879553889265428666448434674012601752783005323779504717394619894984126586178838997327667730925977236372511240936935715309934453343631595721100047780613195625664941902661002920527566702498156483747966409720938614287428218067177294446686422969898060104500552718204741935330365947648428619741881735991210918110517831717355723362048767977349797951642582972286108934350157998396311335671442077751224522159445888123539318317898427767907761957475125202725763459241059992691541859509460537709471536644233681603453774944782038031479945248541902415822547307801051092213830438887300974159589762439285168272417354024953352564978836174476519814621487379737335020138996317498404803141747331125357681087728205440275301579499212248228188315859903217642180857611795898305076310457939415167540135991645960889661120356360724099260713876870353530836023137161827587949437078802623545134999471005751616584083140181416096414848555695573048403239322052485420840917721499157966705053940949709130942603584424107356659675150594129765057268149531775654706723150313046360845483584572144624672088377626519460492307291085755171808704011926298599674373996670398429978562924491578367945605019382322891997842022914384619287710339811795327919640087064849999273641610192982828364419870228318235369601337295269640031432055042715716563003478017192464206518546075681103879480426458869192365485930336260644027694822097406835423424397801948531719202606336030218984998773957051431924279415742837146691717756536221538380395561258833625325561989888138394131519059407836144156978797339022026664366760566126034177238527338171700746543287622673577991734420640145957598560581198520436099074878620106330950503989497135317475818349436118333585257563921246465585146177331430099874708293493663050146531674574921491274225822088849460920942321143346282517160783182427482236806311975876268107227796387411914481207607961353984499878324587780855847079140358040322793321570138959365817735396784757753859198605907702571498519979291886207175540665044143674061959756902461075245136349660724935824938152862368659264139236327584459542351653026603370230664555840862306562445697110879197830061029764884611057424265295474176486625207870400490901790467103598496470060348647617110294936726514970098727032847990599934789281851306023690074930957379371813869516821395468129591464986234149183262075502638768248950956748676320520787040049090179046710359849647006034864761711029493672651497009872703284799059993478928185130602369007493095737937181386139513861395138612515 64986234149183262075502638768248950956748676320520787040049090179046710359849647006034864761711029493672651497009872703284799059993478928185130602369007493095737937181386139513861395138612515 6498623414918326207550263876824895095674867632026469345517551029281824983911964679091823935241871555252286326831894208769977596787361174983485889930089824631185447842241011310191145821330652805811241230053589649036369265243691936406940486516075632836894857192461337719895892533652652570482026720647698022098371415108748082727121455265654004946322613711755652255785578543862048439727451281124698930395385132755720873858613633284515498099912162217608194229832953752884308497481526598950959603170767549866453741376304678326072883851651589828190598366244240984123976754338199564138877339025561910404340709254058733122719515004390733257007402291089271063985702642339450723016625621780326505250808879203903983023905630409308301813017261457073083950018428619529012573812442180643661159699702227693367937704896765160022948925518417169030129907212012965013335062700714227663549741111999219819664698709566640066532421003947145178129100001780324540645368945014739497490056690622425714606805692549462264794670488663628935046253209784701286810903059627837913196010909078160372575988890915668049431931958905969736237831810429437253396100728725746329776748022624482511578553027500586014154190875372211315288767244349548893937126811823576507975737559186226095475879390068550537922635207130175199884858141373912082390955291049480886320773452653449560697377315653885478357543068230985809033063451846343524211935900991772519327329122989298239984803314307134208898676864918317664827645516485097831831275719666859409654673991686667380311428772560547672156667644589756821784995803697938800350918275358548373510238035096603225525565991415554441736919449621569243311265081247949877523397160098964043204516324156612432501455034316605675360644354019814710729774780115502323050776586429235572979795505513976023219507014587792644147392121187155759311788108567349467436775790869700486860076104855396740093966826692529948537691346709983406583106232213642074997103676648809063665818289088678365447656052399611687466435038854549657939336678299942212390575467578961132002146388875142770428485161410379085362672854329928261900912400426930018423089741947233718827707653645996344376750730597244890946843733502536860175083172039515236001787907322728885243637033300444409278129059345368663141470104659341883474689282629988236301306013766926988217798851721245414573378488230382467191665951105174632431279031560874148860708155483110213254013356868540558834310188708893876139373250234088079659382014804830316448112317620154024345025897217767005259876857529110799488761703346812320199323113219287434184661259987018174656117914611868926837025201652991198988874948829242061696496543089442346341753064626206632041270524790465222259474852629882180166510377391520956925717676051391512907908330630891313846707678071360829899189944905399843274940243889710601762751648654324350417468217404772053579072978819030064762179565605159378531746997543678504299622806859383605835065216371814375812035946389801353857890087538637799944252751397164285764558538815095998654259961111212635252183537375408938382994071476719479556565333810335609209165135879604317564521490021087374521940701660790742117146389209287184760160902492319110422671510290601789567464238340951983591142408642645711070748530076249802206736383779844598841477515071622932192031026050055150907697894319437834821122313171976968730832874683832939868019319165370266382003482464988882800995308021917638041975946273043423705049816862663146331381992449951350409336852132648622166261430456380155416702997567018107991459837143013400320349765295216438577834202480497460481356556278767001411676453276570915946987857471095170775617589719547014691405289876238634466607521691840515292037064341671434458101488124590410883667693696301612214043030796233418792780707414554309612195098803307323271225143074674379294908470001118157872176047256284368744402999903490723523364779561482607275430475073383579416952085411858141421163366331884361393046086404438120305008737474074303519812587955651210154379618540181768351639553142978892109793350644218922063827926017080859661513409231014455095980500497093334182603462822266136524578624368933828748180808311663214088601896279333796917967023892600395108849232222624879146995246944822132220716228187633754117440717644082563597774910049844113158664565521693479469938534589527648029861584022640999942100043342064493941644651586082274972790568046591058023199814041816664689710703815899178259905244379416476766531363703816495568807841719706669088818711189296355409708944935083808672087408738589167828057846463873013356329005608175565705186898351828853855818941876184643188554188353220558655149196084013505109130429643867372670176920946256840482169559422438162836317605490729939838290187707137864821959627958273728438493021076517011141209712718951367781133634522511943256406092909203989203031142869311029961628971574165135312265097656638725415021881894576960633826540252017462748433137865936683535892728894413722271223237303189976271218756359030552405933440680406716588549910892233951031852280400316307779313938878812426373994576617350578045486470971336561226910545268032335170946578223513263471197754156648001216476189153839445438270741357110988027382524358192945270638724302898388786237397269948101909956476339872677974381882407864696372061345750204043865140481454084863722948089187495333684538332918569261160013609052698074850778808097199220790549384644912998116044510512482015768134230369758459793135250764991726718978359204624413558353968020439011298808208487927059939845208151455527716045554509166391086146598101094364855299583415894050113221759189182274078858545057370754171980793576571347642256640078552027123596498418147809185247540517829859835871945090092645620322145679360032009803658914036592480297059704238934014178494089834058894208281375410845327194765940157849180879884127867128834697304445346330011340784244697467610052163252314696074617972352275188891136610847282504473338769880899788249617457143265389593198919380945373562006977956600732920737598787739533401224262824638117604665529549327760151654443398797796575964213036484953802973362973405409536566027156662095624204018972541002690308873068859675832363484860800313674933788046988108179243487055585861260443351113415506834721028038863079884248647959934426910709807053082895065139289872456094740899115049915932660761263981350418642126839879243828106390190244271673507646240245768175241297734377047211534086168041782949967650685806251274752995065595324988186611187221699214720955606547552197614550491099906975684236752153392973559712252757150876656596645027191717820529388510936944721032791299729978949595372179654148220468484710797133152924225658106596490768857512128315157570089156883907751592339497055571554396120342875806175188670398308678334081013481683943703392193419742431633468771675540102879059518554697024410748369099885315922357683605018587567855736374585771484106340133489759087774905833455397705795352135901682664773827250855655781354887635988320027857706316422404683951616571696563311771164541224971808621652553084508026356189132604359629200964032384354637212951594753702934135578205609103465031482793614106566034544208285371600231136681319091964102873049208500417437038337446281046462094277696378558093427578759878418333403996601935420267148826128194886255395043815153360888198352817494735425296130520588989474529789819276536230214649271640863202923565929941917524547761440843060223793185676064830394341621875362704147497613963842986391528708311459385176684853692245247913397018567966189810070204722123318045419230799439221508991833972212946648542669182478057987878265388133877917479992986271645433393042460911284741410076110542008971258536672836314860898634346456934102417486756764886499932016760769139511745616303273744980446090780906403046763494443155886989737215023060224087689628089967772008295400972862196936979990856286378189206873431243425191257166586084885331322342618432605583673517357559462474494240918913520207424891718440223182667020736467686101862473648492758014735888129615711645307777309918790610298886287149302046792275251671037080716394391237431679286682193444622476572604070545998596828789594818122960996644984189543550512697462222284055821601781563848932415629429410235472447440652982759565085230803988104176753109539450829566866700980596803972387830710888730991670839909866670302161465717224784085226233338425720816810073396534603214984320697266393091865149254801370103838705478495805692390809071470146803194411882916774100108676071463670346097016587747938619865572514916032126199719973803490164842267544912596739312397990074831055385068661830482906443355681392530449017556754977224586553701311488545214557527650034001289474274223755834032167742658602941502854059595734178734907098015908582653022046578069213686344182383358550580440690789048769469523016824226895303019503849045740947723785841308094244812638676254526179071856678494915944757525890432985971556253916870664050033869114702527528774632307639477366220502124317111976697554070733311267595581143076643508377661383937418821198728140243019592577233992497745653599173737048234552569017468386181605906850252368717229255820454717814319918580749491682119101061410175466753076202891546321342918722601569145323392446783536092923925956317992477364265588541429930289457142976436732322262923602401555030564320283705186440270320700941330893074078971459341135466306263658728571889770055691796392094089540494967577669166831282615198053868579516388745693396126973669872220449857426520785733934500552182495973648387278103946120544515637979612030291659476574699341543271014074745772892654422996600802191430751632012114712233628868911003141982697620811610237200462099132116432607069198868028640972266780902380740359354214499157461979683557148136771420102843682700410344318799421436138119770538705702515776750087453539287747201965450490621594472377056510619675999908569487775939149115942015050991367741964053191223539274975510275226212593290315929202063227431563163988355989476949127802825984508358367998620353352020685460559216786552835764981566953231585885723872988882219155944803787090891648567299072137386053604371214396169103856951761602847570707412208855744548038615549299960111090089529305615092834665028803983155291889086590281766493385503602113010042614046121856202729086358517057052077500603308295180906193350336573369268872311459864004662237348473629802877988102147101924585493748777453115962897925405501780747491964778406746552790393195565813896692543928611681270286078016492471757947690040713838418710229217335189894076408089714318830892216393659687537987014204003784913012750100361893552864648042380140726687789499470242525139568329366720126727746887603228486942873013499735546344984108290399024614311248528848255524681487627399427149890898964065884653827774882015498940055948650851084658197861933024860833800725503537057526726162627120895748385707810716790396321406114798575892731652066513874141839901415240806942716415312484146575073671621014372856615067280484820945901214115397057048462215390455053205451408649083481693367506628520708504476168704764247062925198421823405671193175977385071213843566161200541291487091099968133185503456755250273948056094553333242616500497427369923689595571203234581644450618398094463681201084189262133146656721599470819817686659148832682318546016554172883453416704493091663748465689767634231201898326438391034187584136241967457994649202221979834593056563692756849359777671093103041411307312539564248638501455500757943604266544947470225968985102663374383018153260704636104120350698291007740247523365758424349259806781961067661254989366947457932038348011891804623993440204860547400539729198870648908353273846254259781523770165393409066396161418136993626227242206373381984306775264803874177190613456070869512882942134188943261411559837419843096506180799248248599557473975865979178350016251247911768205661124568789795467228944116120724622182150361118719603867594046340815340520931954899452801363923920455820705023281591771107908638599432662526833708351622186279069635134610001892728789722396733421122488552537949623348050174564571416968863601005387174928821497469289625347403249065911079477469955016629027142984650883917957439011915442316633387279050548931573371400843033387711793984550288105152253878558588527678672465468225260139414212638002515110525362020285088336811671179131453518274582690793621433828736367147855025406183150742638171351310767393576500651872257966213558484525199814004650496644293694462643253534227048108735843865153165747836934943817561843938910192099339207935917302351336134333617409378894332436367662102057520640498600339476261177306597900717338435086119046672830919191405487618249035409603611171758738428295310712978874130067815729007187202852534737368305268388208851900652888992067114141756148218048590301612699363022004245730365450630834445212718140481106462655021833491808728134317000593894546477780717800755411594479566368752313028096856384976646741642397940380978024006822393043975148776185510146807492444313049368424027979663806970107218594446946675695263158838285262613400278056513954164726797847201873928734317431956342714686128687031868026805130778331133364970514243458619433993760383134891953616522198571734006026268164233315262753256152699866044674282100016307871335675641760570610365397244034349964075523914459700042488278070090182478520476973060681827286895011123040202596546463916882653440624513894380086858263099263707383047836303898086010994899412575125614015344638442370874909562441301959987563891046520966754587766008659039521526930724947593463765524999573981368704682383578222135022751562771743922399554134549014307806588887145132813370761485025768523236382933147428059668809646209984224762074394269002794291723758974789327985624247296590853215947205332369490434027966266307402731316432230471242896578160810904602256804488197247067993494893743915075505173557882736746630113365128062806763873894435107340477854284494581032402153026889267092892734321622288665308079172552536648253192224860467190401188149796691897238390489921449906378342247258297448757138716393766038353195822125838995005317567009552936485078884042900036232460798510809447041187766965698527002242365421484082307424965912899096508885363087254327321514159891816287567811307051625685105581512671359344832178026783508960472580054261710332895188363891032447371674832059178733650962829745596943462409255652816656642813369025930758740440023467313737677792486726102625840368808169386094183043542160512328994311377533910651173174257919038774427555774666030406620099040630426051492029870431846013273895090998152703064336944690410044571202235451171011328756403959370242331710298393490082072739036495979673246070117441657434325499611780691764675964746879791515572781516247306058334526364851289816778469808818991132100393955511186968360232676578194608392777588773560940755982917754280861145433013950045524655124291004911372885966068671895355711890373330064908975683351650049482437502013368515728499636967464259149536037394115496098234431435109320221809709359780329549759598895081104350136062164200304054253525182009155876233217544217588085941929940166160003634391015340094039861381614185296591895827468622176004007540224052349144874115414450603504256362329696036597208236492559421476520771374574795122002325330757727354406667254606385566002002468570446003727540392329608743253281392448927596263699974608198030761215869443681254346476005823451709865886875789643460227054800708379004133051417219265941576156879115019134029748585051714860817315609739898187117889639975438593851481271228565920278693528607609610014500468628214330810028800342379908031603885040608297629418230827838086035227249810236770590604646347730952402490251187179864243391902530458957320390858507871952255017770376521626642185281981740507340026663725152809340520811671011269698677937225985693349519432693201259024230765182777135271884472532778020551144835864447823011547118441835229325114932572698861749122603284020727778843300201824351288952626434850401801176692189400301384623039255957312898153724381695307731589478556460254890123359844526030584211078366417704984380422727756181463614970822052978940468419642105195952976344279449380087623752745873654043686032392568120396815397806203184411751734063549646449468864312900565992397103980260552719134441217649315767012502328215868291339917094347218601990614994727041937223244811365777364784334202259996962798552988234835813451982181425675924349886313315764355498522016187470094484862457290141545591894888707730437495867207924838385743401098250062896166079971094418369987478443956767929238886241602443690271546527600224939349036905471674482965770830739242100152832723379609356923990338824465601298007919176430314202194237399396437444250881398720311047330446839944062988196979371975773532541936499970332980309505730194490517681341165244535932990515291198614709570353745265578742451856888960135130446546702707588099460903301835695366013279171879444954101560343692286480222247044767586960903220968422563613405634836829717434394913450350154562712113070691281968263867332213184044441497703738450944461754830545368993606820580388987724741195238929242163746784562498542798503144932995331585543002766715402629626516695809146078810174714306991744199865847329040165535665857626308050241495588477533489852364672238934163656532479436451005902522586321364641258499846796161843552340352324721110521226636091573602713021329448208976614103780709193655802622181784957122075851190422878000874592867736276332300969043780313708952520766671757271829986143936555118371669223725419466798082166668111039566043933750372807554514848068166043674678943264045371156658637505315120812713275492053068222000525692985014308858791838338588827226166775683455460042038732166503756308540835999973834420318792535151098838338539003290965874054873988529729683799722936601292312307160205509733930936050345903955144350530779986167924716144327074762450851301978973869927099332578952464554750676366826464527152552254333880535483627391626239252966766458754894673447577273356013838273729005393896656592230598571048482774398049720583821115538200989209661369468931771991114747170373374826981059627061291313996060882187721485255788982496057151197409955071399286692015456583834310142603080858688493271922984158950926435718314092471047051845128758699884109287359028743120393437627985164110324412262926311001109691495544503094533576921409803315676548064212577277675625253662101808506368182957928716083982340214720353625982063645520085231280580032671686683448151104637370484997348399072102721190358008843242221164334445080022597795281797172269973237438645179469844576480639489491833438525180428786932632752902447890475937940428598452749922277972100023891121548938382391382872989931731194761739061150447827928769110237647550252257173219481814737063013088417889819598162999541083390244410692706737595956997119535930938496110286574076506367694490893018558649870372897272343345722492789153260922324770228772629642491769808030278236217239379885400503625715548875361008901145686498282437678150512482820550492067614725271465218966300496885795997677522593974060305110289858039626218819712821705192632230895174681586477249400663476252399854173196026161036924195715977601971694902399328727439746588043656593649688016852863977515522475999764941859502680405006409698435113073797110441197918005746465493078021521252981008731406046947356590646892418148391263600007362471055648198258938088745764536277429937681358765419179735722961270008929684713696493683678963525182303891310399263375859652579616496449908909552435508658902553027859907755325901273060023553112413722883395464048657778331615768298615178650924137474237208870130880543952259278853023943092165956490984077060959426129628247967788111335332629528747975409878835566787900429195451576744148678404482363922335095660072754793914016971072318582441279892338820023779406397575365725162501335163672644359159774750611925713016230090937345100474527618016380709677370094376805966714229413589600824755383245974803932060796044905017692070585123672619845895683093796806254340250957462165951887975505779654919550494928671233251337556738716057356380028942990248851218801240568679236189247556048248749553282638731464641642059885385147743343317259129731711974000426498722243810614211032749924136371337547432406296672518156579138643702562024303964790489005044298526244657566236218820854094942368505732727377622836552938642131946178526062604999062547968847458530441305937394727793077535078193557627344106921558940727573628596944966388909215851327061017106149797620538570852812095752763294985766777194759352152421676877868173437055674237402436509635179971533020571431114640135864028290245151732610767169202252500633762431074161787476243110180290133180972231123824004466527025579134333864823384782408364150914263032146655473661759625616966594331206659851276704614504355650567632319272380345140253542128096185364065860659568650090054298405004609354853062062677047658456432303555796213970401284145071551329589154551669286582783894033915299223882332902538885726058492433074205048077496581896610609181058545419793248020379655682803999261459692054638058771364903148774404809112742816548241917457211102449742316156169247547908473075166326609819523795676463876788253431508822081795667477147068016351059647568318898324971204609208556997133757414465046934783022432710038421476879322142485713565646283401032424128263276542081608944807016915495419078899085838997387070670154166653384195835071697145193419203744574382051040777729732736083932416374562858922413376538636749550495430566377084345083651770046466463815328674448226290496018468605036883440776084482397002567762132357213772691392393095925237942205667698370439260789034826737347545283328576599177610125695553501926205517993980215710312414311453023069858987010303589421288523151506444142065284953493622024421560328509445445462874140740184508573337343507763059426122501925255325129918634214765821403830797952738737610527302639241822426415421509064600988318441525643072600146861460116194913024036693824750171418942259202080670774549157595384542378138860870217866424786028682455382570607007852827332226510563344566490874361582295226450690960831695617260526525349150207041380219034005701788311831237419981786872388251010597475120234906541684015733501431783733524819386198287179971086117048195607925864281956197702496700421100095380047388039200472454678730906292796860054268202283888668402908313352076886505277918656290128921312403151147840465000757126177971158769600362591788995845532035287764184783978631665070737509669088361316739147668310680483001761136059412558390261849754766696217285340358592190345237671511643133726006710559414359332135805934319651546323178338090818578233195716802322563645435465739653891585126961726835665295452993366536165073980298734018388646124416365174666669893892482737826454263142720386501175530970761558733454310267608916815162421264870580775063592788200735717780569088816079843345659706100924240360984178262541720215278830719157976674288514505877381337614484000839126439568917135693227613352816047973256116480024364781339419493919981444634503389773048307901722189787611415267584913782767136404814522241700976380245927541667269859014203411158804515183793647076944899216519582332638281683336325513023426351694440084457734264891932074127715509564322610386891038570095852192162848418489882732686554704236675275075298431229087305419839504408942021416678082196809827976707749289849712423880933541449510829425629732782669230041011618064786854216339301274558922324247867491607615769541168830213454217159658460908480197196494872285422924913322695771899106521926823520973428529362798860921167917076294858474961499783598343087200700477102185689744126172310910355862262499468390249780248231061077389080430317290598477045224303210033049575696595575909808971877355132748296339886457187784691064035564489612527351448682310530027781884310676814363488368688151979359194805864518378586597310271207805878176828347642204580417485465272557925932127542209355067091521746074186345010479544484728043228759042785327989258645322429852338633257207854943441007130491816007509571981783809560002874758275571459591214237982410344201199042980008348466798477917366763391675598123307360449981783300027146207947153962607424019051778269682879307334273726355455968205132147577968851655215785638215061003757442106878698175908797231054718785979450934163531730971342755736848046549368460858932795193878054835351838457955127888971075385264812591819795227144673148897830668144129480904387647541720328836793153948731927842820614083782111123855185925737202642344646616985206338453406008552668716999882546853183684501164335422424676631974561346008496308560574537359030332058584604742117198315800728930013561157562071742314893304796447468064963812931642923523581139029669949468001450688385729504988003174294755623676743764994243612959018878163634223194934072584973173897184738742749355098506472696968441265206780502194204287610736288893858850387324568556438816578846280988661820320357823033380099305913007233341323450960259737460520043570998600298145509578462832001513573592546027351596756441636530112264712786403244824007737996917646650602387339665635679340398356568072219654048851193224882054279809129711007700450022775461206617166915591398097656598227169631737132380233081894643812813486645249599544573599602734037495319810341373545859961495498360917612628539530787384570759463293037148822519303817175115438350026708995826545263811037252548877439260135406025221454919816995798737164535132550990520879677994407822530807758169956027111277585448684402760529394514288800290953802848541101226157784149158140774999841496292240198891308317859666915388229009946947450247844902571367356972639792830403286063454681985901480867741408921089040105765750311041922161494187431458784761367147739183053531438322669545383299223940456133606017821411886509292207929496640912160035905115388056492162705446419123651890820653277589199738922293901200268232222369773672330039382172367465305265074391406830947473212603208840098990148026780199482685855351480657053914005769345471367320387577245130697596060567953900372658461138451132306458337250580531679344725994305521750085317786363398194721774384983941664621448550518877066168902788747419777507278594616784819648879238392429701230219526438487691711692941913676453989753022131894427468986445119523361135808699525657384995132272344858932311386797831195178438771350648230787048299803447155070141882053104142668229481600816095024682359788933239467695015594757502235926020424722638494100311367044097453658610308012059308927527610728526394257529284362186377642535427818993064800665696367275161697181990722601937571168925947974476124876288821798650136747507500638323479883964977400488412357566686571614215831108473609139345000273200513079812815702225616906552683303083665638141347007081942216648482210415934349190820405640859522403880037807349261650300231717999314825929118003774744659501565939981386238692869062652382061233623674596407209835077011082990790280690341091750963573145618231904447704954866187160692280303501373595224123316964183487990807480804086899822172755131619587809677521653989830962034894093683856539421196123081021103471051742416434655171920779277138529506026751864243969265536723344784100681455951149036782838817570535380038946002769070563127023230141413066316801746797335097254146260959957881594107278065966542285301608309809482798087779954151330634185197787230301266392253999559413949621100419546078252067442508032881805033938921875652444516995541376477841671637307558479723386593926352240182260803169276708468269071288406191974911765628699969084970730823375647797687484667530526919298507928036681821437679607305087380808301446429759825417007864397304961083418619696619596322018403591635634118435818598205141363191530912517440662404939092451358851907627068893662709905594646893766800692046828363046250164021027437917854480248512861821612512114570003573467406925367903689095025923989154817162254182524520806003906004061554058929077320687309580061749971920364712097884192446667092044497498748240886590526693588948775257516401354367423792014530722023535768345446812068659513932726355927699659957377744110379091071568358658465622085862107139549354539122567328062952751900754940904896394388806425455707262211593631243949164597256491018425754082200472288884663451280304483190178400740116764773956154364713952355819997693590108417752197336203083262576165968411936614585331142075321195292766971704206705185984249976283460412316390812279089005602391472762547230446561373891934829119845493060944629450961591153675525286261059127121220414468417749781863050111297400394111935081890835733329055114407430444467585330390819867745858706466753105873320444866438195473708480984019014571108015111144466295074606523305173459452577257589307863700719576792849542202391372656825993183849635737174554050387357805408322354286682509834074246191721241065928405281116620092328296030172136384928510477358529839208709892631698435885742206374457995610541443705248822335802675674609925440227768400935931817775078576733453207311853083797369573820246047450096045240556006415683554046864181064155915986925744890303471460863686842071415295195399688863994416298501262198265478995063129214796056471849993133924449529728833783355225306656081139111557599979071382892418373574090519324118083275321057583443407862876642948811335953007811514259578279640928378127631674688525323298028567924732045320938542101580714740180947946116048627767867343775751143759233304925499457206276842336439469327017336108444018756535693160788031270156774329211095460374669864630589643299619579908391638851073583655397358685803947562940402286352096347217039450470385257108531336244754542001052596712178357874633359416592323562570393312801881979934876980850885387379015678885924959933804104507095668197806890979130475312701446911990817138057938235367271579787439956478915490640769381923678366723218190582136399034973143981196742174048660691965065868831513483401876813467904264395573859006548375807152818128951074144096045017043965485359053827804348135830772445160037860973737431472179402649530772942955247321642858586419313390462255573142876790225334478786885637977093220704754382447137072108172807262161922034516766385698542146002937106613178446743494946034274590970779402571198873753139912381326000956320636823628583078987415322744621275917935463121492158563100688909580778060593728283740660451733814756940668968790744643728903240457174689316227991526076700874957946365529810800605632053593234614913221150818691711550065566655477454978755929060742276192490131286777580134210840162883087292122615776509522101508044663744032978226504795848394929088091378349110527018915866659781539522433630203819430779722100749295291901417577525169929771479350013718996448891152064736296676121821839308489926024600418991546699738521967567293096434216988980634192953311166015202689067552639251081017259294741159705724670208362379144576573076310550469479661341506294987476166418457078238555743704747405720187095339272312325000336576544182150162660235171847267215331210750964015851018981377491426545299866692087088903694910230493046303417508983514679902569728765115044510267583560834962773334541439538796196861122862718377702626499995437897566186384522424473949249215054851012216707555240510210387330028459361318458442786733823142617697356364270842120283188436738192834713195087173122191012031672114110939589992288467480174165676099378781968770763447597018787011536350704268062034322219624818967910905627992687206315734435950789785292306967195110433305566783849538409612527795838910548796848486208679717493008452144359425346200112410842665667586897808277627684013469829419295802033057400474913978971059122642210407325578913140477467095216337310954671071478824347469732253620897184341401689515209329372895796179900974531322807631818289943318969568953047237039953890583965748355015081947010033649460754156809390948275449981181003115143112437162060285082116771605290150303839981778749861963500489080522089690682794915503815722397466511442040712132800560653624460196857385732581380945079434740660360543591168103854745541390100521085682696417436459269757301112314276156916406438293041441912580970015014762604508430299473977704434060255848315518370986210437182444909324499909412396968072735574990974754392902557984797093482190328085059102331850565958856934103697521787966167710423049423523510863007281287132147932780402066461426230078561408403259834892557120851189853822385136209728791951877465064186101050110001523921401988115501033319067153914966127363813534906201898801186062648881416943529275130201207444850693949715656963700528104436457965400855804416248425718544837208664333866575252285810948289217257839158191476913646032684476202255833788430706626820136562567060429166096739937396333725598175402369018835353007990159396724928774572310017813388850629426776845236106426208547207080605367376268476687684621043656625525457715582096848955125604270948386990045370602363886713679104249114919963014756467260027940693936292085268041593916556942831013701721500246134125553880321201748024661994057160259811420538497330990958586477131121900577851682135465676925436958683955395922697911981510567862427873863559696351596525780100887775161394859476530289336591762402297065783698536071100495347567572284079338746963969820527548854138638091280465567957867380247796245580749357238874918172010300891988993237953392756249295143063917541756523620565537533747840354751434991801696242127730575175317271408992841799710543799766469304839985765697038891618026889482866498396473822403052368385787917654987361628471601522751105553564227093034129063412140503747065387611044057631277677687955828396936068797492992473055757014507128648776037216713666399647951681218150895635932214508085348626452441380423193763653355274835333215583412888866477801396224946024358430223059175741552754477847166515158060159683143469938602241167033961033143444142152378121270529004152968328358142745720548076341739976854032114278702709946582145669614204935860051783203074959984999453677596390154433298372959877021587984045304241723688539565431132491280016688614321335901814598815345115649693087226879981544016379036258474494027676223140583830246323278355589704912287637551609935228638759482647092345489660404395528296934963273296194539263412540443583064912727969941442577153786602121596283848008077648600684421195128428111186065633816275879668504679093930302438194147134504446109962381417080458893859796343824476120094314750139145110290353458464233986653377503403288751178445621701907008268753712348942548452679529059672899114162168717207252789541303662531312161687184002908491401088247419290331003958533280903056898161959584146403500881838354477661617640834335657628291603652785505334292017344423999912982156065639233096831232606113498474590475348175724793522899893500943495075396373482891154711017298440790711638488229884179218542831749857560164435622264612259464028308647766387359459884245047099086787716750091393003821175198111842564994499619250193938047253373994593337731252524630640434299251006362772644042522129335363983888712558650282148393519537829121928317498575601644356222646122594640283086477663873594598842450470990867877167500913930038211751981118425649944996192501913930038211751981111842564994499619250193954380439739337397393373973804 1252524630640434299251006362772644042522129335363983888712558650282148393519537829121928317498575601644356222646122594640283086477663873594598842450470990867877167500913930038211751981118425649944996192501913930038211751981111842564994499619250193954380439739337397393373973804 12525246306404342992510063627726440425221293353639838887125586502821483935195378291219232513295504794270774798175730690981398175836426749156756380340241635030089974588466445595105263773038875334873440217725854816570326003356204904177355790973475984394759958454297654636741210753515070138512126171017094388163868180032534456078011389315457232587631687591414183933656822296246600914620551459783379115646479266635436278233025485821978207099747310916035110647009748740007315222876647396291277862184468355500202043071914200728462790183186397870257027722687823910369724454864110588891669111059220294449329436270354133098805268800879346170956304846028827660119070894073002820066435986694309912883866952379298666281788984272697048886044737676094202615377177917909677512787197471044080915599067919077234172080808599042860045454567514227713847378234110053118244306323887152844086268756605069723478477362196202376584411033721590438118946982931306928611598564531398931399489998334044009242283791251755521746218912876051394689884726771874665047852706643625748319169084915371258805414540363267478695396491037240057461302202931995031019877506028802379750025521574996446424533498859159093695439580845280450049366398305637822541056262416832173011323746636508183215513904980193919962514820348523360352029798922437731111500916585701032600353644447517742469891589357347056587514976256326803969581696949039759946106397634323054227213087624668573467046062234937841991983801309939280236522741919860542642497117922820503705375874271366672714855309460807796290809358385465468349840363555216845703430350063410235028534877663530471250688440872326675905655793347845911332126078901928698099359636775783128957269704288379935513039269512405891998449060463192776299056460394768756527761889878075082021154853642537919707547290711263442813605992811917357099215255551980276056037180905189020718577350555232713913962501594272539302371864450176617835950053674245283533462966004008468072728533180835272486343316020649687387392161609559277707472091863836191285755719394844572279339098413065940599965126384799973332898272447135236300117319458797298546955749664148606783193641212157264534076580706689602531854014782487479728063120191667380722377639208723247542101321740219317052468831195661303656707030521912378617793925690762722384770505239270622228374942381430610344037798238210887741439631390151070820312754566079546433713534599280628719694697255592487623405608599760254233805356029198699095607613736827707044286670464122474056996749209859838361282936506774498024522167809570099379281101073932308678935464775565148775074794665008756926950491325561264280600598839499515516257640827798160572755744396120181474978004513217821297863743751099747673376313134440669322169897906481415224596057960363749293853905804580982603556819528939522166957415642204303664372299146967604386441942130136759001693242269349130492467027077824818455231134611034534892733150600012302853833423036382471550255513687456321669366560444146424555698182319274119450827968870469417670296601950745024985165298061868054638134752514384332789919960927108581220089357662225697993598699221499254647176821012765199595978247005014221747545861942960392394590928828418146877484191361418987382812648355343241016964934655262953455634617083351095016806940228675056776344571474132177751673062077821877064922444475208280009834255704577849191916884176771786886303321268954919764573940753700988371400487025429260329638779287543770695604373399901002948526381500326289972855113010369858193267448850522284219180545540822774752760746538989050643747981698347177749076103760062828906194576396781299288020027596729449861547706520473219541890296708583780605695026885991520228616831779318138111337008466482823164294019403501667489299392408705756479425131999586127833097352653843359384167524753096842469778191862434377111559925282827313295136978782140742545163126864523275780821743915421468894359097731815658022057964044194212253701479918927885379033777432873409551174137835201919791527965001393868848556937474821612927167295727856384738632469385840529246749040224134389518832380107931460183429162163319657370015979427390045000638416513145176559085970026470032213022198522497413915779529879290963497289851176018113744692209425310313138344961355993181788354416471450387855471665976982467247974403116606061989122504156909044764662457128363820616674275647027759689746278418105147670135804259038575306203657293784016491669482713592856927354306769178867000492202732316264040702550279562093496216227338619486811060844935895601787085883133844172887638909315374072400072802532562764284026486565019686979744304259225849580474179227925340055252474495023408392656172390930942300609366303234802021086788680896591816847927368330143271469568445704936542127385236419762748941760376029752016153593894487622023573913546834272594628295090576514319420959551607261274135359833191841235784196421342887256687389708438311410465856003768822032463086565154107992964690465777065237950534596024614940206156054484306437872994525822626360919700634234569581210810188042948513682867398521325345198519868065279201617538965618411825224252968934634983238786265738322488214671822123921614521633252756700170428939905246548258778512412518561257886894555316654975464304753503190355902321438128581792753398401246082389071705460583596058677199021834652830571868277510762506653709452988830211962730293185889270847570148568998529665057338471038620599638943209413359577964476992214153786551124648537943925407362192752468482382849973125718645765551508695824151349798157017437827336637993430650906064980929838630333539425021822566381273209743546622445887643499407355388635877067206336811113229422983654052688215612702459628857235482642183145461433191254583311812559791473648401291468622198673758189771951882327852080933278280528503438813801952845546505139324690269115602676843585443935076285667261266508394535898309320803700107893243658291550801322381298871464809135644029247125244100245252544508023246157822063586871671105569328543801624683461967492375522775131051001267760576438799157199485970651760213891464063173502233846434583948354350279819027287973032028508468840198759498703781461796686462875466703998963042483342254904924467013293924725832362315311997123989446217658842719338254666216103821400699023027742644385714175745879439789795948158049729059777726218748279191542139015671040424987960383839873080715504253039320113817262336691434188476626755032586344926729416355440616416058126006897850489024654095367384485080441994812315226437778358928010770528723579813191764225440790262977522329943162440568228240489795858620420959030167530770098412550414395173705772057555508175512601790181200735133417723724762208120008604407951239514265989643403764245060829599666156088903857106846402914127173765715134887944642689107694108953101190999299956309309050352227772332629147014017864451463531187383784955438825008569273087839474528749201768864473117831041101991600631498818929990610152778168708421621381839557079184051198067597769599875313775772688789108864591654468983133474235479298051910921514683071632385535103872718754467670829529749053459537652593192516594514793368506381679734786636883270789543959667729832709668006279053959998294577731682383260738801806541025146172162886788358706619093677297966422255933690824586710321214530157614065638488320462046551157310033106271776366327253551051140113729479742423417996595373489421421400236584408113388319761752550589009245453137756058842247628652387606272469903021267047078094512414716294955702704018998666632017984230055070084407533279625699917718765426525703312549513970864944719145272944883050946018415295562514740409525798009901463383797769021293940853102488561567350606338634923684489507528233401007520258283062071137190594267815521410921860570542096103071329372555368225794735587462567776516453310929822876028379225930251318516581337706052092108657561743012334289084699223497351511631421745254267139789248050025172232090821245741107761163535916860465237641185208310455600513909589498730970708723111425470231216733203810854809201787391487934488837268545689214877830390016547741762281260580728355415331369007931396300063769702007625350507261233441510111428070936819402236989991308247424654012701940113222999932048332874671355383494579635836899288623290439722584493817107725905803949716259506636916042428812825483869715966530554742543545597343320165017471694261408641380380466595322388060995968930493981398914417781080440177680412631187307038032840781365152378659505510087403583849737817232100166230527219947879907436057423140992833458661530302659108802848943882627192860592688546252611811506554314391860473863832014952014199240165101739767409226043254842945659258581776899771652026749864198907493364258824303008229914088423037033492000321094764235749370825153883596128554028571511999684121309513297601060622384467853304303605283324594771517521109132184692968901359920399067517466637717540893162635269159223166758528381513309573351829442340194857599928875715896113735250073352994468645177277810729355506620011166278640684583474212201535461842745627781395631003503800901852220399726275905468272699143753600658655126345316534223994033256987619903270018293229045380216469805315530988295337618967309534457130377128599254581802272613746556905822595786920989804611674009391732335754451424181559427904164840501217527511162224841376487939528948768911062083467875763236881995065081723493681850049201395396931150450840631833169795650011516330083782711074977286046415193311497771862005817211835717658891646355701844887330656741216711045991852850612219680110732254829518774076669979602303847200725332760059467869526790514319525735477141111573062837948717238799010110737197033795111387902442285766119513470938240551686729869870945885528098965550905005839479776816362135995896454669367741167952365593301962543171459828163763773483041585352887106282009286734513178670579055862422877697703803358671896644007604521050778010902637401436327800462862893243121698489569692681269965570096116297810488083332264011584449865788691989155116498775950082011654710794954761627253597443140698950143479155214870180524406888053182445054861510557508245833483060153051527141034013461587176204932737682281179363822377263676950899606005764576074349083808672495330340119364736422164031877350174262838309181603371305308194700548145666334229294394379129613611797429979597898222018382043393751513900818795675780849881967116995779814800468611110202998559769628419388687612327451524627733080446573369546365493840400819777609706639132376542539186868203566854276619326843902885919967881472483502319505887747564159106418991240691253094163125619541095435308814642343408331609704950449309811673539831293735539341187320088670867106762928026623131366609838364307561568243371003247612866087421391893567521305950626336204982646550082066501877463331840481096537269399354992508460932223638918187900587249238610783215779790260035562226643917254444606289329459454295831001567300550754372474262118465163712077024599682774758902127077460823281087774656437622050892211762862594923337322306799176150246435991356381620607408584397425133159389863383102724114385075320805389733801159125087956234072913945303862707068178014681947724028939617221644175848630204516488795837610929850676053716776401041227878179550018233197260574617611883779468454732039891838117019778662208080181016483471431403292545031424952200821114330744664013624225319259875091575121739132432965349401209539286534708463158821504955168014428706494848315638437272630481694795792035566844577863829722889535344118520610069545041770445474492597086698863609934470061993886472734499279127222316585283623292536482593421073552499528548442312732204674710780642436699584238528637432273244201828343973400032241859019238030590058722292896105514993883061413500649369104739021291543977494536051080648720801311904902231107072307706242833919528937220911487783908790449596315222989682708220530489656016395945586075535222221595738349596092864920413661120498768165209416326912589404845282229036070277275509104234760715102608470372049953307356616520160803158835638796224312089007094192173450477878774094071468706792259425905227518180949282295331821489040420843933377285890253665084263277258143948601959376487549244711520859661665883085955336160717058520424797750579059521204948991346273733393517973537490955401805020862425294715561008799154147069653545729992240709325803842553897467763514808951876988364635894254942842207312036451005027160780398336131700022763357322058050472099901287776893533759857416645852007639216878048573675392949503384098229397970658314255553928295919229698068777227966397293907779082178517324761087355641896708494182323029269132494491340375769778800008521206899488519501187042430819704776776564770516660073820649884857171048322723457119259180652711670489692290985807515362751709550528429039224365004824880744813185743646566984452180536664675483798735679164220132961903517086414797337157754106151617424044495799580315561115791030873134720990353018949994658219299219647710568822829861410142019463905423285844381712408363322656243251238385947763567301206764410850147539814463428593104949686936382640046416259646951490319611104854477591917065843927067602400311452127176470833320094175688738759477706324099809206846305347743324194522002176300046622820238082778041977949338939188985224408550686669098726150999343275594219513614894603275485400282474638185574303867224848145712041289402200141526884770962461222114999228876439191910899400076450042673636033595644644270818978527417707745133958409576044621143276559892571212464070497606068894752177888846753657731308884831704130847083028117792594667012087718412865941990187787509632002811023755143635612304865546153298828299904617451774858147760123133434173138771090557709367065736550203175790043067229303144502419919774280967622124251992863274025837040075297281743548041063934506373267506843468818388748332354112166341880424123303403490967577941653779084125868798288610323527885733215533815198830588045853153469043130898096369406641813704154859314966671159813089944082545715355230065250822849617287239674650825190045324558235748687720066747949712163602820852354302783865361171124532148648794241321331700852315433727746076806637669961889512288049108911176595515736498473886069524716684752375144641521336548924672761225853936148416514385818691738416754348278131766314291169378556461817166096634029127205365302544476383065335504511464152247086512121312900999001968151695921524303910229496964390635521990651394321630365345397471515735014459156097003147953738250722286432679118022285454450510066868382649729074813258480871020887495051426964293739258136771841690654521561087615737802053527958004468491361369174682537172803536784350361890124577775833864677004871875515418115037141294549114272696877208861952903110006521480604793894304261211250474636222567539347681922221920063516876682582150682798801607357061108055578616867049474864042027000614400977944187614785497645823956249805444955125709106402708323908144600925117778765206380393713571176447632922162141265648373947107451322905073720554233262086352301211192300993282164753643692379063250335682531355433034789629153304492311538091995755532944987052801903351167407527636655981472206121804385730030729787921735685000125623318067425988724010996896981385239730619195592833694861190323949253594415836595816138391218541195151992655070437222451106336712668962567275866773882387907913364509386511722013962859447865442962183266784517002027818841924009364903662723574437287448563310872878958458482352508201562742207923922033920450828194622615291844607061975822852133877969632367864013313041099556453747740645777576849035137916732532182650044015006462416364046311782779660535756676037161374420266916172189142991639230484973825428942219985454786894825670545771208306069664015175470113984382899319336352288857298115482869135960324285116362192220766798190063884048427152608659071553704971859335226057118104150457934735396327639988723256063689608410315441364214878261192854183849957430442768683851459149189187424006619028314479859226445963347995310286302780183115008930007657628088707768885566711361061861689962499638799370291136195006215509591002663942980584231778964965066275652978344151497338825523633644652036220132162803213500493619597507026917278323701383715764323028881013296332873938245738746245096895082238330844176192408476051027246860191447430391510803777481923871052911279590551749882293907551274408036416932829212553780088491928702854675425466697357397053653624540072223989562013067604811339156349727760567144964090640451148094824868511796216404428068971957629753562236181688850027285694336528800131844121214112389838519527851194814679016652840688382186958683066129590397745990561487036122898098411382006158591424712862298600417189064530100820327940885803857608905122698760086424606482694850486186296517221848751835565288146631275237687067466752691724416729735456956733166771849284394313859957738504850610973138057829209449944463239430606875958119003860261904921098398719699336474633114066294511147152055694804027987358243091859738263977134041141601662377526935772236147756347905552752166482414609981486281328766311875241074174329874362753850457777425420575766273931569840438567729143837835901823517368770880480343742863236659074522885395228357786813472195376605008468619896263300503309360409978222914815147525771837952813848915680491921812383604122713582961164972471080261254592059524865114227833911564975466627448671852187561816294711964713806687771536085417869418386146607485365395525809016966237780000655836818847197698244458732298445308869902993378877952657197280899159793941934367522718663437829079368244403206246396018669904972319031502436250408130553533830653161092378952733391436979259369072869740426234042475870337917002214925834352410157186453983478454517589224123613673529136260171215544108493033216442300759697110588546958695711726320379851371929401448711950153715879163321253830793896944127468922739861011837208514286931971502864690987328481720738738152015911637945123010101966662036445412956291903554810519125343871316001524124785504522454804170858009744164360840375963801883860748953526626950353281648096816794488017615939929356306431457111483516674756546277594216725378229613379520048290422881659995670507607348704290859084996849095294910463268517636522463170134879989376887798420929485129627852301598830153361268342991776614639254947705193020500310556054936776339163283953895578869977697143135446101324961890191705701201820667021165776654146051368534345117330284374109752675183557592471851518890916898948657604164533212417028081148467590773013272547946094155097286789671879618012204433502968796219644048327886379960409838825362938230395839698373949610171235821842177439742703646911258107515945266355464675143678868797822902295599477157643067126525971855615110357476610420964178412476830158403397936011211878112008231745037140757004092710837435401089199345949837567061274097176992139541109521012508398136549562045150243668431133989738587361130651247452423215425715091709831141400860264890539370712774412440669076831670854240573003611786905243232054426823568650032703030650150774804738700240267292414480020515306773270191114548987396349292489206289712904783044926853800283148753581059970561483806927373009686610988863789029557324737732183929682372659640999994766795576053071821618693945992778164452536969658122450093564589944321917279168676398557892539969660988248722705869024920017849027121486353955328059468288469933578566896852991438034105283369383898081065416312507494946094474088864690836521657106852902937901140010171041875820439261982433726156111356858417307628652063100312749714469978191038819926090166461797540691029725658474690450719252449465833527641746399517886169056732659316334124585451782580824490071885017851428871766720831159955592926726211782561190445950693489617572283250711475204412767765750508689367098033666867867986680958545163564504567000982821304671244237580255335849496783455027631075616185676110242006229086221786801124345915647756613627310796173252346814090700110500979458634572441902662005773671790461232744208537976097262686877009464227258685007163645957236063816338474943499752065431904882687582535051569107427134586841794569558271770980275281686202031319544359749164686549228763080466621431318534173986503522645190258054517242379319713354798944313018430240118980856828428763561151135925450517590066090293175341972370373166267631045526770572841082661953953967680235004676392322381988953904099269167859156689219764620537138695769799990888413176891511374346270237557613560235953212929513393306880410662258095597530152275907114307261209980406112049595447025290224582981032604603666107907846145624771807212209453782243796089208478369881533998578438358476233111145529449931635895654517074349410086456375682365245225528902797171999867299638162137834713253882980766128714625534783529714630139379788432298529584543951967680386477081199962158170809443989580382507071135827079833478098566103008092483633401066437851717050086728560572566582490063038166592502760359401420724325335032907153406437209910495544172192961728518931878766754091358771099753068394228329617084806583434971118140092278253026159348139475517360355840894266447493309584619986206812924842999006904953095601991673592700342277058077772579429891924835075000262535753826874832363422767248087114413930325764451626363014157737299135855264761831061547505505435003978879153453277021596044566357030677066100192017932140171479697167384697333397070560585989228309253129526494279536183676079287994017708601760847530393479112478861239694532982336275032741764624321782050586312100328081025353090522811213357690673482789377192908366864035028279947062486247688670440208595385347241370469282593722752895964155974991677578726870096143793390912193869911363019731897109456037301611109766624424400181780650555724623398592568655386116826127043340700951800886897139894921319480765456160954465122643149669349697436169839616874112409269250879164951012251867524836356160571234863846892796456667649848464767165046561266990865485403705281050282325415823196482458286149790041803457596958657165789359912026924047544686256265670714416277114320705726232045705864254864853864287183259235882721005017819259103218621025254290610641964932197384822924672145088027677363100251061465898752818456725920500790060992633179350293026339149754789980559159838740722820121116031847446073130926422360572014068318740741436847356693028138596844963678163554669045752531854826599116179188647506992213268388078880217815079875262709591652828076767314368740762605540277158332846667905622524415031604568648941811259999795035307072839954188004062183769040528604637822068355374436554856947783615062635989936347870279090309974627721842411001764821590127056711820876687822757646769942854113054242846979677129365563719081124347524991889410442389988765581490981631338283443986788305614220699486564370563456816951020971434238126537052902311489174162697598468906754938151368823125531785534937461150504580356678194431847685134829172679530465154959807564116899823793686265452254476823193821655598816897565449898472233608040236215212637898570027320479709835073384755880885265600460111363664106953579734490868621432857776929771388386687549173683553591485305782457191099830298313951375705252562095809540178976954139461517202617649660795210633054864581189033232775355608042092880795481310443083142541175646937964493700880517884390646505986995299345622884978136790056842469066898234803767228391414146393834419705052555274566152430703116893995864095218468006890113619130090893426827828837570563951953301251801823500492931069727258057031966431977564341418649195709519441152022579601579421743329987124953984816432158840168231801567682205889033443405769062383726206054194708302698868088319400151779250677571751745937223847177220508209307041593117362202000388130607888400911177396641888367333204465296464459344197685964281262445125625778863231538319095654286792308345124027616888359652510288292547017458850877854674323354131435813989005234227038800607714317834252668029966525159580526739682566297578541127324599996348271937105702177276790883005849073633640131647993683787809427547616082779063539802635477089489921777344518972910084616490569126445840049207083085260645566055418879410176891602772833725715292633912480905600028233792017752640689351180449779199732378020380548451534642144112157409261171753177525342523126565278956547994952499966134186685611371726575357616124675639363634658529021988359358313921924913934186424541359344281660384057943034058583059516125841208664179704045005570901510314279790145799585671974561364535372447573259717624162216656098154776510792433284597303502214180191043778487240617468128371996146283916642534803096672402411784837905118698833839179026793076495649132796657819771695645747593331331342626077489713671970058790516411057560868039039268658263487063454055157631398616763810774144512259412855075449421595294857398986305684715535148771193322794310386006628760697072692238839211010422054182314187838700284748888389056675063312220920514807870613610842837440600890446146679737158262720291116842293247482478917896858777805977609418186443163400288502645364455135506712134011886907855574994102050120205843693594383384314211879849669579667123182969419117181580494352579524060183758509979343711308802640215428816443443067202863030612449853715671809096783674127520201113454134998391711172535385170214243067321000314413728871055440789582470237649047523203097059606207612027423317301765690320036774926942273303227577627517007941506913023523382295229380423742991955311001375700873574048960493014910013105148285638699842929417364755785529415333794939202440231719427160290231271594369364613047780157046975102606154335602353227271325523781649405525365188946498390345178857443963543580134349760271473843855119847810892866822945772575359784295454349909526907761869805012609732425756673965166418609433503841496183873703509380703801016953663046160924072943622113373553722563179924520868182716706419610045069000178351726815392178658474812406988299439446928475392120476967040089175169800447350134011378005521056304988254349320679964173418381132082260661908719833602171482565623937107277080044260302578643754691414064673799881333062749804340488444339372858514209290714069313278515053469681273452320463635666300917026335976323886142443801882404910085101582522932565567279300996617151675711037022790900577243226451934853958153367620180430790663469385952282763485280737392669541534068128659434699569118047243766089383156219243865641031313405891150807219328673916883238149447760719920810354753884234538967326548496844080635106715752371203075032887685369166123886017735354040091088039589275121002549716693707978718664292201401455882456234241446703132303501281032442016321630576537713870990527259684940878298118615258884925272186032895221824026282983232700817634556129971457746583785472429674618246643849029786530077631593791964425478394882826806550176331623401014632709472597201882333538813353025456539046348310517300849704261537367640620330137906478738737121464525553365835582825312986908539600263668907255056827141000417352289848217175999402680746491418887030638147115329646789559318086512230266369972047113174786349052776694142734227232795808700025982805258013785387832003118087215098462322707431627761529412804042731738766997695548191538084277357093281373760561766937072880612119558068900815993982648764512003321785648698432090637602562999928889730761247741228383269616110751648915228250644546268306417227180338343173765819712463951447878320009351333318655222338955660251647081019002244674779398750108774616269889409502813107485697512863709006577191414377029675485623143832515950385251731366442655028598105764183707048240607320787117705529545309698183519729294115418251958353083363474955997898763199425104174380877385642307717332540519763611239063521989491743905255002477559239394461077761413186765509240689222302864431715623756205532535947588834188411031832605661608570780124121329727491660000489927474140215834370124815741912988770947116933111041130464645731987871069570113548766016847239555580887290897174691220369251189724680591711257457394391145651806106080563786530895784773539118878095224396978001845823644395448244656556278922902372298460832554705494068221878803473178991834160540268599674872180081320778855338243052788952528970977080260850788175268441974747503008944242700277303247293819695799127666762690253597622952462332687883138948400393681704468721851013957132476754082232304378228175049812122184923811060720044101737240292002257194762803149945154783344703033464531637313152749162692772871965807579765624902962412134273947494949960580458288719222182437360162808616446829421784486643308194165490980503506193935373441844498848185595049650263222645086225208709839417951613729261563166641163790862599661958483269538206406102682517040494898838579192421686509829170475839529326011944310572999700948820006462825064142980885784611984385093174349933158754056846184430872481690382849694454914912112838991744269803554425667205923759401508528758412056238186705431189016681809717891902212293518874279092195515518088868903134477084577771454928357845296172487465733320431666064130222407809409924086148619661646179157317812411352085815169918245541054412567621643344107017351203236836922470239475223198646809466576700844147762711278182037067394773027252712992031143845135201994634708981058146681732870787756102442048074753084204104430163487263326788345044502448423109177551673670760528410517521452293493248028426483884846900209944528626464184203472216570956864347798111036622042605284032034121534186240396136792653976305723917678082394197387937396993118579045446878731500279916476825885174078440005612703428031312415940062560080603168967960775267805585158444773757320409868661508956832617959871934719108242562218826890023341053971891760363056471342188593599166100404311956899866854709529630760786863475180887668213990046769273709484748663262578526322996526490290475572655642628171067361227793268188511621382424146385141980061848256020216207964774601224999669672286852450602851380061764826341859670837636160177178787584787211352425712748345276492317626462574367092266211307733555205683386054307054158740244929003575611165555716998579313100068193328538001828777472325091411581985057695450951287072005765226634271771499575351994237585201083275572559101341983066117809208403270159630241973591496606810901929538788649629120915479131840927623462313114441025278015853644351302631195924384614550783343687132109051148727123095875779712220718360713602361416279336302762006615130143175584243644725271284482860833476749411206799900184731931904696130141786043225526710083095029661516123391400723248127406943374848131945857018441948519546090713962540695926556536231923829498572212861264509463919495411072692219061756817721293282395098163294236973124724084346206764151658372429522369301743268413874102094132231590431123090085591780898098639811472423431259772730725874965450798846085036494035563606421360246367250297582588214239709069638947515852196010056708757617434222006881840186782896407971342119879894242005426232263910916080832822172062383218156600956376613115070352539431370438476406712570736598637047057472995577056332924928706676715784263974841648189874644206273262918091863456951408211126211183077842318805504839023018238559619868972586637538368548518808900275672391487967574758714477044963905966647638840555139832085110518086946733442146964388936519874292945007963579336776306583547913440943749848749178110525952934946088696039617923756363527056828663233569387547828496049149559435581123376296279491108962728456306695903129237389498739064645482345265301124597093691663681984294019757039611050180939637076776957461341673659491868407159799409774921295144753643557051040490718226804775346892192192239665598892640138338542564942877508240456558180339798752807500932132516595562648968432647209508457269426761962032465242536113808128554108098613889932317527610005936827481891930572687927052706681650947384411241352252246216405896697737766266947223060479259376589040545108908727196692960261564605692234708307765972494222517344900495881032587117349851293340748288962822868451406587059582208854635662223796926845772708006242862470839100012713227466932910775957841160555232539427550960060760837053344808069613574798661003456942905048742886541585205718247493430292664502012901522850857613745521097273911088254049019546790225373255943701093302223343533679247915548650890561031509201053297700331149099331914415825403937671038561512589708413151515283217981162509440783844635992698248514779982623836715422818506966671626620176160970567094861125093594209257672502737040835833893160975056783035442840000397002028642333353238003083672757694716706320727156328814513540266545280537056163375657565561560456839735821127233493026657137376157808881484169546069518924508977614582773056447115603672340137375123911334222135099520103561776430770908044730482689991779764687600344803644414864134634689995078455510203029888633384832818107269920008898285719368413891539811167635237013599604776794327352194624941833983034177275287197321653523974783666159883000187013548007254996779481564122250731982077737494936934051592615121472524091331243285352266095099178862420621470761814443651682059066937026972848443035060252191404977551261450446572569712315957976429582179683132072049766762865704713117146597168994141419415585527921329165534108035864539423604397634616953352898463390144370977103171885263352978600986693086698435263934184369703188574390628654710685190800238247922659706695796912922827797760081119896191705187657704715480407623420146901474701230072367200637479414652488488002186972544546370568600472326742201969808221422778472139305509963930666588351205734209536232706833519053743235096424169280243492463752913196824007038389209946820797082050855302650608417290646789432924890422666237149391487185204533360509281927220026678354509006721929344835718740048645258436195009455202553385301501936082754550814836776294317346668701839896632736870667173889783817058514355616626575305893492837995688371566190511746934019853587525067274615771754279297665411243066168857921466304826537623629178636344787320604811685644513319633775974521089142064262107733716871629057910904737837639993403176101329586566017868615084132025994391846880266009194120701567367052752104460254246476622255379685622112998222213661949692780512346135893880093787006445888955300930967808022056712229117324496219466633608501509594916809119443188318875572728807260492048422572695023477727362566817426430792407273243055492388314054863945929521673461205934733108122670744358544306390513548612458469235277295559595081633912403448808461557483165110280526046 98786189595228730193832928596279934984472850958341618215438661086913654406425908911589698129897442714708606373440888950813612073481207348 năm 543186086883587062399303809324893779933192028697364168763807805594272649094054318608688358706239930380932489377993319202869736416876380780559427264909405431860868835870623993038093248937760639588088169278821723284010080077874468552849300953561681336987821881319879609157078006065875120413681055150138991407216054540732098424457112407869027529556371764996922732097345339032749384224697177560429121963794004392913939936963834312381057271231601654623818608034169377923236080648416685167008845800707990539901913898692886788685012546791682529572979509077814007758372919595259230778985290095374969314464885604201830724836681645348889006164184872131401761979206738425388528296023984285540130893392381411757012080830155418887191011712203543960412588136888048929394096629476679405622656481939225363716863010600798228698905371847071955248636144245298398605497226673813992712323269791352678194750815424751582595707182151747793330838053854225259358687900112017697150694846872323977569602190530277291344179895332845717225695951393984500808185505028461731209346332389767439668678411629825366441222235054206323638997861301160460642764252472119953879776525470989913875733370958754446068818103330791592335169400268050996900920168136950287589393771494933112157241590212362251549726987858042362441274878998655931459382697569314305549817950653144186683273288195130275199567217538237057152252291788997389839063017399172994785964732882451480573157662397274681272069283546859972049158200654932142637378536537776577631054256491563772800189810994441267947276921150956072802362828488060198203017705573603550343134769074127602842407027856245018676049368092179666630506285791925690321609215503829815738436504956833388199142037563207628943768460247661039435202294481010140411684096352222244652669840429640253001700640703723317193522076178313500357425684523102015448618474112946240496328898364055154538023000657624314766841533398052677981987237595528463455943508759753081225407831152856459138266985406198907598592026853727923008414753034616218457484881555487518028075008701148602056630051107952626218165099970462460938200305624610355311040342287433668786969896589571460526360133947402955027742886004823589976160326074985704712218455866713227141006978846958171262714993858982858592146253686919607865356133568450075766467433310863247115800710250863570422004275510279692222982886795051603903278422738873811183032977329682416042683236925334343948056151302774756556422435386312834139392655972966202638496945337587293946902596287388740148807094633806597996983165111929088025119256028581730499108412164179968432523640204120266603390613564414013138932212028730629445326131983133356541252058211952929321494053648823003371378130699337526267525734272054718259851934397122847549742322825404076626173085591797748712629887002266741047470611468698028702735148198879330690780405185216982872231913175583775553832930641934332767058711857276687145649647500467923706677199070691387000871163039442974822989518150941074191583828498300089051563374997092344581268411890557203901380937449267263259914733455221666514058384741593179377470138831092920729725748072689274863625450102261803654579949694183630518520334858306138860891537475768145068904830504743231041756725444567867754056535324624426384501125401588113376287922791445769993245490207100571938902433231581806774444726672317664560768234838627921390923872430415110888337404826020756447675776852313457857843464984582933624074648014159794645214350928554441465662367260070571074429471480899305462524615053954667294574547752230988593834922732118140121819937289727478363913024222954228322658127299397886975817429336440054623339798479236619185224022625456201012629622742562381753005177632863755395427686041957675848786829356580164847516468108506725307386935018654431860678211748070671023860613289732571244782397944323926851468558707175932678693358768547160344896167761171634129966733645058979211075460183012363336069114496418838793412184219493537874996652379751539176305915964610347152121465642747239185396502131632591123081652835029486819565713588747677239629019169319916776864587305875528874759709015918885841340231494453516371582046119392953865006309019687811487252002463250058595509732656697594088092488527662674442466726398494549409633358854494438550708277866043263766955889909423392133453243745869236955358408441578541048678823088765914992585877613493789393381723956612673264586058860998331302388177066929334834048048944814411828434656375280816656029472988769848951911289727995059763032773051776937678299759925957344752814862839444189362992099002413580600242332685520325343646493589775270690343598809038877648352811417289852206157665771897459969312690499427459585774890071501771028005051021850874633374802818267238663761105936721215117891006644603828092457244431417385808314417365876863724975750172418050556481564588826944241362569737929225594590205061321039231722794686286895619967419234007390131687938180418212831728509935919804705998908531525506061112902960745527654160555432346261016708812851520318516352330546845016309787686886251609553921820193843043220857880847407848236511516852457920537636285830047248894990623220277150103893542479206727218039032318085454935230021570322404830357516834614195045183770461312945022064049232543372082330956689578982080018613350050687537855173898229608645792613460122933642789412934723737724118347105671994749881325566302417485511254461353073138250801775959002057552568829353541033294058247633459548911914800263059411228562902099198297089226752024511822200112557157924073365057461275883823812394802411040449071889793901792134917798575028751711212449707103662889052674505062509392601996539954670766856145659300467217310496756990455624866338937724735088968724553086783819397974149839080870071248444061484882489613102697330738591249879037418706260010514215839040887612370365371352029294878765054888518285342824841003839855366231337645767092370447705443448028249088623220965866449859194336311920583162054531014457848223373995095568172734145085035650280593064829271852974721285323881753240007762565488990111484683462321804607071758237816362115737939333656351436126557882430018387059786827453486224103312709824869444225463205182429773306319378288052473627727901023657515838777044573638023243101059133025223974603254422842530476392499368741225941252534427457191435790426198559803235541075551717960222573100794037929632241778553617780508804949631587383212867555429706886595155552168285084918184671511976087907235697860364620410919720649300412315018883777045831139762918700923805268182097875166508952119937827049455139920444798943378848423122248762725989299789548257466434857557926460375862242308540160622023123958379396790618608202073848623338500638603716795394641282798171911311961478216700083080895078544581326695481816638625695092523164821917822134624141759133543797902834142377835388892059566846197981052319282576652938328809119668761048185889645442440220542748969112069333534552351730720139527954521612369056345572702560858266064853839180881791607076066138641953390753463104231631434614551495468392152545717652301762790713467029896411934810468624873109129058828693056154855010986571699431794832040020461502892242832539872040350919383645420568065798193492377797399236164339232844122291241613102368123841230940085955594392123890261014800241184367325721856692868521171174389577355671369440365534188266303219673712204778461396724242393438206557571014652108390411058025499057430927093659718121325372945327612925571603381159932729512007956007811205331463611272220893115014719251795352428209704638353628132373305039579921425714309960203390688005783518739818893141181303060737189155369873116976049855114076377510951304991139839324182677506786129309334341944600471092978714189848380110311027418843783292048283906220114592454197652212689145317872121451331267798784556044561595952497545298575352221546817148984145111384250814105501308548962342436284979104194400095354198478294098804365041833757195053081693362546548668506765948602108440320888369791785745623588814599483392712832581756647814893076301831884503175187702543381512172174738086474183691780511854271392830592551520369615442655792743340951740879029284689484767512818289936936963800520966258096309522447841141623347063886751542015041317535385000813287716280810470018834689655555443257656803765673502026726529968266884467810665749563509998596178894324430751583105497717634532380639058204773181162089074001240149200801923869544920213679302425802464651769831056714850197856958739975556787502966173286707949082756613216383025793652727117235764937197729881838765016004696019807626071729733871958649870990996872471749476111410147825901880118245361021522042204981976181635300339885999787260560375797598680307331475224756400757151879220164485890554090220069215710067763592498572399552763201444121684915435778005526595484999851247978090199909088142554531420111741169391548331482057382804145436271804646866262913735823496648287522089699583629003659621294068548508879007970609715361504930307097144793566401490311205530808240950244384198758241647086058648990739406875441311017445035194648723317674626024900661157888610971626885032390425642166579301971423307771445355387862843251433602125018990945261445400526852137717787667494322391925935590651440122799532365738785963366718867982100511224848175402924750136695005047596708441801263734588010662253040018506698181097190490881302291872876366011259816340730258132566262078794293937730883405816982294048034393246806755200085304321405383703681196744973642664329903378153525502252468254277644827260490649082697721388698375592442072377285780670194840754825024590313667177787679458280971200747091410334539792304070212470478959724163063167939042624636533153824680278462999849295582970677703673617809127448651096131947837554214734726097785221422069774417333930237588915451744621841465888174063321925106639986263693688001561290539774891786922752271866000006486886069438433416956897619104793155040737906994805414239314034277212056417610191846519831622755248470937887500888830317863573072829187673035632713538749271862784783688027045784857087073472818436550765235117062567559404561475108174628886513889489019616918735866440178911396503312482862821277323414956625703814366703949649642201742696525412503138667154925779242582471839304062211931552939524729565961088349107731184650661085378223722765072330072986433681676406634827126596611335519405462150242795988260339343777851368966589207774770380912306198797675448538884934886151790229895133551513178169447938984480551016044753872934602081056423999956531329438181181794916820664342298614174888862468891091040157838357890464703385062422545091526178581720960154959041901980817249863332365323996203529983358128818444003123166844128209215710365003177932767165548592678876429119443885218233896509449510829929260775654351813998833350031659441874901573825151534911730252921091190759492242574830715970710339463947729017711117954838753245430821919571097116313655851113361677992674500225456746172702619265822809693016765263536797856218150440685524250206327743120789245928073083160954493228199057876042271412546989922037225580941931329073979529846907496688497302828612768342445094025419733427838637133216298271886802877048859039816542665131221746650688390343880540662876132415147364980113225683524539644591778808774654570209538890575598696204337257885828876643040148602881347856677752231677008528156703135170869936872283959797761427043044338753674046103409626598140079595373380376608206680710192988098346461125352172626474614809062450843560918326623328614765717887367070432644964237558311181086135320630452731355013389325846980396507589459952787098686773661665652729409662709536189923808343523250645354065363667008123808431421291608489392606475750424360773370076978010486226866973272061313087712428838079513682325960493546269875478506976087090621394446709870504353997170682855777324556183385967258415295843880954100363797690748326392232269676310863039981067968923416082594660541196578250833791005176430719600669142267780803108635894954912666019682168984872798099736518826787773105328505919123036083903834063911136575293847387327396475869511903909612921446578009656278230854852576498319237213841985818804914914081220298366647625638953591530954244210238114009422010543587336021765607515378419898361830584080950957923288723131448256881159002930870419488419522251557714253601969600071163474474393500568456344376900335741760282554910888521532392506087844859788167278966902631720010672064720740459424890050807628233972035138346041011685589515018945459228325869990993583184838883333495905712543219713999285566983682627054269275987881498938895553277521957161988467584092669237122724294525243982523836417638668895023936487670293181515076725859767848492337458449430892319353106512504708445945982293233904494552069195194753050359746278833569846132022212993897490693428402335529626356027699332292725089430202063972785105589058443007897205048804412923489474672886783891502622888529128742952750435565020962942247367934640352551269544793314931432012374843865246657866338104602907702516740675225470354471781686148529224587986189617232446589528197151406141012192732756948471047837285769460924518169168799535580404984124110491975743929251100959314280976592191588701463865514029775960129535847007686116829226443748883090358961861126606849828180729560094573218650739506343957012535482591503536895771466916509576445043362651251199168204088534882183992149037468832063892195839677180721260732788561951313557657524341345366570848659341598443546453769453590903140796550810660494682247214518383466501317890674110392803618900144192600451772699029465191226253027545038060324885188360479364632249905482580495776019740854482383090288704159731204703163934836548926547230251529080407727077303618518251961201662424935513390875866910423295025219622274262425667159298289304043119006795704120100840947826597883650327603103028484313256421105347720758350314603861753293827376171032952138127566993973744418533716325063558390500476440504318465550507304089903892699362886204694026958443150631088978643382529879170065955281987833755417779176288761977750252490672963806218479450140143711027157594365404088338258179644194308333085998477598891768522529027457842168969003684371389240369032563217458039652881882758186777509035040778567728215280374417828553924639303017935575994696195281418099816035856227245541275974536963753619557098053523451326657464468262355483975934275684583454305809159838250894738928769210297688742998711895415173204358065191585613271735168111490983541922118283470365728867448815599802621633472873434300014617603878659001368802558127766026346001449208170959073372666103607362423085988438525246934735966099379697569178349256036933896156460246531209080086702727847741561036000878975336766394492456229509234066383358361325146393239122021141047583736381538827391201590659474884818049489836365636223485421468944007752508002307778637642480862819102818203471183174373034933442617797543695377194812821564298546505610964355938031147766430355133888829485169813786387513074991074046317672875953236553329126594764048735628441175079713904740055133239389619555128569785980204776976005252060680548352054715812429473628012190883115120816936817092279617805040894557835991309347632280801514996988913569688136111051402341987841705950776564048246311888590148083377611155237681938306357143194096425742267143549818473954077948135087788954885441300133174612510004307332540107531424253624326777980106057834007304622567359488688561912669235601232984355772650000647431975147022267052828038895005700215205390805702685168817909665359775812636888591476941979748297001132585765878572669679968003208967718995220502920349071802140169102005628654772960086926380272911146940147119550677284396877248732715812748042859781030245051328997441075754153570752061036910290943137069230002758489532125119784688464230106804490373289192260583773886130912107117705877528703187465304552555815403887856524173249573697748876076701195049289418324591821807077006224950287899840599660972843531403320074981937074803208342455636186316599741500158189254372358414756584357119349433485975635464919175251174560830819180438633576468307192414107500409488685010605996185014204586165368969551147587396066060761951716262525023678143505929992743236542178715953380317592362788987829491326901896017961588736995835363153030503048325861920935222145942082074130397798738379090640621247797034395114163048800821786819413639283924963789204424567103999952897567048617902880627342384547397844728193551281160733812632791742199283209721893969611128149769722842643702754075034764079013453331331324564963028811571355381128154995238826309068009825704032522248214189545731194710504933927455593513204206562153689294936646864090563109585365986127655029652850490850254774598215669295127371133217455907531571802909943258834053869948164099672325312246083210899317524899234438119482066431676943205728014253352052621878287214890835065610874192721644374574088327016759943094565014599538832556482404066112833332293469447382298147582021317975355055545776242963255122256361396446854997894034439749368161016591941235650173277012122574966526646311730711573483666997513141825911584614328108578758134217376132983820767519555975541957172396642226764547465200211986278228782024036452599026354617705964647041183230009657954902487137117915631899562108167542835268880911798918327001510089430933502265509880417268148908812291287082952109766415444761833098113691278977477122980202133212746589852634671926624555388319277144999140834101059524872569030654767321855578141002838442058890414682109669054337555206532913423204111494441007724598556415289012162258426352551147078595553213609880932895069644837618776325259427108701314679076750276325987325766791190434282627051475245364942311690421570359226975853210231171944589747868172321561144409284498744812255972316167944415034458684482061781214268917234825687477876627836168367743249408773244948988691063112600380478865818134246210720845544736421518472876874593713829842803509208275211768993845949109624624375453677491827465418467347459270497448425473396257541989940808113988809617887011452014324499095869529262140219339730031606517359189393323587541379546540821388091274730654354517356644909327584900617263889764584218459134590451977008403452259990961887919339840288954323562790608249368941546323611677529403826834623555194286330995651263696800115648880489294626619364652318434098834586027305854133387446270545353835020397571542522128525212821830130299332661790412226923870614682842645748068445855575824866887213502541730937126041796912427648131997461140265341380050202471813955693977026651364840094792620145897591381816690481772316593805505270690768397746184553099126023123008399979841076047829385141598878724798422390914376454307318765451890953265023109477426368636396795651027995433045501962995102898414290991155800188855761777033734674454678487614755250966994450659033739301500313160838320599729844570358016495399357568734065602219921218156704559208658030544608103653688805197213057760336977912821309760536858063007951517605647629964106247398349695899949168518709749894440934598359352326346812880259885425319651316359589443145420068157243560539801859680943714942865566944149003491115569797346153042368660689450470004538919216435945629122204204541554833978183611551289833126210250769674369298551683203785418677422376337169514555308472609142939192564006809487739878753639043132845210957787024572168036765425369755669337691689372159682642757537449497418005416994427085677468627943345741278193459750892923701449925344551435339662061684616286946318834116381687326356609668442661816850878358302201726827279515949196298894654714150300669941787908569445027324080377784271503413853735560505077429615383765820055942220959407277510193188046442455891294859364538378440501595920916918099209322085122672924749205144015172216109792122102691572302365693498551243092306603059365779850296871735291334499724162964734825673764078783302942775073652195965175395117328425384809993466669701185413116405189495265549500814393148266488144464640209407832353934236123495389862481501646262872514068441540323241030381292120284342758340771587145838104201688625456195295922502893750379438292604020974002976591306686065952755327510698794454143399655516194986920940659152382011727678666162834438312481666252038836576254126699845464566305626956300524145350816449079591479909647782002448130287670724944687100703971599113759347014971086244076651521471989330630186021305048086070345183800627956418712285362423280665412324259297091097700292972121994744426228543308684127337911626984752085482300415690572101220265546980356715481577352519046914043093788933407978357663892407945831053809339861714613321315002679579725818962290576615119916240999193263215059982468159612035086196162185140955383507737097381655129651352026318952939243562395145390317544223633130657390191841231458942990560684292537598977918245736986947330423936923373521115413358476203818142692458622068160517057737223332996119298888705213003969668000446336718096923708853050360875843204027557567729670050070934456292198755900985174161171010498958797084469521957848116947199891507108449626352546703160579177421169382207722093235260057182342362393439411167924584091526061686413002559143056811111779708277736151832307889385667509092809708369331327427004104019029461443725910813483549170741047323029756221693280169277049193289319141114908869724389042049221875825979970675643926559694021381142671289816729574280407646858336987035423399064120619089258734901166405703082400764912261285010187293510024604618222568315323826198069982118384010719482289989607372010907570340147326678500305625838998049807198497734231901917472465983722720742108557695432505903407033405048224226143087628088834201672994184495616288695892134723418576797210819805461815839733317831479781392885064825825088189657616971791871415017060915450039966398970448413092125469123200475844245375100418446477104934773844112579849619665499434168902643712951268056230282085270878043999881177877526438418231405761652466193118860690405132423239531733139514493709568694609307469314164276161660931859705889566352596023775307483043131652545728120657912367284982185753474555387547682602700226624748154671053178253911427371720745827165096276400991584750433634318265463544026404059732843711650722540326513665539498189050993479379819858069782186550218132703931536004981536976329865055365877436341521795877561245185803483099483370886025489091525828237798366834873955709870662763298057251921879145360285571773767137829961577960518685217746247279774458945612549743742831904815350809536033451762018622246012604624880226814489030208699540534068141543851849396599038459111745869040957358146683360303234564462806343052444122209949711134702414560239693118152077552892874878936396189283729487007933111713325796976022839831774557754586129931105181072396948765794282037558844620777071732341338904151955540464755763270276533801079265904501991399911148631955713222124599327298591184973501322417377527672498332161573711800569092997008018124471868966578772680054555115368197971988268480789452275424334870367231884210352035048530872411544593847549658620092222075697993203380369371970118620686785419495255563324660911586550421706176765066648772023067335212871229572864628593292686770613076925551413724934001927652248539432700595619641090703916208440328327989866193987592464676893911495031828083479399860466583725069502132569217564902388765615240185217012211621274685894817898502864744778728805223523568228520359372244127993663796742824483964378068084949230172094688777742518660795932453717290802613994109697676546634094312714343688065892069923889663399237781474789350280943736602759003646241613009187349859596342804784736956735049651242784358854222294503380011326200397158461145519604154209120235447053382014780387410007225248623183888193780192165821037441670975857353741134083939552285787470682184294374504489182475143887812334555863450776262702177165763086242091747050040170866401275592307039259902570961549547425743327576518018968833828549557132288485916402907228197474390843291625499233603130937725911624471648741422681576199443246160572956060077755727121477555028219570885987610308616526997434567736849345330753107855095203683421538202686763679904808755129976825548332690005219503130028482569368881011500900708334010090541605439705010448801241231425172792669780942466246160895311361541680530976880079062255312749586495569879991888536255300611324583354828575063694882255737304037192527978009324019657545394260194974997779469639167367418736987987825059437117506136845125583580071465597991832278671542835371934195490622248935956224872350015965515958203602782874174520513574548409743275382575552195680734777891272429525285475377416310543712273922030540663165394607929542801194972285986886262095970577136576745769464229858567404085499316146892335485678633144181922122136886299706540317111527979213893436282996378841327782939509892054955684786747301183738455056131478157054163011814605181258318152660993266856564474948642723611100639902015319341288259832107369494952916086270297793904223636251591408247034324703681924639827518952691022795031493373089983779927924543941160471591197331541232099717813372288860153630328005321283493922821942798595545541667925851085320640320984885062781566162148812846676727041620168984368806948599100745257530198237645384205604722679798456326015055493416189255332635667717529430341119018787056822355471201598295028936095633683611856083769270231506933402659423041956204596724407701136473169496910613049728321764084695335392064815005835018255851030854903488038337481831944218813095847742203769522647144417245993959341190705441636307972141768559382864112094716562019410130765693954697559964008297600535418866178823111020172715573022550595290335013740258692854277197466984463603029814118345183219329346621191049720611973683629567033419427791676238341546392166558972067100211039085968668390528173719652781392134501547568786291318332843345475807220124754674876828981892346880324971215786221858465238181791603387622054450261053527730169177366478088241739088445258913852404189170539301360562050253228909091314659975223046546496264872705050427985635524999568943548465629053352838905240747682823469442512422052432146049691151599502745119211568291361987775744299750819945714978774047543664667121836718639985938647758480497379574310313556106922648893323794188621034303009967129575625060330359032217667494155356337239116889032366927392379605559478222318350257576956904849957835534199270800453710290967308048719319218734905095783279092933409790112305095355177878797425730259126615147330971950212836644394579639594272143484791826563859652532019504389724159269468392524242186038072871266166423738352176839344656894225000557581315184030850597256194696235696507258485093481378292837221706822897942641654257844542009284748645428513828372778381335135819408279535792283988973991137735931487315643412685577389382827974403739403858089054758537646920265681816610003762245923078253690283197605974266134558262895200074717519866139348452285860670989229139860073767216427450218418990687512821051640714206606389587802832431977581088443726138355462961246061281033813110128147483064925001565512390649263760563155724150594446447578971934930991026680957081484238104884185792550051367684291351141125175793902226258740088453641633871277575302581962372271590742555475734011936308352925466276945714811338665484639021230369169058049540678417310559465918598303503065831399068316976483876101199519366253613888976226616508466733759478466304203938446589038464883472822845237953170699411613641081944696996724440746928392364130567933923015291910836075357808954407226578423150840588341954782356879973662184218680496876430753139516367036626375443913518542939738639303504732241669528654384395492271047001209217380103835760953115694497464875956857723939594612549508301794218645124976069095855328481413039828332195744156994123083932663795175897709125491779731184593992615345221399614109834910618405773674148244441335724652915031005080446257502537452754598551539294860423302145828071311737531913940893517121551804301704622055447973766966747893173096271481780432052415373985016954090511688306812531486809043952323243760231622525043883668986857066165306618190456852747466558716177265851650734155065945175613667842590715951852649232661198941992769783302883777941111750144741042290808902366083391940652111393237267613597885389234282889008977305473363126803325171091298392614849700054268616029942960963848864440600491029455039665291702342363466065042222960210987858800694421569857705366984484108686731050696302960906193423160663874899001882894951256155911024044628205315937709684265648034603378173148140538450449907592035509064459099090914452597256714953028272645215273966122182604134614750102864922445726576575452903240547143706012344312177520657776455271900115395334250541807539121915059837985261573370516229544119703078887431739989145794825349987158969437877343737675161566395464762435208186531597510366689707775832838650575235805017140232362041820853877746798302950844233833110374580653641907944749706284770654767948296218866925906821760067313916066581607858328425138624683306260336679546791249223032388929568772894761215153639603094062765311976690109113804874054937787515860827573236354566858067490627165972159902992186708613896895137370683173156800919554827792046505577775066888521186692976521103907786318443369590672352028399996432396387686732036137916466867950311217912679120494226863196952264941526031838460165370450925925788004244059443494676228555085452556602069422687732189463339027671535820222547033122347985668270282524598801234683953776355174689122536788123818919954637844127033241873737633256130422332711844450749742422378266197046104011122653275889557238498505763648049409248040111162770871555279884079036125727883591241446081033368567697834958256973338399561692398900085029353534299965740696377950214085190300644954777473548411684055102877611086419856726622678722878593933583970287883595451263588076265414634051480829780026991158114186054762951288199430838665320484267405555510253322746134221993103619477720495243388211785032250462292214245695555003313775842857102650520168844871279318563741260727741141786989397154226727632286584861696775818739529467092943452537335065005696013460731802577679099155134503484158398467526505737423974714748125400935781953545973458470765007447097325493931035952440878024276669846308426444638673638016286511939259851334195630392655957116711230449799232117360684897591755826316223902262248984622865793572796249103764038231040804819749428592702463212739006905074988773173218854689364243894209649285664424617526423270727279330815571558866484163195316141173690908132019027389528425154996722430348902376328054372916139822725299083690889249738852299592377545012678088732611954616362090049010456572723812186073402918544779953528995921194551880521382956261774080412733037942090367807531125676008042604950740619056487808050234373558916155389927465633076200800996912907610063205373231269372796200739054334374622102589957213978891909703175501973559378692404636111602720633833840903223989418916722494065846038688359912725214200892792743098661635079572837905143855138729527112983667896161918139486407368579422616671178599051403823472914009009792249130249978704003805414564064290663790392252304492171609589052028178161599011704358289134091358894393049509659960511332429448250983651074985148901512823058472152580251850119996729092301953415910466349751480976575854195444193866030102393289408190947927848078304524045296572175086034722585941757724710712442707798690720995580682225197899864793298473283077934323740885248180241259936076280749955223104632199106829980811820415770202403786723523630415869096428133036466253394949402426868625765918335222413541020048878505699747168524067286575194342570625734736675473650312557208374721707773173242611280307759065469239502290675828206127673498471063519764466442716720938461560725568203791375209490395388168627203084219274933011968906502185542429917425792226204508851936642892877228775513009477364630006424109929900045932466773531374440548668487587771578864754288251325710249958355230509904068164634131457314484939386983313477742735215011666976795032349208702667063334267712152648808795365929937351899242067225119480731326592334357720796452977775486743842476892616068173391692812463591354946096450111565885729253824469117197557285107865529845427871658302341211115530007466352555048245234541048573187791003476233058840725783349844254988058458762713484532692040225683831642322237097645471405091236413440636195922050000387149001957833598078100859888605597284847911653207087459343563080218716211148958962680089733082142060670637691930990581223716105016338135993918359318713030449261801897108928204261003161499659858596679590094337472123334438951788213921316896137345600884721183405537041739088655022155389774248059789541723435365861490158428369474900604308895256061113875543858496272691509108623975548059013623804035826260053073574512487107741426347751250977397730939072528233632100264802882297270641095201052883807867694620371563957604766114500580804771764272878001313127741324430272340885129896856038315246574743679823704601279075780608924227128322264403079900615323141020797123800533820530512191173870930198385367908173470015597347513283321602546122502724867125834953157390056206935329540235971715394692464427438802759614864941292475277337413495071487803353778663631185623061534867577670632549018682958003825878848517645563087087772192083183889862253677915514040364912819332723464641041042088110931260983961840185584637023543594672485749153090804859418312609672994066748441944008425983217548033459861740020043137850828618329975681776571031196315818659950490672379791787367219075156406534377644763062170576698567087492270750280876724620422535389447414241343631101664366396998808785733504534672454066921810426881156695438451339196056976913074521339412192950876911121752555502502270789147173800685423650303237374867787025583890598936305021008716646978571180516617315670294795858844262719841035509462151000546726532666861744293511621047567390241977309661472422087045241117074333885178666262283897595052031288720189523544821739478219424439975899983500607804123879219306567932572487287019768589246523250669611473973008800477104433865437226884395682500885716481309468446127095654313955754758050793514267563138193621702422973187848122776831895740704846233538362165958684330857962853761603136764747847256586609266766292576087452731246222355044158659706369989276817043499411681279792821296922692766507086672448008802330978928203559308288859785353411978502118214004684250546740254977141733336689523049168314443762977348272050599618427960138243826409005405005054389956220325769403114107296693855412386184534165135716337686204154882263119603753953515796511561579168752008167453622412708438608227154950444416068767350715278673616499068407910205043844601230826219496186924400308314293044784092563118632077751264305941995949177170641308906867774638543917793819757616446811106638932358361840915953211635978809063329517326102817101486669486439611310171755365403322789044470100197631212341076463636245830977326893259327741919571499244985596469761730467291526992474055576981593496630773754704071040347978197576164468111066389323583618409159532116359788090633295173261028171014866694864396113101717553654033227890444701001273631071717553654033227890444701001273631361248 0977326893259327741919571499244985596469761730467291526992474055576981593496630773754704071040347978197576164468111066389323583618409159532116359788090633295173261028171014866694864396113101717553654033227890444701001273631071717553654033227890444701001273631361248 097732689325932774191957149924498559646976173046729152699247405557698159349663077375470407104034797497551771084931213539242932997367572202934597575880257640391775690512155280231452102931304996533393730232009205054096856615040586803416379342521973861293658971856933125374145784827827008605989216540395608173187429758719191069327571217995208732082698186359846006727643387648206815611367912284097379440355613871405973903686799304742369235031065342146664191636140197023934232575269429902746933964408159301579187951544290533462614104915531568845012558555000913322061112701018443500695217461730659598641688109381630424976087706154578395449379187191797782140502257904967221220778160238014923812940085463237140405297277693352142122684618597821174435852420591097028941984624689995232422398165559046677132287636196018384874319465372981229633527406286439610417591624718206354197435685713007167543681062853835858736114148832792331046006134451413086470002471956472167985528236769001963621404356498533319768880648886200204617790255802270949683423461083492572475354452133926887369393128985048595882232814751038118880946045143978036923529233651090034139345846785041229174135049437061960586661948266564318216656629645606373347509328955343251749727379136224270823935645582443273066007731554713017808401693196075223441839922700118976889848446350552660726916423783790080479416176843343832284585376841381182511677563838892583940201206135674469196707575278047069344581827691577956860232495884116028959837840511525597978388184102901478476234508967028966728888964765797782306997988192708835134933044589817086468179711128381820020441974991177215410342051654270270319998466349146952076159865068488522031632873225903815064835501000845177843754507436145059221942402418726282490356341265264311926550304063202575366053150918626942304009333102482986091924700441157769350573870042859048669736423070558612735640205404826776438809032580278850876909948092573290173311716530546783923878398599208449494428235455111107556714179415670619711986419956408981974696503835985600015377631978659426847065320729130183465878244925078198783011235042612991308041293778671171441743649417041309599842774961523852311952163541571620418554261725773289754274896425245583690080520697198978340532795249628326415693415613998572867309874226214028851812860019084603231750133307807483123616417826138051177933714470414812118995919098022374678777281289045303579959340056720430564404493547802696346463971915660009263686421734741176193906414540231793906317382851890365239862900709983098625224892343712260609858103040957638851092438950976336494774858416747664414121044269967768519849816506753795395453287080549905298268091627341027240261084195694627375916305703069360493049551760291677145256732350336713095707817696108902556901313383745115817342608720809197689623761582472327996967626594917696890350001810871147385743498364099092793369454718156290345287008933177864626001848458350275093946565743519796624693962789671332753001033621670580280602032717455317735493275712812897223016943175659529582131377364076503258241209583942276617489875728184847630287518607461981595309145177675376142287815383246915820396855647131870682486414694355434186424089865340226529793504253105307455647445859877651882708589209421996518670330660554024323585305741249889718839646582694981414032729680400985674094472202944414410268192913411094218741513282873310798232925145066107827921012180103111970427769076943035449752830570950893363533333185109690238906980629357163430388150748514989827901710659364412707476112985186817773137047234454037456002862191679132213657827070240795099679141803348219625586266951974361124884659465827287656449897715944442118234927551749896827448384642155445225433577710157111531264690883868010392137927188857961098424544017603589273600925798619743410246093628989695597260191902173807009755802375380835506211199233147409088468143519903350329776225541026224766502446985717135357265288218568611239302212235302190516277356974128634983540839032773548105080711638965572944766845792174112094484019965561435530689830861208494869864517106673707691815725446046682028205264852335869924999080595519278288145869413682298976929469666575230382603431048858076055117083009197101198492536480728361569767818774221507110373995369276615245244965350910034528895977702974277885415339785881066071568949262130827794926549436210734569678785506873855611333520651100095167223844443533158667179835359535764511966809574527400042434015440049062666137962957470652740757837146094002332655677207837079450102526980479349759953631214724888120659995044732454052956949161135437651275923571260142803889143997132062841954681968858841752929226688644262143406338432354490358718369905053470947584495815394054529883914651863181509397362332140545096908945353116235023162645424287888032188619172536257980921796925106976631553486672128902553534276632117995418894408023111712410789106391179138011169084156147104326412032435201946687819777327163070488510951900436345084713867267715378928165562125093199330846173552270091856241962610481528464045526818176983236033294487179905087448562440525846670570782029673843869936935465436456444723004453622737526653145299219622309881176456806767139785437916584732095046944304384883707718650184325692701151713494961736980782426940804064500922506823933795683717612153905708238585482910045715628540523094477092336799211584887188615244229459047803961052354775294518432918217764704012674190255625784771039687550336529962214488179352640586781333262159209134904418941231255215399597795265706825746240764954866113924814670065722771960249573450805840870221307879945435072556036021889510992483703313007661853085253912740769203896980996769175607014847575779142527138022094159387748849404964683120257215335558064888819994902449124874438702696481904561785671518215321421458688965726342557795756265270062929784596450617489642530002109224798180888946251675732735002967714705032799875798996291279287466075781964794847523920352226455940631262832484175397548174570106570926022593172320874093274914009797818697026014374214786317938531308155711671801618419885007706082881144649675351462171955213852392511041984108164140482204424941782795380173574309636944364950635187482039605091070892098443141678406446191093677136150577214300475164292784627606125879326495558644718659029848182201602100499771983618037782118959565168922539341826350103713632115778121460237093669106321911883916952705363199942535844908602398083142987243632625841069153661791501171003458273988450230019002557747743121433421560910214256300472929521680512822156479879131483612303346110277520338297969847648751075308620962846476786353120230686050987180875128226550528198916999445054582528742745970634022960335685388694979938282801471099860087059568484121519647334347663376274351356005241363537190114791202992225315331886602515377068331015488909995369901717369429844706667704827932244823418206567425879146781115189747749072558489155466470043329222039895064945277075532932299426267433298828142825568965733266786575619337195939080664291914750311132844675148739635772879342989756413360426581430509213481367985288829257251595246368667052647189839619635984921134156953198638045581484790717809078695292727918404522943010294283671108395063484250638208555865392327654528622726648834185074874139385493074176302795550310290813677069430289701202531770184941820914979238296316560222983619803482040579523193813266546097213588393044852166287214352575113723684505929298249561147422682921830579426533469225932522637203170191999844767571541048969160820055609293880438561539393886108000388931415514251988072813467570939331543005256903783714451599730234429145056998641467595030318127152727894250238346672633173337455880994354439500367756703109190940716114115405573408848342833535993192144371060068593660264699346572009360316234442638215142442839171596146581317424731705156325348237931474944920069795480164682189884332759152807095398821268398936423181065489044804892768489218547106769788613503335244981138616373957310268025164231339411549810626704975020136128532716794506413100084685100521121363995839031402261910807289909816307020635413111542266607869548717738202141054740140240326319645639300962185517129143265244274594414418275602144551534404540028743249577705844940809840330272581809631796524917350701494846684157254659289949476236370059804890396576313824027694236662622690151478947116904980254949025258782220685372604573303597309077583539317030888708542349531223031802292879599064050177373344213062743143128615220905180899239090902879120512231186846024133278609750024675079171260577404575292564364823259159993166445098901914614802860025482343871969033739870536003763110023850308855156273942623157390714593247386985029721347782260711680996006044074990934185340057217199340913082088234123050761235269621245455084222401498616621573160299790401496699491727462378267301789409424959606884377389474315405894732714701696198582509128215714053085784661918613228061036503420039013081403792861284302253788112844894688305371033031235700434623165907687630898083954159168520545880947623711927889907467857536699281423524704411716652528910036053775597355884354254237465176941851447073145254768769289970059546134968039738232936238998019862056505624606681310225203680548324843349695689653100385237546675878567994009464253726661505467570912987623619267008359876267855503028630668799392265099377398846083906682082066230124612997303780115748296449826052470590020138856244146334105814533631328256053205200592926480830313212035078776629584645441891695373424281390351629291422504839036261444255735810748683489251853965653149819630557124199950351323821951186967238151458339349082859755991966972170453430432731619357189676268639789788684438861190418094418582586957960263456303755247758311154311476203593869850737767074276510824819289768101338596997861434244300067684394207595549574076093250167823992960045740357758333106586041155550814690850848399595861676625129053153032243940117244488740345224071805352218797147385313216889626028531253487585855672513707818686352116963311057203172237060467811950861142666656026580629084848817231556597264624249137466762446143719528456935221561844002089813015954860029902518858507357307152932312318131849917893637341453991341102203556541051010772435986055631748277847240137983474630972453826070078510252638166027436710934976867796097426453923241963379897682484422098019133054859645286814246290873537053411643476969647296675258300786930930798498427116879044083381863267759733803252682422433296807395064180671565602714268211230312342948551653653215269457610646824700707679329111011960165468779920874150621869243525586056608143500705463657282512899089865298827626568230074377036105806222664547996570037627144257157725812686825466294687239956406509728324077614389187704249767623422145130917936877460629168518390246803136439897416961358829185973655389064577513081193455198291814912845765152299640726298338964187393802463224707363927685951291328962522675690312898982088924713495701429446868226555957527745822828429972809777383212732530514169924655225066614655913575986554748942601571238087794284727911437223671115303827477533414242407179488602028340577593858604743995094332651136487754324221472663136485905777194353727858104371833790095179817963113508959960557056842175321440798955923184808524878083675500683459483934247832856563524764189493364922492977088581624231502049139804359044981004314932330105944902474718476398931631684443474047505681172374643921613431838126854709402109279571879936931386000038468514368458211668002182820129991748092639890989566539405829588860028274480269991698010642404924265810759212724690630992456074216611694183897204028455317073315231511142056785094965756120390076831567476272107045735661718784029626248721159176926327063591387678465536199985983182304514554009697426850377501200832133206958860197305121870854184388061088381433471343256668979262770244341992180768631001648573384040824075853991365579081178390854206293306812294729335597163936794620335391527090637206946734233815138342694714102439822438830866768989624415715064474790566932331808524642956292310160051118640956880068052259396549137978135636662786584825404606873151675168565871305305211587055927383753478689080814844722468403352770000119125467123303888615629669601587218133024728247879162197849116433286067222446352883105320858360458051478498520944223549847131411318817352440769169838170078031706833636151053133551533095846623655392600802125833620966795554446296223486922443190847463919351749601595928620445379912792443954761912799230415844328912730521691240813192340886616809185433824240294544610170882751608810427472192492094539469702686028526307940310706909913092204311596450429819108579944260900152451424283341581548822767582003641525105027903580048053428092302369982089414594633169359389907001555983506446908224449861971704430762869320144595156484877701259485011514053979796339301004384053190679074364712995847183321388711090998235667221263805486838741894010107540013788101839315914880874786587879500151553964407616257750818635821793101172614404666888481821945604405137924883197154571243841934389672475514442366589364718518226071883638750704592945198112364117809723074340955219414052446422009022216668654835608101851443171555087452030706681358203884352154987944960394947296065470806398245627394706397440640513789295335728586689990085990869067039434348708008176071405043256903200881536947167076099967808378752608107329924794981733321395318387783282359167370125831242890647354742150887825514984141423501301672675082179111002557972517427600739373192142103926032970810769819058988038916181382579914443432210529156905787884745821110382660549894669376430572820094574075292533611636575093600636734985028438872658171072599410784930308130117586486115832906605732742706030699969482400586086403325051074570771362035206886494623441190563168069892406954125655639819424718889220352243226097231754888531728266773910375723710106739337663808981515842676046852036203672407891490187927355618076617558781815383071457220388177297187593895662961497505678534508134597659282837182367192431400974105437297844510162575439587624579038208902934931501481048364513538889280304386036901642658923162207218966651935591627497955048009255515951904618606791880818722697029796220208880024877871779125810211789425072761319795431096246640197720972322610026863745530018619088598256565626527936608540782281152515511826170482175695615416278513963778247995239435931246975243690592186779426383330733739209231890347396557573966490982052618777270846169558736145592952198126893316443382397314238472615945308852540887188657764022385105108797310172252284529976947617375824995263247141181730160201833111918112228135088569821004818161146167604851873699956114717104896951452849696758125834536129780347732313296535965223906335742142020499047977949714036872153280706435798771212837235867186123284810142893866885703762072348447967592914421953864220121082077988765511025031152937169329199651538878042516256025746324085042288449977623894692696315286572937413430169360076035329369706417827787737793065010569739456116219240336676403090783541455138316434889449979237557815875014455206486934713086498330073898088056894346065207348759524887381452856331188696637177260653929012996245121362161821249758551092460860670329278198602652523263228264835722732391838349258202127593894057153041127362818836102715025364815499370099624982612448826291798672824976494874375237721882327023286078786741446467607560018209489067346574075767645525563642243021209167963726132117855243254451672661784549610873790374606632941769264634585023927554463003063866779511564310976617009500805367466292149031922893154613447952205175673050782240665412164309774725130449522884992542381654379640699109303726768644369877159674558387881782369993907291362951135658592126247060512379920709844530680675102192359762580382091795994036229322416000214494830694988847984025711575886642601488261724776092275527824931800612454680443270369494280519969324740567656213986896794541045778067938189867874389603154930808754485087084139693776973877043177428658169640187113187555513983743414948043673850691099689283408455486588315078298044442921781351968165206545962885924899472173332920607370072548385216598658988907709883546595044585146811251957872729831356143487873935778901650631075864406944483973846508885441240799357171892723876043392675414211824046241390905429387061282390467449182904617638581776736597386933106850735700688392261440049675224410943938679474310473017573522143068707911389927519833743170803283017996889374427312521582135631706351219458024320861852112521563609484108627492827688256250168628994059815893041995881642867887107620110956075974128723052213171260507160053682802813777234299991773005009432736417487408931931722894048033459985522641089298221544911814713634885180832952437115609605107576510978703876312812439595878309461734903983475833694660579154522058959144056918656096427650852458957058774828812041326123928589487352356033810431400035728912378562743250250463650074389009557274063694944618836528666054372615245417220582983085096593648284195869616911572593241982735832458538314401670681614873475086126487519897807761879174968270011712481891846613898797807611495726137823984153462245734739133766906177880605463474924802150100016241121217139454356212000027292737880906863891198335160811628709104432373070159783768052842819095215390089954681456048093477272389992107712708831199940831181902204147888292396454286509798811164285982169556628812903107065000093202373656256754844374179931102181762310080201404616668489913449894241224497019175557649285423992397248206504152537039228810588634119197203443941487016575998455338478687656777347709176671468038236731340163982840788020534954683295900144178046155394012922359304469985445894149744390975240122334235496542515475897214184893791435027789414016885281649814395529829554011283072905955477612250008820025122725613693737437692659490087374604434475687479171702479007356271678183376663649010405890049089190374645620178677383153699102840008228759819748535247250201437242104792848796759970557786331111404474698078827521309539908080311709187392213784736322633200766495163505108258978872205344514715051636392345586235874774466224273621281109257958287611916625415368465731854067726266281807464561236527057026139992916165305519804652650305545484991794037554110839891390539496691499562413086576574402038396516635578730617890614207972461756714788535806936170019844579843509116551020022736519845348479824964461874462583047674648261736123338632176788831250491277920092668848423818185480897273944618069227465490467321094749474591173096314265599310511814464984916465734889299095623605691807453782343016627431623595003450763718679986930718629506983311087556768767520957403143485900228811237823624226101946741693084249295818822909711597530124904150583934405280223506510308621844597274035293927698964695385469623728428517188700622734337169764549988286823553023276435037635204423303121918594735894560426683544961268990924013089983378701351245239487953845969039342470609246933983359445142833816687683906014541970792247310862821685927654723364212180787384299729325758725227419692110088899483495642276964023114275391244744324195895104686825138415711722663081780340834694446916054767932938894204339662086472722713405850346947698378481116592561577153522840427648249729162557314786408820040147197345096547770301284755681410163286181373244098590685626637160588907071996765696936955777186970008347826798465723983128062485664119583559466864633682410147066349690545555892651629622100768416618973454423248558753157654115752350824419774405089409900945155868296661067096709024218856726351302207694616474196101248350048832439909968585541868766773096136362855749905316728342790555208749417006678209583055699624947773343363507138316650091609944586030701991206362094726162816281543050557973001978755133788352283359301917015024377492382939563793589629549538010617350700506211537941161369245401779331106731368079062915857711534352906341740273374652512188369391593552057152548039141014116076073493255128653224200668287083493294702711238230448191080636701705555168166051617085257753897094270729668693022600648965741466207261504708613737237246453254378255759009256753842261930842019301417055445797375197530047041686118589733242245538937939958889725739655857866212042113770585010041536324733806348493087817055660615334112886073767434320714040687517684530102491894478822892467092476454535781147272683411981251579374793859013653631922285377259074594948916500890635310373293460482081275476655448033468975099417337722730080088351386612163960876950803327744632752021123833663890757017365868834071432495737637613189023179572011933183468407571300355600358910191442671794848640975070348915715578801216721948131742438746984840193683550642575388859536354064578459525802634894053684852456612071352028218360912107282448603570984859862149911072056038245919485982982354366474772443187443625938524431934988597695084769983030114427791664023536244069488936433666519120633002270696431428914178156515762413660679408644277393150876453278200005143114416938450213602453859527358241280822840514800724995059504215819802203211911703806022726228531527782250798281601848480446388454238187782171045347616593762607297088842176998044060036095071630593792353372760325679084296637714903184469807592422930615928875788093754556644160988810322733243261160955215205586557288084122820000875492308382839802493037018529206223877098770427810125622682864582582074893745065734680589573571270244699330407523545448638482611794977490652298806639691549161945675734171741466566677615589130228517249374989142315440420360083760231932689109975546265851442441306916999881628089074859690483068772415009109248226072211953662783562688880666917145514720406546986724461341839275466663949242227578726053861942662037939092649269513080814316765928250487647210486358393805609309137306920848388137756273064149155109110844125268842822447799765828045167088789610015596232545784169460313922987805452872155596749804085046227082625986099215606656776059196478661965350118610338730120681862698898317555385634933349620362545889058353970499641814143440022080602998861413468584239139340153564232472142530142859120565763856935627762470877172637820785953181433146684288614405778794843941854414553901189633756637537059024278787829869814914979048998218102052906879742490994284322732392927379229358949375634604471174134618118763775567553171353328694467886633685252997791338884062520535576727452268759094250269880262302902959198007187271543905075709204894742788081121617537057081777860657232739443689675971961324093497733807177485067680661100024970948317758504896131681710471576013281159979796697117964893749365801828293146885326670686356473845919381630061412473853884559004582927311830453194923750739495359713935327341573558516210856392947218980959393414820835849569334691831189479801443321814633528391077662888449608686963782651073755036361644921669180879049103339948482442207474508737919354745696156441020723233200904265039496704594794672172322314104619778179232279689115160333870859699947512842805010007507936666864488336267250377590252110262588133484892873136664049593470280206296700557077340622029755773349891842778084850329492415000656210226872992169408430237869071121487459408905047676091555973770140654311513641993910153221693197750605362646324562937860104085102597225325173092650965923479694992248331176811659480608800082618923704059498077040017396745821892429548950716877133100103978515335345314710685957094450605373359195365861719631497006018216015116781644587779937232745484370216719698324035215895168535513924782055912827961534916630151458051788841148097186706984272264732539627856885621860135755148025841191257861698154027609127050741951140396563792898288285227408601450395352112653895388386779399517295862927094784127391152433112925946400072613464924997268181094515144033606300528712881176345574744004968524233433988590299130642366501730923117254932235693646270826473653961470193614656488082366385687127431181462802429670841610218758998609649692350312982446820228624101581183380869587321577601822378961801576779989263352748408957310408461068537718696398441318584611504148287305023118066959863417933895317469817706686635251177878445758531114952252892091504281574922455591384711330427158913553411142349566732404385307357246228684692228408379373448470602916936013993040950654596190030818380252728256308220937269752752989520766338895811003934670501955027215254070784222031586900159951308263848419748777684991692392219653723166544757440764101009965061712627959017809881925888477927081016545937332535284128020075751048259116525137578340100895184768524910186221173555348636969841574019955602865124223618740583409084476878971542125953035591327072076061508973819799481185638356745062572946951343691678918263066507952431155826364371997603774446201879101613542447700627364765654919626761644468077219092292908086622811295988492478114867153425715536760311952454756156523696770385370476886604698021385248030561176382068757506758136412862878013776514061907267002330978458776691822833391651290787076086693751711689174162769080955175727969805201682102716262136069706041609156178870530540720979768493026637638968662736050113988988367335913513960315474288974713854169693929318308680021232896329599381271653722118529514501671084320746942049020976670074228274667222156833863413023286091104602401561230498455914095239210460975654364834446150855037499705955336660221346260483996012273273641910694943992246524570005239136227333383284972755739335649594315523090123323056343415235105696282286778821093084612156866114443870760958284067151875349808971433102743967023207286830105305585474061120710903593522245318973774892872122393887443165480209039008108108852669227724619314382529097258631124615779550275982207061668708048769500542419875562046699274663988639348486840142233528728214440395478422891745476582719454397372171674600060853686206659734305152428332728939125107799228171714059172236020738527892642080373792927864355780211583575735835906020737813547108144950490459183211755301545019836835859869923267993632243604356246020284705006583453866926334314789829914678538149164332937337706472856119777547178021057206562416780620492496050681014505544400083691585386399196405583027286332121027159254780491989067089066871512194349441699015818121629691645296566728882261734646998743806066636501254919352995156342670614836862978791948285828518127841377026940221675580682835676215271251002722532175501175391676185708244100056978635520154571775096098390350012825128730291388517597460971546374785158162912190028421493728409410165155706168620646222073668955493931454351822662501773714797996892061206532527541841391447611392215213461406928641935582165447967025369448854441712394333499860298027098502714181595416780254324505451516922268832227680705841685710882489400810805982436388069304940140036054058825147274558825823285297655543660060976141881745439506835189943064407677097341582749754334607411032688819736325102959868912713918327323940654677652057012685602158373854658756251286737197305200835452057115115637967152422854375612319367176856700900637354250309455101918511962299514032597437920935437420911843155116834985132549158654381928399557383125945367248250671147389629672990878885848882599701074227252504035481804962852257052082363485122693831562806728367147435055983927973260668429507263513827510419746889767672591369017306512365731719532431012869561072580528336315890095826698417353963848720165200490649064035498544923722942741837841103308077738694039345046633322001742224053633940752750598293574910869881854105227312991022233397661253324690730080270049025891197866095461412213341213891962638826661786556146344210813263307717607866380636342431909183254194322747324115237704877561380927960483576499695368748511308807062476127325750376659107831658785768550661988397945830269086027019641122022573660586407392914387722598907407359876447331552706846619167081990942108608514033280601787851430149967994736342366222291820690324453015250155785760152288473671518234944926548288571797699263163527538455765576440677544890668248996613455952180097814220867268863056429154013829653468573489967197242017176041456299913025141444752488487885952192226843723645329643388078851106993397696127782691625463097323535451462264137652139297506809924776597347261269093978722139280745585647099981589429668515562704033660587623053403109834593229001269832269205022015814343028080002236580154632882552904706825073630063078118956871980940767158512610334401938296271880860086116970723967039431812613097424711171790198574301239907540354716506288051264920095605513453336202926306649809154087581763402129960016194911103493751576558875248272142376797264256426977368198890882172269926555304987247904798100065046843426551930595486463515965834193256019953942725424637317151517635243951403807424423857724765659615245674669931628602826485504068591224634076966397694270136693882918560767582008669438337563145932941714551996669772822181470620906203497631712086466030605675614933109167359686926299803365159852130088802404618168331860877929665002779221347601161748135200060259895150218963264153851311775210714641070725779349718225272679005993370186596157932780066176911183167614715796464874106952245376114568879231150886303623840717691959989003565807547270107199166447759227730658896111939427586024665729164647782959517792521728407860744329511315658116636186290447363155515655823373410205410970553981055118587774847255317701694561977327400076274662916015578149893849915480067001588028727139647788555334050152578884671964802052467242449395518643725584409996006306300289818578112735319400344482753400429606559508922535186015542228917642946353097283905715525192200671822520448345695728302485815877783543719512685965426708169607982346616792592607356189398955902895422982006901135011999278337057617540712583480582780681238942856193111114132504933164260528023303981416900679889803737603209951643848905869936960683071012317961526692453046492374632284627990824233479833037403445017864480398812755922590204653660846910213794842368881452629696866213566476702014267253205644350313117144413771351467367169726545226546510614403820274351610225460111162195775537690901298148136883286248160366899277390833940514714338487476920116426194819239644946320044638474688479111517044843919386765303110082423870498152452040557396205818316248694503295350919858056458989087442568312292543450747373415195274236476418028199548731737721290125242144675404294585540242390647170225700446424875936387663670677479620244276809437785482576651284377690093142098666071018702933859331043773285303437168895184802547799127333139633667250697624004443999842871548273540021362280036387835780861930328130999490596589188937507538344269255703320890375832462846794994772016161849244806707260664239432321923207176003725231360026007938117888524025045773149253502497399425440513990997242778918511892389555672490883322532107988627081564000322527803151097668662283346777383494174612258945420980000290932969074377260138690910279140625985152505977668184401078167066934000751493482854055561430475539110533143757464229486209744679084475876468363178927730859885111355095794744954218629866774966961594744440927311320066978611380859054531762649459016781969714986139949226972233845270514380938951350464437551225486111708913966808936677797309943848808619331909104357860720849673073825937923963599328475100407272793862627167044754075719202503934191972545189483117279024614049668955179079986910253764890964845981670901713935120678283957996122631197331491337781834338419318523675386629019004633433285328343418249210719160927673080132353694726484892764429798706811256546280611726046073321917630474121506403020178932057956876051027752505304361222709604675845312738661652142419408683408375891400951141339295457700947317481168853640941835286109971034167235581786028234982020314998679401740417191402839362105194806048190182451800817013710421974592127984040242689630053355368549416400863921774567695344586508832862982165846016450780000359898521290123959007042026607449887850627176077622255060639074531947718892509905810093672989195409957663353865837809804479353779918771214297746197640947272121402353265517772361634196607437639153866019450177691400624068412731629586080635067629377512529343675960734271996751352015800873739548389734399012382565682907859114425882852136616920140299004131462136806323526508654112180847499875844111836290979089198341187537664960480936264893291043905977256329558138877674469546181579787041915975583350003772867246073518535088549546420293097158563694978576404837415055580991884020934333351281955145551857333488816491676944277824055543369773119201437225415419274505976013798414437359942028760525557189378041148926125798303618380107711005004239239264415692277900570279474013649422918479336925354324840487802317774451841779583558257547618425495753958785494583430848044173708798492674195289323031489589916006854228795789294815900068735373333333863813908420994872551172617108729440888684478508116345585269214154029967209886937158862322203314855817426826359506893623448134224737869394609232566007547212567414103421849013118963967654732916742471899342433028029092698507522949079709443009238672877439362551113136287615919738324134916722682612282631277938117508074089589439719002542641266494798017644201645415881317601897265962461441391319206785035246383065776401652297320470892011469171337228786303703845313419426441424966498447440486177385135293731080998594728151117365071913988126930748269061403928642276627849432955882859383721484750707783551198962249119558823704506458200561017020532484449021502294561765561859214574399009554822941375154413613291504304691417994122460933816513626279028278842138122077589424038840622943317279892594183668293679259604224184594177065301954864394817033552410287470447311715070347750834323733311632587672763683468584448656253918723946082732471350044895708680315032503867640173531507940034557285503700184560276996150615682914161170610461617408248462670335189152551882482127260072595765678899125678702014978667908471066310748764673098909147197987925985906257336497349823503126098309873468616273935805790735490824683049728409773238116708249151637346808705105219191762054169882625476054458177111799377677869654216992578557720426344244304207449548970339043450720611900769736351740195265632213928258312052824003746695459092804525968798460814087071953425476138836335351191121441431485055201235813806264923135383387675809188923797585515732036588317624241169167523814588592075164035236684372679175906370539219798112659770811394735167196299997052090170907589856916389066427042357007445027751201049039481483294574438097462603510578981954076398706078758177407249118450697884299413834206081242839014881487259985418148029294922787832435610554915641091748877067067820119859109589098386883951171838013491482549927491426985525951776536126242157266244889609614829797030842021051602796714785615940646136382477589020110251992342153210060175230257421223754210749591872867518955215532994532268942518840942282675774422227552820761560727710394718256680247106606773831206303146628474433862047432595685056892871626532908327878439965071672422061382945329166004638087256305952452302574212237542107495918728675189552155329945322689425188409422826757744222275528207615607277103947182566802471066067763831444383144 62047432595685056892871626532908327878439965071672422061382945329166004638087256305952452302574212237542107495918728675189552155329945322689425188409422826757744222275528207615607277103947182566802471066067763831444383144 6204743259568505689287162653290832787843996507167242206138294532916600463808725630595241532881209370099229896006981396279686279567635198741824018562931984922623336431899309017048819952588273388079532658851449393812411543273205891645786422945268411751880818405095690469138134430778489021148797121162839773443054846149807935624354967141294733326664224830500436445454702749172320783995650868018761732703319065657954753952069292520153070643504713068812890320538545563987992101095667298287304794661005431635846234487441555407133814323441311788424196019037028686962422762465024004208137135046401599347205327556795035339067127216177906030216239978041857633481005448388703173071625525647995999986935319681301015629709787116730696494027491665726749434320813231461388692553349492941183163877889903259401093411157274298013318145782816879135142439557873420591561458773689880807917071145511547626616820817775747248427879712981548238520368959165240543730524667287313030192582952498763932098573120916105613572201763927169959868610886760613384364961695186548486046168484824074383811807417342224483947893998278014734222305786541021772926482091409485035013224151559999016307147814852705161443225825478014344010953366023936264249313852294054753641683646704157430055837298470401814557100296962346985059977885573699802182230354923831879762989415697721236384408891789275277528471447762189205742545315103747997770686236242189906303096282211773219708230347745455060238585911403898969166622077876832601239617419997623655063632660169906611689088687741333780919516149770549214171181911014954347869382062098082787895731327899060020863391127847153684304381498150970304770886881635974192534134122191396287457810993424832714109178276317654209631250713669263658821357511998754011579028028507806698333841833826673945536831965657170319462933641092726672742449927473229138009835744509134079930856836048467786653542105866800521154264867497239537936421566535872081855412598194547427516118416936625563241935915856950889053531412183366239987802211504245660015023646910815997419202544378736102267129412282988880533679439503294048049616771107287881031614677303715021835289024146481754309549059448875410425016804069999819671937982082773346485581585910776178828497505468567913990401138456243604035744024619123769440220076042143357338726039253724664089664914714654730072195292737417679613565233067804268200024230741218667486694628058788787382995232780501070661013854028801191385573091138057275589368194030938071886379375821544435162655991203087848205239374935189559715815518280481480783131053509682356716123550963161528665857859019528717754642506412984945105730353324334890979972094572917009587840832214044050147411438170956577125267157798170976763847864206487613679394578442385860356496644631401310486670561346276901749283229004327112081922956415894815282655842219261890253051381591180342310885149122665391794481743390432270050687428881996706196068850067332835361468049859608140287911963112748254664043703847828840079815791344523210166867374112129449681345101223798429402194794691664815031243187396911960215671211422794306820104087675680937389820546842147856014277688201880717174141274936746781751322771090467300153094677730692232909534956944916011690468181827234778161975125727851535569861629220291884745302698301566387491770219476050941748668411972766044408548329750498907825806153902003010352180271792099508178391212339700700278329061937133682183369615408265203927161518022791528640768315032997406092804831050625515722628713132768182478011691549378624832240172383707271608864192942118171856467481185694008705299611314105945829387033052862979188264932474201795512442329476290348834952722928308040122263722761102752038001209375208856240645311250372640153996437123370790374395120320285350254748277980930302021966325093290944881905745102985217283069962242195471016519393297693706545763334324332564331363912210835291355577008126505397931646814945134120751218835054739685955538780919473746566279031868161713641615215540774535438041479845458406344747450856802808623241269693993112296405603273109279384916918793335961485351700181496982616480034402782281398587901486285212867461753848503480683865201680747674402114766556964387396757966442958864095775591541926150719665373410817064974822204191350352239320369277923907369558805779975526019030814355084924759818577979802981264125192698083107565746594693511285627975905780034193234760013696114472901311372932651887731467214107412752210105151558657134939127688557300645655666359352535450945737896883580027707210807546851979021567766355960858995244927220497752998154586253592955688586552190862034885742944354883401766168305532660245835994454330952973620564282947453966410175938780787579040143195672644502565389640520071487068537065627117466761571918106422804643826867806417817017101455799878594929810286748774716790174355039931696835285921164814878612862891163759927684710887436616177623930982949823406413782807112174123783422241440699848632882392406563774389808463170433981419017041770458564678599349411376710185104828834584759112985991132618063116652097710932602545777664047811397981202739627905217807965659334830319638637263605481726175440262684357264514741114361974748853281352543231321040655374753560914051335764484512650315994993984759123386762589988628267424214106563170282684202742775354785278498062554779673095621350107513570108143767120973610656933898112877006439508682263524195798998752445315132684357712526955116568426062497953005641342367940326869432022127715528452294559060131663002332978618427293697054256408957224731479608422799606431211557228988841340690157060791698553970627069498692261315505954581624066542762653609898824692284240221705109208845226419380040506472351410654462939736295006268706918574350346890787025266889903105903073320209977070195562670800784214175004024877643693827049667540691448956340009298523549912969960465402832129951288171829317338025893433608886395618814530549363321022467023712349079740681256872488335280182087968683767489328659515635001584373454271486153424971252261517808647183501990499321781991553538737856234550871431390503843286965138769032905340152384282439639132568672927224870847796968092736560421516904023007501736619499358544714404152214106474972421615230372466125530179653345435408898008690163071891588084555221984311574223129451967037586260587762633366848507527528479034425016537649163317928320735720436314962933262171984120414969390021578987584055068836313189782803270681820620114709707824647760276296351324513522519224278604476601784554635868956418344082595532543340887101615107036746824529220467808485318529560302603933699879125296023073278584693716270374914483889163375005262169733233215240070875809848564628977918098482534272120248127256555150503057004181198951860921678780927093724148047112032092752163821969300536677508468358938654452815223534755755907638023785215194601827245682363954905681259327472895456989344711418098131536495974851541068546097863303248642987770186355313674508110767638604733464029576882115288981356644930949310435890364514131755241478099253505914813095314712262341354064609059803930072954096921369456449857878131484983471061858858025833538008663482207458754757769206741006757177870214802490680993540340497808697475231821368788671920694203441862152990046866853574977871014752845821521535098270986352770357562938493139316042388716899073982395618988722188420611902770942990322757366871860797707077215592326418136016971727774070288413457177320625302988161726406498017801926964155038729328624874511566944009014691037146658952807690750630991658019040282491239634567983926956557159476136694387393330068373830818123094204415929595171871924926797929712950294915811852694465448881606448909108574738497225266256135983373917831949599150654399837939835090051743387881718295516184473257069422937536525515347117857618497747797331677160714994214526381704752272729557050017337440135602978121687188613072957200868270472815099449365576135300683820300724872389186045558234056763187626236258904340796023955291440818688735039163729934716281576586285346544476718977966400943420249016434108486305364084940912887711996506980457880713797795159120425380257091986045596738860190163441482900997297139228277863871263080176692137049349769043808195656188012979091465075440684531805169404962484549525186336324222226145869950092979045626886597039309839695602356438896863299233237659081142486035803545169782067694889248663833068791765942638200926377890316582705029113785729750974004938675358051632321698473633858419735204876339455394642739288524974516748990465145947388497787436575894707717794356270743257228553610149292967565026585100600321814615361292859106934321487868637434297702059825451095805417445562508116488195634432335555091540702287345061766348980049281114848603366735880522429802762450658064166164609330965832277412016870046186470873546075946002355373436366858463000829891159321746543217351175531575551018630965885602744732881743617645365592624617643877740379976886080184145764476430357129839955569156559423117453065948362502060364382217354409655353950904574369386510431293427166581052146477362856041042715237293978124871060598593201780757738436706563113506859305888608362023477806498797585317840167290597876570281387580260323333798832030389685399914520291291252264234896619763397182681060237095975966298091853481901250403158996252047170767663998683531531966086875291254231153750347550051536740686846995676773305775107923504903457787782633964738764290564016443331682245650903957006685680098251827330581904243226112894851849188221425396861310033713722430186839559644173467084178320400757151241680837554131482479240045243081253677296897044406796431797426815935920313582151463967892385331469168480192378561366570636094221329625671822214085376580706834616858349637565564815213278800208251696180798484047486754286481247189232457278488099517849200238132149505597686097804392272136566791432558387293962885557531898513390471237808455940718448328361153361578025705836438593371292347805105809160715792371735883271261645606567945034809907997205084227305474190778110649402160166666295094593246968082788587382689608487744561183798448657304543205368926840349142345088153510167857570666874956376066630729363649798409105284008454623326178181497976141218187286126865346071166509551354778323062741181148207171646652654270991484788077768928234579548611067150494736473997364806652995373677999340235327496480103446000856397697363373222947146973027764094077539628839012582466293969389877015862089379918551693308463815996539591339262924500564406760974231690307802715597007444183278386392005915041926664728752789795492770341508263915478969268833081660479564209112379312512452382628913239114259259248872353135341403716733799306171199648037407664440361082778150937198926678995883750525547609294200184307444389649349681425354244228754826346725993997879597972547224411728760077126088409395048119215967488739555862671065490302132402247707926524977694495520510805641048220680217292763561522377385106360209720313789483890876087730444433910703713871331637490928215492129660943559957654250506597023923980013397192543988353358193260423553346407090728580486521415339035222970604712201304941234553577895471248630004705562889455044608622266485238473107331722303856418653118021793512078836789316324319258064485005114528227697470288129755672304193896966911516840342521912666860561300384520538933691121008120502524108795220346236601390629409586806381048615670349189528899594434218075363312957022412607656628378577631058413324970080210963951349160864205194055137980373826514725989990212475135972827648704803024095769246243692551113922353178694829284218555724374736182657795600351890158768759814426657626582583777353798801168581116118854587199032823772576597479255550151703522520432959456689504597798593133546030580462871210509920026539199902203280298551349905589529620350811851911623933176841545106106551624788219806941469531402163854294846509930575901842547725876857641474091708005076586416337693581466078187224450583794243757628708545403350110537092671021601688974251901726647710911877340196587613192382440167786694473160364332359105304639269254864734057622116648426993833030504817439731193500536761645050844763047325637642166613981817216715311128910245585162073197007003112540505208238290893128757564218754167861569179700970093805014298466685212001591511327205923213373624510092718572734941352894812323115992346158969097896744541306276268725633046823353137159651300040615332005626421384322314827035473586350919884465338356840048416846538351475298726685210475900910516731592462648535707081943035235987550492977333075317220355734702365170793159327874445498164459324739383779436527800310927753543734929701120308885081138511036298562059488346961563623208283108425028737613641284672645036795749821634469459924402320386636095796527312504891201235999628480875170027135590882128244592123659726362362619317174993060278006727038520443869442023962659430717338754484396493573940165446942543891831593959675009932984755318320197095868111474034114643077490787323473238318431697758006951047596253478039290531227897202831710307704415204096202753606616877509538749135648654899352851081375466230230104416440607874337993886594343197397276280988725535964218368862525286842920940766935310174676061436150402241061006575183857818459430973816665274228223595232656315600436346060661799295434268127824698023110783192217548828248443489421559050962496809551681614178408105806817300900263152721796074723457974475343900826623840807048876766201256697542263247684144360299612706320364247672556623958413633466963420183396378254225447430632805351464492080284011693507171925134344917591634464815473816005896456760840579801659025574897671187722539527000178383461807683357425061963779397290718664165775655492239895116050443618102059416850541876584715902962594030767718693860546243793895291773829741484639269221118535479059909509729976074738729626472760521045951128274356312709605950237557318061954525987653198881915837078060946073010461531407967225257577860927309190246919298845173987163150768576635186493797629738066031650319861817206511878673359197652395674431888795336522908865200801404998114956576645013571486997392219460316658901192022613706395492150000809680804936515617904441399365473211942270762716806623267993172218125745760915245516705097654927987579284966167376193685343546860426007927821050502935106026991107729258332233138942398087165405046314658617867219949974969729059791579184648037035187388643820270609804934004556786093076538261926526318112021863859251656925865948327448316434614594036961723580597179588829058381523697885331682301331452292999154059230227405855037406285359045976578596457380652160026315917742888124801830766646377077199854694714324604154308710677882187690707969413136784605770183828392830947916091577622835129330815994526976068402659423392885871105440868306366385810204736320944965349887762757862699053539155327911881192633510691931273397666740914861397456145254527568838051822852660871349632838841836848480136264582895400730650791560741028890834546596253808696255262637115923594826384545608725836860376198170672633744812876372682998877722944540407706789940164381250027554201698302306954511629983134310718899098625410160029355244154862591376159747870918515340256888813019892188445661116491063268883242344830962888049657974271034082237366738282557725076771530518606164830633559801934071098971630988408746725910445988875959605303292488993638521193949096828371086457135234560158043864297103538466830596898796808358734978576267855658883836495162723545207087795334676586720491617208798131491416989137566464545697421666338802887093115965529089096858324662094236872595520958765867639645258106276095395529149176518173767291898766779842511921680755258160046926728928376965028649208798782224421071404646730748519743713976053074322345155253212123587085161628521453800836861246295154803945332968377364248629645702435818923168622649949921863498324681214946737511994819504507449659704327176040133835522236081534000479598193685223092588145754597956696947562389495724732524848660706542882562876735928839761419619059132908399469163841005321889186943256572066776523238247316438079769604445729694465028343061665221698708026175757051241641110920735772620397041168885940376105843313029314448290659556842964872963771613219507321997164144170256546894610127030824597238418283604031166034891537160762328639666165618560009467155491519746730842325586767410973340298461696756421076322315367897998858068319892283085976337509294649038791074370774008463493623624008300849500735581649669167597778658081118230477074246964360473279351820384719889611703590083004556851252805095510667699602373878235376637278226774052051061532018998380611491985952875002662945542273526058148948809979407952381788622443301332364554325741038837042323980921416149632755395663617686752438176556625101337430464808207552851564911671828345413047238795984888999156275919082152195945358943987391987885447878558839301953170347124025007207286819666318891540923756298247737363589629303730274864925136919788906763582461536907572381188900038683408930397937519930653817228736677538511417161821464063005399340793672109509412332835057142652831949674694850212250586274045481109395874053728880966522799491313504114857375818994915227341352040220177174269756103240539002593855895784915494068759108510900445669877902963589995785804399594722284335544039138455157545905101223677094900429072516327250643891141494031439293381604921411482986961512607568119300488516042892565334373068623996218120083759114317308944198998029337723050652250270984972059596353606069301554054235809356222199901761551336947568289739010093518988689102305620334560674781595563737372431505131046388436846166022210580766055016338443951339275390504719811126778937842527429307171428737605543790415357814619485598470604040101633653118930683696593975950084585133272847308800484877403931718396492321212575915598639683100503344056052789887661147243089207390677171334489995904995565286687043138974556386419506525626338200725605325025449791258937286606936652747569545855493793654946690595626482216601109072227166433627147859946459999267490495496151264230852976404043695030783887567665223227853593755677217005441761522757890068849222464725810068548316761687053704714029329379429575971294561345245527545656824943971433138580495097372060753941257415629101102326051852161087629611346623796743611234251779934005960149443294796416460031088377668870592004886201801963376976145058292176891376685475541938116074706436461835509504278367638447274620716138197119177044448797513778892289958847382008296507046223127280621051269910394458936078904429066128912164886732932771245059557649995316456888885393740496576571688091303924234856937644501999120287840027354636310802804883903986446286631594078401029177968777418982862222702853291914550355495243566744611953366897039280307633613422784813008059024523229864536534759379247009771237251485597896223350550371408237388559899963572576815282498573230291020966336552980975186916429280761927498322965219448169604371548847590855272358644048020175814257540052934387946196431967349029347026961869732830560212662858359414291417643270438839971403798486296507440722652641634634289829191540694582238400532287197813012034284651150002141596938756059895846743378832151044581733491029314084926196254430106947558632673613396013154936002702882265375501691319481721677272774887979071308645912517689622702343482671737444762540360443612383426636852909793473026221774344093610047343832594705561796242470147957759938396128282186704046594736713467400380288689067343505606541962915439823233191663415772757772625566712728756776474035878251863240142935123099265241861053652623906898057679590093782672125122055111315834782392514171893266684869674104933862880589331412583648730855968523648709573522735515641731600057043568337512858648679877762687891197017419892629750373901696681145531056396389133491947849112600288727202243629554113302103288831252179038609153411678577623388013856364347123025313312758349214962681684346180565506437686484432169160099329793588697132634594804765801673028762362637540464177371171233375552907616845760984120314814906712654478813087496692652495072837633958248312795542416998444914156090821234201446635611514398786928367644038199996073613035658764068334110290878236852304517716218148049432624678420340375691218100204857133468386031640918904933187028256511334225965139518362851792326534003162530311776858304390585530314347000949954042899310620069093842985984946257642436427475502009295982199705371385675402423995822493614688183578390529256276625781476282549052153118845167267925851062996411218904742903268982903001953919556490734818124668433899387652291244231198145746620093780807965110820809202500372217656466226546285167806975616512298469040287638196536023135636136497663890221979236172338854918198095735229701423204549139476002030983118265134708319579082742177973229110014981104209291997270793913105416884305647668068288143263931229248475280351556328279527326560834108816169796102396306652310043702682309153399901101851784085347966645769639956438623259072566307560394705513589758512702593763532523454546071157876567775171323140719849308707274172599038347990837752226623850161890001369665331022529573865193690993625896333791041177586051878192070877765609994109805155176052433838149857884415802148300377380729422205761142218734191201738097419160390896945708128691961868771823441333977805975939917040852574024595279535895516836710461224141484882350704209894946405334610298148181498384962874854695004074324843010042370237702693594977809093900955516428125416837951222634081034024006017318562283671178791286350576512210523464875470892286547579799198663491343367457317808000101592280324580415606204058814973369054688383056831118856426927446668256282605693182711497110790802221674273725205608523980970519287617281829491707968108495634209221568005222657659050270810105964689600419159413971344320797487520061970362143653107681949231466574683330194256177258029656287105746356679361964293350904175915476056437228482315205448832642676308711147460636034732834323009419042086748123219633559808929813901374321723190294403380213835037846658247849282371602845709018509399863087689746361213922287446437282223068981442710808767398474519868597356568324758502379022904387433865650163543092049497513946517120423996380485152404382714004998736609221595167943665520971624671902878497234306879414622093306540351514653335343817621214097499529081334366887421960854630056294187185719897965490389226099400645813457698989029375252603159479352051728738371667007215479619563757407012855926075633358043611785695703271510860973326600211008827123199163759340997123032026138109889964222097317552741425536341306159729484372048567305363345356618321960256972367743766404198553908458665477313344243061721260086297605296720785932256229235584626284633318929283198361000259218711370399715055774932048759783197671362863201844282336539347163637945712771588409841768777705511446946524042208853820282498929639508467046570193475974601082109002237981389393889173661995870235322219629414991396048429927934116586704877857111337265349285665368928875089626084058604973081180779650060100681097962304559548011897685661967624238931275652416559831945661471675822057205150733187438649959207729217154115270702515737429327406030388997018176392492844496144989211996008741455920119711061917813560083117939437002185678808012611811579946414717303547906767039162644803691523001638097509549864785771530193320758707672807382416272997985657219816684445193115121472153946260624154747884492531474522234289814443935668965208172835201849104468501236353466594439101771286059078923203698177814414065765795314169342756627442756479249572256177112244150820590572608481471404592395307959706042717245927521655060051371539677724263182593431649599940848813489629443980192805044699030743329586964202347799440608555298026016876274594816524700132047509569931582510565956554511246812167410441892014971291705911320464869299521893607872571989543326870276421120797111258063437179070285365686818813064931529035864912313662571902811608044992533173093318861973891372118396348879203809214817739751512155506071421237847824951464949328585000899517323133417944919571954937381022516204335585096404429995065494821817491829820980285016135764697993067913222478498512958741989762340204826428706202051130484543207456436305468298589979035884055646100674589972300286489589524145330379221860767572196030001998405346104236967394846598198903322644713641778288583186156410899810633325669588014908754891185529444754877770703325428165404870114529025916253519801238741401043603630920528139960818578217505919920444071679901533844586401542054227660394950985253171464765665886681458842246276815471774897706020161939694773855297795179206393425938196355238038842483958103927567056400517745841545364779201707342682078953784241931871811251340019135490752230188536642456151886403026504152062258752697464483059606000866480846739758746940310044305071100803285756185260033706833217834100697307370364032129825039545915664516251801635854889250188649041767130862347416451200097805267165914094586669529719432662613627554666276397479883132420766002470825655516863465415732273037984633497435417605339118055495848517100306504714657091740008220220333420842716210255069982951669623227920520679012499910597901723864217585369064213618772371091338814995600185227362965360920637316839784737149841162314047954571631028508309649294656142890777360309568914137573724220084319536767372075167234021174327264670777570720566446538170861043049130199330474798596351648879646194492952890582573097904095062772066683569442798805496198375127327465076018212152053349220808519176266170836135723334251006968310417820797186065027973257761157165072402736511990861376703898866503275577438942275815661730769721836436801942195847681141757576578022594122936937628548376150113712094447772678839072637650618932744947410926405869319895905855996960097204635671095586425942225071342281083161078785456208386552686224968775589567428400965170789743998364521940287896992967688552250992454811316798119609584499945128301743956586455425349246733192769929221149864428842742821896234377707149143857760805808485642730371713537642453067937869457905752335076438815218106566079270751572528839918515710526005618833910853622127568842615368679981807360170875673642170133324263530619346354543601726038855255677458062131463820548899779437994865925280732477127701533566724305128745511130522707692262151065261479813961301205482595539849829038221658540002787182817945275934575981606268256693535910919702531758789585078642512381690228684408855504623386176809374387125500306276779114460427175023690482605349682200346806279793975282372351973107085666232473255481566912018466156539344860475403574057353264973565944918990736160811763133524918574724029491422191055346694230286637390630837957952652291658230260997650740918733400133052343101030377785078752063516583462778448353683665590270558349479612983505612394339024757396930505229513081104670913249882048315378942261322355663430981141830986684768102825715502868274838339757192587347401153664671682629370155268224421277110523909179693192391277379771768801542246883496201400997322757593293917724086463489283646444353876181138341439888235343530623717836037727092220679014913157494612352486498036806094484885719893841191968471524836899608147222418754317335333742369490081762643689316367885345454285713963603275099228957125803241463056342872931869971175945658363103616835157351924115291745856865483974709206998158899997133603670512517832216587046941565206271294188303672861697327759547489832700933761709103805515938607797518316479113151091832801275251593651504886079398848586099308119349380127789670910847840847094315489455770550455036182181154602650233359866262119075457284333340654655923652677967900972402255903766627701571787453010678368459746242411941460927025518165357449640803707635921820480703170780049503051527919804684148029262375914410938821175845422300258710509897434053801960809670600172944613159435393190215524986391770306032510939596603820623564441379417884276524064389978721528985487390825419481126849740034138058770293316002349752331437832506834683239029486296128917710704498770623085845558300725385819369995627494731655208956179446276477688277511157614704990194822843238680273470746738628147526753337201210107164668619616006337713521378211388572121554773972169330440194716653483026828509805531003676041798533591083991213560094604211825482838260805945116333374599933098540090956755312822504067646007341266354406248261660563576912527998130161592594268648699500472477533277064999384644411392955896914652204299081224390628600046503573812695217022563921682177336732020915867504500478898168703646096151846004855741439881726097384472127464419545019833559323176882955783064580208982952763154907355005465411111371947630436261732978590284651319161466655167663506411933457586671378181098415646592962365769083627160722338147885085506388631774907872349191987679896746362545471260440954168197799220710427640251548433196477390558104961000164705989515785294399191798519780608939567864719736389009852422340005442237631164031518642793802179526568429978142883832138959824393958877015579907839448920670917065520349676998605415590210576514771578737867513712547304466033499423963787796271176836236896244596776440199697869302789570435167443150980228986501287745403934073972426716050025587854988889409938420910016817387489835845628935275170791170549000543621962170642940432780627987378667673022285201837041592135242242759628375037299734959143125112923968531901297535611629672308486174323176389298817540247039152280625468479103097962829343042133940228841293104759404346083566834323249561364754257986254455449889635167136444593793573500702773176734884517488709966825081043899155677099848874017882990749484423316788301806059737151889964295032419913988064778214020010411177747896883955510807421116480422750798779310315115110843383177288725255853668013231927523396907869301592580852419159088376804536260897508342110444191172855632146461237202911674061466035739643190133267351138318086854427530611568220064205077627624316309076339574680273152917799081012535494361259147198875238666399374852539797888793077692813208745702729612199390812546255462541090083430520403871083838572264217675630290493017692951152885790854789541342729679084551526624977107434221537656995492169311900356755887971969593608944405602798532282974592300572929022501918690499605151963466587384576628616558370926229549052558715098878019153598544171672135730700635697462366450699943859586530458169557668141518863751672958285519470256814867521612134585393262425217446952550700769270083280535053695163837024826205634521190864360945508786374555688416514747774466068680273209052745681753951571320375462170698262614847590710692505568871840363000530513868109575388748063346329994876955374348108245413109810837369070751045263814615713736203505637412061154369839564311367318509717496343405832290723583401618290608716587101601304215919171390236458970590273481568107228986719530257968376456398971876922517593315586797334077373304321675565391075575423891616070212271737592070056307136843747821213528898979866821776283257253334518323039274761865403919208796565258928608193070403573964208098932108943220085199416761171752735397888202661874456228202205315283142784830338686027996517517975581988333102562543823041601894233917038633783579210320377866821806189086326486741966200834537726721380300483534966960106622413864272529253000537291773706116234865438736033357315122713930047525770309217990269105683369868147007004668071319009006387690689420354186765107497339382475859863862891901184985160567627206356818364125792244982802899653618617776686778141029039884734762717902348638353671988418153776428435790683635879056700585812134278486017342992731149852582942638130658497932171960271888398888136721030252937373068728428425267681849503279329574707045375230320864088918820469202578114374706774210439314645278658963807040853074482407805394314796823543620540986524254461309609568972992532000469372276519264525234710438680616284415026327290612571927257767631402242018562351489059030613122440819438963471259810672223080736248740388234464280483917599711890693049486869311881573358946333731378306463075822060360727221651203940831736077127229108945530997277130413106141567730248755030303311974593678235696920692900868406551784355069909796130120859134208252365383197216400257843865315526851804559506527621829780729270016262380753984531787493214571767442842240498063048733634559557141921655599069316011685456804757856944582581465254105690942130415186078742436405050757001169784515992851436363314191985622039283636376980736964248023175052955013733589796035987444259036369071724627520840312123803089261318802320710301404611955903967347832214727621039428519154515034699239286860608789482720401315517854889242118587503260120766227587948661078061994316694602312466700366406945698803378941916927909305638007712556961113855111068230718626350878130165915966571995616639269524013281937122686738399710231302371860614424028167500027852370132974280057314123377107673052630029188543218495203772625172519665489858630275201985805552865567017412424781398441147945614036133723592910024028800169542825276370017260558174084453430805114569010709200685375107498005622995679393703609421655852401268260862013989663997981826683814642688762945498686986956018358721332468705175195617160408503607021926593490727025109947572522191084244559520783085143427489795831409061138136873218656247805199733098940110047570718189852293784438141434541275082709849791964579292080235503643635350960125171771680565549982788366872030579533233548922735814390956051222929425451105961566598998015880640054229431876949270762221110284761808261596446602704309729054929180957757759026962478243427196842521066737089539128792695710391317015524198956659379628884094286905195234919075493968337433851086788683112974840774256142888024202545647075085740339539876746447064724122440508415745987731692742806579384510808293347136974573171707801215046556077308798757870502442018251306625132845793796693426746591767544732128729799255322939565415828683586256392962270161695814361047964633701681690383700255736494401395819022902590430291793301413198519600605393959301511803485506302148638173900592786593779628397460050166002456192425055935165239389938578583292259171164760183315867395892269179867719926426770722804451657455450128217130748500736779344547024871488371884766882437818598556832300391829250722212472339543814508124959205727385821638671741214554440720007746256677999930338858143839522468418606099465055117494931262474754541149008992988802447511714394147171562048431661614834901904600119092962556851628776043685120922176537252030663261027926045712112346536407 8205062694894518313368129757008494650362783044503424298855803363561984544505418523948398908251480866797159530872371873295269916 69084045225197466547763406553670508396129526943779829719822550740087246757960737559298851192270040140899223099769250729036952725 334370195169448316009981695382175397508939318302700401408992230997692507290824372529302536554584962933437019516944831600998169538217539750893931830270040140899223099769250729082437252930253655458496293343701951694483160099816953821753975089393183088183490256194526897726401106041349080453131450107139376971054634766542938733278849650778891157044338998759686206776694117023532572196970063355980127679632173540570173738734560027884615557553918888819015793780554417315212471104852527959766608726189792991456157552097970404808675605446942831227454025633219115710445542963152252304360826363084422103356833710034748286461973431203220247244393229338029788392731660966573419664813971173290576318607759419141898287478329113668433025352925249647921101964649065217824280216584448011941483756087062646822170527885558666093973084921172488988070552950041388669076368399430081887793480377554118045469519337436930740150043869156290274693614588145704566372976279494406160931199311174180452044928354561469971287682350175144537389283837680072041680696395364925057869308093258643237958397918508366785268709394339609878348151314236645262541524927558779906532561633208127186353644050491018131486487972806483608496665024892073569753621719047572055407926966384435426213099435243251883097135308234078731415494809665748791962070429813217624378108179660000362780596168645858331102483433125102935266385776539714735100522118161656726351353841367755589213883356137546166901506117537764963729764127572979618546006530588154337466463750246766187368286013593899796610488703732129989880771893034558284247986325865083297164788136878369340431586994415840560731051700807409062423229834214836459375406668988799024529677503806308864246235400067920501694025766842267333776234700738508610419471106994358045344557048916857268425464900093712562476105936696388997312784658624437991441399515694668108392632522318191172864007455876341045628857512550568081525229392792597814861747545269477638044769959550506070304057230748023470574234467241031229653495050651701165431324285219759223250396349180246543163466129180222569771408902123393287886041739410135263115203691114539200387541090012174008003707640680658246278050875572041054258157045731547930958472208291904617945375395547055895534904623810081663731945502358481019922271929120161775202444668605900966401426557247684365331867035220655801458913652142148842795655866270593388749187863939123109498561212629941292195705509821590414591386112526656218794569178586414084184662918123127717018560764298414034759248597953641392957002953996000447652417411806360908910703299357601235674502894896672436831132348273563813700784818092204544487869713639440714068381085375023790679254919907435453911187544169787977445880706127946791026105972678506875496861910266428987266041554000355937062096146877748021195590129744347561903690150322987650744211659407494846421163583607742142679643983102756815554612105716791531072217779302545732287453729298919495464444302147434944339915261997646175605004468761414451971378481762117897724143554673546702425073478364221897884302406489528463143881634350752965333347820743987447844243948343786215800052959412016958449975956621953145946385170657449406445413770883853227475395462267472178164107859715062639482911743733169123087794755840162452434673160765279230383361084033932278592304370696142336185151202016300371064733923601594093487614139315780147375520999305714396909361417808686920081272999501268940633815459426180425248707055293695120120933850061826700896112557402629284289397798199536585334676890135251331654478486211389757939533763847704378960005437463152679226126554035001329447959332038995044036912341008956512641833327189635116513065117671202257937290610148423524674378547404696125822110639983260451581254754677929322160100396891835166867336830393136298532998872877313365140099200771811594958529964781866067889568730412979681933386864036542998250248976083898727879968322479948612906215381195278117506535007681270346380699853213452396070408503822031138373124673544085400354980559889762848218255029841751924213819952951835534403125784310766698198236289049859569939761472019504074153418288497163679555729981157692899029453651754415265328609725311247060977431006428102157231991439287247182840939967413832697591370192060393452424462818209416205366883589174586151994610289297586116332625393634857916508954974755610887043082657833533954872060436193138168742118417529818004502462401321388921541354063163302382161565464533991219188665880282830367309947128978081654878897206258768190147486576432647455435864796605054419314007833058157665753933917660149690172511013519303276412543790817246689999810787074329882860632105428729230684618965421625785755601612552340300580197329431255534421488652069980970043014298345079053809234458243679438749162814834015294287829919084621132239087623502463789187701226754763087919453241491141091253487734704529022285676973757021670272351520368322814498653030193362473582464002265301781786230613182673475745562719183138593703869423224060783415856173750148103203795100191326222685916207583999928414258360755023703675143734725006108456521231782069026932327170717018071750076671070243830088213495621142096666279257629475353656122311963034872979923961295610014411768430991443598065566847331837711114898251668605288243158296681577367429301750530961966351587675538641288368646401680329010209836414539013618201231060000077579660767714453237449036664538190330356596405377484863770568919521436067964328702651141982058714099621884954127590552896627174371637870154631182349958080516726387898690116970574332525233066881141023090637160965393382917542474057228131824852865622014084294835890305433176866938862725299013743012988285332041492596472487084288708681215621556590555201187669920995349288586951293492562058852997594598147350552550331514573498130249635666005715621294128820162299984814529158027274529433671346133989549925197261429546713411065508748687356789905052618418649467003626154556517859007474346830220335306212633198282054810388329437727848015435298542340690991512207114081916532842162868282636635610834323566621845834965842435114082527134184467043885460564089153311183112391186053987811676276761370365842848180731392005624904716232823299108066060664706264035428591900796973473018870585654299212914106508310502492118115256100637422924329390473242858590436910997808736870161271565760862527256304137946186853271590894846828027643878196883034690139863099353489043993961413138596462884385448545178614698948363593025023338886138660578825349382042975420534819660539437264347797913552987090440975167142565491734186574028331056378689930376561815662351820475549941943497152154891214252064707929043762128454036356540042644388587991544652650458844150220834818998082523762637834939192990877418633119502333553507950955019850442946460037920770326472316538371677976322551046150834470572786498431040691955211902908981909550664375400366598915712966903738260586886220943158567621416946277003446146558837096145418383678165326467179887047516242002769841056810499347974174742755566238344821872394925598724808179028869791780821130782667388227175699536815810068349441770141103531411070982796796045742155734677372931318357429009881725107070010270568161059092561977387252629549670643826974876315270996332315389780214195846283702358552280297758021406191250393900095497206896922935154870995796216818651729414300236510071410275558943126234999452621742518340731495182266541367071120543595047705298405516414408231604009414859322767183356104103195233484846079523646610699869631765885028193317090927754380975029691292829028718271868676560565601038836259747689933191815086846351020204443191415907723646830255391680889137742672332139947128849775979539773479229678936219309925112006630115661739065757368376763659371892114223684991202147557197223055741005725452572453855565056864605371122682267950192963103945844174558065212238893467377781174877110853585636510480400702351384140839434491495873363170337452474420769031046589402807065204049010261018063071440950890118365282910010426311261217230160730391427829982605482593748719707894559086334217056537691155991337169641525291258655071927483459371130756268223314419307505994006735363650372935500767980421512143519725325605622643945414113167472987783687140996758965630701996956082462801450491199124071218574805370693964038921234646978712255066960696516150681300606294107400804707570130916173507733475564877254736912252150981350331929933833438210788554383323618735690716080545580984367005743508507531994097659653368721043493322280618834992004827873811252750304920888817484642831901653960063046650291562089053229473199966789104299917745341287689103090997671881480309327162698123657206043315964964934205359309749955463534159984382386204942506939320142666378368948120219976141798608305898382939006739514551757354999717075389248031529410901185149261408759447372115939328926370506958329918100862084041028648992346326034564237042482425706390912938080170465965363072414492818375533047948623350633663637588656105890660335316291117659790023653012172857536620189010164981597772472905402267078626833877730111700943185140357762194548167620643753196878414851842589344814052958399638497025395976212635978594566911063706013322795334191053037954042597830413766751674976878746529964917834233642700074547548194947135986680691566664585329149030823205989028120587812681576743093072101761358226318999288797323093201014923212637326715179649554896892477661184315456716175749393840161652290784408942315087668705466527579323880554912666169377759895392556108040693811822480005135080937204668602003905500914116539448199594173218719034097188255907262958428371977008581794185070102392475998828961357377875643588549634256114678078334051871095131257599993180519092190226656156950392826194790160170231224330575443126065446462500868662274804386674419442015394260381155782754000040402071218190131574640109342733574833610146940368545125644320347075284483893175456176463157220928781027991202902189223828247035054633830941944779746913088292457205029220624985552355105654164304576298864176806201741134808923422728834745432011980726606895692588229327024544775347217655283908061743002542828159828767471359831392486775453184684460838048150815663541946256581329635955059482907633010681564496651788032837772344264957347620939757595579306386710047774393400649834055072362181198948448212717277785138995684904476270086131269781577572295464760335927355634301851525659582920138209150226200880031749728538998215039065355933128282835302291042484991010409600808129227371345158145829596251438171754663416763065800124676193027393974968282716096494372311355756290781019612424029811176798261867140483954668523855807275940560932973124055553730447992932564932798114831833202137311156232404092544419362171293573215519555826930703620869391030956262579288494465718175291633610508440138556367920711571888579885134962980427561385500828166953039086989620802903035538006255632140366817790818021164843877948278512937817115195312920602534993978761754640800188549112650947737794033808138516582177365474212231932820826980804014905348395503964389278202924723734827169643746781354156230792934930724033675169925218892240566961469968147387885186031428976353797624324269819101596656181862939220488095891535233677225687364384668169767417735744924027732442718521724582490379444028830673844564001853656074654175605371082546817925693646964418020722076795015297467508384135231135616254995291763514168838458188793842769207700363308166744134057171504307644550557086201962187509021388493215588493146361185166819219333310687104157219222584513623221990026708380222348732157579711911396826803848840402814592695923283959641886626796149305159820371186283109450197691335579388158951141532725042249535888645052952518856976647677540641989646125632782259701702333755852088622218260028535928144630861090706741716126123002253062294326943978032683573008816248684496380618338129063172066698253927339740049475856958735139345476951134818732264175263119057768859219802373209352298817249598232180205141646542331746026771047957385695174672602807096815250437335898205504740080301330175581522716953096751972016120092056623087754287106964586347137428066751678319373513256522148383317367230811981653422398026247437655894767569216343687766915649479989449089533354826086379823253949166726899416749983477046990214640899683758249505829081453314220062263702658890856758926305062177250459027499099932791976237866665291918639558768793566387776474276695160789608393162352529278325036415584678024618159880514292691440698965247194819339632313685463418650909284138271725216953836200632300921099620624942506081118148675129816086548637849168389142024407461253734991180744446800456578072347621011306844607797942213204417518481616010190843118577837369230285339399275611116062550093838015931151113590785216256048538691432381224590429977294696432227371518952580297336604535600707534380412669670586791436932809218304113925179378607725904330105369386056453122825753943173722335852211681543044363584974277208363422787961783015362502801858578484425971986713283424851276948108214828989987454317220977924036083261987325361585956014193841365176258823231664971366187149882091304281551016224391160452496338425654078620540396847598413729509315814877737124018717977838047898994943654297767325701570538126378522274697246787424130079364232849781847838418709500092027232765464981769718563115946830120997154727353173557025264097429486253814814007859420937562638394686737163244650066947567053159947268781125617046006407444558074290199970126210536944280714092216615182130793486989728370011952930810736667285487985787148223531687967478735752661938542362400071391130567555033885290142377185416489229415567163845886141110633338312041108527645828402610255558454722593759618723463643099396380123444892556529898272029900367843915104186874958244295462621261555251986745094446529022196496329554000070385210563219676582484226507331253620546260268684522660968880438380474372623233161666015912793688199594050257199993291767339310271001259536094694379663859680832664319316496584963397729194414518373166757368853645182023023814826377065301139112891369134624913279126032535345919916323452775814247666027954795407043305095730585710512198291209443165335943240846813807488753872970853754416828066098849350666996372897944316567926876367066059226649550352104308343571403351838775617420963086662250481525113784858825700250405158386183616450763591975664564712150619898520627461072077885340900897413337888452905606432467837237844238116245396078973114333370609605259730199650937439545624668662812432752778817857645097868654913892339614539387201609954727731688759973321677118441995894848614261038915187575363531390084472167159313610565905523068822701639006046465423719340430985082507735015485199317471835737304491506949757248007908426935982914383093138985548754942322744949162792191174416817622585153292309062702886262732717271373674728853638621232215215659814014346174420864122382487018421762113798480012891846115029134072351040099682816355155884962593470228424529656446314581220877964148139740521318982878542842696578224348921862124534021422918738248798312836552083881102235045871328965119752972393956001142529640219606769679575814793597999314184981204111154282216513239255907098748163233710191611397919813113343628756085191368235626377581119520159283010980245617011022257367211180753783939970561978347858998010395864273294684313310109468796463429787772268219444805699924553685460167533539940861811762259294277647153412400002769010274117619239922487172129321988282132145815583308103276766568215762232861023578888664955757065519767142309504205762010616009270364200234045097208356485771816682415119269448506815186293519056117128036592678213698507508774982207319334861979007258977582664142806319759559863145370970654776647680072587850063099401087894554709720638038948369303697002697458292541889356827697675923286776710169803509732769360272883121039870404729507335731757223271391288682308969775881257914549379342985359447300616559315055902450692901802949396531937276413075979435030186195182849400682794556592773381062149016449883428475015304083572143224589265200027521484688613520268320201235650451901911872323559167037232979034597875506946927721571147182379966807463907229451229908534653261746797338216839409164611176212107568264733826146148780221208854610941607249501461647180175574523157572564916552016964627970618347370461961194707193166112753777075198944648689161124640677993406222196506865913705310362339187592819657416107839829879513864770740645142244930292524076236866433594986611393309682004315015611717440284570589293425048899723028035902438855797151315458832846190466314888130054461650106191633925396324995668918855812076832961375023195402633096304694051247986849565872764528769709915657361774733919053124868449462587226912095502070721707162187967918776070558048101519229507432633782002791831155368264376788757991198116796887396317781452995442566577309275671432912484702302278647522453354025140790949182546253529101439352289666482429845599342557559177758575824235233897374748446334004725931357292624483984877701765481318806697061502288930961065688203005792824776845650575916401812945586968803264581170511288126050608222011029481378867623478883248252825039466886560479147243495936240857533931494128559506580257628000890635688149232095192164003188097299919802546703286321856744877047667974008052444941230192577061686079333377261667952372310225603045607349457206356031317070375962721464901942508795425966836567349678477964017862775009417083925965179211371888502696058085928715465641853891151124482809575136933274382978784025912924252701523801839428277642307786599800714990011271862672569779749355858588276207844192101150122755574177976386270585270654598893783329649518770115264414216448752086329424108541931861114096827628512901437848023439124804724666828152772743115489646255670802912294104703665441279619458724516005911000089599347648268573468246049695113680191131432130230724663416373425090192136199058793486103011684913670312515932112231432891632315514863903892049073046753790603338481462237904763363720223176833541143297333311418939424737931987551333659519236920605564181536292745717249538204457474709743381119982520693905592573907077743606915448349546454394555065175130465938835163084824746341099051994962367971035899271356201097850561624995231890502155814684467724636155469783168324827569631357175583147078970917287783371804851989545984382859669977686925059438280995311638096443817997760350113087073944851928516254905890311087233296314882559207427401434402388147125455959070011936654709673891258727027356852730777519396886203870643053734199636785940852157897724435609553832097371222349936362340929899012531960339947214295787475147685543217321671274622768033233000563823270722754529494217257519412510539167218643358594453492687692208238733143003926135466300572963673315564909795980489924726693864564374620224968338000050557898268566769671142801876726217786557664915770035246110093279468256367716153962437927712948381379723447290968522053123318201578958447957484049665426250203956746823547335325896674648211886220773024416413964005743958993445124070810023107666728342986005755493637474986490855563048804573498089745784926319775144735958577735630772546785298233325468702009571974896190023249744687725350453317273092423088905788306207272855498567467904848611804926653657381113003182547299877874226322450523541721830132563417954396498386793829456411967522772180797079505564445083804357892004410159910087105620865457535861988133754425521273028942416530758030330807963603979606664242815793244860528724956074874090361813640624302017652262395586836828920962749246091188942919022126987681974610643447889946335490493675843048514349980646095449673288773001522154402956812345344894693259234979855786079219347904248738644206792284192513273004963905388381579374791162995933734710442586573721918359134231189246812151005641755378356731275277203394208457733093229393377414746291204143364237584532278001041819917548416469079889666380349031404208579751276702343697309017820412023120163323706816098096193762383531664281467808566072208949378140585082658256120641566908039133014503787374700861916342078689658413132733633143633823725986924785670108198872061494310116009326430205345194366867309888936587361852746283046848650865893166284417428158134399120583431847933143825136125768653093775747737196608082413879789095686319242787821365341453517151201241563214557726125717115423757523043561118558919663144423086936670511991381534032262106215943974271207654652317651989664244752620471519096989174455118437433125604112060004810628341774495189990610221341264453400653485761580063364046688273922022619214475711159414547570565243538867082174995562889089016770823973102051948388718354983432880888607110361769033231078137963055727389811291277038682799321659040531468963259863919429152076441218374053356689581994265209152060722347870111507849459926379425827381004560937340373847005260432400476515103397442629158978594216190276546124371007314153313395606701209923570558935555864373324662393682733813766609885613860817560855257518818229823656205930398480268468925648315727203819634275024490538138712272836538138174118903818629370668796552740183516011067772154427487631866938516652689190966932412414576525175477138616790707468769050286308364149318965595623542786245515875993374048688880593635094764046404226690237394346938131980945539830596379527850040281880171518968731583106825414735475048320937668798878682016249772079654622965998697092863444271187840432634846582416724416037900486290633522739626326436896952186374585547737927708108320998006560378549786179281682380184437377739659675829132206012553928697061311830757497364982101473139995137801195836304657845862188194414978493700984027560068549802633573502769035013349159994106340615470787332906037072311612403418705507883790008981769470259740812636634023320523475949462864772027962521136864483778421277547089060751025530145464807254596276113743167930832271444495182515532025306889930585319483180619097628180166772303612166067813695171764875979064176720782749004474566711439030261848117098822188891664963938685131934691125989498624773419222103929318565373462824471898957875867961128151109965937010037834603669908366054995393142099942349260195172005600349859404096353991054727739469799041357870226320692025454984165726774279463961297439136852179485034061807728509874281227690114136816402846752887542766483471728545123898591571606211062103861150414532497879130121380688937808878574113569402360108611727474907686345867962597361001991170298696396753605633035859850590240448570523144308227985585804210667606978466858561399205325248703555458537010107735008864951963541191453995475570655262775843576574584612584156310747495367701904508846045178961035630096449832567980305263711009034833683273800925855783963976978875745504097761666099027954291885893089179509868123115630538921168142337958131082941913018538766498384326660489096880186078698996946395195235541223544449510914904279326593168916538452464761210297732380494910269720631973144576872230188864547231035203360880327345189251460428378272357373813799044513964614587724157800991829452769114892564495544578208112585497462991227232646490397507964230600261945260981238603894172852569764474274292893781644102259782780808093811884898286656450750469903550368236404570287861926400784608310625668967210515107875998062605331021001223580899087864525527739274544838949424609773097681032881810483775584905357543698547824872097962396028564633703672244472560265313928132432260277494460178011800643538046561772418288441537932797330316564262549644575247852251514033329218029943636689200450280879301458362655927453036932085819923685824058244928679704700489293410367432496807871678052871557152697953873176161393561325930030985187458526074604280714530295334442483635278630915145811167703384349810903471380868798951289092704710360333677107781408348446246860614725498836547671435078971650144527699386002279228873124616118886865145487571245875831948668196071351297809734289009348299609161372171840805688912848320307378043990298011977674459526087245017878848275822031416079664684533840137300363393522391326174642283971469201272934108032240148629789074135636204355195830151240608782357990545993705598339963964272542888444321935083739604441268034988549867801424120139847994694742672513457504328416115283189343362578255557624860446989208108295158121308074724848831737971440657552370929620468722922975057390432552935848119802663290934039894973580929027356502652096862827876692654166187793651464999633518918591982811237177058085129088914798950229698022775369781832643658030659460809240080176890723258414412971928242472038004865907624832984326661253026851033499026576578579963305728578158044815065341472910340118651075275759146213859575557984653317465242124797035629657648497169968778459841432813641506265880323735372672051002039187208654889404916333923844805717563887250930123137906973034464028369489145321874796890368908009191076964875226793196883973083136328551644284854543895511923516267055241661011619193956232121540447458844931776033264586483326999953276131156081986730317987770968854732069736111069687352300866613257328235545132889270735840381580895934095400477668633738822098999477588872525139289471025761158113058137307925695089111060363374714300481807454470712358569670187616304402485928102941244816533043001976781251848873242914654653747653084078562990904537378476391634106971349483164149431772592573598987741410425852565064699225753338667022937999299024833844979636165826017703760240428543525146892938266773788401005040778149801065156552974765023025304818482902235166349070894498768111961215106508070884528940298303191343694788607197230910879065454559290442696210241265089620800237754863792190058221375417994513677375502934421394783438454088249683005596980722742714752346186384496330037201105848844426282284718356695105783641807090871181197634134679230482799919294233444343374526571185195827581724295569753655476535585715371587886731558237317912035819433685902461168954935845484381021820980564566711522781111528663148797912241046715034541226359174023105072675781565169079497535456954661023435063517892628200738767157841844853233126474816964104500932952639391072551402638097234507421452663467912487992195042495063983505756316700242220978888450142354933264477085420732956420064799904567282882730897363424016355981512716558570876026319347603574797113673228442544954614124103144112136532959073184466267811106274019900800574085133602171132919101914817238581103597632336215944590686068858174582721066360783247211055398822853111623083077224932071876031428355497239999095438674791190412064095816350306921536539525593982910836444057789476865590642695907855588927801481153129605282973963783052239656879793291341582956231550105619750057478825843506838948027201316800544924176554134155367229678186722629752193572967621597457292998278457699958185701247041065275523470931676021088746201894983099905626803547323919174388035285239451968559022629912340556236681684202614065946016614268981636489632267056714545276155208403199775521811222283069464028275458309078800952553826700117480894400858244223448409014439309950760458749929609291944867872842446552942603550401536630485727845750678903342063754856518026058646545350492315463660672149559792319961283892566068624538219662137909561418094819626802348373704864453909857960411713107012433147227706943816242616077917473589306040322161173190236290108124146346823909101474784534812647369393780345086690201178540922691890721139084273626400840225609527953662226878036310749929518963349372478078424620773854564629746985678187794641332775595949591985874191668447830186688758259850633580953047305926279587882662813566957418566351836629677963353661625690006588345284789326123079425333212093431309861700139402245159398630153300275885744826155520116321655830540110902479913174431860947888944247191765658573938336152938916463157877752069260989922377842721076226754713629677265283382604580315488184291834579056205585231384674868809874757418299514360895275711489696984659133055157182490172640634694738316224845702956882134783218600502197579493279575371401946919871033919215034601174895493500576483118480038321070455100031972994606266908170328465232638024224858174035422985108136931116248203781568240267054026506092762957413003945906744527919799664729933275003238785344552182030969527725411833131949298374542996743450834945692079455833089572194166974255446825338646561066514161947402732330689180554887144239701482488141302433322116028228928803159132754604063931447565045102470784782700310083062398337903505920853878236743848746907159107166138352709755851584349132103501222558659285742960510769146892529022359382791271100717798787378979020601040537927126554260278572353850665444666703866631450870991655715371206920784426287258032345585653143785432590390181683860053275496579257260690379957598881347306888807474475471119322401485057132580064528148510649450621787971736653675812418556178181865092565915089678588385373460069351497669402008541424119586157738199026180199575558106225483616404106207630901758560745738847326450713338575654604173253371130280137894079385793643399533627809231210839700233028364694233862029910331376974507251928193044810605361488981272372755345364515179843869973757297234479617541226385432501523178083972557268785022568712168135342539028347810191915420343242593460913311364251073193994337038432388613758805682715616485493653802378509039348336224822731820740996845329664200662680372687820264867057829851192845030221581505303564175689377542106313879430081690861925874286987546755092349447396156707592501916836911293037748049551990970398233638263648913505843039964819572362115740772576823369907023744639354292702053460448038310231444811459137953847492391572943127807412044060803097587296697310718198441066933408260496984151577165929551948655816486757794233936898827759003578942127616047047342116721879204887694233196384054499475111593254796176239384985382401964770818520948648559242287732496687300301024626104466769085254560976052527675426097221758042315321576735329075348153641113756403344937644773157010744177623582318651700354720537594043178245991335983391817819096329898151391257543191389833725440528150815457031022896802995772275083312116597704221998268965832469412245112832949898729700252886927820088561271599497751356215241446212011857260152524697229091514046407531921992817342803276185996457025802115601746209063589075186175753000042491967200921485676401596976159704057369425903568270576217269808261258458059616706188663328402633856482864261038593074900732614647683459041578797930499820505904321300238863933029787387361962755332185958012662216325846640775464765793633808544964957096554919468161205115569439108079681353938460597500671795063102561224795271996046570862538431272191945200310509319123694795458561223792958467448322080383851926631532382845070622235541635575201604845859578772796435664079289773151778925432460163741951653324854866212599811797246357628056178491675839232577223668439231390463625063640230283172300137855383978440596035683326842799266546160672110959606388342429504300233636510873394591424660824687867914224109725995512135343919323395208857001590380446982663110695458536384642995474068040679609633400896596476123350118154718221565202593800562590621502729012224260404147261584034278162605459873385724563714777921604748274433441112967312376761198629786698630802417950047309905486807868392900997525783605684232527345124938846464261174378459017654469540965159470872997650711276266611757869601903289742862638348064602583518365195914728710254160903417107626677581504651694625449579938289961786666098572735726068550669586903757230549955720906262171394703968503952363129448708741524764225060652166970795528304128108686049739229536592431541725993932707486079566741459387068412327500416690860257614875887987623593673475462930459683470578182433923747399924993182137763038375299038515104921386268559486228289802909860409840116650732228999532240562234847784269088277733330025209570716387891375728361113161508282405867748061283780997658812245009750709847914399252401416224053285985178406026775338192282678495278866724568933375945160731956862168560635120350246309928374185078076042047738430532548387635924125575316364522931635117865222823289644483191026924741636339992805353093665926179864424954948846174813289956813731394830959499581124735554883738711252190337005154680402367783261544240656690622404363579199589191618731985304828006197422232098836693647084018123214174762767322394733060040517262859354854118824613991225459936046289697141341652030935025735593612611451396476466490210627544573749771447155080588826860313596615759788880825134084175124084231421887595702639616666768421788501511665029595597861841596054792017855481164654185831131412091278284596904448081819980631438903805220749709996445926804268473445415578103344932059501563201963053976214180739908627084806430321780024760901439771564231200722635434932737991573155185911006524727748519971019847797665568944919671648616867079037571706648356280803259648676734045842056865018193702426952536481695581459090936590780768681243863993425655353304650567850655486555712821183817396599836335767803088710405729720638481947048233307935220906084398628018386708952979494559033980397505682344935367837444146988538880452810081360625583295193112119347517762845206651922225273866969263002566560571379874677472263219110395446393846121845585775692692112744696565407157141418197949229614464039021523936521713197016823791016253905630796286769037036699987201010551972758839049026661939716483481149742391173870422714295049803918440920353535056464826470908831627172704391412142384229216009271291236006701029524904826889528581360849432035380413569645159309243382773010698290740036378191072142201091906924187216027755580459326490152150594142335313528627788269126850570087709441767082111178033916132310778845476958923562860626769063681154808619448865059856349824207852248210273557171168286043742793001905324214732698076035933663485592468191202394714809212332841860500625853791085553950069351432572141821734241696582891687104773831105970509981349409693995533517245346454725301945250021970423672563394199259591390300437260389765339723331018927319980366786966546139807538001500749940589639656960444463410488891018772540175813648299270189893187435147571951190164326245651420062310747654521955306220940907622656396770318223285959360902816252306279768529106713880771274641902570560244612378307890264854860064900878587772245828110243449387066147744535679373207145334080832496103686003164871160455763852964000928899056590388078720153816868605784536026239537615843658764131568954201845166804253112509061280575860518512612612637270196042362190166991290755289148425500020316639433680320405711411604237579803585659563124749946956984951358676171716148613421187649219985740236045258155314008760929919647446288133829073216882269131573555149018421727382907321688226913157355514901842172758 1290076854453156388109058718069408177819078957451433595938390351399592322158154787478672620334227303779525481013433488701144729801127297 254738586395894031625241817680103388373892597828563795133490722566439821360408060769512299054794220774558697799330703444390447059280707357607 2529286365622716637530104348154145433270653391650995946735871134933382166989485670534907225664398213604080607695122990547942207745586977993303444390441999735760797502802035252928636562271663753010434815395764503 6735871134933382166989485670534907225664398213604080607695122990547942207745586977993303444390441999735760797502802035252928636562271663753010434815395764503 67358711349333821669894856705573807822002173120939153007826526128684514242907265999057095825486043035452329999651555781461768952857780536654894859263172911706262038297980160841215931881886962902828715797871793688490402576691969478911970166423079447116300479691660296336654116567141292665838641676558425834662650669041699510798199041563897096165783606780345803858875490439836681107946259228094843989003473574576572212780205076636124247453027283277919753687094602692110264128505204647715113195909759784752009540677372174118439959013507272930599636253552751836512584260472280813050170163645829887952963874735239442289840412742307669265753891912937927022735871589067800740485921648396309083923403988400951287322298306185307149444124552897445431895856118740001809527520962851371172568457262195438787859256273722400118928592109735917744530909913760185710513365526899609798279669130166471364566970732370814846534938788898100994832982220454610020172043612751203153811658299101511869430491144759374415119921482776988466723909198092150851582445610520088718546069873013725536346329956445546387264452326955782438168955311089653134069842041218638500690537990290112965560297304964605482196018497714995871601601863218792857765551482609868891466417867435548639885767216407980993078464470041589252981212008077546940444869022853477093950868213234073387381521176404447604834555293052999589302071650213184557608516378241629071597940866179526322650908706250000978529459880341211082557760720141887727490710128389363243734475532766109946298202924784572795959958669060460001018255384867456565827575071585872968677167511148726521220658930514702981699114593575970624052382042720167609089719364403104714270189011229197278328160211355975632554869999224338850451985828262910381822612265599259159708291978623319316688106297525410684117108625987030714408608388908161734018394521786761691021784000705721511533181834639810904855059841908065379840393196765261825490144962826381313686830190537277629022140822825320503157581449110521496934008005917184288674742328188920822109870751009609422271796061186875231086513054879407303247558551585727129568516671150265857537215249702073566554287480481883816894380929471939249707834269119816210471308309570279144044887529446522288091642693221208914373532634347018941418654987580854438978375427611160482194498573399194641634510588275964150749708686870653330876746855170863672200413355069089822703363808724832477362384276712729982790004723750336569135964850589487117971773589537523517270453298808976870603717168938131149261179907638681757227782503037994810530997141332106791117693908249785759501734734327486335668431549974255543428798138728885884082866555063031169230342624006519246182085129405138410943833830994337323561184083415610952547445426678744153945274380854781574817180554292301725770825421551455231168981598415763033104102486785934451395633720568858890690571190839996979952133448395228759228397786569316970545027552498603759381380065895257056548715399259424999717317167976251830780718006517305152956338263279321271806269594806341649691021116023646432358904772434776651725043701882621158437644226666204751278252351887021789802726728027711822773152103035872642082452898843316831579166649925682161144990342466951532463913570478076852689899848932052533721012467448559451168698251650863150655902335060894613325964758574047430716451021988964666857650930833004568187275724168076705921604355468100929255939564895332950279715672189202732570815062770907173871031323842496009919676665726212488713499205697235869332407381117705573234609021579847223452138277157958034722054025896644153905341213744700508903387153834939078365114580792027210147906297989923573034032499697624060788973218431088244930826619080262204999011285974929556277217464611468993929401059494209733817594382878025044409968753401903886017717012459122767688467571523696552122005772424503653973769690285178582720108433598339845445681784062574904319170877438241040318671414204172036811429895036772565460710501286018318843305902670413591446899968847178334704082914681241547430930099815384258505632760473908768904927932249240953499190341621154460821389836454362734525542137157891521320603765643461287733464232652794907883819238644475577059500911944414225760474872733464246079592462981704641534606513308409571476487155212860865784707352955176812758232095338163731442904741798402689359511383623361903652219368694895392929861056065435057970271551124260864308592728205732038245286337536004053715977663220991349122262298215524644134152945655157701519189869240729862580527069848312895480796254353197417128584257661140282009534969180216778750906409638893891048450466408657503729405221041128000954731966004650043944216848594220901445242927222558490593663824402773328362645030305335399309698777034309071233257624941496016107924287316685263884527512670603005707641095261429896648818120396063873408498555009417321987796675327499620118697725690414469020624776565535065664237591469173330727489154340583008070722148098316774819302173684537002122864915199448086439186071365067385266280290156868007386584826956762542105298641165933869248253833787875213492229698895497703342047861740980716210184415161772214819110043733371169367430877326697308599010371973977949610284291618684127575699139864921142478781435310883070128710377476645242406304328370837731525611944730557552379109846177353129064424104470894516690488069509146073182689449278788849309395000995070229035343539213325589476525032807105285424124294687830663108279951403992648538194334618029560143112432856484696531717017391253878974666097145394227727410114423938795895987891054566410426814789116268572803599678303987097866634444047449502378053749408916979173853720974707345273979460572492759082492782583350682569083780835456936366817395591500548911712294589342501939702089639872042336081310929952781885040277128738574435470581971449057130415919250755715118568712451386170846137621994813881555082938848375691452590235639700631112601221180043703847770706721578829144725047038571195085880934755063748382935317775380885589411741926329374954300085072224839222875439442262626959819118969563052527909934629461536093616354944787917503777137415907062317596724558368532599842155881031625624442765549902532750176313629431277960119164305097169595321129920452717744965463360265153656582884193638793377535522100075233062499389170886030551349824542033286014988225189244497897136543887876073258396869412398388082043346266117220437998133074235136784990845864816666286201110167877285493227258973179629008389380937836886224309281603626918073213564653715350504886916477877918584277379081886131475435737043839641610866845447786051856988364354553941467448836225690758229765668051777774848742973152174071722240899625202713446380289384331452516983638073117992146783653334217478880597728426160203584308289244514390795487419205994670310937677692734600115726354786533037870508825586261691695475273604262765242628038247711129035653109206137550104153516350029477360280304265156068704450345658653273748883138871363601280833913126850405697305826236750606618539761570417421742759409404777662958560993046444536969357131235331390184473101670285366894180350236163261932678725773121497249824508730303420476258522565871384417192798648134969900336823663592588206010751421305993540511823982213935958424212886801556949601316342658839229035170296385493143120268575172092434167716759536738545958915630415154340888500416067053346654082813070083289776148824969628924016042114161510361797779321029713476265799794021546997803877847940159881608521421353530414979434853189195283011575006555852642361877164423608307897345825052329324364026437592459180056329087230507629703648435508696762133108287701771634937764001574077061929099773118327157053720920536540297077678672665327793308599658001092217362389041358427951933508882214543651911343401434280942893214788848307387257704974253324646609483535166578176707446537836480284709692610131864502931229616599437355582029288202344507282771381373531087386815666846805841655395240631511573679215491126324775012652980708686532078718046128679242880775557065292782594194300758842780120959101663775041401431445651609392042139955072749878724457109413555504501572289709470592871547857842375495555306882771627860681824647647199972980036733287720747522653591039754964088642547652414313788619066227139203374830355538284344476445982436340653278136319578083438991840207295633122742404063291136976226856540001062389860478166862977778403127948999170739672306752216295096528789631503782846767916109674558488735934754910866919617224603794332653671753266796427575943996049976680661204001653302850494997286070427542509372077385863700415441026059524493707585003637841381860779567606680646172342950075239776514594329489671900183945085350711525082628454534527375779691224833371923427615820308014628017675628250240714602509716056309317672459307604868824879005384715805207507448203052649668981999402515794942321159027841043254258353371777888992395174636657432613728518110052927573466418481851815699443404088180376875351974066363047833728440558181929943124928206995745614238266530509813446643009698835798899933364824964722667678660948382182006917644779951541006483149509234023132985550207601297659765482514322142772658066657557824521143511835733723773049243714259570295855158711563888077995670992404167839450785418474597908981580413082967546815203466039698784393830818392374771627897713828444340513409511684277340921769072524763108922444664789116879432513222007365153456231185501387421523354450308938853986101461106907489109566359662948150468546756229289415108923729431931956149182318256112906025836428781721949291753453882352799362858896363679518066994355394737960678838639432992182785568412558677995497954613302878621464651571399165914028458734870270526106981706256806358660128164497972466681641619698798867736847470963519634967576772411719388989116184101675724906528123016396816931500308252014897457973889001526824023777983097240046310850649974105912095015707758414148918052832467306183514095174913707885125975348247692650042368546235843601597072961828044309168026370057859215113722012165857223365413744447659413954964395531325161609658018099208779083525790375772675062232251858830607569323189563374733180715366869988498638691437039379137969021750962586928425716912905420020815546977772690884691552481174499936570726048504395080918943285304474939896300603185187727458210524655774108122548587461398410245523154697286056159900491973013387453043160232464499265125017042598959818255652388758779542910909672190883553577724986861366152804958762154417326193041179249699714236480394563630993072083516922495396202008388151191837244452275263668892099295766770956673835188966195961605375350086023233648287212672794571825927178717732484309582827357398194107946656428415373520978922889002103731720275866429011838350240103826226941855451746236005539053368444799037802314935009104335155598361186501260495696025913457693658762226557706320751802591029709744929517888542021192971691266310414209140107864252386132081347634547297753174408567322103225460739301677418956020272992031624797537686278078459710521326857264537362422553192509518617187601345112433762990535554619591752548043038904417376179131696274344878531155019525369978077934471263842488993435819171956729612216520534622308553410454617535160285303531706014088121363733345863747449007128683413621307466431499196264587662383247945685549526493664650173730252699119087348893838082204903139990505627544398890446347223256585859879118866887408069701032026820399164596539398276313976757586756306611912485289248569949554527475825958380592669805669093152791187730205978970631378708933883220709508976733530085556152945784936406639124522960126695960096262492362354350067173565750932462110097876387859400037811122554818628659191302654661216074980353256023443563676312411815896469738561508295193180065715412630622899429863180944708829996977823600837319327593124537302930803197083916792112382203775938691282057040125772444861579782897032372098243141995219135693399070137648657237940901897310267731464770491543124633531492311649828461191223204432979879886545504885502817224127196412962142552440814338331848355485316489156555947284549415951832993178851797857233334982197167452209398227947038948309387006888095009500176018651075682619018212259879110673576574102371886627246993510757585531487585060688926530110183871898352111721543535127593826432969022233949380459763785580907317163495687503270898657045091638820524807942352227535687082560260318281292577270037991853012635237990106194259570352197978694603793409090768169039374240329422244856490624292406904135555797817628099397846780875087378892721735054157216861062524353129717528701700217138926526862619668687123822200180819981055671128721788669286651408685730731420302602941758006147543396996144541957801734713074532518466502487391866312265912601566023637862665201617416091315672128370430238318580118360359563761144021963419885177735871538027980839239623069592894450288127077113265979220538364752490063865053846735265471279601392705742533572399284392566821190075920761228272723860856213827653499339217228831328929444455418559118523325131830035127913792520760388229329076831775728434767105684327997447620079687854596090230370601547443724261146739763761410250891819342787823041883115567958045412431192103441351490269095501799996042072322609942749361962125944584701579942673840826916807034200373342817358824220480345776191805538441867061092786475446871109042765649096133678966932061865099048116796598605503404920596174158403183736624449878891035047061650009254994233945662165624604863627523675719584621270971010358678373762859455190356948078418442046116427432686078748084405425187122732222002621434798954295282674932403815009818480465700784161918386349257477692646056917675531836754822789203318027266531093127116436793381962280095954133047870684275861578398159667863531221264910741628340363758489867323878266137690359301362324296156031166345795033480696041468095999851416733156416636610638135933370291055809518610025965969335853813370266720930385742574216786429063642546277737124516142500896386538595275801322289186537906079328441153123957194433305971116746266490238943266717961130794582310441191900797838817152230006700944002400638759226943622851083989082522875583396750453543274241265645394801066480187933702647796786435630154195928502562439369802444070041489810128503847612557665321967998949975116516655256803543642604731499806941576711495717908706191447997252271479529327963073535876112075829068056459270752877176117312662945676036633571335348362257492316090884997339500082390802270834018442186023971562268946975901121116417635281961788002013550898606998035550395507696017523557173491367658050366348098917662374727779443889209867951693893615953250815761042649807718788583191666025875455855802071249602035690143602411606765094417511639955251176046355458354558683733327378353855866576517556532384665889863983862957934979865807839120288373221654180551015045183910468920950564429261871307271889759719852246213142951936737845472512841913917280843195020814872144868180912262141950796248583678725120084959052492536635255753971301282522666319312674727117087401687401981820530095690121079949369324046386341005226062833597847775099361974110216099153341241745632227291428984531546044679324631658508205990084443044529235683561305958572769849765100357637380948890437898149713389441121553404782853834102515862734522092981378958015125267959050168838110797793737852314075453642383267753725911397231685879268790411956752555832558943262474631695959323793280773972152341316510233269555100425671347816568789443259010203076129931870611713111472446847380987616613298215895237336732356716715456141755516238807971200015234531119945417833872460867591965315696494597543435262414717377027351623521869084588169433264954360963069032786367827217343378723421220127791453073615284429176459375754527665511736166249377625834123266947038661801099526416141446943686665541214653557251088231326044430205947829570646964208405066397206393173650735131730038804452622596036548486365969426951483721919405374886648224695513800141661753441310943976696304892594972320831753099626143078452993318016508452080323635826442101627431013661298558705422918469185853580002596570936106888670740836870849076125799471641309963888597728060572543836777759459494879039592655876319211032276505838730439987043541540772170815337122816972534708480460678481530339827425354606736133106255364807823517193731976382923197606879318639973939709329235846525925254878475606695873672602507496468659320534760333026702258789399715593846707346382221087165431159871108323635901506917046254335142205615002339931636212269316141645163467224870089085755978428672090870503505953911028556125649913517596449387846853627188016450215023465660857544006212932808424563547806671370456568519259335922474643444968138939640957288030077415667409023826142450163971489926715058806214047363887717765209161257743011347519545220374908961631221049043534651801900090993521519640471458864773560214651224794178059004235182076679650785800263851082616667884855895074915864512661930983830583482629690713170673107171972808077684848057965875444137992944910704747182972801787259017034033300092303925380610416754846698895731350680386861742639924436900050778323469824069242703312234425338168695545685424131743688576721218523392455145195436629288774904004394559466550740842702513881542258012779936249482761255301095759410701557524570174019788509769995259561720868943409159725896349283592949176418770735118875573352390975338613904611744197549108582378945359488173409788639450617009227355835690040585622723780649116217992575263587677173378254508192811081021590238831184952959703028904546355239277603766971804645500936638939527129375661836498772135574322758352117961769740289374567771171020960197086099888919748227818340645149632401913419859546667518630438217822980536476808596413487848827651335906070316166008073856450236740863265104795655555239056932413659061767319157743940613838008162286942147836605812279660137868810364223934492899015582775604767214528875269651849840975725311412696979996835831311163623016679676374068208473522076481987519882298630528018228873740084633583983983511917977005782448199586712374407288542554258820673303865935123488499797026231342809325846120618731449057393342952618555683158647234650823356311168990392980746237301858961751274620110241350253016504735987391299668773165788793314681146209300688222308872061583309685836479381171758723221188044075636045626651016083443677231341484618712669394355809447299222058095400341747711692494857224976113166687150949060130424278786117002180954723913179444184167702457630140229750183193804488448160477701404081374189395454759655273539614603519113393012231332991332925650798965230809059858574069510691920327933473397266149554170561661608154295217879242085018926158908427708999081541020516351796459815754559688069426018001303557855470271598760068073314518161940783672212238517331773178365856999962215938487588392248992911068712777416931374725695651334300630652273792455105626692188080781183258673136960112090771466579443662883300144081586309863172641906333044044508058228112815488916198322932731818799958851273783872938509699050069095815055996862377712942317619729404081394181360272405148208207379513631484335422793933427765368610352540772583999654861874606811085441599378263442183839384485848529035304569715109912504423138252492529540089600277653873866357415638827431411023599533922274661428089503023576301847389969569687857964761481338527462600017284007661035335997001107429588617909344856882386140221202628100987841947785566957670602082972972849321728359478850747856268835413960452050327339001159768997592348823789600370474350944012621810109481571513305005269673475051595793024141924677188377990789709674198562062060336577626066200393475145895121231388967680521585832148587562100493982743377929100085634596084787274433460556184821630338722910556433093467219264786656314689814420038187211093438973898630381721295790929911274307671977729157837674854628928521808203967143785079336373695007727664266755854199958856972588894171885473245704126545387279293835554230412841370132131163168616764950318207812335280786703605753169261111141319274287790446455907453108303045956119947788929764950706463971681451462945312429436355548868636124882656124006440932704627209919380249935389605974433512849065936304283010405817460612320439445967861994375881821078870552909724031508851804469767207049321932642732747494746573527063140084600227060695596769687699358161220808761428908243828225082716265451015076507112254877678312710489858125890314808011532348223548575625016361343244575548970840185256248785584116155906291570640018619382678719167145422978427013185563530075923391743715042252368714308028697389723065940874726155832002885605643054367547301269759923912140930782051634730568394435766080505495391291458645641895198421266755703261404016526464718191682556178050004366263986812632605156770373757632282557237224033732656343992610107277749134762717616978002420241745421963354236834210899820509839969309009668335172915560518003291237502797413833634655705452783485374761577072978602826423169895661621536415061191691186958507630088773984133144332352216108648075376275627953573261927680750591791975382208050553608592143706425588204079499456805320998452161952903487471729158788043378980271991757552841249516455389736690366797745851060492373164749334851389131076704781689315092800565250807400336026255879746587338958865045549105944187115107898947642772391413200859027313482305147114710862568442443055612645731317975946690830413403496984189526412808130392379535423395514516436858329717672703387996607050275380884466661324952084705956236035132887635692831040423514230736898302257618939822104514711649750864957931331023051640070274041872292552531255505075196263090141904288158378608018722688533033426032418874199474309487098090077968962215212782040363871849869115568928526788514369208111989669919917593944222765985852960731611027277193039228750373527674603136498728601485908780108902769648101784192505137683639443277985897834996707510645916080799781498674621295942992949510345561239528518996648389315134166342562538722904207857003100505766723878249942293043318762933107599216334103488185307894578621304384469902259715109537842483964045195613952649940910541934802783338141050549750386325213441665253257834624105431372420513436561007097502647497506018793298970049526351080384880012217081134423115923301825065523290008053296095052967476178277649903380464927564246078440062247751022984090446457608828400843839653757251633090869365950113166805903176065399413046783186045006298095464117932227606439454509746403119000404610136363756652514763392205640853948811565665156414499546999798961551708519238964173504861644019602822837023105319549445571577791956758859753036660988220249688649624023737697414908962278262671716470905454589643425135810721550993127870018109479337800194288116971384559781303437591174498305039727200508838510020486452766917597291317151669041458699094829963978857884712415821518191513119364659265502246995225206586123710861707775297248009628557381117264350439772399159135333727943712149397486397926247924574630926880601612683328108013730760678963885303524762479577296233036320607975313117003215631577396114141726709684579198896782331749802500904092769839889486946584061970883711871716267895059803799281868790835967674438673941108953719698618297673845895439244112174432607281434415683337783965800933241626531197588638631457596991628226060779033373953780686154995433439666253404137239336058376135713663148496022846567534731883339597694060242585033382282696716025148826483767031393661503046556944035909979588086530647752720761812141539410681855315173588005631797895081069982071232635714671453116275825250080620098353029985987653456158772655905776777052350680073472116044980648839123443149699456629688381099231793759615151983265012059878144161793289005863320956390449673274096775615657921695125695757343065011177279446769975484639636764740951978746985740500256663043049693037828646730889074067621720816291000927084108802198036646903200660489829526544197361650808708999139972680652562279641804946454156448767012800583944430038777135570780465643299132187060632208151427506224046357396332303341712920530795518615942218913417439346426986003963040050800204287041572959373530995771667761525162452409290068764840944524487082963723479466340834676788924290451598405086071695341689272768570261007189617528775251605114575792348758289688272500582964348325725019488704916732932741441469386161100821207301489450942209156113531966015060095153004215187968005009256702774616975269173663358847895310487516279254152291573647418488012937076008264200657418502417040705431717287584945349675596925605810680009173553233924655397658056115062668571458886231368778250270750779389298522128983767573394440612389601946254801496866953716675692027945004146572845670685309943119591039872370249270901043532552598050115712122632847074507459034059643855282087291911849839551668044048721547532339125619945930281059752503341685465676518494539988852432775783503720834777412746381874054586392925447115055543227998182086818796986470104656134118680053965131346723238124944140474145964713110072333552028123385221405072386153693166089460593075675862667907505370161104070340909262826748877502859752375102385452677962055306027527774367819405779533840765937191233904161229938965877540504209331657806959653412589292769002105835347234056106514555429320091707450439470199566983662770224702288304266506904551219438370568467083823573011816322854340018430494979858262176841561991791993512415309491580100793747740403927636888269384149937580571751713447558159310327457741875763711877571322468922722424933777711395755848434693143205619352281759976456338446352366793269416636529382929947315541602622781043404597128258224267019760969254233568002538348946563112495170146899400464009118807408707732996430309440435818340841417580184789950262473895690754781926652219934967405417288191105033252790021585459431757345887327695863977413383026542251574881272858188927328497769691108525938565217239184042582582314470310647604648145020222102865333086563744022595880471321869450144366817538530731589200519065754801582344915484431777081767125204611964939450188625676374145376864560060142151261292424645967306428464885104976111918846720498664547599992680177566433790034005684703754475628782493489840871400770236296504170750104540300696831123531729340302631722131708617620296043445482095434867636952493941538476675380957735512146374990805038295646709020523046739855643558238071200134051795358177592661179297460148692132026306003931799564849444447316119372536942062347563745047826759397321270337280578134312662111738722249280633363983451930368038925930968899520925203527857198099238057623612284960652327697097076479039139423140213336869039480868768474330801226886994620347082371630972470472502810603314164701447412054213824030812834719100930862026974909153607225275128659774951950701446835957034266146025302815338482727764497900776889807445830108058076258028265253984671218499044394258918802188062975995631428163848511209471349952422729096625621310572002786025213027165243573020132199505317112041933385624321811596853531436428098866010958543685260108529344637841188537182627216507454141542909241257634281683464248035818333998660735773094094986065706615844070167350646845510834483041034071433068861350648161231335008442336241417442522038471620685815778003440744224089977379525077227224252216325270798286483423936031993600770157814548549973279149571524204777183259862557471172176000475918686134657668007479138823888252605950369614563755509483645524943318493757958344708256511202977130548905985889360490419843661556802806391016931507941239844261414631452720749063421674666562208207338740544102755527732642572666260325434141645180646462013591074636904814091394881734915019090588786588657560805463319115395795199226915101752611355353654804491538052352430920956839133923664186021848657405653138658589180388829010049544105395042819085217095689709852226604914977034425634152011335435956016208048334570567858284751828869432645728470941550706639004202184742841481507293211425552538487682398405964036946755855870650778052888118437054370766853940204366790879472757699767427174390824114225151702319553260149292053248523316443033614105813480812118784454016800498418637195377507912250981688395943984374349050092769074304972197321668269078681894298865543260393479960279152866631674245204993576832197598296140906096002775007541161182341365951954364768265974353872503433557560760309426459371768443525658456189413304362658549333964488136678141899403537812518636180986143109380468608423894176571709198375302735294605318217748498067641007278068935394877856208076607646288643497578138491675496948013336164585535923421874443904872822023274827900043809743722240905566579827925407920182719176407315686878899086982344333242984617134807794157926078943786937879321819276238320885621982562620537061570533650998666043733527800430297853858257772582081434930689509974690284212321480543625214410992658451320869835695037934121927877015483766846258848514803532821005762259531238439549984559771836617746969487713373602949024320140089369543524642846703906282961292533317560905458015241533626970463341560947714703878331140804553272026698516916550545808852623472270091856838115291325160755751473298310481745116901185447389050027079662813573733289152194735131715071421181962239506403606625079376610114109097571987519506279076719920841561838312623278705367794958720934808531033700370796769814433398653194730055395503613737169035404412274418482508972554341132914140992101050279406078134345274545748910397870395925576771973032662920585002184124305611014711726658858875858110980136224271917836015056300845061260958035114622186897039265600676775227127811508691824093126398323889514330730920806181836705332722219967122138243924941338450308553742913951006061214064015277299204721624746906019968753616129309594435319670213870262242747134252951983464115021525852171907334352876050896948985966187372464714844575400426321116913066108000759019927685277231229433845375373445561927073184207700352518881985100009105886970246361413394637364036291676485024313959222610891431245843108024918533766365473795428101980063946754916567388220937206795502245397495279360432187604167371252941868904167875605071581918462839749951776189847012014172849225316599764249139615534630455967370036698271392447461722405377563884525060573831172206330995224613827515438426248418305454616142397679580757579289295535823158379105998810001363558358025381930496087484840623244213019673128572797569638089158911415106268293671325339044322044393512256271342583571937580755554709952805865092748914856061501490586722186301814539552715433774411574843014604542104723710659093745894556018507470655512504962079763495262962858574191061198684337435959902767513512428421627873827040736179018226421161905654523559821346500984434684749893425519419061256853947121550938357783997339853597992080440914014013019692058848162416577920743850616592988429542875926765325764612786581365386930230643249514872291568341948933977325772383110186072859921382743995531670717977869463102412096562992515636907070979765746223022481118369933795400372890400355281383879166964514630501744667830267733915658485131337332213455591201694281994463558691199010467025724886303914313189269027234278807655956714355081008523328736761888331433062584028544613817909164915113898688610204244109694930399461881564346922592382271542373255618657637319111383935082984473757876309088819066974875034626160773620105614764919585888952617573029866000284492088330986935638966693573658315432198051146302918030353282391251226514579604511291362048141607426348368904872534774146049792896866547180431109637020693661800381564926460176322823546752577251006348108332460496397458189485625071592798514006882345658766432861696499447028761727860740162787937600313403053653720016336106731197354021657427455266137724641467970163423221094839273520539921618466844316578051485787487389956117356157422927107997893783041174634233172312368706298879939563796932343814093077303166738558758336589487921922929917029253219531310631375169956489555627920773263344399560699134012345566186600272386440912957768174567455620426969663979149248546317615555834788491120313298081093820200166708214261953839391351949433245587415772583694811634921404847335467048525276266990959144485709083160423866343355234799524193321743127082642757150153738114470464896147792343239188365976041732760691839647606786632267492919332316113187767391913271315644913056937058551533950582292262979366928009889012737440110729913075848391948372516387525152681209356155068966128156527850437743856737065968657129040745040213967864098050162871632426642267337613821529562365220402118843091692449620167039837724022900775191199017338872565494516702488423144667330169795649313895385861239811166830825720223337246985737787251767301674688527011564277582005939357098122586901258892772753477512459695452503898261166802128775738056368563156444219945818740281065680175318556456529558228861695528627420028196403061439105900321537979539693021851942326880794685279140725877194846904117641691522747211068243909658349368174072439125672601413920553750443877850971869061283089542144509045453485238152261213609136327962561871364143164942213935544220600533827345153079867230668801356293013165017655537704716300915062479212373919370575413872603778440942173025911250492386154938190070397322698270844593309383716314806112834117948631308461995943078968496411168708433793344057007952647802553242998827021223958907157262154491883119891179649225568725795187376437265210419618862359708076370825191601974822344820994433323650040151033080334509873420821279214120042048018050107979856172321647350440136981148554105881197260873953942549086287378390374680988320817221479683074313026938154363684537845761557520199479117741233670859357176920959284028880000629172087162737977415351295805029709944241913807628723085063578557022002901343270927772987375157616624748404739285155086316421530282083526501557563119590836823073403043927151810500275265003370868949842881323568496500724939884740105694734338056373384023824360725388733091113738840764500037734478470910018648045541171100256140540878369928869527413926193790851385229297895810628398059044992413872737639857194829128448347659740140414325981885024539106705917683246226948397361157181489852877065023792132178926953611637930446467710253991656844314443202029811685936616659255206559795684826916762997773403173737803087482081178487672545868373342463345241994141078015369212415987783399746699739542951868182009064969761036782152809895298760699571035690960283710085997898989463348720957080217923366574870714677736736097246399221575321940236988042560150000758404117573195749841674033303526039480973788565390288665909901358403196480373293898604594203986896616222754894365507600023458141070896150939469264527739423511469401112771914913692543785853948352726485755216020872048124916910185271799518375607328442667718476795407111621801535398791824774981618583564645228030863239977138499283592092705553078665155645276895916218692034702603948097378856539028866590990135840319648037329389860459420398689661622275489436550760002345814107089615093946162645275076000234581410708961509394611645275731647401914747 9136925437858539483527264857552160208720481249169101852717995183756073284426677184767954071116218015353987918247749816183548735623908573543908573562 38499283592092705553078665155645276895916218692034702603948097378856539028866590990135840319648037329389860459420398689661622275489436550760002345814107089615093946162645275076000234581410708961509394611645275731647401914747 9136925437858539483527264857552160208720481249169101852717995183756073284426677184767954071116218015353987918247749816183548735623908573543908573562 38499283592092705553078665155645276895916218692034701564555734028766926384132577036016059645969040322551231020295599709891641809071291457489862443029770711389414628364848487157678567794878143125124329355024768726846894693387893096861937217245242168739271859503264117183198135708927075601079299185145627502866219243697984178114140454031960916424784392143902783386837264171155494396304194058880675238187742910855178800207881176791477877311363880277285669694011827275547502000935927404948376919641741747437643099358828114902415856717211865451819540327446308508490018672136527178874236275133685438258435726097657633985935364879062020368888102701585005808302800529052500592040995400955993382815605515780805692775037640593242285382169458924730837269334803451554408908180300009713590313876036950646295255811932331910420173976968511078545102058841174742956674264086276226066772160763338326092443117163266104428145958606250699868607477542904124446463286078462792080416316171887736540720514693121214325169234294535433247282417296043324790290635405744264355101657618868875755289249058307322668857940636107263471314512803909679409368497933681487571329869781321192473059949601402778186483195060983999490292484822645196907669493668091852924654025480077219908917729196093156605486780271484478376604390600314714645229672337382101872503917315524586995542388613649792989340573091186898229687569221987835267888481656201217993235571811933947899729411316250382377160747601225078909139136007369816164496155077115624751848671864274187522209836992625110794587674427102605491018377141493953846017308993344936047697330192877913802703135070732109818820990421774795824467599020083571168178448830478739147534493519381401175208813705984398465495570550101894746331785135447806050024532228986959561098127445372003405068433161951983630318170374789862663270724406537943927775061173843773910037015604508542441718294622323098741599261379231030639797519629062149549367514934829553425573267340573662545638782087724780170125191080613807632941910483768620615503990171057754937943719814986022745743276873586654721193724736483688847386369550472304586168757789926241799192428880868466327656215489453775846426936601705490410696791396585650472314269792668892085692962878423316515400879707948404460626602059142071572641491184272577254451851792252299228998925524179313295561629333876104160849199666317442308779405887350839478730728309916977398349794368477463448015790691042083874953549261759171854122935975189900892226217219144593067886197603562218812780638813224563555606806941525529789749690521025558711666880394625316581559026470171799000399024833401918474186111779142508795783220037431338999438878790174932178328570913622593452398799211941358296486042387182406741709862281219018573336815685703235943091990841310032742416308560704018396764542197565982152583422886796490617533288038337592518802135578893511916333635912565307619634468859555567903193134267533833066316434060769725033746120456578575427494456057731809473490446364211529985330435369838466098461376693430846170005490836101239165487402155201807438320463746783904999935185678107922897258746903677495791338535035133607550732132560029191031551310728317711625077255153125730496232722086022521464840220284279859329283668879907714081923988378503562205294533615680282037531395403317643158940563253112358682394728921042814777090452957049128759352412051358687603284514258273469448854564319334456061039277195821292194131087466667665924574913853915794463552398869067679969535565940340083926630948915637051551833293940005032264170884889946017449665907668684722866810183423473358074816786082569926361457941434157737969727619536251481604750464457139352852592175783952785644120276963185951519925370647385437507348419804585231099524566402639452567114830535968678311138004081619234069234032609897041045680379348360105449292069273132391092894894161225287725417258807157698002902327692992653967222231259542378978187961729736923126986290413294069304779269034079608593696955308287063349885358980631703790655102345550359811047226307843243788750268086652866619701235843107548719344699613511024653823076326385989468574353065605827530017359129830695156395419433781212111804407015361531438457987316667203618404665922914000728615704709231838888371259011377511015467281568312617313584544495556934040160625159122144520263040073167862421234739841566360615700229575795125960678909491807148721992011513386033420124903343269019031524711111770537674903792507047710800078072437972199974867805127054386580977383660845571415922313112507699438505749572084470616176464289701673424853130726531131411329692244997325898693793362053823104304688116727029678179353151479252622771508731784134720117508291991814002438516518729332192236713933021839371801828431923462068612248771248161446437262384667227387169270434322667628213359572086575925299335704693016713770629372316184028128146654033939299764799450835563529313404481499746082157314367827706020903620002365614794817961669533898203303643151976058938824031310458646245390394575637688705927941914463513165656385303413805511607383011523496501602628983311752665408951427645487394364290003104649756341864670633839370264043271999344450176536211941839809140543543120466110710229491479572822300488815098928800520298222195603137155531918072367580873515739494158638634659242649298271246874287378871072117796093428528221850751761203163287865050956785978469694397066857436394417334190563835044072943862175261006067399446571445256508218511081123473497709235330607315603438336668128028972835529497834686120793065366622984886844589730236869505731807170927104880209369886005259423468558242146632371483603347088790508346751416318599787318213771136093379679226713048084006357127404476190169902128050362495514649375628572555347220155291627360048420717450788079507618459136069577882486187479496027948214683255363696480557947519580422659618175754553725757800638500788289428801540451472866450769363642926165614640923760991944230253071776066476460974890130071283206700958344414867959642884426565334806269850089001435859793432049547007397901976240218318645022518735576819538466957130700628882926375616032787642159655931252924924221613295745040653822016726239861866164858143429888315192031590579600733663059264478017682428057937751925499116138740816555196180080619144877294851166256997724515082137146328190365180877334737532213901795694554698558946099509944819766231605827389739243085310494440787084726990640317835935290461384822406081401306739211940359265892291196901683043436227971530484459807315903713539908523055541358503033059942630753008447497312132922813900414937292573158103903671573439298137236609677070372399756471131383650360610405488716098619039618499361053903230560359089527165216882441207600029377720542005493450599593284765791445138948041792035850852529938744500649077050320426246039291347918605296418151407354308345877036201626136356475367166760597478008590314293613337929331917500848550960438971811040988775200492122237069558581249625713314476066506933678827688873103244542439828907735107267733266784393233220192621936564466322054855219636285988698212459059484145389835524317193424912990061814639592356382859406169029756476311262291466746536626582357583297221661709968921215263224954097253009276090968909298153985477810475460397048056409701943861124378321613301721735201695386677893805184729999611330175309536392020079729438433442713241962980107195951189408020760785422475347076597267957086043738013371561484930232571019813287494389614948548783732970942781633625443633308269399055796881049489203758750785453764050536575757195557194024139210826876090887690522636865403018708227018835475847239992289403407907951367963796350726344224554191280957705903158772555892207789691111868653692807238302403892362710498072888312875535071751133424809692876972015866751891421714342557639048959469858075006092798100439092494524081766250952741727415601614543159451852217185574955268475277271673891390290147202350598954961574173169890428553994402830278383776236501085909369192015402769486814408826839215934253185968629688677073556817836034197051841911679193966183372970001938229801502724830835080109717730911105870894894672305428927151182464154409106645329532393545051930527899093172811499649272530603470215987196134565002063107133613651786165441649703573682097625837494386303922487734357175596671101166931279192046208898287538871071536313688155466795901553145462365337277109419292748404169131454197001775401916619419279523260188825373033775233601219617116125553889783561767083773878526075631342058656819701929804205050345095013583730270205832447069646396922369063859331108112201396771000674772455361451739824657873343641455185212468580407288018781059764871776307978933254645800932156135484194842177917559330935785967194699195056191293167993441194597294243460001028579758994049694365666190975793295668054246701383744999094886569721752978624999444038632564887331676004076776907176911021713324616671369335776775179668748237981197416413893296651098321913188912306128832130617534730645943263123690219424876504426568006403723735652001243194823731911164158611994016234561070555880366626031622166878471348964997725714436357031875007532986006333082899705127914581977792060780694205054949268204440463425629715753409492743557972516015720797972660701996918700986122241889692247833122306988351930268001333515823480974691137836974486763207815466488126392408284186516024914954979864427209866051820357176456894993560204307104892958158650639519173056385593822175143013143480759866933265048747990380564683509565616398416023155104796598859316847452297845327115630225679638245805708738335984861594269992353031747205620220372615270897606684602608874471195186752852500561782972888719675246604895413107910513002573103926269088847423715651830991635467374572399438350009251653919181018423706418278446319964905528885699393252826562628242869076046959122933888826367890525889629799260043658351292859166016816271158503859509920045023828805257871607999148577951174107145878927892859445542297574892663914906061225590184674242048983069603260992416053731980399309580318458741875611965516941030258842746132677152860416756259971668900919744620570788760619382471443068200786999515821869152348094620599473367284161874380183762446843114622719971835404199085721267006752205570817790802076422387700830231459632437697248430228137474801499459678297652451111647562844948823911265802232072339396724873534837968347090372172780718219930457961708748466832260754831194646363162955046142891818703440255160661099604396822797600851051090393629109199421193882665513643110459377398233754702234897098938238334960622241445881815717448698580076801768098313544889080730980104598298840671012861381855597791311265857946279763440209325404642565232144878549983704521267864862959677235993867028758906282699279492148880889025975297177478906720299367123678763451986595708011874771798648451089825195533914045264040275752862201560983909743678839234336869029379490238806297699255692023125042770510894350978320237026090787722102888386917306520297074268705923543037688984749133115084572724089272768529320256830382290269854983092664279816962154826437896461283683804207320924463481062482376286784819581085473378891721650337093171623008278354460953550001570873258537182960697550817043583499220434782397372708582326963623701760976748450030410906040116877481312364157224925413673506596999974351468311300047904376338946838115075044798362249775689187063312159825736569343060981010581075128320284644444466922583587764541076542454461602377782788423014324148376077527228666458631768687572843620346387264647033781045580384086990018470013294906720162910673208665601527200357037700877236393370846191528320488231140350582535412867184976918987401837011197112474081661540189701457760230237450381123110997102646614140418572610895636960583124466251033442176986955312306918353300561885184871146756537471284253783753602700254047815267696386800281490670826847143662704493834208868297956055915309143195923053793897090912350168317523156938922081723667794771797136271924145558888086019038040749460151095181573219926316308153672778639533982650376935093196217493071036054682746385192384010858938048215379605703755413634194531791021440277244002285950510525078853005636254879620396305141675053890281548398938260561846059692543092305011844820244405735333994864623246986164271525520414183945458833906450700211202816269037643723678632709238480835704928556654225657004171664346794270566931694659035590025009811020461599706922269604303931341501123852020843307834927685212802322911525197379137517432840567171957865482009683483949354987063341045109115580239978965553728671671998063562188229089859713594565995658390071990841135290070321279848681737876376919750159650347621049267928002979882816144262470454993187358737961144612207504177376803842330889951248927382171911705995177134534299457297252152140383430460734029321292971835990233671675519020483679889348578542813074091711212749135188966503880595036488660019305177479737720060385947944314665010410771923517224472581698761357315539473606361022608171954947748733465753076976238292997066593811303556669828383083276695476109668865318112204113255088889820627979806480301121722792334181960798412999720720088418393872211390347247310851532774836698378248679654485396054673324517828218373712906848843226097503190635530179412648238953511473878639950548602246000335769136031838256952239304394162767786502263671590542608217941626062786534137817872842038156593007446364067398966754926876493957184903132121136562023902615229840628730956481281693035018696850371310954723293767472224785729641708198589405216965981052533788923350319872584948893728640768329664533840034139733684656642998129620745325565166107548253738167396922771695636536682581378539295928048639346240680045612897367776564992644452755616222399431748911099786814130034087861609640689091934466010685781739964966919294071519797706196735563278083037486762428189532993799350174377033041267846394107423900040751986059181564659477586096999941255968962286988157890242657789777920452894572685978801512039187864497160499936222646124958687721434771817782721540331579087438333180945029353819157281454183268211248197232597214322349402628954695747621010807874258476571478016088334049625546506324147444237115967899237058982776656858977194579259926929040833893272332479302542032741208279443693635479139795797203963663957821049584163144039654240938604752833259243435007813065949179499077038816705671448564759014708193628846063438708308730139992537252983668910410331359439434771325452511125521110927987277859513827089163665909520741709275251299026204554103080348103227000462081993134977410339699357052008134906942080378722037904643828902499024012213804633979802421821068393468508849301679182896621304254933387996548743861093208514910533275877322690267241292966256736459068755914896312050174243945263893979024423237032649035968525782137809651504544989318660685590975663239442261822295196564215725418090320998044966138139531209853479671146993426949382451496674751598529004751805276612260071977572249670815150580391434618240125218092935634426976907759366545209082025060278046714933632677872058168159702504818400764542843654950033719423356553170611002844230300420530529529330867637602864565461103827537415474849100931287259564420569761099930208810403531866948926239609953565722335747574315878618459048319664295632227261052716481983985463379437083657296409394888203974869606943333151457916397207480723433442706976286568508894730949815971906831106120010286752309520111063997859704188194278438731917954837460367190355693038399401548373818626248926181581754672309466283620556512169174703278872845703153454448585223696069798688922493453282096934356761679260108472382625897599052637923259164150327636255946077462741704332544934574448894772168762718277270729479679929407037256821061295089993702462171998898944678766862734579413522640334981775308339939067029665213380346983727289053247600661939254582065928970141526129507274262922793246579170438371626932075365011196015575259469406191818184873777134268344442405293066005733445888690588803931774845117741023973587752822843859586720282398743743529592115562432243892896300272910568728872681616117730356952723169774369592914248446211898945750116903129574251482845174419871337174865767463539747457615954160878152194938038219063171978546364806877248861810391894489750730538558049092079632148308935231848037909066681345271782335322466125219499267652914275908909226211751081746705000595680931351952840080439007572617866577512574528843305355317484142917533742487750948993354373583595545788270603739739129226937030124396568971237739451673185967041931739307423102053944927937255669514349788055457033059083401130455242088377453018234714836854057038398030083490146661575627829724543844947365389473998534287543282274785381373116324699293836702958321529676293169015770163764597073115455682766349019482504203271623554376160628961010317789208130071331349683386548654072526999424381887465482728672722781054698999243638538389171009159271708230490667276596162378168640441085875745479366675438596986709554749996591202364718630251342342866031230832887254261484650491333914084557134897421213326279563751415885938343702328836763614272109109163264381199307118058137053205218187168903404084228331495613971410009101715099373550162504986980212807755241862004587089684443830634459894955514400987651922004434826887012701983039406922428539144344376925256906037856331636359169597563628551168556316245250277545376196294289043661945896802391851580679143860655457630666538550897916719672277397520763582919057664796718038856453881886603506454316833551245320523828327827721092596297947436508273341906948411747713586694162355151541897665027365243778292737501090510930825867898462418684947221879450928673056564729372657210556932497375301720300342984629399035760405532694801975212600306698038435039953622458649675717353644866229608676650221147619719066836700078786195257277249607749530158270401915630348962763155359129352170209298150999571189777124690854467614485083505413333978482613439531495371915024132149252570114576270103268359197885516410361473764759625097622302881118895404713480424617911538541632328400543710846426909503621868337287756445555844513212607093650888968996261040660972714901582592651684776350623657335276719538329789200090672985653235452227481654101948007407498391882302793263914494236957352889952770410995339475528270108194335733697184319508165751817731361789203722200462320225025710195997579524022444777321462083760083485538773062739020918868352510196397670784185032783930345616401418765456938000416667218785983018332497804306684137087899778060970875131224537331792104776532196322692920624441186024038239395826938487694386479921582750767801607506536356019247816328848950673931704750819664627195118968792595048559814225373534918820225223225452706403110045058649340196268324399675027094197725799996211263154981806629354071558361027497190651842740656593725451257474213565274061255142087368319535891534018300564376147556000590188755943248998734235441853629889772464142911298518495310609053070368529095174747046621759278212702844272027632422188650036282932734481277819082473719717873312282624529339033105661231369437672159701905627862510231496508385051784954746257928633548467647505619389560487127247631535427130602573246197073058891449957628661080519401608773839935947596879342063061649761016289384743787627083980936528689093624135397422309740440123377345283506225830076819495350573727124729146302429342011820559428587540967299824774332995253289388910288262385002918686066223060076954145344014154378027435465277981124805950108815688653909581055179251789261685947619890185128854853300197191365805093430865137339156714425310693345585359369068057311121352209014898432261639643263077611402495957275755180179589419401319774573422892233099739196245423781531637399205324766455348061014367306832579576051667436473662023462120548832579620677794658961534666628496225125599883736635615457380994239822341397785731811852669450921933340027839566052219043439079521876952862953625834511428833741880138976683348345199235437275950997248847549985348212875416021214200071674252732281865847130243740380124721275771551735438068693217817098469304772138693436239351851772094380919024767919123501634197498300194349251439227328399895275284543098006139755700791417081678257933982580345053035043559971630184552816829264227963795173998262569721393103488869523650338876723534591792138831157879766244044458568626611876186607785442345782556217513915151217506997028267121482353761675339029972479438694009843980337239260825759149712252496999091625168224188302770648315381122368712756122608584023252177282389919754616966871004680666839513940546830147066324372809717308526175004054058463579964387130602504665324509851371135047840666967408120622808495247082736778489675066868066569520461593590640327826022810236552083797774909998813393057249306686654387869383628943125351751613853047656960848342689216379531764454189162730517522167897208041102237228388620965663043269375053812605807435715564425203015360659827372446319420027263684000729039135232160978068208980025039711541356380741843338384377559456889934327573287635899539343330132152259001208386005125201093186688267356726049987995351226586460768784544884183383413662542219697146325189211728250097412198388943799647742461118287564927400801095806810716319090555440663768419924830303824453861204763918078777478409553293677312666506230463491542094550301318699283858704049776949876230868160119822506037840778293313714869319557690412480960028942859014715630035995211875113496092846464388277636681644429087235423656262418491311097071158811075995684882418627659429311553264355336578107862493660680973525672832824388047149533651630446322041993562377636592354694982486122240436933050644547086698381945613271731670628721129223308827822876856611293670404310973668158215665253095319273576065755366338130811412615041827425919791584686097566171115535926504724528901397973074836568456676376607503000803886827448092560195250182287786775116835185139009239907351059703270669619154073287289116846607505209092006071456463839356591565542668711062586079996634045775888276982303474499177127874165892377979611704433066549908819497037199281218530920424550101018728097074432904339482702886320072929682300716061300967267295626979183862541923927466039000712109973496105323355847256759415833536503896957888361222771610209908180784994235623092109652020074968190970233682046479621093852321055876215088656767684835432116346982157387655083783203733814319900742026349784281011684895754010218975450709832665427621469333908039904675311152024150248320056656158063597923618193230076288272946688783790788539740489695339314700311313244930932277053261300288505434290778900634031910022855993741995905453419829483886576419108382166429914611419105410407217183757715506151351539277140087755200122840978187258166270893127396454647725980889490463874441203383403984705474826484342166015060409787038719760453329681594560397417927703866116917540306056042759474927373175806087531129660798807172302188309181631035546996789996768141132238405848721504511097775413092733480856139943138919564591791374612961227432649028945058286960183976632667681848636729784429610824575327353237855810127991695760753661632844571547967757002225920394790124564718859527332353801320498670716155091587828895672746134396154959024810526757899163956156292280024734147290929456542414423842797513489457306058339555466206627021001410276707945843521164890881686243697965682341977082233313015802821876841167102851911373496255504415650032201321878072083632156727583289411942930094201762773431074932221630169690371102119681781459611298508035678247175572259523376464040239924499411713322706481409220890393406774165907933582247961761271957579062321607533348044259252472166376532812491737879135545453182838865387075647639734081624444987933614312318569653401386442209305743912872763381581387125506737122428830099858186321015635349402278310563117033107671249904005132001293489702721309952154923915078590421402689313004609865615236140525303927254313140978670372367159813508704144415568474093424285806826691887058701331464632050819150562484760044352070807540878211494946211509279233564167673683350164228427865293392832792845332151528920409430120008170861858410750441576216810260608335682836973843197136510829362124680025797679911553999076484038049928171803756534595183845950993400933926031105087975376413354905293957087659913428997297701816142947608013283728437159059062879686640047061491784659514338089797901747228882213053141514526750479695173436233472615330300093049742656539457947474078856366781947087581203460486212211973268398503198398806751235560721231422483976820693357970254541142678568828685762181461668246755029523775266140894926217941023421516354117757026907294430769570908960644149658816717421216683181149637091447791393408677917203636047183375907382009969094501230844029782431989830742991247475096595054024321134629833441563938684666384511304171688046800828350179909695445574285813277440301400336368378712361162753223918520093151086954785404060385142967533705144922858168231754675785993324897043319474811631365687622442092119616398478074939906325506586104726499462785709118482930764005230239571694045302297748433753449693479104278804649755091689284811027335593809440469348957848319661916191568767866474420917676961460159614300711876371159818435709487634197399138085628617818195168335660513197809453225854265525165340525641898360419180987756475470093335456463863745881837071930899277747477765194007121001602129242904288437751885569693798413746195948786640495288517970299440341709225712698364347792342000445089724019564277684357400046918068857882963825556857695524334810592353696323776654121361365941658964893601269083039121890796693463878269946256898943238426947900195449176490799259672833320150204055056395822883229865421520127390385712551158338946014788267961307059368446271407317663585074877351536087854710599450815737503768721757586689747637142045085859347552037159289414490384555188824778224888605676817948448850542482711765602041275625108169873029478991692904177807320820294539123872885057804711502794340678197206798706677346899175968570170964221498843862131723330140364840906229633661397312051267854801975140106876149786782238295155301447754388009420919581119084559317284191284475424593024043441560468496036522322070391819795473902374792889430628755879895504346332729229426581981899384964339039017485919007454985194324377468897151635061784044765817263836980897975093316068670902736290679673652827703154632011642375553779929847464033232739853551610977778107521262296894986051351716560241028710377241294082780755589199253507584971547702149091468336554322310865474877713862288757608100792717858979025987591886351963060456666333631921740794453033459277301240490432328916988631072549085903950130666659273011702603766298106832918880154007740068222930213859576454235684172436497530339103424759546679776970800273759435800647152486835066819946207850017810354281282583528653403952123279660353632408223180898254477105204750370425226479722869915914522430007083320007429597732272579503765299376768720265918931466788798396187665084089721207162147080505329655306838233758647809970173621775251826622594488975554791079002943280737776954120378881938575336245355575553862151372157904856451955247827238390439225555860854598378324204224899605866221584236888878281887503287720578409778708991012397962235928130415428146206709469072943044276373570795194638240638535397538932514553204039865813187666506718012855292092902813884649449913148962151109657353827367110519461256070483211206288125968749690533254651660985515328470502072184489791513038599618270755253508309417881533073713333483247287774790518106099400650621846957914160902586333765370269503363251590124006107726551850408574372050402869641903450601543414825874821359489668051697162204129218909013651942661633491015177709354187823411594434257301845846047967497734112396736746076937584906354299939745453007174309149674014521858837580790841009395282512399394188780009800085298325011797155246966298052393594260533425668348417106596468996024067593181873007607716569646002749184784539283759773956101054362297228330796712427595819133817907834096214082773026094598302411681339242540210247908295842719227209123104987777436008228204047939823835763173244317194831569713300108285253401780917584652294174735919734937221873348650377566376945451734805841274192964806237884746960032363296456071875008561994006290196361814327696107910102484774499481774730369751899228135576935750144684547038179643560419274820296641148426475538846160928431736673260951171414551466420877593721160664005713187183194037824930356602642114555465509638156171759883263066063541502910121381757407054603475894377765734334744331361457069549958552068159687192079552646702350322893258869265521158374045717679269786983093658441605217539839796914164692130528871247348215268404863354416036667164545205728789206539039689657009883303927822831246398832259368184889730076202950191392217469639190081298224475781030178407124137118133347420691538063731963420372270013531282315612820927307873336065731882243303526775361685144012848142160469279280062614904237264752955289806723868980112463526170892236094195142983185054938776422055983978423549606838430804446309187389828110323261749424902459296870542909598932771886727881814902205185942496497864372201915084587252415137733086590163437389903690961839418466048047641285774857339602432888485615948165391309950784326152761242743730419813219131097138233235365219625656568413210099779346586712530980916312369454565524086709902579573737869073570795762333041520457760151388345584741962374792667316394317081104616149280635883891893012927765043664289222295248659619647425015639365130455542218413698115505602264569224268844270921908249138797460468842621535222232159695297204600356284480180514309235146490648315581470733739099094033063516284763645243070399022890691032269063357760364860551940902782680315937808826592838678858928333981443121074324210574440779725530487580754382718089738160582946051048302938386321120440632379853101812009680047840131210419317231158801989412899950944905182352028550174784547276205986369707009621505367367800710401866180814138596278076915303308597359792227429779680644323689308438222161613445029092444424134286820459892391441005864948555982060284922716247787026995589742281427014367258362020191046924111432481136567823885316616782305910130295772373949421822062853229253296628105627894293746615051753207102325403956069542024998214315397713255432975868552527248013252592049623639186428240229505652917173498207387727486453474499266638334680804728431021137809271950366939837088898079287353281533984742606450074080844329450210486602352792585313312965313224536877330895416706614836311068277941901052865443855254758821389430878387554697438926764549662138072288425723934505208345421566445773935903272319758171765916091499223005364777283812733416662253384147224262994241192462240097854472979829127844039263998169698249831998810282024020189496060671263656610074693970892064689403357049238092701070510535093856117942730216979882535416280152727203897968351604236902381883598872104029201907105608751001679037111105179391713754662368383254144717859386530297056462626094815960597311128207255718281113324607610421774775964548391117971361887347487868253984586689749210617703503217366706570821698555986605315272702364292962106033276295129349217521429748836174989730538729795231771376516956560760094102572096526413672280471890194845365773052324718457685643453133418091260257540139039411638861092776307356147710429820371485588099882807701182076886043581805556974289513493920850270360998529136566724200040934068156266480004775036926701006718756549830267840394977902849840804112864904273731878732357492335157779266546405875527019733174152553436934333587817743947667698653410903424182885600468244271735589195629962507979082737456067765384902422624243413944410514766832862609811698696299573291894803130938365787720305440635688808739217336431685630197495882407785656469110058448506322174856027869870825449234350094624287811424792557092875881603713337049894447935541357861767774259300350199487881893546457069989802388428594340235293957359036387799554858018444355982316908424883535500656784002486228853977905919021010083266439140423785834714153921125211966441271967985001403777378161139546945562639343963722916983970344316180226380185350772747903835838776038137578386470121363152065502850438209268547160480494467248770511152956399198461966070480199092254387591936048994177642432378782451275097624575285549009194966343005632504215824785039438656573470302650698002722496538162275541258123830022466850559270192809527663208055323913607488598549525769899507927614076643457646429097181815270408434116864875195291524250698686972091219727276416639989480352938155720610365285429980422793399098463092628786791888447458228183849154137902575761730557372190989173358087060952118139139228370173304768818085099171090504440130249073627223745299812479422165881185896380881296789286027173502479061364226666970965563306010179050522655425750442591979884309629281030657817347163705682133316954675385257041275570407558625868324966666399960771750714245424347638073499350925572652501928764086492761849717304589762514871648859159895125537522822295535780927551577177349425449406463653286438873433421753070279721078884393578408051947775698254173932129280352819043283042266081152776150337280932222161462728022551727594025891404956780402766853683560064837512119565560379290890174970568828924953768000551170445147090402764770952661261789116435270849476633363303750476266818134938316846983860367178618075709038409994416681888508857156733750859452381605828850594971914115773519469163826632910009363196937626265633997143885908306240500221068562483937545166453897795264550145438489917421968312193140137299511841009750979419923746884095425013212364767075328956871649059351028968444317033151388148484475429115655149549323986047347014309945309592965732996406961790565718915571395922522237799661633492924092690021217235135430809375801321612313775451234872903356146091481642758104995200236087135985496480127596933372611487822048271416542861097287385314981069732753696855913268893124658863973778605279647314577443870375512914383631014808801025549750185056343837423264942884038079814325557800163924992969085284589836391329251793706254015022668173596465759859416332244151575736726621923042569556660186221382619088019258120372388154600776003859044903886176642120015712766244087630529283978600293770835310900439186588120008743195074102899806565937988870123097310069701795579926044738696361160786515983764865016794328593343196281286555160845291905914267792049399041189678877878667430392997576167646554681342473563258183134122662690037483369850318720011746032135725115548751022769220143344417041475936503892095454997699002142804930356954589200600890881228980848054976146423981241706535745430437630406316824995543589767797872906794047694811267909513557437820175241646753461329758000981295779099727071190393638094497139562962587268238358947185416563847329242758695098427673777219233217527653968660617728237159657082113035581036381518279132569446990021428049303569545892006008908812289808480549761464239812417065357454304376304063168249955435897677978729067940476945811375720913757209 24164675346132975800098129577909972707119039363809449713956296258726823835894718541656384732924275869509842767377721923329242758695098427673777219233260397772821397772653977728213977726539777282317772821977721923326539777 59657082113035581036381518279132569446990021428049303569545892006008908812289808480549761464239812417065357454304376304063168249955435897677978729067940476945811375720913757209 24164675346132975800098129577909972707119039363809449713956296258726823835894718541656384732924275869509842767377721923329242758695098427673777219233260397772821397772653977728213977726539777282317772821977721923326539777 596570821130355810363815182791325694461193091588133531942734066542884074159970819492402918388497625748315339375254667365082843965540113896630167639046301783547536947865239365547983209434681476337898406578472456142075994498977412875174494581453465738378997960255958626928073950269927756990776084920221558974346739263779175303666438705307148525194702209570892828636950493585584893209095586866702334575543192545144251812880078499151418500330138018283582919167951015135063258915735687948767419183823306159137685922349833225083199955278486255059084867455046951602420521525235667638266643206244011346246184835538231919030789790489156492881675694951297606022618515957509091442772246331356835722350994112552809162282424069411322325689953200039030202196968217386130987969800721311638620390327297191995557705918946517770931086733435970190867546375077749418164213662458712283625713096904252214240927414444286294676411115733390260689928399591420734459182101298789382713047503738331667957872739006283488172123432793167900780179277820576279424741963951177750945739527443895863353347367966070550527012142544299479080491346447357381092368930786035662366461150744159419230799122635805375263596249358838854994535786088823490647901666245572094788231038700999172108651627001741277647893143063607031726839611668179673599740524372180120623481940467735151101150135753039355361350398387654046363031729240400443934542228866504375595216796385599047414810736635762226932664330642246622513619647559947939447516742830393884953878608666313656608760867401686825424385950930983900950824741461151827971514792538782363231160391015979083705326761335653050108925597369478256693522289815420801446620485501976532321021816166219530346571841288016502644831777530378575721075721672703735192224031414870533281255602523790965285517106044744791180673197071002068603349095233692899435173460169991071845070490952869577741317941205305663931582598080094541594568474016733761993444644185952484585780679184671826721457933027162864842332549702086814740691585705248301426251349130131793189738382452549317175403435106305944151858517993322891846398568766128678082982141129066850039256207747696005665324348516251485428270485614233397106339613269314052482118402280208764932824600707929518671187707464164573645634222261847181242843835488266056541755904987953693629595664972541183719335697984699399826697082328312099109341255994808198732203868645749761500731501308035940504067340560123257097874696291882994649670095532299328883162376227702344608416178629584181003305951772290600660895813030583131395588588048276225962517551839426498063120045127181001922219497057669748844596592692997691620797266423414339698096085014545299116867845278772258015085742859764318050407162254946512152689507976140983569243094174676545181719566747204449842860326968037184108259382733558497438685580513595228455287596361386027589819453100170760894427332474687242958911647821885362098458294683030407511008305466766121316949446563866233697314905363048789078832874042072673383396925834828135333246261196639727672957698744403654713600165916747714238618199164530627228981557735662292266108971779771500834627946440936058431573206378347619517000016581060210092878404435682065201945270285682643221760713581601752221973467223327780274398943597115597803812762780652604670385750855602556081051666778183826369162112027595476357509273561033756517976994657794959611449116213116791600460723425681348221091747041610254084248399240423509621969126368120916434903792669349222546351017403410154654375283162070610539082122669353971414467016387133919572456201351392040509186147323218293619518912364549208823904972248828791425729913397782224781865210133914143716010778081000716129662093680467263377030194059184785859655730889364507857936000878628686633807976368902807806198570100232244772514039330322119572056967186423880232186334776112599435486499244747516611783603166952637541604360063566323871059279357921756871199982281111089142464610154655356596212704209994403197587351534398333195609894173093865474546514099938939769355392245864303588762315761562586158746287281878133711235134587883785580421697764398525992789049962429065388962158212221897887811625838296590736324849697798761200713068188337251900370377403487225042973496099347660728486400016319929606695437071427118319214099244239469582566542054191451204553614236488414816026053774866149864110283759516290999622091232981921678339239642561390727753657077363937251198229736967869246891513716526486975965134435767122826858375314401262804184046228693588973582463737878484474816412107338167587759228223079154982210804795904348319338763433073399499251942433721363211915365810872552754939034970117953105652743688889440854746664727270780909808046997309405202816129582446065629165507696802356145139785999535614491856857949608990228154099318962273521074758244856724526195100482672561527017230093439430290688053019264553530429770999782891887127297756731225080121569089892104620610303265419535588308434633118423243266793502469894057473910493235573872862497868075144049873814343511838525582585965084861976534830516557746535484925184706235846361128961231063475613487829196208080290215418895671695470578412636065128050970044865339456921267610746489021826015136002176404207593430425154960471216560638269072668810603281420474122008886673494151799724644431487852302819566773009243452527803547237133249811211144752719605172852639093240007410085041013534953404377507086826929095896450567776975505181699765477424907498713768970805422231030736998621442134449704808333886290361924620994170065952755234994560840888352771199512564117887487755426906953789016658371705059760688177908491161857021874607039200411210127386634258458451236459384881049049889171246857392696221806481134103477999102853345043363529355994699910797483860730938322241856554365049764945838570957547589241810795493776431689626073436458913015274465652114578614155770992104933437132765485502078197577561301902631627312439722426741466016940435362112664762066895571814714997912220390593604531712953095554012285510811212102657296975654697231782827535893252633833111069657658155611735948679547594241902955820124457509075373370460353622615497103954431129334077832390857018090461357962884855271634026996506312919099426969596622558949797562872128775719854241967347530158746347073305073784579614535454252064423087824084140807846279673687388788958520447092790810107121198779872783592423393355755619371324997959387609841477989821381826503432240130638574544885493589707048625142787242965210065664978707015683883864539959036508017111436410426627869672414199832654733411128487933093439580866789075434070202679378477434553526566512929013433723462897801078201155221887239373120160937097040686325536770926191900398941884114592615370116668658956367315052216330410779848867721149416004662110658605248504107954794838142514049963682497073968941442466671748736746316851704563577542423105150580986476464173910628745990473792488810727430814262952489093198549576289832417190896199838410018154664437808237533284022544160414895993190873008472472855748818376975818953479390880198458062894211236113335463254004046653571731667323865207845030801661957708090271324118916546201980708955460918723854372611387496629976665825231471481880032379500380667011859894219599482184048922604588548768880233759401421579154295287123568227193941659500062439118359342678164048354162384967924208087709963757338733972713857005101721639010281400619964029555551092051482372788893958622506358200576235586046067003335451488830880320699079612318449237973339003311505882948380206876710240916485958888394432465634466757463358495322414165188032825488208991824102940683182206511712210563581095080526760824300375506483382815036583507743940163080243748097984829566487277021341700558911396621800935230435395488825590266709000657118853359523301307008761904282865576790762169073394085607061588936193013487802595249967031591436244219977851983004379844414548655165908282041411393767318104087719596578936089006009298571878482454316218024538611683785858623451078284918216914586433097247677113149590308273461852478922159576361761941580341303131918416077594410121574394177453130001079505644225251093067375232236885432427912135305575926210031122118620382975027538178425417311733755171196816524092843676630140284331236103292345231891837022303444549741418863973986508372860686169436251316559806429404159609558281527947448940796006704015606635423305660888224109246225581873588042827934696642062741124597521522027613182620967360927370341863068042962094801519011215646323354619949604974083444354531421150067268251668779506672541821696486833308233724458549241292167319098180229151717027639539076596084501594587459760737822363718204911724903037217284752147681893828285852418664014070914099177883713956921617076979010060192305266297842195100992184012322062914006048217819490156194790264663131287502908324448371554662484940386152485353273663548381024000726950375367248133315649581319529832958248945699470154098386358837510527445038754237416350534548439059129801016033702406509141965440640893099287456350361224915848602375132873373130617776438334911416797427956353582643265650934389743876971254048909954397610309447012230170495967791613454602409207214946497104487480382550964755792337840850157046965409260993752929750657563244547864017818208689976035501204605289875237228409656415401043048746627607199592900351813908226465627800691749938188975755041245526281187695373575052501272801592229277826773719461371921651640018071110326066546576457256839904111265510326989847762004945257320763366118794668546807565557788161683365059804799752893885934462182727482769757353481167038511000881206002684512193161349872922797354351452516206626446755043513009958875998659114434873302760578327386061081960325678335362521398537214632713714373366852594289784092798477878664746644957883589668082045147767271907031262880771077178087594465928794910582812751317845119390219204362173999271041748174735530055149680713746137668261024582297889026864070620871691840805906684021071179755073163609712321042997983319216599464118767390473835823972710206691386867582223407683714025128786024336013754569561210121118668569527576098387624201318060097300151094877041864750146034719095600164459132581601108870034240951086006596682466186137003404540305650156032108961119564327940113323206244129685271897339002930438752682641325237281181873418377266831707982236681984925517311140484292263600497298366464717470320358925111903145526378203697482737644474657963470343627745210955607492099970685966310831881197052675407608418520990745264126830901434767342985506555550495836710687190384924438850171624189592415970643895517919761248010511832662108395180919193168647150076228549154633210029492313843480405709777013982744519348392219713060823701654633725680139350348101212266051149768782946285862320643474121126266335278215774732452483124135428660441401919056371445619336167340996637827149600978057687541695344544059947939618148914947728839344493862378544571071502666829049614037984996997990417731453498520525154680296797462648196687022861642312147762924124296583127636615013215995687556303213834957850419502366939282044083814911150686568428096030448529697382538002417267698709458055882387667508804699912381136464981780323271388627539998143064746124047754171778696333861396561788596483175635190236538942860987981324310596410750202204906039359870915954779421380986417913250939151430229182359194529115029434493134123621519818215831203202948600394027669012663220706625706516546005274752240101992387346902997506116316619281850976779226093100513544564936116459656602849112845526224785726874706115946260327304926038731909842727022302279363717567119268583647185781515513352034020094255732570241356749792983260661689237477237909231564483699398221906223959835129277487404921884865148618006764683647476634904354685227044181503294734668805980259970451471908672697542090927146372479398724290800146596030612664416602228604050721331815082946098885070980566227981549989279243140532399034861738080214933410263315505110372233887514816204398816296144993711841473065439725635803732060537419376715721551625202628791243475176956627450405183387160885984370464672049769257186263068174611117896507127338941343126400421900228426884632219249602699285376809615893194890230425833901286085290213585525352287293692772573112483980587096220893068466462636341647431789867000474061566857637857107584274947429648579667625487697959410694492681165765692579106373912809174332934276600823474451226468172447913454112832897445755146507869565899052824665349909387151111696795153643282615119827898668897109310169591041784502488287352319238448624226362973497576843928226311202000471321872017017837109757566855371393824758533811898056805524561758925329012410446061386262529720144955188459248610761575320195237921069318224655177285864226604778693839844215191391884947712040124803222614617113859479756568591174574724441827556436675503186173710531284061591548821249719371730212674392008204111754985468363984135677460883816733867417100470330451223726996329675335035568374255932788505284843970995341517659032938402850692199642609108990684290371284529345494907934984037039501594365634463139951298245813335313896483039546853777423867582387995950731279166633912135762293008238137499508804241436770634118679457902022252519770235995448842923046328754923496722087300742261853262394415846865082615318656057785769972925335180744046382897304361213124874166495577320583031985264922840033821229619829400035721889609222760768921737321375612817140127894768086018461734761335830477995555701108465899184652647160290624326823097213791999950260020076779284281280102189046550368644940685163746947400979670522871746653346534766832852993058391752919256842294613330335029926614749035530997059294430175663343834322304415434370347646640492739502658109126488241517806384955847321292598486391433780405356376028060686127816888921524835645436191658459051120653701944847924254620558790155833335432558659101839153275563432530479137407024665888585517326415578510827116214091911502018761617581702513117007944140863486314831905529615541131867774760309553999986080793843749762273037037169749162292002183000135339181299918296040235929481622403757349964789815652622682469224661822660033465631554440691909194461335922947647617530984014456964949854178741721231360779557004623157574070164761282734096389797697740198761601941576015291091092531227618383478679518524193706079791655907057515180512954283101853591731863652920291308420578073926757411563134564106004814859065977727755892339730476017611861094666839383170513676765980608645465327538441719332482103500346143870064257499982174252182121892042469834596946017145410809671735478479028964900570936956585073602799626696168464311182371981949954017555507937248780196933765045134741237023278581717052728754067680867786573319191806541465070234693041076026043807649839841877624335388381358183139633229783045192735420001244347701439141020280583513761524868346540092241485555890737202921946094967830938047252254271539715644613932071756205105747947382556303404499840905518931225258151706446913599454941078976605283937995021912602612047720514588368772774203939349274661742316966127244888142028639142022781241935332974216945094679545206739569773828062800915341955720929620870217816235957315398580494059913096459784367461688033276247131332187163639467180936674734403357555262197725484420249996339317486166811685800241610193571815876391393715915310763425043384067749110062398885979546113555397558396530539242511338515197295715072567194931591445438867480941270092974257722117019767807775541153146444158888135464046100343675463395438136573794175520229837046337812404527631159587874291541420416206624891261623850077703928634847262333435064417462265548889643289608471692123310844633335053371471733303319017211530774818159753187403206520654666303834024724044364192958515662077201957319351948859162981533005510527995254001092334656798597064540514291065710504302628479375935938805412008468120716572595896827794362993111922904628749893381516161241807541838876597271700031938896653365652735965704729837055565100268027923851679503365206653091784354680053222118117845683243680044326659025462859459910385475796520912343895032510595830284514501945309892327719848928078784554674964362756461696626183648666203671557849813839868252876195638573608520419332025764108658530820783460937354267441745879179816509776067480342358794378816611199895956667944648382154771584452235751309630861325983230445664681920972502934490357865898888405205528878640659389827094109866215273716175244926912647222856267443179067066051325033145720678344046379514260173334959206264618127328737794001301535715736623761268528321103911201661948115587795504039408651223604194975793571897974081155637346720742742415773774044410912384855584519673648350488868309931389823442124854956202339198190060354898518044067135803314087241326581558085633552923565055624340622173863587100591091666902011060085192106206152172988987083613379458825841989297281359378463864081462097321574887645854545290564856934762540928991066919225602464254529100149820094514753886905850782157499016423832582661233303084236017133133019740264365928105169746006112974134995436114150778901552316163627582116073452193855111272300896003399371087363400847445858281169291728401471592927127197382253553963987645924738369326112803742994013875808176175069360473808825916076549966028549415839794291304417893741349812851299433175675824407673417695102424433117320805419812250315547648257870165086576670230978527121343260960828280847222735516127980217943248638989060292519154480885294492491323857532148964128445650583365153439839435370632236908681847489163408293026856719785796604160121522883409864495030061363798475278879019534177434844467274800436348276180823399161008740511223516596774451783081921670275125143549469966872668737082784919199168202590371147765982606846429716828871519648270565793794566304849953425828271002028745751425313487886988808012391825275474862935920257975002818219751009946291783785110346671609157650768942405764348823245410625517145576852355740815455232660177674320947901564520546687532565105251479763201112266026752483321395508993126832634930136851924284030942602387905323204787679384881578179912075883998951182420162549243993752925029268338089129651247232814990269823023788861443531898799215072001787269476593216105185240507686364891235175167193707377421624358856294062359477043120052660625697625096842178121148882988002661604405922232933162417612290874337902228780456170135772375061952160342686280629053786496887139338571256241696407932447583136988591827299927578294929575130482504366602853237140205496447338073824577555825709270075915358213622487873951980644753650922833873219737894509894881222431666501069873961667298992096442059681756961923183986619179340847425786815461594145893864060229613295003812003838976745020863385578266798810656903699908156782778516378293459936194336698065297922152215366628883994026803862183878413895499792007228937116950775706172400234487289868380888946932582186337823435691207402895687188566870960612738621934987326322409606596069917602005453603816589660214387177128755309837099020713308471230391797557448381005068328095118932927219123165494090664021456835987446321626557573979283730870286061293977236838581491993925841574254914633515482041412850525611641438473862157948502590959169401670192222715205159244638478673684403410197602254850585962037452021034019586721608171270192646070460795992871312107480351188250682335304496981265520956708088454194102253519913136835291159722281977965191751091412574906675271987992843990372741064588671698118350910120568349817677310095484699100664217037510129640279526680792620134649082657083731273088770349853816883018041591073508780278978144452516540770812748847379655033182989360261051517090092011022207100166947994860649884160992557782103329254222023824316169379455244507711661278195720289949059237178763071379162077328051900435950630278372052428607168631975683199449535965461758237933195492218355714063821726217011899062436301646834987994306732489748402990062675636866393449866870295746329559276358227417390476736646832709872540082565827407937301342125015787224693593360232027880213344754711692547244278823478857202047848109668249573259465069381839328994408562932954845234695473247072095768155000313628681830587359766552445629233370980039202446539708198088097516775900082945233933825387379751663668484819906191718923053029327528205228873899777985775746443306673842846683423819777822394151522436389874249517010656678530267666437085462406145075109823826508232921923116946593605521624370127430023949246000846441913713453739088171054329719962592178595836890022753546934419927056354499446464846356921147395454234209303509561912596294276033231402838156419581239921684357059261155218643672939081140498842995401350304582616685615119192470424806777874883871318987189673826192473974908922169656489981576717042890174496662059680086819909195664839871279960006066009833665085013172670506678073810536253324043615610980110847675549487749423658516371946527932849799057701845104909170153356861363244389487965903436759034956002166426558152444392827872271735945948307893872024847342032229005213360684605312929409749759889320134905015546639978806999170087371588917595677689472706181150301964728913257678481619091938845977305288817391379634191013912282881868957666915817506640190664257591185763887548293436299211719127105497738537301557783810188444186065783059241045272431966922764394688190230293660368939291435279006783454920522889611788605187540831049180891775926096257118288327086436346727818162747255714850253575093560194453370570429727931651832436970736387485609272821695707559352179828293176304039885438950572501794655341196643840611832817122580580931386536690163234155042355394880397710071250704105678774162025859908400717682098941448674622992276289202550858081621731508389755388405349427919056734487660483097079108665922529310175974785382557147194645296290878451956517409594789439633768568878413363340735390727437663722052802244591605345737540661837169580524217180032186022858375322597888350188042317887568940231975197437444613352597457897400554662442432497593440495376268236401505734726953980110100256582513119575389158493821251296799677253621276460763910672269184411105916667182317481206619477228053502579386189871073293114319621955835900757325454926544053448587623799704869639821290623046526023715456974639821850402406160647212247386285369145422758281589303257867192003815231307030123145001620383558559708463628872856866182958803815141259792427122280065807217537599560975302816813243190882675811213978645897799156707712334130061405072073787477542271334777231879138778060411602833892807322946298610943899480426877630904138282008249327643784456946668559691350972809296560296837842483190637664897589402297476523373707075902957322967641074447790285422057108331864160628348328403937671338148094153081003836346209867409231416257725926016424131076838385360967743938964538812198718470878357602846575850066264301318356377598343942325631956738892178647425115391464830610561761852266148498621173529930039419626797835115432471979210099902359950101850452263362136629541758790411552911630059509298870937205111995320951919761191111785656856314582374252733634874426217894373425559443882721099552583440480781533630123181725047611209858621391195038127685768422270602288085792280227899270135450268982898128670846948085869077368731048824135209253377992815178280722473043295605706622345618996569294079904301031800558838515495600371015362883393296308388611837572513442929623743625690286239908180896674784072154164821536466985251118356093769538838247792682054035562293103398234617217749928761143107112618698176716510102132817484322686049289996213744264891787470800521778991459793683257690825447049955736546073833295445503760545561693846299352695559825481436952274513515963501284438165762387821902834477841943484916754332208988657251072163801257455920500626138323533310017463563269678829979522312213359229559877714784256215281966009582480397960741880686481462221846735023846499620948290023721674715130176161834866485690095804452712924136107744855016454016588210094695318516709496532028368556343942755258676230939902626468802521002348398810810313959156722167521036403116827698020447084682751021600765291285961812328923919989837615465401528847640238956400800911170777168663258471518886521341810096309789246814277767444249098481946207209911860617837882725606027748920250775654960922415372184898191399949304356168693621596429177109525695097069900632310061085648555448231768169491892033538259383979779552017806002615045384660223480584280668080054097272424887098899181403017210837408519716844655506868668259576213176185347414437764098116897462020371211318615031805348163709928051005793939581839605381572799053173564620472564675646573375232496044286662754228334119477101158614822513290574723369645459350778630281397035026933558672025420653201911364568427852227113049930847401550832055345022071115182925037824584151595423857290920559093155527093715730436507139197066270720836605065359257807538799662427829626027190863678584203426179427292783872074227039258647899698885201728543732963891417985649549871231317421078111745847834714810113022006691881171390633223774639144278713501339101361465475823547313216387797859422925909287326603980617051451051893526138463564900758234863291520258655103110341381404910157351617886075764396461883410175654441487477439695871259318206839292181168088355971272265371195267463913547288909010252777742990668168005319870623247556963164794199431877289989589073717447913822106916830314430210883271873693722363715982485112777376585439522066498763027698123461345369762104739754844398066496855150018242872413962930020784239040770171753087400621103886981275161331107671042265609534206562796480309195917122225686050866069749195871952851172018630145722311125595805803005959045178016209156003392715813561939615245058294094238306752231048760275683319313953706159405690082546716340768851873806202839376494141695224789764482741592439389073858703368311064748295916563631940759787977389368568253656567981194055582946890756209748639705158628061604955380199298790107269885264068694896100332327284203406188454212897943218868970727382736277850137270114963870884664078607942655552555485664825367262388553019570089909441814119681927822521474367302375772647906302136270092943519353752024482465044502817747353031305587840428905295653616695575746030446840020130258347285787860347964296622856338390938504059599633820520131345977594954959152824913675826557737086309853431031656991864774935235587698561676402569436794965082659516493618563906776134086344949610923085281595759473244692997843787506957796523406627034893439922003933142022159640475307987724854719289903190331136067538740992626587614582952454629627447825306071370861009325656109106290159370323457846510942541565848633675971714103682469068213645950225938235868980342052145842415621097712594198860517418460981052180233091349159305532364021180135399382739076096018812708570022161499420235228530119785151482540926695185656765341040444548548817766062915333423935588304097708038262943189443850770239040847501710409323686830979044978493238921559850021435870077134287158470069302471676631228530283911202961584833228762187312702544027509886977752418671972580398456783452867233726268194259137689223732798696369957194750828057492990801609296385648875774366813059933003010651656716864331160038178433180947698249242660826392564722108563028212285843591291142036032720601825232379462931092541025124541700516649174969785017658680012863254457378725293267127745162433436012734039785930222159961775173614866679396765633221951493429837679037493082517016185284933834424250418323030264100557818831854428936408740320396600889234387100234092685238849673228445668736570423431566989381131170854980556334241109039029402069878836686500964163691705281565858356477475504883191164843064598996632703398001097062714315487174370481121700620918608416245963219627581891687594715082363689276171748516314584518070543563797072327895745053875844710075645587473724567162607587558263162416383017589481237273465832842643349842119906790332769950618788667306344903282783764859091686806539844039317138256966595923657348223568760950460020695736736953943537344892878945414299449242296541992068707171799082027511232288302063740933243082840768023659962230745072395482913251001462315228385669963646481619930610803501193409855128773081595450154979098326100700084351632209140971316683905093077706782579384891592132099286598075166477627404210228706958031691019769066584929411630144904175524152840798558419204594222472240857954524899661499631295674599317874497834135019747600248558309355697881536973136321445251140829284181280450249199295984561729788649836529671737406535027575784653418707842130980573575850987089232183386027668096878674458767393704250610529455934480000337948441186910343848981992721780045698408825618002774024697155696345353705817713249665431707954879525776642112068569434074073694165211045301707775144950296642015085673418561330879369079908598888195417742618803144141748693529301286286876979634971644124217738001969097486279960894609364253067910417459357128319040298311315505930386112061927540034742996012976984567285680075747868256852655888055044650282472340621226723098765095246795551167576075518973671081866487339135554730387177148259924982090655636246368887442816354759738020092703372797235756205852019488731175736415208568879983962553950672045765637086678684961673992899051663954734806468841632161269623214043004303497879376589552559126127334944313749318755851522035048877154206128323215542501036958420117770605811310857406721768844739241215189067429767995284346046208510422989295590153886171777859625965902453747996448057375425903395571736901793975160019987583699094035346020060061145708129727286492441555885975024274901019975278569583453344943250025780204344440868289075077439617367055383761578786385387000953573335902594668119751237389838726653687955430018415044807205276494457025799468680349949294168674710474523631365047115269827810552059962650022454407342871399194980253833385058853936499417336369643189980369532114631746171702038807086634906478634042245846913559042424514028142597209433680394042646957622035197605253746691968646840574852273222141126346820073268099128359680433712489865124847133386599958155703624128431192371380520698554630522396286001693260924761875232125700995941645450175979130483158522690092440553118658153197845931405135496797501971591305636407967874274388697431812159633202424536950908108540107486745322336694887417447584560189776395844902174934597104770315419794721755903104895515071303375092264289474366150114617112854048983628782321775540335581513089008600231119089283171979461527339639814755795610481654721822820928241262244086617316118295314627011962136619959410879358356432093296418935628950752183416094956286605476082023394390369382944107069073784215937110084355080993495125848055614260279488811735778231410921563097755633435689280906240147043040680967454142850010531291101440719318106005561952937599440981612645437443677397892845582361680657305686818893290555248377738869788338482126900338552557729632948503625724161794560688062505674398343584068858652798471320568203326801584011861225371072994592972198314039824954643013641412093794464784632967308041240315791671468107172154657975950843790654639268944164367020267173333214286872793000675256808959472460540077392143662377470366937064798928068343630666235735491883630674089690534541962549218595948296352991442506812421957849397624936269976684320117178309478976453428215921105441925395673890680258742952347024625362720586244529916142578749920154783492516043423853492438434103038072737707765701474373435807984511214989021387726113074931251848497128991745909500393219062568077239325454554691767350021142782515915371392247521510261957518125558991922377560556251862577787152040242356430080154406473786864717745485337568513303957730505542984102745208488245638018117432441150886669417202922513871405259332921890393023484952178373235334465326269377747325041092055082762701360107626880573492834106150143211791258410932812267491152949691944140579833540382007949205272620731238583327858875647790567211041654416614707612883610006243841305310501400810107987555773152250424635872420813465170781968132664730526526687009753901023548400543191030305850507328485666218923073610160979873010960457878627259697182149777459319121724208552038322309774373362726009107917085415906540069540475769464526935273895890894656609355321694271294261140189336817558212336609288093686836108412959313689766825463416180797337993114349199450619767414038367395910433250837896097654632163442968447504718087753879660115946910584698569346315467151967310540189434725327351012330555664924462530897985525988963444453829414488382570967123605338919829313649034991332122842196608736575713694328636338387496569415447710706138034367393954329945548894604432862117042281029757649010846130362580988520444565288925386561835543746690507579482110698111609436227278171946884422390136435558225224330140937115484011366213884108247980900542972492869087707863943383569758089134485548375376777196589593658751543275029493401163628628419330604817109392399879190088420348729434372149461239701703430337079169831624576605061362459054918358805245203073129842425880187096078491816358337632141776552648466086267449477751311633746098532615677168216013147819044560577089203080185215408812688822461085420684333127975848092195444438896671131444617893147412936651281987902593291945652736873448363988933899843612116806898657975674885165488863376900353752919877576930810573551739514437952727038004470490072857309252626316730990740006849045997587871320935334814799807297803068592527492154032508062062967936802909636571196554547498326575576094672472292408920613710562170097933992793206656709458921208390498460475864801144552327813602814534457954387336599185402955060100187896258232064467145096398089199675661465982370141287366468803859403266522240875088605288410671979991408544870072930220172202603047863807108861726314153139237489947781917810407754525553693605459036378161928639420022669648039758682263453758128535507962060646362022763410015625391199463257867883608702524372526283033010210448943262262753220736676529109162819988871916167866976986172106895009023640592917572185945847630689212470436502753632835065004334618318970305082839153585060525172234422933189629437257761631522268739500581359156379950090704572007260968988373875369824262186314951213988357167356388063005629032547514519966181726778207896272799165637748029910225094724409419801468690188625285100423366590664307650167100236787351898041750864760380556088271198478863911696605712575811216061432398614332398614332 0810644891151299038321892449671151819857985027704469785184162807329531875221707375427807836745060608436887769304983023038078367450606084368877693049830230439013646 6069456288164169529166544373908475728196961464119571580663688131248487829600519236538166969144131643782128080377458223192365381669691441316437821280803774582231923653651467507 631000545881914608634151201340660568618782128080377458223191425066537273186601585557631000545881914608634151201340660568618782128080377458223191425066537273186601585557631000545881914608634151201340660568618305399109284222097222772766642007099875823159076294391295156349672083809897247230420387327835086014741160482852042007439596077939676657454574157343814376292956109531158482092000199683492227462223320349229787977209325937345893185303632200218523329226604326327773869929525440037460654804476294982724042291465600529045986614905305330341184232774713475287632417746860051035196802595048933541617738765023893191084066521380466746652964357719605228927287905823336267171801047870741509786532744155522815509790153143256991410913299525027699164121847989035341734180288807859437047470037468716698072913698781051913482317431997181756973247169341124042193238323758158340750503251210242327215999762255953608171639659554592152006263493832779387174509876695534287878977466443638551706502650448577147587895166390526126187671738754045938775924493697246870221984680515191826034341463515337517354398346584036650078008251337619581112539605958941718804721787463604668507755956087664614979975907257254669309501812266059756338320451208463864464994775567471104882581862451811482160241731135115533763941801619860829325848285029721564124935435493701472218371490931352746516140422988403472587358480471003049710367861996903966400318902701410218747143973930479667127146967452485821961590443588575047471161083558276186011598867992523277670077913488062706784305823037684432240837285577758508216273267775521575385493139188944331137097187976549309906304370838121079727316041468874104427329403072777436378288442397759487234629173289643236489504230303395254772328529225182097863294127922776106997648396446154980303910368747636700744207201348680420978344656707808500851248926091270815723789681795389714716653163541792741324937455510490677088305382910466098618013354927364715788231751702295292557476729438071843235282789387873058507172169878408709360848912758296731845035233009100824500894600016837289698553478156770898606637024379918187127137483594244296364320947275727110418044334601305107022177824729198840954442915592472967931476641686467990945637704603699887007961285734670508717635799267264190775864829795801509614971798643932311870590230974516834357125233587442571650251307838439678124895410287899686721555835181821976729237267508827191325928904570539216996231573413598101626063438419741115955987121948557079154040991260843153449472936182597146663520940304301794361263079707780953877079498286453666763263533422068945343030626974857296018808465649020974995525667340133802823078862980681870520541252040119990430428919912401546306489607552348001929454875288055706505545235487917895598744025091300741641918093997294682210357018981186767215490449502844625996837678251688727079295334993551398511723804911695566612441880493518211954231454579329549732901154976327970042572529288516760556706957888189166689264962782660684281788855135682201059864864426897310404206420388620214159313343356506079776483728611747854101318195388209632637397818675015670201035161382762235549907816708176258006326519090723097311326126453948061274615763974697290381991575806307458753851733483346860760889646227012140401657955979081551364317926971432781160003950929530530156640538544014468195674168914395005060129899532520624256402569997354056335685117062631293788209655763055783267561616292217039451858995939277954633373520501688984643648882073146139928560157646190608827005218388294490528350185640650433641753501393498570510063500442327755328051663250155536001685586063216180167882288985927773980708234430121876498298821950764879374527324977571646794376825978653807770909315826869893218567541022181137066289150507191692405571751537297985467954771694404608728583402007168255878503502580689802794309461846725801862557176999143666925677662478882563671023905089297579824895222709418467443414664411911976248630886752269173795608464341636763558830851295486537112507449037322882719925727151996600021666938956050382795190662337107102964526112535482018081623405931612383383278721545090905442719803200644225323600124989344843636759371914232277851596265768452530758485537358308416515247778499835560996791452905537128993380417358033223313804348260191619102805347598662385415120389560611327005564966892813167555129799676336653554047090793988866895306857810173302660568853689560211807721622589219199243117304892522497125531228211758822528265092358229122520413837008286387959940875331422920255378831925901788817597894307727113160489156785086783738812236288755855266118657336744602261173633288022556206861495846722660537793575255583609340989163829636599800730784500136994588212051974271662951889363661788724519387988391498507463670116146235590918089146487824769832377597870963455931545706800552820706294643107638481718364124284488322241634530641777649280600316789700191373441459952908181300827357120244541781460612372671440187538225274535151552424500790797536879918711567102845303187326563112819187358142050423077462972254036963523357483065620485610864093427383318334634327351271592642393900491279730288837834637442360464419658158438405319108290323239391500637052537770106594292190766393180810878765575969070784073173239732355063441358556746002928122819448262638691858136721604139546331879072561693081540996943760021476848236668959583386445843391397341957739544589473799649939650197318018758215438818580492440153865707188767878906058943439705724396806766233077750215424777082377904412690412076066171751458329065681240190888065205921445972236876022617302455546374056207480813993774670094125222153273448841706368152443582561186966261363834029286644970066037996750179376316763918069437678433862149089623561820105640614012377885098835667084731143716888913942684794853876466509841171954337028921584835072586019765152460415435606762746411781037958055110585275094244729655712945889544502046822567201062098620677182166748688559677813336730489413888303965661219189330587140477845513287672803014322099270529021061771392127737590526124680357832336122316724513143018328278987695299046550698848503343483983359922741648106833596317970504048017163575811696110898875265050394554508189045782033398880552733617405890660762567887602344899655818219507130679827984374701471305670367804002790888262609687517984330621616836497577339489618134418824168865022899678081627975625692274980874020887688103594369299203957265613050681288387614411959186240022364452480039479994244058253172682465135209489596658726936634884015099283759846464753424030561559065105449169124218607878117680038993076090690483506727951214030034045948829208453567271632950120071121468376544941407069259621433285678745746838018539304546243136985598732642070733736209526825330022465956542110218831635555322102232583541986992666491353192963187823490149158700147749921910894650128017261865842411995774784463808881792358967236549615822753535499698413029394932056796213757769896654209615618393575485106101873663140267325061995658143840958843545927104275247448553201536290028879027363715117097611575104474448575002325858148560788985128350955612212441353238781623331816561192925762099918516879242862423080170586007655853464509921222138629193200629166710405344413253099405031484201600328999231910328401724803603264117395877373643931580547563446116674421959053416946656368004997460891763261639369972680056711919008111646000296009990629766649508010850800515867038581971813055231732463017352876930349789853304607612670691519805210418792169386199911313682841025843874830863102275566524082814123688895195062447293752240366903159218186432340269192932376887151770807674952389899214924574176299185804334862960608936311062581001413806306012314943627930687332687687714744549611824196603717301173226721154889414471580764346364476457590703340858879379388551175194674235340453941225240645707121446590466567348092426153884175026364996764039796403950645360330584671065916086949364276706384187525076396896156031731192926863383238674463351811330830743913035433722790714103079528227165884110344434857882180908028208295544281220038019526602186359524610566606314957612702515823033352249470789046610507885186132600708705312521009241881403331109803432544721875356433943220404659540269285044885564614251052654795847216630572994563578827156077280214821750447870011247793657070567309892113872193059290580864978398631943466325792242834020275207962010766746046940717056095351333399376074927130117650602222407844780821493839639881200547789380056657803599043114871016372770352144947284480659802102462962863743293337500534210984024858609771594603462650708927576848032018361905498852289280953768213151504355825172037286016959609587642513950138220984049612226242281734043402808939972622577393303661029868199221337757916373560345378075501813255961569355010328329942384997475152433810011519501213178050138796465628491543324891943371832694701926816767596061591878897636526032086512658522642452411995901898187884508287694437676631849223848799241374007672294068073105280395354023660352099842055043059212038827556559304808391165973062450177252527879079885468508425855517383838338519943442889159122536441186696441712424001358879607219106134942308330297896634430882711074670005236299743261023180271422662226187505725439690773814742635221552448324008043756966990710294726405178030151618910268009263587698184180130345266471055199507316064326755040487453177281647974984931681635188811325461499640318314012084999975450565440566511483583871743810710444468199573634628689300271371764306960414783227327567890305080957691434783086703540161620281849114412320084399928213181848433228813425512488866865448527084230428400988313855490100379402648447623636375364651105500810294066099152481479263173087744064207095391999167556393167624758908322427072948295443281512295290316475060981071517094932166168130222008489990733519284840900143323698869379175997792387280564485863635604716964436602044525970486822151441978159123227475787721639865752760984089988937377750893740406584561154045344889826356794496286422470716132658749959558344008024494005256475311275829458245552383399388616021670954090395096229843697536057944381677828156635171719015608678501022971066937877214909889193684543867259730079749381103429453581189213029104857204996735622116733366350076432627405882954486157569614320478963305917252500296559546804876536262815497576765802778755902367873481625042453157027418353906499723714308623953642833379852588093656358087875872114167358200023785857917146541612112026034272557384221551801587463057767793952936789125329777005082262500819374164511416847373657252267778908745799682373452773273606299464292416996715508622928060803167877150190204161663020493507588377690661867461629647016770563441830896762661887440329705177881452434012512226794104121776172182888508159721642083847933339829566994034959379072820339780087960497013780702940145706183227529603485302837192226100593956449912415092778754613668231461289469981672588247118985447614664135974724040011672646403383299904015026352712185799138187518382154225304799215388902846165379294723637963334793127084664272273704354107685379121319034331192450634520767333438091681290392671092987571771480282227330708585902259139290525897400243757102169955326576133351851876638602761997003980523930527428933709016910236752074517701696404723753863828765431904302903579819304468286320454301891421607505169966851233644518831394315814046520685035597675284062096864840014632988026383254956272132582757344853558300022255133185962288649772494481966641528190407028797109505677755838364707508929280129921465508984652700726965716889740132432879571982172311902810990922494210691151942704477358752026602177872997393804329178321634672128872843369790316934859245577217598633216922910131299649345656945683126728480958429250935515615358682033736722013612851719579917906788879489778741557950785828040051987951437931024097351375424452291066587300786546251418820808073071926898391350492537754374420265701651485490390378491533578352391950918422941007958179462613046216881844121746806220722871046251493876491783338925853594154399135800585902429854085572504489429103113066841061052521529436405894282256195150902988534967011852089646433204187932153336684750090937947458624405009441979525930580847057304417142280778565703712794758093456290877047988346971693235516960591551290394654649194697695658010447721221152971788542420630144935999036470488168696394545987395664956844680082797406485939762888615420634495952047787647960222248140451871122057621282895120964242624397691077791875989150916967488496901404178146248821899204721539789701004100445191637463548493777672404896305617608574901906641992085649882441665925913641149797211057092004834635621911259205315949520772857285350227717869113431709507474177404611259771054406639288875718393323600024450260387599951742135949797649404000414409398680931932864233231380731072605234702226995502975336413333363768383076991222391147770558599778428742569645259730458979891618440091187547381046980438055951700629630329433750112437691659207229530151254321394054433778916278191406215516820884736345341979998879516117261028410632336985345662271408982502069128670444116902582047965765068060833893544908621143873825659946434978803232721758292694516998631267358751095484558784631407597172019624337085219967792883082041708362821886710429402426005844004377358753310704188814221920924607149133502963690584664488320319474101734611287867351794220941454660418534030155181556232143165747332666107989803109068170082688732101936459561785851734505472858980078728721154172567402441979028843225315410192140135091238671110323213731459405115614706721289593263819675803769072313032161582473040701388589334636633597677154707019773249548814517149561588915972704031644349512185974704146717150973113294738480850210707300489521237484215403899818595132249014418572919357094375241592155456929631150144938470339489307624355383423543950785791770587588732868726361377231317957631881191749399736458295599559616847144784415189854307741455943009162727770640067845262221886063381067248472690244026426741339072193530058424406225946425394836856547845053434905296743058974864956438929352506968728255730738865347979569737963739416312512211357236612420140264683198752349137532591965158061938726661939160510493592652713216922096224639699245339494168148769759450227569316017372978252259321139227972644699078707972112927010072893164141328975540511298607130045424497219982559230173355939919666258862848902801610297741472814721799607430468636839435837620966370592178003581516991294767315483262434722529800380095958755554513635248529233660366613345215784920268506151949203452902146178514203242331042284863520896879742184540038734941728320117627378226479639784677713658735111930207072225600375074940781039463389519984544166314322973160808440498281354303038336316353145405299148316425601251068208565690016030297291658467891832210586994891004078010769247782572806721865866449357592377066019997260659525543327336425038947983366014319930730848093451615088048076463666752908667169362062492873981488799043653338716396911672736970273126537428408609734869729325527885419930190416842823213958579660248737540654392608495318634134694686789235833606803394455761856487011325964277558202631925680997158944893454073545166932384492149911855493382824457707668823052546979612822440415996689237159295093923732119547894507408067744489003806244345752246115557238942268385930515277549765454318083490238729198467486931626088717921512482924761589351414914158904235105073534967969487491863344304793625203651055672156988823952034980523015312238521251326166449473704612481860990143956546372710175562161122110472247926506088187921878564564770201918708174098274263885178517823195293419048193157156404001782600804746415453642585796882213147120219506870737039312153332239429647101433881763991811507421555422604821990245008205203155158803107676568812198575038451204473602796923884894398504077669391919178038513117904637264578728005664995015957625302767342474903557787303206946697620679371095314087874660907190900547871502275738615622840311999793601481740181407268559346424708186513726761279734277641240894070241225057591283320448767508382482335490062243196257292826480566009677509285325730388834182425044101944383749082928907704415181513432790126318627093441028058333197183938084511247877577905287996142480968537580976667637015694843487431747574899146388916335043383627398851102955909972689955904715112917945559126983594293067385743048698989855944326198964253434921711717619498688138115373601192528376348122187771094392593220573709562698164645264593052541308176804768491799670945909756270994574641668731299851777131558862076554331510263023608492235320184002464426949822200938856198141742352942110120448887865176204772310072355773711756964540267737869878293238488465868548243072513224599718195176378206516770173496390729119732315211045083889636900343634564977138841805680298414053230978368787887332357458437167785962319311821299654426422746033116562189958073857091407481709077707206012582553725598818255400017096790909741338551791505034624136279629433752798039212161244942285734805540929961742218675526706638715401971649592580419828457272339435872738491298062505229908230414417964201863239335975640856264721140987102756842328471054420476927372279586934325516237287061306248948317683005950316273539272221555960371912609270563209001688446422399745990762836038614515601146790867195227442253415373563043636807658209294481681575624407583542094450414818369400724787199371608074714370480527241227205762001482655673842585276152042257561677566344890835515904034755970552781149851302508741216556160585427292302899331654735499079156121786647178134339282499415905014092363201698408680599677236463118003230917231449065960183944335732467994721363667143093322687259227699597866342198486047640383312151598246334815753891362137470506267760949391565434449665030715756019052561493434123986500863349768772582014261603587642188657530917405182417491784121530322238300418806639385455889178762006878814048766927605976263885084187671723906882151375344690742052796875938629657498654417762942518703009114961352844389205145007155110873094664959499070899793052340129573493866881785927244230815215906606499607550272376081272387058512137274552888617735445449593851589568775195180268779856482520266240944486188286727054207475043536799845846802118161245119179164083882209778864182756810585076775657286484828360370249328715819806043555879980375757476331720000544959849872516688565706303352876068093081590181410593721378560788103151292531750411050960975165425371030855174854899280792792165082670247752463749983785047234114872240388787796856216589184157356593968703031935075029813828952996830357304306071207546629980584795107732290419143068162870295090071881413421458284156116327645897977943185244670333572201518300806773009843428145985559436573897199032628610071674691150902659464279237556249374235121744508031213499874102105040262541157631141230640337384023024844739361327771431778326487227872000031324379911584541073200832547176553357788419738811198783081161282533435001379109732645804567535626928483455102531756976137831443682524778543069370631432550964076224942709697276210616798163074586477313621029169131901935053917363387720959307728802113849522530852335642009147582113215081416345593732766381646209964150418142792614784856112250969744180739940121864957617087742985390839419901188858773363731131301710135777903347562044395262607677976568538504151780028622026017398315357894904544427165705596492052223188354474283111934696037119412186093964743696835216300841130921221376123619315550911877534644560429373792151668962024254716803778182746385907968207356409342994334271792080288752211254331790114149116004796389603318772204714551925930589486933504992233576520706393366578610808592005775957357706056346934576038849108050669551609381069436621287588273316132286483143147176721157046192356146500377405387217627411136601782358558451731002982077899936468177687598057719690442932656414928889506161743273954534823316663997917484984027478354053591200222609439905312070766019667274321466731325059919615374919120610926487819537779061425351892234661396095319606252617842571586992437826609161717464971634720477389613148671942948249029198941916758308889233973117415554172680947533102737797997098175650450547360227678621069754045059261438837781516179253790106064022916738026962573434304645300421104252766230305520724757393067927263937131887228801269585549042486632283070227740155528034220557317260915929275132872044337772363815466022426272279552426404790691285346647439567039015366644825118623402780402537808866611353566441069137697238823654053705720326485133071180018862177768059795321806543675321022250428000439940618518128895361407337239506631151707000571386315302132936855380184898696963028510893012021795064707248775032099948367568717247002905581456984051446746945071887173763680287347355619685317530756612015693057034430987614972306895286644415640748345880898652566166437972028958684422039218194317151275641117761475637140593686400010358802638912596923817062276371676287480628381602275941051146269228880912943302776649594724973844730933763274600371084359078599766718005586870287301832296672925665119592610059415810036508929062603999789107646931019522717446451994436169991555641564121510871438208088680752297850814802286234135318439205666397115246089048131844519231492910632815402792248937822825154576827162459611763956688646174239537158657446266439961554789051637325218257833325356445898929059519260586597986713448274478262666789841919627360593520221496681570436556904167082575274458817572811609561481857224369546475050830284430753170779235571329348761178390813029105991835522622374686711575705937749093797579381952473316322662359826956998047343344026168796547513042934616242661346074732526957031148814696916429336907194815454817908292910720694297318759719731015426199335646153283618228701515590331070614653042170066882533797013234495060714168352686098813122722054090309466460661858579999141539781448477415640822589035406449064635106154337194004013861603507145597360142786234514865734796217978467570218989951333364438192919053008577399504523493495718968461271137688957597933234953320895381453984677028512410913999962409428615356154952015641889962125930051264420968659725289941843503668188048075291059723360083654823570191986855092603500487657378829516292374183271323676865849464000596709506778345361003674425949188581955959269025123931107259512121156338241589606737480071832468778413078096938241482915189560427550175420651744208813401454360707135560267634995975759600410361609612137736218202235639801014559249360156897148979333658549918634973041034950079055097103732948921976405886995320189664933508204310048852305942984868017855565645389715296386871398239389278862831305388987044163387485323665505625430238286131768314743993446156093107653849475846489316215158358898933919567329443347903909096450020152545297422360933487377485709060186480705169912575593325182030441205733891169249497937444418172101800486952748158248607577122172413829852529767035268850421330346370320590111276927084231224737403990344676189570010259178589661470456118869055431800013574114545384809162384560193982145769801540367447309332421416472755521908773969174173735064145951846078512401813774545883762985179066094251799695036587235132911540694118558004057561078043579191051543895293017860705688578117217421391550953207211970898415221542531647919304616049811760099940434131909911892155136512261155018131107351940674896418609402848692830550221199243438663096612299837616589812747306690040713313153258193032028149674557028927119805023083429490724610549109579955078936602634698465662818805549010438789895744093141529641433776902605064364098326821763362870988262723974302300550638516752892264837509508861372198333534606984890685568590244467888633643960437818236493160750697952536617770448078628521046820932682668289722071591098008197780192649525383047246360795893917370036932896635802205065980285338702996809222867542712913386999402663357736086375404720211499273339955963867139414159950635550381622713179928761432989245958663210228050727201766328290281395136246392598794084119774242147849748879285348132922617580429695360568496416333588361246477604717663033985377267173732323243519297973342376460670072590569784778225901022471861849551087004140155276349224305850649791746999412247016670031010443276265309930152842068424685952359105309696810584311855103760808536810333170953490813488313117223593774387414621839265017156090327940281899356126944963967143320782904731916666780851825519771728800627735453991592789034010786288963661157080757926371251575321256434587976758227986056217853904634438782602247698316447309116773137698654394413974813448003818298103754950588539835429146322753291226062391782931996213986918817711118424419627718789923057350447245775383119433851793221285766035212168779011404776589767784356963513653291514930963803910475450116996758780279997955389558550059045533297935637026407703334811205596791096608804654458199117569673353817940202977420844671405547625380016657961957199126200807816682028859158624857236155994016255477707914111600676407826080771078947343728991156761306850732249631591231634197588462764728819202367627163751947669533254204908916102491648373349659172708001471152710129089029612110404724620656228209632836266708889728464849194505485241475581339237736269212766280901070396032994626272509471411769121429133539751301514317746716858402905968622217080111036660714630206206422073967367402754445111531868035737119706126321435523468555443824565325519496223092442226276161810763532712184867110387486332416707890468852233292111150197900987237667401554791675344748589116281268686736042229943560768269783317351763941137568187311853109391473316134714642957480258866120984333362644789232779921718938110490257508983329575231138511638411810192449913293008778472536273658801679273239119566773773460292311671472527543877323954096440741744930881033569016899447326506293568124074685916892546509211091423164339664349653553999052260304711487117501951086036214378879284074498252703324251691779534323933805375341542863344920057275796819187421842721885884666266028133915912265087032955629743121006084764623824061202097408858510971345024453456269674845217493795199836601359599598044210553393057994635412156592603739545481307090026816164735807530907005794698595121857669282043359313336580210439358016107908279426644878203528015749847777187536663886871469284922335979702018592163752637064707239232807117749755236536241706263154632700590266304024739804533530204093931304973971307917181514886323851603514091871517272596320603977518189877379429833548962149298830651687972617323342951860291979123542091466176185808120657850975540518126245478535871423498722824507628021855541643937355728734131770795331826410695802318126782729262172479047867331323026028790147648543358099932443723491884995859948625830676000122047336344668680030217744283089567321206573109092985212685308293535203316260961238719270474910316941151648388474797456771234335574429812684461432753371060377023811587306886288969394132363006060504289965200451060374867696136491725117214171045397236983765748250928625319917610379605050700474527519870692438307972081336510745808625339870452950365773947943751943255366001421055646414822436061646770791716585117656108592356346094854976447796211655113187009699029140731514839039089918159185783326502779539578418251970561524675181074563304570829594428891506667159297604128033547451551004399493399113574003681082145201003716633376952121337532395906445150652333790747504285781596952756961817847042381784203159924171121572817531382552899083172227080319334018499746246615068641371786793594805932728519643357368802741431586900765208723454663736398318691202096562075413488741155043517945705202192086628621570465012959513127937440724676204192266556744533344472968171487354493873384801665428264237833848317565438333617440873218792199714309719390756152899799193348168456648698943157601438028626335331361857237931672366063675494380052529671399740350994071219337375857120455594960284445640461306033622263621629341224576151165419387916848132809624695244456954621250879118935398322196378999498705755174877188610510452587091200155027181112140083303394599977286587045234191667304068557004717286117263358849682710717450035389033631066658091122161122795352059735631542387862792211740027929927660272309100878896448671977510644852854236760680678328702716021491220890738359867916779079846546847654432886332754592689976471361182191936371970943091897609589330741950915357899815945626817403109118621361123870326632874592512380172218592375964203971780119733013545486303115628764539733301035351993689089171658211844720253940470931783306012396416727093121636937919332391842597730527614792293021230131636529561376233305284546377449667838557241630555328610532755207843894044247233087001494007564853949389708563666247235115549684263707422419853407218843317118086247851099998176232258058120204907270236751559960385584667283973473259596127104496948996928070408723556135501883486098273344942119279511596389142170133713625405959158400657637103362185943540907214950797192642474168788661350962013130319398165644318423191036741420512556863328098552077093239955742204583728924383094811084233008764153663084724168976375194193998480863927695317901643727802977688806162490841933764103645096126040651273694733432136475166867454187542353324904525140012619910255049422060899086534891218519778520803538297935164736163639485284975628497148856270364254376152530348567914218138341546765630362935943271568888511396453417550113555234226609517738178180389386443090830539927386531988392370825144349766957951254066405582132495347608244642379595204674037169104022865060164401188212816887278392342736929260620640964091959614590431451723416161791510706177671741511297009743626357169179809791310760755444007274823165853639170769125919005551128507328081677051347490741450119502481084276777357730810360845003755565026865827089490664096114629969042922698380843496813891492479886224871671281240892627970065093741291428012018819220654215938973633819322591270713038489421629319110049071492253628218620356176446854469959430764190727133878182633847902690514134885240883415970409316671764584851653904600109634729323170245268608078649180077024542605338592009166331507927787324832590160442171566874940579151896771159131892750178044518249937438743299329143554374680946834026083464252681707351360267844117117547680302578284327412712955509267108574023047469600264457118930180581121892575725002417910664730201129469375495333839271076783815855808875670613299964991589394990408749778235503921051363016467163408622693653940345676951865277526856031286808815689169916046013679356000288784865017387036118613661682337006376249017187035483916530088806575237376799068155478888938646233804336788144738626369751444635331513645033652509877954130939941467601122228501278273455755159561984487267288862169113912786444182650107159343331816055288098093137576021954484236689181404876129698357403680117551891330057226994759192287243969471072449770404732967513384853728989198514487912693399562727628630157178270573552384501936652886942503015712886490989930558977451480649740071081376020676606100283353983207243594567205949451216844025305614161150472376796871252693156319309816082329795042589816674800878152648677364144935695842879538795111120900413882435069998882091565554032892502288051416967879299266268622246705254906674953625013269700318245101140735192981527091168287631615254533623132422680452228896149709173971135352554401236086188154541470853204672299469390714881886033268282617228269647851698409755613280910904929942058902099758680270118297143811306166501656069405094174470841365931729460368323148867837834015846665262779381103471856527342901126469689951352204381388359254084508757429340483048052570263674681999971113924994308238094814731925760115285382473572083149105271608169922281418675329911795524477487920246982478357701790581768433766677768902177649062193699589654676599694287218010978136921367446220974783004092718190513763561232548612721452226168051802932568183109314139665924531034423688433970673528726638300045419514644230326230190718975985612470235865005420759825248981990750316538032495026016937230583148173147524304359424989148791890628026340912272673533448537779853276889704761672615852883514060352527088519929217133070578576387493937455594009676153752177828011626903772652898962034412615988106321682532064438164061291711721200955674738391672229623555746124390155990544883226264416256871268704850034492114157576143154878838226244938257190720528224356540306686433949527866391978261966212889029317080915069335476093630695038779648380650097087712584207442114997169855615899897478765137505785362724536521780662897775073271570349854774716789029566639583511119977254308821083008387197030016360375482320318110345196341997195708016263754256069696618343629726907066223061431318636181161133168418495161296479946354081551662886453122010561796238101443846201413252468510264137934116621666604435554339672608390029334249856059230477254301604859689878161532425234889479927499568040575087859615846563996882770505824808037526244409922842655810719653139621474222234153507700313618665229024242427339752232201197300895968910498540544742769756380596262269087884764367655193756819519963044228090247196597798141122997611309966894840654703043061615428405289846055561052774316709454797654256999443256151512704117768402472629905184687393844031749092277867137465048775654003526182336135822096915951653100302994702612137983269955154794300452825040411617899229947911176412173992693774165820202835024261155795357710192869502646054359241180066807823341749833422352511940395786903578680997957355566463481841092353566380532162505873396127301651792091526963077416035393436148765086569589441668759310281972270842130060698903276812481364340882914506935350078426900283389692890036766306519621256911370825149526413073002057234260061434794784184662076337424740196523490639302966223377308206402287040880954039448926023755930275783818672711195559036264381803694410269895609970224026851892905705634115763456634535309178364491270655146521452745160957092696019819351482504230830933240208569382325737324655619783805079823678391489644132121190325383719305126121435120543467213802491720844572406756078389118361442061721960932418878715390653119345624231430505959758138968001459327268036990315314858981784218414086270354132340571406372423344162305201146005372433545440858047849152738356053700832984194419408785772894289429890556411184890127988174242713094173250224649989776184995844482431963338771360641700505758811206260189035461258593451545618175684097314733842014951893758158996012087525756276033295003011831880956429108679299364914087426322667213868491522412990329146293202682373490956625790320642804533851675572566335964328298369067971544894914414428445736613121471652577292832283872251912278185033318457537523118138891046873011202533293433033228176744479092066563250188388749917831245277956878032518570878771082132181754229913702999034634082431982200181814301695015867564772318455173516019353974118068162554986334692974279363836831228620901500847632960271542055409234721977487555773727712535843792997336755041353900962607546017704783200920900004370304772062396931999034634082431982200181814301695015867564772318455173516019353974118068162554986334692974279363836831228620901500847632942757 7487555773727712535843792997336755041353900962607546017704783200920900004370304772062396931999034634082431982200181814301695015867564772318455173516019353974118068162554986334692974279363836831228620901500847632942757 748755577372771253584379299733675504135390096260754601770478320092090000437030477206239693112361996923069451921228075128062610903396080855119939362576645605845474892984566105164377632302047629334883313664553345734804735715674449977347178219815739262943566148533256352573800753734245856962732264432925391218548350084718726153761193599211755449468751722095340217149673323008543031277343008442170392235658052374699781195238474449333837385774851142746225220393467572123278506610526913279773063462887372622241958467166720221516808291000526702236415126522740776004619794966850442414929033037526153247556530093153145577415607854888437204157140600876512807613311400021517609289824898629450626479863972781208733447929847854531512329334051406847255746928486263150354770925719144201422185887802572791283311779822123368077931168758654777139994623954398600178217140445115877933764582521759199108819238300516633102828372361341272140722462379539129338836418793155329932894879874861538613915230746891741006626186077722679134871363221475165685084419917806948619546019340893708192321419263827753375919457032645023630434756871734529583995536709739473113745139433281977911222269397254591249383798231266070963822259670190083814532862904610606586856320978015085422334848110590617385229862052817896049500732570427222020393613638247958310354325985507262140340985962778601721689559875030328828176804094685209388640336365236494428576533381097953342025875230660994737779174834099640562083733043167671087592982666684354670095997048589537484151152214502249945441528386578029285301765856291013881441726693837902070500341910121386791346354652287481407153382029019192351467212683827510001739480517922357591031062941178267158381863781954648843122973630207590729496131322642355108491026499847418870181274039872030679358312315482878780386867207634549849519911344509912442473105052272527668320660348538056734851263693194665299251629026264658941634139609150972187236402755002697010883868324941421257120488696456582963616098653685988378839028020706070296399620892916924201175646292127178414438660944484153071327538274180512475604700845614196078604954485925581307161527176818710961041702864624451063869927990313298023938322923078600246111212562537492992069623605549739779337090550915061599580746264769307061465473365729538801084659307737092643932709617335897987551332985173533580576198203756071739649512102605682421535394322065787806543336816683791839254310296299786255831381508429023460414642850633182078026674085750429654935395449486518527564708814351323195973497899171415169373256883389331628338964518488703226398930556894518391912430829325156540236753850043094552275229862193634999307995606896844661874598947488234136640851885321936731143758946356570214222303717414812012726282910573318578392273347952606800413122404444690695700343265791095617342284655138302877708170928004370327526445576200902948987017264718228932761788234679959538966801140286687052633670600630426129946084949956382755990602647776521970253758306411814612875438760985782899634221059502253415043982609618760983521652316543316977214412517700380390215981379748913202929277554387117033911632248075246572497296231247650935179435674838114315286413330290891237771466124690448645511649267993463415562118822817564230240516948954442816831414049043805788605901073700671829849936504074947027855738627203271084260273269569006412015558094691371012984255290544957645064575600374031494587908210547355911363990672780648145919170643387069714773665247784433863025569838810258987930950197131284070891871969674939400265719405722159295868834578669810318183594938102719311615251530174090403194517238322459633052678626421000745736336797264614352971498884605529190782295721345692646383479217594057805130367348879544947334464560679667691278267990494200362880699002603522166525266488097224672121294616782282247427178341053585849093818084382076967122622155649252446410116006638391181830873085635422672150172188913491114434074231672018580154409683941721845529247030666331743969920320999137230793920870633268149502702418363237393557565948355864342758527153036475346746011816231218086111379932483545148228986306253693327937473726404693126737565340199730090761426212286501158568944820803714283612048583161747503907712876046503361236135224312142049114096204585829225543574900902717114310056202779664273282036840883514218997367661285154174170155055966929543355338498868702324902061064458071692286334339185539443465974183103315453291025913036064622666879779455734904546748823275317375995937232273103710445211331153382893042477397241957274401165418484315564894048921358055708557627558495534889191385643791638342408939602209788019587504761416457873384344319808735157516674968200379153796102973494432109476073270046363343661259071179260382965776504898339968200528464234206854494699303871249646642485811604420004666933985741685551729836982926358491044717933844683250433844717587252699366862337570798586379951176474378774221029593262173881717992112564960766549050364753011284605971998642239727843391967774038958231917557325994193790085492825980660767894985484333355330520442978146864226215463907056678047938913177651922049935761663882196322357224138758048818728755477834305533714162429159181440724910183373607258613130585839379636913731605046386537876161997656835278960391654122119712316370646384350875058804657553196720080481063208311821537956138009835355952609363700064531708064420288837726690826800942475061577365306953699946473444264179908807236585691623899636517578076237318613662803000677595254569830359350209310340106654882387605906309667152580319027018056510774179659964177889506640602788471706807792755570351022237147306795006509607538053426398202615407127213785603227432886168024173389459790505032137974846614903095301740230095495752617958896983609703142914084804583842017705933308727898829210653986085497841770226800199431723125607279669350937846167380814534710813293763452196474416319331178690649982482372761620561502444394472323379106960839688560326743659447613243668623910583435263725870265527272354681097361367537998854340224782973219586473847079849851417285386752779230658409174320605010991022389298189386457216041689492340208559404805979888719907538994483624575918179587264785482436871784280511816570103599948961675645814411774359994155741564054198094077706078181787327808839235166527298117294704518248948869402539784970404012578501708525229480032644855398293395410250493410544461435613045371236961682202427087546803225777224676453869069173584632909965978927085724136068529472284189988811197694925777567347314920454188249935386075448538327349316024944583018400520110059712112248818992601409033905843014105055980718844415476335609338929558270335638391892072441156624136346793755416738908930918686080312637892309129166075500989808404308771738687684930623853335091504106000383060163948853687921061238941057439403460624016371854842521771675451639760025505022643961152599429430869349869074629783759970161295030843803660660058922658529305637886695846678487572600253291839307185472610120143531812300826282453907565263848166284306712414091535323017373577722317054545331857330398636116290928079651400076258029586832521130356252134998540067832905798100262663767805172062475401635370252168218735528720401996359618873606934730672840960812886498922816545218524083282791281849386363527220300859827544599898999583511157436878788812704855717381485740307803629420485942064433415790169383959681533585277508781574397192432277988317060546340053309696115995437320394129955177197409249372819386910424719168074575580541317281683365537965275951040258293766006937948476305024368669308749861291151557902990891475114714361655097781089168915938904322861163098089616015436542397071317339876255613839334927890605747145381691569264882015102621472183250340916562454293531173283968374175550697887724604398556261085337374028770997288047611491577857651047529089113817806546922207217132541594679780555957405449532558779284323247504820257296107211930542720344543111901843265159983295119242549956886629245120615544354851877843376022845731855255302038578067996423334739432832550797681431749352903653552357083362272954029760362245967870224679610872900653691581103297724112719687184631712015310872022829121678513683286828899841006308305969973295124018343792808075866877889849604377275402758952292936685392267513992823716159644737329827017509083756802744666915911114977994466711356910889243791993094247213080730819842625931443479657908567008256288588361144633070690191063606859951853870417106238568043241122994069976976521718948993497188045038643217598286433134023273173503448755279378348641310419949659552577066904567184355021562018967279397342682162568608592248811316664734142989101387571275704830514594366360992466106272011244098723999710420756543915068631020135759846014673026511990342986506396760006966879582828924339782590587485678262692633034683723321240661577602951565372261068229038366133683415049998959342809320186542470360735907656081621959975934382017246180769581783472212715039912393733080598164349462313671749599994630421176381814783019102133447356926562588057101644687984556617203758742814909984339304652393122000356442486502802002210387238150855436080610859538174278532465497923110151018126674138466294626740034072909243067756491785793427751652950984600098628219865193501486314131133823408186418101959888722959358560343722423672396015146278965654853353317400741984242601360667355298407544025731777149540219275487625663663209795134838923239847309342827299390954922628685258280376257104081404140709215337798247121933464825207183878537445007238525936056765957622040219451924792912413075854648591812784555951253394853773274395465325201686225053728500130453724000464744479074597825102944479047597268994937537469280893311554355051420516123636834410073498429947070865348728261682611949954445988885035960791436711196391393209112009541335128855089924933928537947665616415925452758853479068034859304210143177857711724511374184624321553372240565412149423223467341003286409237227571473170380930584666114105286653492921570438437193875825489184989446589748921123980435592536491908658906691739080886750091323305426654820771573640252081624830165898730360865980837961576736411773627346697615666539213482934564239912928078599798788152042922151909141690785497361872516930999913227000674997233515576579514366474702374876614964404926134860829976097836260492782317388949792246852097759950804988269723924957659872230646951187677991605495672699690851525822652952273858854393021734274755743918744113766339941285948312343848488127945760136710066761659743958963255453067081684294512114091221200910866698998915001020556924848523722554213107166139198282765742981882917518337208417523869676828059102315199253128014453772216474368259508608886364434672080407995745610429010196560880839309828716061604912163604586908622289737564557413574307159108936724233166447733282968241883149217164949725140119493690567095296152704329196175641010185140596083954221011253004320324477290450956867286869283797899445334732540783200542835488045130887413631936955816828746079046566945900407442884187381232567699671646926799869558860520806372983832112386246812028817043481558140629498830626345933449988840386526057374223073857866400023774153128859094551257535393369408694442939407522182847100107766580951275670201477540829825943655390077790618030037104030191092185293284782411655189092287029012404160045214931709357753608163420856552332014438453889583422068417138823995322706356387242611330217236088753196924820117906522275084815465360634684320835251951083321606843173343658468059130157408787018229598765822830020425283556693204501981988171458261171598400011723232484622368023378498390571958420833941883302500041002600378834221148367305474960967792429704499983799479044054349710896265896766913002849909603860630462400933379790920357551625516664005711218771723903001503960954051845816999386430449804010399161286593474495582760668348248909337338629266989646970531741560892296662428914381927372356726030305011034159701503907594115991561792511656228924417675577202639271089785260599471315335700459048301245358602245707716058212332185295875822030519372890200177343206194287342147523788608300702997965315568103011287992589391833877964700675202703688772405840664369190902874387633882097145801017495101346458402812780113168139897806509007407674642209638998045332620765149608259774522758423904134502684618616814579533717594622683030636661453659920280300843252851498178817712725738675355028513383679230567432436869620272756904956947214224246798843604119226316915567882764842223911962740367145989741445431800616886293376356239752548161092018062894420650865088651743884451744029361570891066530518191344083524173853908952947331269090022881476173592405472755741008722118602480706552734785464670810033252880494872818846476645138719484647002739836639678691108722490689445254499301361359823021009664966265824979074179330260447961646789612176304735470941059054767787436276981114648195946765395331326021604518805685201238185383599352509055867304816958939312668888710724516375807869185298046443759849390149864088672912156151469350544680039277537716280028444617088728346133201602784693514171037189813592856544404738893533643422529953563067148643575822661507084722421213957490588123647260807956653918210780697591919627299613768250527190168013501825936503904314892374222182997294359105047665101984354967715836390356050902744094547376200086625518953798973986955249442094528368937291622558644588185723220050973402112420242701338138097506387073687862241346162660761418658903675756728049468513929492469474976704482862785037993942832787912203329713975438436447227794195248300533133083265941268165481431836724185190716453711839456188537671861146345100987635561039688240346932274316386856389366920782628786664631623058656232080344670332241489658442908620119179775183607898117847087626296153194003478154640506345659858453959336783920471778161961151978159915334832397561116212221045289683087138354599880658578013548593749042639560201729578681154940798878998952785944953129124758248171371088590969140706193303618003033238919132168402423711785594147938175122615373552928204846201190878355782410767958987282648380188363060516258745813238071702127070311601599319566532110559086844637230112193935288299328435695606597198930148418941924696514195047131003620913846840871436786883238124871873805822177969166872677052869491723296929757412937157650310486149826499639425425153552278926558176593281228135199049986283389176950986498709388528652246416241498009133604809416167206933424250017253335902412245206966274283806079157097461019323432744228427903009219716781979659790595491272105538644724076008310005880818190724478703436574542794750466602116861532820793670422831576774109787065652889958092151207900910624889386465174860336630488088385858365475419590635290169607959866719791951547267539998847762188847851073660556792237455158009612734637037295470996414489544035707005097959712497079149894057504201650307392100837573941328165780857198028511304247961345145042777636660548705739016497996388006749276335699901742142470860427633687015388954255448605196615601145707431101267836061897633765408595584416739699898991714686664840902419001493111173462062958230778705794867646385567587210995136468309977716094546557201681228539377673740994283039515574945316920658203714520458277535783379827116157535547547595988090288825001513269030621837535588152280080499462199263139514759007671504441201028640422323467572146522255433374645407695544296373365183294408114816553112317888568534493625651092338223250887519700640217856262405043920393115512742419812786611804575203790313522638215002107721305024066241830028624776559111141308947497641704427632877747366695141529627972984736229019636223154363191418417996968962803592775061551398755785367266353781400817153183187933147980316630735418382498547746143475821220350330394913462672508437397313313461349718786522154847952113280655897451002032487297922392568927537490270425986685614904053752845046626144264259912295769949845956168866129342741521686045369508582771055380684247063968607781328993106285511287995439433670099191520888614455564574422792533094751032786399982860866477824697766936469596820933063048325230272861628840918540210758575059523354917451756350558943167491291170862073846960048789782639109056257395994874924959790110901916146590802074849626393582792650583647676708383011968855505051861579809721852980782027546790777352845948855486420957184809577355026418379662201056062017672410164759618231771444198810096102794777608196256246820854574993759391755772555043901644270909099403336820210181891880943144687251194488397607261064289476377050838168092847287045308547161072786663101220366887582906462496532944215040426089607955960284837681158331065639818871541022291856363755468086146768060626175912547513262658963341657062651172681705493010940658630266922042298948302376443236714219463649003200189102951055373197420393993038094287078665529147692881385645878149664779808233148266402166554846713406240185971412175424409787127718287785341343837382580995377745556686390309700061492840773024700917201995246206245391985859237134507423999851718224954288951323435031823344837883192959553348790109921171899225365294293653362582595390946552963581374497293699746511875338537487094217708081745701742251604090438846121574124452850202379839036999113896967347788049704208886393128438915798686149953572063769482149209306281251312280804996662625532242838399173520256674525229908409946325864683411130420845898803241428782414860826210577494753300377060215168255421685888255205289137193877249869082025393362940473047505009970440709469358919699005334783044635811964910483163816068074323974751887377450485393208011892092176200325412859001921285078008780108096121869972156727878783603783428505022335910473861003790033681958215347953124203321923791186979738109328501036782788060812745282883103918315704414803727152691119589138273502062661678813673893005894349871926275421758678377586169291156419695497805005027174414821422531771664564897625594375826764309491260552928577535565273114929560879110821596194017570249204462620779468053776955441637902384442862707600133588293722905895613531099244879237739700126380103906210362971005400902332662052868551292388936540076639663983925724508244968989262459924394384508765578909028189856834334510996196384091164376705960548419525350568787230520679162057973980086958750046561196154504016297677700965470185284334977644679496028037224229231209258155238064515073175826397848971659561076294495873794568519845906093691349732270242823829358483476200972795732039739082440490265245937396257295449117729608598859109798319161919237155743147773056132758650301867128792233399940922106267909462585081169282796692381723798551276299352386088317714689728571559104796911352900853677375489955124718689039574466000484795401447802882232082425670184511475458385946399776041212321829451207207790817682331516184554219598749744558901511992706236051896340735393487564095315603407069359582576081667695587492098240480666527562455192322003251452941755396468271902352195763796378975941750521586754201928536559666201450456338552783571256712051282275196092953909245784188554012712828606220318403041625230457334991986203368394185491917443128141702746834805331236365464080095227986799808167861438767022991764204219357703030288924063382337118831666892347256653147154261973692488185677444236830676285808035577667085249394327267591827130580282047449868310923884518396569291282691413580228508792026381557594458857783917630415382477745027363004796768568959057429077532824031838874195328472505758236998984185573609737934792621075648001276066005684856289529627036503340728499245707682166060043085192144993994615927401867906702492509188084254975382500057364115276562788206831683745613611646610594529609876478761781065732569944130069604044127574848059081543152521914759307810414099180436770663956672634435356245619356407513565467271679094118794884808680923093832873822500428513086155646738231344891197653033059034948850709043640855117089681596818853555968367767082875926959001222681306340790521808314175342883875013165292187663333574314371010163477966588836188698834998328981164007025965502047611990688459306411880137433528093795109830522058657551902553313247393551842157260882310168318176409724179664282170553923573318235997210559146758099096015712545362591465735834510808497696708071726694371830812496641392852932420581483522627446937585856957168703450223775777783598158580954566745546272979473079756932050856264050352830255672286677544482840862099813897930370925326425964038534996170546386083723031489481001371999013197012628010849698683279080599525074937754235999978783744657783712375357578526777106381435613678907947372479242618159928019155423635840922410926951949867583701400806912594594455592546704732039280047011160015595417020287950359292017703968601134563044492333977435455716545727149517353452904622158776693210397256540533868239130580966002121232483113870490726163498817775250633988037352830441378850405352914195734486262214803329495448889085450792480542683741940669188555167572166221109208997318526676782935266132904276171207173433002345258919537355747509268743152936342844964077178567399584381489421046285181038496434277355192443854011056003640918609065983002337368459149958401444990129369372589395288983481155645581061030794545804756646504893576785275211183407994598744205675506984616282974816927434031957448112126921989132435503198370546644424960963633748486558714369342400084268306946647268678216054307605555515711301054996369421412014528605671549281450356360885793542044988312557195995587078583365330551210839284998411268479057129722024655013870820524474927234191950360303939460347677085153472543380769135430210323311827099410525437316371791899608133844403673509209111063173376587401600018697304252984202448885270331725146924974753931982350352522617616094384809705351245708751318689267370050744277412070979040734631226205290006391892909903319643533353377827730338009564355202372811893414222213163841246621876265629262131653747440952305454016919059121029833254873844314996900817917666244456257105500140603668001332495809064102834877164193564714304095505763803857385220987161679591048522208070839544381665295350087746068113602730824885662613928667728371703032378323346716406418651059916248176707063456531467640744926589904002492943382034766548273034152265790423510131092975678304848136329763976322746732729909893927449638572144129084870644807046616306718326269730189550522617503670443765606386089754748091995263944035360465439982377356190246502693129589140222105988734088163222562586861744532441158949303555099774824741515073734119475733373556527627418519164245146201049878262945368950884462321176358003511841835926759864297128139853841446909691719079951674046781893587502744350355118079967776249870628475929132726168844888493914112874532057248359162360674161634463880131235116126332141573507358737890898646033191010479049510880532762436343801953205313641343554593647041984399732731928183025760085767530258321696714646834358840039142037072426708260176162533902989867152675622198130603529594844646404039688560064817661090330560790650387689684467316948543438918368935379334168987646104050602410935985553266431299975939026367969692513769369261591022851172165414889215726223597736677014639845855210470747638897225490221795578347385363008193343789887481568027697599949512125441570271376490277515078779949109561489574262273987940332212825753245784561955271497177374892311071758004485261087533971440933423641670007394747605338766380254295863552936913034769868990613336245908473538052999169523740650576570393490154739065565289258081944696284012213924551119876038074056609941052311643601925684722053285107258758837088787835407461779760153173049500582938124750525030217002361095736709078402235116222597238130144407984791813303210544324431102719791005913738093483775863613997719436720065592456993814702761918466612118042961718665283106957766092437716159831512459361728010390163655204661937092525125363139655920117782142768019428047658653485815874703119926770979133504911072051652432462312538315744875129541560355275026367961454610934441685357810273138996999546867343518103443255259516930023300505925727997815904820223589052604792034825075042171734554664253125285259478440684213337897972455998381452902491341277243424509717951186446150628152839286502372129264368408132689423169315188818953852681800476310307780389924412151871985827222544989996778751458791602397076666044133305940017725196828827618138902540142141154032221880752214931387303943894838634880488587257312960544022675401194443442712395569023790715007138610641985838887956880548633517280844464472481327723859561052130130910151062642932763162472228598525710263715946299940132265505188044657398980037754421846299791933040060517616187986026555760768914956796240330209203533823006419857512128054908768126499986629682021600839357742569239001450967655189683001149858039500662463386168022550668707591274831975300014554060154119807841134948294656806017074182194482694202914591931179729442535235139331011218688316780023266376919519389893049565596364430499826362332222131737958633752729015980267624382084908943642831249679621625001635299668930446258458041672490710904142795447432277640558606449799377481597906129222029306198335261800426117966549675805482901810689473722161202657162630436353022821293372450839435343709678543243805831288950527866356571712880369852845487149507985624665557793170507902899868597143645930779735070140152275447669341982392638989294535343190218016938758502877868797020461682319735199280766975865127606468238391696014867111500960384593882005106152664625627270863739947150257718107230896204362641552557152127904583542959059101205185086051998335829520276445242512357735153614513291221335783411967187075856606350002976645872189965684680983542255567976997861529583162065743207372109968440619460852752139972077460283796182940677826598099698358660897438651036562425562508423543545630151219711116732833655070583247917273565142769410984986357066618802528434536119774234900016041091359806582532510477723487375858846669785802999922419736650411551196281600473215765070051662898453996379194144719612753684963848418407835392194951607607529847670841382746044030177075799966676756861253610514003917168172567805013897837186583796897615017209848060227215120876367111635529356196130402092739641852869360472651396687556304008753585686831314128686092282555124226959567993035024901136677093640349903748458741989108901894570519857812478440357578671393197085549893809997065410579169020959889749873844727261372435180656164993163897351119703310393978040928094799734337726502122497143409823782365196589288627922327799039418205068569837671166237721514412022766337949173743734228317972794011937453904905797144617183602567322140552194621862859145438965623402489453798119559649687070730218607805131930946785284844420212843249930715413564423079386272526585208492269484399394853053527270682335863948608170577407516973852120210628959417716079254130699134608143824632866935231265907343036680953859560845016739322909654282885409786377872218259072743419564661165959340871344812029957960400057641468485638419208402583268552123795496248911586260094009876541358587061925113653719481486085710770837602097237465955311440307339494234844861525237226662531720908162269400021122759183425529828168997196876101438519190128988074242805283555533252325715485875614477520119468011155094405429657310193621595918758219482207475615307833480300854994330873982134027070003112858879279673962736609207126971151381953771554641063374555849196316917552555991892240897978331242735453841796027845958986470600952841808664677110946415984315000959749470220759587493696093489235131553087952267531922887519326905699269590112428008437808975802237272111281427715809215786190314382328222158431197363867972722768495813632814701827652361699870383165480571461752017797801074900520098622253867134378987984881044503027177386068210671823485666103281598409185714908477074125773721529623628951428193949344923100247552946876881422826882633819921070500314822969078127068502360967952456156317625378443908683885454717662505486886145388589401906509184101588520883369612987731672752691975623864276095136945838426185218338957051864132632025229313913483808212879643388136298455390423731285738559006232871979159091218171033492088287365725960067510345169173034840664773124728536498697032255058028512103145813971655005402199912584671247522962330479476204174835733965129338846259860546690206872743107989200936008629962585264955692634224434907588987120754055723917788898374740062831103598936397536831431637915535084459949981517903571916645957972640535635796228522323209995625290729565968625666476118217436889365526584209735880483823563270384629174104274634032764044247217919633892333004523529200287573013563038211172897133169436372206175085815202908497246369055667628921842626517819765195385246430364256203212959160895853359815407065024525216570882264388969553200330712386017719942697998742711966035304852835818441460854913450644431713086666567324744794322805473391376062758189042836565865989546648856170985902335718936471102219155448014160810863286526572025037347796586980289697568759695665517157299781741491255194508337794974466980602686431815234229243167763265101550537467770920415647646247512496723011428848395397060605607246531422732188958383550139850224798061638234945366128994040935591780926586823606419849478639492739255146759621855648434028716399842416564079224320499215193527094274925509720983764055479950763696237008961585314208285497806440657569461074012428301167709175408804880626657504874497001006448172817033718571687699052050431269126758942354642426321926816126071352559377998468768487666374637370848309130230318759755192524399178262640279966163670943691125300862843502978866714838773557009540850951092542672370871628508720499100146666069343525439681324227750520412084311778362086425913741403701893905849130885307671803377759779815450406004508428169265395494242417343968257979429633223312132181078012932197936027503888526310458725788790499330172493716992903363545290749651464056091275487528815748748504665647881571336432427015771206508826472570911545293554151064551035094710720178800179246413597213842994871045977552798427450697742656414883406830080923054646260389483267223960406246465945742025221084288128266889675278980243468265578962656266379745368910929346892092484109702357131627533023890207698673143258427609481838812458575873401409706867189561813112229470021978448241581544509819889152942428906934660562607956566439433934279983588235711675751163292556214994709518352233124581091315865577359175847036941484881503863264098660524416089944214237244673185768540526164596080359046160459477472320562878910886992342019575526455549151862881037098556289818492084536281760741755782246663879072604677554834517443481890496880563765032503535926271374514988624054829562473693334496233090273911370810584071237265540394440666165466698127940161174380314425458361131387001800510642225047421267495399707590971527103141655363347732005496354914667194992566437711135196471224844213383344829914740191692970978273304820965702365744166216404138597571994011075505481383567509753677020862148022476905759312845796120520106065272215959974558956392927416101354477714866027222280787891903104933048606423488894126536509198046804726679290797077022905020257671384436845815634829002226658722453892420758678126480742598431037231448350739349163285687087989353089830355384383950079707801508993166772121535578504768244806681206008160925249005506560688200539439752940429777997773909548121823388281599786284393448937918615556384584794259298949054384503736976473332256852424021601959044724016399444925891545222094738197285735608141629442012082969234213675190569210533735923778160066566876364146366579043573782443665166851049351957765790791933549005424537483625826410516843786445029591835898396440568593688826368637105027687838531277770566599560300157235823714715472190567142601433687966468436491439499957272215058042899218100989507993449442141990214468925539286769175103982467582463734380523973508302806871873446064187629932031217040704830461291642631982086285078695172901899700143428968262441780781916264417195044507576668563242456745817551859136043599958574598825035538466741328204525370108050902351148404819530588806416040823552351294128140484544881037085694262600027163923010086037214242484291264957195698732190524275633949016224645462593474567030056728375084672498252798367349561770898365165478278894261861051832769208503603621780033915249337148444550141579116250506890910713827580224465050986098688327677971183257939187162167678835622419886753868393157565897768652016394528273886744065178756600689498217355748074443255775906927363784818051335709627018971520589097081198620052276793499133040582845672035856647241058894553087522364618384396402596011254852876608866284830763601287006667228026700036149423026125416550458296169931638437058296750705322926910916119674936127372916312058636884790525095273515438062221932730028959924079390744385736690935294925868944010734221780243707715281612425319088227173271543382374014745436218433325680295994077130149833237045109699654532027453350702177037070611381910516358803074747708198082653195105524034346189080408772855887102619129910922959508822518192058518874419863486251882456654507803295363481026348433030837241811365562783019391016183517403223845097914687521623877144239223232455763641079747001255398324712260190530488666649333228486329053808683517096435404402568667911688444342169402517726916720054236587952458648729193194196398370591083465955654573745542747225256387204919648468045612163467555780018391145805072029104091774619788296504861235552872697552000423820381832076425536409632089339245449675981523092151894730501978535100152995735305428112836484236594743595960959569801620275302395941995334462820826497923607942188680411060241587415085751945806156888083430185412537819545969741423677874187066721584275223193527707018877628030323374028626604207305052378520354210425772442559140427008749076435248269386810716376693073037272374171754245852247735758270295996649854102311510138743237047991591787902994485501682558654515388125485742541460429120123228556148895327177172401226279944108268691399729874382556815811126238732626104264249191467303139324078996737861432904142084411467415351674268973370321906902874770602008842219032125165528911717385674777311366153734391751962707954921617093780054340457873789689579406584026092226706663974706474619148511446524438074152055212868620200671723263684717967231549153359492453428928874859317664269936209673407497745053070568431410133263287775921305762314700874373845076260305875774978732420714066513617994956945601081928431937367328417989351895954235197022893497367397551673975516739755 1850469509873966280139531524733606745957465367342250965950109876696237341406068393503481983827182118684406017615765602525470345525371357 96079177094497172723469473343678038722377574791686895552041362153801428254867377695283703841427934004400130568978355622739607436 332247081996051727615220108066710652379501907097493741821633523776952837038414279340044001305689783556227986071360705966044685334333224708199605172761522010806671065237950190709749363415213776952837038414279340044001305689783556227986071360705966044685334333224708199605172761522010806671065237950190709749363415219938651891700778898834763609236188052690600640828079713434978942759592887202610785155541123973730460975923178834688072538351059080021866044902897911896725936755213964729068579735073675718216974036670698961345787450610971203501479565375164166153121647325441678927750724594362819238256233629810375653289132823923222725067941709469131856699622676300847493329492377248202516805506663161990345780050296216095097127831349754974849708075014692861779720539208773557354263446540469175078783629783037122212634499537604587068254665673292775397228603678192473260758753750363960555755152470447904689279007417440809916215353523795515931682503917084115733894721483377058789369541534827316071703023202492909454665531205525012632253174142737294089358232313041403596709104925718383520195357751110303018937387366729568834759002804669015028041569220627941078976828096269661012137488119556311967779804681249306478374053162747606283458684716459438243677534276082695576532344276053399712987080520898985614420659347221575351357313531509643256863269976011816768872330904784738782610883002718765026082629252331944769099404167002640065555971369918146697911356778065745105729647119638264380698960233881135307214985853687086285871789268796297801608941639363012094163552302777342996301526343577512504135198341187362058334547311853807457268433720690522085625501050610093794285614047418455921179339272708597251152880056940280536141144924020924620879487418362248544537016734793590201500699089471119500954771699606451569340980957608723061167985930544742494585592763754265507909850782622745241428056419619579470161814101885939670292884088175071326949126451479245871388347220957012545376287115461358447101311323201495490944640147600030237632857171395365471490013555869633069258112640479200531728092117912870096788138937329594906876916230917822286435333405933967916024289327484446631559457485611320451783064649166224181324629576750918590298833323065514502362940434740549255611764221609388471173418957407199850352736698693386698517025739380660230279106280853525493531661945852938854013476198182979019270269975539762709721332077521428883136382794037795481043639684621695249482298443229689692085335553085317409539710027448732528352757362479458012780445503610606455857803573626252556360647734905686383246005882645729967286706470688197188048995918209538769867241261058123133718832815387305324063517160488373186348319448785524534021310596054326978736278990273623581526866772864841376321754066899897348826118601800293600223626158849590389381838347815021647310891383695373808683164369908798085930128373528762206005362275872876794657916805763581432409253055023886548294925725127609771043084142413271492230145550249153801165157010725991966088910334458778020184201986872557983485892794115791654898418079655981652924400286000892833089959846125154134736412475537056580724960733728968639565510344975858300171880139293408159346577407491687314019903828427712262333244605887567398385935007695131185563168457383865551229294080306842203625672459181138606350480155226167063564964286732345965669379924358729329116688498393642069797039019159319455970361259262706370837171360797222924483897365994926322185943095293445517054009459274870328435199388140267085915289496359507636380732347053462309324415095756918504808919571739191653100024157142935668690970675538485026108040743406457426342832522110207103450374538340721719272860930797090878640274037560341962032609518023331944660470439348005406358691029418314381980766263692292015196267454788905487300853342208815974032892535678247804572344855566388429936517859381542871473470540776250407980710868325712720965952470280931298490597903061967508059944421798850698316109638043185757349320897027921443393913428290098389029276009981034971675340055350266575485135820698171894317365218737272703866524342059269683995858771658075362930491745821027533012670236222733052137092747575492754032248665363239284288788071811943447754439431574633737742190514462638401483845223060132636502788451471704790583180583489408569494249944151554838633423772040699601933580313753449760284449951541090113815606641323294310535403566334982500900534136214959747529802823984619728367006210584613977815827467657982601784729657646395894187742496331695884228391191590565640228193496801758163840139429208142088204546902994637652059988197831754480127119965562213173244271608021931664460718450670245160461201179763827239211348339438798962905840179686360943255300650628889732392513616327023907523959826534893994680658059487686462751410940649931153419873217299143125910097771886869455712444493582861381259764637551134279845737620234356256898312253042059021490709996741603215467075388165029658639915531513429055133316532483088503470195490556744841010321876589956758394558238286883108141862835473194755252747115754025434804661774803878685983787156949134278530829472887354120431902320905952954328610661326976076266926611352114662527698412773408524191382685828095507583757875182944195381669964759338058109744197040887688325257374385618259110897501964314793725720708094058960553970982858004455630785998611082978451980399882309416250986802635162822807560816507048348964416836183659463297691973326645044332702652964407332608359487129720563680362999226922055550219361313094392925616898258938095311543481328951849165428725462863519781030237300349037991793076886122045326513181013816898791956784667866144331058014381259912791415887667170290675999071222928172745278544319176377518648854469055214182947546075537345606085563464203961766709575287454949012046603519646368735772929742823475054967865445927360627608989246978241890713669103009266781913030559195116956931783197540796240338421104664465240458186863932609646353033471129213154369571442206723727019032161283163660683535359140279885260953147441976705764010907530604721386570676654997265613995625908185085303045559284076141246522180996543530716318507488647893313715980401910580102425541713566189612060110697612033871217695362774814702404628795944796568929166656151629117736946184946177683166359452851171641400879610965586719421163816545789355943747416596019104026506996537608910884905409088076624223624452531328521785687211710750728725802437027495835664624563513977205964778734767213709697787437222222854441505162581475900160010349873421642873794152091728087438528706874529967585063462361565683806568468586659128839299398749192804509759935762191530345339640241628163756457337985969012829274187962762503806403057998223939350958921995278510291646380478329362091927804077150418730068917857381782537931265322695642984805750570433859369934339345604496232593724330435766714771166426205667161937773757701820493615978206551775960445574271401595850624208614320221027947003286440974985311949339722052560172438067839808063019803303871401082373702021780239991965948474208100416246313999893872678129698371396533436978063946676428600241528248737856394129279353836077076083007500854688366849683447381380001948099946392793972548092617557123230722879914729499627829318121179995311913933682914217080039171083920399625324657124267114807621873238886630273263260510227485587685824829962737856303750205262948831696089490129163137263488580498192487545535248873262394393675045016547689340206821458565566171050775119437380589413425696041313947581919706682302632423409024450540958834108768898805836001905800856199491033238845013313960419454688283590614806279170274255056983630386819040807698607465088442367761705462260845439722219403554202652033104455269007046882774582145696636674469994288417347114807023479517943077836152757400116754238104978226516996793270179099132535969256413102120317675960263679551086925989193605152931611639993790605221621826257344736334202630750572642522552550069625037213380532448446537714971705777121738555021403641091178389721417976354731764860997323702087657166232862736406666652522444844237047431260270194052932539203881245611678392260714780011957184750455611615250384482208269186674529500194547955474267031195338846336750475341192430517289055830639606427300931789903397134393158405916100858639382213820227170819247577821001503916384866601709081390913595334061901462690424095680526240107056477766184073651996598312015914861912479104532820849003769623579045204928147481448465817268742916011125678009811772691222090702378514866112437144591984668576309473751209424335200446505329739125167083018255429713022606746609800526039196275579838950906924319004737564018360745493485910179447557716286315055488761028672918186758647664447865962782729403999320990533549691384757430422035802668200501835248565151703420994311072603747508216434958854143210457355741980118294006516384590778313094730099299395418271818059977319955225376562352261687988048284720314958906256968944242784076171974785212111708675294460367053355570333619526994064352330819095743708046560784123500619341564951004973317383620400422734437891578965349586115919181358972444956070703223227828015791485580886632670092404234203139271646896301370562218550399034622946791769783297015241275735845801308975952586398550215463677050900703329079755832652569733099251994233523426743245262878343487803932099014786974131728112549644590427779736912668770753379381052959792195600945196472452145664478112940888425973995022893156732048900359565314881818133524884486986948006125364742775500050420404621034425555880866214425237932464586130867091526143968878163367734969512409007739167264140941242164561853646208583805219480898873774634285140004397923506702424670667069730792355322976556684570476290256322597831961833397249154695255251435143479730725058985393503441430103727693308287010755526122132379489153242485015478457009774568367395706462453231678342716059951325335038447646180452988910089257614236456892093712162335777919010169852746507433133940386055838356051252991146475251049740083923818804095246656978219067500774512734041374694859890324303842177375760809258836398494285249166123974213403066399683994573153145921895618542973694163929127458660214919325606290835478894538705890991028776842634490924275819538227715445507550828207848836009388575040713380643144643510663577254200107215128214873801278325521947726666964351963995138809766453243327235576842641531380978229804632131537746252354042906035801705619274468848477598491780867455498329658519534616200108125422426766724465919850037372467000945314183285138022443386726425015956759211414749624518491204720646756094059335988791797905900136748853864506869620656149908349682257856811345564839572728890376856473485870278747092443784170154003374569827482324692217767073805998507558616687137871868309680967655837021661114077220785221064026826988873072896051684378352036740225003301294220879972807335520332084982518794763661742905528375912856416497413728193651143325413215966544797508896637844058341384482455733859312236750877569174580777066637614313837033604334586746501571999949357092631498313539476010997460000053765814494573326745861063304932150297383939354427370993864150604817313381076058253094394198785753236572332304795924957505802346554857601740783004076489467682586409510388043743992695534150692609552099668496362196097541990256689273001830398841155263548758410191862585651958949917543670137752629621235562608907598144724510634531684374203926963412512254942553244660392238541492180254748828765753640669566568544990494814915280503825352855646720044252289431463574597056054132111347761834591435006804097516578939671178548516522920677835710752551395314528231222460774326485780214710696712582490549532520029801187432980385609820847498781051624257385362174946834560794401386804272597372177995976134849268369259049454472854534855547672855092626966333515439531919926209022290117916503540532053541557323962865877885010012105094483643693554565652987025104273373112703686432701853930462298639018498497790852704663810074106064199346768348792149018237926231535776760045253983094883499531297315673811035767138095060268988103260660443176435502995330743512178353637422630730894118909833411963860551522024968443939425305314272823845197724460166040399583547279137257994876905630996389204706293760505652182054213457997735548935383680336528207608125148943624690017425014836948910324978639419114600540230621618556990861024673154864609880202781073473737770491883439815296069606171715477091558045391472137944886307027510625910079537399951394861744903022978921815233955882101576496402094591940900160611658741111198073433510338190204012029929324031443298771647219418758925676345923219909229015572393372888607136940617761645093456715228049982747509278302635993198163991685562604495679935194832038447039650098998538011265861333379477552130328891619787933732768447413283162153821350502232982479519855842530644062732756704048542157953717334383013657922716976581525422725319026917215835634790655014339322211845457743373186545271855941021062294882520434730878381222298316872357783733734451559948232923392695789294479982420094939266427073943232747132009716034757074410728503079630390757270283805020959161755070005016627792429318124505238672399685851931779590388404675565133255758214943153517959498790175939954018699586162066971538933325756001809207795785012715852501324370267983815321683151058802737455893982251650796556806740552933580416458692852316528925062441034507254751746696957664759912065568479831778838624441646954191913411663831359509426984078970554946580729459831838654621775210631145510433633536617757305037406342920891277502236209418309382037942049430183256488151462174731495312272496651940332666946548174825341725229124749705114616160054281880540354198947234572559079014198518298148145990271405143266071026229634919481259342145337898724583097604861888669585130390729173392077225689609836520912793114821797475064465597613403875759224022396034735708491833781121498925829532335444378531833361017437217127075561619143805327266024494866847503438075251839224592395717830234714190223503503807941127277487289504002308047407224556001247620731599212504578861913386499033912685147243309106085594366056248486764753301033636598577489631546413465281763741261581100781736701249544796541160122490093946034993309994023927494381350400802944899168793936676108675503546923865708941470394616477845589307011895036016968430078158866532913562055689169725157812754395541621519521053001313362218719381457197443546784636798831874133330551292210015747304782227473543623380608200983366453685586892563315746920243151683123406729773141705079853683002114655362735781206338697324687906485958758167228676488743765465044904838056518022973211179540565437944615042021563406645608062174908344929657888829537930350472608621682320154984933606588503695960666607613634125466771426576696693825333353829686677801855476375874137561497408516836293864444543728252821275965733418806978040386375624321359353338276914364031872205194448826998998678043790503172651953332428847616800651629802990750232478834434240656782881288607696374064960256307156567675052037053083913616628392164184509828446743051228444239833464130153027392175042011926614572750828139037673363576392544605297160176537577389894691397706717184212302966812872049713645325528993086401233052322605408161138788925319487861723276315274802047699701084142223997929110102895691963294280332770835352538903514318588286319374292654222129276285260042254539799810059553667839998923929180915038777361400928153081940786066474842382259576352851784924147444843684342520668215659669197697288057366703621563551249944361226689330580394804546277509788735672716123758257138391394108724319551951605337651555589253551826979714756066893173531053191521229835917302302675839274164931422439389744310087449119622244807371585249475527582841371687338856845139719357174351376651048952390290170630927122646840669278348399886285959423967936456417355871840199018757254634606762070626278962322034805371836351794691087763851991107837936690226478961426528198994989440958364692651443165658212471792078920335140593667828494017798965297981505475435803177585622558690610123023401093612955353576358432997463079288408167023366788970128145958847428199428749866143771185970104607861183122285674946913190044825643028262007248787525394397901252203517990670108864444173332942703850477762959484381499099891262534888002247011268538660594376622270365082672212322235157255037650385409525310175758687338353119969360241660039650928072743807137547048484456886848919687212310981990987307479532054140103959736196967523052442164056190052674275993979137268686278535430551791257504715766018492371822393484939196929539449988380196572662503651757494033119695979411721257623713831651147962605579178440278188122553834089639827049789072574304430334117910810905995054171220773737974775030368125820309958441194867999857940111713933242395262703619927063772417033978111333238271568277342014790547261654340193226714421801961053370502633374273190455187948713485249862668222211111318914455762210422898347390349981259778110809013186425670889103674298030491363651421324982033989238262331145775400763163825126866684850315841111141155886426790721346040922170507459824720702455243140352011956531392458331009142536349587897907439371365970955272555666600702420283910074594624663130745446751130599377751204119280556497291512349150553278102298643060840537644098917444310769987172760038151634428606521830692100917992794170931936294247745806817335335970175989328603148532015687697915652124189670040309591727757081603018694597140799824436333287543192214073599695262683038565958452089565549778101327453943408643865269541406604205250151308378086645729974925690376170930028161622503187003032737144860512516407239007008823823906811473995804355590351241221823298274366777890385385862391814781588353258137893191305164723901590515007329258274620428914392667534952154942924092785612941425869372951468931427054442270009324161093344478176261888491644169256081359077579447386206015924040120633749989542529116340952448531423182474586867921351026966287517052106460784704974666154518814151035167349815783088805062902524727849132883585857196877031633009755390490488456644897468888248422504227410769069154782415861985184219579094591392694553934970741708260129913613729331990899612447611270277043889271701723488617631963685024672082669876084819752651511784683974330831726048785403033294278644360911489762879741302033675392689318594580161832917944010095832498058750645836641276952928598265770333006234582654955532316653230563737351219528492148963929423810595598227092759973032994737505687449872812934702606624477615834666170491626975717975872429291141879750748782171533419974526805573225600314170463422031897578207730237386246978504165097975844527164585220435513975928752950895465228066269694344990148802004181186420397742204042702669554460329909254959435202527964887345800543458468494529753539158379291130570376177366337579523977108739337954733211854879061926854224008395361036877899152210452106502003800518083477093161510544129726850899664228246448977642323194767560243809769463100168877605725679893692800865024874467608245459575013283810001229747305653999137661127606785834512958030384050253041663117398222113792207474393966300340704960764328821987339877333802859793609821535465591007243170971570609710596868869066479067951508101151970513635751636112075963738637573858499983786453057903044394301295041097437837274732158210702226767570396614186087744396909624777614298268125725518207382106291429179289825779700233074929888582353993193563942526806194864206708332451046817067040554213418765164192197761886802958921872436739129792967021700260470795407599880696538294706826294750079920917805450108721318367103021403412399398867410140472913176444209080110919803524432113336535828527182843262367250370024116259482255974488083176067370154856289118665446550456305213779045057328185120197966540943027004974463254612122414112832936643794032198447927665610927170763559401220553590244673070737840681089160484022631613165378822613062347649322815522919522340925183960171495570625339301919067459718990077654358539453730570858767339377522556188759086266557260714813602684304809463378108948705332533469315286522818485015039938003366387897338934112884345773523321999762575438761947829060841049231708697927266856501771784535760144406871716869009528068034318933563042709727787065088633337297031001593202232479700410181494676461336968844790945361149017446298974932300375802531917695505241625006552842611437307622654208268221345946753703366218421816566443477572096300136885151459679472036012139399463261145414446827526486615867566816023239217047451257013486590616430860058855687920847833606246304195846417470830336606533005342062042836863188883242668160351752140074640269007587610894794635150844959617000501827708966824263274755293913446482687560096276222425072962721883787469558539680869873126892374812698135012870259485298709385372271299505563015937166285821886591605207403805726033045131972167929147718675630529355727688239029226621973058048731140117530813389217011861801173372514366353087565734208941704807219335988747973642686198794102854212952941043654806166646656095350681267986083772342685220615877477450454408597241235728136293950248772132291814474603528240905004010177366269864170218167035181897467051204279605436662794521749414856486403423375959054906013609693091684106291636794689232189120912740195170618038721228430708796077311372544130605417298995054837882772704666386419113779886974063277679996081032755656287090677016148581185167152557206731092594326602485559388718412430422561677461510838972883424225891485050847290517606189977758300706565252084740820884217337391076739811488077333220165889114100515854223884063672865672508971288503845294031629188371445378786613054000917050111154718543635583103320721198133485863115342360192029371830435261690844019550048145065893768715238471241858207056441353048742051561451208666809688655364730701451711555839964583567800349094903932744514411779916379631033825445061267296629820768928347383482756376171383960793925089382875193889083742482839533422566401300588877665791783597740406707501771087193911457846825425001211040115678138129566257255109176460365967780579961308628200115012516792484947604849884203733393954346866859023545752309540738153041167591919640339500823221212203194858219244347552933753017393518181466920530067683549832608976267360301178458554875270307322003532412239102967066481671955925453221347824974025002702748059981683762141181833876083487925809813815166160414642080752020537454958013051355297538783179556066095345275028999528430525995863149779903125995926852386759975764413602257604706511987193235262649108130193591599676247754200546833291360809332318453091032664269570273636886158684198635589869662161263694234626987065295164603659088977630943695328921497180259712631079198634234336833798542781592437536105952313676705884251472686692596225562333882544491533895148078035316009623627236262932109383812134429259616897760712961096532858126385635284069187072690950871990848758805976806154343849833078622373299505385954465287258009173848216395247618669194284409202032528586359734273652108417792406533769948709190400653628400265799102780858816942811241986780321267661190821206876943902568983185502950735813628332588132934978756119965706477032335460135933015737186998527595278840155231304466646700704457016737473029447784258379713395798102341927430114166335631047200206230346672004347363362091860740637938741083779837265910226226628166836817461450888105867940209169623707026722707855670246696621523592324890655654114232165300123066831581370950117516497474177077104786711442312703082596497028065230972652259535026093760320464181040128257029715290996630179728749671607818738643460436560312600913080199055913449698243059810448121422323919883233051748761776106038024224869336078269834879905318712019365657188113798828547000366180337646164180800562110656657135445738035572162702066987066596116302669281335128597234227347404355045030184366157059758602591897297176293782075851521436630058441375435301528736386393755920249401991229614783120533902040215249571623751771392074048121632069561687837440675142766118193570409262254428125724467479356699022400016162793569997737936222932889951096671881472547244744233245083281611358850626177813475226377416689306796189069817385426207116834520208661722554021513152030142615363529241762488724019384328470314533568553211634603241191096900498066163653704830044010118129186561089746980695576919135851555938337915890679818785736968733491665317029348327448262349678936713440726772268408403907850447337091690161948341749284476857660558238949976266570726095917281026112370882204240489674179817610597121652434189876973254051835763906896752464304945981403996019833681862821705860733720146993569728500023185154135769994130028979845463872060925991656750042574557721385582160662381881843260855908648842305772902458375483327194659221890608225577193031024428450880238041182458745459540599118793898665243467776067162411186100101040907349130306713696907321594348481297454532146506161170158707923782677675224366356639191960427312642890214401873475928547074256703449969176752335984781388655657058999833186012346150364759381711586038569704789249935904441279760418898209130348330214953067826196903024060825099184094962411171475019366825471966844473398515303878500511069790200649735354559385757078833367688924611079346271444198027290305966709465426946680003655724825053853726570034645529843754856057664365484689591987032555090859093742098048624130992674323728635611761809716368736588525875429289986840706674091310523331169139017590611779084055504104097301267508771676860043264047173173087489445795368280651668288418809763876877516772254015070039336937988371358231367550158528752403375539868709478397561579463085259914621207238560952292201024194226436550096437281621236592956492120341931085580480579252070560970733110036108725733655124436397417268775153220654225639339142498791922029924304015135326183042516398217599879940327177063065296019659466033166091932252139785174202756045328225580091107055701608519778065710143163012118809125580649860309480491466761077207455026345069561581532830704419644626444019789530416738083329238465451537251333168403315256389658947110087988118295323646800461339453767014912177042821942828505066221884630508804097835701153266549162552495263850962757967494757716034923473596280176155626743906233034700445381194095286975509385806797026611456848448463089914943151524881780244169740998906039084394418502530473572469373056161853793406882946014254022114233731397240857449458623776193225518556891103646376840705160036061406435708118477977704059956412001046014130008907880893775952957450476550390531835991468545540757025419445358817282302171840873401560659477066982172966386591321277165192516662912421600260824045564181828242071555930414128479212381485951448399656715057646027136104073454888170722718008329681401203966223752409176259305011964574375389928646189021874107501694155173074879655579434122134018619457111141451434767911050873858437954322814623925103215251780610220029850611715115229246844062336709270892264532410781786234930020364861529930701368469705066369587621303871918496736262861287731353077213166220888069011784522319949365322724431774790440805210124268282757760576852072110323533635517332228465853855790725929976584978688690119345292746422752555850487824174159627743927269508630037391972324328096423320985806746974551157236703879559324457584531226002395645186342413700109861502651950965012763338281967365976435594000089837050721922683756253424579642152081415381403528342327457452821886539984540277441222545229422654145010246288388525706463919904127385863747237719701816615015593065525804024490929824495350132778095325642634262634327989951686692296919787694623076382134287918534016638265861389810556650674010634208285394781800204536422696790163479917796814269701962431418370179332392082069639114568653435751789370246642695952596006543260916042709032773341248793762208978545694318474194345106203974665551472056170610194612226866815969048383942904309928316773541444293722192576392177792342237733971484881819101699820182786211318128453632639843862156550967765319885417831855867415823900430534511707373728672801882335457853069599677880674179643009793841325405448123808319030586540851532278542313542837423537587216882363220550706527064952513569636752121046320641843223935637795209989654547200169683510743077019398841978707094769498748642008554707457267060217127409566926654314383377690240131427899977567787241795713572230606323052385635147631325572644675977337769862841750940339381216921426735638646235434020669430635075139402744288976582370030756493010657345186982126947578850411919613610460934316440741533743957724358852565023137809475431957730545187852072098638611622730433453295875474855127338327972219185035047871897884249287106896182108994171586776120838015161888651454001285859716463013644965160551493822792834449083767432819892114291043106111086869216552792079820164932937458134215076551187848927673825487935117832351611208551784108376211752815007851854778186076794286414843233233191097266850032934128914045858204431557610778785762577423838489931572373959838110607812467786358556899652736884524094252870459643592076057934668432414532559635624874882117912081839703478464175492914224861988169835836819129231902407171295700076874633450585460536189741365291148748788266701276631750412100720315781088924376640367730911755309040928171196136210539234138733422593767876852625713512243413482449243786331885276827537431049035445524214357136931385640290400065699362536817799187855871844730770582529743505748664127084654426038472744533183529848936838988978082890186230744840470844908528494030394342955463852740854759015268816000374772522811781161157423713981950740674175343184146350544342438357451924861158088003960668343940190898737819244040021983228452076515479211369255074787416583660242218546219464307751521861355815198875404635517614095905437385700525013580939048596721620216069844161569078771684068127414376614091118139631085599151661481079544515324959921366825499632712373562568414745414312312060488195654935028235797994376777571835665900690204179933690917282410490623132712442494160142851609628077906360383358414199270915422768425817749922199305725803259512377120129944248407012279686794447341806792582657934958914767888378915440932631656700608894731093256105619880308605486520877456454524748535315405011168124284749579043721594155394367029071257786536897542289496401161850244371314084346303543580647721271143504313625484386609243615500319651085500509071583370415025568891024584004181933520252124498457167679255682218023266396231570964589079686994941373432621181495473897856248821720105582789845333331365484894508887856751904044595926531952158119244898113529022134550383565982719369493176565781867600470077316918164550341947667743801815903330993025665956668060102509265301151501606224686163897193090214321417040021914577268584078652097221680980634034097430869072988223097519519831002986126704890817788276877579611783302232901846001907160874768423152240507743607793306997142082661884079404692580632742472750415657425467147233099626039572865385905528880059112225774689762192823890406555213719749452232127683384515514576846611277668820788347588586006488657357631652755699941191083466144561867068127494633928642736615115589122408685970789270075033942198758365359734300410695592267610355330599310591763127935116297140796065012532936194013665063079415700502111880435814945337913208587325484304636596357544534702368957640754770441557149317686793022777531198821848373019117862893069401115893599512748299120530681295519298249382721477955410129443773451756425117165262161669991858356468746493579240977245513328023629366757099076978525142266411911935854345013740960793760050865528342280657264780220420613079516996395332476166228915466846940969145152525634154269767270965428923669684031925350949067384509020297243180912312701825519513834600293788217620776766147017910569870953277066003084161810592065874865600514839521848249925432548561325085851974364170725538031964069280715632213221733454518766155755263903183393965684200294607011191290037403223439767010625918954941108166177756219216231211370903139719951093000601030071533334529015978893587985958847841800525379600879834711092657875489541907538610662201899597895405934378739470638423676775021833692887286605278345445220240580571136296007597466519777111126309694695034238465105314336670951107606862905878290788220871334642003643903663329809885008513378149631661885771080663125580443242076986475122165823616208346814841408315252753960506270666965263019025938487440341266063574737719247252151652293940669552453422481299918326565944237591205598820047286420420670742228727590740971398215723796321454991672967308028648644840683221903368490269899297102009204118657870251785918357505527033476887756385854627396075099761474005721928981829667262012031145826081585538269222510138256110254294430679624364008997810054400678021342767076425499259367101022846748662259411752940516675558186269417505939971153767539966509833016157369709227005573096959556492723851825757875534178887526397885559646244749232640748216285423380363359493748995268060167541421978835090237310576875032819182590521253318493183061007022026785805278515630243241955539385657113306225224623414797114479325789937362652202228457992303460117710415744094124681972950029114139867615503525998194807352391545285811182229818156494479275635533223506290496237602188857729408189351450563943338935339776554563408665552826581360008164633345254494845059555667051631077088725052066260225605736292144516747211388601691629300542051242064155552724019455873595097526255337290938999075288085242342552687896232612745355757808171530910245963535539481476277196916419842611182758862589058043661548756206816374340800476001644198438029373414682867771761604142854126064256415809374396159129242713631367317761244589933859177730611332988466552457482834925231194587069989123810600838202270265985625763339190336729400012642906996683842381794361274698665931896190453222232936031663296014943687182809327430491523893225625519111473007531481288072064268422269811361855201544798087601072876094502692494540614879525977809863600696691013778141234900206869198389264153767225517687495152040148830312041130202278064596458948058713779967688734939187037982143916720645908696518972256916985099903102030966573633018772157910787814264457256174115841858776996356352915766115171611755619121463772138011365226362712785035214533306584240427193465708056180564286269988319327273724685080806372534586774314356471343299136108458711456701768060241563987452403858336379398356339349445950307144276942139216593351516100280682600186217108027589909163454624602269858671745423109772973060195045575021217866729268633665125807105050017472133692072698071927790633012919033429182201301171302068612463736153617639480556112267903595998345820736803032156050836640166915464026087260506651984907574962129633119204608642470105996627520406799085211118873939526222171718394567435843662502594075677874552068831770210182263928929333199461895562143393987537774182334907763855993540087193532155781063434926469216680197306958779347172225448079118111196392639276480012351772571927478830578397113669060645525433191903222891936095497184324910090454066272923850274056338385485901882681494358436458439802626111161717658428160979576525067876117951163239926351700326195341509297500553404886640965835191659794919350863488219261598144843692437545565112204194805526823075332476974088472778743545235927210880405262583536868919931984460989716084467426367359168005528478634062691271721731717560616771714634755616198078843903113584777164260510474745766361438320854993672197457399797866522775035398061891408888385909321374375272033623025787795610472928563860851309157784649600087363339203104897781691990454837211576932614722101693733956770865691376111086915327835405568948605071082295424809180558080958528406673528781480386538021466467571438965475808604345129553935513095869321108629931110605839939424965760106574952402644946365524442407305990365284908966648040467945517605689027631717191876872772574890336567177856382321653056921291150503264128157327075011383551978930940891074880342610908827414137119409123094371678696136360724776571046234861504060685470464577187891660382140143475097305369103110844079695504562377538119827552159521365018775633970735439580120471966019512882510545033173051621634109051819226052554631226435532259295747572882001626270808236042444590358136199045960449167540375537272061819889995147771614932760797999354053231793037435275849954268171872137473000259335615361921111292616389162184695669562033564970596509332371688551878420333041807503066505560625174160505262331664091925223825887095521890288129575052171165597917130825340460843307977465476881666919681447689732848391792177677642710321517452447950735880763289054167316031811926102417003817756596118256541525180967987602616343017278370327961732925081347047654857656059010727673521385459827689298733297583299446853656599192720272312841968966632593594772667223500113719502646730844926286095985262052240952182235920031470698269779266722504236559291924920543503544423909408805762010504653092697731349410857279976380113049279739865584198988765833201593343961046875079635201784729873173044084272669658406096180546546563193025050149598884019250855963188092332801473038791291957958251012920437765334741089180758072471272402761666296862622222316607044875229214715071461596077335123827216691545527291307887613670400334477105207700594289972711773659192429913212080970648963125588439119442642483455502072746152267209925644565283467989949066034174136847615577313440734698003798042141226713203724653210732173573760491932062755646766549039130286899780152779120272475105329245955273986420662452957180086809157335553970196512931004832314704135049429359651182657240498204431397567031470537098506131461559915459679080382063327112705397643894613068335246691567644480584790531856264957839354546836297097508864072557823669299065081270643207674253904368857138109407458556596741811348102672978012876597705816267284575615932812660645753286983567541694373351718691544942980395328095625329671764742784192171054963853414283219862148618952679148304004542302437244624942769588188513047879480515092402218472726874326028962048598568318074375214862909921339139921806953807443634711062302102023990801664283121979039310889890286812774491398778160123696349353837904833738861649739886424085640388600121735603712566302824193284413937152603550255365006846913799512533015708816931761980595766096113281453624863814374708137609973392793407138710218356044379465595763210859726380561131738627799618662828106580006360605669651605002754632000642838339900470686106215897801359187080238837576895579111713270218719138612446092285094662178800912356646714252845813168832334386170263454531063573268617141732682521099271958324907832321928980485122982303379378592697226931958950333541260677636845192027990112943513290085258960490613481768461244818586345267324944123950337024289552856674557637765483130391544907241744699033348963010326960851264053688782221214621521942382509078188940264353675156891044885683292128360258157480099845832054876530840824256135089359722960318588388580383581856644121538670876760124831010463084474432188014479093367474688447856414817445909124539810323008859206371015635875651643095961127396401586176978131408795073714288317760436689819626413475006971940565195045505167742397940196899862527890085237445807328867069741773963572545060985423456789852042507322860709420263948418286692566061665444072045775683939323122654078124783166688018030184225045200535518686848505584530852538497542612057943053533080747750826496088529445572785003441395589379335051184030225298706162915059642259996005856489572336531798691366969944278665789125256846260414798110865685571739072133078933108525903333113718587728703492627902715673291686627166749081993182583166832828500157570780161193169221931514754937755159804654092839991094937420103717085608605881785449005704104136040435137642468998152680609255401123465329504349180537477356166667104692983095678920316482063931739221248405512034780632111316813373224063216455415588237846091942738088502838312362266549744300558099898299574258432353764298631465635055283560477090757473282636770439630979234656297949344566413960851464371303932136774212470904452721540687921542630642597260292018994655298115142612604900763867141730235727276839041559723450666693866460588292012471144178831782234821533891876058363276181819433227695553112581904847517462905620013468996440716198232054347184611020511315550930226825107491990149608178562605108859036584745150376384915134000329516399106219240557283008103521761979616832213981692408357639556211657126112192905087163255258558649616638254193591482181876195923292056995506376458182685575221152787011802994335467415362762077497854054133303136335423682410108464763749063885279841490076464697648540094796358954975461448137636970591635699836811987525054793069353207570766780148447701424716241908166822490074207111864881547728917186535967765395799335033427282146054169649600984706979585592643042870363664713071314782330611576419913222420646099898830762685836055527409904784676107604241784215062851755735299964786255295428367429870664579433758010140740211618614484329765744263428528704778556308309631435278783041945019702946575777732816746858087453931603937253315899280579434631408735860861778826334927746151184911655130681846713677348823341085136403947939208876886336339461382358344794081569610914293877347138934237736191096460564244474779082076049660271356168954106444832136598082938909729618912118342914906163896386106937520895346883983344467189821243478072387407457697554507436846747135024858818399665568196344528811941833172636825050611864900394125520574571203603557802514190435267183721921384829905803224695842432315898443251039654435350535432292167470407786146848597625574461535118800314305699549278471674544972697612839332518381972223283607075227812928130106569412629487306342688373381817421706086475482763942423914027532180429519034116351704698074233515560578575624509992532017874996366404734770389855873065076038709977318431281098978988208543559550943253902371895216820233442455725753078792633985509016455942373396625223351648750589556942172972448959988250892321120347958941546546030378786175915716613988693268737496847305496532937821475648105793808285300532447080506569294223400109593482946145390788906616264021501307353300331920745637263770770999399922886212243248802062634850888530360107234368901360642758142528398785949179979611219637975765192452186709608809213711197750008781593043072934488393095757415924137528597779729189345385050803831986774590025186579172370808574164297153807884060713068680361982419715774763895072534684045691927595319372237022290155800656076047385473599044779967487499697694271376686955331951253377640985870966838632639261649456086841403745684207194059507017430354691821509004664939985517413893851975731215682616228622318810967297476060130283311937161140874727067625585677751199566674861519649129701933180849941096181392964927893609021253544332737506426062429941203273625582441749834509473094534366159072841631936830757197980682315357371555718161221567879364250138871170232755557793022667858031999308108305763076523320507400139390958079016377176292592837648747901772741256781905555621805048767469911408399779193765423206233747173247033697633579258915152603156140333212728491944184371506965520875424505989567879613032803164628 106105779458151
Bạn đang đọc truyện trên: AzTruyen.Top