P16017 [HackerEarth] Parimal and VKC are playing a game. The scenerio is that 'N' balls are there in front of Parimal and VKC, also each ball has been given number from 0 to 9, but there is an exception for
普及
题目描述

Parimal and VKC are playing a game. The scenerio is that 'N' balls are there in front of Parimal and VKC, also each ball has been given number from 0 to 9, but there is an exception for the first ball which has been given number from 1 to 9. VKC being a MathsLover calculates all the substrings of the number thus formed, one by one. If the sub-string is 'X' then Parimal has to throw 'X' candies into an initially empty box. At the end of the game, Parimal has to find out the total number of cadbaries (TOTAL )in the box. As TOTAL can be large, VKC asks Parimal to tell TOTAL % (10^9+7) instead. If Parimal answers correctly, he can keep all the cadbaries . Parimal is not so good in Maths as VKC and hence ask for your Help!

Input Format
A single line containing a string of numbers that appear on the first, second, third ball and so on.

Output Format
A single line which is the number of cadbaries in the box, TOTAL % (10^9+7)

Constraints
1 ≤ N ≤ 2*105

SAMPLE INPUT
16

SAMPLE OUTPUT
23

Explanation

input testcase will produce substrings 16, 1 and 6.
output would be 23

输入格式

见题面

输出格式

见题面

样例输入
72037035815506585385976576567028323136837609258918725373241955980315108188005016888646162477998949459487419213021907733993982706663832793734048350123632143315901386758041665500734110334868388536301126382054137741794482210085645979708035668634736194317638114901884807463448113742305268099402612092950225238603033679680641022223639851304466781048118193495610093171233879649964777606157838059466709008164050659332147822838796687507636053128073497172667636296978951758280310659498854510351170985051079122398457232905930249337854154386515370005495108424379184792140824351683344964929478306088294476032492728434038996046644684153756115510453058977774358029654941663334371986993762318112079693851185744832623219441484804773378608392877232855720060570169498488217716462849433642619825087845968852728104047403884778498172881996368391797658038627776506014105933062154819815787476327928550155473988381493983940774669424651310600639880398682860228190877119299265363392153631673494794407546594040589714079357928397959616385709859941470506498259144317947637732737096246896831977608314178843336255882683298585345386815812165083581959298379823453234818054755025120362391283648184667682269762306552984034310428805765291180332999487012443408288987708816070461321322567129970968638449166315469592070983890888654418646477934915312302881870757108183720746357808330528727913645475957243870770704768752564020788205129506795866434401677291369389803775544040883426715435581712892281737262460815686159628091201621715433889982461278160160580844935491981999155474200346596572965637725836951410140194045692909664366042669920134273879458860739385291479392305042531597573878707428785716977691966235195792564409297061658549735571192661037489328147234288373031162348441301446570213654581086102356302753809456777052422830462900750027537494261999351736903213480603358117536947892168860101649600157961944751450889667899975967172091107892139137226105003511228749881560775609553163775246390365543611700280335654243787438686332803193111275932356856619677331513932445682308555340923881736097302749309739587311325725009608568832965848019942205777299170128121418124145232552221160107311134497401835660815259366398249372723785879655658473301153979907301979478335800849191516025916676765722766368354583656559052611417102470206263634199865970153324236494436354837259457944170402157717360218611648785491909161576278106429210576466905117244313040073615538515253864697312975571579052806679414722382135552001270387587347288662192326073503842172820865585571883037855107691128300488137614014317022755626738788029854725326770692997651254025029935407941810801290978393717412435977881965165286503334825578711420201519026766318843426905098340682733667453315191544356075031299465943698929651827474074797916052748027121207389229746128819637011836640970629853740572375338031315999198271358642809236781806949659690419745529711837635738322599478631515280483566451044809250317472745374512880635850250397348207581030483862927424651800546367235448408894208161538638894643376032075876496302477451432928255060588075617467827862118320145963912911794451343022335387313009623034106541805409852382234546608904634201311153039589703377059051436956207314649517709048964061114721543397951934604820616013346710066415110405887469552175619402411072505847548306471799270220663790042746502553190381231455613012219503375822342572715072534857108270728302538995288785051636368305588538884603423413238313162012770523624214758091317368687808375550932553120122275102282972729374389734366370529139558747921078727692329186458384539526430547339210545665200339904857490446301423797255705951841349218275115279549586078875971206129076589227101252159136746076601500470312232677885900895494084357396558893250259751932671091737688245245560608793098255586751430456082550731520021847527294337572392540623998900107089708353032482948922412204536454326354877027411325586939584240674522909803576928479192242666655107317499868450500439855232009531482343429375347580487200602577837062504453199067037957219488461189530295736733646453374342380518471692465059525360698022482433292563802527489935005009477612162630912394134038858550699671089242466695308733738705064943252198444224756751124126725339764174930652248825257861553017905614220287602616131119267888788261883824604875480712840549519355635029689086847838214378441386062564624554258931984431476626422691255802247053351814153935589040397079304201546849455758408523574281231854930814789474527379859297430717130114502759123873068907861044777090461838750357675466362668366085323427294221109767304782630268990234174718921897549128403429338573090681674775550464424876921898119478565133708976339738530631463402288994486475109274049202351811151143711651163201705648985086313757028386604025115880890310142437439290052556088798977910026470115254480637556525324235250899002657097280235808552975711710823080909739754554529738409591875373393468455802554448390462761291540196951732989456405443620841126135740815216473013759241248450285759951404261584071097141108126613801161517865274573307629751542924031302200747196649611588732146669991113309339903886134000446103294426958982004382227640884594025487274163563923345021230689281749679185434946290094147307337622899729464878497618152085830502903895933320182053180589084046356845439793821038548899727323079865400599072197271052946979296384844914013245984299705394444374788491894348059488570020776105793732834278293163110245414244735309502941981307630974637053656186038352441793488576151957212140755802069348606775390605348753950730938894975544393365110195600673899798185862391849471492152222723812633439860176114273688022207788073337415642255692153285627306205750413297613204612930702434274751714033007547920124316859289974277791293149841975536114232121758548887302488597360171507931118982783533973945671799041746977767247510807312879040177241050036770523725556944040177814119114991263557103919325652553984996307725280013506468925370698289030702432753006662776203564302518500955220742328515365713364817687604448414777740386077406089940630396137626521559278138957943138169995857501688706539535441054882872557200680472045200744041559758104146327374571213307914161058170586319066715037387088696914923993636752343048977705766687272591876642898313310080779359378527826700181933276576553609538603315086296600159706373646711672135853474334561431269855428508933428987313089123579674119181105447265099517452701968391421841588434955009046428516565839913364327732442566100973542225238566998681057203123112796910634412002092117940472085274168121584807206449453410811540257081342842565321288849041307424342498892360013163148062304066492952743070071507913930172698467954348647674846757143380561527414849735692199994701239205357391795680250681770262387427184815105793938198396512063725533134757246739850609250758030503117504228021906066914289204376880760105917309925828246388816626612955466398291773899647541315996481940579398697978033807130650410825874726815504419912827904145127806301982634295308590500937561452304412897217069820190183052207639090279992818802011140655897752653690782993895096421418117192379968938339938450192435477186533421445290283258260723262992746300444964904439577541097586782312656275887332400276375326124475832569248993245482031884408865549797933733279719932011673459023125818383822793807100498735858180881921205504084916055041528547745039360832450052979694746822519222470665821036225484880662136070417575078183927467067153568186129979606414937695402117785703537547617270973833393536224796252026989607814299731206038429374598386369040662755075690645694263191727843922127827516892571909219503498702934739682281739029062914275255540133092242616510617020458293769083304758019683864567824645142242574259072232518196099655289603083420627062515354253340860043543805069796149796332968174270744236755854460639273661478015000625312807264427356834084085898050782984700363000903321732513338509997380416948931483868031364334436466628414529677155078126650223061744787130219136733765622876372448017042264187770266921320057404327024442872561788692935930892425449896273550620600995600899152896795325970954125136697676601083682434923939551084775434215515805149753169016344731497810584174600777303406030625864777726155727716667909605877476065837673367260827729700209168774279258705621603507579790806605244361251915008578325216498378815553899082782550384038679707510065466584764210478893881851724732399947633057096105485760153538889793458084703515086654880143121010578476866310148705104148452785832670478030044036646260228606109389528443457072657275517379989049191056313312598447199148059273194512343897076030851967762800149890046528247150135541230720756835059813858563608172515787975670176389666423705712983754651119248078145909409972391766123464509428232945095984443539364702362224369783282903449712948538776918347425763265709690007850827531567229928564036215216913296169248062184930555176909512032850894813051746701339121392508985084486711887479823767897067067566024807105073257723422141057005629229252781206070312858973876550403620898148747999396183781336306868160974060779809639008353915891829828446433623589609635056737910024168731195666526792217080793927336309538204876747988889888370313966819861249035844822720660893409083169305409903596868046057397397605555298118569348174879738567440015535578424551388087960838772975551208060627777778594599466886433573392556453323174553691579134401952108763327837412771820054414812044041593398039207501527178871076402751200103045915398007006425275461593524020544273295116750579016385757371527974215059844894807458123051315124758573457837439474207724067890267014551364020167500282988669816537195243965972824872363341332908847583899486898297725082115627623502881742323372347867098752736086467831086525751657386354727456212998316960467523481218691658479879622519575349607921790075014093185336485931111804905102815336644299040853965377787400681334920669583769187814703545525859443429307976004707289753227702848183233042643225163058570262676606932238713037565180137475652513336771642967823353366225912485918596852269943498746581272410903872659897983242236986204467668967425324125469993703426882540536570035649105394896338916280466135158614757388987610413354590323968941426356146928191528999134640634998823440354183437447372756931431215871006437090737696882687040383861083839538824793393781585736112233748691795184626114364047678194488279541079753365993329006017676493669796663219701053273897664426982873649982054179696206184526135632998106523061942862470054687360661693546842166645804109560306382763038844070934626036285237897365689673190384048673593017918666354211741801408465714237140927562005382682842680372997634826584905553721905385334725708181941453108690702432175547039948264329632491784947256923946833879201486657925331358972266940237370410295917663798795931548783510774795586245534603399773742013283682433279753235765652228420958238771021996419017793115970977012800204323967088759261088077991101324778184883870709007124014126568137965543042142044756367990568571268724241555979467205096253020357121875923432599429940667180115059336120684835787691979687629324389191251834314396685674558690020139274350013664425002667448650766815563586072416139395359126415218766237834005919870526630393014011636322742535614866432681983606969523718183745151016284394874463647918937323050152070411119767041733858702207313532785817983797882389359509533086256857556047947388533493668966703409356170884824678139795503203564691211219993352378247990230816477500642831199628472383319510357309394599928883640088531492449472311982974775259257333474948888039339727214742887810180594574307452436370964144126136305764316362527274460886419044885373814442814751190370041145533281584058439115244404408734389818188583359562008658210093742625643714059127347202034355649011597169596608364284509137821724004812983564510930502538410584014697087455026232284458491472193772572439231056294762703870081558728193217514164632022301639987881810143095511196318760925026926127333765438549390386391105719341286672317181212241090302096920278155588316639953275417737539578683341272835842362015808553621589825244640444683006586453727896090536200245825135986541045826648821441685380023813498792596173955311481219241723062033403122630161431575419881107532873307662671936183656754866719919459336815109739296861469232454311274055687771890799055071416047196793271068379348443263334131052741091417244490247885338942069235664905649389535233068854280326982574168019162615111918566619409889297218136517230544400281124302441162107779704750110140572904168477887666736324365699647139566625314292887711147607891507673436089428836709813696575647334970770833636408591870620186849557546720003864615792066094600657523195325701374066462063653930682014756546895392930357614207297710187731522371766793675017948819140835287436802603063794408511445628269114817077695964337280544318335468941670530028751491678001036582597654729921798158415237540110499356748651952760723277923244205431007185470666840267982406048681713621160146930059969101907766859341459695508725821753054842658584651710283365847045542926481252837908057585061085542756597932116818833781200608174360221935146929824104545505345891015128642556631171527070804505629241227793366493747774777329802946170840198067533302991625636022851847077895558901392565040644120226033913490480539887591777381334139540089229203303172442472535140014134257499939266722961326131144878415355260198960177509114250957791438155196982221973087432529410553671102720144231732495647718885144477669975310793934429392370017574241350802873386720870229330008624979071459707592609824757077061658755892762743903006473193019174940631820294606136795315636556160355530581164777376009583450066203879047155524271173051518515437734638573027776885400761634190873459238750429219772040323053052599412288540663640067099315810070033484258315691999690552033362586026471304084375235412615263431246883133653081526297451297543987577881346867941880538677623912681389636524238517872839713307585826709551095056755951022453321005606671973488375890914252704017879636936296245754946483674205984048933764309084590331818440958484470948398498068111405449566324083079828670578300642198246198798115098167136987143382428050151963582510425043970330774670885983253705949565063096265742943643188670176342840379198684199675983951180714120457379359869726417724034226860905834990976061804797120643431441124643852650752232144120665729844528005580565800215849838420516988900459637439450134139992155863885943016971816851466478683361651366689476579356612571352880165303981050807964648095243421448290780105188194550362106461725764744056586395971009231097179846442847695237044346280399208113959163824659554980529778990721229135647324471861133032021014448371867799238346750055579690236084480361306150827054701681636535195331481017319214786865158803515040408509453686257153698678941445485468625903550268827606792866627375159742217563347209098286061990415601842790244167066004710802873555659021145572470173564866043510275307413080439647913510236708827367300821966832725307522315197155008180499002296928870112643550382191352254694586396607083551689810155692083453102984882168428320565046446711324532213429493327585209854745879454975239308653501123020695304449836570500585847179591563213767663522795943639348418774097383352604093587142099130909511249674856465735649158061074025341221906764558042059057454876523655768654202216531656693093945412980966496819482558339631145708109295854438476843876062178669781602180843883699077875284171249509737731312681708608136665701851727622954134406576301187957052427101306931501150003131949654199029179975025362464779064959480382219408103839295682591188046276429689491776818376847168982712574452523612203252956864675168317973327608030356561370039766799407931612717744313770775862431474397479840527078347536022285645076743828102809856801425754418138722316346528625407672347700625617040874748733395272416389361824849838505370829457618556405719114297367806809946617484327010921372209101881776569209951852876923153085363553309251169446843438065593122679902049475511115760786237760939940376234787019507777310197382296425148736430500470131460399510383997783626609646661007056100238547425789641526314516231153178943885585641815466019665970207091391049503886443266244933973804153289450940687103740435745125752180046232392204709744531045541951255008230472842948692998462579897397412479685171950341419887876528269429597026234470831910697561388440591203147506709900982858989953203555181053624716926122242157490755465560142516300923369674514511277755769230860874310279923304443328814737933123654803897347704036139523316820306798297021911336161123674478519300131055348403230362629298049990125220756518952988363482208407431165132913820038066326566508262578083206780703701363932892639096097627217397867025519918201300132896737686375397860762502934947158942712361892789877059442858895680073539639919098993839237018808806379242353452363848082903785566115249594841397673591784252831642178348922371260612900348841927344290085412748721933298074187813532532074340344557078075503295568714943590724391101908771292748831255524709130562683670792978972199661343479425705272442669556987875121561405196713989145213021920742818971780354674700552856179245648565833881448830985363100246902770253861927931921570880016808006143629034947241410418631414236060433558943699932995050113736543608155971430555944441482776632192109616782837331096144631496625037991899094747849685248600284088799898997464378258782844082482264463263221650606594990498667105541899331799779520140389267198642951984275153227341571610429204621039657494738682032305360380964067135074669548941303939989196614539058624671687927311421631412897813685364442336189451517850159031321059613146777712895770805711063370251767447318517297277968097526571848802535506327066985886768337424224690142075993691392960993757189748783002792073402890891186994081161463852272512914195233944542850918203723106598919652146503008200142636946608411386893475795815042217802782525683465702203806501922724993347825471964396896466560934444990675434740171950507375578034643802566940270377649507056079455745994718835062749799496296131627349710713331716805747666292574320222495949042822628386925374828060402096120323587315139866269077318539343496966618323209046155908972008468276858880123357164854663874930958555566878123032519106503196183168714394326932185015686197936242335785327230640164934764467203639237981804168305710288844797052995984096503333036254150729445746435854506069562119724796763437092707350176124555529111007362091481348357161846590502604531950210474420448542291264646392487611678130176132472718103834075958215240570393632803843148865352104820878839392574170694590228538112312125054433160141810844819642174518033608136361742738431307637080803385418245511816850202965685687247988824586889566586903661352096786788156944893663373632969188776345470076775043570955363281278834572891488202761878505945064167526928066907385782534220758284138030859649307075241873060888324329604561423422176275882862914558418087121685802742220636140795638636370659241635870843777746401476025091137290007003570265027164969598803554774475024261965792380259232589056625147665961450880116039410317171615574080325535646462333586305486245663628371857793958407039507423980362311617388893734659539273661817260522272184657035288325703887825888227555922845585328098699573083006071585892540102121181250668981780161862016148571799017293313604610906129034891182306027558811202494037032633951281806751635985326859772138523863063848123611146841938253007584002386328681006802196131453121724074806795817699920534871104408026508399002963855128507838480302172912132330738440313006046079206707131566559324655977704603554144159425073935592101091474841465092934633946607837039106701849540933398914774589485315217591457440901912382030900431172824981647837040489684894840257642050145920845915095484180108074299515220226919639189817820847296449963106829783803704788792611477675906788786268768139128301749428248817805623799522636496863725541343243918389252725584262755401666902403253299681141868253996154944116753073951295473418918745152883458068373622481723816810325503071977726288526820124705957430039126018848711595837229924867883995519505678949422365257845844145817997456242207635371277853487171060937753093988417744442880717826019796216706747443187387369363994885416286863827337166004932241920483131939412375182984509943337585810104177504034443015919443193994906533386711256767478324855346969612163944181777615769154901507480917213843930993669504117287135446189663978168446398039758493137967925432341385137030907966279177881544890140864569772578118337037291893927103569759906947772698317528830742120296106990779139972844849014348379109008097221120526012115740509411311442165499641262686250432596659093421972039287645263308777342563006423628546311057580587333781192936218095748863744992947246457862483402998995379980375029886562722364784673322213440972052810002451931390843386623840345558671026119460564892477961997562520654387433581183640348437306868023454127675783267393357117993798335967644335861793140851560161994402466890576947451459635861052612950761738525462638793479876249755723906971629902973431310946831504016913097187696930063379982153766559879609569264283510510746214961060940907025443917288264007415721718828740416909648676096768230613418204465258122181711489432695938970416152986406779838793252775664625540958710390393393618007784176822810881930180439992012781318290693603816025288380503872135955116686987509238188348647070667199959649319544573309163070158889974030991147594844773272407215104738727133814318997234487128840333338241544176977810268993987030565389754163772454790711001924282732707343812187779940072267807180573327800330007194303649322250219561263397527337977251305523746622968310072925614559881463930522738760789981762327527683079221414413683703892226178967466309662303894166777999519525263123289431012659428137200154803115635799912177211024074282792025790261373610534768385806295699388337466747023691429221841522451584452049041500674797093166603752317521648790979440349885668035287151425416713679725803671474114840104655448705679280749908511025237624368269928946142034886100623307066882794801615930538141323986682262461144407911974901043631411668824130770584891413539192256612414050029298679920374285731514756373377317304498546196881132609456995649599038005614522835317472363839788802712496860273927664091606596489872011890839421107507869648586463884995178032142125023997767623904613132256492906609910906668268649154390161651213124316183901985192742988045166600252972284582013289687403942702857244485833256576446407721913318332972475992560236898760884215069568708509776911720698886220046992995767734556628807697331536145646132808473035018087932186710476100582330655467287172382173241873022367344802740678038248662979491829576288473742765790578787627019989527674160337908165955727620731613372088013924732457941903179240699897920233818053079169777623882784698621124252559787674556836327986970083708985853531198092846535422452925913410083314136540216950325739232795713367982556898405437213156637129775495863542503058071307962886776535211568018523342775683863660233755133935789333722280688154277575288671361416999137318133652529059038165406197021952765042525640653461113044746033339056308874039598831135521334689705335332857929902035789832592475920584981976876092572476927394889957555864443343512779384123723839586292936282733132361795299573453292488236622945473765204153620040410255128534073349089426088085258593005071478735833705606406151101503211370453139639491051696808159402759816320295354459818611548418886967622843308945828992066807906794476853383177882793919511301170540445786015903174485337489517873837505129719238776431370351250553205027119054041894924179394549191615626744168249934371421077108291855629057971887234678995808737814478503392691546124915796589472831801152544698530123692261300505987013577958901116487824166319809631100097000213073776392245138013343544344587886283834259764797041507953502482022606241320711645997692264415837390944278270534133014333994609439645082939185790203757268638593659158661799261493888706589658125151939019155226504576246302444951245268395827797376013645809424840588518020891728649916416488085133907709900304169352915773883396806709699849367214426193593844735525616691729560922743315619184867328909204170165569190673704280134157077414542000131319681022237942652313967189212345434838082778235487975806847204847442240647562020919590196026423167404678644868169210440144996224284653437034840993937141542385703480743767143352676582668119611170246733469095472222510524685892038612970990647062433515175656050843252362526444698969676354059255701937100746235221110945340586056151163367900545876962429777595330648996888952669458610709558203269278969774230177951131009121440687475572295404220535665777133191861618839609023299775452167697095158142022926575462919327016916421337739144991657048273904697469794587613025380305324624206942013483354776416446179663283809002371608295036602312498728008131388470290025885137376360163296536593545747327831780617655975728477941625550355454417392919403262167329006033898251993284326763179803933558137173592830464050377450853320234971420603842267206044241503549158500760356794424341767839303449299287414284758304670475327991832981844373960990369328072761967375469918424414642594591788176014572665527968544713162562390193562941493110166568074442771912488683724165374952951406695086225385687015865470677919598116940491159970676133390313265378194253378488445269710041590029158574921969723561645849298222338207892998083559933429561605838878850061069347530894040100614611619835944198843852358581662225507492086698492907154104260604265126346206067457282803321392030562397939736581220720274333738904436129005675019081209662257077510144264753255173596674091708479605022727064501150737339401368448062434363733848033966818966920946282818101688401900503329913138858252092353123515576028141474471397798953467839308102918366703153824849308181042054276304994402706482323153557975392924533286476217551086353340001296879399937870727046603158158299876025120828912817699004819858767689193407218691560460843921719477416956797559715771087571652512473370149996089587605552649811060517521633531489369017573684902083756929473533790813583851543741347151090565934128696901258642998803932189794328198880117993483273888207398821662662873594133472950802731516802288597046551011236416782055667888857663431832975518408814370180966644197270769230393174533741050834243972160086235555128724821804520839345346189744479441055135789792948494012288646582887311081952366318739059843613901634962179516447242148022593803169565994847604528852676027327954022711127988342148505300154060664856190180134360310142170786745252081099204760913020457637524049467689711207499813089742796113269120011233184086686570962573811055057390830250010668954134637832550201584710831800895520184889345385636117110492403255264862898547012843576816266603149737239083906290767461299079383486109029640269557294313212362700542745629657702544905429665056100376069146848394704269147942554714510434230269731387213908375868222487010159044482306728756434376715428433558016458020118953301074536381839850405509710508960260633381667752814567740913709045018366724609003579245249531436157193787449341619853589453628254175463309365449544904060524469078735297123880744254651815472691467186190498674111579880649808174882693662721352512410676577314914386864238474647080248917660252802688202141535433469450236273673841761198261906472319552101469953041153199202949392548778136021527852173313529668812809632334688494801434907965776258342877258317729065455344843468594973629652344560028764148616788175559626872328523509033006794703279433020575327609705327916686934077391648303285267719401269884481443727859198816507469788996356792076953983966717675554545390262661368876184877736201867517633002150939777174049689077921806406633829796423027117234229311974837110281844168071894419562969364295425601047066247811987175223653395077193000844627726655488745206704725045031796680265005880522302996511226415075221722322594726127899113776293917091445894589393372203771312804833997588158007337577145496689062571421448269004972888548218336593836282000120630820875618441010426246666681964148146817674807069685264144450866780561451831857747583999535541131180525630717601350661717281694734906681852633760949110841102795197955142525811915847043355644175963697951432645349275502066503212571466512898543572222551121744901040903102156625850305439703195420412744151024521553216189718282423827235459011187610441312462605299134670791921882839982428611352465955924239317822733997088333782277989605538410986207925071349588486466939771061803707304658517377113726825144344814664020173020734228812528972484842565794297462085188340450698204750240669528838549395550740582959273261313318284136891885044259179615958302320854635743549995022196883733996173759223899988411922532806315944529463763663706011284486229933387424010308891592611279801795055810413663574843024344524815532134177466033419031675029620283497026082605178072131843705745096918619899626423859953425210741434496307580144732847192813007363814666314531026200139332945871172839492145249881806050446935163548617922648829921626893488914291374066452534448523102642466105434841408653297040382747015625369745085861182109147313234716344428948634764275101064308009856390304269868587090316748748935784716353341319010061857934747535108854388439542560875760156809529405835899945313390068104786768820325126230961412531541141817891153885508516959123289593796686813391963924819942492443713483284715822346727833282427818178416080582936500494832086969099850751721125897848242640268267164331623847547223177333389127054489552058002926253189437669364924991306128513358969822709647250841073805978213201104476352298272472982572313955075632369508335695085252695980607170508451416095795233604392364391573611782301070715075405853584661045313563882053580142859300786100633189687884144379756686674285468799859738444891968538195846584584681665401001309154994670440190769825387707039945456035289210386260920890793707444068588619667505517898889450316833683466532284955936745982116799270636281721127932706414928529447622371445677580763626219063037992149415094943231793527443748750994055556970414505157822318484495090868485528188613695027867429930217055727537528809604502455368401106871746590500580131378036877189089153705887055160499422009949947873345843550286448480802806912799226932509557293231422624515904148743196161080426568952323036640736057664964027805892056550146410215003611034914795190878084645898590872075479068570857877264743524801000769665723900800726112684265567664542314626806800411900526205061635869343136036009499444274792057856900225849449600766195786191997587701315472532719340148759168038919162829273566610626624630654547673867784250831196768143428072752230938556769071649683927945430676689656222429516694118804347604484359191455328188799781136818459804725061813634623703917528566478060698972437829299783455533370109468277610324564432780453880010958987641903359712210257557769074874851941208191312650505383281680387472794523687142113843283553702449811263641357589093332889259415306424008136916037390770897759419073474519302126955154236931074982349910862104912427042665065485639823821351742105811399896566041223517843237458151580492248872995468444767634460710881028035244990754323188554728028140943478089064798226003498492217321890699527198913833172124467319400560644373376659988422881512672741907354893650771535033106363858948894275830809182605915764149956935583068361481741464230867972576344872628966053321746043730119744323505623449983077793286209293857328080354444774643964804745342075095030797374738356958325059389088513683332737784579522029277176137717062455143612564999116026659522440785421082250979880484072144599589241349597884764022659886545415549776857535123527014193749402986156933818520805706217714856074909795096040020712356127702339821712431035359531886611383526700891364469015978276138268730622634060608620147166999737610875138756728583797625215118879178804879441429790482006527524553534911978020291469962534208874139721918740982248436601221229864836920916224470414094339651747121835027641208241660393281355379472174831251096264416834989638575792397614844682023828238492261852292275651239662946970031258353684002789915871297906109245280660280671664173414125837962402780718075154781044567260178329597580580315786010468306414478549527596529398919987019672029896740529392223235153054914226327122196125560893528833527969723435854668215416778853328014106552257725568209896994258052792549787459137957168750375200479845824581604312228225252794053148940318690122566388834225921267051204363397745495278821415531466786115674341880330414557220468237160627272352615859224969107033949924741109360947881497500323819931307517463659559628391523827922252025981549496670430784397089436859347694763623686664393014159734888648244706064652381802439322710697611081819494724836371214707768441741842892486189917160730629493760874375713344547473446601560136133760534898444281527409585590324790946355499837291151129890922312318945685590239546758847932183514639199870913878765541554772046501622701093502378144210989313184468938050310769575227237168606042858965916193062586429238028924330328939540067517160385107192735969772938954807643873384315580207376781587189865442702333104124073742892700709243723978588122729293404876167011585995963077260491751441079990140850358956692633839175472491607783948735594060363290969108480251765548297815853195391323391419785251293174981211752004355598688303544064674895992392758329388210787205672053764096481433673696665385862289665084645798255534293951650180066666251742699342883378646654772530485552931877076505461056644899039605010399018870439554438039935117819840074853998873418231344856839726923328810699152975019515398282086339442604529937440513265103513447301763137141087260588018471936888957572207505423472403362455243359008258908772039281817075629156257094094083207455538535019154779601000710030795450226027932422592692865071160817939553458911160351558367495476482537902995002239606632391861709955865164884019191855286682774880378804485018927122872432920308565467016517331266443608190152108945678229184500376659668875016102869614744294423109085065696426604665032473026658577075756398188646362729143708757687472014942908666838944335332192830241855248006809606339884214599545820577577168340975073505176040825092751789736725255527234958132863230609792567182864509996930338681744813290900388959040755989767833416865057015122036203891768663917513310033846069799270668624937888111425721328219346302166879569691755437681633587329555354232194489134015278546470348073416945396429950479443082336135496180831486591750694114547150601430735083652937918550904622804077242760336541542397510292484803749916249023199541504523983365959843489581112079329793183431026112453411725042986057585858973784131472646361571378047742551829442601088716064113930804280382338719117109707331756937387315860661775785878511808594442185862948247915594367657728163373071267211904675122899863899348645994715017575007498596895939716515906609357087848809509024295868358139176896793883935857479075023946055855744044547043092990692908823310085789133950459860051562344907905475610906163042079225652242064704365585193729126068726952378841279757489751885502506193450435574549408395676426686418873828375841993742531174754695473967714491712288451560165725364870562123296635572649785457905484650072613286935211109655567206691690054582177810921906672395154535751101530212316629206658395949534657900952305069901768527113267842534859089705817194968979218902378053973146847658255044186908455251778285869827862568088898634179246196693777484832832712797315539368040547487091376560949770226364489433373102232808024094038866324269727237572974786487800699321760752677544933331271972033187483670857702317740869286682910858325320002433200418456016229305359181183659171312459080924854519429858315252485821851863341922186061005520988573858954280302711339541016214061348354774834207341517630253979035960560943685349692555602992115823179395654188377724506907139633063192777395142037687589292388704014201132668182872520562902792415058163642650859311588770171312137165429697992843201291210363776602157036747234574993216263532393520223028043410821342080555786048082614610974176201629877355971900181844851268100263342099887999907281698914724062528747727626536467746547132730982989651535189947611267271646655145220375105099780008847101798424946195625126014047021734005879265086549061985319013498010707644374928856247998021382384374350787392389225914916066394723358548378738652343734652281975221387317300385511806461612909542890553485423194484043434626772954139679143673023747282645444652075154190458782278297473117693022539160236206653472111732613917383519532375930287610985358769429791946186879829701001538627791760076894474488370670056010789878075766304764721801006619909817816404045613295496796589470573264127541014635194764634791950276900665986341163551135514829959769845334180496774987660043250336230085693633530940606923260295048246727203556740832626163202908842636457734501704198704044566340823680573026118727500926592158151611679273805677629634485790725889066185485952936011659248422220148757205712105938094930982105311107027618041834655249357789432662374257273356943769614594459615064489319664480757630201647720227785838797437424387429703477591481194085920872222164064501472513832450965944366595191563801074559796002598926595006372752871436427027598382061583220417995050992827876807123483825086897505514918615508410770052883662614165779640310153441468966232415921699775818045489755564407660452743611312326887754522162058096260553807249149844496623820829447612223949053957318170672664700594716202108795447556544002684753324174306377941899663263453148473982532472186387243772217621690100373812030688503890213198467697636018231599361860093423479330205826661712878175384748085131353937703997106013573149969592847131011302212014663999997868142876177227570772330832741447253562179023990988341626800945892140570472963071817170852048747273220489677175576293298414398235677625804522079690949901352185842526207769168259343446791919693178718406515340394830410623794101175945897333384987230213584916325849329274702110135376825248091695549696066409733260175811622781455324943793966204431113205475540394719008596338882193443103689918309430289023923134680211701692444697638742254789267481771832206767643617864432478329496580722698584847553199336470332192384546504908765295158097041252490167729119107739264265279316787996668791902897733180609750620519107996189570244562744649903956178888516663600088452846938446153943715673134162907413206153788294795254668086496357780517807946315940329349980816706967649533274980232196086260860656343496735233259788508227413478332694277010557425405320083322377637086987254909749493491725263948666256172694560400779864582888944591401882438490689886244642439010372451896656924803449103367460497762043638442144698520856724786474870165209634195147234028707364754780322416825550495109971828395965910361965740980612511793742230744980098582873034217589853299485885087165343848389039114755894302100016572056906039042617417859089283152369270895811005846723641761277435454633317447941635999387617570035418042796402765486334297957970442546737598766206851471498187151527490169137879456814955985820072913259364161238912527036518837231658784213546459801526377371306463253875351116098360909757087845180470127248047883895083781688196345558202006996598096385743575331908738959750621423081778347872183958863940122267587984910819128435212728030288158846457640654618151324327375381297835829086549354418843800550891885387487233188731538838093395475123063789017182468241070600169682180489502331789503732914141129359319470903273156629912336460515746615827447752314427680448409196059561305072415878546880852883481367697116559257221021316515153201960693260487112216347220735257443624260409212653210232207842708392710053196352803826248944325156547644156783173475200296938665222906514104523081633872467524048450313743317726089386723777304149372669100992512660435922754189218597439628191577612115500019132104867731762819772005785706832342751644740141221443011703496843018374768975399653976356617591814851249368099955264819602451535032356302303310037430600845210713971721054385481356316692134427714096412862523878531190426068760261004402985262215356519117003242554117305043367092753886506123398901662368715446613112962777028029207643415159832165573043775579610376947654759177644940217097978138724681077186860455506407315230222892919639235382852612656379313792904079912662867139514143276667057676588044221056139743292858575442112116740068671765086483451197308530314410409575285943218327080935196558798845565052503335263479088655624420278776946271017366284261735397314213807656778506356072155705448189482449016086621421756426192002940184018618502846932584495895190120833815667953547925686166797931114518294181468370030776548451564235074685853682896883659494762188805576273753954752217188755295276925544031436801334062160609326911697011154966091710926908842755824548683271900274288081885072654231099646958275606604714232719162264348065082642225808441813831277614632130616058558503904489539492887010274889955737227968811952360084313713801304226212025330578877200793184234666280602337384484124306614237615555515968699357780312903328399864437943024150028262452716545623066980205910115141308781455120548368688199103629979079117741997753614623656120237334557242333228601073359963908932587323778000161268813911221036497329619439745093074567800103774406679533627126645091871084581041800876138063929439638937305409892891407523018983066951611354435844006958272272578385446894449943344131989308587516162962308312669274482525593254082370532563749696135509250795405635908156542611546216143113973668150165931222578290026639947413448466172294773512536399384047381329157388955406880411460066915049065915710372160304560789570285203994467615853103570768626746488799355319026336684852724511359121076700802435325902194647972006104006087432964677886563250561373793492357545222910767002370418987349774451193306574405932993984730800465776126985427910111720395398364034646466209192225518749301137560147813453564008560536766892578582485730207607585539127009276056495070090981931406339339277072643160182282575815478324561461827163471811088582231283631097171899359430831609024143638750687088913876151441543080545540528526347926552996052470625191173128772664442631438795759461598100997176720905358140935084155968177987589791228262256856473980707798468557692518945540389798978869807674433804608174312304393179289146501882242379712242693903041955708086223650853299578068364479261069814171456707754770818277213512523132290190887354537667308952324859089290298923609565217124559934864983915727389265987819467350066477098562413459147049095943949818537586747083909904823519834937800778364373885777372835818213115184121570058748585768240383814624058115132217067555692822134796194037740061989664124508833202034457153252562728152732817139653200135472838102930233634469544866170847122134650875158714879477185179003517192171606698177224153662784355077484575334364006521009409835552292761415853274048360200403968309577739426765390328451411009030287971015813662805662723125058078088319812371653349731246751750550581783922200554427862657922990958327831061016480488643535744751803589695998768906762017503101381850939420516508274677440950000295280354525275014783647652865086524771125663396984260956432942516195509096527245861166722118589390863972546460177585357580538589788075251190317065712470625695873690347457480118889058233902481941277912682895606821656966436720849743921412192795082778333016210296709862281551261638684005638877548444662930276331429840505304358314790296233099133237407159587538910251894313248563233149309073076093194825359227570107239136643444783166813937716927660574260706204712524819882406162442088070690394546157138398216472672470559780165990705764785544011270246426434954126614104859350487522366131626060821331729676816889217830913819813247321408191790613418409982094410364615626715908569529740941502858231793597087853717901116478676699879348058956459269390139216876955819816934579497538561784381189680673466834795640417787146556444603169854445911055755669237071553879054699202309894463506216381660687258179529511979429152702079159894733686737856798905396605712611184663248143725817367129892063292858104219511294020965844052391779819232103432057345829446775075158273515870305251755699589016721750003803853670745316465586180475707080565843027570438199927976746464423029331200366375269186852491165687512955181721469487264726852510273768499573839079725490095247486754793872176375277018039755614201873482691429278179092169752392481949321575492201320769836085445549772821382822977243148966400086156558689861381205532528361389226871841740198210983135263324246023109406615457445981407031477079502764337092766556626529768685635004457166552300082644832690275998355281937379578734339700940539595013429186033038482564658621592226860778594009867223601465837289865152103505604458918286089729615142552034695250053893693766749473728953635150357857216585159007391406961496723418131002529441300541159509191534579970144008440496722774813168635544758381445484188576957465220005492532696357965732329285918030791946425071969643097946539552521648382000126382692586151207471865815016258188367518353576443541322826471481319292047617453737169343110278522651975857594097705650273210395550869355226735607293410753982458654891536129991632175141751929984665719553442805044878946248158815318463839212036413528174909781422588863814210851106133523522886236225626049244457292545019497231965629245371938657122845797630946600745272577452166542133807011784958408855512931785019311022412800870657319824902406537861304507504779522605097467032028150820581950024585286954858072917999249555779148868773151988379080226191861885884651279587526546789408705885683251590468312989667707770288967584635683614135011783752702798666242702295708409797065455736793627810041531673564581228711593857850056321680966534657720071586481508331591507250847719819999839109042313463400494287361480363274390721079510671219078316374811453425754707987038135189736319584049524216905628733473366109177774626267969641636183430070107194568387295159215045480607629539187137857364508002761723705870700623428166738559827912484072264336679707570437539240481108536969848910698833588622690901754462546430619494962724113205500169333177148200626011532074624852786195031074248969034441025700900712335654080077090454856329629612847532050069780845423385449321717662868196264368013561307259520589987916543991012378600345229577488389035554676125185239771720689427642197674486906629519903172036992431318059869523694585924347149304635632520672953614326750666716170853037294612073405292250151760957570200961180422141598503692899548688877185320556807659239630596374472300035080963648684747918577936366469199187664742139022171894522389390430298663096129438537282442592537776635166778831915835079350704481267773662458869544073208299839075974430675671728155597536621748435870950627090837306259821995948727733707506701651277351560276341024594266158213430397445683337461013569377218574823569359603549740018175899966541027974834180075378115916825671775782175806833563496107082579669257496277850318879400400879748683624261969122101171132119305173458976273305727836069492523132607694333694366051777816161494884545191570908733020903532893371928547815827610214405870260517702778659351122365805502528781572769727682996342845517790860939325599277488315519263064060276138688527566319871099317915953766626608356908197218360353869345100762719419428161917962579423145131514477411427611339686741055798041498239393357610590464581250257496411650908669818856424641876537371438758714627625277854951714661717702575157910659336741034493896766945470483648783379682343624291807574513897867395275609164603986653206705701452179650878239729505827420192258677653850875979929613577716052821506082281780893956525206902304474284602000089586131971563715372900383803011261806194262764291513764044577996096917553739379742228645302093612423179574401576720884336767021295803970320690492472128914916057538045099369500979101994585402188982712660712901831153503246564374547933124426700925297722370927492195529161844856597269628610450891563472678073824572734506663842998238495413997374640092878252641794556207797736110339529364521610365915685570113346500456811192121714404172113447399335246557970263605143354828750703229095994912584018566148215207742761462854224657703349362003777144300587122717487713669169437373904174117380038909395403468395815225936884887680731471739560151896581180868728913051344203330631290420627401513820175627170335486649703465517001118690327553001785857113777699702564816564896184862593182842914173754623014822410689098492804343610072595970123181303174555181442670929627851199522059606325489758961825712841093418581113683858644949620926048689659773251636422136000293899878843912268323185399019030541529523026342104615256378493677722696998645077748285832692259923394003080797463301886375590603144564085264022372762311960143477825545071694843239670888014361265912511690294630709009000766085886030319369944134056969055855355270202350476989597285180877323940981326583192353291722701433940048192953582939258542712888474490420727097483428473976176134695648832551591855824311041684244028813088139417901332758846282687668186112155065101578374293683362380292427926756005864503863120550671834738324124820272879313568528721326178792297446946877355100994346984055296162856456381813035569157575204910117052800992495963180858580091223040421732183890100115165186339855098361571151183104833453286181703741011226557889572837157095388672873198943654503806533534272051259868865322704084857403852359405383461116596916303266541996966616974186735548178426293392008862579908593240179141861102524600879790769394323237434766140522700699677826250776531128734706176147224006843921796809694285894610453075960274543423312950649122168695283420806141694089055188696465105540720654915313430048820666406972164149732465818014117175935754961305491847340143576486079744431583242326352569946505104101746015359614469918802482115847923526261444800792574944476950844127745089761741110814254069166778462183259435569740497895721300366886102267013910159030523865811691222458352763778873845323825286329796823219788585091545957477221300905226397165866911406363015447447989620536042936008637168802868587761716410804424509215027204372048349982085659200323925867295611465563084569609633047733575048105761281857917882387050407123964450798885776684914840002717323770969979469039542946146639362831029116153288334548462245272677970883519037062648484800547904793982253377295459519110266987678968185742661138389290419139096802942416773008936087349272373985379712609112927527452399727237884965228339541515251492687310219627361106070323178419678321644726463775304559866629899841928590358828370025904798697574986936163076823028530121090967575460287506108703776799910928906444564414054046314085198390180946412054779383016434944775915209861198766696197733347937430172359688456235045830197080955162410578544187694379608527744352714961815426115764744798674022313732013858481987352943912416860333564941981099726131722985682627173587877176370103278678457639548917814624271591819808745428574387078752190449532632608142112552479244774710693059549556877242490634004695754282136381980607958111734123791339572300791771668499875207598833700140411509677537616156036011491425768019908951835670273085346588275108290007381848997417951702621351373473134210229273988380544690849189622065198237527355521092297125087414025068722670432553892706235278872578562730975242741013666384181551407692899536700022418068608053193084383448039341504521591396628128556100926852222874945076958783740350665270493872497096802992266403560207248547886708390700046888456476302376075945906996912801646304156485003799589301292472568410025685196687638778899159515478670259980550534303314229192651428765854039082614165789909384556342928541661834460048130069536170684658916011458674499597661200460845856457812672231102861901969963660235918477892123301624710639195148859898779083544606209584426150245147246347793375125274736541567204148072763012524353726591847889223023499911385810104873169848860382643634962466706184512496494634098373981438008838489650412005606466954119131925985072016246908874662095209311001608032676478375934353976837130410325503172929712179687260093057289831368580474881769697618233974079306256413013311470163186796113044861633936477617855283074605219618783298145009706246754334077231039578302114207051648204701625740699750163883580665795185240944926191137417987043532240977961685295528281179875149483602311679210964902231111837996576737897930129731955366471162910713712438640544731468027445637610903446203487072219211957443306506962584822739050174481225788330926384788081188217855990768511524154734552962903781400499240613248811288795115506848817951014358331769551064834610421119412868601999044173576158290501465943725014011650929644483655921417001504007172387243601188682943843106526255584400781099879184660272824669437079047348555483041388562059994992018853800668194325391818937328720627119197106750290693486438213475108219040815946105465101152691231254278461175007744374419871116263801849976776452000563640754590990076963753308508774240337998907106714280712582582106351042032964555205476657825047893227623149597337874739642168079311374808969615312888942370307350488088086269701101918357687513663484494310482592914961629683141609068419567939242838903081397457485227295190235618520828169825765219151662715478242344352357023576681770961600647891537984607254834013021393558269414302792419093716038289547563504956435696828391915933919686138754399170972903195810301382997962313423540931342843883213424112676938482588612897497918372913272886836384167568408101931142769167752400018865815845040375563480377637840746249934550789238898825509415409223416883061104985780330493933087321229727958558147192332747245009341415201288014924279464390190046488900248279763183249688919113872674619748814443767657760674251610002198991455923810806866201465677808807963657250430329969026795475267273740666901933042054843393039878362430243338943168742193499578315870814367273581585996356403256755766393110661031530487027564460958897329387681766924628574210436215949099088376998352131555818631345256174104993940153520021886131658497107528812859401406804610795754467339132327489841441014085883249183096550290475539940341149473503033980121261724818165279338811214724746863957658666384539520644036400308825581347188531785971594244495379027173981966057844923449800537461378789077902688270736947992968016106016926106125219023724012036846567151981503247349643366560156003930129291815551637083660897597092006125208975341069445655304223445068700500356454318973425049404920990272207045498286840557517922121160680506046966763728491483697923003263967776544048007167528441843369778665242948750567231105481730909798412828803952897127767061073262006218218605005927716614941387589322244226847541432095691749697851096610315289332753222616588563684455709227352548880341121979458823693737664938936161483692567361842315081494280196236716194020235466096357087018854545354759774242141997797618505959604179267613847038920691641158218647564427711634549508884211032117865438121296960832812435568971877422455786392575778114680699786640986456005454141954312573461125315972794239665962315774130443206714295611807315877366899846366057676140242075552419098094632450119025259479944495396316091436477471116155060601450014833179746605816623249412559770163773877637138903447500755723961550837513448430794744721516004151356107641496585179853124727154280810777848498926923445919854292206573267208023635979681568997417065503545357632232190457468229128800155982875110340597455278412492439120527138182363209838879211776610662378398844175278357278547118395634685460907424451108175018947422081639649584949271201702798551769024008158562781823904395243341465965702658028430722162906232379087567743767500585813023846195296964958426197277750073579301822649056091720669554573023253368524639330624881836414836354680642007153315804189720326271640626038066327809419404646264640822447446098000943905379117771953218164984784988471028131919004648684074473081130254067150283969729327796096309324743788908494486511490091954086783071883935393245396515800211101400708093552979620293974207519879849849224633517736143765638517491308440005586259865432115269900160924157805430539074416232125133445870553218561491032655187803149649926448294353469844355335861955849584325951529403061596293380194044696403755616142413342892821457818679946728342703239619891256930817914506530723346420501747562764757107782054300172124311077463838540448646298405820571698337620697841727556518100357418542224285169252129980810847888634076406015162595495776772572568065817731267426165634432609975792285050196058877632087267455944374091020926725688998635672397744455577861463122913006566997681226704682948351764064832633314548338908294049138836242725268632568560401006049025661833581644813871831031657759446541129286987276359455730518474258660500399116741909482655413848926196238149736028988253915201215824747573667471562307908440771276662630926865234474366121218537114497619418231690026760081056798339110272297657681577577973562507530757907764622791770467934194067034056922307896163231925564162095710304656356192715828386914123916148624271090363066006697111622339111761160398704326996809281634578964070230202856565347266539108995312437657042618445183936169988410973651677068102632957863771745754312691309139595900688975359044678059281114385076036056501707365392511644373872696393973245993652903260617107468218527061562847359698869699556379342048316823558738526407453200167561425207572645497247904427553239571011779133995639629293940283432764951076565040124253767897133609014333119836858295672571306668582115528602209338897064395971022263938890041994975701131850253491784785801990510080115400527066357935416827878098220890862880415308961743652751584785761169310942958143610105275853342488311528723658111121878675930370431504388963994009308365188118153435083871160882735791401533560805314991210518704273615768234516077489822873853290753452275829738698570758265504702347596299364133983280026789179503274924050495904424548316256108738142547808319961518449294807992716982864725813996933152764454647455654226009328033549727164738495060605405569483937801738113172670751493959119602514780723030428795037342575437990581553858910989484141510254265223378885778767927563634762388822360160837615529575861359589581819046041922484534110465313293576572396488928573905963495934493062491039123182595291553276817143382698522032382823188405199803261622606900350755073113844737073457829532767943442973568933660127109072241265521729275260556780591620947263735027156875950728890162178897360985802789296271270406813722650869371561781320469719392984142430589645933087254125056365981346495571164692419851579125825059610177404885328223671593277095966295947546098941400579199818516456942926526530882959880992845480206498343116106594492691098756788647473785615266625116415291981945715003767415098801472293504600371894492133665667724244714196235335976201597253058694266985500154851492541598013872301199641778155414691942843350882991078365173924503809084311699800009036573087730020220663925025028943700328294226240428812315037044424658578102746718691842365371713390368170546147128204661310503832989906153797509551017350320605814924631912885730853880812973486899452865043539724123104494964743611197614297161573014555161738009330393712449608929596102296228351582956120282195254967106758784042350962112421146534277962742348893800223485591447094702196433214615839177846902813283503368881362867774670471852202574000811947346033691950037457636357560674610233724019032070755680566544907942446847772199187847993748350267501187176395524218928592358374047385195744516939951703250209834564395899241056043343860881866442874353279594290554130320609245742177616575117184697859111247711940802659160098470465398712605011091258386516455693352145625326557894933584341101458774456089854863258527183396631408853674571157782735453002665728823382769995663148605105381065847378754763242758538141899227701769536924468636411546827749542818763576112088829995777574448821627296817235010121609656010024106028609352153377457514318530040863625580918467202984617471697674168916139975896396957616975935571364277195796525112003712408155213932843513285999229712273090731024431884103804746837155676649064617995428900306289117874461487840741203296226866088967515673650624066315939746464450103790257231838499104188944381512981138953049000120630624372444854179965581691603688770309664259868886555616778159126266342989186986831592191126031679413903833632215587918020955033986478972247480268159983178892302941058474143181196006335434674080187125651189290012757210997396604319094103244256423164253194774407539941496911585011457976365907870777936529897391456145992684472641356121100052129054573934691067395917040347769685252877257553204797721956624684319796431388628320092209061641094165838168251283202622540805024643248254191221562934381391094770294029651873949352883132263850872296451550076901401914362867876295853120127940002196842020027859636959183189109520126548641556411328237747977031163920806171742074918684592407615129109019103410003083553993856398329422343806828336701012398949791844190600404247017310549556425611243223463887888719865940585166482724080490178261147961912448299683092233262288325311424899730808127572091221353086159758643823768635144488516916543629603096584347871510393185859123004603261617505778907247725959289640188269011708791745439926074050278216138500302676139254953558677619332305535724337384970247207098943373849521956904313338160889695024539481506299640006014012293795270111273012198218019422862133870982221534963785606740028432929030452707194664145029244107591414459949678247771295349759721862530444604638327769293290362460915989542925969735854195153590583393257440148033518220755106375604059916130155436550525257886579294307920158601258220948828505626057951066036173927111106078730455142461086713205049371178953910746983083875225921879118905426412300631918450254554675587259912343428541507824401860531366479704266230393275817226279527174367785509858187860882430382121757647217115123831812357307739136892836767272575988315065751964555059627357526214047563349437004509682427399943467344770833533206174338060276532476065068533154973306434651227484390816971407894344989566988657208209098148047482192071969746668609628654561401830147255329215075957023699731845951896440361191888600171247531048147901060379459530767983648964789499795934892065042932216303773834804529200427941336687419906491971543486620545878438301492041150506065847901401474526676872119189807591203664701353040840263171271942292658241398892197313642762076305762686736737049972257643853703471751544129126015251115722012352427502134248861416729293794940304176300934913074848798189796936644294207991290877866874875468222673393202321620317916593052104383713043598652985697268696806454846372623601999651389260862400004631025486595663993139337697600283697156707583085310444105085036695302102952452103240852371104765415655062209749065060310620218751216032465439357183134399330306549163611156201911254805768090645783064371914305642123829720707477803452673003787091585677869517219554911213712433883360347220141026710843414687987333580212448570444628961441361115665616053930994358347701069470957628545838857404269931357296502276220704809741267382438479020449081163765859977727990938952907827135621107206999788781778088983616299501423132003803192110000393132282436961264566895007229470793934399195233689288000923080151645076905628918858878962470405661370980755766873651567706076533782972067546323680759739336201599999115161715076271166391912383474395103294014631757488592940590941553802303766051991771185436451506088238526342733832143988543813514539402248632037451762636920591147087433396710467733918830089194814887119000266932453256556467879559480302428231478023878737424591439690834878047041448412186535800069074652478484548682800675365364581968336176520600800860518174524830873402267447528726778507151754043506854798440442311392029105721173778148194158582613815047529837126051060497546927231735707682516231339508254049882155627617888704057009056752650888552433132104710532637305582881658091424847438401976629397876953963205601545515804586646523139725047729185858548099673425868932656520438134090891978220706711976749884818417426515347437230447021121605656310172608463318453377719091558400437819876239094543216345792552707409698231150737250914686951333194255290425618366479037644087319934456610202250817720687105046951628482422857839533811544250865147188330515501676957222647645250170903087759818404228613577015032344664549620590115996445249772108585269123292405124968785672084862588613032403037633504281482860248309625897310073645063321520556588761242103122787485820192357107073310520062231191795715162104804435400408821160552045551963453818558510515831186300865174511892957920001586896627605322774875262967187555137899572204403800639847765430245946013235805108461375241716933647261796276017853902627010623989705096616537214726290993955453545264947591434039658669176611187803210189425128005081998551989869403421386098891319409486597473614978218818729071923063922682145753584467451559673271585064280756036692650705894112382889409586301970135128917328776285327277808015230062875730507345070897500521066285564057020064782783745717026944613048061069647016682173107714175691598814780604464682294185514383455256946107575053474094766196643188094816783389848369936565331862881274943493388236120906531840028457864103541584117317082386319456132752128478902843763111054119743120554691403609177619014425411923978338600181100861762336077261771626606615947055144607404442741803583366061786510970643289653765033582198288039327503023080556179628069087813847718022341398228310316227200506277279523885609430772516438409056876948526298154241604440292117017631684525332777037773724936959812982534288567283150424948733617927100820898517824197583578131843785768949811505936806363197291869337321325677390090638247996272227982334812543762755892581200442462615016483751048527787020064522783396134419834808606300319061430889404167060651711561624540686684756263989056329476750206474255730576864081635875670613250887370327136856130719478659995985732996909706520711951716716426919330143313965168353625298052644899813144752478323688329335691273184410087254388866829852333653963524525570920006698796129507005358732481493496387356970120840578341811950322950805422636630987744825912164371354196351246434420824538944602737369906040685327521094899471844881793509887332396496997054140720012562442406837498207102738030031210674136911681421344739632668001098602393453796142715679167967086066217884155769931728634542262969792770106784690982065619945353422791732502083002208960076731073545648090210810050069068631769315071801024006323330458344410561160260565077800355320454818876103349428125827054516873455434166690732566250978651238893548174733709265882102967002801357166559032950750162370071473801519485390707992011268398635116299238789761451874900059833346175198187075110410810137210564481912022749470622625830563739299590094280248402874570538803043902223843987739916596549531936248460976465150063912597642737571510529465192128631982867252910283468304016248221411617534047276532572295821643787070746340169743992311013370860767852498625691900134457885063042049480242701813148793493190516910858184377768095164625046017609804614272960089797169863484166249722149567586655383561821537363257784840610285913381693868594141810216477495119447706002964590973924582453064130803733141710700014582939256961963456092166466668038421476264371646547954510278272046483201731015869666030257097421169681074177666724527563364016142223320938694288642498926349073496748032823464238697402056074525310235617174519370330567185739392516099027400558583739477963092365976090730886854320389205707153862671766766541085234174674580978135522108875175710147714165374219962194271711282217180818378719807046666837177598428609756527630354920725632383355116381936991146568530005436791204033458060174740896016851422763178615533760354435268845189476985976521817142708526320140007817304158269196666639293209229110841388326345924787608048181194390648781337121519481307315646005360138491305476316668322088618447472421753400254940992303284020967229397939964370460800148763769582633527425172130120356253529699084437381890024048373118483554474918868149161597545158907474121535531548674053709415337094408763236690450055655597020729482260683264522739294744656841089235416754427690519213690487507722483079711493454597857117097769029556428867304953750682381089101056628424456843239499628926058253025187722419752894888871606424746354237790687076676556816650024672327296276995762617290855860449671310139849345808727824300547516868181088132614696398840004777476286516329713374913917119898556374945508799038649940854855610469965635605720684590888483966113229784575247208867967707216949463551908445485473369151092808744092492439997534872009121611406115374730631605204726668921182715264947922202735307183287398789426812826057540282912530271269412215498005979199301854803220183504346378885904954232642266495775302951739421039552948186926615265682975029225190586614218879318096483997110649810571122022183983551140873839043092124627845135610027004610736037369722628363924128851532707310068953325151566180285330701454452477701349615425544297360607263410302536429164718340296259075518749114078915388414453008907770765678376197827760325735747536512292321960863731994669255101082423658864840336725393238961061413899675282437200731276374491744023103721184817000338987646910314836320639130042077095759660894597131294327523753574071037238687522664098043518887494519253023075441862986260248999462598810439985384574210437236494643457692882531990632675310179644101890198344663928105848976032654753782849227719541255243868233721229505648319486501327633678241373445001854992544676351929743092338038135534981370228312298817270176119784385612734598737738467695406696054518901650444319375144687446073725545803149571620234815771488773427029335404776890491179339328872794648188565266406725878700799968454263241887647211708799870988023462998096950903073975074262065633022853449639948555072499817590995370734890794561368529602482671101194874865441579543635893050493524904500244313480743332857918481003454580134782779024411323263383839489714182572694035279717246649799860291548710333172063899654545421640716809845352679170137781243517509309505042220359563253378621691752802408842008056382611604785970352714809201026956340402000899844338710842965870406479899070984617481475661149411278168067085646685744200547600827865864692356016780122388268243259957336774597168392640479515850958601588959875606981150003609896678028014001583494519731011122789602415817186725198264375487888748901512441015845861290059937713825996443744249955377392296169461081825111858953682312861479328646740481686673951115591658802668465403581340757078549634714191237779248394560299343236729158471360386338786935860485277214052410669592383986782742470393710971047118349859427814151382665875099922066963816799127475853443964057255041342124138806581147653059796213457881495395175400265763644586043751993644353823049816102570377862071558103517811895427886833721949316127678469741403103707281675706338008064030302612012952010782546548354979909383786291415685939796543140032290561180454112708699243557783104270581748169652411366833813323762912217025280443599303986230807010363266786923202252742395377299547863454368698036500759508230386083650087868981531738988923963682147345253061117400290192608087213958675101414184304335605626347752712442585903336999451213877764055499840350905504661805102180505366442497687459028200731161323879635804565420632474468774808305261741419952137474840819321153901097130247661328904196240557867169092049805947959470294252158195096400381897782721763480627436136078236317215780876337399164799598321175826696693437388294896745809919621282843406347186877462142365227575751012948686465224650086521578065497803661429043629629502651678117017475549564828981931316475417318278732708300100414547305958889817602094024266309983636341121332215424029477307297673417542875116870275122052873750093868057789366404148345542020241620645535691351967792446868883047024787248593809698834620509025940338374146536616511173246340845890848582357910781901445072178887864832167080179469513132349127036411848558885724885118545457472224328385183758338869813570517751194224762359382180081340594269608023619844792100100454403852812834195292681014224380742339532935356077467868212840035360435728475305243041082378572220474948006736462769167514474696665251172777513911840891230812788225635822795198472472825007277229005589959488337595797507447391491961958897842503293963907838907293300100004466806104615590400122754787917453254066527088248550747345038894321928572492246094280914748529953376145597031662282383759721949276082651557843063413910983097124924209577451977319810900422144758171258994091045126338370506172281338128559953667291248229156577802724791608166807922876903551433607399459568158943340930417550143894750908723710046250491178484963349531423994100845097324382890356201463983615619410165703983118860929319870362425752222732243249543495374322786551795998115649895154881535934681753562595071272797497763388946233781142761009300241218766572325896930328429379503746515384516298801035997857907273046594065896896101612617300249546125744425034846119370302526491205099433956531264313463617586808329462777632978301668139009682634571948623010041127932134212495964051033435659974987313846088874292307963448547936767241072079719971869103059752541387606813087194472392899886040390171784302011458607088169893024131431861064329109120936817340955318496814248270382308209943930761732415039979917467288384999968361724327435358394233263672891649911363039764515040568856235519402559152050622348396171726477329874982107381716745485557424358356946179017201885525291933690428212150071991091873393698177431265492499709110297849110147182408979138111222463449372317225468585498521665034378226579491137907657701080683032074843782807818585477875855378585160460840542522261948646373123952198174259621859966950588122438847657194056353242867137941114998986895211066483699322219442063971750293599430791843294350556163230589831874866962293848806712258306491599297884225629621294540572133212331331755437500741315564898329872107392838810806938796196948027448197693674654279240971596590266095055312990549665772021673901520326879281255323811315403995069394993022169803284516088599025257666980327509847391121172004721689398550200187138440550972454734785540780929654799766956113796185739927011106575663569170451089574676498720497963339449606804784441002084025933386422512193883227550978582075426270541762263505572560330739492021375443999249996244497463332536883430749765875791133191634000798233227395903672908417672003272197449499909268788720609939258668334293384432202195355248486264297848277840262591228973013650001087825721957107441338831399301729404108293235179225308448390484654264016659168301833689631809286905526183221151457735720000158860313951475502647343015337344420654961308851325071584217262624990308439444778596656199815080791941787641120171758568459279248332412399623640837694631650795840293743615979173864427505684369500974437945154660003983463199242459095819327703005595861270317754754237189881381132630877038903471014733831991204487767490580040141816192401523191860729777002038110041282536845153126025025441252477697043649264579383905641766216995892176192770820110806974897406117325236435618651831651152895726488104867330315521686711222796354376753606749291570173495864712349026306170021479616977563156380284035762996134297084752277806856572048469192713432807146029626573798746775146509701635349201851340324913429279360455189220427754798409753773819076614538792760141901076566877076657311302679805915214193770697263216546724826318061770048027965288033737310973999166182186183621537022773982384290101549259514889703980578928377680754699862253143443693605542402678259136671905441822393867307796711757314625381584715023975844426811544106634005686308605182654437501913708309889719571382567102874187679411519680869998166099476007064927109069347268294923082894592205915043278996825237836217996116620334971962546099094638327140922987576663119710939395347253276764621307830713007956413438767354938280164165567474245589657314727758864202978816430290355008683578356096203106950171106826906256093815735068953982092806696513134435109735523013235615496049372047558641413716259712271878935359105971013304922003241550345980093700903455867069606971117927148428638975473401561179402294910872847734404864912339471691214211797681133739120375413574817468838598821196229558010599271949024893888219842999813872991285189589177110094495677974165215824784893704826475034923551072575175856136830479192786031359618325801446249288218686502637790645327481227157098076828012003088722581813620341249031954355683657926217591826960095401838318986678499160363961180920215067975744505721778066494407720436144810480954131159999561454499333916964172687712904062107576401993501210491192585183595272112413985229388419699307689226459902491025954995974817895917783695934256743162952555254948716287790316002348835081736123116954645788589733838358421366877475139627797673156982956102782641156141010877104915300012402876904838949948970361001223465654565948932836843072184206772359706490384789683182312745512867968509650230111621883179632039727787963188319693871301484689783451469779712691171521662230128476812902995174584636995130442211014306795232603066978491438879080432104629109437224085440220328593703187099154886506040365397148628157088994484254159385817841625533431450090435943083787463856529883928239494281501889528123785683107120080700851961035848318886318332551521809115220905948748600433788063163277919009725592672627115113449078761684756335513997600313787886755815283836609198058091389267132845366679430341169168318454268642400067112348584490423271817694054352293520398857012431724403039686105450611497498854928398813901812579740901663640035886997409602060136446523899115623214157137533579313266777688160783399024800377418036825585521619141275755703676671253021575956871198985657134793848142510207914246234922837537811957128341152598312006419162046333075101419698620042685621026661188819052131906100671155359147456547663898088829888113660694342198156635455357467279567747291612447002740295231971047823562825081901178317933230357239507009727919236069073308533289351052154848981799799049094342478605010626415796967881782136606466189261015784372072342687447005833850183653293610057415251983766262200787116690625368085103492110560739462323395842852364733145111486543775206803200448131447178438183470103085526580395561270324132492722242794562704270317441066427690036216862344781725689087642413617268046592161535025925909160424372198068484530252766256283457886028924764349364761388007572470302116705231377843104926693031361792672117264141773375954567616987346779416930220557062610593182118786737542786753470931181521733723318364742417764779188250345829471207781125113790700546790482340662452794208577769835404664128387544823465243119215975644256386051655021565009240748404029879596664186452264109393335769847996874202858276906835390868973864742182487436026802533531648937303532070733637417882167322115847420620815499142121367391522238172334318177093406752683755990007242996703622094860250528247340086577140434933312557801647573702559386529914557922804988966238495643415529176888269689475219060746087851761349366246285916832018638513701857993737378871554987061824415510309883832629997305301695056509850740243527618369899250785656533537773345016943054972260725509974851286707411918337754728588498073193773437828871658241291350157679966419113092377494523851066925832675796017365204678275373197770168639262998631328146795224094000083109320406738574365187589999118530684945518397743452112023245210290985436467252597930233559272221310075812659831524869347486638961188762129222387985119858431529647715148060300018521706779024908871305311643867731024791895205205545096452940836058448539070720276008863379564160004079999181230032838468524232254851052980223236732798552998133519836026369612587757714023866319423247974845293180051474970713757202199595236544652919517508195817236407932609286487430111140844679419424685535373119342676782361224167857320068491528797587713936362249092008069411402370141456215531631863881724186323637995626199455761041346754508861863325956093579896050647007984260794201012481371176152052861419681033336575734061808003302643701824470039524121201221672038331613371586458972014346424829972036583831489496817241905517404700570864224175956682094545507199147253895424910790991577149059075712211753264434645994628754653446667834370835499100885660227781357252680683125265546022256925080705975154798414168783908692310381008533102046464553855837068119431204727221889455732537243076119259721465744919685038754083694749634090587178338034021721003797660281559477422228840015127497175323498637379713508821335006934498737810549740292094420950665214000701966852073503147154331954376347555350589039345383716022489316083739907810046574878570948072690066956857054633130100394203682880495192898461896807036478737147187698108944243855558408293917726617429236850355831973712015808681543598175310113202794927509587631102930473684227496008770620506936142109679393254864954128491084809039108057573971686000860968640554666593440947006928904122086253812683937923955749530154372197500969262176781455421638285406378565603830729876639914733273020998660965138247920011486725247458414601246260972175423017542487231911037654961399933454420889734825221908315774660127580660743345069182033700388593371550526970679697810303631491920195367954923004705035399660954983439327941343743566098176373764217460166410786052863891438024457194322963253879357668701526061902556772299696721497480842461753938505936818402763702988324491904877562465425621291400232804194674352719253735856116150630259839286557674967765376012297414517665232199507593031854293036489455998237380159474769388603472419920063902939197575705798155518410437829242351200773374389831694859751675032453632989519712093699574854467622187607550741942302279866222984425385352327721174313499141552214752407630324743396667691947180577917703955521073649328714455602426118403278575839783755210982124935907324193886855150872060594119929653383671578205212610882405497375905294561584125596895247986835528167533993325896696312222815460276150641995496356919332543001241956132441102737320376520050374461294458768944998126798713951399621086083199588521192074589828002111931260331293502721380264364597891939073394666859099217666025824140067598954631750674350964547171177056063648816873231327993630969674473967849428971026915200497486045341145280099221814544604362976622856376508420521077658084493368543493053097079298154184624152938597814126023962789397872299602453335867461978378209087428388626161660506796543563484126167249857143195064630187637060988604709515835433017127080797907769139382895550951683382683573271304235444291408687147507875312444168624265316194008068767228662170155771224863566364442184071200536005328834382939375815212352605225760743173496544027758005488200906990430971645268935937406228510110473672756272287973713365118241289768933780108827190646359294334201296584797789410584319331974515646395994664716764117341450811597429148704287075497143489480861526630400140040609545883953159323996959163490450526027522837089370286124663620992795469864783742963595073545654025773659338822030399016382849472141438683467861822925563068937343618776212011393585053572595229612409322543672942768227476921182344576751110537823867715427537993343938241526228525598030986895121644461835457531280006294896528892551834300275593513134843415404772055407644193446980386627267854051821505224781481639203941927354738809643223563647567853247102577470554886134528274182628338887547512092838300329859211064945821773092407257481488309718322804004325765510451699450641475867587939606277422504541705062550228011194711685135702872371728870673082486744577240427977059836015336574170520544797606301506300933703340592568059929551903543758149675626083088072148330614281015174637357867866170124117835957794370225901819449751384067585474901136648039195062491897875312925030824749851467629700787419921437439003290358210111401145237672336466987132074017157361815574828486294009206817724473874533137195736336289180064524821296711420104759589418416180563602375418740335495636400238287767295768755908547203165108156822864362339859905628156687602406985331776671763258283972832204893548615595683020059368543963662926709550248763868994970286644056959024160136434446033063840365152084790926699234849365751988415943534827408531917174641039892506961344284039453180744869960421017263891496433771768354461405736672951293938407894621269530005872187418902864746128477420652131360211023429106718585420485718847080182455665258206878018509515213234791257772524401225377440292537106224113595237359008055074447188022644993516273496211720366104127583974448277638250552780310822782090644463146284239409661945333655611289814434058910186272707362846196077633148152162009481210616425024018324331560760838051232886681082034679825824007924247755316634840407301983596208645310171734320363003414765305489913940213857184416759147607345558063086581392955752668558404179975495356487893568946893656363473222759517328894890471056682130474961824878658357396511372697854440732131096041783554684863560105290613834639029374952341817930679632115780604531147603706691858834267047027502817779269931218312740664467137640510446351473306792768407130094248202947006559428626768472693310140556479034997079645504995428454729567482103820985637246990755227305246676958068744488177153997827454031839837604062972817308380247841246121091619927310060090025001326950089341253186103304636139481299317463709129950410975500468899740686967091086059248818885966850918726435736451575456466952759742845480263828195633481198573768964412650934964749209319198464453824381506092686706730661617074368919261880061841515791854772130243379458684760931602987677010036363401489167171531722709400625273625764890517882056447587840377951448849090788906660511217476461507591591791603489632784521167529298440729001360423601076382236286242214336562505087294042278196910163896644916624365760107118929165447203815479105691611525347553229942353091903693956010764710242438683903215674162795781253407642423815367044753942432778010994446949477193860174530717719738374188327249645675128119013186245673705631517374808830841351977665937612073721221005201536746602117108307779013346866122816679810720572562663007606420621580483657925373540962844488472722880367170819365371765404273547945083913914142600896538985450146866469770187359350106024569705482020097226163210330932581681121544565318146677622635186444558634281834848407389652180926572557005389765728556413751963622098798428316198945509974292654874865800861472468239148777954633249740936393561486511388175730174051244895351611362410420925933650786386841204332893038040865122112741325647201480886812898502733227382048790038139912111063266888736933022037161254466564810690663588801206932257793362745026094642422765558704475022496911520904468864311291850352714605779799138114575814090247529901679648773586133714335562336426503669666114839322056714167721571860746569964098314197725607956262457213221830984515287767455271528449984099209650170166023542816753843444374459498604208785066652968303762207376238889957455023439561067200137050860956891415781639935775781608894909790032822905890687377438349939920123507797409467195148994087199214784566406352181697606127046269658204876401832093784616332958136986585156539731031692545733848458207822695561884955129994491436369063422990088675317429968224052978210631639727270222330174570779711984169033963905330567024213395485091205713035768944668380619389009241942247944730326256239399292338622169853448480207843092133377259468353898966988994413628167883049806106992712721164647753443949929550371742044370864732096592404479616703229886182757977528768325588181623503411616605587354318067197269711155446126674622273071700626720157693425214978395893993978652867546109620319148729238736713991665575669613729514457530301622909458116299562535901656908280571638662581460833425702512340697970736987353336890462614170131128193014969212092050442859084196935558944865287602748153254673286933847445073933320235750139550373750614233727361385852096243290787759292765493823328757573995183960009278947422774649528119848334436583379321510177359182366192555335865819180200155085413024290023511013921063278799430765184309680003325642061051994280791333211412766350756871190618809134568801200855840449768749729965311393523500014279155221323511062124676248261709834558690143342574933779805995898446305311945304719217199600399333983646731463856077788669810745044528101469776473363241122396812265097345432071537851983314095441141807440850003710100461162606043323087092095586518584892155959281582311732292064942541878374212573726099440749355719899626267716018810786072928499570454200271892976966763955714893050482409800297004672190863472978228480680612632222431449888206220080049312575919155429609449073292326259608399335877739805802354586221381232165863558648241678236870900243762248724808842911954543756700178395197779554977162748314994923054583280356755681975709318930237787025351158618727508451454679367271029334397180832897234892840779991844473102307517530930316493304508967579930683356659883424064416522471484455700565666918516977722171530975667936612213364984976195248257945930592725353961351260996831735540590984411817163289480084479123202292864947653902142170717642164505881497165475801028091086214675175517225762473677408808440807534307039527974434394274018020995526241113130575915552154188377952776818321690113668186794533248416319361620661240058629274628481214141225511836853646865247196237754096569952738022600425156701796398164171347379751095513303494323161799125882978079720073522957483672786466754771656973237424172650040789574944131948261226665940154144092798123217255678246750965599129310442785500068004699985456670721765143616812645224115880549532908434095679063585029507771936326181882369477748560432330625257887168324463268216270603665182080899841289825848487457915655855156030389461048006871765550037863488736682908709606982639853631100973853263164024834209287742872091676913521945528258197063363572751562017123606723552460096365752039430173553327602040241070665068914023598023703129466575552358359774225320612125283840415641488675227951932246965251312079139198630335648864773420571978013925098043818816506848015134137452951077370364036833634369975730937254184420845428701459546031046981600044248702502847993727841540602608222212482888770342026372362724578799267665742798191920486651338109145012888277108412452140473285110943121160872833089313352892304390624930930313743896321520753394377972288221795394928370346807534431672694885334036865119729675010497668248992397103616708967488640326342151501211594474482420207459086211472795075434072216466101331952019401028761180524190702035343556719011880118363772962288912499161264365396423720919357359818926244700231893365477534269361365982372597609237795648396225581371539900870796587274203047525655828938937218089708340644608383887870994637737629663647209148648438627200175859717272204110195030824744964669543380702125255950952347935391577806076500046733841075991642019711520491615491095315034190492593767908290831150683196706067246713725556552867846285857676410293785330117393108946643313174193673227430499701795552103442873440784620669869950717929483661925205667656534649812506744023345067546531304978872332929443707403288833983570578703207361651494912917225674831822342090465524938331074751146349585985943605218053471858982817987697382662395492730037955339229909749906365006370505210943097088974886412922672822345451960969978357920414691093259917103111200155077011572882427528250762094020627548897107540494441417828320304289060990766908542613397420472190019018387997944105756499668978991092942861757179845506674481492604018394660609583253912360720982593442820080941466078236528739998234636845951209807822494567456499875669374494694589728177834774853341278949501259143153056544131465815809851978002549846791324690273953851160961127021693945314651949544651647951674055350003768882738413579296653250905116484282687628178019674112212923593234422486403406396827240465034557929160720272901704640798212867569795798917129392966157098275943932601615539581979504503340066570032324897045154036687133149916912254655352067680248174588601393518195641849828874982352322474925755339646520527016463897364758235989143917979791557839665250105695721213912981238131010545875537139253754964289092426690199954867903200698046967401081222117795506036297023830792991233466247717510352154437607918234702348239992027252827780491537907353276177690335819788759923833569086625486619312393160072555921020812452035267498926954101614038229686801328299084781311405008942000901055884005473526876578482894986202790410950422021989749220830551732993980922444534630673656724017206506510974530095074561454855778348191181754955685031278853522376387517692208976471719596859086827598479712709558640701488317111092139220492549434604764897539850263316557712777139526107970078094525173976343278140753542760561224953460096313337623979176344566184420750383948601190329964532440805870030444424745870788331695675365380444096762261469295356044672330397996764013159380036642221454705415283804142290393979301468150613354744378509738348270636644735263657196166141195134198062457174441370209815054767289007442271845994215128623212132052708147321031752264048682005423823639383716882220947925127780264529688951751193287102814603829294154161448557098008219672174314921560606483383185906195322973588936998556897307120951503993571567176124823783497682752374621999626530914202773734919448022311203857060403970243864020822156498095991151440497873477589916555556045182427598297737405506373031637375518487426211972644471776050889362321275097206661028398005206132394613242184962064116136658263622386620950556874205819606443817245800017074652272886946512013737548541478953183563377120431727771747894780218566823835090473140435116684635683295591290357863028540320703264885354475521409012888020190648026571140713053976385189118384188966070361668168096516448488118914734960247383184937794552585486870498513241779164145512991431138387131677945073489151442515640670603792486196556472718989663722783372540451007876049967023415696145519855977864461377089543322948699675394070729876506650185599360340079478742640412107318879905059276326192677810040702789701407446278089546220244524715885937891538548795537572226617398011710865841712265145569341102903285483979162381115873909039542060520129255505639336638754708917181315340013678502387352745858788820476477956828258913380887856740987544440244080873323532317183371248604820348547089352504514864280071655600476176212582156762181208565048287915538988214890220342398922942633316107040641874820062074460646987719434790877272378777135199709681844416403243690460373015107195272815477014373530569162685514153536203005632906164193373024459904554176631022840379826138776898243950533948144191073806876457301899962458285894914514304169811002119556405986500951683020103323536692554064814831090314524159432313560186570055174337789497362793160170027045582115014975603092420667662488956160963572062663006182058498303131329876004461863492807848690933068957757205382641023900989972571386051073503997311613601820279307923322803294147538011293420472174629909440067710631953227264693067158214512285469756078914674902739760331651118083713506266888071169192479790599180442289869686094923281352433342508726812792591993533868021355727500183582734035508886709056839581721099593918478456248153056107281580551043800647474209724436374435602009389566423865938593221866556856706852416902595555899196753558140927378988130907696505302657671686325233279269920573313598567626480903542478582862195464210205845065511878827125534072424744440966619796801713267866020416050368920921701872210198993064882110935927199208749970061387978389472176808948734831057186195933890309901996781384489299009594003033245544134372930151272343745070515061686035449676806230715334315011301226771838530174357002453987317459136432487515170870025433167012947881241995402601833679905828334214559978411801184743665367211644392209060162581957515042083379701121048384532849690327547174064388585513178674536878742471907537606159698456821420497844954908660498457494006449418194619200288338195855287023164004485607635680691297935639957677037790675143422743656339256013919708766292736131498032157070573463351190566179418333769668627963418547793312475508897953837526169934915468716268368063569531340265876415406054900928294340594742229181633450840032184718780274608617992237334539069443413451821784675018961526523689920578670960549040049311965453367616474662637533739661989644181962502160444117683679789654184470852060324757625984153230648008293411646211903713128452638561580051136969159623065022498364412619743541756831137949188936597058953427594487591487325439090896803175025685454795659192211312105632146805360050715656897249459912358031599795766423023047915028463569638509207141475770583285043691574557677581830327395815442903171748425174559501561244008208737001853480057938284528021861744466853112419322142707829908294660445858219153660062744954974350596373195110698694890285972329579306628151310481880110809351221151035850904144252563565592624751155652942579904152508270542139345830047496386993166213269673509204528497027947475096634712294217889748653469306016991363792235116000177633584187976334803248752582611396744375094647028642630898171420116745246720452436992981910052286880307091266529319529810837378156316038256028080132046221979786329244282894612848342986276374228145683064437911947155905532056091559158511324611448148692019748015122906258912078892974107273195627129764756973884272802621932624658527092612190637027289595789344298917398539793495335506274108740533495548447788443913632264339504843310164054008311894020555607002663691207629782862596561323045401063103077165462613299521025576974205714442288460989851155632441162855219438494485582898483627055232973839888549007287225519435958168741639484504344299762615320466232317577139764103079252795951776227996709677217736762953678947581483375253286959647063522528497765094619139755831657100354393069798152387274957112824079410817916023453100895527031431602605596311658198170742647913073433014648933842661856130823150696197883676151649744377661996286097995255172256123780448750498299909536243480313681647512572393494369085523656114408159507958399955855520885619051866948835764651456101101963888167781784273660028630951149448256126495932410612486571805741796400
样例输出
373671628