1 02 39693 2668054 1379450255 431426806476 156155930456497 53927462970391958 18886681748480270499 65874492232699352836510 23003635194171496142460911 8030157120337538157977292312 2803470412377904140994278156913 978711920836112805907973528875514 341678455063142340300076119361544115 119283175025873590927319415612928984516 41642914212977217228245943401711975856917 14537942329186373618831708024658178760072718 5075335981792126201702380531575543697119156119 1771848742653961247155600637754601983059617969520 618569488923056498963316992027370159220672443408921 215948575512168229619519519818238841309010412859567322 75389730859993941168495446741938297002541550293028972123 26319282286819004650400494410900033144703290582000505037124 9188315334461933776824086191446159766667298104703957617422525 3207729518018294091089049322719724733319666764893422729760819526 1119849317993059449905267511703422598039877987797462951563068384127 390950199499040820297514241652987178093554323813738953445444107126528 136484485932716966304009431283932696765327022703559913357805507839622529 47648050631988616031634411103823142235450709363381296827018889080941149530 16634394110901533146108859675887917107471110645925517143092160993088393668131 5807227447223796989919557019463115885076666410002503873864540996045564925766732 2027359121044761778843755414210344885850822740687591041299826850500428395984852133 707770626006443275245592408210151305132099063672862846652960512540445160531964860534 247089553023740053498464245161303287953801501477446100969751572632185485947686260100935 86261346501424090385166383609459550445830221315236263133549731363445934504157781999087536 30114668180745895187661016821582496018145282956701374330264518006173191630784756403861222537 10513321162004552763733195010006184183287180738481953643541575460304890530674251461242558868338 3670301834045149331660597136038599052283055974450997094013068427661346742376508424206529380062539 1281337775704996889904742575757225921510119830612968049906303188834999403328018776840568960128170540 447327377879198255098929087275530681001440269408723413974165422202177015180712079366098911125109916141 156166302745723913942100568073441955029940275396928535555823730456627640740320838230857065363633598758342 54519162741376197306380719825711014521910552104730269921115680892835107521624044552270956632933022830948143 19033165630234208843108671986468260234361750609730663422145566824479986528561679954903809698010446762298374744 6644661724289429224264754257164871734346454468815442627419197786309135773474884711457451424917319958234179884945 2319715505449193785414324929907977840323320326552308586996691157028623540125753929603657545098516251631172830930546 809835060007792003822442358514383297025639594045119282369004418634458263729332903375384732765268728842759112126562547 282721231494647209151667541349157870618374408187161929056675498965325349422913963262352490647824896532685085949177819148 98700709175373094745554663683072818306600547777703601406978078174307844439637305863052468934301185678671880904244192924949 34457369686103753780833143409358941746778495052746078750694057863065967489684783493635521277057889909880867656955724885489550 12029400149245014757242035140931550450367084828021026034415207927286809491256147498934548975714682481961906728920081317163384951 4199579633294365353629010138558969995256649020603122544186279135965546586808535881098328883802186213605810385149337228779184112552 1466113761082902411424985894925867954670978492847240654245965378101381068077683395576598401390180572102654786953854256805940982040953 511834456809784114539984778688517920931889591627757303129062985169424792260602265007483522520523541209662538041486692322619121785361554 178686346265699658177912284892913930545191981893183597949079600551977217377248492252750658525314866669972773950898286798677783389171224155 62381127173021490263455895906055203282308431454276945922573402366240020217067990367136864278849904147360361418952564765721674356780770067556 21777853253489844044061771770027697547730274460342320480738586800195462027208374378070188609130728452934162275326002675112110608941753535804157 7602858650102301799116257769172654247986332732854259878617334542145875670485103088001793909921940728323502386401903262290832679678467535247924958 2654231295464007291839761318205699478571957579244408822273175348057148264754191843415432163140904770192525565339271178966286991172415148094175492959 926617749196974444947490927713967953289900511334745274526042922211013810809407157892318057715517674756210332932194982797202201367692416029652688699560 323491194830767286754827800664458586321120415720575861919878306915239367856936722114521594823440805242560698655771315003715067514500031428371034221844161 112933896662055356481551589063846768545684503833421944590007044157134589626923545702299511328208613205835587132485332266488319624543037407227540310904448362 39426312737655873033652237926631087109851043719711969278672359714153002409744522654664784175296265392418662517026133378283310891302727199768238840000649712163 13764106101279332206144015262976075059512275932811174164205531383699407026655571873347408001562425132212346796701806012229652631456416030457741183452718014926164 4805182214930578761875278637497149915221829484866245201487487713241535892271439802408625687154720155751596527271870722758434228115946146053880745327463378988576165 1677535464256485038361653094019255563516898209598709902430421663989774844042985252102733919186386328595484714495090616236687703048720593903806631626297790244990727566 585643812859836972972885299437459892628281875972995575216865561944543092639860111703854594285181321634406012653674033376375973764852579029322097286749318137714755412167 204453904462176176271234791389852486937084160389131939072703444625126810678633624681682019070291406224704920602639346615206962799551932050798493008071011344835785635048768 71376830305271330438671559951566443909291862454215370564988571604232942766651016803765131357642610293014671106221570495328169664426696064774439280981468183295870413297944969 24918339993697732027981002848716091395094935374272091112432029950263624459813723964778387694592465229883478866834425169618412143124093187783198587941548084397935817372173712570 8699232865705712864162760666445296652526984670860960805931925125483758850082947621891576202628060506145713547474030818825575666312934501905789644945399206008614174055153198592171 3036986110267149802196180800594111053907533673734605650343186780758420543843350551584032590112651967945932727115142117337058570541636464147303360415487690908429530333090107962725172 1060241147275848530862636675636437492919432719144734600726219928168871810651412142325339970165514826453136540576945666863395817376280702287200012774694375720858129462091241688819208173 370140412093595184971263904565957888681956579889458464207627778738175559885728893823081442765592068876876370424676910461127514874747727504984457443203883093731924635136808459221959667574 129219588408571197473569433018852022290409641875092835765103481805401524233485001240436554706978105999818365557794581566386321464209541314666515156686628020689973701635002019318762565480175 45111804825727324424876592218032158975929827488848807338154952621001662182148836418607081006912477211816466505711003134845212419861856094590674768227231639192241443689045939376133433439706976 15748966234128072923247421210145157335670855988304980407232675918152638279621354223096445232087157084526276287425252870349224781893242289804899308221797819585249510736170534550713101702618116177 5498116034192769873533185486407300870761939633129272983008344408891091388084922223744523918709329043518966520531141537452865080668368537480105135466954508022726630244985298621852834201463994049578 1919445344923062995551097551103202272315834775261266327622686337271534935956534689021379792506506333248533933431251755527113442867290626737357526312167743803548927395857025868538076475474224488608979 670096885775845338040486317717705450407311829495937598583712626187549601770503400406180163567580226284095232145266756933692209950266780930221847544764186464201497673228602178276306107545833053074539580 233937286890804774756231350169994144238638828494947772473116161816306607950667887350557724452979804277068847350334263717531554786115607073921367468371331497204318654257079654800463739372501824694061200181 81669763521535537702296551491588321773124805179761381336924551623622687979807170345028395766098586866734155415246972388330450150530434276614902838774066455081792390677676710093561415515948355960298312794582 28511702269920222439335946930516983249643508579611451474358905178216760249240192188459219122791102472864031319155469979531682706395943342713273254854244757555714023040568403049309117142556733967020158936796983 9953710299580033207157534718546052219849993390871816029237115775722986188612805809120768600840178706666477375919476940439421727817200555697167688418175296149118015598251123041994782520707641070527950776461245184 3474936283705899414795110117662569839062940593604012825591725590599946257652649734023115609651488072032449016418392472174831095531644438915441049340011256614895702158447157961061625832725722574003011839266744002585 1213133777494533166045783779951911899892141459378998555893412933967394008192949949408178860580331969056395728200408706188505790521471839532389827093650048867454477358545523627147396072947015247267521316245675729045586 423516704176413041517705140896532803587891407084156359199413655553503853543591060861074588670275997840266485530523578546535374869209036752015478496070922049315524224198014664727495192674852409964897451143232601477020987 147853766867240367310997107117574381351432184470015003211134211257375821684927270335603603099178977095413227356570194318578097248144358671172611842798227244348333354396052658899226962638404705615084578302195433526614550588 51617176279607432811842988538971521942412771513368695268030462859440091207532344863058909317863757443052621127766827728937736384100656294855281902953163870266734145589722110822981470254073287826710061937699970009246025062589 18020054162518591701125688643877760901648706506229871310445000400310220159752319662951307753716541420722680128398224892868364132864736699891027123233848641084794062051955970383197764302560566713034139240364268688257308579624390 6290974737965136391076058963117498678101360783541793649957219462640744487145077972097994344680250894628446992616849385365760790235207838028324344301050971765169898736689761224101366712411088252592051726125503088952749657689964991 2196239966694089265943298061894761033052001021032740697525111914665589503959962313190148048196202789888761625637305910975600638729563628489266625549446127649731978712939720599681858324010113689085098071649346929852229322837334847592 766728558325866425178863564904011814896739384930261231836093003568602933276326717268398566941170711353939521364290442104580298837539558491934309294772107913368622794805746664691884162865877398546591446118862471829944312366533415612993 267672335932107820271655247199581586734556655786132080016913307404624506540215611442503830413975099993127105915410063434000595054264286310495677733084478559050061351120715774535562735845183115896469463627981647418426357713608611911856594 93446994565839480904915994968655099597037890592426046247794817991421549544245718015675959762043472996474274878615588845643898965361885841608551403501028431795154312360406800900281767808834437261611277823133250479819039746992675468312764195 32623247236139101199543083625630405427169342315951541460183549612824314885780660019900156181297969535432755638445033309561678809505329145485152703641047306110711888571526284877899298502240355722124946742494299834125520179257957094276561383596 11389090309163508853230384815346769695772765521179313358853766722185379850995395964392844579120931210805097230763742845668741856963608649396897510875408612453306600768769131487635269128648719781256896025555605966557557036908670403528046017124197 3976041291395161640109779626830672663777233236889210859624231711108530491947784867073952132156627010995313855741184827892551832654970325667537425016130878907786217706345382476977298269902788627377737280182840417753251170688359859558689152609673598 1388074369570998387996068049651077595348818129234173265540421169517360828409410313363728043119807206353652792697005102649404634805211795570642199178682699780086433033480161843581582189855203921576709452895644031647759646774624512389361840098124232199 4845901524286844173386102746581509897165384863360823726905265050467253929384310144302050779763011071911750051820508190636793799673219977093847448588009680665848325288610926039553244094624454029490578123056071977202873179946564005859176726994854194365100 1691750967950168169563212544021664757434775382543381430618069231055487607843718115592745056051989526616615035487661530281958348190177975670683751567204325414154237614342905274667987179328634979547011233665969495675666404833803854146829362050414737351329101 590606582328666997555093405094372261219400163405115279025700343868638294364180048873150671613093569256494129009404988951621113228731413325815957949558624953635199111378712625178418955922941025119702876216593844711149170788310116388728205300408801853486939102 206186455156928958035741171210630121758142016902901091201106118219686964810413332725077396321132370506321948902815665835822597149923908438252940726591469868316336132281024752622806290533906879564996287676286443417210297286775531734014426843610087643796252521103 71981680465799944836084782175525408860192723058515548748155439114646296141907311951959573963774893904852314977640774509227794359919152916139596861978454760419553715122168360836097410574781296604806415673063115867399860592992550404466667274199935308588815404119104 25129499019404447621506871649050980970812768225539922219759352364501594522792687707290117165060767730499498898302917113349025239389052766336292628848782374223420293855672389025531471031692752511294948105031409194404396146456840639924346884839003074899688002606201105 8772950518518173332457434754771179435454050311933352164921275635654084397105654535962330905458640366057013349456303923870985926836124882672462997944115006141350072579857110794545552023033929146172539319703082933947983850014321248460515587638479552386682571807287461106 3062721653978770703752392013459684173818943785435487956436783261862220599503723447875395803574370235448892116596623162665309591736528021373734309301529135560369558446733443268385922429878382893947765072088630433446916917343631815999424401846248188165570868123061703561107 1069225673842608653227436347605112644185985357302740814461915445107016093240711026951573975577776976845597211356540906737014239961554425452721453958508761992938775103493445754890129941527972404917931289947886032119305355659536808748000640341844336046338279110231023083711108 373276996986976259615037755228321607034893209336900070968747822969498215050150952016700627343038838516216586249949724660689806525272268593540120624638422552048449968244689263865693825954096210946676519084316883106359785669034184691311808906478138362504707627114655589177521109 130314600451808337393323387857500661486379445742179155089046967891543461031375020505706834160277995174811436021152455537325603164317922771639705184300163776511331300506410617058962063336710028981973179314215180634174285724584367173626963691928683342475388935609136191820144747110 45494084093017253009463722490507909096478088113680631604027359097196708990871117475457043487487433683849562651701545032758467335532637137145073580348747627200206079708607884913509250372605629217847520749909030967108833974559412965315331843134678758870799201485821199267226187489111 15882423613982731371356729471971900176577188989081981475610240885099903929045707781308684792986930871143455456528294070311870308863101291721131903320161273196111368838408242014924406019866715748088271053558632264973296350767140537098160558250079303620945140410976586161570353609337112 5544707292892035028531460264759899374648150182890756346832377684689601252686541548184400619205388334866271588448323783052023742140654146851557353076033556627435213146973455691386505880424452041482334675135651530984680639930746572967741778372783041211995679715111233440341416105623289113 1935710802775943801913333282412950625873846075346800375265719415332676944209160933077042099294308667515818987403758004812814236522227659515353338941714221800711911321908477613114941075093721513700113942229065111330551432203961408958084495814053321231248574955486515757244035568685280199114 675775314016463242961704655519936469246748681490967731444010460623078295623941881198468432628382846425543110749432153867920981443252941347250341716567500798035038350523561586299642034924266135091395455336345888054675883632349242149993086004390268543392681387428991625859402315734356895921115 235919680966366321991964898814284407745625130138936195580118661001666555359372417574489376887035532217550502000443871615581416038973845575412507109147749783352314130686441170955302704840475363816870396373164292149867937764594345844808528643978593116400907617771315739369687315516996449993919116 82361836416410033149584654128801294735025769964204434937777065147635225114157914682558895493831902274542762223368290368254532999128234795092374593558479043484460878531868666104813500211585534269042429667668683684188158893061021449726287230771425664501408620156187382134655807762554948189880225117 28753311593578178478639670174190372975417515476457775480634454106400380096327569831956047228219727441796165326661538555289157567715892577318282179255252190400182981504280845427366320684355972381213002763501518568573968440346390201017072165736968265910953666635361722317970136434060787368307686393118 10038058445145018861095022924886465401977827713008787789775049787562288102564103592197906302901005110207920707104605988951714740840157374070096203165199509083495596530587651070686196022793279602703348074306560898891199066879768440844679892086196561569768596439597743716426338179918190168538904294761119 3504383034984107918364796559956289150146436322928548317806112280028636018353317669975249558920665219903200553786805634465031717634688131416235121367085943543490975795082253692263839217874860063753284703262159332677315980695762847690748553837582042925334199114969980394289203761463079469235215861488839120 1223413922422824591232614188894003364397682914851789550925411499462591149854340209234396984123695089101611893532707262183187501172965430844356278696610830586040452995386515903879365302267429275164954021454870630913755513527997468586116452686024837405517784205353971303875679467576751478043524331274922361121 427105601937942455604745215683045519127719965406999159967804119154149654548433342304234278557438801914181674806167874483375650047154868512696337501725930158335114808266307219232423023009205968752540878907336278070635421778182284849786842485518261706737931699921602786308832083643161070069183281767180246943122 149106685695968547968877303018444619327603803404818832015767697350167743442686719713036934769529450622776132562144276368687955381897354318337402214280576649624046702275101416094783715851653546710437010006737371318559087495365038987837674230839821598451022471347271970383267023317549700775376227437399423463401123 52054582328954634367060638129787165390264247316109678175686203824870780592998043003080103706663231663995666659347481353023900586139907385177627630750996517794499059750897278215137538924874108384407369650844720525610846519242668717583087094207230284430655995688614998207701044273974368969866382235459059199021665124 18172756833768042659539153662094671474400074854336507241414219597749698400817021808748596151272622199681284410500747647575381770198129071426871963663949938553430451013503942000066700082814842958429638978110871946524560474021491922952281924290172657696470625070869251218410839999180929103347722500786738931960331025125 6344284713539362137324784825064261195451783842728881142242283983677003589171662041670536197031720438407830768426480819504540645548272353181257123729403890085147949124404436809212428682838540630878837760497849647760598919533478161886345292576831074843304443590210222165778777794053049189466800514459386986874503205491126 2214850993419889021139968366798489496934783650222762940913467686713649177011783464123859827176415457713408881338835868493557386724287820478277664423667990288033053083758252841910161925665562538734688763965897608533093154244776283839792665199122013228807160258164452052223021622948820492634327749527199583092347604708441127 773225847286469429669245492473006171739574608155732057690412165428164866974365659621880932141692960281865253834624909053633616467635937074577403338573979205720356094237873516983418889882737051007682754654969842834884995230836678547010195816180256336817582450659060076714332962239148580569635408225714977933358064950854831128 269940602184127809927237056620464331126180775452047566154589644070576217555810715377424730190285329033551170173099436533969595566965064499704259719261715033728579210211963529575289507684550478703175430414992867265422093092197745780639424300784509941917553695945168015196336041434786173511137793555005667423876986759487701561129 94238868195171692084883075521887617087233992528835966921552622510841903409537902682575896864130268649789275297269331809823961266770154797890188937781895223855282240786979763894647482109086114510716717794142638327302842835295318485085379594365975725902737051362047265881541448480581921812482318092739869254296431991103366753229130 32899697958920582688395402244118182735521112752991074416142446419271126408559599286114447375590004449963681834102042053468162473583954773095408894239393547534409556883978171575371413536336429825260901146888159547191937291107153255049490822098806768783569000776726402887432415838376395005757927942596048927206438526368610126295329131 11485601923258870136005572027692252665748240466821102727435931081645819000447457873943861523835020120550296067099927090839577117294470415358123723798108002689863566443334930034084818943341361213011009798250374723857760860702967295955527154451588211857063232670750183508527338267001865077733909884290655199968339273031922546704358963132 4009734426871803212998102472225072222414279417966546051545222992530317210078574314695559124528833568921313244389531340364238861165816356786344669532061111171896335361388478525139172629680696214208080748334847050033045471318875072626489744578708591963950472441795985922812250872772750532591069653610882829213063927313153141229085199921133 1399836968185561257687689173705804094615714771453430012483614136243530421716330951285860333343720663053767609183265722819649586527110419254657865844749463343142393842659149574689499654292159429516536241634232746859149149258453768829416568387932452882569269218917467389115812658240809451827111597407126558839259533304739915661879882089075134 488696589072529459381056632271304610344031098888776763453657794148006244529435481227171106128355256811745707190109707066882189721158430782712437458784615829290240949664752818433260617183526743646560782896229595804428669551732170808593984029983176051180736675581702448104095242066360770424205513781676677183215148253866015013763105318216481135 170608693439982330914664664357294421509726998138097141553671716420052555696895630013508983287939283545480020107770537436524646191352880769585099422713481818909084615246324376124846633227085485646873750126927247523079043591692459911758668956243268895126665126745613917677922886625316771195316475827185981345021629087650988183368539654274431561136 595611406507646663827119130884569928935211047582381251597259333608812481516726531043912397363516154644609715050282301408453271101981215243965670219138901765291995896172314345697346152496456079981053740839128773300944722544456745739269064128103328879583539551345370296252108521852770514468667571453716924607876785364115231584291628153187475838091372079336875566742882061660827034837275329779004890465189422441795274123007171778094016045212919468979869221636441282582217683321394445380368718879695789483039275002298817853558440383203807227529987447987002649629388035029414286392783237512536662542115940907793965697237962944147566599115822679869060867415876975601083239497140293316161139224079054313872591656151168017847995857912635546513424145876957362982195322417762699270224818279336847056662854113689192644475068202646296382621129338943101040912727038461827127796909054116272057621342506657506881208227222652184513364229304633696064381399862197558716073257928240882775220880121482601178018850846097578834194571732682220914310609457413000903430251392534244741527581649719923569770755618510681536967584054071849185635996860486592116282693612626786530331490342558636323163894842545086246272425990500625804245227748820965073368866299769655160138921770782492355655443952077804267950180285379916752932989485490180842633177998948471304832055779739925083990548781571527413962107171946879016137029284421008355140884729285771621173315439658930416385981595523616070341675485952323402795557604035695996881176735391917765317961234779708783384199164219669367553416900057857051022628528152342729647180665049063703396996881383591762286789615276462812632096590065187218661298810194052584249134090131843344230602448254753673771402706951838895627835882250326128359687570452729141308867528173361249742548978792687014660154890196834328895268491315531380524034582255571101919093394300343486104162330120736933838236739000948893897936100264464173348694986594080778752212045017082187303201177436080511558012821364884931519881687614776958251154563271836191376446411547537574127503388457944640186804886625217515997508927508349506216901754559629142107828633565259737727989057849984147535834231652501807858745170309380096949179360891737921500441762441477698890170009593315626718990143854277665892501668514972359387196971639663174380048004619109092512983012715608485988866256531672691046327183416855657833166521334124029439241857788320479779681110956710971892351842808913762381927030187187974102135745680169169143376440161428204432482967352314009247332326880245715903735678522675368732271243969314317074394080022015684577442327039793488125133057251279137183777167502110798235885865921283493924498933546975448867037566654819164224665507193524252610851775170398142112064422870956142836998739314094862882511140238480084376456539965408205894596526955514487923816137952827377324191441314188916715975893017767993230523728989628836448383943068965724276407302477975914782727479464551676911290535089213975045939824028921480490630488841636757211886141636526485841065726713703677207002065897882197157593041940669449839635205218458615856174253706112982254211901402970191943616137227412681478265809266561794267640753431866909555170159005736893710266015440914545879602810352779908938032820642556320293812982590667139776667755684158171682138192990472622170337348799408895699413167310276413018674882883268662980758564383947037303301628756744722714506129856824451506334513933210060628674867649256924149563076216803392399532171501547201142334299112702836910423910481779224647556943054528262628419933055056311430383197898137982539071461601701191709755113488538319835369807295188600012852531508650412174303569374836038191863782748859422605469571699925080005387732735130886962461107969604568316176330853843613148095410992711744819788288311601718771647414104694738188329176553061722030329839071671647670541356780948379135914645889047943755681316193792875321519234687364075217845689863506723707142111385321289147559169336781083465512799896327585056272174270561522667007037474499688164257196073576949309851609413349080987029635409605402786332643672516014838795255800483767596987555744382781185977502921584700020697658990072213851953757103295542335279579797539444916634152670593604035719043092315193090477149573574125084072019858528668286212687766490024418672017566273222963029740922873148195211409477964511337210829610367314079819156827285953120064563657813864211179430089122686871097712591154618990721499292883510727720842171255087134770813038508248658759360629188324775487265036027704151931573683488715348017395074186936382834132277796422496389284883345968677751893781157719565938084174308033495909118638577799117199301454271638550596218603357071877781062718569149681501861488744960009959646213167031046843208221266670113823280497650287274055771170328779636863747749498766147871588211451999819582165958144481774123185249646095480570866513056169445723832536521550252732431305426820682189316212608224340312900946056116892849011718164342099758677530299954667824457950468998905683261544649893943900286296776186976173207323420806699378557883962751502379188739298822117938975512123886357497651334017955364452625506164435560865674439779733328592910170895583337925467219847936903140591016552583244968162940971944778888031624330827848701152370470614217738932703993906672902603991838638364407890807867322088060395147237178956084401699229559277274594734626190204003317719249533733248373811007024537610200247330634659714959977586767388115183059773965119281846194759503596020411830671538169354172340606016398972756912957496786504346558308417264618183357367338096727000045196528588239335417420797211566384001968012455212927418420206626446646328885082131688237034923540783566058602609178829502316647839620779358598806434994326896214512443735572788878323266745238226815408519391900007274814547148894995350813504346666879936431522899696832446302747374680085684273004571546469592511218989798858038165954552634268871598313438710125811478818469675866308727053964251921283388325567512971825298504058852216225903257600322267094079029934057643741889554283901570148992549996074457660433910327276205535985213841862713688929268699535715151446306510530447492207197823910140719690917381536323887177633823789341012309116483529153101231213603231559233614981008429300410664999989156137315024751055175182457527194970796046316174442767831601583170416615392070773598933035674710709318427411270936686041040784710566613077051254032995425881399633078044474724864160601605129299983703495879911755134813531024516912213360523050020173435708966749703861171111670115562307365542105928843968624276571500913524546819774791616905008115435340793192292679569602131793461233900916319387222785723325108358439863067532363861438172788467519596065755422407376403391805634361535995893108003653849242794291298168170266343057890978165884128564957176079964525273809350248778334809223437481939036874158406229788067563066046846827615484861468202738746299651929932598346537451091867388052946307817697772385406281837497859797419176660945852115512337811817169899417716466691202529291703706725085134856185629584493833755134226297311067569271922286676701959469210386326016551488988479218938781913980630328543772319474328065447634052692695094357029917232202093818363279315229955195546716536914497802797293312648754111777021763406140714823626942751074630700740735972382066584987145990262090726960500247874577788631728110559316211870824052603915643072491216494417768285451215153764997175628398659055409006158676458747050389358990183989051972253073439548336109814192453773499226322526937132050425519594643540849401525333716130800439087691179563944910635415949882316850465258685158896517816622318120954601104902781465662787795885003751873134621027404445145982514098473111551778423187461765702034069795792808981077298369624602864731157882755025157150370221809765908791530413284355974673564195024216609349551425008791294372485676962526266548946907814704145839300272975594111591334243483852997424021485394562722871838814045202609150854670171274651949738384098917822492740287047202625084733258305014990303456252330547411051265331503353209571009279998537599512667766155398400086766251664225487088060796615955851076850404295123504560865135556140788431585249569497493876031643634710543617982964144760995662194382328010833611471961869341589173500785131413878206534510692301338752820653859857459508165020256175401696189207080516857307303340817897641522483142512517133314392632635336496709635420803141882823069085183575117022581125715298684415688276182228002749284734325212168629691286538655337393354136706367208317569843873302420726512090827525573962348225159183267535136590003212212083088328490200828616110105487746523149892656492404605971600429092025314397515440079191888199868869230561850921206835901211710848048369033954609369211347533653418880865185078449906585125774527725527527702096059884809223582567719792604858879497069223402031483330996103082612039873167003083294288096954946719120102283781004805202797134854722551938339790400578922795849142456332540116063980464400129475267102899400996544335157830592381094975180026612167612920371244437389192847771211900669958458857665905930030487497559545936508673818218016633754587117823870822342652410989794533168613245540218154243081291365957757042796905382092319048096310112487485604804238866457615820327042683895507978393435484599695071603155064805182779768338515176560916486562628365870218380999224016969595437894322516122336197307424546706897160702903940502969222264271718881949937381943756828117734048475435185030426013895624941594662481178875572657777969207089793725440319384476035977665339705242897004684651799336081705284252415606152475623467982539770498407888120563516368519499028452029438007294172872427192733207099036696264392200465260627074077268161848651601839735250448082479950429449010815726317172860790682096811962316277977819453775323076832258166606280756681725987391330130018689472454552318262003818435185266707230775957657690596973047959781232685154302742563601822117067620353758040122797785020050921060016066600235385279916127364987399740766498749576460104815721446671885996499859087254712080753782441689927111919618973856717140205558222736018526215321410285266415475897252685546425677123946109211963125739308905047194281369163272228089816542364498330589772402728135375797811306890308320596040701021260353650271688177285089747254669655834873681384889877574506390009538625872152409433250446661743229254441486144715725927899139348878954303747978393466100247395911114336450374917506597964582039040117730046050351667395229223174056215748833554463206283724329693442843180089553734270080213541997717446858499559447559476946436001752878481247087431649503745219381802776517464685736160981631813616996740336432293484912077664257884153892348804469527909901963620287563788703756131481909655881105249283881026444809439022539862839403948323346536127087466315733716603183034048396115337296627732332662568978349898584408058261124447226718361206166449918174718764135748088352467797725440403473789897486950758440649768419786314623175269235668492171251914512091400323297355881165331784913363609707895380701518910519540072828577536152705040642124153076719387989901540483966574154527490184142675120782777746441332118683369548074672078212502867922232796308190890851263802818049104981002060517522663654905952953962935799459520623353986456857608508172326078449743255976580346507318372065369191482998715030064365470461288119982974577722289663496188770163831287121923597299550142121581845291671768873338516611582931380693992946876828593353849258311141048990521279449424129568424097623144457503381736869846152290360731331495103710435350210493645065457145472483286294164827577376784186328031179669792943226021065611168901664179260275568713184116210707905692909197904892993586954402188618041399897918511746030473740662995449760427094606437006848043723534051923811960272215597410973540090432085088775532180723123901844551959691496811674043713079347653056328247052039027371709687637321780491695419017332276826381060767286956032229973962070142553399638597791602988278791307540079260752792901719548436196040168070696827571386900329380160044177503470857564185461622282040616177072195732543069631871737200397196344141203817069029636778857108874661155684150469933361379453248740506900692523120164832871174921477135036005150221907069734695152960592395700485937946351681411699243538777603001849890491565429153284172576438858908260781289682438496732606277316599676504587283226844571285964809860227451100359239394360220900448380793156698820677254139866707804690715269464732094913608904203234389048147089242392608707600103722398322224507898444154604240783150183901325246731279704018709608504965148144725822253693166358329269400828232978769977737990203482841721974598851967351271141500162136017922251694928378238273666454089848020089968497671758193163868711704508497978305146743992758350822105710533502310475686583256635906358726777608060437538759005162777449896575497912403422419885946008834423433479069751469925306913964363488559077169396467028007250011739765750084474907232920859427923968536509304713170365487371961531215073368691119867053700337881770705807653597334902299278036492570686798556200298910774994504992083472255737117017205443844117397776894928939313960990361841912534096505352297765096729996248253310863429760488815676294614799554831176045779731523606580354539365306682142043262116428181885267026438927294921036269403777115623065070095794743753117043167381744118017310841903748215049423210619225051335720175907658091900381296626901078989287632515299095441378391802303313241373422387012261420262933411988376521336511368914921293096226035319478277025171600658641770098746204230243709311021320315053802542149077445287818980801474443799116175052321828791675169872493152510978452193793156154374363804508263271956618754003445066287967476794364019669839341945465713465346234261730203939303557839680425239702522718123407905484699158630542595535719376233723061668965003263953124599928303227758203463872706750254279651984825056350430144202818401613198616125755392855670839303057801697403916202117220969572607477689027652560518708547581825779949785881838147403252098862373454939459797606217019642644440389988410474091352825719333045232602422962098775398369266214675521931724336776989925933044423736915451297082074000650441640379437205039056623357118501163802258987972911280571116662277273903383783878153721902844591302597196137397778737784517624077202050479877263554867199318598500001351931445774663459582160368659670234085335614821291737320680079528132367055940771940189789262468601610690720224406818580354945680121301435686219576460639317815093080484753915352894864115606088054106941024299493063996317155354068784494385810933213753610205064196026957417270092142053155587498777616152067921119667787062683294156161625132019833242063767819161174200508350147198742844148223646313678776262168488368394321214919051535746789082990420860223568094453496864665572735603261794677073671742555720034450732809836950996180214310695495201889426714472742135948129830154614323866984378845339963039889419051196759139457629073774466695288978895814462808827844608045564036919571797283995547811671711798736233443166422191561556521892636664705439163812325867599007770705272192479634683421163519308708310605041643518493964138293515168274694798641004005390042860610256291142827922059246295226480434673703097757234646736779175349260250950153211758922265176917644672322724444602132044693770565575358970732837879480853615072250695210272861835776943282310002406213529010088746328042517046415013612077328301889499918457030805629902808410903429853258964032165649068072210938349431854567731871999606508784631108613064555653693236726207042409005364539509931226581406621899241221918590022477305982362439397771648766469129069025499952718178642435354137327037207331653859314382062735661825555250743517631148488415847196617705700146439593167660321959288547361804313091168887116428672799784526065117798264171481021349538029448606189754055411664634632610199666561500440929828934835441243884960498347725371331660116453649883469451564159464585037089605400840919169150372442788219410815284967673507767257878371219210847422309996103697448433625812088160861432888020660379627820008878106414123440419735821184035203622467176569277688444741163296488220552225177108742377787895971032795540452327597170498315440376357769467107424006321716566378047296677029392154185128378409365467772178459691041782784754524522049035087276886316880238566645161240721069470051319894930205949772059986456128582821267950789548560209263475201433447758844332290033539847397877535786716599442172393358770376512635690431707207847463190499557523960999717901899445105131314648971664957262546376437764132001090467169308750893963469387673651783796301306534482660792048842053405632983393753772573656844451910920252601722187472758828946491101535040971657644914232310547678493490591398300941857937700284151111724595955731251856505451131012854922629696231877928687075577214176903243152672847933025670118727952498675233079353997411788981263521594694677877107019384934035250329918983062270259188959711349518508841046365021682936386628307661592857616111063517093955695298832073572136694167690835133569179132532540700058131287384809831732540436110887514501532282899416422611177223413263464156322070263669163865339331393961871039756184538017581923442192184486724749846896846395913687280379668488089941220098130245911313999664004485071301509658065119695461290891793440443635453077968183614842484527873196479722444503471798576740192206550339728333360684343497940772452614388143540774177018346933194652061437329512685414562884423235411010832590883757146795050023518046268388428965232214935277337964645930047796136964911003105641638438788284506241942020550087034325487258202191023020413939194683146437384862411828093237255275141139400700136108460518104493660181887973545000611005309839949199934517342125703261932336079329052247177882752117220569315494026190571703171380739846874819610997878785560183053393818600305218135719745883823539325807054401161703465124060990679867042329589190793120279915588755818507312579599421408918116152740726962195856095654712275763505401441895912429608237934860518591061017853874407835061753344952065086920393997714375270888807293430571234941590505815019642288371764772875578108245006277338276496447610090328604542799992766425395079651946964442531777053450701145967568319587300163968419233568077626201805098287103543052541306730769613655476429765118914300421584113771431558681576991765198931216516797906738323242862266918199689001876406628341733253363799918256390776046378571327727234734190312166255729942210988870785926871451305835176694605560378971519483243112124812449482554417543414476071682673941716800417832661184564119119421466796816210874131837128829787400175761442069906919974197555748549427035211746802778439570976786350480650676012437373215232528128607409856297917770942069752896525970590893431321545477722443453744276758985640200211644437983601690041107112088715634089767306289055527672032633527452205712009183196865638894636211353418558868170329956527492151444671575398075247123023379140711265221601907098387965518981862855809306515871910709414913065801192353784979700508595309706045084374500804379787643286174803050647425603843849325498074660830058730637810056738981863921275391020031364514857925280351264560276275896733978031252131068841489179798411208831132799279886989362744492335359702348882182558677947297303417500706928828082406340358425585594740752056509709526926651846872769359570150170690483701636169609780112605319504805631911831888184197351813789705017934620246337899384475001635938989614717969703848222646550982325132469515064833687549386788791396310410316907276690737784327606008808634595720149140052936390904382475674576374467824349173256984151449995248963455721292472299444209684525333915523444792360898818157669814206444004931443978976099865703398980522856034418057612328065189399229759641918037520458563470494310374927220961185239935008135811621314793679900151972900113174853017216503493767641323839606979903021087714090806357704814680904035632164128299091523768910244711670183354058058647761166949417039578344611756395204225933178940167427685214586461474847266405701552837269882310528703941434589143975767980577090978034207377343652710848091041819749953612343386173844625272707185050268224955221042899847822668130246020365169716718604610644675994854589156898397289469353794832520478465011639403518683763625864978199908343042473342535064855208789572480844177240149781066670693237222826441142563330801151745022868037074648269412193810241992754569526111377709163756577978255247449970107193391884504325301779004423584369575377326926875858400247531700150001086243731011762840647105799700373193355765324090856129764162284895404831035678628097662919657156960805600284317762212448634293620936270614357515783632181214366786352588942397814085807026518800783942121596851282692860118729242689812386810072152521351663878131763719549680906659023254158795434679497179961055295077177068096684388198468859394789790390128347571570604752729664098116783577655264656646065385483193926016824772456651210726806922630430768879173209857467797911028476177729817396264462043794931580896728000999342876847987554804164347945004617541912782168349088575594720781751359016640159323887296989435178888466979177523771325876393773495779461725599141520733287908140874670427824209756718810208905102101192146421414364337507791584909714194512145906418988018312098880019692171748507803449258985037555063466580185030455680128741061539962679093207870555824609431753888674255818972120775658758799215941733862226992767677012213167272615530894489577899970063217520019473274465263947253247632652380971340925573407746776931469056114498748309745060194588676975464260694070847558913866545270221130276800883162323354137808828705082943378038489388912277673939651501107477449628118935640272509938816843634192717402591271602288502913455436685771997974387569796617189810282056729973389742880495513379342499382540311965280105483159004490585259780935718487046530779908865165108090872198241258443426337741513398409877649196231948213500808186163434891282021454550210154802355411762048601174384506269887974994349930565639334140811284092866575046336008236672446185393428074829365653869608581661365866721504522377415088494666067241173359161966287052210293935879537086125190124423629358770567720362831073629526786219733088161470220529088871149021001651244522950079852428053507872259921631210307889138248355618598445852769103108975383966057273719254749118118921943814997997290292373598499358875035807867817738471913415167698981819293080152115385855537122561114646543259452346709386381962912547210465155928088480734908981399705120971396803645011794675743520494338382288234632441870171810358655011274447842679577891555115236990885674525434541705984169659908811914343748925738864835634123039288877342359702805382128480719146848179285533553475651515368096353280410460974158298976104056624520539853342591027653937860368030871064364854808635473268554655785766653344172716195145815264025679043746670725448287202125310315852486850363796776779976113514699019492976431163777499759856559153865539916723491138847681761299888939697194745085167077883646614953047837507943281106875780129676610365593099856339997104090367995699231437724492725066774540690891615192151644465179937577871972938873158684331482167749193890597706952058065975124406737491361137077484083709124660095217387975470479313743095106524678626607089638822551241311680992837923333349551053991347393949320980966922791568826888233898943553682432697668019493429688803843429142167549624874736842424546247457188915588196563397922922754361919760644535885523405806834525870545786798480403773222223586943425804493864083650999070547179653050083549699482539164508325992125330840653218165846322519352940545627410335963702479983531681264277453423440141503174687870539162944267710038120861802789150607768475877382443073375083284361483343628742704433822625304969511802113769340175021273511606627809078867372434530132963403576309953010955769553638587377091139867923728063617203075399656438814851885659425933980671010880234264878713228630886664461027588067123206807481807877106812741640595348497330777985940442126910568932962250445407565644288746741915393342473984495288670392222712184090719519418482055167673277107604544083304900248224964660123976254323828485868006701433209380136814164126026148393499421208867394010563878900332145909052936555046792888177137898858680806431063690953327947957310597772109288256893610554628314444896835383366253498247043262087002812765776746017740600995959893064920856942586534951302341878303104217271991399699862826783667717247878916898484551790082683899166407091933167120733185775158693559929331510935146278809696118144676754983857414151596953134247996119564522637455413714170070385525651873078644322107350652141882769311923162109060941573626843316574991327565753793701033496975939246824414371379221630096115432090768935020639914204950033154387905192479955015847813934235537354161389784711815018631673267227367603776185791404146313517514068195482304620219457535258160588278553452778931281640990236542200649750234040498080906006640190745060097219449700553069269674061228293126543291408606314812890546244179502018229430213322170842973413411087352104953196225254751510779205340779557888016541458874290947435818116567374340132649548531940114111312304820155960910100849765128331835540793706339428195805549266840701010813065355325495998868678443315795764375156317930623657711156929516233913053077528386246413410823115241620804965082792555301168266881008274593106213428150145175169835517518863584964402759593342913165653222252559068376123012088441461309329100403611956424281960911567815266572333357539512904610794773320264140992314057091620878641783018937691977863860666459104470283685771461603145122549875133681118752584964767703508251937617319615979623948725117649644020567932658963344889908864787164773805975566149521980196698977826450104002589616382376496941410599430749968207689533606173385340332986664371766760519782689359971912911877488217102398718360064973891831287224660654895989335755678670864772510649686549916452499902438732020397506991100429314941454961252014854599864199661092507910290939809751114459078726581141557854345486584095238557527518475198274534961712110041779030679910362961352068766171610714452100678047457824435035694179451094631329232321936328241187989736677870135176632955256709951558722960469223006265232770535021954226624024984884686574975104341414437286920384456668519577350039370021066474298202936073412579993161683441348511591092566057367623954942169986142323117703943642776973894454814595057991242166641116591765237188376457116959219964645597254548076993094200688143756295525474396777506594991652650301526100707793652366088321012919995842803425720743374629539332855736814851166758872313658895351153734897249833275371628616904155031613942233340777106666628606911054852350146722667728633931068166576678142603598130059199862703799420336156338146275431904088720417828992119356523302392310898308915972575298943306335887589376996767791399229301661568986482010357423436582647866040560754421223640930866878712168508396584229350010787520871751871142550063044668274581107804407885111125252509725572125947683788210800249159704845625286168763979915520033459647220211042927528585623997930338810018488585113011639433192971418977717959679467692474397799581548055059967496332747307048331852696590474330737419745087704216444147847125297324920332359639212161437087023747340242309112548897809885073017590225177893728357502662917315499436357093352510290131167444925768582439783321065435446228858799259063067652725101324156125327590313897426197360493963507234536750243651128257534668664553374275737698248538408978974651256242302050980323893619096014033861416252072056920111681085611906572912764810867480684176686637931493489287328147574309302974079440509619649013080846936242920594573267977568240192456921143303046637815763416211452078086326410777655479395208844803107522452111610938979191026476702865638378567197935560089504089437658891809537551621541676360601749684173368572294304477956201551874949046078495656178480080069511957453698181260216381453938685576834267212744060930881647721699370312253713472158451780421244926683285290630055417818343487712521771478391626524592244476120240779796683053649412463662124069187487752306073062291809307195082775978634241261187905201597207669236605805170901282221283653239639327917839875078605361792226782082103948402401053987329684424318636773384939258727871435471181423549040041430885311850580115300863310396990656233715269319795110680989614092826004307884827520248354018579306311311267079139910807652924986853068388533498070327525619511024896387961301287182960269658108590308147127479307022297063787614345041196656853326167033405758469014661120321506569203142366204029538131127351450398922385606285041213175254425308783473724893429196528788261848942401932963274368969732803094537368645012461714864655898522161809117915914545055835712638957533074137344426175299393455727825208728937169860834128322058043050629304337375724372040629476381503632926439131568390283373123264832644048057225870137139354492188364389537449631903613469953918835084617538459296695562939783562079453284921585535945809333132972408178117858052168033291607387261360256811098756831939517083000334793320592044970141515738026046637848634150559134181894883339932403948526491781104598231394416114432760080771049932840035551558427911499325099345916613208373546239849143593685988887267458423452361342617620219813453392895500526573039187675177658783951119956649980517498226149092684350881179443699173015707505776931114366993187049844314446595737493632248661371616790636345825256021404587294535105377700373627719453632712157774797894924710872410231041858224100126377747611347198083911402575107006321219474082336106586561220693942609205173512434744256087371234747159677092056219738051942590857574535802682537912581147873059397347070513377821683411535946400996493647340623861152702032519759039282806697188887233140797807278968660840806358557682261664887016385916359776248273321827378447152255157724944889773598988925493551815959333318887044438997571203942745247189741459108252875181220446553586123014727487185841548399440005981032507974377197440353419240250275695937743216300860981625856224421951996072947321578554753938898974278605595867704518948404593663520660574864750926803814239967087278906637092339762391444396729145314066255898741885595682648799461291441506138224190790172714641013182435653799766765806309769594938570781540065413997530178211840018873394732786480518308046178536278588130549023246080728754479028574097894448011507704083450065584019867274097794954088102584919824420972886790615962847783053421993725444387348756281019297089783653890633977397043720176815863188208054410534233759836815937147629729068047090191241219234506172107862113168342829538009016875283258502520721147269617888539616136606322162170272234684921163843494927717020415361394340739488917801668928380107799334851145855060233222727692044024264163932030949802564407422365437723117785886465633709546565538284262488464319690623287653307518272383440286752666168374499327309919527594587917847347771833477976479149807165436857316161073523114509100875873937842500272013282764229225756488523796863351995412772489440265892169134538933087727324527792694326278813714498402454739395951585275436173016615796275845431292740053542594218368420920873827158200106319042834825027779970634415099276388503539752819244768913360920011673730855744971029038249257622043135645247468512536304452722856776712942324910751015495642919387170329734359056716468899467541851928651950164135108343859435259949167575274003148459552971404068557354282628163689678965840648985861991275678617836642362637875664535951248310498224736011656137311981922198168179164015895209244507245588757984226347539462828682177550607035091289582350358193706793611475908539872747977258581301621910424996208887331968241209257737730987880066287150267672487665810027649852085829600204558759117985894006652183134094236373666041877204024213731219974756677500401379909607968555424516012865961862402936656330659965643300218810569966171818834731337818323923354118147560609854421098012751596908585228307629780283236424164129436068653911329351669702660154849950358670980547010751749132162120918178342856907692967327644895092572068723538338364587250076545707474404253872902734009847319782176947614080269778449516052132139051530521852584026453310483429877754751832108997872814598621249325907256753572929139403423642856078660573655082744162224846466275316715072457342821438408155087306484849151702024890470006773833622358078374619635470630075382935769816424691900623133446807820331503974898617034511989823068463591492566394562614138962398720250882045527447352502426328237239589934402197569871981720191801701593256144174080904581543146659583892769192927255177205041466734463425565089959212467310818396991714397287635048656503301585732032943785097807070843100372936386592895272075660727078325399057721