提交 8558ccd0 编写于 作者: CSDN问答's avatar CSDN问答

add exercises

上级 146d7f44
1 -1 0 0 -1
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
1 0 0 0 1
\ No newline at end of file
1 -1 1 -1 1
-1 1 -1 1 -1
1 -1 1 -1 1
-1 1 -1 1 -1
1 -1 1 -1 1
\ No newline at end of file
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
\ No newline at end of file
1 -1 -1 -1 -1
-1 1 -1 -1 -1
-1 -1 1 -1 -1
-1 -1 -1 1 -1
-1 -1 -1 -1 1
\ No newline at end of file
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
\ No newline at end of file
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
\ No newline at end of file
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
\ No newline at end of file
1 -1 1 -1 1
-1 1 -1 1 -1
1 -1 1 -1 1
-1 1 -1 1 -1
1 -1 1 -1 1
\ No newline at end of file
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
\ No newline at end of file
1 -1 -1 -1 -1
-1 1 -1 -1 -1
-1 -1 1 -1 -1
-1 -1 -1 1 -1
-1 -1 -1 -1 1
\ No newline at end of file
Don Corleone
Fredo Corleone
Michael Corleone
Tom Hagen
Santino Corleone
\ No newline at end of file
Don Corleone
Fredo Corleone
Tom Hagen
\ No newline at end of file
1
Don Corleone is the Don's son
\ No newline at end of file
Don Corleone
Fredo Corleone
Tom Hagen
\ No newline at end of file
Don Corleone
Fredo Corleone
Tom Hagen
\ No newline at end of file
Don Corleone
Fredo Corleone
Tom Hagen
\ No newline at end of file
Don Corleone
Fredo Corleone
Michael Corleone
Tom Hagen
\ No newline at end of file
Don Corleone
Fredo Corleone
Michael Corleone
Tom Hagen
Santino Corleone
\ No newline at end of file
# 大整数替换数位
以字符串的形式给你一个长度为 M 的整数 N,请你计算出对这个数进行一次操作后模 9 的值为 1 的所有可能的不同操作方式。
在一次操作中, 我们可以选择 N 的一个数位 N[i],并把它替换成另一个不同的 0 到 9 范围之内的数 B,两种操作方式不同当且仅当它们选择的 i 或 B 不同。
## 输入描述
第一行包含一个整数 M (1 <= M <= 100000)。
第二行包含一个大整数 N。
## 输出格式
第一行输出一个整数, 代表对 N 执行一次操作后使 N 模 9 的值为 1 的所有可能的不同操作方式数量。
## 输入用例
4
2345
## 输出用例
5
## 提示
一共有 5 种不同的操作方式使操作后的数模 9 = 1。
前两种是:
i = 0, B = 7
7345 % 9 = 1
i = 1, B = 8
2845 % 9 = 1
#include <bits/stdc++.h>
using namespace std;
#define out(x) cout << #x << '=' << x << endl
#define out2(x, y) cout << #x << '=' << x << ',' << #y << '=' << y << endl
#define no cout << "No" << endl; return
#define yes cout << "Yes" << endl; return
#define outvec(a) for (int v : a) { cout << v << ' '; } cout << endl
#define lowbit(x) (x & -x)
#define gcd __gcd
#define inf 0x3f3f3f3f3f3f3f3fLL
#define infi 0x3f3f3f3f
using ll = long long;
using pii = pair<int, int>;
void solve() {
int n;
string s;
cin >> n >> s;
int sum = 0;
for (int i = 0; i < n; i++) {
sum += s[i] - '0';
}
int ans = 0;
for (int i = 0; i < n; i++) {
int k = s[i] - '0';
for (int j = 0; j < 10; j++) {
if (j == k) continue;
if ((sum - k + j) % 9 == 1) {
ans++;
}
}
}
cout << ans << endl;
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}
47676
155132011010331076364348404691854108720938988727491051400922191262210928239328067593010871797291573617110989564304071051710305317026281047504974141178571011055700510104490169310927171569959251110810151000464336004610751569106475280101581751011173281048406108716882428266071039910829543858289354721006414306168558620356523649100112716560751962649789910308372535410042587301625429965957407768066347888702628870561010943210643379059610881261071510104107926302679516578480610710167410910333333328744079101521082447317382861094414601010468567699010531087049528211001683372291003349665450516702378277801007810860104945220205399935336108197264103250684743501011957410105565687476810810499373728762290092887104664251192310731003410089395387760727448108157832241094606993714185100511261083810285639251273504665415457238885102083235747903945001026977570750033444110440342616411011071020064101887176028018635557992109791066668948965071610307100541014102444570255356575530610681807286854001025631410782727668094991291604921667811010944719657659169143889868014887492243438101341042010259484241589710104045249056879897042106328901426796215383693310110030685208623860109185311008810280633104946287991097139529905505631022575998878753681893104686154716729411104106281637185606045846951377440109555621852402105433540150603465010025614208105625619707423497859698540180481021010087101067857011010338274281037101895753884643051272826456913221080105051402037242410609307097773910108354210151047294103022744104246270591073102105190224444521076352768582587104365834769483410101521000821096102726181095497444640810102334399107568310210015900592492539362744100710282318710109053685174227416101025245467548879942454084210101001456103105610410451871001027617847594713703109810015119019835761842996988910106101241369328100962841058252436045054939810186688344105041017580776847220391047321533605249010173338226018355308961913037323036106575378408420511689259062594224876331049361041540571054008979311040745644121032423468982637894102677737110394315344824105310691542022151001031025470210273477155641010302910450734524161141006410694310610311105975636726737097376359581521597535960340395100749484097247459412710445310574679610510636921014841049105599331686407361001387304310508101550515989318711015738910395407510282108228110371855467488282376743899036853106157739878107659210510078455410102120960910710105898104970439501023735771088957101529103007518610236697497302817270510101055541704105102051810298275105935260104236103202427442101000110100961517761067701010079430231010610710635810444611050419102329231046210645511050861102444297510621638646696632410749646002721644425977698910038670561009743148401398072964498410745236702210741496564448982327272781046664799453305978105396104001052811007016152006974711140812413487995102107931104097185108852855284028599811897101092525542518353610762294301375519074581093103019213906043745899083670852717926693198047105210101751054408277800471918455317661137585449447449921179165984710797208180895285547710919110991042014898489901915193061762961342246526033841058391081047280139881098648481016109811056507365685252000677888710749560126010791014883934563616765009220100101404551013754814510491014911055107040960900100302861505699592559461094055361010421035101046442623972037110635104108579842086509210703108477110561616101106100510110452692594083181101016666922205222564397100053187331070024102610784573382602540643982571081206510101720264107635045905105183126622779462298470302820021016460916232459780730648001089912388169440575881008217434231333039131294837101988493015618215102710765838957283584103128055101321086647851068110210370103310849581491023172650426052609955928110148367658275110639109729760910257698734603178891079523202291910478935808024185371021091492065381092230103191430525700615409143082982057104645184218578610682934812186657805512067080815969367153510843794291073724231410194888693545970317310581023510106825273997657410671076444064844664611310983425102285160079868619903485000309268086406210425604661157585480105697103610510030039810810499010109810975563985110264710529222282249610672801322985226556391548450732004181075107810106205064105114502131098802985108379926284344012613103025219099375722831585385160610729140105164102348634292837815341452558109660910740829266483103107510094105910123108086618108310049197197340107825010116418976177678583809893778056027097959105758416168262002036333310908059631952108730085291100633109884066918710860100008852685818388089814221505195454851082530104124422442226228810211086409410590432106972601000284380106344347842693931077554642876466274764644726296710963174124970841222961331555561000139465945531474410546169410101945288478182231021410252560963649337241024810110698510651107109411996103697160801013105807751010845443370510023241806313875432795779431938210181401009062911072250291013804857710291011008021039861875610729101931010521273341781021083493100071234425102102860012934478196500799261087910110991262719454021410508106411097893310981276681036494133393522473101491221010106849104513651529109381057977825857101095859702621108024493468103613244899991017913710386375619848554260227426733875068597181109454709821222796341072370445757681040388815100571490998744338410994102965756614148907622472751026175301983922921880104231672105710107916100538706333110195106791107381981017368414621042711207735019510583430130156498110918926078167490569733623759381037980061039380610419803920047090905510667310503839104209511012511578019821803589511010052558719109598257458762813210822141083180116898402481041041081027664991080711078181095624834210107519102526278491003858951622410096055170559701056108540260610658344161671197696665706803129107858604737917727584870265903824286101231010276226457811084621933491063010447034510137105934823555029971385393989310991624269711091103629627747994080679568103869100513915110970658253091480062225531061108372247110851060801076855910151037515410649193358811086101781162237078838306170965088500989656109729946971017869839840677983333810038711050867625281784010817737487101710195917623308844970039271087231027510156210573636881759191006531184310102860065056218483104103408833858528670967780914893810263583991596907975344022009100160104602299287825959254361468381943230010699960401586746831011001072547254462704104665923957710710031006179410090510370499971008057594385410373723390224434351016107310677220974690252841081048050103700179154124588562390522086319101055595065104930141010502091200846210851319108106161010001932811042230310710066251049477972105553102676771256351987790241050463330971034225219989621107010227477263167108810684607604950154028991261098473719901029010108110345471425936810898981205305946104214639891059733266110126810258874829021075301010294255054815514153101061184104561012396810258901009103521101010178491013952929614778107437508739758671585174835874105761921001024066810385104128983473143054016734072944800732293106683634263657004153710774550795090006251634109737672481087885083410216758131068101720426494181852154212108107103030100432610104622207719646019601489109410881365900460755102104498151152471238794029158598748910437871723710417465588763468571084001291062106344106238101710327203963409921104899174054301443109373340461035971081302814210710106239180167658958570410244959873001774154813681079321105101098536517105930204153679479818010555683057561011018930344810456444101110106601693891051052707360110710071990319875630163292661610101065043551102674675410216731946179160379260583063158285108548810385185306673673910471103398467104701093719615114651731249484827524103610249544834961018387251391093109100008995106511027574941549709181905910566689705210837192291016759810086845106231671094682742501077576871448235725110004510014137149611071079482051841055208627953294279223238786344102845183942101597311032017188221076007108009408989068504610347364470522772173845109227410319367307258808792232628259274698361126098885252178464108995126865796401449987210869979104071006103450710100610649139092970010557101109102363341099682106405846483032992200250934217121019751141745495490749101154210624400347824688471360901043101064585453862429106595648070523916666510106574914106421024185958573665108104104669361010813106528188156531064359496100810501084851055747410301540482668490781010106966445108127610591200110155610164875521091061045710728008425261057748804710491095008246931008365810057601406792101817640099108310610121001010685856485984189610341301392619748801271016321060101036587610638033036042101021101086461287637109410752414740874433119937410766663310410068103991076838758289421064923815947282939905791102657410395705108486227831010209101084249418480516592291021027242642619604507371721010136486631088595210106396331859004982986649107085101059131102135765203024105256928104228950810546701052808396037900089109140216390613719253610900633154085221080087056576971034529041896490721048121131011017758352496771540331017767107013691284108106310210109250101022710360278713107529879777934315770999308103941384161251064235428013811025810599622441711752410407771091535407102101290780588926764126010105952810100777960311052679100379791043436944593013119205949688335173010091065751047789140242035418995849624610658107554693171089475410455934189459368106240974068365104106710376771062196988110012107101217740577299010202010709558493482182582549521047295343986403964600100110101105006161022520106024375172647445612410110519410886231067100750500895545910701010105979227661061030557138610410657902909733395983757509105934062034093024290319205910467665467370796670510108908101073106287830977637316389997549450676771374379679816341051108154649476508367312563534300616310141692128910117962584587641046801210661210221310410580916147336077383210102040031572310104526392546865447083096729147472442119524962051093691410436161085610801033734910911332453108736341018257898610649450201152003639891107487105983163322489181688168210749069393409491210938232713251071255183315518376721032100187964804821298940966791074446441011034578619225793105108898398114764421198351746910757604341057069594389010653426241274739951010677012251077898831231057135656101049101166745210590103471067105517531037871104548578628175987328578107780102105862161262361017812165710404902240869925514443881063587410876017839392568329431068099810404477801159911086157097648348837460103955027971230599879791091884642911018086102866081077103217065828613393703602210672230309010205852666238197562692900411028095102400959571037198345074407795312103917551043546100397971072367749710673281425790877385074735729562121016697691101083684454107756439588774162513498395923307538010887937971225051095046103210603368341003904973410324077404900284209801091007791346411090916661099510534391008321080368735101032402103873484446750410166766159892699591810841209810178411973121093297927617749010104105817975488358041420570410061270926048709810467093170420809705139547528738867452107339897981059010673463103771082632937301877083640709951824058890058663294915910126490860557010295949197509820028959259152774715210395990661040309101065830110951064842623156910101064933407366106810681755491068386268691010341004878028152261105577109006380510513987392208773593278106327099221554492087977923105010479411810431079941090424327689810090901402110277299168111488275592142229105244191354340527894108132973085005794600105372610749367136341330341036988061010650703958781091226105101693391010050191410271934241510556984649484570015107108439860307021067249560034578389101928101047052119414356758138071556041109403416652024312921042575219419116810700454195147099151013101071565058551435101627304011097529107457109510310410282414437746951046480046234569646890209951212610100721091836904542310101888226087389098235439351559235021586610521051060056264597921086279521766785311054106914253664928013524406586040101207103410187900645986970711010070207935887994067620396867021104522101065766131099657200948853155671108638741450102658956973103251631020100862270096400130103802083009402023399833931123599210005736997664105838927185666181710048712108308179531391050155978101047153729275428451841068302451036468518621516686063766231110822716665382242267754107107456989017490383146445502355767602048634911003383192101350886058410912061191578282283264671151310461447106272106413161817536333627985590010393110427379067506641005444532103668759558101251003810243247376088999471710503827714355284297865885785106103763316810217010741065404130757289351247334005895917081012057937115837278521013397038810078804910706110107692886103381109911088331081736422348321003100961036912196851043226410834607100481010511810310109807361000119586009035731293100611047140743145480102836570289103104644650646044666723081033491105710254100618101004132105948513710038597731306062071175201610422281978336008910101000058330803101105101698416343877589857610106122985145873810171004494687733544414210813117751960642642142103371010327046100310910939110610431491015856545622142340690571010041032843117041081320100271051007793697300111096675108171047521343105770956210145041018144461087261470604693650337268866295636520219168818624574033792311455060778852401566519453311025110892587676660410639078251101041096658371040769101465955935724165371014100936810004566009193236312223010616010801038104129105601175810992184635910405994971052910972007957103594615568109107071210010524572593248170449497481041062625100264577755920795538883004263101068403791556308810291671022910393109936605933939689583674730836710710299358509655010290701091106010956161004620841010311036100542033652251022725710814268844850441404705351071016835147977504710806147354313868510454710105507441808869241076201047103690813608707101051704169571099145200772610647797202416093926541065381662109135107103310757910408224456454816937101016599499660502243900852101095905075581038275229476946521038783020952422705476832891047101051410370811709410103635610881571226946650609100861085106325443903168451092580109291053105493912936346140552321066151590480518259627291041712930751018832817386238090038687101007910183510334310180890537543728496575278186044810108866491493225241081034710796725267310208101370108100956827710674364405078986615957533107066689316486917195882399468502133898417006710348326884545592943788103010689193194895512105861552150644744610493959030648090589004378810923107662721153346340425999910388256090108734587336667985101066561260294610368602863184101010115108283609377789383157810615301017676465100080190202112210211278195003324701052147466744540161521817116635321682106890714110001091021034692072227641898634829967927083789196332710710104828561939256824532655373837299201025064234381108953197810377367101030184514171410541008246791147517188100980929106601263090109575301375968691018906997309386105781075495659926281010636609774286839691019100761057210410740794941095486752005356105464890102435879790930170434815572280101656158182471088503458110062102199594692485902010793928951092023870610087001042878889987121001085631091023321010560104204283826372100400410710179957623136975831010622007610371027101063710452122510498161498192389436002546259810109104353639502381275105966969880914754641031097291081009410191048493344571036109758935100344210616101014337058288010410811232410645189475010946631748461624744394310706303184479112050879240910526285512756086033078263710283170515580890247545610466588247452325960065568030589582914820831034002101067709941741007101065710437461101010226667811010107009810612444369348107910283678281280522421010911110334754469359103904115721016936622810276211069564107790475711191065344713027575772423676607149219148539108892607181089948636776531007478677315101086387108110524884910106278561710551048940949517476567891041020654910398310881279339534125247853426893050394295069604911301023027005589250666471029915517871016011018411388722580847002939070011026700704253094110541083975105840417664134812999398998937125708431036766473488954359376970105178134542738883097541028194110100426950410595517692650779501056313488790669101020274107900540248601016533410605102145321010052775871055337509107763667452662810102102021631730352437626817521940813296407788384563657010594004535771164256590300182921083706391505807232000685878510298072113383119770716110787101035745110049946856343302107648816964106103752077291030368290707232579085880106105366910451008107223746031081056016889093516553732107401107360721060925884107414571007935785190689840393066065601482109648882005537845340084108554046908992738105287217101955796810950514410840631084011080349009114165376741314501078810653358663136008101931035108491076202602458527226310303169661394677103671049461003010051019594950108669371087910284654271091087100693774464112101559640234371310510524592101143103521092324104100479105380594310635514960640104675902056341075310973972345777348290973379511023984679101078389407915236606172470605238477663224710180291006108391495911645736610724478786711315465954724670834961011010323629815136341083200421082143238636234900101928825110237447440996304544877402106395651218798371826997666622151911803559409810708278364791299905481097792560215072865287100944463033924240909841002347713747161932045543492221159341595836106801067229917910350544700454505623291007100799102261001035911096651007376897670841039089711023201111270703076831046254515641064237201012005077604023141062551091090822012615374071517282150276094646295695610700784813170710100510260748427010674717108525931021659100990724536355109571055551231103928848260273557210100560442533592610952240076506080710106139713761025910193210104942057109410714822671021021213710139901010553914109224331021086410102770393927351059002640135394103151596164113271332826285610966610773104509171773417919340571106773549714148305438058317310879109183860840918415210104801008379478477210259201047076530752773310592314577310553146593162439157837254116398229755454123157638531051346627155805212110776871538086719096000102107754667832586110910300974484059101912041041988496644101098561259710247491107708607210711861021089905871078831020210010437687140773113769081394109871095810117049389100878501017610930710991313375827282412610871087174101096025426979105100855615333237613517067241072146001848628668356498864759103327610806210076333841069487638510035926458005321010010597908687810231047871709990059206101517104222506664141219950956561913341410226003321021057480755814151084103221091014328610927480564010651203404310173934618210671337101086325057981020210199312967104002181001038521031010061990101018146350836000710610826211010710768296034410100285909258907234713365610551269583427449109274305100383010995731008151271883669965746531677857281104829803191104999338100829778882616727381876884182216857267381994397704435431010102810941031012736219275638572650443710968958742305396029421549537720165569784493342405753091010380781301041352041947957525231584179101473849338718769451838685300355110105942924000903010214344261083010437174923977797623100561259054103810871031101391215735429014874105483102831740924351057753537028801809273046343312678917254441675283348654710949561051075634661389510347406770963593175431657615904024213911206104541007410074723459993322730107025505511044860253102640133111610410636481083483466104452532254810309060020105125010877281111310709109415648776076000066684129217428110815522231968969168673568658946668861935958176329765683910741392511011020082152669578460541057951004388100873372579063105471096210164908610476821984481040210949144350184678199200520249766561020739670810070241012310522107100646239040733789457491073101223581010571337330725826163507861010153280696471081061776722320686447611053530976683973710870910103277287107362815187529175381040064310010107887153405925731391054211104914506210021034500064719461800546391729745336688686827199154252474058280732272100510451630032193081001084690304304340862523252254610779110010230473851061074498101279006603663105170109117279554812748691057861045356768906629801071020125422101096209895445855323105814058107312023928219226429810833042810692723107043291077317100768954489010797671110108109265495243420250217262102485110310934510997301335819108710784652267210320030401010471064228691511216041061342716706657895960810015100175253793783490100608508822163810881080901698189106410340824903613946523751010284174623910367047411953129757020602402786574254596982461176964319622110404881032157793994210578525103719207210993254657104363342115456181101038843102461084812285114170210210004384510423101087875710371741038352299510294652967128977210558610876564333404526459340498101149697470705161010783468839599255440041100971718971026762414962210276298663610234269502151299720071010257057324108710427400595781039103931015610356241000534651010861231951041654725021649976261365103884957901507130418858626764610723109110103356036872100766383101074981373061509710755112108020465815871965105004106911103437410765189964408199018506077779875892803148150110745320937571882260966234982102891023842218501108940967103959015513981610310441085910410106391610103731161061509994855131085658367401010810960927237101009531670105710188109878016433442520108910847524571074310561010770250272781810643187862397510101020218300010889031021814484640923103600108351060538150934610201085408501065546655236084287210596582551017716403006885610880010530651098279040931021546918086258510575937303895666345461646310100927425121010198310536525105590238210071008972652826105624322227114166517991071099710641010235567410410430083371164601710234452870349023015732727195210403101341601735045642010783031091055108281016500691046104902823407781992242952705459101736791284800597132035351335062938299486210991890739501947487810323359835333950668378109410731410431057317691022493310153097301376102186161535410105103242101010136687541041011290203210687048987278719710028378348816220063540135517723257240101303110412183043349046039106617563901091016109586445633672182711061624226471451078614805603235495005836946574443137042349617770205851009774708507104010843110143547484008021253482037209108477727923232900181057481701106965378979651080013100359979267943514990101452972639101510474611088108691607997003956101013916670166693545749047469105927961010911061343838609099421087395948473535310769099551360952837835410878951061000177388610788003242865977319300207609629351021047555105550010196310793648689399038721085387929391831010776313492132802377545101214731068328101474441001104581899326745108362694141019496521048464026570945019941038229490735107168834461491278145571036806269815990410429459887382153810930088064825399686602329062291053471359210977919183341170728153441710655010677478327561089580971510794280369104663533610250602102308254366233805109010874103103833610359107847301064101010494182103197791186939401082350819619571103100229102050761087711420198535282323029967231051236444574529116226519108672626535594403382465303028410201010971013545478112273104313781446562710108433597207103092626109932527628420089300604129823545695080965617101037981455826810872418610514693431419634410099640812299770545910101055302108710910341876153003345690183170410410555864099022509822600494835170410991096314627010299946810110332226194262437511082123289494609872215299444143725260624845153510857991105002476010242794153936109061035180910604092766273519465012941084506106610395129164297666606086013787879191765115655210106452484857211052610897810193741013161068145350041035891961045418177014816108710910729405432249125321017042455003501010674921510250210101032581268589394349710963019152101100941306210500241596363538670410110340391033118961069646490236586015810442511305605512010901015627001911085359963761969310108100596170660956128356000105081047619205305821089375511142490892020590095910610251103291026121087707554641068610722100010602410662910901190452710245458399010331134575382121418836738104510814914302361007044087137719867014007081542012507310427810005005107481444853407102368644945808172289895014359510871034916484034869179210361053207069154704102999451086722521088001029359341105108934103377104048741051590138910828606011054171107436452076187787586526815100252510530106511397105748101054892789322961001048935106294707103301022246852710535304525610894052484399311046889824535232157109107329101883100891031018361029103696661021003641061095331710108395107064718105667467553926926561644663308833966141775910751010232150610831538459104028671034515007683468782126336100315903060108510195743181024439521051094606108135030318683741560910853057354610362183971081203556466408482017215103480197487394010727259638734657410810515143266572122110700371410353211421384494109187249108307577789974124035166034869334213706921351010333440410591043938532301237100762660120121041110698666160350908175727827551057301110775427103761306471252064741007100451102378028880904103410439430110334931052137782134961010453931499333223680205870275069101081100585127616075183921565810410010171755106296510087949191510226369294552770878943740603333997923035387152694010801986874132706831426879269982134522910454109869142861002476610466600411369220563510684084910176237010149104934742410877677625886582710109023414921634472286310190373615521316554031060068561037032595903101710596894055822286650974215810810243442306456811010010744416628310678318095100361047521041924621445464966584937997352712006031103298270105108991061918693106726905018272109997332816561917138328432911075938201388956583199162614610219095106987778711177351003510249000325241721012105109745403610329579106102954847410490552683696492442240117697173591100410493157755915294018710210108860210310635649053280710394101355499375411084110092445720101010670026936461167104010101657250421407310616890173681007790852223107977784015778283074656800030260101008395680706214779354109102427295326582678934968355100439382101089288410899629195871000746418226910926100100466962210603977666121089186286108106659402245168185122242601610573091601010399191286549978079919102078872010109108172597879340515921010189291619910544631175632852671813711910105744461024902891109637576985530801500558018851003881152171010534209864646011384951568212103941312591684229320651043102507694796105397157725107255346101048101268101331844428679291207193391028216540122506931103194798440457724196667545481111128039631734881015103463101021011935715439123160101045601193168612914710041051087329110606857983478107810639232475374509710100477081723411584855037109598958694675012606109103930902257136873919813011856790207510107029965462822710310664496366601041092390489701100910024989510101073864585107783183255419315103154272614002194210661530882317843836960391375410380537245233459074528288270965324172549799481078919551000205313811301925660787076629735971029071700910972899866012391087108560106580385010108051033102261091382010103777710217149701268652799682609473621105135650610151311165223938276876341021906109217352078575100924966741021043831924882948895891685427107277729508642718410600881064010082927034432511056371090091074786466332737321464683845411010674857583991109951090296110385452330994683187747767090285492742371677810427106171615876593301711013106367084840188125101525742155713810351398510896610491951421075489110901819941692102438389611726552308329105281084388041082155337597400340631482865431693544442705110910411010106100437417521044995801972574503181060100051009101055650417671499110947661347034035153468261830312958388129778191108189007582981036525443562366606244788894561790295439086388933541000429010382673100331041046510123927791122709807510510017225651110599108108712923610258541087941010591756951354472010048106701081084651038186210108973210495185010210510861005185109035160364110849943420184123610810518409375621107655011342888865282887849543991117413504011271690351210296641935207758525343210019798816724289510424875265470335707017064326907321041104231110675810843389111931521061032910827344667960334836032121461031067714483713874849248110981710011530423110329902266274890777467018231000710267101096963660869924610045061904044986192295364749222847110677106829810596876533205028119679748133565610235958325092610511000676103706561071711005907648961357351050202428046110610739571277508409416531053100962310061779761001022190521055416323946419022261031076275107372928701010266371860630702311091077860317665645013310967261421398215261004259195006052108037116104288125859390412700736361010025725210134875703591366594631005901563363154514100341119797446885255870774375449298477384858490282047506103110921352055055368545055777310970133921015082631079781031100854452017363101076168070106100827554532444633383167341594144629101010511632083479127520942575733719842723860065769101091094306755142794229771059109101446105079369410961985334363729258781090839819763456455810579918805632309521004601089505910888109251082525694601647142523854771881275133384200910847380610038049346941033801215555854143501011292951031021010803158060763562103105037110310888100101451021510035121025106949972788025748912100482239411057311500104800109230756667481012651051052371046314259210588010467666871698521010423029221710103168553177277255104526146736721421821011086727103670107232491010634674713412554070484910548312910981079789105267102708106101091010050836025819201074795469970051951791139103915810798213491335201064859101911913368251014541061052113049710192109151140794370711010113621081143101110215093109109653323300947654262573801122322101102210846214203471104051097383751094210452876768481036109222210296205956910885101991102110929733006000323172105292908583962410091031011068122434248101508821178986058026533598304601036564655134610213351010297102841708243810744571792983985106035129886618997901077485925261081406115056251210750510202882504023318352653600508210581024680910351010988350575102218556089106748108791834933102106010451483369463352623933850515261352075390902639745141079081186751101012083758674610541077707499101242736733729417477210035198410952024327911191497467818663210925130610101859593374102250101800131810413055621051017531045380722873671069760497765210200180044738918810632058243447710703341519319424410351043607220126239106389567107461606108624104693488488887581007738810110468515676393121072713294552546683810360500107416769731178363621416452513850303032297252229310398097846109282231033321810410531131512250907666375156829534488512147318353687744516296202100385036143100493109516067811445414108046182101010224611041093033105871064262278412001026021478439173106342910614183676530692416393703879106239104799028913951895348807410104851082908837736247460270741086810787024910147975160303904537610079955108545108527925102861073810659251031177910108281043159294104378985791005519102162103510751010300104281036399153106731036912948761592863975174291058066575657194930275776566330663823981095910370362681069507393917105664049893741030331297955217475794292651656081043910218655361749180094161081553919373249499710456112318610947422510199508981501011000103606337502321653100885809778507224649626580823066901808033540108675891518954669151016102353806426337482261245880348091032709254743816001465450105855532867023905005902244954402361710770121311047361080710035106058108570181033193640157621469108665810372820351031916102431063862248231090265101000664637359167201393926109061025366358677456902969701104368109075448065177110749104511233177323010298020108106010103808759580216387105211124006883310068884510910010526021954930837351509080969731014871028203119826511097900503318101490333103374999812101685810322350448548065146141745191009005276684826890728192480907581819079456496049101867262269420410105018251956601908239210911952109810810959261075101910245102310204193630445690284765098961158688871869146531101911434871510510946076923107197840331016469884136006989183523626431067928205124104541089810714105487048103595716104210510451092845806801100840348216871591847101069777031938326431065101010712325883821023514521018364741037054271953939105819427906179321580193579375159019210109392608729781725967186721048341282170818271030632151759410280338695086054714315931089619451627910847682864246514849950810024025537123527297511094681023656133766006308851412325576838371815729715101898799571010070476422491098981543318673007103551019412910566043704929529281108493102553938566220859861109150653303703063029721042102980410100605093244015007501410851550439745124880879686410106184436872372439171471097690220112283310046471253495532157210781020821309810566566475028849283889105919729010505084477210323238025668092230931402106551781069358262998331780174804965968907101039956121909709857123171510316113523564885513333364851082136518837630862665441821091057398166740810574042223105101337131626511036543867262590910677910910449911061061003239510179234023187315441075571086978109365610400710500012364110580510639730101521235149981671922498518398109608310136571101010751095300517282108371000721190860401031108180327728630162513106661910758977696926512340035016635104320481086231004802499750952106043527269510180917039797783510904757790166260216732105481216093551541848581987222096864913337825442102372109797010009580165101825644222157994728651109934168188421917762592650644247720398110450658821084983791356714444816579813510586741052920249803891073405035104970081516641007505558529351229351010710952710918168201101251021331280801517548549210710699710228314321010100449039941031647010610624421043512108569360380631222174891009916538859304906101045730154841016339941497100738911048518106940733016642810878510542608053641067251109887134691075251545104570156529739130910106375550139990008058388233001057398605881035886077552388436340970428984102112419787519543104394109779594129106707361140806010238922010022106510441281046297691236685802207390603860671050781541298677039678451047435503038542104010122806485109470915511042108895645102666052655816101061096241048227785707459686321049807140196648991009769106222010180951010953108244590414491044435035889833102587810567423332229398873829221911104156763109793100782694510036551067408010107109102420122975105715465048210384163880524887048581090128619969805439781007189373461751392717878321537531441210610595467991029210910105650491991071015553474061198469629881249835010101596018257866068227405328531110101245905107675942311110491070119100615864847448112654105624396367913790211975030101010726037962105699210102038743605564243201109670007944563107003491107360788271025611046293510841088662889441069552110428376304108910952971012107239168104862210152318185832582109199435917253416366100921073201015428984664417181647535182795101510347165037713469911938239741297746153104510651101046713274908381522210210390229001409991226290410445158105281057105430876638810895810632207810607365249729688821010435310625892873624521031271057610675437102801397589416680614104110531010966254169710607067100500342847411044722499261005373849427109088610105168131073710829553124417671041010021719201012952600732741640046501239035303669076104108875786154310929106367050122637310754966104810377157887515039150194651008667105106380529669317834423647629179116661556011002107162530728020231480181031741009299428204710466284038251987610460002154736391978599108277785101048512106301036510965458010104384068109712010104481001001391449910107323351031105046365691372626254742610416546031423762109004360125443100254508459589366495010732010859895697591418234754418808102834767372591900447349930166863313093999758110668563100213746710432793629971091068863828110810053045211060133092709215012543112925926778103411111910282518603667395333103101780245912549851405326054577323910287371779763179183227439472887040845464816599890082007204597220414215696564031013937139621197486681015381085566726896819769787792463523912875688004108320244887137973075451238714680105693910649109103530141010230510100031203542122173101028038139062682710973301931410103093207727025010110725417301907142181211084583108982896224795410710060998949107601310733310105827836610103710741081047210197064646859029639101101008734717195639568097210053500376115248109925854734110210510103697326353401050964793426274736410131021931027177103300450137106367651091192086857356179989510050015671108233803743251051011007562900101693421974769821100107533143351010019325470756310609747990484407486965550851068653110310701099435471011008106331010743183903773731096101087575551039292221023810898810264365075921703604101011024101320642991113681012529644310732997071019107576913880829109600660879099104610412655410106934198500202988184059428345952387544396440241013067105099379251136973166917564316642205998546384083681826910380326686115394111011010370010722710974394039647410303704821995281982503761610251035910315003396101053361061048610316057995026435033687890789101501376755310176430276956925102953464703342471109593315143447681051897810231086728462108565210541892004339156101493787655210847435620101077251090038334331016828949385158121277699359610496571989893670244376822559721046109798037108996648259210343442839340108631634823221440130185261043697257355639317043943208993144993810584633101092289119069085109810440341831010889910109744368710102433552110268780101110936401099427256103137888107440121005376565328398204113311010351963722371068135130057109888644305488100316718923809510378104102133810108291036158981574108182541443046131024254103980610196589788102264194009413210410938733935506230101263377039100486935315761170022244241032810423410553967971131416398402731951020657730167489390247798434063133311863610089841029769510440659260081264428687305104402108616715010108816410162939710206647463440484642573101067476291594010346652859085693924106605777339854047140624320109243975180481670638641010109716593207916529271474844685306521075524916073812338595939102424652102781016461107237321391307774534211410158381176010640479411096850276192494536510751037932912857130292920610106379551000834100338119666561033537110747356711051009710120933356894185314939977711085727379848205965309870473031091032951070510920104053072889310259837700799776375375547111320106104703429210873409551803613818255332489804059942969984167037459995031091081010808799360562948623361271818884161095031264642109080721092091617761013708961873371653598442846889833431011109500140464210973910521431842488116484753197104841059971068554116388106308149586610543148682175056382521581020033101999657595457028469112647951102669609717441088486436509287664524276491712590487723919800010729988532000106790100140175107538549655327112462707381110434744369568896317448929960880632230657151060007247100562010117485646129107855508239013096101021817168675943632192388675112220462137793101009726316870864913226610418390405247224204258600102432345330010021085101067487109526538737318472789757485638961039160723901292553443410451067101848307177310043795927551708355169402952105748231065740571021045310103251027136287265625046975455309082106524914588796925807835482019961079540210162058100191875864075272726971758025279632201833460615563636304378441827120778108885409704007879231831624677418151013830585225377980934424401031045408651869723165644103731090565657925485811010103710019677107487038145464942365515679109102261368441510714109168101040120116754439810820630781025010356186369431035208381047469449910313521171044410577442558355210336673084646138630266284898149813940504806550238421813739297467994101105106805576958104835229353964016291393484173286682658463880771114495029495024684108910409251622814663247141663714900601041883772875011440398308614194124501317960329703108973430710506104906461058022101071510618695307188102611057476106568503674148291093244654264210101438800191817100421037265910459814647465767110887103614183234329331691060619081000810101063041091212956360167403657988837105200710103602357204224455972765106107101497809130886243143371010510930405494405908260427210423986853680645537451076322450717408086882727109110748323839810109753856591001010312403603957267010619175816668869448815545079682162159710729349410472536394584014080613803576928057102520622511489591737796633820278160610410310581053404103507265233176221490149571860467191010243308657283653510900517334101694100860647236801841049610331567930298583333951042101802954686933721109863428932741958102675973927396110410433539518921000101892826313995277015299594500825907518877960105161029331049176793012065040498533852844310115271928109671001071431075078134341101010108107630420873483949100148649860299912954410061000910195474427586227888950579776106716787301467130678798234101013498710276245497108810259587041010491037210553794166437151091931574781763917103046871077721010281426271040566874266738110916710042524508493681000631023483437747849099410565100249510688660809967104752104787634339520747702608377818410007210745104452201027108579910525636851031011233327101610047590773218010409369106457401691004107610104097581010952108957718110811534280199810039644009255806624139983625114318487452450100101063296810459723109920523411096931889518422510718410972956031056817104264979735102074219518557030106710910064911032810296592908010691547377756241914201067761008110603719236546365027750000523216172709285103157621010210784354468147080208924644925956939899853083105810440992109524548043714516351096063245251057104479634173111011437605112711013168410326624106454132644762723878109371029432779594407059369603105410428936597263107263106816780708091347203817414610533885090531984102502663173842615107610101105521006642513441001044654563057851221086182106063642677206106607031016975051038103003104861092776101971200970940981910830134449955538491916407037291077126269107401072597671059771627100716729823874914911010101016917828990845642568709106439641019597322171069710389062109810910058811755281096102106450102048416105857595208891001084547429102557210033582357165270755401061966551453104986907651098345291096162299410775105763202213930481056347103747822100263233253772441768114090416270687106004337592391959302010183108109478500104686118168071067234109389441030304116126931533896288505512253448106651008741861523461220102852402041267104975644035410111752775246477581007492140737031979591139582011038356423814468320431341102484956109332355331089802903774781038590100013913104465968871670895744178233104294018210099439110672110107233123905495311166460102301078805847226961674922274010429103704810494074835296699102891517931830115024119819301007156397551054901010927102690556561931466476688910040108014283825821826105105230153032531628610734772207100314811222094103411654544297805858432819690724810107377991995726044517102542445982761107910200394755055921810167463109284071069230747860568156728448511710470310068750510738636665829506600410053356581553981721210034101076545108865910910214610649105370695710649298931481041065245341105604101279965101082224504697129170101159894736865105326371098453310425832107963537568027991195287104341000599749477097499103607018609203336984610080414668384403105865424075101077091510264669392769664636640261010104108405163673204610231001086706735410995240027501043298901671216554146810766011091054353872110001060547529280758310140108935104410264757947561710250812131023676109950336498530101901130105420471500806427293302461585491001133673012695761080101775951910967979357103174401085948101423276709426955100628350170266079551249370320161086375204808128492081079451831088105310376779104631026675397410830061979221210113743153691028574109555992606709936192737814995208236363910571077022325317525743812810419103310106806838280565310385763710312644710316710082217591284581651062778054323179809162236004100817401020110554064350417410701014903390419031739495653003366812012064048474210704710609031283910776903410806765718406101064708670861325652158218410624953108011051241121091029931110878118910984294123880121024108107723101024992102712093810415520349862548715818748526265105014102484237564113361882782154774471063106142632834601060394135438497191094274767255395183103102821041103050914864438010445022371032883281562799638723131881054664293549814481457161375210848674574148562101033775660262707286253603744041861226268627410765501026941685023561742108083256879495300398108542321321061910554315108085941117481680110137101005934107510575014024045117951063724150170794197738310656803847713717810103519729144378711317104049451610274720751445631010936334077962254481163624997512185591027389138898945108072381163402610015449740873565108965100546417111933994925999011210943101067931022805207930512707176351073126177106566413268431362418661099750979211961051468411088795310112027710510227688129263258511101044852844710723200422532100484760264683256800785671102410863605911653361010106578510310153106109931001314821030271003315311520931630410685834101016626091092054657001027597383987413689241437340994327101101032410388949357101808550967717104901035397346771031315594108359015937953953678259103636873151043659492981086638419206141065109128310556007577906320835746310504658199710831010394010101041040620440845310800033851795417010016642709281059926638811710682152861938544348810052510693473010774101311010272389879359465501010594498104161669174686710106681001019166964671103108375410085730501225677990241010527624494854103176707723620563410107065662923101022109884260960057100353964106561010794397170694365473164510105651550803915537910343106562810900609395982105689710745105967588944146297101082723102410751738099101400172610111311061650310577105776450937211299994522106131020881426910215839102230901191774195381231061031089280697101010532910685584352929011003310610105281410107345103044509915646096010348204848910307871016442857447289104385066029104336007357827499618625831083957486037325910510247778876955232101091059210723371881100879784106210450061010846101330468876686938313833303227105601742727792506473010005544118910107920781870796710449820829802101010239108672841011991010310941021049210994983559054541075910312810483056284613272841055430041006842570491041003101014104109385172317365885184481010949780059154435005101579240971008492889442110642021241031060805255410926102677591058213676196644711105210443639775392748005058744392391768396816107948458388108482683005488619310307435913105074332838461710347409119115410881542171057344738063431925921051966031010084414249251242510480111064587387102219131519537101846011107262241974901009612210107320973611065767892011858735107320820686110249714728277416507106524167714105773997782345581035491088982846397554484910388953892941058710273910021102557811149855816103071041291060104563401048182904487665411018561666103224108546891907208810381255539272884195423165109247694834797101435500534242924272813527231166293826351057301075105039018942401007232153285138510637388010010455201418007321154931168310635101583985136774913106160987088000579054235561004985037081649882109383103921277104241065310855541301096037491100035117567201309252995809684209768031070067210719493139095592861968597239954450311021385606926509570171010696609101013110798628179665101077110358714440810130640256851099312218169451022670034441816116489910344989788315346897964151638756974661657105706210101103750202899439886053607103163272101017941032236688493907107554933160376537791059504987104654219508106010070253277015038909787439367968478518801737172104910315109945869724604302648130371536298310955710624306921081228001540867078410810413529281066401516528103975290854525104976610101865104997110396646253295362101010100101045891008760288791021019433664882062484796403280109833142775100044470245097291745683070751007356732695960776727624342347110896787221055385486498221711021011073515336105101080309291644072101020038043775028414747432841010431009105481998710108159105433090511012157194699346002261915068103692813105503210143561106575209621167457694451034467810221072553004078961002101101960305108107443581762962921006467043043453214685414222744299110200488896519590103501107610470078100010676394028329061510103269116010374727161073410100591089337536068127176101043423348880602014210107811742810108012081086847307109492461721011723241696611039894023988850236703710510982807236229483328871195100551710101009104732107821088986102611891028059216770972189286103614109107820516106190337910100330301001083610314250966014606734600101037618888905510837401108103410104192061853579800023062528045546810947102675540191735104510108155978410388524695267808815601039969102451211086992914097810553021008767789194721059310239066337600061031078101688968669088922338641090610715373474121053131332267971047873291013109131051085110856061080324723946201086945095336733628822939089010124411640664150524041369118108821043110475907549119586535654718571009101258431073108665857102109012983210311915710565106332717587586835825710251057110101025621401091082006500065252021053610360010820182571051073209253822431011017801063874011001021036310771109106584044923001070580940058346203231105362310651955984610107580391030234616103910052644729268204013149310900095100738750672102719346210257349242880052384210153354104914374025007421643602206333810020276757328063624906584910570568146411680711662117108175600689539773191543840287707510636410759222407118950212016101021017310657110671108450124331058107020701104101021001959560741157093069281072020990104924947750672714393958060916409109857401101091003633400101756174919102136188393021390468610510226187784392929881076516236210319962939482987710510686754249056681093311269045524010641003551468271212106434317022353551299614113351341054178209290104188786101909323112281038221012991093672553885671010366262475106171109123349410457823821036325196032654770806899688900919721101885077015391011535071041072926966718924022726023037378679491026299661041886101071063545911071017039891957718848212317101752945386398349810057101451016240400910059266818423323818402816102599500701110952705301070432219117103042321107060699156282446331710183032310061026301531378662966790106938710811001060275628824281978363082712586375282352799415087301235501210395683985773927884310101044610525369614014604481072941099281084434199725010091306210662943975051020878191010876901053801033260340049503671081096016631041271016788578563675602224673638598410600246346823618410420261806103765121010048846101070101047410210033928228372782008109510560942395471081107303787203104184362910051013511614100857042502657721010532427100812105201027399000625006561096025913710310735254748729160917738011087100037101062100620106287010647010155372693941035924107108791074670813033139010124724618101783762164337877554049100444121913139216110710626955667778868134108105593229310781615190706716991342535324563463553610202022031052110102106864644758911558465653108294910166109408339732039675020103905694289101084524437110302104108204572610687346100831310310865321435050510711109537744635106989682901010414153370581094087617510190530902484741091087610694102860619631096915305729474869873155783284507107406401042231060956594023901519841010475046459318541349062185687046832101006376116420620672189101087107320894497307629884450917621069897107224010110287776923810102483721060037840337675871012105067488514109765848601089061481064673834985610124892552991298747445932107810961602529430932101823889010839100025961087301064468423048241925001443810367662879081021321010010425810200677210595781017803311469891052102566443775601036110104735029108101022223044803100430141076898103100559193663404247104108669466210310468597286471705924574108824167378761059064637414645062122783810859932548113106510101810992834045893877555891108522065342041753725912231079587106101052281063278273362271073010910155414014473336423107670078305951482196397837317055461087346697323336105417302020189523514710104670810510404589052377304705193109930105301954722104100491910631167155597121645831144417310502107155426110956151359700924458310354311868853445636007843379247108102836581088681104009153572380797886421031082846288101015441272910890330827722157419341109218810214464266633031523109966308683849154797598331110101010234111512838514107053373893837362841071449493583171096929102865378720425518011637889281022601087270910103033303981571069710655227137610108068983086542374034244176882705530898
10004
114091039852357218710108699296210685022101090621067104584969381083471010850212410411049104293610107522641090090049045244537876329557753751650512545265924742826110871902910107743862510785442185675100611006604432575375260021026569101010794177135687069406221271058965142444539106244102102699975201810061010631482101058100909613539810624287778146696710649930410829067941700882895031032852576198109845710975101643846740998955853101008960108987610101010102217710737378482819504541850105283982587854395125615111547096298306270310071010610241290621019108554324695704702912333092659874161080386941087103099663730117832802638653217136871010881104853143114353913264729798210395051031056810167910730684464102511068301009105481110308060054840329266523767163443826152106101621055810480868108081036507043905351344468468610122025803748110924109345521063794052155926987633751061084230189684655577141086971020758477196410424566464093059230063801096410104100899106514101096534978410502541580394510816510650000110610851049442310400075551031104073744560045711005839107121014672610461513710616554514981577419980171107110395010571032601007658252261815101609660610453861528790105575810781078503670914865295479411178733182363103992759451235279187150658108684117709577162848751061036243142239110634238190824463317370910701043041363491910433803525212002857151801673310465048010371110025056810602388547829075900436693687104251304231049974547617976671210114027051006191014462004835645619102278863581684489255215449633318104573514591610220791042369910152876930601149644490644261002110801015489618557810010182524970251029455138825061035576759103224610352233106811043871450964952614107296081046912001057604740010587793527694436624305497064103294167100881476578105237401010779710926103679692951038400346107319544681810458410106693337185131081514158821109636002711093587547769810034127410637176373215210429898092465252105124001021071080207716176993747463917210010598666804006105297381994523681477751365289994368156364563751342105509054351015341104427108710443826354510899100457186870301108610041010109340010401455304628751092781359286828511680256151907242852618131212108100409181036104367101256485101048529555775701086628128063228227758770502326840101743712141043820754369301121021061090522699928064864113441075047425755410663482441099899910231079167616102105465512909101011682017101092799510884697771066387636712670701081067104104910251570333847610945931002172904177933661106873871102290889746907695291926102410689841457910122101062105697999546697710010220311310610063683231101621010042539759497877116908705319921401083182693501391088510711099751045873706689644354272210413618095239685465073662437678210421497666282726487109691210852610107938636101101011451810241020134100102635151045614100444389207042922510074218144466410352831033873697841015152785420104601055102467283549988591321864498200102082624742134489001554648919266161012788333708074951081739461010437695154469782358181785223994438039699010894015924688594705198131040935683088021049110293106921102503325505010691610126930127279870498103691024903102090577249341020107734258246540718013822311060520983931065935719168104941901010630160106010629181019208100829301077972704103238176137048154886210790795165808498410250171661086557683374793992831061065532310562149410391398810310303961769271010031064155127669150774500101083981755238108055204321107932943717194185061051010392818102933828854707575774526878363636910701809571071020938101194645910222276109651028110617409816588041423845097581067115215591711635937710622162590148104891061018251010137109510610933210133985102574322864634100951335603733101017552761408197631010794101065781152800610976358986332837961009326008102710374495908633442364988295216484883683645946768736192333010620110111050750569777608985437810410451074661078966125414100849784651100107877130100910808710433990647460723005692338348663109598385034566553098971982406566104836710103004671068895101445106351723962106510939110510415112530106350978885910651923910128563104591017110179857296061022301083710710101081963915151333170222219180439325162922210231687751054930100109311756076577439010028102203101037270442472749545571992377824152488599501684970406813260772204033891101851051053509265965103010976772872804339343711410062159100646906436410953921287865696248954371041138156435105170104108210258103803260885171579010414451818410102110134956568608010102991021009495584513702651019576910051032010892515541002102610510388982484571035714897803101155102510552489869422410963253735184828781041077210104693775160106670177356144843826696890361470310731061559037040136560132931028081087558632557971054034682916748910781065022939114005310107131627106519461010105105515430216249103884621473422330461761050013849540859199694562260247478351081352451982210625785102684369610517210402463210526365330964109017958910761088282897366545100461391139410106106609025656856101109436016603656412109098606424279224505269105801095020855577950932655442821508509232191210308297857315116661079705598448199901261391076659991941102007888189607890410081676466810567104815110282238438304100819025100789704410798704154910292124416926134271029626556038810436104643935102296710261699783510347082600361041840550883091628527530471101051061063282141051094101456642857706123507411480301070101076137761051849798104549587449121052971522136591937436204634101012241041681761022851341310424460283510101881065297106446569522356648209600188110100108990127682031074585237481071702101031073907210015914389365549747353210019697551103810104632081943896007011102997807807228428863975056598510457460822047694102508496108897532704578070841010900991304878731110830107181896352536210501047710145546804651080510719581231001064779080105863311203256948975610622890103516109646981010610810791871045843151403734495103671089681010688044247819107432397743906619102610632121102973269071836875396102470266935107381080940053105383221791038075439100416864563671030106695421034171372095388645440107270191910109408917104810709997391249102293141418989010737191252210481422910921999069329410536704072831270674696210101810659054213982092898110722179218810365495408301010190968104061090039909949106108896772110676096983643981091091592287064841037102193522105801102141509106935618947432611279845452190253101099013326498106032507036207345510850454643105681610236862440021012983106109660093393777274058311047731052347301066004598345442871300469350272611103715488568215337775705293023108994240106300101009515327724919102701048639684955344263980102178344210503731123710472751080851810106898088461144610828068640828742291069102796914176210227931292432688633370018571847753405246247080092373785551097108329810810442441053464109876935331070567507503301210231010884872707335071910108521642791719662071058489810872470630951695432236211100651194241169774301510310081060698029937070238977614108434614108541881046645510421855810289191242892904511370010100709319846047465988341710102351824106086109954110231027420101930494658329533059246036812104959056661343109845972710766573464733855985777951064103137565235665194032710000481081233808104520054985710508445752941610503682549102058100171241727524610422107535462713102480111185189005880832657100933103470861498577802288492009251635986488757061013911687404512692782537040276841359663179102475189810719185010889686769259995788145108140107710304751633440758338288200791014798545231410241100177105892529800289104166540894036810551108077912186910287831026210166532960610264290858471121010749590026910925010789529357821034153609161003201852908691105105102576934717774104210910540455441532181090768197751876923589941051033077830886241272307454261058102672696003759937761021410570610627933510593248069087910896333556101007703358316622736100492686550109941022510958948902117336971081034037399511053662013058106443097289522306101725910105372108337482842145148297172429451364810800619327843932277904410200069896623065189102217986104478064431015996475695611022459611046107910154335931241058324806195241014109110764610744079859026172868201054401041284498447484637010191043723043102854721638701096715526762476961030100222154672151040239147698471014510682080924561791189629207630952481311961159831970006345106161053110304059109810621086574191359863530536501795014940338103109215310355454960711127910959109766177101057452356774599055710866885492642439448198012136019047802572384059589620270861010320073318464578121065393101034734738494665338188968450587991310314910443722392817657803910909255498999310271022710046993910003073550561059100138869711790929728151037800238762780444062584344730157221071088239967710605006575431882421106310762371068663103102127749517769959510224101080124457310249850845484588102510100387935681310110022213310038668181005625482741061499104544147603913511061668836104861633108169102894564030024214889108020933415531794465284827208765793239980140284008600710910467010513787578041879298908395102972225029710315020615912910096759015496120673161588510789914506765810118103609628347633556102080182100925106861105038825103048841878132231053844757315222770109290987295249101077378103604980208710176110611210378839553595113849624074391762070009272758210883143394226395551340510943821497874928410215981071043817106342764031053101216105001711010418921850257109441061065728873966578921224164343055858815501032674104127062361029301010760107610373775681046951061078664930991510255535880816115102071150466224652195663311422862151049350688651391056511565381081836969107112007887532735518398872314466881136023971029667604129275869093082896510653165464596276407134197626966105747350643621075437210974838931017101086707731385745179100102858108777850530314591065101197110291077811014433510125106931612216107953757251031125221289981441072053733711183534104105319351241078776044630667636620210432681592985445471050045442737286663310104959095308818281065156513975109848106410254467111078930121486143264501075975580209211094600428985719359196318851142047039110118706027089481010139131103622068821941146105171084226021051109310104617751008243887879817029028428841003302445913210810256758910815546891746221511125246712648281435858419266251006771110112630704107141099111850106574705103867579102810841854669091590109793700705768502994111006510994105106441086982413822393107431023905113962352104278235459177907742510229757631108158582961031566245391072430201504041084120940523292636410473523332613297109553961003846703070564514109193534228703508591610019351010110105810786247833910342257917382810301002101015658672617941045245149903854263288768967085111332739202994255727205325198084191637751068104379711910126236104841004171061106326744296178794682951065930522101080010028079062410636401030543462723484192871047066143993210401088609732701410228101075104085022107151095395217107794367539799366547614313959791032077290825911083226109651009532102472904220101010340233671067935110510333966594918103641095655331984821932145914223
53541
710453310117137070070861187919516385694666092250710610302474951166101171014039321342471350106483910652811807810968957012498100511056344571021001092102010994287081592575105555105230783041055110109808853988709382621004105111928710529100551310184121123089784310325510449943100102877090566102810541011071710094080299105216213050979579529519038771012510510478691282897966310108979261710510931163534966090110894210410103210711610795481901810810705091064095047254104510491102192287288839325158083057110878142369560611048100965984250212404586535769771149320449108171061924256741073951533992926111481304734108447230972395922710920752233863673933890810910832775810600997338888810255909107375315910561043186600100100422462142684398410155634805059351063913061271163429108547128710992816518425309940167653634807607960467098931100100610038111047898101227719304808216710910231086508755367964510651080108369973096110010615783932051091072677969969810221592510434883109369429610705976040625844099455691121051031063402108877110945101007852103679106842108810223458921969146452057335104748431010555824610307246468744841560763112585100955831047003763075951056978405943973847410069177031089586099165744972889995111975458235105863670584938867110510105716652531406238221010710298101545106938489287822171278329591058996803610239106274665337041031509224756811017065795088601094401092921586325697945753071055210453331509010791046176076102935312793558541619142110861042511004971074703614107087551005732442291736377487814210488410158364323280429736745286813621078446724699835645109101111619510100689304894968301611101011080283578298687397106477212294479861618483125261024271091748985708620824388622123095493402384966688697184561026198333767315697037726090010008889468819963802104748139810627013249059363435590751004781063509573450995910704585613599755590544721010252510204568579161284662035029351153684310110187297010606425374095751261044418418209810152164057618757009602952844103610356012717341202878450374186250036210108107830044090911985217991516133161860273295702106794726645058030750917736240810104862430155777965109921663610426204127348769893834143686510272531068628939837493010576110391738720855977274952109573355938611010315970116146401128525109510045106213704836280980904303678762440010137201525780781060821090927471010506625743410571010419258541613101031829451010101057310594649480788041460413261156591110784837639010104190678810102065888723352029805048055747104476368810985791041062226103107809533347076460497106112027010916906717177893711837378584293318279585182153546110917027412310856263109152908271511093910505685872394890174851943032951150909167904456741073361011001010810270316748211105242310971010015880841059561093181032288960455109354834921022351915252101010144868270310469210101037798527910131072873443717444661004838768825101374101610310999194303432100108547410431261023010108583994482103768310910878152083036083044109510968310727864880831010256093011011687521045615137910210557723911782005200011776910241031008716077615017126568851101082456033820109676120441014510835728294314215107065413017585472795713101066039475102101010701548806264904211328106810655100106810433186985110890197368380500206898463043290351013103389610586621055739094738216145208827710093777735710210815465132604545281510549689321093390303101493345549189644621010890210546195580681008431931027628212910319901841000127954075334981005088863834431741020992971091035679104103010010758541372710107101371707788313821958937684890307410153101867879961048021011969996053181057431436278530941115102450619178591038105254133675652544201007910284102211614580238210364831052229105910588109197469610098117889659474461061031026061720041600883600702410541810406710191181091003424634498510102741875190103563382814391010123156873065666061210041157627573891089308071018410999358311619684635065285490218747451078374389239941010049180909461108222102801040506310510301006914634497798397661515624178102589548410974563767509440659089331677965287468850846398438910010247939210694233882743498110961234201010046124627551903706951106756905524610313910899721054211035002723166041012038517123808853354122164499101822957242984105326339105595471063674385357184056723804459790320226267443849099082100610300432010880352618894269125896982464153144530823746103026101091037108737702108102469103278470604251036471010185104386676307530262862730203887100101053503373534028887146971375008326668931010910981524510089778840809679357106761666459417210136041991041094801662159521066575937265879247010728282970208825904929106108551076461011254107101055977910619210125010145546332236614790526434268641045180130186779171709291791419101371011056300228864539813514220106049121069571010101694501001144937196524442821311061481010224906378659429624014588185101087208635677192636050910014136103290110947763768532279158349259638161031810101001092141190736101026104154832574093101970109108045262804457783858788991005691108772218331016765510972510764310525963610937985650259265890470567346102911075926152452029501355291574333458089497656533109261010047444148479581081610511053012671504374334110053106169399911077818848898927920981024289344115718804110611844610776030758493911044995417311172500108410310986889104650939080710143916210721565910886144706001580743723108676324100143056830300257693739279911092138010381833108424310332701101013460897104505100902593369062265227476190863550786507710419385932071000915455933854613461663481101032083061042100903244256105720992621100104708714091033180942517478210070455321578154102231041084986014533915687397470582647455478936896102420089395025910201062107955607107114112431018395105262493887746046409672038595329062103817186109284947899971321071064852001908060462065053472902597173432454994894636929573292631021995390624385717398210310577586100151105370619010611831230883621710527424695818810867710205094251003329835310451139824613304449027448831495885493206425846746614063810291013339330118094210559155761059207854108201574486368261042610660410107108542933810811010731141803931005410478740626907767578830251253165894546366103906574252710647554921053210710339226072821889109289464378101516243924333256424306262225490841010710639559424153947855101027531012761007087443510399970284056805610877391313351054105435627292383004556750752710770687493776410825291041010562109001895102625100456010101854432618824951282688308410109679725508949754023607211069101754101111001010521053179503194916101984727746155109356491011021091087110529991012710310758005616310081499516741101210297842101636959894310059351000171096992722067929971075710636290810354510010271434681065683988923044181039929241702108842846978678187184783361011011031517571069207206381429689108910926931767860521047109100019106181065242709360410109222428681010106402045424911446285342013710341045165910771026706301014712735848768740029638630535410111508248177997066520511010604371906921936533077227271028121031941092210591817114826010860103188562884589826415337184014654435878966556188894133847801081082463121304310270499591072177917605100610057634101083011668896120282852505175509830631075020381916627297010148645595104791993542491065465164655743416541079638830264810056103291053998274084998851070030105348810737139153521885102129491233108781399711041639049050632103773751014716971043262999510191967968373101115303598451038741762729472590003338267491088536222233449107048701578105301857569817019237102010100261321631006663972377722561061595310330922040220113122122519312944591091102347610950038354329527995691045108247610147101068610710103246410231316104055207117104222843223312970365210444109101067547083297812411085292603720134439501790184766963728586061035345804875301911078243204044611047105197122506034803461080710596405432240910324105100627760472978096984277551014406343991659100792440041070321010834511608576288825108447650553587795631077614748074101779518093110991010754913439710701057209947581777926019108152528811010186762210187101010850381070375942163100587627956260715710729649370134120810521138413031279272924885889993663320251010489875281564910783893790768703210169910308610075421053808532726865210482252423825534666316422014133371034531580810317101902051051010810951503101010818503871985211044940947815010146910207126440428103050587917964061780101945780633520261872150155313007603107610941054899950856636529639079930695451102132101164171010538490211044443039003182110647471708410089101011059948592781510991121007750133957749669904013362421002177824601065596103428877510525139610641082552446378510108498110039474372100532574301591048769432332501794482803164455991101410210108486962479124710554259101022842386641007352013895138021010557331248401021802278577009397786798653939956102503369111037522363157683526215871010110726691529244010256529498361485951048516761661335131074029610424045841048916106732810107200109067712409481561886851236930100096096992385346016226531719106847648777034371169659040054096310788598956109066328677955626650143212682101050185555666321089310795109387730121865639041030581076430101000383031093129941103061025102104490263457049601079085935106008163910176456105108080309410228861847932848042318019161109202715091735901010108487220505630310896396109823890104071606158928360485703711910727055066751316326984103261750001798379903101109094510055125091128730886901019894744374494932936305811584556786546860610401052020103741023587105981663961351106354415766718495804727318535110853291136106806101035789248841013835433965902358839612305210456372951637236460722391271047310302910271093743410766074771105504710607810961761170700109173717203569751089434367991063328786518237987710104062062028495885934342000010108011036581032418259377101227111023578358441110610430519996705067053979102123892342516107450013695191050750297808010728071565395843942645575320543101011174683695241069910403101938100887093316298109221927512221091034544694102427538222127111134194423927101982481076837624570109800078104126229905963208258610141845987935032865469468634717106268301463172643702382394459510910109107542697893317102889910726741014751323500549812836759533921931101100921053543592371078055109752635608521013886120810986161008495290103591053024536849680417046716968691014591410214724364618125662810340100253767921341315410159799089242904925183961010285875000503108987221047768451936197487779710661052007683548593868316221310436581070194010335450052967946181610658610527816190110388738781083210109065682454999100413891040833381981048457358751106771864777105101059109709416974490588656846502656025861893560122785478755710188303508034665101599436939974052811061616082810537882875115406030295728109611009995307589916700042278872149147108141077941014256982896610538107105667281022484100969883966930710803108310885120527896348362010010604108106813989749560187998223107513107928103800777707006225072439880501006869997710910876058810101011041260834310103001486903068482102896372513869541017382541070784203177412437069061389101039070682810610736319374779178070015792108072398951108327031981041064702177722601249104594530559210038651864455870839170499410710101080298968869535751311091085479226149688103107050291013115364027938106210877051073650510081091985624554529811076426486105910954917926443080711045910575810981010323859805497421081095157424065262054946188210581385687110108298485290078547652634389367855532210766563588275098858448924104323478526510431916830980553038722122904353354684992100747110431085852567621067522247552149632105159108761051688321100531310104088210109695431010010046329388469910310082740246321407080132541061310436382115102648670515060901329096973170426167098834320729551391046983976023173182369562764768105061044583215517018664481005966103795205934767310336966671274929975718311575892258248315520589410024524531090952566554146728893172874610416103758081091077109682601097231022528883887745103766103191226510787571016271004633848105748600535388335715121480191091882629218751010754525109039141574119293212556210810742081499479675390602110109650101068770503303431093367101038844706389981029036656106256410551006162411090946310235223108018770824795968851106643109597079107210414104367301885290105188101322526986277770910464188631076750342122293315776101051670258430541041031104319252107507310341576109540011021013675200316616594010221962544901010871050169213646103808101595210841049989318021064513213575104967686410832410744733370710947247569999036733354780577171093879857117861102934747887106767903821081056140457216675010810685283636971965391047639013105910281407210986001063349210777631010799610665763872309105928916131020510472653928510355510002778366396109426703795216499104409431810665010531316206810280454352478265035193989110000410429690410163304104733109961074603494183429089948374703010434810430102923826792419108182213100593262810545310245100503504760007166789101071038975531730709120104492110838073981573344110006910910257081084246024203298881059272457189106101021910537417851049721294791074229106926910009428648080406844871176185106510811311123403601855618106441378100971761070864894181824257213061026174769566612265002293998310004623167787310810971257604623394333211624131010682234044498364229106126158373103108636741261471702379711061032103310239106122910298103832805971102415100236101510482270105640531071071100246601892026422643275907392610179652103648772070303257072085697799747226470339100107261010107696165767619531922736366165767586910525696810368283101310668032567842270887981036101010718521061030598143572791344823430552768093913710107604693481536138163210710430762835343101282440104614842327801105115910104106701952353028424924328108710480036406104842119101071101083565671010244105116558100033810732120463881020885138148466387101010858106718003010675635225574660710945110873949704557732876022609771047644336577852630837154753031410184105753965781031949721091075697011023215105171443550410101091461001915217751710105110721615965244610253535307119931010561037227721010310333116488942181727638410732648281826281100918101103510286422221010041095856066020197910081077150710961070404320426841781637061177798091010129920410322541074807756781058949518103191294626301041104175707031058511138471877459540986107080953025128023437610670898696882810521059591052575173189458102461036196971210579100365109018510220031071013122569336150500593718533749102408910986110016910288065371110557804883466310475402921039898591286102642263810640240922410173132060332450258621011010417117106565581040591055170109954935398217810560550136062077588902423703082182431052142107996336249101597281277212410557548529329071051992521168596240231003311921150319286019044624310310641010932204103924810476606259487379201103109187103592231087501094177494236108610131104781111328010321010305081964552232851010126232796479046910156252103771091001539511107485135262854357024934704523108923106671010852102710694008525527051036391014110076108775367311809918494479737948882599885625061361058050707320972109761045576804709110004763468310621196013212607405786161010621056143186264106170756847706417261024906487805986895051048108649371025009356102967107575751683791481011063102931094550101690463770120191012254999956687782255108910480831544416210134983260921092682448102103778071048575515696406978183401341049106551098109570511395311806105043844752377131082657620335216429010101077096685608410621010441310197214471082478110949491079273590307431071026912807585101910763813311601676722880189949920727130103572927909296942882321124009209900546425100863401071102497761572105088831010108104581024851091624081054561088163543467805945690579394910991073468104610447201061772550127910101010720016510542132731913103992105901034058691010174967688399893533327680067210102556670108143102221010873830317121010375791025714817210279914841099418141107981362638058658982104759710267519556636104367760598888105442452894510117110020501202385241700592085992139517250404384271050741208405108768985201634021006362380110318107332403269172359732107343049104071067094469990470099686136103358852242559108105213496624160381220452510080824000861377142957636436440109095790952497815600537853192867510097470210788356273286906424652445545162107846114409073921240311100506710078545767596231357236469675436897735810320865234019574321117088201010791504006594041851057007500023997911047710733112038806150987109100741103438986105133563687917919303998096102106681080552710239573892104810147422339799014016101189910124181801094603227228729104525103940361592717644510965870317401646251025107561052077165057110924929990055943356710364358905641048405918571035702004799152210820309106104989212809610610149754578398963756232510545099281041003341040101905202081010283241068884458163124859436952684738888373436825175669072875761060355903320538931085858787105102970860671362094288889087950784331064236085475108839698101570887101010950285019301112794775383311510228001326051010775592680106504751510640910924962110264310319243101806037986100219041042827251010436398711101031715103053314018559633344203958590171356272103090101165895058141196016970204040103952633088427430446733110675251893210426976600333523148282430310718151041076903335050922951095367692355623348612238199848634447410670711047757261004185596894866597773972721976979961019433100499104941639798886591015928091933738104105108433991868354450964810321980456230105009058436798386104765125011075201046824906043719100890102796109010534865023098110910910739651006082331091092116294503472167910312283056785329916719010010775080902816008598962553531561032104879988355184847109009347271911055383156726215448992910900499924161864893536278713603410815273715713104972176960101674006250684695174961116216433841010041588633075210961577819923714926639108000645191674108108594100641090569014569585010477510176410045640231188431083101889742011009646692142401709108596410938038663377579469351051110924106811323410047391008202911059137285697171015042042100088329109078104610104366261106473260811059932138508090108620857613110602855591023024316010995153616900318910876759385350064178810288510398891020468931966556657317218833101036929411047213456206792622102010938210914643825794652392144422608101745710999458510565880926287910059401424103100973210316910231004641754101091106732710838490109718128171120311492127671007102565780204230829628078436099100673494510211024354496175460911093651097682063910107263199511235819881234168574681033673974156448485634101085713010421791010538240422910940101743034489775764561045053377104368492907907328819100418510710953103192231086191079012267399004199861060164181020937100466974070106976921510046385314476154831082910355611006622100248730601910615777166689838102710449732062102106821028939086010510835125515502110727101001893394067457910132511028631861995442562311837883518697103610785100077742241061091381040903658207651040071024986361913655143494874539331311733103959023077646810917883885103101212210785710101710776957881046710650939969770288624107869568215102102781500933900430445592960991007407888100349828412681092521035813710201065510108410021002238547207637245103262732852010029525048186103105933610089761085293104581097323225802351033955102192196890581014640211064317710291710638893298710103479334210110728710456350335209593494701858352106891010022653100091260577061038986866318641034101004286610789762524214568151109113693795590079140345516067343680377961092596091410467701059891295669922799503396378010088598104106212937949834410675105637110656810181395103362710879837254110610210072001023913941087405431057668722712678105109112710396271101006981400109669587225180111110102109525118496160545937035087981310131103908902266602101006081051010806993940326845066214110493507083024350610029900100246134822938430250109302301038226555101024228849420877691042719231061014241010020054110655104468751976107101084626671553907151010066868855642739923610635661078510548096610986100937768435710052104427610910712199136311741072186562702622377483671048104610133981975110837759707590464103110513105855103183779929455561061051061001510107729469954682781561682102802681044666100258993682821066126399911086598710623736102128102873953210160247428238610116587289849706029230305983952625370910422607105450541418811223551141124820839171084112100101521026855543683551101960510723910750734910958499875139912710921050457317106364610325958883594973108610186987214831012300771026927875710482381288908367730978809558969822032003736101079893262566475820028403130018919601032362473149704904204911108017326102454947941106156107371807503083104210410296747146199452839931018452954497795176944600910195324101239862904385975251001043810781061071804267823752591122710305535271091033027610973479535868510019481006501031032870605810305100199881021030949132845610684457015597401047004110177734853765154673612471609103974801752795348470268076740106457711925810731529684953712735952271022723397108985606109752410535884319352474110472346106392034102109510104509970265106975100821065207284104398208617257105386920977613907084961037621080871002007991624000162266450153817881151061059079373394210510651102254610146453472158332511110802102591014102931014902740226661103742266119010101095807910658412364210980510921038300510761477340084321057410812408987611170910077109932523555603477113736178410331609956653731073101351088841106697813104881108825100617101011070319810339610155685498371772267355810813107029108262603010251437959529410073905480801638887010583865971031097484107913010901015766428520365483010977886222787261034410191162221953846042471710588224476075010407577600200942102295840850472836100974123508353628510485033881012305910304078082404749105752224410268280177496688020094562460105291113395744971045105356151000122353859641075609910561041940103872113499110045534107989172421010310651020931004005119079031044844101089107104431007444623937806027646215101079111673341091087191101016419046165310710301101464843316738104058077281096858223520110056595557581102640830548968087720385312348610107478637827370210200328101724957510410619691010651446309105837575401010106254910048745350339125930853570109510038970393667358022108936848616998141080691098891020210231176543733101889479018454250381310195410212041216490308684511082194290010041077053113851129892816994510150219071020890328872010637777798971003428101280100870595039137941703318810484103164460386583041779977461029224521098414006114909007191101524971741684280600827368765815344552171516310973618433810587808852260851621434295527495529862823541917441077467309912910421221808349109722110058988113510101839137539238541708332749999329289364601021106485425691810707583647892380047514801904306101933105939980823832109591584712620316531095484910109921074111088567713310636419412573710931058101014454107369205109105576966062462294615868407344633025891010581045909534158110427803401037621101509505304495643547165881471012968481037641211162471573036642936108310851519211096010723498262903731098458110935292966810375610511513389310336603360414606054319908497610062491671021722128100436010397381419997905801104162584553101522832161001017531471081092104511815103561010004581075775520535080541736692423879101097852718520295774061570456158993773105584106300555030514492730619145741691400710101089610101750714469888256310593802488194061025865781103101082324277131665010384108580417673012536701010100410659065455441189677005107110125108517759751022210137028315201010681810102810744408534353650193901030172396704409388730810228439430249414575249102973474650396101238078537108761095107101809106847179936101094187757972010052633342084992828552110280454110104029994570255276611102802994017109038877108049072107651948779683302981591065910881089611021001694493402728686827181957458216771681108044019646262798165101010750195736671106950406720293610332979650798872106608042774794783948958609548819210349362312883101041056108046010039610381103510131219810841110281721095376794483058292993297091069107619144793863852650903793049750104505624119229108163910129110504105246310106948625306376341346871874905514701010081001519575500010924686656738810635629367335951090544932823470690447882264430655351105910329563551045111000934919790527406683396109872071005111067636280811461011834067556871410750592108097010799955259310925967410288452100101082661540692614995410381643181430091345931931087048833848531019680631016908975343425146051916662106710141930481006102737219632551750906883001013410107398976101235717390521921535097964741018232360647810906895800016010889100252310010210108103921109310728172682992390032793896610977671310684561936671511887496106991691021518747393145555611084184339406871107199932010698000810018519657867345888401082754011007940538626902601074491042194438174080716766410010101356323455580652319583101571528469418871012459100270110758410687113507101758776396212844136788909452805929887331546611164957810354510809531019220359251810763102820638436020475367424857241010531050705350168317298269746441737563258107396656318947537105185537046757211010490485311010543469040108865333210510581602265108468753477084109203106246736554211010106116225983558470734729999110171662615106398459309101027151060031567010838241098696994549210725821213425102979067735729810652745471936190295537138898828063039081023791015761029935494472654909821015656010799296470308775108057630546560203100102104563126251021775461899316843628719228713382121220450061010043451091000756791086015822107241004893342317104978502331438355933235480391005339604109104438725347621037312107720131069102050826901032011094571781491671462569710510910336982385187505200073576366751089010655100753100081866104140891012051017105106048830828694010147431510226108299105841091099361105125843310362032811026302408507108128994258101103306823596332210761910616996512825108581671144531013261331581008636482141023027471035090525001812579421107255717282510296919225024586410106237142499726009537103239492110103532547988003104210134406072757480052078443810431044103903918811410465805107215533966636500339880664451950312775302371784115688142106638776722398075841785976055067259857101031042607212554276428221496747205410268418910193789048106954365955684301729243338610696102100115389102024485352073638781532766109189910623026010481013081083976586105296410963401026234910002842238380281201883010138050111033080810262901105359515990150239616576691958188102821028962562757090509710808101541561665052747107861862035156632711331027102073082210744021062923490610825102010105096110710854181037207171003058826105202841010547301564104891228757870608101029004106726805259501024657655319710392439660169892107636810791101076673981921199956180494710094186444001104170410009410498821072495568104407183507114652610461014866109215648380187638684104430387936710920102539868412401061077761052712200805284696510472391024708223368191041065512135810385849951070193161798573759665911078816917369108142473695738223171738105774884891129419792952103985144962521065110287361021095107827922340205903779454539101447481010910839103754882993246386472828250658785571683808998322910658003396680437522021033025595105793231100502703710103765729185474361208421103160989101811005125126402077560010032910519360101051071058540108508314510090188110710000599533163814610861782101042313685188685209103639110102734777410053195523984487548894104798704777859410051013710107793163821089798631103701610104837109915624101346861003145439811027615337638332543510150105010109821093179629011061038521094187194067596910944760081093103668942841021713817137108971017210237610657010101467110150105010695387610636272879411033904547412827474289452842747755994535410910315304869510907915510745098101100623225961043693539284107343434522724779321057667461035732413691102440000902445100295810267592191082260109016299553591281050421721007501910961322497831010010840410859510010259175333101059471722214961235104101001076702078341269679852806107819698843254107499176951082233444932075521027107089302232010607455061010543659392887797702812646338201060650752320219218434315124675111898821364841001007503105801928392080105891988329197393789365282610102910906341013816468134322101804241514385134884697911281079457979310100523688418460677548670428610620372621249254241571631985020366787096411852961242444736108022577910383760654910631041039725934096849284337051084694982210981010107578638326998835233463501841550128655104910510353594481092919013274713146345729392057680969906351111033353411063407643106101511062118968374885981017109114710231062968365954525384456118241011056613965170194104562152319939500058273710811678107062930420997218676100584818731581025103887362160356891021166214869674107247789322361544221795571079144580286674459330102958042071040609236329742051071041057465576342373827955634710913311421024270639448120031022648403341171010853980919024079047212047310210790006231026614264876595340101908995202018946927367495063410121118102536005101353710321928366918555623810101094553484944999642641621472216467652821541530889002475762354610858100385266265104305248460110601356101411895355660164042250828283652610203853188346591792110710217107710019678779783874396460210498776467954976700717065972822109121022837839810204993694770647424810021088681106769310765649731010841085141651095101031061084889909305666661010410942111736091180290771061083721491038294017848196810891035768100461022234907795103741137287927357845671300410311049664216306364158834101051031088001071622771036680681093375428853491883006313210510820950156758316989945467901710410420041210121698987819585167095256041010895740834103505170107102712353532911067641044917340662225912666673403110101280211066478905784382593293449671051666910308608101596108095010295695696258122791723288105983101610839031045223944406014528697810778136701050979410161021048777914823106750966833210100143655704527162944181057629126881303367882701125021710901707590931080773664109238746970687167464149737710999170202130183933131666754901033104910227235487416659109540513756246672070140061945214592063911193023101094168325103152010148179162251065119203103210399520890101109189010623691441044633662810451001096910659299107181080644959102801023536456113561606265689620051048192510810759631051678165284136033884550748338410081990642131062026310814341668611014451065210104823279756710580158105166103821134810554080376210611538581017108906510496922569794410401910182299300104275948888277648431043853896091010102696597371382441035548793837332910222677107910875411062621149429552286709739249930823084108262522010024793859278100486101068610295210886244108949101092226610105831094500441051026784770101777101629388923008703954792167091089070356613010310136101148487387026710383939610312191090663054407184584370010934547244041056486404225694637991047279105901066642711110621099109157747973671311663419996070652536103715887016103510121929770198646124301010052191074851745190271001110410517181025628154549538218701397910979571027710357631370051626607337839791037673687109268310587018049238240351056529616791910148010440663163116690239931069064310094189199438554670192034022546413045231068920100550824610818197313710722887420910101808751010004210081965121886336385199378105166266905227906880982421068551051151804281613100983299022997311002610611295140310561058081001031041099046610020480463551681898079410590958711261009878314610974205810810376663244143511310101036874809768031035251021027811042672340842108392505359377610960107029944210519612191431060055364418509061062107219140123108564834105731010910048089225480101074601041779511489766104860729145990870245543250728710775573077974610932450249121015193270030695210101107231054962237725255912100108126449271011085057108647907045443846695228335128265439446475335000312399108910334116603378110952103893471329591103281341060176266105622380451816101562101960355721095299401451014718110825143766496371011595172310510218106710887096427241010556587649101010691013652661093810646270824045300082549010901410956331331118498513102103106831021034128410361010109054203505210442345105671941001046202510697890609466361094748028311059953441096297931051108054151094295601031070142096674109810410210984010847510725176656108284601036510101658190471037591985110710027226910561033041028241040383551045832179391009108200709708210827383295103652438298735463885106107882494549652101229152332371778107091104621027241060901070963030010510655350233363104331087895450691025402100090612090746978515729344290611076891012810120010061101271874088302465038259518066618811658609470083471290713149810794610010752103384101015181910956766116511551807574211089861011260954698101267727523610375345560210603427827399216031510910122177289133156132637105410677487227103865880014691199198104679314730991294341055310039970907105718056077815729150426615415730109349348287610318810017738610223744210286077181795481023590610882444101810410549610102174792529574869102178926641001634047241069288591351056545101039441097810288436710130447010657529726399303667061426815899106370010127876351080468854102103510121782524139115711948086684571757885802038410370183530819105101848883772105411065515031001085653016373104223919114313104423320243791597105749575396963843104401210930478010604109531253078417899052107450010545811374205410939107606357101071047801718391373353531010102431010126273514311010445201110809716926825929617415262536009261087927158563108407452891677199938379210008346829092923397610247525218818827175108511021031812462553353682468519388410678103750101105955673431015704362105093597981080756350210830497808697289675389164810406863032321052010103220922720225563510020647194638087104561153838106561686519280107675846168335553335947164293763550624101099328471092829244180479917290205100581518413176421096131028008340405443974165350410849325410100474497854101915266355352375023297868206776001025150881038049914489593330710101096101874374241010107060275151007371062684828272244144103215560110123188104787429721322430120547637610016327602107732105928813555981465957878338974836128046061088109799108360171400010528108108464244471391010591059350710490104104510310122208210217310378793106517736782110026241037910147239633567811459257499971201680286893650635102653103962008101833213707778039339665576480670365104364769396913131545796500349593410896220221210273868107867406690207104927635105602531515414396137604941041009918053860102091765901782210205104801060789452610802508740108372396110900576634268757104102001020990484278817397221847231404613628640388034524653110810761790710031042724665105687578543495820391679835867426969467754766365215822213090537547141057465841092110742683810100428837310715375897910041473495710563410118210633635102774210996710115501698310001101010528811099800375635952453831050395810245310306480575103101043949346300556100525881101066136106389105937991095107734383031231085815755107781104439781107814102616104362150610517610024034504107005492518667270221074713616347126681038530579985436710421084538264393040447314810710465151078503644104010136155310510020326176025637847165698084879551637327602290931103100667071728055131498489591425162159095397743297028311761010003744944981056853951075363899479764547989462331011031029929527610667520003292932107404798707474882862004826932836742694919610383038319884960276482107252788454031428137610149610109518357415150935659819531241080101068512933691016920101001015468330105945250312148812681117339696106579021017105107806410415108947925261003140228347107175111172678104032749022111101080451104614746101015993210310237510373551371040363447054810929174237712911070398675716489157183105801052126212152100753563680207069199933102914455396271034674610810851081008770871001445510101539210109393136052218780569814060472693103672242735697327851062767021953822681078233104831065916935527762101921021007798914526290010331721100780326334968276810839201022107028417243105330107874747323861448536555164810579101090496610660122741130377426774157548561482712029830161086764490052012682147107285371040474100010801396710255605910760165407329890147953726101052991594126903974931947866620987833711008272235311510946414891043279589107196210206541243263981050316526661019810393636354726410620410103106149425085074777358671526699106018241294214109238197100286766109810862715889731094910495135281354021481099457155130210615669647033827501021084655855102237810314436810827419515701673282900254107456210165356896971799923411994722905910610331026109093074271565663093109559310629711039364373623102578247976101292763747686500349098021073468107585525750710106827506500567273104028662928982580106108320771096103188327271798161783108107481031073963572717235310910310901023919659358310009721006641061010105360468766610110718517410268103109102100082930949642910831212999246105760310447000550654751022616499221087044341031520594817979485426341010651491061955781810133826731079134102573410882603756108868426266354251071043171010108991066359733289627309066822653600716413612680210686758371171297256765369109954872790884341025658101684105383640242261250071010167697691058891097620593710833094765671107183904023265902604867110741371069652808494334755371801844493078025610710395007990153810500101027194976921019807534810106673210551727106521478006394047130151299410701052410128710910641021007984348471101045639601061258861610893950980716553065292936281012575462398373040282073314450859271010383102963707994452150107610353149044107104116297836710948510580503186385313201029441045661031810106106639421101024860456219591827101872100365251019582157253351043876360943851455328101426483464310081035272698104772710351770117105101023882107911087102084940310360311130034689459253663290600782101262305887824313734265163038510623101529515653986402844482985872971436021449267933110942568050100569329141510352010310759910057471740099106010193487081059621047721222198981163783703938254851048711043010762584234213063001049330103013762281263769694036551082451083837439686265677859998482406104164101003010641076166543100173815110546910148479055629410105642310028780514972163611001825110104103279101498102710473217271010210106451101010357656321790058977110832010106032736010810724139888015041267181765591958540940632810279395242109499949839104368327991076012190819771108839899839583100321006507045851041822302108176374544100392641566546204713461496659510953059559924801210100104792199979566102610207096910661018577278268677363105467968652655104081665411063610957910981281087146910429091088695671050105400449914104380150328410131055310095864100261058665704392570196855901566499863746666017184420333910607361093650812389621054190754028810729610710773108475177006153610061003544800509191042613957102795630480463910310937772109528939891011183950678705947354874742117263486458071108292643543102006106540945655993575869493241103611257530010309427221102729063996877158610165272614941056994103279858983119531059284133997385331010710341002807737332024503410337101227917881029290588461885719326742620210825701455851060165591462587563582510599989632241855175587324242741546931896616740959101040910256828371041006523025697829804053448099208149310535036131086827431090082104654646400438590210926515022676631080109850871081110595651775553926778986882113733640455010491024528210668673132674992896010731097986058862302007741771951341719566734061017158104849191022584696598913620331034140481030231089570178525419109986776903846103357910832281582655359235210595623102774992924315410254758670141410410832001476310426308370415555864577731009333187593889170510420105210554901644361063817499624512103871010410435161880911062106706410925292935889651211543052305691075215172103510571101326581306108663078102703764212549139231935270522210025167103667102409591673922211010991012033704109510108534847126258907574216109103635852100334350421064638371194631081946610474431010194710818023631041075480729610611032598184103722457104395263871173417420910468051233631031010103624319108201116861050929993662326441240798386869648937995911269911010410007910204056200795474243389487811101210107072112997978756081687316098902361109141996680267581132911092830184109327602105950149010210723837941003303868692898139610209181656127610107626410014331870110323661700912582240010501059910143108373981010017907644678122330846058937819510695846243024294478582631963332140110991924682924518202100100109401053625907145808156814102010631321109110510059712010325075285551311016197952338776799915400247891989325970064109609288105910102676589672106988104710507110215181060021488510107550722514060184484710906763710598522576897612879174715010062477106104101610416001190106438209729980099210079832293651010108541084946656338109482352872310663736905919102068508433291216271510004364367149469929574682810100104410796025305069409658550157831861062551007127691971000385590810944285259568603487899870977185982791924975043507510240662107801052167610283010690052441092421210420109910281499437653910866782372934902103315469709599837101737103228874204865744719763734649856103381068265420178931063881010424765086544038249489843019818105928285102488870249307610060102322533187849106251710541301026234929521510438281031711926664341912808101010816699605108101051201010108524275760181691009951810831507270104021008671325771011064584293739333866701463234059047226681681789006381068604015710189632895076573743026774614310626695931177889771674730293413100680909073710107010039511366614822910108577290413217453820389110889091110452821076108224860192106081034618023361745025104109928861248204004510979451672735672610420651861291310155036554338025791784291001000990171052967804113110167442177767686510431080776944533174237224592871068352145249049938924516511090093810202003010813188645959101648913354253210891105841049531010751226085046229822747180657284109869153135510658455105637102938714055927310403674106990766319810386148706838081077070710875510634855267801343537586704732810292938763141598100410106154843492508657103599989781781236910980641382736175105471509530346100976899641673779108610993649026510216166072778759310670764483107407661281099923621061463445401566110510349187101813863961921513336710845510106095490858875321010110843309310707573358242942745210473552144074510761049082171036981082600594207710339573357369245596718171070063695101099837170810070102057106383631014226971145491039661031381813302810327751439514190101048041106101246914357138105110101582469551060980461001277808062893479275991020838103862021088143281808028109568052209105541021026331105910198804987034365061659710957010404817420219100173082103838810104895845381903593188135275399854940225800331067193100100926961810416526726346275456274381053327073178010880587768764755561095510054671033696171010384140433461098105515710429287125797417108107574038210101273924472753768504472288941345101049101107200011297998391049606351096610145502810759891057183301052175461014295370476182110601103047696621041799067210321690592048158189413107481041610117107346021235876101050597104879834102101090063990622899410541727106768304536839781581091751151079551410229504101024433866110261932495510318033492794410566537781006946320427554145177193800161104297552106425042548842373863731176571081098394455631005205387145110810884000109288807104410548290851030357691073281070985912101044431051535409055303525510597180961034107185651602728288771089041024696101067561819733890158897109871963181096910101052833538337237099015222964300108059010146362553324370103284103314716974126991107039850315705403897817511058012106500104909015229078231062010397510100299039187074440005227991448022101253587804032872127546510828710147305840801710166406810569100106157506102101006355100304117367514440759375282261427619110465466100810071035510103346161041610881010021107310101526108081649574967021104711072197992539308964484413359178916104754268055358977954510709101964807068071710780821721092210371574600510196751970410511010447101057249108134551941001094704078301101036906510447639103655105611879327014138631100762355760057143328609100462108200021561005669104774943523731547752552597387026105887307198909558463784065110877324269410100158791437751678551063474628231405659410710308136872515785451009104075546908141248508668222477233397013094681038172512215469877846974337710223569074420641041041013556224554100731064161084821071519704310010001517041810671786790434378362812963390178341005916010820028100265784410244470109210803675961046163938625261101054738091468148786106107910109699706963580206545659810510583281051102892130757210410811081011047610300702401815748520532024450215076910923138117959190078617838823641627914178959824564101010307127892525810524562021027010626667174243796583056544555885014068186513954512910658956606102651010565210697239852139265486453586016610878910721698019881041091057099106151015189591736906311910684322563496491097105103910299671138329261940412151037507115921010362583876614325310366692564166971701034210299967921852460192910885575591687312100346554230187210610807151054646245101978291027691397735012512707206441072001091074791081481046110941061701810085765495014410924269981073301014080735947854280839305625779283116110801077294988101044952510532438930818260528630001475258104109372432210300373210105315148414394223332997882291028103473938184064761462899090667386110619510810753331091064131981954010101323948442373010762466987136565645657432046541133849285430880762833223626590110378408810089253041121286910536105775110105623039180871811625071100514547110303841078104210646810911750101777971464710928025310107281047622463077662958979921106377501010810276364181108310676107202719910110017910223109529298454494006280101023010987981109591017235253116803011003839674101054100328257510546129100370545773724916489801010165061097121662470257488868584904103561632207963411410815878167401029998411011081051083725447103903104139787125103109164143719711091001565310091056021459010510392791763602100704991078310003992803074810735254101009730182471101101005558526667134710263102040410161010392701633797710078904465360610478003870976607908111038610842633102610990103581577351885120560721051210999581010010295854867106604411599629410181116810487633770995704361057932189137605099931061101043870858239076761010444106966270569033410292910917981079839510799610502806449951063746108053544149781067370599108463655100310710595382300106268954417391778197027505257951680076221802510521497523915587110056911010970104165829310958401044614473887910105072795836747475336710431021639494011425410780101611361057546382774080357299104463977871022427072065236843884943497475102310201093138591010669510984821910489211067204642113179390109106130137181005550493741930552250123313324795671910745720323812399844310729910171164305831024597906107572683359637771758849100919122103507651094474926445100634597074116639316675258804571934107634253444901091635857101016411066511014165785489609651050869978105104426201064093110110759269309630949323237616341218769107975101107446463102939909101008109242710318568077810710188478936987178898852105520101213960554098510210458510595934894554421000265625746460148661079533903666207521082785610364110010104131907493196105441887496701647785910507104708697135962108064844535410989879573841695109102394007342828384528710077923444253775811003664101074659281031571054063013885502954823918055021070105297805401010964853057307341009942630286434641987476561091070205410997412610395868108935641069394611071316044101049864881034010110383891449946038307777897613497105031047464510193696105563567679779770105531010048569410523108106102336221033410010638822895684780853329959416028688237944028205996361014613927210231050610688362593439445810772812910357048744720771010639617858410896101920281027704551051051027390891063110109590967310100544008215680940302372481410126108109815310576737271010779838621063506371395249216019497905098380091051035653203399633451586232475301094719967566648810438632314526604949013283851001281010018774288295721429410315848348149910109125529801061021931298146344998010243473110338909625106671055400357733101010321898010100470105271078197215602394010364074077010971023148588109821066539873755970696501468783682051055120428008657993102061808101064671107301041880391506581064538460433883991030943895754484479940889789942510964861039461507425937809101599695214197109165865026208221557681032515372362929101014322988109181801925720003070125575165106647761093729227095587265508210132202887528621731079103204107742853197667929700241108510754814591081759981041101403103370910380191315475609795250815679883818450465374739722751148977512831004332712779043651030401461645868058229011545128321087410206501053863101083810441445878109825074630605102210139886863727675101052002101258310593194262109105019276068253564630707483500110548981087031031013510215026733360423101021080582595103100654375916702364469727839861488429202640564910610010479653174310309105102467311069149276105982132876004110382103265432066141054925051779918962499931086106314113681845762109624574105105259618102571065686601499790105711737919561269493108201013273008375363216841099947710438100071107166667302210266027978410918102804566101158925290117809101298512083108669544075169731057605850969985010771104612542581035102410253030984109781106469561095710581769106172721991918590026921228018410106742271427563891868649378787107989255416157374451434044739368193473107038001010272742321010529824886401737101079259735187238755303927993948125904741071090107310729874064710649899445217373553832210112100594871587240790494608487675710410105038103391970916355801057399190866061328261096510610226852274805909073722800610782104946962810410108901037064010051076101587910479109551010104381160267033100137775829507591347941041667370709914114786235574862858878102031539098327834351109334951000661040989372152741436511631510646518675094961041099414103100945427916770520110623610126219455295192678106947286527102395186354110920010677710996908781023376804225002006105097101020733869948343040528713778865010961102527859613639110071041018458451061977090665265802211000445907391925103325181663539749668521009239686300550612100104353042062772784392786887199714959610851105991008101059593441966227029153360129639106531881586728320290612773257049257046105107486132416609476128265210685563110202241451141100053910190110864774370225803460104510886593913893201019671026432510661019202012481025925400603847695695408428108285191072164010831010271025410867478780551841310102100616103967910370103545690021008051025107515592178065572228379100104678610554600106771610907327712618083910102666261031348690343902832573553771301094822810495605731177958899529589771558084771631469198101013151086277351004610823998105664770928993310101067722101081028981098845279237518468968136579236970769491414107568110136860102145260193569076386382101081491009663103108535657883486435735818396854893027728514010026527696463106771621032140641010010107928410348981036314787894416356101549056106023359456508102251066042252894961009104505034491010108802007515917927525014914248801058760635922182069221027848610434050068425035659210460539189828340710883557727930562942001107146399121659996005151210060299691088598710710551095510210197591046871372625017701165639711045105510310198245756394514723270158990987736975101031975142930573091055076144496331082105711042107431886831858571057146107651054186686942652171075103106444749610091438962469478161097788750648379753373211751025213310770872302094910252424573364067104737107103107006212710984821698846249657949243099363252727966391069516015729627064098546571046759806926920539100838102065101589978110522563105299318774788103111030310827281051173769230163110253810825541015854835885721739410407771010105602108108229988982276939703785108946761097160106234926110641946190855228278557598372455682817101038048599608442127128756110345912250266702115366934478107124183651943724775993110922005410573039579352071045402198410575250896158311273915266911491053395560078107854352681089348172337410244927406107646710474392329511034531543243477978108512106810506116828108410862971105741002101801203296361138699107100743209735810146295289108149103228536131010061210098831174219316810711080841023110367465898262768718010391055839634107642058931071008190551571531561085102110535107107247851051082210025399065109811091730141678941101272994504338360510014101085331058720671036229880100236644373751889202512874148631049846644509952189265621309676433490071011052061537810910104750630705287806510982057108357349253010613548050136471656778862175284230344092389965343361031047873169968510828101426471310910920236810846442109585145122785231041880271051811049610473408521092618486860109863547688108224103556115651011221035795446658106668867208106031022973052101058443189918107612159882910109010553404125686410499100962441073463104110899510346881961100108131417200002106331011102791535077216411410510010502862678871044107106382681032230206100941043001850265903410084615110510209159030925673474310856551464638072615475992857110491071903958101100847063106491073732357410033910558955010581061008622106878197422483723195310553655172110320197610111089952960979839103091231002487412610281053310964926123403999957057000322210793538510725966939155644410741036212772102110939607388356394130952630571636543839273292306612716010271036202108928350875597025748273910451097857101033701208204016921438910532574107323212589293594066196108109710411051807810427181108275725667910177104109510980443289829210096910280210489510438100167595394151109126691010857341438759008101010355771548101065850429345656402439293101003691010662651027251021108999235859101037951024239394419980671930108819102610034958130370105672197137695987407061066802104105430258391786671746040750553310941314499288327101031430621175553104400341051025605203289456494107694458387502355939674391105002107353428183103161010489506451030412106472040001010161087240010055881046661095611108661691082108696855632280101010890933011010684129615472101677832882623810041034944506399401689213588675796387756660834034226677243576104107113489223805199622722465485928565710710576538101003510958312025947853583229552551041207133998503301085811026607188101165109599723926410084271039208136181103101919442384610661310013403118004458107361541090486011040069330272691051676102214410758318371010409810210109937771010611025801301726227100942126310294232753104108291012910625419510162003523557039718959188010762802571510210202386232704974106481071039817510583159026554691451637939113100319518480862810063924341199629147319928950701035251418010472796783589241405110103610074553410083101001076649917105909710108780188452882102478910971084176945720996363100146845335151046975948104472821674640340974745499223772950550648492207991810833665371816401090501033997683832267810342103063619114510692997173671211510618210708913970380149650037214327280181027865910066938106310477101712064637400610810377594083037332589812210194311018848630910611011059073143103871588393950639737301105897810235213374219387378761512219558508478603667586219825100475855478538355460710260101080929311022976103855759210228666189344135007034103193103373976045572273351001008108010146994102918587984221535267381034488917211137101071059849109988477101018697301078635011066341070408820224980321002129384286910559031301101093438839710166663610496321205731010165109108961461968325102127836943091738102368941010091006684919489100933751635367071025557010410389741899108894350034035309372151120426753321068142101012669411105586143594841053857257409610449426921033324524371018718637427105301065734776755156541036723207542443087531091048272108287601858499106982036931137785721017219340799211242053105608398803819252021037924582101103509754101002242068040915109210532910284869822853031539835710705971231435144997849103810332337425777080927410550919107218225737105161847911017919355910927873145810251646505780945367810604731103107711910315196101101727730405509103861051009561024488881131087666201010576629618899979680810139943355498760559191059051113773627333831081481038253799212962102388510532087595942821076531681020607905623410010317350801035960310601339751709976700436971004407110978210079395028660683632134671072698373201016584783478100437699538891039714854595026002232587010874114088510968107179366795147296634124250073108732087361084020132027102810103520902935333817809218253310271026911023125484107120886716105645975610410351003087957871856245456075252320784151218838953412392199934396405832208695510119822627861021010618158210410771089931910236851054871961919981009971146315566106976311100769810871049078083151917503907410541010482926381030404471083361103441019221400106106510689293843600061710959809517136950832621050879675942210010582909110610369730625017895269709417211227393510202731154598775955827190574284994412282010010023109881014116622278249726087467666993107610224775048910086106935493158710069377394308538067014373726110473380753567710415125760949102591010101010581044002410932901033357148051846186488501010587700187958864101448193780021569303100249800110410599210107797404393162623660803174955710109599727747901030932921010135955134104702013508840735273030411018932772487180692510237280331061810013035676401064108799490795697499710581010782045106407610310107106139689138134735503133205396115910610336505810134503022869699474703910023155788974748286193277633859516187018490154998210755458770811572646590106138932102108653992882108100628880611072231007510931056210486789820910310477781101841099881043789557060762210149728265511003524101074022863104143128966810105106827891050698893807335103075243484253931764925086331109618171427922540898854671493888235846210316108715636802443287889610075869838100102021010401723979101010670551140904717271916310511108080102710160213366138106714581121933614703810488641610157599227101632158255135856101091015280023910461005691324665831202022077610280105650691093104961010101020441098824631696340221020317577872090270001451043578100133288010338776676624463326117687542571110304437400571091163731050394433688353100094339025313214054977861066083272489357781069484790206784655561767332316371010105657470920801058959559242710063454581031810778627710608543922736150103108631450764249237421062502269984428081052485968103481088295101086955819379875759304109606689621078117101020520786082464695466717669105110301944027110791210944212329316557282030441050187064106904410100489826333075696132948484107595658663106198278769552841310899101001365379690088557213921087510140413405105106155461049101012104588408749100288101039907471794945025157181062230108128861025165041910343001007362514447286563785098784916579105463101038615647389557106388910477972413106438106092103101080108591641030109741500291088510510742103163613984819933358384
50386
7654677983610410102791071035762810809471106343939046811105102677101853104410476141528352675331801543929110641101040310565771306108610010441075344266101001891568410108757215321018844060928295100710541801075230834031774739320914515212805510888104074469478110037191981724053467088948387119108520330921098721911008681974466854511063419849046837328102610010966104106382260288169276910556900297106545353353103966816261039144622310222856101602037988730281201042455132999011984633982910160100614611010615816021071096937076635370204461656101010071039982201026640141830101075101810429610004662741086308918271005578591876524035123421077146107776939064527629810631002387108113808481069815724270505052007551051678357101001053052310576103175135358567949426104885178446055165163220319577805981465707926782481051058410175432810268562710511011686011952812148859119944755109255542121010641056489854515261086288510845316825040451051001081161004350573905726928996176163546411073411060822107994831051056106709807340789408441047823910336106506299463067326422106976462297185829932420247879109905369667472035107434108526560380201117287935901012910639956010818108294481310102815108410295453104912101313881075527665609161101041080810478625784495741618498243353554213345101818210810010102332341030410101381011017555210076039161145442247676246457705865032939210105610608810110682567436421102103105477956106101027867723951008220100610392211083589298360662633128081000210437884134810835962106797411610055129978377383000989459721106450847680102810574148100410853743755205857810950967039592630310898620151057402222791933290510924585107353865903820818693433678971042102039683106439986785511051098080822133103901059210101070871026542682057090974539994322537010624036014798424236992028019710896102211047232831057720734443343831175510070125882091805314753817836085733720747344862411041063621610102578460732105012110667280105142523210102518456180256271903210362184527018086411521434184276885336827321021262800383601047401057087493616101072581023464104875227978510414323285108101851057101031072240113494893150306761009738878128816943875592930459528951910504630421265253355596831081810104952261061541933211910050015611065142891075043106805651065499102296267061061107220567468905107451092482323405712101802826328583019175737883410910046711902965162110109737821531722272704741038545096327786450565607492210331102032006105273110062350784692323517700392861610175781005100883251538094895618214766570848861071085941083340361025421421057722825101887014201610069277910923837641151040140816629951386402013101025509813653339469910907585801046741510010432481086435361053433940531028790760603741391085045710518535856175700105407545102817961576622458674157106910249741241100601507205109732061457507101066022968946316554798641097882128526900658107108853111073521359103460104610840421512951168458501051621075105464102610574092642591010340153141088107607910505612761862911008831743290204215063108850098360551640313483801090790643695586107172104593923210896279346030423531026119439108063568821862710814731081061295958464869351008017943067104181082767101097110076481043336321860829741087724610773865126703113101054270676986181011598237517972069124109341094610941803786610427114661985810768417911021931034300919010554906731768735910203451075225100144520353620560159779209259108991284641076245070179331021682260554101541010635204228931851266193825210393910491051085133046636391418567310626279040510318633105710318081553938050421740237210751010429062481081010010851999635810528740621057621851028105107767101003772603331405600823717925910201287466352079500742842650715405221309484778859031907937483851040664805100126321059110510242426880501091645510025165506133211010947092102142809101103832941032094439520991060526945491099057610120810397356982710100850053735187384635453367310201052922108698302952108584210988370722510435651104549939362101479101095586288433401296414110858109732101951404077521062010921010310756357415496090010931028962631108519531010821196310953646310652021931887286105952101534245711273773910875882274745100106006413105170971170390171267901014561216241065450901010320461858102101110280107101411069755651047757125710585857461092974101087982025521030829776539890531039945744036892917541449103035372126861205203215534905548537411719312589905781061045499102589047201066931618964496036803371101071798406895974642521079121049936423875578590335715622105102032653929035735252371057904308691685042551952404252052250585293017963875604135082289155452301687368273910006867791788367678714045910900276964588119234293471078764591082533101289169923397103808162266633928445715967261059669548020125304670064731262883106885891010447064243915346441003510378103855511720103755643105101094274813880771022030272928074364924724018011021124081010333598598701795311091038947020848217410710125831012078091446279570439214716498689790306061095178784410887159332636381106481011025968971027371007125794592037974639814984102097106021287221731813610303917006380139721446107110619976151101082722690667771226477100728651068977392931702104404101066810801010346129610657483198228137105104104121029910342910103103610529620856103421012580869106100110689210444169321306274898014222012884000713010410546853077246715955141596710102106553646098102478284108551625389083813235521623489620349655341001081910827299814104246910872470606825555105469979840810879568968818906585547179281071081109258106448161013629603695410476101810826662731441035610476092118579302571201084882831012220217033719640874273315410174035535723266899110860730516107096910710410011106008821609110010104887921091001042901084847193298079551004398014830010593584433483751826326654968232610272701050418456860384012230439010710181784017262788484267792331010062086103410015104100621070374973380233154421173889824052586260793439104967848106100241321030963376321069103014448978471385089456492070759107163122491085108096459804488224331055324101084930774092626563310149891010810797160481010751089064648106010452910590827070066010312125281107371032626662284665310510225206820196147647027406217279717310344031031073556085600228008440110710147808721169875099203958451131063914324134266108791067846932101017931002406710663301110109948305343670339750010798513460915698504797538108108128222144893014725092924952679790705892473421273900333178810668246944612101092571058170100405039723598910106925890594104656160556810813003042011103825879290425728010334109010275871078907623664598050871110779861838139201044737503602211748162709103860287859414833396210102909418109100382210105815315665283303102418281683173724220790048107550110107741651544642901058106220471105134842709253332834768641010682890108043119410823826269112320105610910050107090185607532944281710437581190376993947179166219345831106430579513892607457881791075177589610603309106316481169310831054698615147508378243410167691063107533310036555140906828490102776076215268795228365943537147410358453873107742107766151101010109580285010317110164131207459368930736915134615101092691028198402543018135771040253338882614032776182925720241218950391003757951284434210727683649603493474710768001010258510861036210817710596631078014801081051537010105707017872145794108985220862387718747595503061640935911086643786918744213019443280191806488961375109293179543158547993697375645291273103496001618780396887361061690871060801331099591031085623109293571059102521831945352720217918612345969935203128611018152856219228101091052827275040510106106812610209586189584949995255005109872320104489600496821076821027781097282175891108403101046233831089103107510281041957363109307671710811067610340511010574512411415481034060970100651844690104781001017986366161084067299203121021556331363888277414211250076101038101110106274942310890341063100301498525120241091791010852383862610706310978169306767225348608617851772104847056919510610510478355310100993233648050354206110344594770142990391081881535393768901989104756102600126272656227276531034774221900104633415223106210084910093554106837358608040601096210710210408984160529110771087180169103151053103371355109981821008602610104623348062739148471925360926221436089625106959106010610628231077798614006410625060299920010478066104101911034253261010107100518101197910108064725253205981629474626545222010873433881069110741704151021009288010105310368511019234164223407071146076337872112903143684822277136762546101036010498926088652147443110982149883109155276671187108410103484859613257597411072043546567539581034366601542675511071026101848970065815104100161451772708186400487456100510976018357410102101037421678107017284464106510573560100104185987095910052010162652832142749100443610021097207974748962214549142566967154998101615324010473873978322107108156219015487933861045515598009679867852110754681047710764227272103104260507162337741011410512741010773617610899691122211629941085197700101059105421121921520276658969216470110479969417682076499910489291107329419709453754036271097457512474456108521001810581095369651048026510181010190167762535295512061010035902107109331951043219263978692108410544756108514103742930152762899710674681097780528877452450408791035101575531083210109007997578762383591043493672937485100738117329524568290444407081019305973766586301024160280107810980108778328649112608981036232991039337851010758954128907451494734141180625351938105901007614040130363107130717252249105991039443449591419498180819141031041077105638689064901111110249767210457984481301392318469403565822003288101037102410699738189510572101021543301021072367319110424773794710854999593372016778846110287704761053843751031827079073711573980336014210024422099970104206895974586108179710067895865335476413510710553336104287510673336523758103109276606410636141015913031610599242448312844103210110244107422110396554687739904991943214863103517789121306250910610870711072426102324146281060492151106357393374464107240061392754310410362153514710068393227185563289145399289381087798321033100119947543993291834219105734889103710664680411955131060571586661022401110230710027930989908319813103105945026729666876290806704201061027237312116461028351099359972456135440527026011036410112135500459281439913834334541043012219950596497950751042954335032401084911039739109525300821040549629104107010930610105421098102063833884210733400223107232357939387172633534708717046060080665674266098090974916341099923108101109749322373281514621068581010661094548270310510491025857625141904356207101002532451109419181036101452010910308674105715212213736832165110191001012841010207284810407475801100358710840870764723661619602228169638293479210915150313713426745258101055763103217571099191528871592086522101055107740811854811955465936106435980616107410909785757065280105153258875655918868146444249070172058521031007739046354723941051012416226773104985851108400232996102113868796010102005796110344722448510010064891073810170500105489131053855103494673002970101038270428995268108759037098478859410860100105540729644210346372442254087896331081064541087056841031711070911321775501046486794117104896606731084109571646446100210388410752605200347256899873031108601037209105108778109221191006649564588474825448639969512358687666010475435481086355910941344091752110010161071545905910101416772616547100813210477955510521734208365511010272808971003135106323973984353191630841102297475510665109961075910610482710919055462142997280617285270807753106607080886248311058324490111087174978021977607907313231898951231096052790871610795779981049192106925767384104811077229932301418108831291197522021610972814710141076532100910622800223887191005529260115415049961077471211000819767331106106297008940571031087660760790911027236021698022189295361871086797106170480774905461081432864210761108264812296184988132216446673910819110533093210358633919836058796309434968285902876035410229824414177211050106383193040415572110144904158310067610785328100959910101095102280801410528028029106102051072810397336811063304780110881771049104936920887910238717091974255810450776478238101982064811631177275971089409086654537421109881007581323911150569030498433141671060481097780112910069831011041561009664838281097103324962038109020915610955106662922987548606573971228567108734018107558106156310616121856101105107692667108584480705646009241371071010908992787103201101645999786068104855542052510717102216710025696682105866110105696868132683206387110810200101073516101011039159411062941082588521109794364110383101079401939041751029108918406910417363948601446746222998504491041017102082943783091024581094710319789425101750085100641040260949807730097012033326482468275700074766262710491087871000949352062246338141691310397520151257105108705210310617395750201038880769674101067202591699205043102210334410900630100101081106983711710851050091088273271061101011068608411208331040710126891070272627262522083106882917756103334907759263861045610561078233491029010214691012774469931648559266962866335906539312101010108886120892814620192851019010204440102610900438229910492389427583477107106582708102025953691069891015191083511038400281073972406602239757979536673295644790792110109277100879411040930688485376280984459100255664818494116171085133868072326533640786489748991381765914848363730884877622116060323881638563581599689391210612063427503429104011073941020668427765344919458648445010610121988641431065101058688074346270026721243528021056095839447095750053487254964805021799103821335709478473130104792202438047545044421034720181016171091081021025477105707173046450500079411060149910477158489110958125262807015910632912528369981015841910072101004110410472075101026921841825371025636745610928207962281098338081029428280410613686700564519247450237456910550603221006103773631718110480679008371093107101103167720101858986530382168096108228129412836757610644610210610129204642727999299699103271559077912701465401256758255981331010956548132109103845033447507354098551046101011023900542341067149790782627471006319559410503886926314852361010454247827108107555421511001110229548315613457210284415827616911542700544775047710248672107919810384934382482394800210830914688100992976764493910741960981048295540026216697392104441104191276421087820476991510961171032107101632915449538729410110269810496105514610091421088915109137501070103061005529508802571002217002152886301078424410810655575101241734590015231121010584325807450101058710871049894111482471107797689671059351871079812862361939412729172252745371003101010356441613356441933105101110151840091084321226647359836010310535780837587191039095851410331009322181710105155574823876190391077124882908094823251004494337629990837523524752005053256826797887100849792227883076152700106143649712169245910831030245510164695021058626140102799109092773233559282755475510806100710136879730366579106565231061169108087010608104653721499364861010492082793510190240637774510292608275428510422101729324873405102270101371106062931266053735336310406104610770245910812210615910710639799528343801199421063557910251049382106108487471358068105706599711007653267999402261109460107775103808845310769472234352803851091010937422505911011867301062032989307586898506897626610740928816102923011079774378310341066109227570600075021273362959100505934710100377074509070615824468108089209061281060935625081041065403945379127982495306181071905010101076572310578357100101091931910473313234103184515610747028711086869109960674407940105991951087648505901063771887616107295925510771013540915783842593322111100531021897183339650882786066762562803103345129547659314197123176704100105134282810335410319169588310165113428514533541781017526105655510664016295599571056606510105468370207855551064880106710863010105690491038510122346152038404104977003101087706441010141778168117172425201025841075952167410458865018371412799829433103661024981046841046727507710141060105109610632832108940104104172510276875987724710013750102039198462073783472428312710150719358321071033104364459771236574261005718219648621011777068395008821071751061072319438432824525066481248079632169433137145810043131262109366931183273267953310109848881983491097901095878827107348123686024910882012471028359849591017104860185848910532653319780710354247010048311910810280370104763442124421502048103771678207079893056136391046135820110692370236320711710158751414491056107209046660602715510708337410108181101053781016664152094103102410100932185547191146995873281426536934713388109144411057074943610510108006993934592566128038753787310603110278221910010041001608422326281487634812910813376472899342060128225850995107179082210264310608223171035341023575239066101085330029823119106813431101042383443510135360910317619644968165018210976334729399846050281087176702974604089415408333881708822414898010510636908264422261053260374129104226533181077628200966897331052477103683482210216177044566601104222804109446455666661042113930029402492968700497489283710682304316712627360247806510810289423957687910853102573899259283870997010437837334532097238610100404823920686100610610936142196825683496108320370401345054737103036110573600023710106100943810355917376020950895810102510003503106510871100742461360132108881427733172708638568805731453889557814871061310914417838163330412517651070252442110501044039110631079610853105046181631004417418109861104101088178266910396610388487210972701437670918108101973403332329731951010175259128021172610964873421510103102103118650088068980035563585825115441925521598108031070108661771085133939424403312387573873400749106104738026504271418109241240635481834752102211896582871601282440206910289693565888430022573561198609102360557196396510982710428925775016318823102407798454488123363734106810616571004105106101502240474628901850278138010541007693471014967383841089512994705104830010109796285551772079926610940301002525333443350745341716410109135938614562778672269595960161110828105202507103771037230899986606242621206891091911563910549768628684472472345192653608766696672838114100764104010573103661095105584837340198818397948698220660210610620240181070671971242510739921034714410798007106962965965874101010321051081099254876442654979910293321233686268427248610613901054016462059100841037959470115032446828210339241079733417343589812101750232105521130395057510743482220310942710085916156810855105312119670026766198758110469378558410010710793605361066491076101553370557893562835610188621047255613839719510994562776111519105849108329916691142671068364594905860195021010315896408637510448185016734217567706808767682358153733810294672633533726406863721454246951997301525102107276720856361836068850710804461062603823533171012502411278868416961012115146101101052499052621121021565866634152101007112022144002778107121027971218201089588810101753151077325118203210151091003985105967662241053364418355785147573218888429032742710992037810410401010814227621008752193339831110140105616682475436028205169317104262318148995910578710104851066601036363112373814687088760102196610106101062710721539723117801128430091592461835552101919424625186006599181052658316510627992721801066218108107819108643385688965109979610097217109325985109310850929726544127010791476003941010672583324318296236210152981001089910657628366723831291714272106394795461421001058350871774065753950998651701011010021663228476110354410413524355310105109023659310859326921982815561010318602429036599749457702415598556017489108703691106942568327420309801618506524328395810814165102428213611011354343756054554310913137995110106726874321044115049629146106557833916292105678456791355210246603421902758221787550533282105679664828409471970453168180922555651321687713192421511048091049697320062030372016024710881049875215307931094575951008744484675038775101082222710888821102561133060633677174529740810042377124421071038003410610951003408910126710686956574810311105048723917181390193519101377993283819794007361010884830310710108042180511063930383538012758101047891045110353110470104552676110414128147928740358030753308188106310422801151395513636721111749100561443828974848108621496105265101166310532906101089584706572078733461028465072961071862261015410102258766434376457310695705663904903716725911054110978614434069207108691084410221760654210814210505304801026746560785109515091012250207755431095469714165707582403600427372709556103069715013291060189363070234323407295903566816051169110374106008817176722366388457367598319865051743211273121040861107203133104608537158453510104921048491706100344134575310101062771091022104107951078437960559263901010282100132526284103961724391038710102103653397674381808857234637733110241280161010881061010768416316208563638536410698592612327383525791002710594610110287150991029971006771103519512375365755512276086639998932904701041023721527002777711851010701081101042749101421820841353459779838299095009305842256192170210899558488319630105623130357151554428714142612256501031208288806256436101079063106104001676131010414179810107969710678043036910994434571162810610079906449946310936865173111279016823415379271953725610174710538774381079321062571569585710952186696517819010064267677410839224635585039939954192524561104105030668352671010350202100371000643954691007341065814746803105051085211814496103245184638800540164727310341757709461036141076923102747261377228310437552314551087783385979705364569110863227382581466045711038110039379890102509776976347445320451710643100431065386128024306294103610450383270234561095761304710570509305161041406510253999063928682367360679391137102902210108210936839173227944567712193895149101013104556531035101031567660841084185309317332695971101204572902970810036210637010915413105818584245104360952600257548548468993125191084311224486352678180635759004413310451100985641070386031572996226027504895609074755428244280789173098788159907910641099100109069298198140598913843213941054327124674959355844438765943264910933618365791240668104505301085621081027131394795950127389461080031059683560351020637109637076703947583866231840899659345324788140637003789674952338683050602100414984244317691115272647481348976410321303100014960943343653517744391071741061031564327108615859027670110410663198258210958732188294110670104267911735988713268344721255243645820100903704141654027738102040582412569740329410516748100010650877468165610571498651809350467451012811078605993665310109111456464227435165843701041010045091109979010581619107748293344482508749693425168910107717888806595459812264576105650043592317410826755110369766140243532410869104476369618029013897219792310254832108346637695013150581105347377343851052461058103294061401025782301010210414579450268568722644474971045210857339630204173231270262609758558240407442795209794931618361130850550395112877101082227710374371229739102349997528322451032609106566342261735310137753210289270382950190018419079101281412863395205186104196867476594310210461028810103742102037169622237109927375495910951523180288942538363794466929731058106105493744285210048635662397939710391155976644216629810258492250103252551059910979143511268896522105657115201021005582956188416908855501147998150570871036789110978746660102740102106445140101016447610164678410035681773252951042531547010439194398099811091088682188537758101035316210410184474618918076097910610572590909288683340297778607723068031059451104171049546722448322122557313607643057372909694629934857625856517247102949662463879681060581510986136793089734107157351109791310645592710710165727576210637091055212241217112138103105678327471100031067150627104474891306381510428510060510957875391008781091079404710031086210753100530953051564247063847561368591982669270803000164710539749207206210103106362091109192480104557985610710411018101045969261655103752583693660701010102442323103439104106101027544332804462280376121069156301090108773788826512171278763021421086044688160121687832210622721005491093100921097367226710104109410719117511071212724210359451967864510938102165160500101067296627691967031010438437109827547100771811098180082935291138101256138310502948808010900410103314354126060910610106591049998492474247237151061021075041098109510459104310150235405527631010102666710677004103341018833302957244204063211019879766717343941011666732710094133856094610540341904817510671064892716495514352053191810690108218910871075953849632671671010699030991078703357242656365952389436070272310974491113234188083724397508197110810305181931065457105104583168074487601011020316610110022762659957103010710052320811120671751410781910091567695103726993632895204387544515878151310610910097886004107513291455210991510307161038769110245665100099102988252866049010101267611094201641711546109841684493932926410582839103021094104764918622593092827910101043019505473045750354004460056410108108211794788606432854410010226812527641017878103961071638936945136486610349638143623523609066310100054221072671046102035004872105910703368860161357411092999278201037257758104357104710410116678654500000649328131710611021710229250218183856982351943595711810711290925710103512196729530143041032224497793191003289490195976835516483683685570291531041042948210214108023504433441815330721075649639716684469165075642919630299771035910201032283420710258006106563344191203641240006222096423311001102014308124685340753878106785106396770102095962095815641014910723551785462004595929827941910921051096254710981310510469101015100101021082110317178038102220355195131794399452318236766870955033201168061393163325881585610774557107983583442561010150606890261101218652481610691087455900461821010519104106767400896775881027550043139074461022617963684033100830152492558745336875141049102097419563103157372587920105603001610247859194368439868810300201061029079841320997987974642018916107172211811253671031010334201047152177101087177321090531919903457091810589731079055780289453103749709835411597773080084531151093643081084974154362216514169218877745151010822415991489477110491025749374572054269233210158618074461029916808510338863737987841000614361488735002172919101087710278766624544598102513032310674512978380375111010066434569026810141091337210751772210341006017948243561103100779626299318511086390653697469206070803210604099101064184311015247181622107810245631936372740572933328413471071097921047108911910901063546619844210992252944604110776282683410391977081010114129941107785123106769628720311018190339578109981751067108942876910944513414885597793102882527010119153010071037745583361714036683051050457199201094145435064100973894721041066244443510106879650695102510232184100868848543307278146561885057100157395734110376157341083303931318067254456861234901410458291084410124510033928002488109417522669392494409679221021010520643760938636879329830311022729545298492627954210547372781049941036256737210298200910990847899693310566475715105830101156009105610777091489642104749071071010045160341187948583100706311905660884100610921101724889795904282107711292410312928102213540748373321404866777906714835610937961088819255322764891617117098101010870477940331065269324566707181091071001707758575292878210751091410951210105326972210737854110103890972610388510334132076886888505025111104624846991016241089103562410101065781011011030579106102507591921915588453877523381045725091011011620679251006108710198618969218810891935167610404450026722273181001014027884610537842044351021020342105573244010489710799256828357126789262794547926101017415585856712756195937889864488606069782210798274210084626882031300422546594510094735276147691631044010621019100601067022945533210085378056841602616902104103432444366152774187105919412010624677101084911671010053961146226331101041039443222105346562634851501910100050782884659578004061995882258103443903109271244215063598607429207657781057553425809435102031161671128754571833008106151074421045121259107579114841820781010367504997329104094644442535336781547905515242322910239010310797659099010131376971001874110346986102514885168773111789934898961921973536046070628626042796966010939407818388677108102943556930820810272102783691791746104410807708110374082144794916777335054112325563886321008278405844694845810610237682641844016210041599293310553650018552110352475419863110910335896196310889107550611758416801579008743042671643518110224329854343504006403061419409271345726383021246082132100874816141076382267130107596173066368058115431091078093510867918592055226046443433633435611039002551076919410941951744392841038240337007398103149598328981067106861008118310969338117101283963609850060303614336105585830530223643221023569146134310174223617651010901249577269102731506686109293101019114103103771445310061218716269976832936229485274601492110103103540744825282319196950810210137782737036101303965049785957108992010326725102311049476510554624951061501052278051050425651087812310078810952846271084199548310856081788254484294469901510484039203191001119147999402047715882141655107381082106268138105841484832341044901790108210370305710952810533771000061095899102680861021937703010300288881023067241826106163098107310105911089605410719232809995523108131010102101447519646437780476726020110101505002647344831028378924101020907540932938155551036941738100887100324929454164394207071054088678107177105548710279751010448261033211128891809750235416106451471929588953152831790325421292667104101015105389894628419564258972062910100882491078841453974430786996327597869510040110542220105652310309839159134655711010908822507211949250574127241035121081565256580883662237956001248966480101076800972511067421090271811954410183610610714106784257826929415800798481058896725410104933579412108818001063754713469396193057737912455103175627310434110390337010544465100710102954810000566896784943588914267659205185053874509851063683065783983738100800051027166154108924104159713610721129820109101045103230805691105101401079107909711984471186626437173101711742499252874601004972576271212288025380414979103860015604073611028995860610918889832710111003510522605211010935290548751547118738258308436071543813102020093138785732424311511510296085065871037618657100336348316366249810050646170441101010644403928621778651227528001837308866698106102913107786870189291557094810451019910103085423494991910364843101692543794641801091370932533000502603410502261043593310465160207085781061065580810712371026320056917347518561027311839103091310111071104610010098390445101098013064867655393914801579887602310751619197964834810526710622661031195051797291042025861545740961310476458161147484741010101614106147916532410735904105869102364991000283430179114980410677528840131303474180781639909604207104105092679106824672994897867971407106608004536715566337093100101291820995210812905296236364240123410510154104472396387301771066210157161100643136751010310366010210953940120101109109823515708655047561568105985713405867989555449162775980106647675001097747801831710339910625869041640074267976010102271101860520979828661010119767778373058777918515017101099702131790336105038981928210226872512743942596843760146126105189100476930753019653505871190323933493333483296757785710312807103351091210547949638241332716281092010573729999456826106373477881210371044505010697108737545105109243910977108110210813254826636451104966508951910766403923451019101291667883535103142001069101097110108288542511010798770326777858104943640108713025029038858878754674594579148108290661215865864221793736012233660855968804387104329390123910914810100102432790108895871432106720610101045520013361049489108481151054858609010314906125776083918073105106101010134101366585534077242710229491207110103908312100702807925320654460314288697104151242415157093778887580804410383882476096341088916373091529351038310410210776938825103301003619104800210291044983269074210128185223310389871001107078342107919079325924685175539443019384737020653881151602673581097573610101074340601380101047402104262715898810319838471078741061069738074691003255781058173108898152724009010197207531010781000273701061084927689331997293609764975926914901731346799031010131416100610797930735408310238398461495940171310206110657265082466718810446733344157561014467002487812361381980496119103918328024095108229775109661416378741910736391097810615419905210022441051107108110489132398844868932710107101381137410105933108107408310410465246299196464161043660621103102105110316259101086510419101050606111110434440427107324101143935089332685326410348391068127855652511561050333362831041012619833101001780410678512117322991092105276104814440946290420441085215810725191048141464728171934247107183810510024101070105111331754211673850336561010558986710108910910248652404101010838635850109371059515366107759083066013501436224814282004829310173281693103750796511101721519888967045109144756546341658952091736510024780041097383177957107214102317631674033411246317519981060010121055108081183161685433842980532512626939651115310108710706176652038139410571064638850083918810300304210911251535510683694726822424184481061005937821896130311443523639200935702943021026810538840215029197731841109084934223101009107311042107100571043825762581499320973972371040139278330310952563625649839101012101010542026008580226110731954645528156310110902247157859514810190461568217732746356692804924766603182385105700108811221622285057819880015532605394851371325710710676101879094107913376390618096651071001871099761089102371410620101283551005998278391039269810424398010559635264361054253390105307110011034610482585342852358047921068907107741055887541020402942125635609315765610831491910244625806077781027611933652164857431037626210901027489931779010751580701049106551039396103326310206205710718463304797485103071940804328550510928779109619332475381048416112090108669492561343810410840077177806290098958381865545743291231039600410820326981775710796316953800105993964450286365125166108310838003997643741058533162761066923799010679710161407411010804851096244103103111080775918910195529840403532410248395934785828276576806353197409082104672592109789466602357105427041001018347467917888239106107195460697612287126121764593767254415890401011011089841020232261082718194345451065107611710881034846422886138016707845231101416910101295044510378924837612877108411006443451033797152606108104570010580547486193310767959031467777541872425364169714121223841310152178683705321105710103342124104855544480665996952010751050478290069169884101041748081077397021002708632130791101102594261749165841975166069126901470019630100171010838719580471041952101099932305735531321510242942657432298105104123144231372165942604590406411003071525119775111095128837529418252834020475486795010436485010522399523427715044917882084269390650105573051081091042171299908849655697654982240162027092347781446108347020100450610321024039771130133104106500108577829350105342456007121060671055102757671072538630010107221813234448010108186416044913815458040624638107626840557310570010929060101786521042245321527580066106319502817508010105201097619510100478381165006206744381043057952332804059104832528469327104160611010023250654690182834109650560610254824479740222427394777401018809161082710431013930936588962910695317100510107574443195110253103107542976478712315201034110112154434723055769764101065771916436818078845923523126115333310474010614775613452233011061038723160675210734102521065697110437791010461052967013403173910688581188210931894105068610101442710656191061520100329758947389884227126093168340939961091046656875516408921010395972130125726445610301251037182800249423197819825157851074223208976802749710310847185967369610533001761473109622901406399043103981077767104661131022081011331048954590104139810958023345678312811264810536105426064109222700810503892735006410715461100869542295229792690465674786965510165159104851025996104710004597237617707884551046491097394110951898211054733725041086231110678967105185921989899551835895279488238410810357649577451965506100091620110909651079403310239101108004211551031021100220870214628889972731081088906643768557135887396131089440710511196991030499524658410442030860315010161088021083147842101942833595498548253567071061743010147988106609104251010263104710445791013811020273708103195451600955899360419100828709752884672234421002129910171924368691008220104081018108199105018278519656211279144974813483087975631511332406394610091384711012711789880171888102018591081181820105106571009101084727789961919817718881074010101697584076137352655103977753206807954577036384010190107477671062630974844100176332793090178585393941115058531226415950561070010691898611611048744108166795100100199591010910149035624101085043686407854810100807101101039213087100210382210319257810519221020115661008107402676646383047410100238981075830862784104681714495037164520139745861471055213742704048842104339855021918467775214147014761677100927776225100667435710637886065208010710109101030106201036339401104310119381051093369891030933210103310941068107828309808910511104519841027217572113975351049397271008103007270421098992003132706777297148274101173185150856104110711062502310991107610581095116101656290712990771488853208100477840278400674671063345413327108347239010919661042210681096102109810818673901065764849170944610136577453925468255132241073087433916080134366294001255530410632396810820049973065357301705460956620849380410505101066841093210210993510566177108048856036456554978776543021059998761069451056904974454279284110650611087449202837125884465171735351100797410788810068098769551010100210963714833171050241761010861705470966327651047210721090739262466123110661112610700953106364971410007782731827210585370678210286929100358885120571010177359088957372314226220286610829791106487110564106725544641416986976261010101011044819361010510273671881902701705264110100010358310816479670101476605103101085773921011015539421034069235427377988742102831074971127746256451010857594996308711039719962525403386277165253881034369826010361058338772668661401461002721016545007101810891600182185323142939310404361080495335461941786864348687191067451170210026067449865338157196611040318104603807512101074424341012049145100051415828110410046241100110554799105101868743050116883336759231010522109887371074407208103561156057410333329104965234071027710368631051029102830103638306943086154897376691043941046752528956675928302946355410010489967710808825051011606365128628701827281059777148719206726285653778421152852497103108900748106846295459106449169700025731253915254551884814356778582479652759379793976469034893101089559510832401291003211073569818210619101563141025923100108895913936833843872352021842163101021543103022795420971898583102661184079551910064104559844452630643761210317079529704640177153902067999156901071012101697015101052384625104374712785476159108972330210047810646109750513310281171081628101510812360599717962460950079700823661010806106922102486684573910613381186407839822769010391837408479781283105090163634273108032452829286566853100404551910986533053518019154707103251027574172109105314910113889578487035336824480500810010531010606195677955810184861106107210102106362620104937442844181005281029696537100392453757319796881010592630163289744983445103072110846346104263346591110672614641076610215071095281419702058210930311014103134816107717196338569072010394091072537384969604179923461071050252436387961970623111044954076916114986018935651008106018245504211544747563722582070251698109910343032457916081107235730610471161777778277405993968977400042886506110427435135032312795441098101550299897101011108109945258611510758440235122619204680564308025126223663551478399653359893071903099571052595610204610574106130580610610876101171106951096101066789482139316599104264106221960885495484886010291071027666010162746781103458101038910162410388717514675717301007366111904901039894369551873389721091092632110190233364331016590816931106592322797071087263988248012833554022029546982863102432010101074868131086085341010179859090612999431052048450566101014047273432531042777997510668295733079421218696295460115577457279791086413982365712143110052018586482261608541004939791118727977052631005332665278109990815978107331046248601052310490033271589076475109494516108105484071267309566294105756815627650929026933727100679073493810085269810961161093001077853610500353105922097714107781061091021046611814107562667737109215310371776610910241682656098160554166531506108650726050292711197101087840102364611737106717811867422282781036869109331010771049107446181898079707106732855149466108090928699510100738281217870937775210277824317574010169451232843133796041102256967437787730100744043008230931003755001011034811049341210039861175819862296609951101873694828961042341045991168510103783149361158609718506698842499489718410863701690324769105871094649261557101070310161000567860646063121061972610962710601002142670792108610558691079048207501222101061673518776007010772384954926409368810010179866916011108229116101779638294109344289318104855449489655181384004371047599500107682534681311927172737760112498216010179336210900882570711101071871475101790835480113471014654924348912150573092101000541010866318143401043738321380404910006710889153590291061018544670166884810279560916470710041013853079210886339328497779163104661181004964483308451321009770867857175840004338356700109343274546011664707209738127504887517703525058694031891082044110100377410523266506949921011239212303378977161638925595363577056104025101224708261004079553741010510224101088651010066733582867104423071053513844102710301010980102106251968497517310110197714995528166213459102672300579193517303271149565106110999946906562452241456953568231931717078823903112104810651713677811538728184449106878791091220526772105927026170840632351439588651074871103826035108050954092472247176440218584610146891615690620283021305167872010411069316610616150827841077554874355469556106306101058580465983041024106953455710583986271010081098101086510762010202106910597101016729208038010400680726597447487366852102516181686444810533175553729310021105881062184810082657843320578913928736379851783049981103248803947689410350237982952479425102201017694606666510121579781010159710738238421059106101435479810884987104144671805390799226568447410754517715971091020529100821522739210199668621055547582084486018693101410102636791780604618447925101336574365781091053813845934860809102889560037812569810146938710656309131621008847731191811811013258639824993301699501034645699868667455080191622310119675695109820710046310300553870818350359137560510579297586304917454105106010871022597291056011048095810210225101059117822146129491069609865070182953781068107610485102061072108210377366268579940690360881066064106863222247751097891047851087440884907789418441670947476101810773562411001813291013102602431021025931410320395853274932810393072133109951747573032347371048867091047731653436106606210262368101033307718861863856745919310011198102810178101441054952024663423018424510145392710911810625100818151410601951003555721975934788764180101567641668667961769530493091511743472697100103858565805101021001001031026181192526596709227763329280700716252295651310710582100310211547925465123589983073455522089842612142890410195557733908101002977800365250151052944132605218301156320075010700810410413112110105776839305682301871510151361017612158253123654858921857510610160487745359084341002037961774106135146373501657180108890710321070030593147010693491410208105989665645110507467100714845100371871088858825401486950676103565101411801937312958441099172747240108869106727608103816497098797810106118547210109095385564030676915391053740810410556701010191094371019201084217136959992659259102311010160585619012104895951128006319491572883107101302640592597618101351045680636296168942541024056411025106465410173028710109853171021169021651000510456901050010679611083819369649329674410601975376773600571010106333852102725748266597115511053825866958810192794092830135661642876851020112804584109571093006218610910261710945985671873500884910637096271211051045079602005502810268310407427499206520621790042010160116181030681691026561039619107825725116790602603910253444331444796483444326781105541047842350959101067294761051042729240107697024087670102010761010434507871701465093596493728517013102785987447102289283910208141510464951010210154942927829105254910984107710544109107921083061191046694405412313392636636344910481090835688276121390634531050852688260936195075059282815498515710755146103294573534548310858020867686326646482210759844736754025069881038836890655031008247158361321072161104016606494638175142034536471581668279157770610785610827911184186173051071010608792505806410108373410134986878573584500621033310109267111351479310023967376664171360105041011261901829604427523031743468404993172020754579390093743603025348140825120488287010389653533801375138187313837610135232200594110198430861066599014411085101992735326408256771071291049243525439392309510491326100348499776366780071042121743791096534526037010889985762701105738266962284745310958943101037106155214709878622848352751440133101029263871009102410304200022491082581260939423210656011061763173610341021066073410239995352759265222727454832231766223109801841050110101081175583754297424221102342607486001791061397306426553255925108042758510660410584510527672984898800419610605611020623608393836552858567200102055218102560056197472458611510523010958110814140813790741061090698191023421025262645954787393365184010411462296101235101103160101078543710441044100219723253128722130671006991040106200541107249105210586718671005813066865660850644106510416610582109198298108336379118193580010448103245342377282281641493182649233771051030101010714372302521019893302587488479663775391036537835140818109170464145531138810110344210186603543106041077109351050431911421044401104810410001071103597535891078352951203749331010086310658710731563834310577106099105740793849236750247010192093371040317343529005055218988516511102469301010278401202687187107209694429353964936120058782631042818668621011438428018012155438100366075829108372246231015543061083144581051039831069988832103736746561080949134981098342781958549491010589629275978211828010736646322610910980441065553055397794495018100410678963516083210481087101118192998739307639565754446734047122710242106540147319846360400047659904268508722406067109966422901011014513210310101029181025101093010478215637530037563782438101699896594987122711561084938729526100850899910570774934847891743018619210707158688911029901451010097161072094132021084248380874235591346740063609783365678498410435619910499823710851083696480128339268342210750968799104231051525318210807520967069594205223712567998698840710851310150081010313021090332791021193958447410041138132851563520671052251010556462987170353104008718621815831013689210853414468880469212213253986566775587911869756621047102234106108103948203538112108910257554103881584882681100343451510340478453878018051354073102194906273335915088385090322946224383134777537610207917810873985230657640205810638582768671084425381089839729430471016127192266052863100440241245101866105321013103243566636172148539950321065767351081410204881056720327396488776893680102381021002711092935821510413710564379051510817358509168705242901096099773107826108739410226468295434101098400263500397945413102329810201010730715022757087508250645710710811625765206795453455102685157378653445762594766710594439933158511002519810507870904299451271065717910835105613349810107866100514757737941098619655210807553666554737901044562773341395127107374697707351185111011040901010008587191022764566449354146900110201040823086839326067964055766787320589894691068190001631041010324104230240780976910754171236329434105946899184610751088595658822538382867337288253596201109846102107385625242953603861051856066254702064856531087299801957106775393782518924460296371683782982106404210510399068682152977907236187489202223549761097137995103910543106151018659674851025839273510510100037248587106225866782071039691010102230066358441928122715298389625610231085857772233135670629368110526444469105615510310110094498610001007011097105793766810105709403103726758101052075182849311474159737610539710399307859163756973013792231108038410691810109959210948886810987382101107496040171005064933488128726321069081903907700880026107977411021014892011300604601368070843110214445468791810971423771122154893928297075867636984388148027661021354510650929024877423614020405103565410831024410170676410980464703169443125109609602983719186878451010106953106447208101075210175385109634192881749309777228410105511619910261079100510104611882510869210571011846951068101893601048688649285964342421733889168135729536446610269817619286151010839067294069258780651710410827410104751099580440412104713108111253450201010101053297371089385573561002830201099100581010878794823734209290888982510286000610082831091607491030109178689110733661075977101109603276682106809770357680410484200810910610754510191038596929196924389256744799056950744531050734901051497106010108236411168321010151018561045107846694691072886146875854310677797277110680109764156224008107072931048846104010789088616486380747306591046610965010174981005319204454164349815548107183519583570946246912230861040227071760013532038511059103810050603141135191274083130522242531034351039708207801331712324948882737413542687444996610234102478679109183277109109055101093671526185661075211053101019210252410352210032101010351101316092266134980158892310063281068466010103229061011046515009109760580874283825110710210092640252545389815655704955100031003007875310106869177151042405675901064143921762858109105970327369529771098834422633978103101067959021057599310629536211052823264374739031091009127621071045149103610810886910421010479476011237100446210897667131010692103964253523001583219296121010958299100373420538411046329109243331026312405357854473468431110101010828231182349046377309110608613103869560947919109894993659101030210311110857711209781079018459108927510581174282310610792414973431310920567495588108108528794284439125241141063615300163757180433251036460264181704669510959494128622373858129145101419172011083101025767102310673554063910453018101053463971062831203145151010951025458642740010284585360660610210036491010061023500356927681910068964705015740581068910515449861091082158931018515010064911010537857314452508968209109422210445068790047181085932422368126352191463055101052011015811810423829776029663894766466105081614999661024655310108591367191000961048484945050324101058410514012428743745202310396210509945151683098931431882194104487450106410893236844059195583705998379040462004283338375275770781020736106110004751308341036106522846834083101454105379908806901045541525798996769010121076690610365263101434644409306166521093410451051089110502809396907109209410240943901010110919109493563916463485889606785639786746333990999316735535505854990722206105809594918454651028710194526034802422610597006385310919742881083510570100934103716180646912411910075410389211083104077485710787408221077996102210810261991021789915410109079141507101010660610325409774691020101888181090490089868756101150883545815010428137532343106541009405801904629109483106204074459798002562888418141585820933610104008939797292859910194410410217117100099331071184501010138810881397278395511082891623176222609591058430530786134731050319381236550109516901042807233925047101010224100421675993101403708079107089119464103710310100047284667503322209438535611097075151123173832403717302561055616081108540710010461010240499086164101712297007304417406766910212954357561501295834946642831091302310158271639585534540627872467210020868373102574885022016631014335556058910794010597399831571087186529101008517742418706997341000080099107100512543444851023037108628257375627935287141186958118482510196239616282501060288569955661053913861012782361090577571013145021046799029345142865367810212482457110268596935581160600954380631059051387925853010836681036151248087021085998268103561641221917886729958791910092315710082028263564471410925910681667484405450510246934808121876095792726960326322092105231109103521048244277364869033416444739213272311013224182951000106178370031105379710729979730659101049349477101010181510477606578105347033191786810261004317078768269119481931299101005609326210285402100062948941510964101014443106449210109490690442808315430025511044121049082074560101019497268730216859711099858616358101571010524490141812145940839883773521086230134454841106069826181007528233410210096535440991006108731169678810320804463664217514780035353895263741589309729976732135018100391821079010877161088710030122674610783789051669838251315611924498801069696387231039732369753951710410309383780558381083363070761168573033513681090366442105527702812810100475973341041021128104410346510548410110080961103999681071101315749103413370170823269210910218315256970655639103710108353413254884105210669361041757245410451036131003390109105500525101181571081092003175850580925081010597631051495124072027759642779551744665869031770410495195100275125410478446103511039736404102018911231003286345011364184106732805732513526145458507125225710117910210675986511082210561597549735105847811060144997313091021010927830777010101104545315980292104258629106510107002258192971244110046877293840826647600710851337452106615866103579807567102970761067269492331094597494352935919791072108410210034107842181119251031118302035121011097106631001820961091010463416418103424531398109472690204513288442366989151646031336108010087522763619337807440102927071769027203410226283924901847649068463052907941061070101139106101341090180010821160634827070372998664131501910801039273966369108062411050400849509563030525914887071015068546104104510807849104108826155106564103473774620322210910109559838069947288904943480777982867606106991030996106559100034449301077056278826660101018309600907892105686585497104835224062648551011110993107810105955319710100231610380710310483683226701452671071174862043161084910556185761020260031031411103270625008949731301057172210381011064310966989979263939615010970577356808010794691081308785764371106642510334910870610701050474303959768653362079899621756890141005683510160760501342966890499371023029198556554763924251620143454191086103715844470100810321376878108102361782101061000116101570015851002685592521684454281033810470210315110552582010010615989191570553234651887101104820810241516244166209157014950481127983994171310079710658766966103391102410887295125578771077610680336848729587732084483015494102838235029677435927861071019925345107726105781010107792101014014971839510958372710109100416474565310810875301056023823675110771871101027100233309210694710611056687115699059094234354504431108751574105651105738963771040253158340096019535419570791110591100109942545944010071638791244506179631040835922212881813751076681592826530971830562670657297589021111843527116177629384462119115745102529451036257406110843072725117813510759691063660104101017101024612898810380034101514783486510451041039406095106471541057455110465610581077455753408591007107217211015654367706834313422670506463175475910826910715201068690083693419105223702608761148339101309235100018110101473302010988131101401079991852750451058974110899101510902371005134926974085337102314318023992710758210182482928991108511028762441478579742210185014081080833778800990115810102106367722261055810610082453142580824910130610781016746538016100945558871807882869732136410095459064753742952221624495107558873210676641232120247610410901413571175592310349847102610897509108399957710125108086907410310310231091132440411085835797176561051510732101571063087
57108
334539226210309102869033278534192261267109439709110103934105100131033403342741699373106108642268559223641267108107611101349109212884610867496262190076241709106107781175046687461751102450002356400782727538320108691010713410532330108026232100102250395774108637710165611023606529560947635951610688913776568567105320103710449188267483842964889397431023036398722597019105934010864455241478954396438041038606149619625801063351062805606973141066400978211392504018174982943106010248485060211919410253810875108091010767323466719210041181671011039195441010086810608288106982781482600110103238802161003937631099499974963713377052639110210608026110010721013110722579548104105101446932892752171804175852853146745625631210241054310223109319489021020622712910588479602515179509859194100641809107616851078105547041626539280148665825334107304202070516410210263910817643818031092664241078841043931025934393611025352117665791982510425816181534729955596139692051227365500278100108267104063131039722910579544310710483610172921085742998844652710177531065038489411014642450109106190976572545103932421075410170598177637144573959808310991039091510106252279610361148233184291010495189216100893694162104548892108661670215893247657709984009610656401014682010106631214554468303684071081015106931023399101107508390674041417126563721449102333014106346578874101010740094616945713460322496643910917719881032068172570037851063937451628109366258870204100555105103399026010343099210664436758161904109599109106810589232675610673693122539019549243523713151010070810438100443842461072593105470584950783743237866627310920684968681351885100101774408093912382148904157584680111428362125143006998011210741364829231410213061170964288320229845708168135938852911034339993961068707445805411011050616943888821821619817431089101820685531410819303588341342851063106806704657117868046471257196517223756210647644621054203928995568985525101998720677102235498355710011013701010285763413139679847273375320621848600435776105397109651799253361073197941270869324584882271095622003110314061025108413103701714274798499108101874967591928887099452658101510049791010912722105251103796101010000030106441611758188618925337217939824933408001095709510107101029410910932110734072062523282873792671010407527987871653123927661010013560915823600577341030133002226407592526469829629324894991010038935810315278561062711030053816681856778283146403045843395118109110630810723732085642618892326395488543079245104510228142710468650981955205164281900806210508585996716294571044610500410371310616718093561433528135588232727764195310725066034100910007332210181028107850580296106313021034454247516810487040604668399101049449504442476031011510105103775989870528720810566168410104934685601001042097402601195104103955109224153104741056132375988296907109441296179310198106097061465960916594710409920710776569510321254321073570108761010532500255306240181010718439039655041021113667981088926094988498833097486115641828356852334610410502166331723857842961097269759611965356198077598441089299574063109884413366061915696344272105657810083342941022610105281731078765740561001785109548371070210004410102729023469464825122291101087573420869490144110801055511936076910102310287120103410310517450899428791110100010019573263910601184680901053108967370509581210610210105304596910590226515316850656931898600840788554297676322107886910715381001068176247018370689026143760510436600978048810781048018392272100773171330789229801022717414873724688696724324226183808885210109010710849671048939022579793169211009103169100108948510301270660415146311061074958317829058618981055698417610479941656412310832210491210862692898605332501031006825811044610579307411236358024131106101177710991010484946721066847864771109342926040761019561069510949355225673431006278729600580544318021076651011080710184242100951436971064454845310607105879051042251831032259713104885071888631031052154920106751454510412611289641091099537410006568500358781806548792803051060132899610108825595723533255914921010101044839889837101037055810349571087232410977197666105106228420755998670509905477561058904963270812755432987108997108270917728901860410131099332448972934959687204814204231070756005375311079016453710139201051106610107248643153585231663066105385104354410396047559983126829110524356326117810518691010614710408138010599109322348201310430653507846101091010591021643291085591063106783206446807258881004306957105925274719732287653212701038353585452357999983813841421895140601741262263236664361100244810105680103691852995083368157149345347941101151267010617101810791417133236832954931886070496101060779716753830604851010453064196118691251549993663529103317109901019322269610546110790424395313166621103357798233627151384310210610857981677224251549010072104897210468495707184935657628635249162019460127949700841050011061099081231627401766772310100721075101026118017410104967525925369204109000870992843102101062610403871114553731822595682053109787891100650545510368069557875803775123043009434650061106994948152883401010256906866263016901091239845778645922806053247276788104171016885316410221210107121021785710331011061053747518826102187303261027091001710731994109471810103546958334643767050106209754846225010685424871439135013663920152310451810391854385507110406110324147968109006184104107831494400749571519108742883103309260938486479677669635118109101003924911619308184212027284312486031141083464294021810105783301023118483075768082222525731099936910721103010026401005316750175110492274059632376235109061010597199455310024736972405510150141480211554891946601863004393379310121224264879458106160401108225304121046247775107943736133343971106270065026530805981078210710090961924587087803693180108103815100678317210308708104519086915611032910403035310101221066107981028061052876510647107070841023282104206471031360084110793394765654101006310010410525714109332010108334812109160139202456046389051085480776507010200205101021052132110815271010536181826738710969205085479322881828999307210475694997210842371093722644572988218267649019214290710256510045480974210961426788810929866014800010799085543773878897942778195170825105401090069641763508310147414101006410814363810110389079293413058080360676496287910153379110533396510101957477105131244171010042714745571804800310982759102998361017783611102793262749715040812411310284290379399263145447971008103556105417249628978287210553912666710970631010245443810025353058109077107653892610212356845149521829564195506429010222399136463107578182710882355921552835687491059887655704410892046910310108575410577104644134423510416922908113900862410321005858872848711061036162655538610043293506910742931021688195888254501058028710983479827103195511008998664010667105969241261084050643498711110101911173765393489768511021815617849248307398102148399334166931680941020410810712965549344402503086040295082418310102653561341091511093110997310284096299874695313610158868414470035131090093681041704101003485107722585105536662010507040911762128517461032618636101147471061010737100479801011073591057310022843880108868417104370910811059041005109736254436734722034454782684310955084923353538881042210830423408190006547514221507210222101172777773712812179615345212810052142727971010460314806763474892510613678965423104151898440186065336851148949979103166023286947073072268100710550915106872731100505738436402154077434939123766405385469961087632388417616532410250881020631974231057266392947090944886910101771067601312416183847975103410109461748386077446232309371095342653271066510403939376109101067041042696948845139340355169387947224101933279710087845410856634139100497610619089262427850414106103619699174500105610148781011191099512896100439932597859738486619102100701057440811095837665034531518549230585594710386898756101065818955103629326764310109235147202445054362505410022775810108557877340091010621017893085072816896205810447103037812010178481113385100628184239806205679551721001620175312285772100051065110731069638238810207969771065151007243611010364922037561035215493693544728920508683810073403825710524840420550868031010027077814540595410959519361421604669263103102945301021167171103219990894508292707113424104408373072343226210610553345831395856635216104107006677840181081014037619088494536310934179310602828891408987951188565248919241410043358072837532118520621218794484312510862122383191081054324411912108548511095410987600309801087376520421083270847101021101910788150531071013101048694571057105445702178778998910161031073251481777108790037207109296115390102944665377016062887397230890111010384757997992010994188695205710500330943710069424628176211065251033201007931017426528728715474935377626919410371036015144106081619580189787101602910347910587135731108165451025264564360310010441006101088802693025360502714236103391782954104591821310231990034875755271025380310100301606310704601051005909223910099469148546571510073101015761107896611010316180513910110250650835470550933878580152328971876701111100247291095835777109027424951010689410124845169741825473943442920864039628610571036310251318341099774444731059467913131907173107102677700057126423984382806317651035401010066100062584949868102325594710657247269108464107357104271074580523101878662105701953614667911027724435102996610670857128528725068605830411739107533510911041071013226654310379143812924057498991431810172377585049917131052506729210352900471108274735802618861097078389378541011065616993109261010531010719210104867089947921010964957988475455103532829477271084991302346905941479742294581044524599107106493106223538920796902127817997105699784101527716964101110674800085310846344070720177121831966106610593503138546766210178257656316962452028636109210107706981001017423749042054535081010474887810301044461029065153425439979583470851011071000956100658109310107933810626784856327215368961413410426969611069394592100910684708775465508663778610218301683208611971477020019630810881410238522111172010561067336577702585101030662577552429775810060860442401077088751081082458108310310710572387102346510810015971163359764247651492124130292541946741081928122515107845601362088018261703739722736141710331311026776979331910781577348348513305945759256916291198814263652627101070510181689958287101589295091092377064452183073342207971010231044371100468100530474166671015503352264256811092114357646479238731002898410401021384892198105500282912891030910610015279240310461066810278810310843979104121142162180844105079871018658733181061001050928054266910446235615494451035108785210710102998445001546689491287257911664266785313650916089510034177531579743541594281077821658651084488238422449571105951014473265278242525102989834353228282052832786533482485967743307102833417282341034186000004998101014614752443982641010484070543106104164881689100494037101313971981612704105104579409388842910713693815411592058105566207105722262731052257303796370172987526962206310615104924257360301073107574107760142855121008885919933610119048698660891108832596951210910107230705277341061307018110008102955039618810735863078272010810102981398941028532584103695116132210896271061648035138746011021611565005781104887134007053496623859829898104050582810463490351371029103759164228727095050511046431174955771025167106251054656358500010383559523584800122890410957044959810107342974019807760102162633473656713051059378510186721198984108310117368739553421105366943351008810619694910423665566421005029456651102528581081052651515100285404101032947198791510026776107916841081022322202210131878051046563544101616546151078610198461200464454432231826125280108848910520103135249306571040304683109104950047178977110747875233299096638587599410207832151093210182244104589357971210161075415100473529647486102100610506331574410500031948681050410113822357136710910914046447341160531010967461210045657409675610684122923100048757104946610010838115372101048101920063103311010810108718295480942935214510417731196910910022782636056727941032036621058827057108710247175138530695100110266713802880161395981010491073808176891066828857483380101737788593081042830311062817350741060145861085078611065224025724838960647146915499968610106676910307051646056910104343002206151060404622102406101965383126105958104841088610722310190774774105691010164239750681008425109574308359217468195910435911037910546737432088901510734571610101074110810104655109591035708088210349879918325393271100919100968241047293240251053062442310445331006735046321010431030101049930998113100886821014417451484937900439105591010724209110461035754811084994810060709200194141871097362175852711615193898951315129678800335883724002635766213321064488413103282429116005360210464102949202579210623287347261778101723910154310100101010850310731087582271053504779617849271107101009957877179010684106583991825385505612981607391106011021091103104379639983971536862077607214110322094010100444332350922584391093731091721072316981101347386481803585773337756934163802291007361075421097610246846951067710102102052010107284239482397009161081056993386101189729774312311697310318101847373686631610865613235548442185100708100956825914670081038100391973517246851088441902103679176884977655799059108107666886648620918184167629484102138710337537171486621101791492655298508610043248387410921095101066101348263610621010887720427891016471062210609866185233104993501144307738189955830810708163603656268050321081048131971027215371085189311031072553103001039697945101001495122844210101392256971010913107699739860106101035510628412659688957310108381048725893190102197536403393665320564647549232101014101645181010674691038025101016410713707910050810386108115108421051057957571689313894797687247347036059002031709776216936109892199501003816691107305263561286810610818570102189525108251297310135053167109778106135683580617164493101095560359767909061008100402712354544500310446575831956108010690110135892013809991730548553100610473298871012938836365440769243494615084387320101045310971231043815778479293104276972410674095421010074543710562151049101044723108759574459404843798121034310884346887041036100582200310672705991096110161086500610368397910533822114202320364995071444701001853273881044616253985059105423562544131233712028500622102271001061049169752022190453176598710027210191709400091066283014110399610510040216005278106726892101812815815105207830103845745444358585672179242107380104110361639308057382841022985912877849440191025710102121398565751010047678172815337481301371091023347102625001410787642760463521003596454306810107676964106110438510878502168735310810985388579346111391745699310105710038280458614587367210007915216459102601210141093411075928612310014310501046110336284701038369484570128213016631852860102293103830102219417687215101016712580218571517694552766741166742074210167010090211910231015749464610415161035610103960083758102246828821451413117669712992287300104673692690410310051786488948506980081023107254856101561032623620247263894500585510086823530107710702110565712672464101094104754678595880120105770601065780761710993487510289216644514292045545978805101674108389495470258850635108170106372108097523100257101021635084818100751010678505221059069621100919543310103442760903899855395870961065810216580490960623812051087347610525307104102610779263251387036680945104501106366468142801021413044111475603690062109102469938101077991323515694100947243865251060753281602073810336319101022731004258861001079310108910010911942703110516243254101017115817811091051006410484331061092860555907709391100691031041127091691096301068090310210468072347482608734090723106541480991060810939652410133773266951674901000592095109706262103329399105300910188795510253108186253043990980249843105936748102351033826922107010099101466844194030584728533157014883601028231010431003761477100807995145216446934360003941991102187106577907087770939832139746109253831001823606855517759341037004096192871391217102410312488491391096531755913066927482480210097365179761010889106799924009263042510391262568104400187988746335097618102486159658011092388911824563635365755101133770507909337106998766528522710086120934795610926236870284742585110379068077831101055241010685109556898661031121098320051406061065364295108864203896023733710202075284744199799266052191792196410006010101034261760452327360641602750507105810733957085108103342820588339605832103322463101910866599646896978684387084101734761571088108984403110578110396714375005810597751052956170101051471106109381180278850984846534820898977102570110710825630599579147825510081020512370869823803667710042037985927569105590071011811111010310236180631082663310757501302755889679073352748516417959251856800410835103902108102016821050106559561410137138175161010271428651105021313402992610810467310949572149210545692481313161023332101015056251063506364378803355448230319439651097834909241088106410737485702013410998018831510010599815237203428654331007795956403110391378104543363294042173910521042058634353342302802157079004316678266107818501060310508329145511100313140964221101045859127106499241061031018810173718101938476489310205450901227310210104699105585250443841571791810809984646552362718108943769587406947274102916383510140688905016932410710248913361010041010389371783410269962497843198826672275308381710102921081019610113333839287480103105312657146147722478533102451051034000642268037396841310448364943998210521991662359105024411010121860510510136000201498102107333585937096504007691091097131190285030641860078961088844892108720632880161959104031593938566971089958337897216927397101107801001831510310083505951107331570292004104107810781437100566384462130189760316107873544524230346098741064013665330527892101897988349103286880809053685432055621106103114105916322248712951060908472060108510854852432210109410521031306356410203879350100833245411041007053383258754512433102101341499610102443187779645102310106102064566112824103660661055193156768095013100106633439101043354672183925150100097178548068559305098712810659155240507138010356071277920101618521751761040854108110068955752980251108105104110732781805977079571788610108493564282810717389142269248102557218923111310567934234108157610309032722637333986015250040310337702453316431279699591319886051738486554285226371616522938390224232166510118954443109669467010100496111031019281032326014837345719989360013080207712884727082801066899888110571808410423625106621071610342095410271321410920030865105209453217816561015351007393048630286452777004958100510105780434239145200891026623283100661083010448740478792942865365801099002422108671740279110109956913931066931010101103102010227391264961010843107083188498100556084880101035744735917921301458564830289110395839800535437493632277637510561135700216310699137112740107102890259213810506445310510306091595109703857827229541305210501561026285347901098440724705646106681434997410406244334575428123952194850510458105110410122409210710104769241200910739105654807569544170882139023772103471230581453230834817555410402916849310400310525042241107904558577353123101103642763434912148049810105510990910064193566785194881246193195778139668811853208138261739126238246152710101640171556697801879810910186576110230347621026513695710967690267526108014761202031010145978842413520481201056943061100235284147342662101038391526104447716021061025006597899829905747996101610126421713108306910308834001125031381415423851098010622774269866994950441579108101003157103410201648340810529721810360510810100182921086685105843532016473488751041087521016600171010071554198485239780108107737346456005181041347581007967834876651181116553381835105151561220243289165838836137721021725538107497083469589510108553861019871023781057458696954976210481684360068629679446108610964751024278101035540100314909195875533112123717827478020710153124630931366106346174955147103542954102274479172349860926174486270067602017603951104584041319845877208358361068230531225410708511061040161095471606710410810669597991071030940100360779989510926371737864726804288080537121934175410093689055958838899938334894586481403169453900553928449281010477202110661844106107852176962633604682171607110151634420136018246420054103445948574610463729550086210678621104427103034404021573808828035278148899905474086278021041054109858585410710688018151110429758511862875843559137386236132519098175412502084106129360494082107653461030560271085684537809711043791922511029841093896424905559210501487440381820451084627730914109042271736787731010739087065100268101106511119492096234010451105364590756139105222621637570810561010971050110941548096646931477510335104394660103210957039461021081088876044986270963441045187942448894245496891091069752294932923587785054576185579111010781013759624404100031166813210651459636108662766710166565885960026824470026101814141692806997750501010735971820129259944108984372331012487562041007484647892750041835717698547221431301071085523422061941077211107086286717988173052283596819061015584995491010618105247488180004211096109126604941195788939109510947331010109263050059234510879077302060163027893012747381016408010010491035047809049018504251018101179831108410119310748414582428446632562689736210854048014411092289017482164210109106679373728103191010381008591261057818318814166213810522551343956402276764104100501074791039094679110775337380346827624451563521091028481082635442057078104257156310591066415083101010075408338004266616712793062630930742985026884310778101904361001088635236510967234602101808151173587576716453573211017107910713091009108942239073596264708639886481034957473277757613981241018983526455100907751101041024148612287445226634509737107357831800657978010647609102810010971070644437120410810010601082947101771992372104631106375052849231083942776310417108622142110008508096832403289608101083748219304753722187071113104063322410264134981008426812750406753265105524224202911010279295510278781977230496810309346277375283684859419775763337122469108107560109680824982143715710668708026923121010257104099770802273154106171010211036131602933868268521823618410713010578367210717024961910049310722861045047597100210601708047642510368672108792663122031057810444680036998572522291043177795104101024458442738125672100259099873181001034888841051003102457910617622009108363883151039507425310310697222497804349415110531439385244649110929100241104267911024564148694291100010056898991057329543511025734410648910974361042612119706973676951032775106034755636074561024047063471010108714445991049278238336337213731133748771836101083578052918095182365100191081090611072445084202941977105324959657854694668897009100109906609868108701076604803179592164953844497310428902526442639571599699547810798314181030676999429447401093029310263106301001084405107110687400576605001030779459751706109865880597386806151701036785992871030182103793186793811078876916796871001410892606504752952713375706107710957855101031091932101091087113686041284961010661831010210029736810101039110210346771092684572106108379585533092467104341049918900390916227937514366730393253452719110651051589491486471958810883008652135330290645854131010111456701080472958581103867071043841464344102908101080948435504970106121041090878010303161241085001091022999790550014166830125182306868103437028071710247202515110859910610417110001431021403008854431010016046101101335764834981137521021002007635932101087099017326510201949076840331010105892814319033241601030108710377081092326061542986342899988434010101210688976192681083896112108284281010741050916950697861571006101032502391145032921594491053104975101924769061732701240400030615358806310010572710581104810918701010565389486761034261253270003776987770103856797174463121036442210243081141030664714362640150528300031669526281591641716281075302727755816301010701084736731012610956958710710008010597389823880406365353521068210643104852307081433585725787441655010023242104881600682869105296210946364972453434311013390104468610495687410230426179795183307110307781087039153871529417624710105586317105526100840107105301007616447410363092210810110580773313159463665554910688569721384145651004499821089276788081022080581228892551970510910222578540718690167210108761003703589302553525106103310218106610700666487102220716878519476231039810985572109874260379559757865338169042381091171071023507261030700108945520108725814191192681087721037204804445764510987199751985195101051067141085003123763771441493337895253541785687341423510441217101710451010410103410623757210091040247074354325521057101033943310096806723333836280104914104971238726910710294539291816458535979200110109100987102791815880310520528016993999723801082186792010738388541046801059997103889253208600611061069067521391410521018108272698576371069868105580945105610030970399692360852100050113448205731054637962426568939574855909193545353651941072537101496718943631030253310820681032681091933648850822913546631063289833480510106953351044631007475879099101362946728151906109285102410093590691011047106726453791084474252983447637901108711008599482231096096387326339390082710008970761101116196084051795607611858626103121065666116710302290239802412107810859908309532129867841006959101210533992567771058688553540104586848690448102404423105325919517525236575661012733682310412204571194522266405841022024310357429485837758410189530102106857674306810386017493686614475302107531844105386893910736391322362466756015028106101010180834106912206956634061410971041330103102709283121020381021563334690103946957102101310104672310560890010210971741010160061005100466561070473110053138447142103937950628797933399374511096700810571084898858157763870768256922934156985151677878894923456107697100913461676252961018590425019473724934445950107250836822315214410103776171188548103840105970775173717177725343344105900499756114105392474498716674617683210478371010900531451292130106981810151487810014687481016671011453103709410963899130000221490109277234107405390515409555591082443267249396331076171054058010010685101019588791008872102011286162206340870988910491095817552784710043109791553462072359269330043588510510589107096810032072514619743210164105810106115313108860715101090849109377641010667719104333810231420713817238980613910884110994613232044510522498624881010519893039863110346819616105853176640396074861063917110808337021444212647124085403787910539733046781515122885310610612890328359210103345396146248102481022084640502010182487101027521203210301038510351043207752106057091110103601073184909545760010107184510476715229692010909105909571050640810109748675138288716210426490103610654868104110440698064103108675610580485054349596561082547446981437101095710561024622741010540108172137871171010608120879106584106651080610910062586073009513373154366610439248918945658939283310748541798843812163818549562951018964109175757323770491096901035022848472717331078995266041368557106231080833212510033822219576486109599728031903105953210045236184748541460387366708109371081161710776546495424042980185310701192410159705100056102707526113281106734810294179227108029878813925748218428101031587510104910991522369139086261914651007281013080649341104101073778544696710389148967184978214130792789048103250892917710910769102224628102844342524552410972179881011542917042046069665691110711365308501096871100210641753321010106107409452210302770550795933105130568844617982110014346810610078438209022104100823496175182256854970104155110521357710763501559502106165784300103627141194350010321044214640906539132528101056110029101210101230091031434682449444092967558771083017109566919002007267925092319616101899369105233307108108101074292597953181061935101083660608879610349951196083270760910690527682549813551779150419103472207268674107537667268607109107910618910101134241822210195100769135102810348379763919627135853481011607786312766349767210798638789862105531010241111627747978810315973878401081088351086156626911008559776538570694590929671041014265224062511736587060079831608151010610301716761545031048803101088106979076207778436106892025243467830845733363216821095139642417106717273970683765410103728707134895524610810810691199210047484631061669236406021547205911097188786001613012010706608810391748720321046410470909108081822271953839106085428111187705102020449421751158373691335901010453597844699317794101021881602251041884268102565460236735395071088586536134679580398333560064326352255167106012102753481036971791010651075954799345054794140818079175548360095305107174107610623419010841028171369978101102148582906480862204102910124427800974190460107905451061231014411089744759761083441023589984617410362288041894610227065103943466786357105007348651089934979905611764486861043301274167105510322993610262627609680103516602547710108052664752935871059309020514291095269710173910850710656910948142792510310604945109294764578266104210125407181051151368301074608789612705540026984318557921091106727870310536524106338686000310710122310167107256042477491545004948283510200578750449100499098931022966184010884810801910494210714054528608134575841128734335698839668574112232820393947815252613921005337997748596917695602986310782710894310389119571555107124421038671281850427663210973010001042101089105106810707105569106510159640597108196122104668101038228434010471068108610384507334102107029268352362215868628997849984130226107211023125250954864176571010647459201735110331091104787104631656201770334264778741007035685253055569240271107235608320150103775824030103042258600981007102721042439825926350271365613756142391038101816350901100924449808723709861368361041734431993101571222295714106322148062754797547461108852102452984464617732501694428405803181048103264232173510986700105462357690671522868201197396020741101054702111046710710771162126510805429612778823086861219771320378147934181451549417844323103421449118244496121493040314105935008591075391060103189351010313785970632215993417668530563445058139013633026703134589214043711725510733830123255263280954675462110210441091035219622554608978747287570821945416614380210328010991074889348301034102363785135324102988274899637610647806135404101615100710971100555427578706790425210960619714730077136105001003346647081987334845377108358210841699241066150103716101933577412963586221109936745275986631191090889660668840731047684744012067224789440710126610930000651053366853216020103107165109904946366881465667661034220322615875628392135931610231081750545410140771022358401058610398855956928353610853871872855044664041130951271721066691091365391614078101921036924068333815149710961017546423641091089176917639106544190447450307410701032080078036800891437208091091021014665953201036335170621431078342020801061013102101102104841010719463433738524964325433012101012201282201039601063360344410109949770331051474728437261523001098870108835003021079629091029215101028910774449008687936770361056910812584739573108548110771066102084760906351031010736935516384960815294389945725302181010109424269042878075230226756144758093102559101031029869150714636087418940996579100831042174255398501009624974171175894340842981081373232714390510705644345471011968412110002589211818251010096721658416488588810957782969230581734853492911138391037075480922497929107489751086406343166905331019854104616612302446979760109794176711077713410399490561512911777418716631081332170150383068805396156226982762140468927715590046554509291105108310910106974403042934206641186510210121435151001003526307972174511010108510352865655549101054121321582941501690011224910402812010216893537373959251100105285107697129668101066051024863344971069747200054678591063479510078309898561019310421064737047294831102981602631001410610981801769858206103752110995904052124854016941000747022959958106106409659410965105810521010105288905962410497406103387611721000020540555621092561062121005460113219577031241710534286937248648331068695620838753177103269610964108931512659107581009470189721710127983541000889126710221639688510803561105287841310245027992100579210500772071109023766508865897059106964620328923885910084102053871656501301920179173727776910010457614472471691030281080100541019769469018972602688108912103800140910600883663101074766440108008822065646245910570513127613152073393732288734238105633666743110280240689381836272554710815678410786616846910075551061810914464939287910577732155610721749684321239941910781387325752730048710705343146999846103367880478372107212870522606360339768937159000630159865879614478518102710100196715047234326881127027961818104504961591000663105282941707105929841485198326492946364810083862105013856119331061297937010050427427673657089381051083039427590284401532111106949963598374210045838111461710490216502105046619012958562735377513810798222719331110462351133510252681197101041413151062167650642075010730107977806845910255100946685010842910102210748010452769025095208126372108775823362244436410443461275510384410101025732101151001041701010510577889134585491141752103265194114865929350666923123281079338767468310810104030857658101011491910699198101008431010611210721061090306923104649052009103151085111045251085415261098610452959608147056103496821252221064822477733102281037631674501010103101085291051074734461095805104991088480561401954443610344424412086109710010664101388402170740629975961014674006623331035106333132597618711689205710338982018864770953574740272551001748800248520106262101610906351091045508108376606826027568068257454354042252893319507436101074581010103031195538547171149666634810210697847922161013314575500192660159661010773833856381041424109771047082796101428966441033177252101071001151010494101810289002367559102505006336231789106101106876406346103101074106352404384022331460241727001821049772810950073531049620820103171212414210605546832838107311399238100373616669848107416003966636532869100450854792365325284405328358091894151064101044523360816701072689947211101567106915735383228710107434196521251631216716248042107972551353700100144729260781011010351001104101077863103103106292579415412410059948105894151245054699316708801016893521075210625909386951029911055101320753173734717085313673033361066274091010409372048077009100291013106046985115191510676493542051038971701019264205751057641061002101012450102205976710105983484183277475717110381068488590101685943595610852109857010309110735103143505105106105697355258862312106143924928468539586210451092108495609849381119631038272848418878267588446595590852747439627142568732109457276217798835440946663745510121049851083649227428236741034272630311058345259432645506981032560223193469292855113352956037628075942387544104049045544108552623946999102999181862082410210667945808823212122934985107917336107296661044913271088843410724068140601045198438810100181610107593110748105760126013985710764275863701024090802110995744144210613684198680312008101194869441106948924711110455510031077100905761041621045828636831092880945698809290504124433045451610818026733883549747072599500492156416354950610298210265358951194377611486413796313836006443581067021495071729114126910911011075004024109510572394103006783800671081101039981085199451101010517835075091455719765087355492051087973896591095105010449836481106101339310875102410126610725091091037531832103810108799716710101602990884772906103248962071098423812281234318168907588011015867169585656635658106990510918366862110297997317381039272847008368097510410366986551088716447481013738121071744108010108844003417584108238267480444711055334103992076310310822729418755773893101046291687655291261019101035710201087635025674991569102102091323106103610869775530318861048442833174010196469810311054397810324881041061101035434072651877755165610861045859044078809111553091066688810839106088541075411235062180031454302914489210463586251038596210744306786820778107541927785175875010960233101555101210433028656105104616532214227893177210963468199105210196352893440769571063109735171236219818310410131954105129905745110457397462389104588381059031097122367108102464399389913831045731576371131030798071078664695101036804929409936553510936110910310701071101409019049005277271913107782030371631041936698215271033936764308208914876594629710210511826625437909996993222637751110711062935633723577877121361297913210511627610550108131031034363955791058796551892455713173438101317352100610637804108235400034820520628087610779071031010423775681999824781051092820510894466100506247254932715745456542101084632833610211055653807844022697910858246093755739690644297657026745710138184573832110104801000655391666969104569189855131274510887310468067701067326991020984110068343926000810130108764821845156629413229580053818041105636310483641012562105112360298910085870210108108923818995104928553409713764711627221046147890525913709560801599566731005150305815785925800968512948781710888782605451031071139403375125103144453061063351615420301057491451755468328140810049610456836311248702399019105811070904065319102011010103104431610030108010013101093101210586110027510525638106413896765194480904869827580165006482021910931198310149049860414431341660940729346198796100415107395313842710984100624110396103649910132010831010664710880133210102070052663763651249342611442977510657573412584253229941010330294251960083609702102661212181008310902045109605573885142188994314103108210622961002651017277776839852850710871087893510436459082844841061085101049974105106896310056012104727088810293963901021105477547225387008017949631046907828080125991010353903410514854416302411042950918242331048264878690322328303010438806310279462904947826240409108548927462240848267840951049448541003241081091031738846731634410711249210745552109100801089493754652538151991284611045013644104106111035847451063609957782116967201085353921092101058710911691661007850559740544109310810101074711024831609461015233735805691065198100196895181099444211511016067710104202432685952032176546215810770738108108102107191236551025172835061054621287363549276806434115101693119404849220106104766142232826501018810559669589736103808621251710658310706019894284512101028910722139275141416831221109510110101210010102265989110610710462721797277049021185836910066282689910110271017680620074785610834812619881528298615049261757398080611072069719391210159726010459710405747101101074498408260155038676102854693635185705087321682109103929010108774230496106796143057110287266587253769453637153570391004921656015257144100600132602810471849721085366244944255108161251017051052740632790100434182665104022806446483804952823860010933348242210215210767954284527598196100692429102210051103449452817589514061007669370517263234101331152170105331023400601030710953101968062762210893117108910971210355353890577978165138161071052373938081093147912191094961044107105421101910112874962610104135665551010113763610685181704277277061054734510051736441214640016928081062349103683298084194551099632121010321012603981045391088101612126754738330417684350318910681051049258310654562568103141011021020010414127983464206706701070553883491645102571211446110547030104101004625101332294001531053698336101024360914807284104431088277000481019317168410036916311042252105087016785295106904663923092050341011707950497263261604964015054553031068512311591235788832101083610116131096381081071071564782671010861029102206656591034760293104310108184108436100557729741076257180101084974468814105743595796610468384108100512049797714700540204354086368105321103338844809065910401048910651864067140791503463526513442811100042721564068473771257394622624627758004710673867810663422454872831021010505790073116389843103504424464110381374104978337451053105554890047009100225710510170010885645807404614041710741109165788606814077691077098552233502109465578101512820808470631201758110545210568142871110956601913244210580785451037787221109416213410106093384014155110693903450104609077133549561738107759787105862101071030710853773650163137101059114482245710967105018105010012538371048685392952111053619680787828460931230581688895320922787638210036705447081400710260281631089531012545272574610305129001049658268856180843210027902107104693959109985878104100041701070312097264372027101311193104995990104010728044999164513846755390162076672840896378071090875206454662918346109917579391018651017586001076161015210072108927422031108784558433010217164062870171051666402457114778475660201060631862337030356410932831014699997310403813885722951013001085580624910584010383291609952219700525278558616384694651415562644561087785212108104741704410770910647442775933408587200896179173335422100358219103610103055020785664510810120310065725865139827239610410227717809032018499986311044421004558610710991047310613810333917627818031310659014210410211578983110104814467082109748528873915809910815843726461102696953872100751631012988994153593735551021241468778214311090321000930746985966910426338855535033258324996593594020129568469795604395370108210630643551914101209103410626319984543132610906465101227102561099101229249959080976296910731006103378106677514311029696835759095931007240951085160607016214181458901076941032371031025949210108139647270077391010821101802097490132311042949192163471394903188808706451028223803794495861089059859571861047191100775101051010205409256410902561490368180123993105672310794103101001037209108923710255821108152541052201410267363271002441208801013620423121160633876945364934102106663345886942109210911492858158054150138110010029131010139101877202696106631082105415413180596822938046493010989041047813756844630655711486114010381006960810109010034115004377624773101091569655921054210619922820109676066659109256678110841038497103910695581010461073928060437157816108208269461346293866929869151757696635308621101031167210213072560454707410127308771029066507850291088157541005065101016665947649107718108079210011050163011885210600858451631066373329174652388284537647141795742106010600834231080835891853197279945761193403963537107464146305632576322928160194402588105251493787351193648081611010107740521854553723712465101456408538388792104041909068361126906586207022262868931010849010497910061771016846244337109357195520439465555482338106983723513217536375710541089308400609948810783079323592882005107393101787717991610044536172457419184362774261070858668814957501936961072788037774710810717606640810403393884611328789682824753180505637702259591106093110540165862961014810777705645832510263523638810848407834357109265152101559600310895510941034214501010104910463163851879713981167796870738685515243406031047278002221082229229141970387053169822516716803611057680712857106210956027119916611108325216187338612854926396014320081689010660105424210777476233642471346015010960210078779139295678663900631480668927010733948011039935815040459034484934379510710811105025107051531079105574218770900110010528475626101031467210403336201063799819863523246969448515852210801711410416120215100548510429741041744321092824227761040319792576127832547977109155105919101070273106140791067770194321033573407103180836110933527921945909009079076262069945483508956120105761081809011033631093101223211010322004410399101091147741061987064337010102851099124976502932058108078101081085246810421610342613778523631078165500593233896592110795721809272211050105567710584189617684085716555561026751189383710752338178880361585937431086101049210792678768896663396107935341512171060841310224265107678683908105888535809653178640389695361022014894178347910601087749311044828067107520217610211044231179676655542713561181035698339402111689570984881010670552109977626515102100896060710895201011037334547346032414906516927951001082728910961341006979310102106608896550444671907102894510343520192060018046284003293845610779927310213104303102710209910184108017387842158621888716010102721913107260549474095310219043882331094535995010106985670743994702102399108180267437061099971376131035198722291873779921672493390359410811006101081103645552004231021060349292766707417103138107934023037741534402578837930746961830481030351020816631071980121099045929589509107359643059548610430839327900310917561574103689801011825851657115064559592810322029101043051069034281097103810423163765401011591069386858966194599221035632210103410947343553340121053503171010191099065912300701841008728618440985105592179640813173857677910641535417168966262082661021131043361030473614684766809733780580402548535691321130837604428108106109291099004110116685759735517076445491042101058905194102812181063906101496252012887726106481081745541701086421406111939061087100108036501331181592285681677106800580421104855087199822824608144807411538043841006709278107951103002820105812101089596622233104466811898351059521020513487141022102675211021810942552106802750120010751956119170506014124879391910693642952325210031525069206581043985982639040111464108102977924387893252022151661003539494214101093560942481015873704999393569797226135293104049687438102084152101001033489106110975113485501172922106321408953735003368106250109943597584102242039159299210482191000753441646617528621013066737702337707619110383560322265008411464551087821022958823105683562066465804510108478091078629106264103645100511564000179424011881477089207768373106626168757898132752510581810010468110410955209195587720434705498988989916252831414976108215049369710691106427109765270210628210852152482041594104100613909926176107327663104774968638321072122006646274010351033229823801021310105760999605526761810247520991010108590904715810510916101016549324412571810239910381041089128804665310031598124701020965071019501411073301033384410971858511042840771314505069346171210928313710892191055249333310231970419602526470502296054810933775721910110366016405425531991009819594083330992389028503751710109156231072556547993598640750390206559172166589411029631980816403691006691231019756718427589228231010292881067571045344641066110169310814801034841098210457095430041034118041066161072036772515133488989100291957759437859934010220430279213133021105647410245747165339105310432251261092745510723450565695911806984179322101010269536847026104869327884511375798635355397101101076481116879863100791385805446410246105342620803600899382191710721065153010897103108866895108374971653410263921062814654031105674780353958310111951431315032108471025631052511173284857946350000344025269107977731798101519101735592810492296837100101045492438110010698995318136153143798101043351419810928910232196710978699013102268761020365948952731002570472076621159201058099682935981304455816322558309512519106371055729619601034848417954688110752108210373199927456641034631010803637801085801585344928177316107733312510570177327781031411094017001735777142046160101069566879973881038145342741386195671050381437065584292921088739709705043061098541084631094007872200469666937799010941309377147228948382859863591706888210341844212660675557710819063905661011001019227104610350676480103442260552905371052633521101745863047101067445103822629731252941015084406969831030519929610761689256002554618860884525720469062575676710064108106773841002461921106491010198677100306631010011033427541051015262410672221710832700715838815419024106975783004176691001090156792723497910100101307641053520664751036610601008498109650111070981011091138934432103435027692138508103641910810027121710770132689161310961011909595929242108344914669645610908210190222378281981059154140604976571106799740197366500501625480439000453471020107794043643904241837227029527558682137032103010440810720131123296222057923105271004119831064518314975053730480510107537450781771054610177310951410302585453101572133452014338106101273696949501510338599810644310131201099088802368810971054822497871086391396896561009220410705047906510194058826571091053928101089842653226282888724106793109076765104833294127519428029105622006834132043161925926217975442077364127569639508101081053103705719370949675913037454509697625777375379682162202884525998578138974107710741261041040434659101607669807731043300827100247266109588663442228195976151042681086771151091543291015659446831951210641389652952430766206587585381010761492101041067101070108210761105819111135263954363607309315333361064041010473548101288446435801011010968715107496864251019999794013302043990108088278330624967489229106110278001917004652747102321934027098100260342785969715305406010211022450106172910510789110990711843623096003872236107348693810536666417928532027261838108585349801101572107702371488284638610343716701032469107601611105500410520643784741052069071066926082089107984610347748782410110461015362610623648281024980105017916091012947045079870106938275864067100081071582510336996950467894320010602590671207390871011026267104781092210383641044896674710710271001084710210041503778322251955204761061079671010944629042585110107735169108104277101710510101051573574220907681105845840413107102474101040310928646105104513101692010325028282202709106082495718971091097283012424941910718257935354101791086930106038910840150106071829293595311121910553629103744788560521098591077301097699115214757610107126131077439779160110267593172596804207100701565511048721446261229078494105638101065960085215799549248751731010173276024806241071958848335999386100874632994376608271060103851021080810706920215663995796312712710810050210154673469322741011243517410957711549272442506087879357899412569833510902430677441441104477104589785105142624495910045766609664691531901006130485281127072268967310410254554641741224060236856699449481031796073147171083764259053197859103185136252210880101766939059525550277427096707877101426101030461015123109928556102761010410038109595818391806581102641094578779181749176511068464271025414811101036733101061093234355978288793879035870067104110631679754107310394786108510406808013687330482458986311558334686630451047954373105489710101421102771508623127251010110647548102043986381008366347631584405049101107210950810810110605103261081087204188817634224637656735101018714475605442027208046917010802450800736511226395872695601052159441281900301101027809307164138253823977207184017459995997611626335698605501083648284488810510610210257101764183796792710119103900610650772010058510911091061101137361010107475196944847373881410343052939110836849352700806610964310952100133390021974129349608560209361426105339864105900875687772088610531181052429416965784582579099221012370474297103189333410300010108577961010624672026547676102608526454481071714241105910145410967625710277104651067093830104535136108510791042610475424415748201344574262491066191810710588530349059101010239141031860144909928106629849610236496202024951090119240777423513310912768457381110105985210837210671052991861029286031234450175101043218347462106815748103065063297582038684481676010862178610522721983710421014349424971042601020856965006840463070061070108110103888509852408614306103192127489151080365110343989710718609526101695019525547890851133107985108754623905983041615474189110367101078810668963809673924313941006291181818991088610290259160428458410059201410021354925439014294272161823016978528941124133763571041037949581123913952164981033627183633981009334463181061510391105991040317022175910984464351045694189774375788921099322921009948416998209569921172506927879307510941080722113356292098204348525611080058982536084610382926277616965918748263536179896203510223879638016788100163108739790108478612140984510043566911060807310690348106840810109510393101330757765256110761309984801410192489921525440278934230420772030105450102274680610698809300505510810146107377432948668108334301078482482101490105010822213910246737789697439431047054010587102371021079747688431035561011021000928613986850443010099016107268176391520683938469011081048783923162901926156530104036205710468600254621021087210010547908061810785020166786074534703053304275483891052335428318249098910853831083554510996137432921021106967101109992477204771071961060615510983187129418311057637451819618710995193788089315870368429460485341060828616103449038402208007938014108160304100811019097611472410546214205754823982148193360408425186295510122817554618491088383345481708817021091013610101052281061917196259750494747782621108108870585926630471965590910718910108913561158588322674004049931887896982310015326028300736410842485083610108262551012012963059510365669153092299108955210105633710710868713310103656988678110984823417573828310040966107884132971089431455380113223982514745040102521021182225102710102255175860275902783691521570745710301006800309657510931996140591002644378691105962310637333547109350571080766467742169163383368613403151075815175106639614174010661075074241094155952299865874347529118155511103102708201082105104857104591030061310431069710271054735932109847091051074973150110211032066374879005398786130426289676405162287691040922310510617006108717688610110166902503059008314031694240106404931959106741940467145668747210103711030824981010150194858714154144909134000388461857553610294465601362737152473634959973173669158102227124701030318510910443866260047223356939079875568747614260881461087655669814910458914412110256244731651054010357533434637101351631092104446337622168599176610108024947710631876698621101001100461012601030010288003427982987928777216289104100123092741296505904863780105101102410541058316431040310980751548622118721345810310443786699366341831451971926209023074048319707102105429823604953910185959937101090320822743584101086746310724649105888610870507381104512103108069733895859104910108162212564189950633725754631891855280931010522635707910023791021823275312493475620348970216681007323030516101096838458759347401047169417810891026071081029381048791060252909317109164366615521107665200575766021005491080136105310919343616026510441335805551011349101716070055790961683372970356820945217210079998842104028794110107692508426931002983016258963762521032327910089306928278146160107310774028921081039845625010227381085590246674488797171315527981031095511096616610163491810231001676410710919183510075908687373482096222101010371200631731010763872329748995107163331052110510849510108414410610240617529493591631306389141603092365878777046811593106234841089105310454315767850622443695851061083699102727831074950215879810174397288334095877760443333116100957510707338268410266747123951000101787025281076103667101570385772103679108524323706210847332788638629151092588422386659779628107410031090620780470786149611038743108845710585109211029353592377891520432309659910510017366850601161050082275287541053267755509295310499822663700102661741749497706587015372608314657510431021011256791510574723210102110322492431081881109871010261018722426777587657964266431620102180108159806543849547103273817700360102291010791035428935897341059228447701595349272105941188086817357610510610619812859112410777636353544996854103210640844797878826810717225549101010195221068420901010171096100901007627956694224510275101371031031855510788979789101084581010292955102610691334209770592010779371058758447256781318215136946198140930114684085104933757769110504597058104870162101040298383104283104201010604471006081112060369157585547102910259833934197657992285991018910901026324630131063102424625712176820240285227861616381098107104108134934101023092870104180238057326205301021103144001147109057923019656218466081010714104316847489096010371104610550102308191001629101468711051043688913810301051461188810109327101551010710521001610270873568103114921084837340890986602105478750991047443050910038159184102107510285151084340677949755410513283108721091106722008540754310584272033534309599850170456103105751501103328636210810135221089691816760139252167866581012710714103884223106047101220910454377154100840885880810123701084931310510670446110716034097935096109252104048213406136103307231841063270017810107181566928110685922107781091110327589902510907874288442106832097683239213025064617939100024782314842950781039841105107449985104486919629822694815653378990202671053517550951058289391334788590480610520400215348457716484405310178920482966964301012487488104434963605018386710981068626994426497523911105845308802910346010622461007842910288376741034269998326061023510441014910289782858443038975122014138100101037580044996432684921030426108908815370110471761063105348233896582267810105110561000707574762713000110101085172972532218641010666561047129081394687378918007922500365524048810216969549147223408744100610869445997535897108747108919109307101111022105711032918972527866710258143279755010567889642481810332454109464631173388933954581017067532372746871041136858427302916410269262083294523462310541034861907047761041310515354746619948094710638106621797290477108498066214516804238178875759819475649831091061002988111406044210654910596225491022336010991631050900843836777798442345234101071118340149100228104106074409560027036008008290710297936419676900960986680991015879646788571032110152222492836036952285187754772151017104104106790105591430100722910252562270105773679034144038790710037100714453740916541035138488742343710101087888291046967971347927668077718188101872111063976653606445971462293691221001060526001013834108251421010741010830103443079288017616781505876327202247664639281925402581489103584640787551216738388891049577103129778825850104360506990638605951083410111197531004439558351108988533105775665216729211734544107100732411017841051069221045053623805607813410494938929115710917111042394579104770100107380147298429021043109971910170696788946301154101699394611041101341685074133256137950410714033224310547510438998901074631010159397910650597101049101009181381086474395553300589127461057851024310108018683789551244961511003165815410982690090475101059614712790089575610110126866858018797446699555366273109910780156441103358020221084178631065101467522510607860281010663626631310727171017239606036610071518024887101088103910326107571107736085766948911059673391093896100254582445621005382200109183743376029640804225750102261371046969687599310536759821074895934271043564104100613631410068104710410648285107642739451351304610423086876397651323167020105484610210783547086108310879756395706931081020434549841525101531080833105454895933104107658610006511061385891752542877346109907341837259109710147106646353271012721060947575998621056581810079107210080084033792185983492197291564332853285290199375224466285101074610102816111106022569410221778749727510247692744638424064173311070725205651010206779646100880716508860049923710742372220460649369556521105266964651034985100104021057102967751006757191006289631072105461010610487416148087001071480741091859823832161322808922810164344610044093018321061025325992126605030426582310752100001041064457110092510619410081080449941091678292041019955371075010261689332710615688745303101103333125751009107761743989552327719212152761100306251028908101001061012844100501010100252641088610316686292399907869916101916899822326078718144057546836759712101139788908721041550930437726017301022945581010951022622535817440986677410103521318031024372892109540101503334069840854925654522466101041143881873522533129224332657110293949110310910742241047861051616114333109810412310571266510645221639107010572991169355702967753105141104814285109958092558235800250076103144842758065206761029881091006880919710400874239103823101201047411109985651099436197974664910365623145298637787535900330810996287939101059286003691067790466351439712107706695105657031589999611495854016774296900656310610996910010871379022100778312389106357102884813524033791018010996958404508810348506169449101036010694376452445342735699745489719701042286819108868100897272010108015012608101091059109216972109101184833731736648489343662228041835868581081889563502641016651011186455909650754620810457250747581010967613910671070777441050101026010761361026527513054171030124596981514795014913470159787036048610488669890810294875029880481477391000405302795845576179132625989384959810412200359769251168437931180833711674101506527786360966858821475521106535903023102784373101037551629106108551010387000256813285749591551102163823717633959792660110062618109334932880510210390155042166871310585109221007856997218104878522584821696510831079410810761995538601636443440087683910891073106102266223021015104226164410941540554754388210897710689180385148694873331038994268101179141060108741871409151001110970424100352870610401051390982697105210000810656211010117046398810010215234948108729775121215062396226733437096871011055937054912805327053726202785569199481210710100610798314393937601042241557974297106828509661322787962431582808810335310473210592921970125619673804680465374080985977028701041701910051460517658058832471894109109783719642882781567839714321202010664106126101681010733377295458593533074910129635068065650238286981029106928433685110376147243610117373039620554610039376271007840902129927999065534121459231080089978870087480879081510230130101643083110430570129110646532815810236901741010100569696968148345410915900889788141739910225420101010937109719405219921038110961062552521019501670171001502324965837572031677910753714891710853107568651037946021381039058823471077874573549106339210579097731018233256179100544446541002426278077829870910474205710626105372348903960711079877145144105653145839884973222286873751086126287392434103290836072508895100087719103647783201051095405597921039418183252670733241089844107856105306436830512500687807106190188610410038183610236717108604251024288621331022810704333331061122910780563897882329037896755106378494663537146986172164191071012522901902831040955332006116692717337463230956107104610300121083641766060959974107599103969681069610407460864310715062090416057210664956108473832278326490322210869516102143260655891486041450073146066174295362263070171042779670100376741017811059107765793430398985037108467799802808815109108103510666360606665291899815379103406228193900334611087303586511776841639210551014685103671092591298016248933193564410791021103829040440109510081047106207710182205458641095325678058524416805331012101731489953735958074944686566834217686410271773240300486770671705365601942721771945670595023089807711952510350104357976281010971071761044216508510001178103729687362770774420497883764101089354494561453728383159807918241206705248261480101002681031010917983828222167885573101122538763821889122689795634787138034054791012374260399341342110267781010809111096571059701000653710299290778101823161057911448915205854129777466690526844814497293883221248933691063706684349749750487104870369923561135820102183745154300310834483274695970990893109492500810222091079813263610977840411920539967647001471033387085210924810822210944509105612101066417755160979810550612099941061041032597010013774842457519597612204241055381050170518781191109772100359410342496168130002626181059014410485433210211052490612075916206062736296123742910810565841099318789404897610512636617484358772567854897049341010101037531017832108371090512153380959280191188406180982562910410104906824214571006071912583474110527220838813102718601079100283244693010102833201063271006701201591090861102424765941012160410010289901900859680809067200846773067179457405694403105551106102083339208209352670757547951588756112526410466035461075370224446393441435
75701
09057282841310210310558108343220735114610310973806363581056227907270768098082101738899010109925315463382290184791080974666790757010641087146651010541937123066293430590105924105730738409763838101010325147790780837151771080395110232410964266605301010616106134277493839108371969433171055322461082316149610760181068607741091807681361034101294755277694574691075638710053146984924719149428744841878094227562313661310610462811010203642378741201115681595410813603391010265226610745362552810101077302067548794320781091062448395354944683521098105538671094167423795827032920510417059461110106764176773661033847110886674419835254108524591100194473166206909926921030284927011958323799314532270692589536115346372970296959821021454450101016752559106684982226527100101610622493748355969199401742971462597554659788820039050910410064108221497430105583189865410177457207477510510100810927564292147910646596831186980305907104775549760063107243543510161070659968971057802167210914558629210373410683382284101035901582108348136544250064374304712248350103710604066507104923607430473615792557105797206721161092501025401710942983028410310311883521081010591410711580989473033147602693700680461773864107610771258407174114103500175118634710171436287168323411008023654144869199621009368213236838399292286634804331009073165962596661031054810855263339670976688858105279257926102988775422903989917645106636848764710331099538912861410591510410591359310990766100633778551610585513309102101105677969811010671835851106610707703591037297749936438040719101846370231402710105917513097144861116959309146811073809784437793102511041749100164820264589270716473742372779605109982510705610723260452765571085987894547941048313088236110957896890892764362489293691065456088962110661791998810037265518108510995994103712107570188969631101681078447055986810109129277210910132300411511242231103356039124841248134975927101235011083107823235510671028810018777322927101040783507712697951756108944618910072111778108091212168123550282104466995092460294046103981091610349351106010022357646051272224636910909984645322100101080164423445210145061061021084970506986885568642050754207055741879964894876488541010102551010776186378228404498701048106006992031010451085150137288377101085491008539090500301010473366772015915284967108719410108014504190108862810773510655106205868774810325810244721935140576915592529704246648717856932488129258394261058574091109013198108025351582610287410629106710301013452106262829806336460141408306507513104810422810224912224100708601103453165106105831049101093010841318798320174314337282356572403297982101095263059577976251725133074736775104829219498115890293944136910708175226503930963168731945566923038105164996413208510115110304960191563922761010193469741661642734674874020189316164671095832460243527554898425522810962364981079910451517795479293730904761662493761060048682031652554620391305522926916386827001131027113001040209569107918610723038975361400049457321686494630236852901091040573103890883275525289044136876735064101147010103323661072712101109844037413020101706551033838610102039210217910823765319181017351190679216541010910556802310881010148202592102550413433108310710245810023637031710798823790940304894010563981037760801058075507964781653521644525131610835198624104106710421324226100754810620288864522591032504037716710339275360109822236647990370326102090108111840568910627926110676310058101545161038010510510063106116610916890582164841010150881591018974733149134492882610146403786962736891060137529737568151022879886799108197356310679037775101035968100583178710887710191465905057310810337865314600138681040182959322386987336067614234941053950022003362857685104848492243021645272913878577929030703201059569071610864013534911090529310700695400772402304964310517811001040407777880227873101010227369768312816395661535210123101041074793637360872110104851052822610285260118611010452911034906351008990885163899398226602109735102410502749527141020269106702106356109097701710235754107756610701016466104230921098277791736365331522210137883004781090458973126098224980304138851913106451099097585023368021136153750371101091730877626725146411485429453303430044107405642610104945110589705660522106254637131859186636843410851271052102284628645915810219004095098910108370151056106009715540741010656503679681102285991092657503106182342867443583081102103080600841074110315103500471950121010772798592973110383076143450287538175716085755813751821375913649292197101808963688601771044082103956209511010154110758867931089524841084377982949839520822940721096643443157206410443923100311019587918104372184171075310169888571091043410834101883863710135911051133637104353410565102741599377362057877342311109922405628510635676471981002891691510131844385094751050550856321531812164688104984198185129382609977261210810310246554884748173844391126564001657010614103579650338205240341651438769307443086793749614587426778971871010651094100349610644626210371321361022094554710847626310109610691378889581049010385911075977322100101753413327100877204198101071063349610658101065299103410108134719278527771052458061104488691831053891104945110949928784294342193960100525871005091862741059110354761143620808106831034194910967044101061043793170035566202105557446896199260736325641043341027201781081097159430914965133603967052462861503389104157426676107276295596965081051031371014100854922293373575455210043610132584110748106108367887710174501917950368787551010182598585603313010399837655341050164201055810516386109144988262185810563732627299481087633525091010908519945351490985631726091062508235366910103807610003183242610546485067021038027971078683321108109344846451168810511916101292654911376997253787225274331081087910107939127545457032916401475982113521370866671882769701020842244306478210161068836198100210215036626481528123640616842993819753993801237526622105690836164986108803510533109861056910247856101010103171059612443235244104833863592701582931016531030074110051104108610267181675095832656632046108371102902359462922260152733215072948459067379622560975107810373610732051665000101125103827767523919102955909314106710463535813908476361080287371910940337359914335803989118607910928240357116028514946113058968027960104694010529915637351095960923106100763918241002518100011031078612173681450011926643451919513527406869939310485445853772368667106565519106899898753100811796103427585147105547712104357602616109810360802471917310598636330781049226317379484916569241833722106190546300062047898092881010205109557921081041105836435710846159734501053104270570993104678893540703054337791675748732117981045881449710358320012810061102510710279897404227549159421095215676557392859223553386497601021089211062335141061707965884797189246504351833673489054593910041001003100694870568101071238107349937023610411093937038937710306109557158358225612310334219810110285091010200787112558643350104971476544784863531010899311075392228935703490780910333761691051026109370601025544533591008084383741536271102101900558108518704333206777748476828331010272673192881107911101281010261729264736949336448330181682124110904824590101064693118975395167409783848121023101095568841510103334259728365997100260108110103111064760410564910102776911011043669153021036969105150870424574149110810487105521839821026270811047104721056051041589410565310560555410945214947960669916710716715912107968103904037354457353101010861897226805054991617041081781093102254445981065723521012108359491091429166698632029462684711338147052843303108762197570738510210804793834021047381008679401898110499548136062810061010312474704510101915035517103815570548743101001089787751033097457876804868314102561096027264849891012757141010318477310069101063810694351045411097710424689535210454681610231910222749170578744109779357054106100104272896877107760702349991079361061073788251846862381970938010522305899139096292475792106102481393218403831151095975528333809722155682600080210162766976121807813110891001114176673737047219634993037988142844549535045269233100581825001204292563946262106921083669816781825970352483102102781554551071058570105884028906103206414956010791071840942934997230620568975659409644541110809149179220910110106387050501931507963749804498410487106340684335360104554681005878110087071073410841591100133003067401081104217556710521748220234213810011026323921091254910608201810289303872716101093766781081099609338170318960494579345396514000523554108172776047101977695597653341008537118464368948433996618587640358296848531080107524990966194311151031653969594858735627199538701774782791256574110215103420508107103810016689073774316103713925891231011459481890116969435555326105733810495699605571042971029919111910748438139634647784213194053616936410484087512021031110174166616834652677775786879810266710986410176170648443770654140261501012365541081453398935102369510297657391002104201006853110064108247707100040103827907536109610026101020498883623052212909101030174710710516850495183750460698426420414249630255110228084147231136014710809921093611652274888771010247341061251309304456101016561706271333037003101081610156490335592095730134818056385268813863546226671020274109789910706108110755105870716108243784698407010645104569037972134912220255492102632025635259538366685110910544047101007294071071007101710522173210977514101010610794664021061010064169108271053460103420804593274311002105271065633536107134974695415644106556109651447835032914546242208679453370145448751078591723101670712353503672104839510185376004310431079201081010517715410404932169041069790104531106110727178549191410101979225794953862983208336819914851677771061310351019887726398107335341098101670586461071631048733641911071034930067929052116866581048622410869823389109410109027171084728649502836311000613932390738884518832102000871629373846881104040118551071918873317329713549984681104692497973126466538571042101147901032492740673784106813641071010010236086890537679296188956481010334382469764586953284879877725175692108981860937051015447146933075458287635291410901040147436411011073482310596834910825049810720579372636956775889241010285614851510036941081043926284512711304103057022428019451068721101214535578222903375553177589897706974705845103610328103567419264727308171214010966968075015105972103107106821093670747214065104234371310555103501483113501081076101994136007271019081050632386576857711041536893272053369022377471749271854673952104521207699754201042126190053950068480738102770325139054931010610421010844726871351190103893095427400321103871010978948695468749606485813101016100631042725083775425229246621739434005721610570101092101777457269235505684819796239356278340459795524105075672791112107100958887317641091410520104758195075271056133102616199354948312810589230531927052381054254611054162776621439610370609306381035618623010422694372015817107710107810510032454210549667442835861681018113104414107526169319221780910228109656221310109703610310868028135238079411125091234773635310310909185175105094108968109266902010652575010731082936881310910545411089787882136210766788053571599596803491005334935328259102925910882206857280657673958752457961143109810395530616472193010731134096662617800092658344955010173485106411016303441010259120012030441280137495187201005415572549104178494452123731268205955036964999331040790210350971461088999981031027397016314591969104016244916267100330974811415752100848074581621159158413031507242107410764946191035281010015910894430826710031162165410586968794610510454121010855081234938120194062183215912254057811510102864106101029966181890668030528987549810068711347841003559104105106389608211791840377819521060559742110296685803846249392751905475061010388801367222163491083387908157103010902286358577511113247010047992376100310321061106647713467720661048752659910857109101049510788057273215391094549443034505861055890810817153659269147360105734077010610828810340101560636691407010830730910233084481145490391210942118634210774547495410104751010410671562533091003356983553710106616287102110256384012310381006161105630457696444910105811456710531059430873787219061941075955093268174261030141069156296193297182441731264779410551015282472854855573278137937090006466247769821108697223253210060366105231451001040714472202612210241022910407164361450610739481085808685226111051331532265102264170661010655909469135395997104456686155445093569106990918200401031011067230290101039735936210668290864101455029456869921083241410843801997666010601052106062789385647566891014574389704834077269103552122681010867711185688362100202762124104565458940224678568479461003392862501091843892871011056413215210958104995048054706108570339335372871378541578654410297603411033017296910104891069101085801057059993018510471061096064101776252109072846634571962708102814280499411094589201589218826301068814851081798374103018610381011027125718594472508610704310911733104534102351061075810042541474012126531749010497014755084908376109159556106108748463842492106810432256210845094803510510171001004279433172106100839226943469765615888404725910450977808654581010010236701005990108310664995321619510109910951210323320380474489101093874731058129832860134851010925101104460592625675107004805661061829610937474010123426944383432052174889110040358490741006364195575504154555442807210612610840968610036859793210307533351022181310719836727393125853352205950714575491246661064782710817424678271175168573710225173855872310210983634170589610710301090907853897008884138902246571016435599009554103510010107589801070404275656919106431514291719803359341016277018410988871537010001081335928181081085658048445136376605103998561655973903137461039103742074525982106729370712240191039423883101510521048547601106760597003283244556812625343419475041651586253510281041566670061155974613108859005284185970776595025103146910318900821011181789547152100735111024897731107180352991540910119089515708099328595770100249106875951010134004680410544110888261030100710732975236333109406081743010104563524406101210013554141141914658523969469531470610481610316832131007000710761005636435102918181084896931321172646361771100090110831051689107104893010983954978263609359510210721096055402597997375194205105740078730548330102107108270527518163101060321017100349196670292410693810695151910935902620353451868228701010968031046644100965610222241010210145101072580156109737621733101827731009716389066681003455189001344591633102377571497102208731043138458287340298295101329636997108221810644166196872102701116921017444945103031119108208500116309103839782055491670166221043361466621005710067564516221014935716819718104520245579963108521044854951896785994166671439283298610537166010101060776530093851120269567900381078618207338093251033220210161873335677310877610968019210411106854098569579555864338645097878362554352674575171087729561109871021974358611034681078510103169611066230910971747011087707623967729610102863043884105109696310224409409181505807510123712431551033103334454620340039936608106210060461024290090251203401073107751071048972525760553329304762287723110685315910877240550910956033661381556181869310625596513264826570301621058584841128521736100104459100538282971073901069148631096701017598555987910942521838787290521051523594606781610324931611108322881760417721039802789610308987072371776830651374816151089360910065470689080938050533331041067199102610109280880930180731641039101199057020397107138931043811550871000738106372510379793683187696650261718866304928853425638430011009104805341028667105150492810823357109846106845798956040602511268223872214994910056580662052289209563711543095985348629674606310910471110730138121835792180106608476570145484754725719493058527561487908010035578495503302623708591103102124735070538759828423106928815744586055682144455589835487580109122569620818600036998105491056338410041038620840140042472751059101008630399064601610243210038561018010082817540411086470905238271013209109822396029387726895273030379637051688947493005252108108107855105514734289104007109533153165061910426843728656108100510601137210102079744421880101010619931009827010268440175705111010104305131015141233576101033608616811089571080697801034696778318639233661577419401210964950311030718962453686746910471190367841032319617621031421185708876415577102200111930863910189104108882653063192150297000104981237082203415972031112563283192272109010101082412366998106606953510010110797879789981298926581090387774700667004767775429440367816223880499146821378110761692103888351008125446807923295946811181411072283252766506956359242273486128827381923053354303895979509245634106585101010255288718109084858121191028810959131089102101085108708726908101034153487285645270421093222677472892362410620645810009471009684531701003629649610628010672102845631114424857046105701167414721058571105177182274796357461857315278761049613413807477473459619004720451062243249022969010030932987561759108000245808464994549590587585143741071900710858306105993109364487437812098800773610941028218318912835411096157661066218371011037103756064102482710373885980080457600112399109115288641819933852964449608506959269621099873436421022456911571334472518108111943592103938572442521064311425201010554582752180827410902788107510655701002837210475110103556704479888451131084212310102637244746474124107735545222257744644665301100181061783148951012108710381051415135396059810810339024879999910893710510601077390228318486010944839106464101050243965763826431710190010276498108157726855061302257760919258656710579584145677834350600096415952310264059327587702913261097905083232142312952191085648920091981067181304486403213110511069905270118562110571558014009459363212821678653697838971670311052544436792289682438100214106084260149361011009735210337353565272570923954767606489109246102945498103741645920085297110440539414210277033321051030115676663839618101104778490917868900362110134106231013200926550654910652770601935060907104710968109612561071571016101108958871090554410835411552125378106221048224590810963202109184464944635281360162163183110836101401005107951319570605958301978246916143258184741063917970578500514613581374551297314106610045094106343106126102248810117663103205104094112771104313031988109923312251104330105005100910610150368206301810301675064111035690157101171510249793678420021059017467896510382226272828799921311108468844791056910968241017801029107332241020497734551502390910902861059444210684048100510102884175811063359817426791352029010065573179668710110956702325619108687101461088518101489499860103176510810104010101001498618186187307604449458521063904730487367024645821105818141077368167601610672108102206100683083473483976410286637470174435386109986213788114945941267909199362976196984545321056620201910609939710396019492902109983942841017259609755629974771788530562901085146410101086206961594993491061584637278624922319904181034078403092668043021957817925314921040032611107046811042147122441009789105104253680461501681767239748735881073510743491067093352101059748625107371095718943144525410398350212252591827411036965437610247440340599920559743857510747651445942682101003475917835302110845309294189535783106829106126036106132148531078083169887102895176251352349383395341035021115459593320383821017886552553314725422890548677515314126244286174105501079000378536610526798645924611081022102310429669194810782410763798226907727693410410630914199510719644642165264797088809451550121073541027337963521211047489323891098653137992107446187291078553510167063018137177834630661932710799211094510814055341094738338510810259056104674932371651010503237330535829736556106797364452884950836438561105200711968810136932409769029393301655105471967107310265849821003204587342809144710436513958210592011742715639033752011149001842142341035106755283359578050077214923039010013705278945524183561004831010107410210618089569152051381921003095110224285590789294884142255098582121251093226212543654641083817124610035108436761123944100844991097102261035713731857652391191660434358546103105310268103104285810745488467510382345670491051062105056727595760332053499149939952067976394132106638042333352025031007010471004101066104953665871766310230710738084712998487941751028115289010965931353411606870587904272403666645067955432733343930464583178203910762091084429541096743565082895410121010044103429868529380183991010533060104110550108609375619980010441048873534731060576720411955103430818158775716510458105258394689101072510255960057861742192994106186009114522797229410379328331910816311061101021603417125460045398896818819350106600871052291700910561093651047210517101889958459301018084711084947080148558010495871051428282509323268719310973981771004193038102607722433964698517581013221014107738948598732359056264799088404372110678249310984102971021022688048333311062058794197514432373244200800195803685503556109010108102074401039586700314108476193375295055292538202107106326808497419938106710610109593719152596097554945281026104455745810261381091038281037510851010417488498835661710371048734101014891519295076690091236924605832913251029543852655022965019108914597107102759418736310111786443410935917055289645871051441068411108104103371063109468874070171029101587332151054000946226209177107696157510061094894323040961247283524910921392207745365517581886189101929977961865810122500622710797111374351612748107414791158365771038721046082910996510405883591622301678244153424822300761072109810110595040101565045081026841075518657110778270498100390754170467961014310937288563130277510074350865065038593949115101049104106560910594864572899010313594885100374071820871076513689551985107574402578106102610307510026798062508210749908651877534910110724379456943210145105361067030106186104910475463791077358786898301074607532451241100105408798105316606065220384733567112253413917741142061252210409108031067091056238603103229017621064871498014673319357101017444572136103101034710867541010865747631091056485510470774372101010019110083710619001028331491306419789914000818050118321435724866665346014859314307307205347894910779034410424910804105107005106321069389946109778446410353904081990484100830291779394310051027527218668610079684177125956574678010501021050271064093125627110950361281658751023216635720554162010437943014706059150757403572466386056252102334192291006291445114210608611254038110849022850648825433637411316798388310134820555486333899913456389018342699410910983461160377651061010810407100427284745510410975310863210010787015210996721089391558891076669955921091074678456656089201207341030810786049561749434104717498413013103107215824935610077547830249106196510626101635418609809310100956312827322937150909450609013511084108291303922436171042100169810210610164947610553767610382103171010345105794340106085810273121031825794711303675353811013017435393119102432048293101020103886210428751081046740178590010855804964287410141010364611031011000410510410236471647351083510712857550094417863944886574775519645697727751012166320764102104103626747710901184144590671242781017458288910455554109336255971101097428510278353298247106375762955757710468858614123016522599231023644919639678410426811699551475235708124770101074921088991035034101031161097240501386890109788244410101071150341811012879874062422298961002240863091103032109934631795293185752588789010465790557083110733652065001010106531043182141210771110427072331442343491011075795234071000739518855628535751066197549959895841371390781059287410374210725910394962225690102888104947060650581614430695913601003082710310881757101108866321966475607398400310239591094339311050109201092336102420560171400901018324211091051007301084613963850810710475193101015101691872119951016388106022927933315991058532379041081010410995851024868933444101073392148235210216421351093413973797994337515521004461037010947882696578836103262108766710055646695610418851673862872426951603832183155408405621133103632124669705349691844838956728431041353599678845610211031000789396225102700167010035915687465271104760357431261022262227243106534101366982560784328424195391037527282323109667650341043673310414851068219101653241087306039691066010201010863889010891884604080873568410106304291004700462461275310102066909370228018909343396636611026901066251035468110780948223177107801101052088281952260343510264643911039318787728331802131014103539106768054351033230819810391980915110006836104185041029105835044635310261004161022991014797058002261644103779410450109719419346277675104489256810080108421076105103053785081050101065701087965104419573520877753619732201098527110032110039075835884143790135108423924201910410356770106606102104908331032729501054210104954100710694327681041021456122303070289299101697593867164510918058104135146715329311741001104358105100947895170519211924324100347210110431109210609578637945218459699406489107591004031012568145227107481094782100130748104928568279805815591049482754775287425115106018283665454978369849531711085468110995479257131069890110210651011061003810759077571021299349880138943200570759305610110042534931028411591002109645771094835316402430731671117007037170319148610616108061099192627191935164876412179057690731040769582283375109998115819100511216540163310427564833182100984977106673648644074101438976948118110010890265559007110841552960084510340547105069028100701081189610248085722412591092501088821155166796198370917925734997092303389419038104100524799122033458432254665695388611092626562213073900088324544922510376010108109342181379155196998410036328720077659643936082506305961804100551871054771428801058880257576570037911605713158488820831061062872414054630107197426910325317641510201016657910070940881667474521699444191677391102104605284010950473101027473040647169957186891848315730704688106819106492043087228885391062701072950136684785454760021553910601651091010571721014176670150319807468922105915310287344038856096001100155361610839856919910847387481826815011052108219351088103233330610426782347709230650186967914344052198957180100448315315527281979934271098468507933636810739752114911619558050641016568536609606470121026728676106108166014262432942038810703347739791837874653025011704476277874728316988597710039448681056056911221010546627989103520890057591218103881651628606210117840265810232110891912107107781281863193181010422576064051405630760290510551136143928810199645836101274407263081055106506810810941118528816910020511109627102252312847963927213001021052630100101099886101072550827484541710342966401083160114310679831012747130051069344395876646401106772538109310775215631031106866355886410110475849171037209371010851027099367773842410741331550571049891094210974810121525474626897011409710574245031104223986561005693107600154278210329983110109553624106357883046542190108010427841697610542209019273922898615010431611032010450744281810109558944907058810591745094210226317696040765440026798843486202457810587162321055027702310275924100108292844191702307541096087386104076768351092497735372566710811981507100875501025729549103432910345318013548014494814000110106852869010061357542701010101011029256406180406565395814598310104104410710119510893610846341979656310156871017931024655476734434250602059369343231515810655217968593039303275101461096103105947603137102223497516617599405512323474420439421082359186193825354612834108310976789388646206138982464108788237933698477700349810880253543361010263145396967475270813665243110586877967879162910150934054673524788290588414145641243197873900781011010179517196871106558450334918102729891070102279421897793628438846494079581052890801051249109848639642924808979556428967107466681253910427812779641012801064102419517159103736993901022731181617890206051042613169186079310656914085110210213106203946861011023191033103309310796788359540276850271913034210100558284610104007078434164760962470410672798510101039011110890685570480387411091026719786085753472850338925921104458004094178510409966341094559994957846962544511166623010582875955785818691041199494310038823104810713637475741061351052101100767469521651078310771381064010107524643466118351017975574165430240510586851059309697233101002243903633078710710510010915151061109026778254766331661042109035050103101412764191010110383251002870594853630100852593291652525513549334383907212210760845810321072683926205210151055103102577683600288102220835910455900212652610174034778510897511032868999569116586752210712123407488426019511595810910241010196110110029710093909151591381057779261331096590730794717895809914431564710562044256108373800102578880103490755162107610973304531988335072728871260326453742477756010818374446101021053772415737410923972689092069227047810910018571041109583110100241058341016366616797382657083410010895101006809910610651961076192510644402630466917106745810610910505910430465310610855575547109023706277310028261560569157383461079810106417521035810310813640632779746365036516218103952680110891081010211015013815101060941028528321051946700925010215106769110783627509814980485150773610619709622331941052345165735202406808035505028500984121391073910507507051084110480710320510589102810754263104258754962250109865103085321010816298452107101043059282487428514561000610826941008431079101032561058110102053108261066420510294924497910325500499322336185351091052616910699510591172810688463428758310078759158676103525960104573092102440432108358070971956757105031324089340810691010126052774860693103310495210558970100775610738011510460665142885435101782594475314011043487116765151032881066856101010057355763512229385171841710457856244335519510888903154034676724501079101886376286581102108701800498789906100141619177215974194976191626084107510761763776811016177735910257963707320757851887397822411102110014310310370509108760106773303291061911060756766464067081428710410579142758323008180531021657930879108666392681010042289031012081151971089840884588336363994205748090631336585282101266454735647410369389841083341540701210858544985397001021212871011003994665109614688109750539821038746784744314522124193905396765920480004701163487902455216303106636950759101082782910830397462357296005450652303694227106103829447619515513664755551108544403558527340610037650830264833274210303316677108045510728319037101095105153715124103590845464287910015262303774151019910524034409992101101465755300710999340781054102618123929861083656563797025810109560876751059695781630216881024644204076101101082210451091902010108621056836796024670112051729727060325086104173957105824595194526104581021108218281665743100101914521062102719050136440094895113710501239518842749517036910320007857066870001019294731043057108663106018652106948839483981014148181035764104357610510041009523108415810462271037410876094159644259602413430114110306035846482235665410109910104056589748570006100593165438192048109344914510699107021107714400598074120738098205974867053284860104357896252820104821862194998551072700535921090755744725691013108104110133431410105285101087480126219671052642260626352719003557910222271205950362479323241041975589103886110858991055100945858442410471017466834723701041072989104905966042104035104439106928106653788557102105113976324167244310105002906843383541078895571056162235340317553961937579632212107038350161841008569710085110109553097010210610751741060832791297575708101003510107190701321088489810623431010508124324697384195481098963679362357880349248108446896148709413212171651627101318019151060250831048934590366829548059178741046843844324149853210241101586850937132110860247451823106818191964838109397834802667885100102610763327020110325867131010210410440635961054244453854843178962643308964103195543024765867061053410087494431071644210931027269989549241532769617609817377651282665888100603215073795831832975720272010310575061010342486239966099910710745651125749095910105101079911094582756104248215101725611692856752095658337015030840104108866301527279420993066019529610168045329300657637251068152836775101091051081305361020010110908940383100310220100101474610852555102741010690115156241031546210871010410061456710592492251063506598079378855101453906815211409387610410414310030521094621106810262439458136350190515841496131201394839309362103461878171457910884142878093953110977823170940831086749821088566280751002756334823296101060368310897414110712407010454910810731073410110183082668389955883842501000123079003463366711143318879879104810883038105912827935104942510113926334659335584103631887539770704975480106379539749211049379107956229791008639797129108940824981138110388341048955119910285168659781932111268108007323886991863011612195323399307104178361026884853841010095587848100607812459018710105101017104907103178018468105243334810287831010510610955809767431025656979319798368104793198109610019662410647673884333819029194730179936459418102454995619107073131089553666625042209109101051006650744578214103100285310996124076191310271027646951065298697863511005155672719352230105911047105969676376845988582505702232310731067525353429695405436461434056691052048746124576109476580310657421048510193403449521054106098791020210196474104495728418109539193884751978818253878450108586106134396481079129456810109831054719810955137893234483721693598036216760280546301022297295101168102589429710200028582055110363631099777106251536310892467676610529752108005201010391005474771021010049994825105102344134881042079559375663810531104109653948213259814524710486379441095710111501096103700210246124561098109521365177562327251007986391008885559825702965101568910316485205802109552148107713621029830560652561019745442590468725384101057411027654415366272623510954861010354120871082710710433108381080050107061767931011896386678105781052105070828166723747106085860863700101848037386177082524619950221207509341198295971034546980658916600581013436610065703029833104963180092475311047674905777418310766244181101010148206071647251771102856729923128451074151714065109629957383004521010371442010073015814971217011069230495257101941114976462103852420105259414937881310184483245495681372614887093737272514139993894316510105686610286622422810520994102534891985613867997107607494191709968287101649252419184019910171083391039371711918561089707974632698107511910991085782110691016847109795910381843103651001043509043710310625036510422572244574351026610531167131710109910260431810038928859610262990789618254810441086710610961922555341410699087580200078386149515649150096210292930065197786033608541882890264444101310110830403610710111073238805171013496255663795811079491021021711963810186071030310102294810498968769101071863759562811700939988124758037910221585210269925051551092062439045581078602564564157923101072487704340916959347081764955001934905410410343271028106631055009874171092751089410267310429146518166239083739770497810177285810331075840273884008516901285675436202910649010928109642510931918931720097638879682875110247210101525731710174210182010410138046845624378671161107396575913576801401172970501011571041051106279581043542945123210851011076525378440456105571210105101040104024910780630204101629910010102373104237969037386891083545351029517550041174105720481704305419861043018823520259487554686452110371076773654073811938091035351079107820135287510100954710049777986198382102880655591573188104126105542788055186453799591284424676424564108723207901041053521007100391083632106653102314910101031041072400963531324675104100105288290762932610110023975208388040167397241210760411106847105110905907511081063428102500908958978774348017354031068491012009617610311010774276402337645321046485562591950031710557538101449201034165853533093109156479106101022357313595410585203797912204064293792919104397810037943751064103236105100921062545341541058921869910378145009634109100166910010287410010022101491036752020460810106869500944475522421061086396171977213256889068109698103792773335832039957106010011352856474054151036387310855780862404480177841010108342107242921029778620677892854765938091101022745091017116091486908102110574038067310771050910569857861065551100101038842108122107981865711041827240644442629106103281062104910173754510105810605933869133735421010253870861096355810006058426717815428728024107541058018391023933106246630218459681209975636106188136599410730362641620106389828867355103995101059101011023189756731684608551590811741414802883910410292899149410301000490657730770413817059102491045206094311250807875926762837676241107521859900023103381064671935210883861089364210121276328734495844210927837031062307076510458793878010666384801010868491026810084110468488101629413866201104048228010691010492881010361032610315281109324388627292101529325210104552997824802009136604491058066810360708849653354085797277115857107925100311902225107829828352779151942728822010379973810532104165266599761895070108029104963438103566262277291018463448538999546168868045631383610075776514810010110077486901044000055989763151610982104770921064522777250381159185047818699710398536067677871066710359107915928610485531885178011031042310101096109374366261039644010401742100865782687000328231167101004705521228210368567380981006196910879510104247479383219594102710356101930133145104100510102221034021709210638437328410769501098310372104710106161055210306108810890555111009545810910371026107310466100117610424104021871109603901032101105252977668661689544571015539685045900244617351365910459980044472047216843054319342610101185976278277104002518088132700351106109151074701022198971071006906728108133331033776870343840962818591031013959106747615103988216558331042886781551565787133482910995210184939526841105197822490128318657815440510106092842010576103771102604202725726768972153521037327219410489677610009028210523111098108036825611035260695612404763019950059110521095510391096707173102711572597123981057823102466090066403429437641007482197720116510663934105106395211010279610477180310361070050315801795189697251349510031528107584575542593708775872708121061806810491488571909481003425139431001858071993091055030272076935710910720776116110090734101298104116427251013486651081010307033631092185100694183870122141807630636045878181088138996105565010510280600296807251021073711017610227303327806343105978527807161027780114261049696293545849048728102259181076276466550101716821089579525252414510331081066143610341028521031032010987493231016631010244553715754394107217201989541057310094107609237073006821510102145106610425662357262215510401025210312126321833703506142311048339611479103911078530708110513139328314114405910568361033167956968254510100050226194101572100647058723100508256105470107781997659057341344208342797108100610340607155889800231037331075099943721374666984351069105101910992773111299557210101511071089101035435052802197349210408764886355162101016754483810210510087815048555733531106101445518141910740614106728101068212319571761067000319101063107161763910139010104107810991087998155211047764029708589104101930107807854523108350643181072105332102487021473106810592385992151042106019795545010268108465210158471000902607947298410930810568710662891015532186311900429866978388244310751910657285871004214027229921044798109967733236568463986327709054905837739751027774674101785217381433418560312073273519249691102483857106517510108460401046254065101059725102419218110720107562912597853517474808571042380119418903308106171294426223245685025799760940810165010055786806132070910006510138763377100106251026022177532568785923088929336212106936200024086398007377512343106472987198894081020813576710554082881103425591410606356312221221094828827104100013305752301923106103810289910114241040719445101110043101078324931096103810808820510104275210663050926107010844111627466781087592104105447729232109106103828741071363098293184759878039931048193125850100902101041062038291059580528892725010482351010942653678543108006950532030325686911058410105851008762632316344810732710469481567658106698905110277103741091010294925187264121001620791027597275108384881307010910999951001077161101009321261042606210674654669210310122129052255755904324463639382663465985020271871482226213105554710521171085351050845210791275867109369937653910636546934051116658100810845656428158810452953110463391021417824100736101984102189220581014220830210106001043438875109625102010788544016180404409438138463108575600647521566101029191086581007810810058459337813132371091101720078353210905709213765715046571107210121342736102810991010200321896232261004744040103349767095663131286350812447103960106104179837714950578436989932130557897823513337641072410329271834110508103856105391461004692043441014931022059922361003214100381104687841699116144771020941593562210256102062129155410856220010701024521064622297826397711094979797710402149737461607657102103365116953791064976836301015001011009880247005860022710110586616622483511616104311510841025038610440179164610153989423390188176209130935753601014593526850833944835500105776753695410192066454478428141110241088110766104472662856010267268416301086417682347318669609063755851649094187101083514027632964482469779999010131036612878502343101086530410210989552319235010250185454403824923819669744798201026120108303666862010900130988933961052557710391006910699973196310588193657010107523101108684111040087437947101107889284212212066101012671091191324781014085046102880595483104456104201102796962179511081029814010756923887107109913535560033681591277825210636801869310485102610832783298610049189101743587107672222806943421048519106733678540396638455104105989231873763356766969233907916722920002520258771028784385761302815054342690710010106101016674210120814537487260543210210763519024397964865922619188316625910860622811851044487111991010128010922305843079898383124871401410196794181065391824404102544027216267467204924201031055644454743510955205874010982407110029458161504036804310311110084131051810031357688971025071799160474415566010143261443110763363860120109710015766991959103253851496288210534310179439864848786101292752452135005100884825440437456814327711095842663319200762281658718553568959107697325610945102918213448102018922078884343026410837801045462105988907104159654065940655240749838061049993688634395962980501054106557351594965571910603037649288872107521130149810878310091096102331008538101161826419610607086966294044322382231078927177975887541187926103109010600437911999461606430453146101060858319056107510227463065087371095611067026957360544481000964474334564101010763778528526161719552881578300788911010359230410660132110449589010133657474242863818144644110308910909810962103541062762772217340569871767934760109012097578561133841847472402777508960230339108970621009894989618101062960688850992481075721074691113421059138881541301986464986870223407006910285031028000999153063110380307246341105567867210291075345281072762810110009680580884109324801072057101068621410821043464388359493240293189110337421024155188349501910687608024510197756137227883441334641105345753779010430106321075757900458231197049020108168710105835101771821651650707081151231253064706580010510910996753710119664681022415285639938010090838927138352382131036776114910510763082106361001043290902375001010231780527011010109653352212498909410454896455644010926109810188989105095926004070903210579001010981599054583595522787113439248717511000436997510210546377455102311975710220358120534338102482606820658103423910710419101105569219210478006537024366310101419097315210184288319925503107300313829705001010451007101086435193410363287847910104944107351059849993533589022522301060756070110010501054888638615231510487610627410495881390291210811021037014553006310976233537410021361978105588151908940543339754430592102910410242021010620256833778229510581104600488113922310154071044104879381010587411074410787645710243674185310510309851910750410477898695669205073261317221803551051010110101427458929910117595434101101755510107957108753199586176517429481030101021714276309310914104139364241080998447242958708833336454770410835103610547510510144509098010341469401008310475210106267138136872109361486569162510292863101055342558017345285107285698639534566101714744101017510089970324440306191183101021021010639103100919624769385415771070728959632999729176101994491039191313881012779508576098103667263161031510737745659671993086762550969770698386104711166449610348061061011106462610731010216339760810310781396572293533180108485049412416209319771094826110251426704815061089987649110729010344210398622027171528271033505821468441399771618621090433333515101910849716946813040282039770325412663421010512714825105966810958882010897646738411065529794028996180158310665220610559365100825513091032710059342522701627046997507765398084964811050563339110655410384183821010310580310224028616610235898576101012450856541068464104710277107889430745401030887867206392010175814813102320120180838717511067606105487195410941580457477136213007222372066791034103811620186722735761023569100707578663371026021821084898751230188713814611203808595962482972483911010288437284978351096744230931286269757826910830447201551025528107541107726521010849506356105793564325102645956025047961010989587400489663066438850103303636165139645264623851072108224192010231284131067790387108297225881012669109856828611392258110686022496791499410869777885596302089454810101109830081910970210922346614681298210871099395396633991010790461048509730310063418103135460956963918107422157614471081453742123079101017500210168103926416803576610261228981565271006251439810363431510007109110151010108344109769100858227626674106704165525028966493808710102008610739308107907878100691059101422646710102279975896138974735489756165624610087541105440981533469931276492098107786779246420195458410543004594590849109001002596010101761744814323043712905320251857410464040184871026510851026054932106411644649086029171152610886010922940481047106586850067169165630866100246843503103194242398710483921100258175010101961136504100755610103412118641109751012210292950972110611817542369916757854422070810301428491006100659100310596910772105465982156174980106376056685527106106135766859614310472609105106594971843325590510896110030326810617020341038984641018731070979620716786358110741081790517994802110580691154680772013103686681110731810183475874220727314335476711380105234211081010616169510811063310101561792552042972616942160034701058010862899301497591459510716271271055165571061510584108087010049107210679102006717334791741091176210165108948623611056211037937586184710109010251104201100105831110409741071077622183028101106910654518086428285197234630118510823080102917089141012080471110510767111211010090668871081079417226238185829108749749530381025410203576018424557267360103499270654621101861910969952681100932589462862089333937959493673104710149076641076266716095538336171104678012007202106669736555888815440082420889517415331424947714610615064312210730104078681099761664437918682925825210260176075747352886408305215532061057171034476568528668210810039847647108310109821096874487528167450069105531371910659879897665102633107672168403104162147101880705793698901010041010084103102757252056499481049706103611688601052176191010506096342801021261801012831038810107632457793571081983703996371061082411464834783510435105541610666414101076986100265697741098941400963419319861082901038029110141020929325109362053645976410700709222310711066104317235735104101874959993267177365593268910103641062560101035100510110730581015683106049197930504946810934786339678741047088456610422003210090085124848008539065027104121091174286211976217581583373195535310298153250921636539810698202908448080547105825510410143784600091100010551093111575102395436001964636647750847208123351010731078610952791124033659691010829963259861017767101103696920511108238929106675939642174228339138106954771744411060612586739794281522010671054494010674934113352389761051456252599876574559872928762102071091105776810104526910710851074151055688674355418485810554106020844771477464493109104721640861810823274947312408018937106311611781065090105107635336854577251011001075916454682181081118876699973817601042603910556935107855656463108101921025159351064410000215078316181839501147206217719958412588862071728851910841961048211053691063755516181015776510102487810768988741008316139980144491014237032375105920500532775210071010555573422915321086772330103870510106210501291270046100680886966796105852103106713921062410954906068703103510106802109151011019021402102106647010990047610098254550101798083562260830048887610232473461092119010654521026210810410708218642943329523950959828296537343665296767999991166124163548109451510037508600546010610990910634316063321059098101057843760799234109140027295926763145104046991301080110676007109104472723961333579289584761557101085882682278095814551361310303103604182702952436511621023677419106578939497534428074101010865751666921596136419728648008090562101579677481043109356417511036921019295410728373377615881560856637591042651125881777287105692333704737001180741015532881054608153104512110121640500060167111930913910744664660724310211022139571096570058881063820466108231080237849369550106821032710010499613652538785106054582384623103298610107294791510088922446780908497891945464132664145410352707605876104236555383274171035076876615144763617708535862281010691729958234883280564101490842106905717042810218250616891537310980510991524489310570908101071873445041801463014158303741085622112103402299782942890110957645731812589843108910811159137638810910861045151310104458330548082131068574035468283286412013618993215701627851586103408410108706997242657992108991010024610940346311443380394864771033350559995506110282648901447342051556681072711011444914831703102508107344510106106398109059832235081084038232126100941076067977018610940210269188221091086105104101065705668693981041052787403324579536704447149551540189621424719673514810099131100533361688688529085970466637464093744077636942118449311002106501341097687041906310077737756105088260420810336066050532132851730244148354118965243010291023571535934272989510178632337169710325111101061071083510510311608561077729610986239561187031025917101050571982953848438710639221089631729108921066110610822310840885281499823141023729990875523110909108051021101105810303574059571005610683110217381231030105017856566102104058315452461054297601094230010778344587331041624047894027142706510810102784184543081092551073124907704070091011085102112560473653355251729906691061283301921026304653061424351688991065872752669410728106806510236907129691310810358176172191610972319761901034231484437101350814039789891945141677963802977103533987210318148669690502980445263948251046810667843911011041010889329002752014809971259709324328968959632431096998675101031614373425976107028636335303610725008855358790083514100246578051061571065024510104538655116584554037101053810498418228296536062310002287732392724973597887842432210369181066467107054106378144320511091710274056072299355520387953662810155711081010834602457287770346892065278616114249779066190837850081831842010739607620325667921010063619260148443411483324100451537949102783231010100162103795524711085464517133722109303110885399545042317106605863064360423298707341004068469426911271072260329891097256210921071910781107709623048783591010985110200759991041027833766281110700667541827703321051381016239495419952367890294801076996614785101582025964101037106071071064764836604163298365302662320468411020073224912992553884164694901023668612352931064105610902110882963088828110280032019178410703441084848494246274548735720081010624985910878841855377726498106729112543360094103904671061010105810924681036962812809510605526439463736522210614971013103562378962537109142251055254309531019374025101401893224841304631081052420100910497691301061010545735444710744450071051447574918522348748981041085230181686345602881091007038939993010281581078410295043929920405071032319651047109307102985266491449105636661091036958987327974549155263025991010913442081496558273361010174104310348105305542149084323190891009813578831097523791092692333928010101175104785769109707362444775372669940356373716161880762108483010531489610122443684329854910162618490100281080138771046939871751098350675810950292592591039307807361092195402601360211790877991058751027830410611026850904470682900417481072696458105499426121151010101941051680646291084178362249152648011410261190105242661679086890110270053250656297715076431010360710539985682103252840510501041031201010211099181001098112884448233396437600281103443744898477457556888616598048406907031005350227310237103541104505333623447904151922721017101610474565207263673514146791021898110045649144104543609691173727119849784563978110384899743905865071937951872954239341391058879293422851751086108026426210100219681425187367107101414977107136739910008554529107103694251092381061066528104358092344596104543648817532547413465073499843329610105010234705419439675834968979393489985095831321145761029922262921510510764867414176554347555101810602104403255051001027555244110915740057144101070507331031037010103492010519366451052149448652307940618101310441860550070524075815431010837102219359791143395267753161082705128544260010815792217110547983135255333434020473511211573107393810861910642591014106763900156781041064250927259101356231457847110810900810673210510657495017745351179710510626231023972106110197634564068996861065150679612372940321882053720381062631105991816463266663133125195010556321020011322034521010101780110553580541102361791042804741311052032579276276885150106553131040916768107388910180011440623316128401126671023147482238781895835101010002443955410026722985249796835902948569101598825685776638815087106200910547925357311106962986134101102675347100219046109677521031005107109710289662404239096659843332016884894345407533268162051159477514419768640375248108965810041949744692683383281128891109646750638759091036336271105947241067010886136428793788768031105365103497980104281013610510909666748615992921041668877146828710810101037374410654252259461010132774636107494102851036198231091059494645319128321364955100553052818858763406441335208253059109106625207367210232398913375382810417745865214417817498265731958966420109355014554910080101001059659082964761026550210561046334701263026347075992828599102916100401177332501942229914654542907410343111049469880010762445036102256721103463504008144392456700652733386241960040991736461108615710628446725918327171040741636636008995077283151038511109514424610044944210171453412024065103440975202505410555115610375360679756951107222108972100611090675714341064402568641066039106340634764261091086876073092102777821045159201758710229710982181015969837936857898392922393648210307785103224101041106760503214467100978445491439156578102749724401251100810330695108868103454507951521510162107321038470830930144518641717601531065684101109129951001083610101056581151627768369784721101598100114210876810784825719897117015960910446313137218579901319194804584249747410590514939263427955839346492497932980245013389225681259028772569143010650102551212510377032955176275710235395516410642056241910069644602866995491089078632708071217796162105928924456571057852318431504810926103890836012107625576371561067310825631657921001068586970411748919910690515114741901738850421054291079851156215314201010131025633675258110936874410083832386768502771015703623162101001011010895966114751060310377377910107528030997133011004644106570084161421363106138653641471031404716105018810106281063701066105324813991010003243753112673910110312101041042101098845799710261011034007313261137024510919967451278421998351151001041019840859420977101046997549548862610750106108022562562355107202490273578385091210410110923405102610391107413532106101462843222797330187439226106862322765002387752140138425677609893865516571077621335845248105910510814848104115130835360368745998262868481063841075639210230100218770618533966103193211000601917902670102843520145665910044682982892227915473107323102133434079894472335359078104095092410844862008170632361160310110201527613467363496486811109613103219612810923100852796208471011035107181395599781035710304881496812474655413135910502291126616677990551011071068224610244381010419512102810556871101082429679434223232106891154594265813902810601010110925362848108558190181203007226887991010742613810103733006581044401433839930431076481010475044384381050710451179872034107714492110101086969872197714669446615226959484191060970511009344952246484108351041912910951052240124778238941044983997524344299410748148820103247952023667961374101096196104883693978904103654347448323131010437741093380391556413611792102277310789646121673642351067160998703915820810323751071341082931020020567351049210968232503107518103941459290638810802101002706976758252561942583651818161810341067814350803151604964682066126315499705746105926567666079322101045840981034701104106813661851091891351637334536575434124805831028494185210101470592104911080101003100287815475104691088831003331075921044610091006996410477097146102101271006328334493608491027610459666364098498841518110100391761095921702157706170461088184096543991012109374104680196075538110487101043549559920470992761049410938105171075271088143101066774719676121630880451908762077203104983769209345086153548352559231060481109456306506336809041833841355701068715208095547559304910210791382034628750419731020108882089418170839155176107146101487101001026331017147638014904100510964319252210351053024602607822130458291073068751238235327410102511029229626109006406010380826934456478100916359908726161001810006287888911052495961099801103576402982214911348904107782760802284901109699010031826893808597900199810543566714079061210456074059362777610384637206777928210332897931026547010182071348031589107101594919410213057599105650101028097836267541053581999978287772544163610538109767727194100410109586101038047314573197030533281023638310509242743480886651010100167281836523825601029068126030403708109306164115111078148297443183169851451025335210957408104696933330831885447733639108329131828490561691066312371065772183681058109252510421456102100004310751634610167333623812391049107107528644485510478410693955182025206328103970771310105151984212146101114300982899845535417093827278211610172811010771010647839351047545716311310410147366354903108829651810643757411658761046101822549252110105338609766581007708027086027910565948169362141781010296210825034234047815428381670431488958721005328949991004475117348193348210909726664177102102362618107546561000662566222108234132094610347967422385846411030281959957125791091075217310105922211067358997559510108903104310268710110101031082938723328355212023226010210991081066899051774861283859821098245571087406993100794041102973748942862231014555266811931047572938604989987781591107108756570028989227520550669730113331710108108108811042940100787714651742358102710162628009621445019766230310169610286028291096067406012108051000237096518121442952460410062785991052807571910771410705257916126480589105085104246684251016771029691056101547397413578106536210975786413410340548083490949385700674810313262810637676171073769128891056376308202171036104468507101058159072352193843465061657370101924006310121299710053907108100417281484408665812110555101561610672102109825797419861085312551023587620292418901786861072412028453666733310549641097101038346035155173421024421088101031671010851109110410640255167810100131771059652191091007362008923527710434399758257492345103061032573100268257061036891000681041041010695391685706261506109071010165689027651288163531010567310700243885430326255676791010672911692730051021031151356246872021502109143940951682054393468739216627251046104529109001019710439133303092107109987767360482810845410103105130110368101448101011010721079844217197505309638101008572861012928456865810810040995052681770767467487734945682739332821072185165072604610100431010104224591695626936101561149109481141209668635410369292511010110200623290103306855410761547910029100810738916133139105975510886710211025310401090166344210589604446397892180810810969101071077265102580010901052385550704366929791692669230605471000889721029381010938138167810512345410715681003176810105031031512263531521034041440365498396106161053440404326047971964365032105378894610910420213856871994953536377393551287900239758729872991131213571008101032498235286072733109437875613968196497717310384001939438654421639667831079861027110955092864910974102701021010910432317683921656030147571053710953102023272860415881016195277581062825610876710132691049206725345485032520023109814323675306101015106891107107455531310401040605663362364364677981181578161019091077169555396343084152334959595751010108516687521439141811013180724101101059810971072356199213455704395371674689310541838472346978109691856795557510493447308247818510110208103701010651048908646680049650945755951042980493680204824710141106840571027969417853110217633663103571090502000873103858324106823210882210824104373098420441096764813105127701033102031057992108541169196074577285444174408371451788600593084310855528848610949096190132106760461501803001047101176810254080145106081010814538248897275289581020088749000668610668149339351098878974958931041104382031079105277210331877596857693004289537101199353103006104468201094711631103210066554710107698860349481917105609671038361663061019483210402891341471491048712277723554244651067556669816384792756104290099517342538110279310107896048697775141068530291510425011740177170017334610661365382321105310928485101408105625080102942031010470100510137366692991230644091645210995859625135686107710107774984432678423284009416433548419524250653509658295394410554202811974942291041280275075182878610744310108610070730311037159701833957387054780082104511053107812101301092901060453736937325109741611006349401016066566995140409623700864100519104101091511027610239184005953231519928055803531760950440563383264718648681641013696197910935875971109466573795310285493573638954510106109575648428793086813081830701067286917329428611010558426510822658710569045433928104630584207372172992922950220707808109910710696963802351842162104038571395821597108116182738110059698858991003352651002217510632510283251035710416104453504376018195484909275103789310381051013981810270365710816841091716596905525404095661010731081031019997034503049662901798547361656235850102103631041410108336432941837006109192101410102681953171011051054541617946917254873607444263169644309834184750424971143000816537350747951107253204941786101036410298513195380190596571449157581001579558031068011807679310307075103610940964856303274058729237583863568594310108141010109621010389676562068774328657931081010851061004142908840290107301051711088537845601048826092791572231067831002841075096410108583169104103412109062979725926833533510610051089110321309108426407416023502100424544188788513980112209471037350537328909510010020525484053718108399691062683510107691024337131311787659372281014846915911101037441058710410710144402878568002795101756190586591031894992101540213570075284510445217051852073930170424102100350362610550000458354646666610455881055107799106221471998451048391064610754810395258706590754617108991881010181742610621387810416290190917710612828894541770101076464856772941162421244046475052183017328878100589104254920101058681543853483610051544885287776731023708616565959510821010945510810101354804191007855471130271501007106561210992530241019312083106833638610198597990104205911012351071021092639468109188790345972210109491074974454121826910451081087563623105181005605326910081031035180449959319441366410123557807104121070810781061641058351106988104911928578170210678339008398371092039089249709941016922210832953603217295810837940559527320051220402240987102109101039108574868720061197804155510132379608181010697761076198210928986848304656897570104871010210100249221073635790176472422610658109610845279044605852310390510951103021010254100171102629982105951059240518638765186111032101033100250100873171766374537798952072105910841804934621006881330691643754351837056911669828249045375521036251270153010610391483810967110322910863546290818368928810306910812446451010077610513610484924446325400942521610101008621037770971089947688104712866027717886936501104116000827101340910110471121058516277590101014974216650644985610326281457503910309817954444110361005969963841701998326101081108199065438719110534164315782009915103184241071055049529055897209704352053825987155591731243078103129109327877205440434801041090789530273423394104675100793451856971515000210774621432109682353104533733223464710014705468371036101975089340669613223472429106530092492101061010010993575892619110104004451419988218428841014335079237705331031107684002095471012102568308490555765620610254460510441009217110849103341064018264641876357924100165366755618495584109105410871666968140966810955171050520592111342102866110581910091007010541081994359048997817379210681031850030106174568913108869135495104960187625708362052710807101081097954331167222491027357310348352535183421566273548167837926108271080101077437542942217863585029102068056410561103101069522972986104603596098261327621010913450970394110825340757093105472535550926109100157669435144061104719883237685568146176910930200566881374512182981091648100601068118102057377304907730781889053995103419106545201083110744537804632101066607126312001559337571072009892578810310734774101091875284551054905210686356531038318813501100110725313688461710456851000498068210254022310956252569107310109851067790365221411104415210180221100362399210582910486719282569845736627202102945687817742788376198038067100283862594010061041040061010241046001101075101264861114589526061101371033825687941010395410404431042916106518548101193690104369310258705951289100926642328440310207940102934181799224010874791430502108664574051081097810710107112780794913574356106215442338551027210166676946752498610411029039910500199010010532105212478103108681584802105214110361006978306132736386864730526348699237100187101042226971021051024746949864200040102014000105109244831903816080014793458951016935963061214110610107910772804123756532110133274310810891083380048133159340289151040033212286026296496165101074291139410502169896314762153845884679512103185619818136610682320223910980924095692092176890671883065960465551646610938862254738419545636100633491012381078551005329097151104221089082931044931224369665907101206899061084192969105622287634108750783011019579524358310275501710743354685399267306582444874155210551871841775102108757396461341010484405178916254810101001010354069831561084180314104976344882105010784638346163340711117879959410283251173194100491052591009810141505557339865121119010693979520372981431010558498108211301258957216083710304310513648358715304853381099505070319766070109398962510109823881010140394341292559333799106107614780942990134802323991851080109449527231747985103106610327381057411581953865751338548463637705464086610904717670889361171314968711094751358149014361966956132307280443354192141557105920086921010078352787999210759477627567524911091089625881021401627102027587852560871061094064108810090962703627509441883110341061675251578153919216222149287604934740787309634419104350303696410392732547356792368697101010104793844445787442100388719720947016210696974318101210388738527176807275631800410715404553471037571069370410977543140282710299227914056321731081017368610992949326824146661536988196107934797600611064502871028943744497156423310611628617611003889132238946108641132027725679864310411356710115236365109398711010945453862384976535913889102461727799428701965731071021010585041016906161184635341997010542407810764875510724920768962285013510152695197865397740077155708802769765635753799371703425357485406274510519764278659639575910101210361225108836910740620762133396439156482910010905531092106103291001051020880281058709111095908486101022397210191041055058074676991696138817563296376877957696694738677771632327741003670847198307107104874421070367251422781001195886610107500885476369162809722961830673910351063349784610510030256387702524984958719243140810103333163234010759725350061011022710101735350933282139160574002076551829577103613371382238306100289071090575307561085231355426919807479328102098244210074350107610217946103101910024797980590105510973206679310901010368935911790115588739767269740781063104076227611705431025257160425688553201550610965584511501447085103869443107612456596565274000102569101479891302610105822236896111066025820462104928975507163810978109149447414979108841039986691056966216315878310627132023358327616710279599710102100602723210601831004109102018550824010885444103697103810410909136659712573202475884881510527610510192077631449610371805410492376148872991081045762104528105517673810210933369081060499140410391395769675057610501741072103010486397244108098108665827968273329446350108109744766668106122015647750137387543410906844378681377530462683416365102109765035986806801152904102303112488733575948735109239100101280595764931011521102251035106310304710626305553144273110418067292321092355881985134675374270942100131005375784791144885100281650618514230463064932074578118842010542083325772104105104111051003548939410954301084336925107102410555567771036543352884935927499106698910372101461181938327353577210026572776868969098158665339988930022121036336000113552059926004964962286151032891004127261742282420875789989506510104042810910058614345210013134393101106882938484365511017109985103615310040145984398604495185607155515672395382611062257263103516109317372940048962332523477288105106488106101010330940023951888109560284141382185810221661007268510910788580047310602827749211730110063810825610818619130710921069705332101068025208867510447429272525708285809918103383790081684044968028604648201047222201051183101147698969675109752801111079389927981016121009276005148105961010559425820602901058916359907614031042010931461037414210643109630056151011057561946792455843541062715512101968040120022299443105573060438427701934310102949123108264481106228697148210310075225332451023825713208625389100731012302108310465210510210277829831713955476200810157011661521934993611024044411162101081055373590243210503108148448820090109661028145292782104305333108638304102210010320872433721047761089613102541071044108680106901064232732376101291060204032831045855825449091230679601021194358457487339924073729074102075052247949268091061046763785969423110501828790399720100701062335971378148885947078078076429983975750165601039146223084827410010848309079610259064831677020261541074101018105810825681521008108045535214921136217401277836700460964886310688062209238858117102322705102495884105574841536537604317913954150101061061029610291104604042489658101058107781062646281051423791039610310346963007311595827552651034500100432599163391394089615284786108722271067812558116775259427009210040535648104930610951567650119183348110604968100111010373992417363641423107516204910811072810108371010958393573610933212402827890110237448106710497310109511026637715337108161485122462081251068102606104456291871363887219058980908996240101026179169108731910263331010031042167710014533387641535010126610763686107335045477118329721089951066414841105271063933897108910178161247256185699591390619438897908630383588154101170198494824842497558816229701337816826848101041568270738510401091121010441100048092676968610107105356697101118497958731497775835926103018302505891080271046468204949869402503754817100673440398360226678286358548893401519107472101910903481414869710234981097910148914501903946492534473396872095010626063877360187619931051730458066699104344821019991496531979877940576349762910060207214810110451563881650756465797996614710958597242260104775751905034326810944108764251111020106345402032235967354292055510103060485757639105576041093910625151039062848598584821095107851095794998325123234717773478731010014110232259287211031090681010821106617591721031094101038706910179521303150831027511010254510841021510611012529435035601036380111052110368741085109710441491041033471681048000104328324477675834731021610867101101018511301058546489756015494468308891297812151819462351295109170260626816782851410258885123727480410269064945572172237361034862765465694634244661945716221031081098270810610547010104329961342188192960026094105871748805372916934010989711180105665287073266540855571081010372113106724538713100100410101921096261084421051710410021010582100701930468262914023596021107103916610921082102103587318641764800228104683776196361010523002664100761059310631478797952342518026473580105052705834110450551076888100409274181000103861064725888902662360016734310468925155544231131010931070725284110735540137247418769474199639184929693710310936830105510453739271080063300646974191710604805001782924459953338343057839372272589633246104712751054130690444101021007210104233967106101455105731010319405057344243517314976187310395723261286021035601079465731080108104103988101029100490810103394363569523982730239051101054993924037541013282909816666541074402824272875848600068091106810700160137271064652673471017374072710924295271782873068543555210469810485005297728248815075876345283035051210365107564455666107414038422986534362830455453786086410847287495667771051097239103279910518466037642092001091076217631081931019921048432755032975233928810094107899810112821010100605219093102864561804651427110349210421912063824110109464007104590292072938087456219659192621359509455871675210845684100513888514278867897310119803096649008208331060102110258180455460334272103173256391002449099003906810686051102944731097738810101018809892572689580261104551034937894396954010654310253174714902416485469844775509782108477847639133309767885468059150775425687191044632954910647710107789109067510917101304131021010482561099754240610445009388105697407046786108452307267736107572252100283834802749680110680398974333426542291065299104910076088210150375801106907691792124178210079868507127210977921019310736718660082910101051718010267414504110900368346697810732197998617323667102240993104102765115244100041027051433510775351032721027376561410027559668807777318800662104105290877410910101591088601573105432115580710103250498945021136517899125455304121010361780761610310106402010078106027513591675619467910140099974024682995548944744910710068439050847196091110108020260428610686554478710107101028701083110102663505386103104810103611912192107547030202570036179299379610320790357267815544463099356405510110474293306110168843107771015865725629817758401764068350210091857122131386297710289086211013061564890348102981013740460510957744712409010595302770320201076452010468721833645709195104510941629377501245357374951010610561009662988884055681026106107567850641036300534152612145610261403818453641885310473735778491100465193162879644893795813487458610773101010136858953052912111035289185725910117536139101084977810605410988369354107936011084192999880261836500831057837530429832708013652410104437963441092964627765188335421671107790415861010577675948373135091058200975039770270765546102101424421059529078501931961137898232544910703731107881020445139541691001054539031010227163537710568744461067532015873109866278439910121049038673286382733300304533478332544291426123921356101012101047122104323097910032624089847154964427263603920079427942598268581029839636510620871104052345010781035653410835310538521001170610833608325721080220079768845854116546886401104417544480974496510948103102373023741071696328317746629760579061671324104620926484615032821058977316954832856776103206889971037327510334685101031105254088587152107069567866807108485594989193410461077106105848495021061011010381033565536647211030581991001081635744854994231082108020916587617189717214810804010290657195100873218151215743260545107712906155100390051001065105741367640750137609096217101039961063914927544952205828707302478473251022426554530632681037799901067706492799027258481510765246874910732740177871105810667893547564269010100288073788198481044752081079514210836936277106105107929104358040927042421038197579103365048056661720203510877558410410102410932876010455550130512711015986740391001387810061447456107319826704399710610263321039224109472010346756310218836108810508259699791069696710551214231048493538119121246881531046110031136710054297001020563327107108957699899617106262918321004510181517689039733641040710521010429410796685781043905852306203010040598950696603696342409991597101778184783732848038056538210793898195842107710651455836101085060304448558510496104594846450771041079404104397031239891266311919582461734539389109169576810040816551698320810536766321040610825110606461129291443383366104916364285969378160499321028628368791091001231062610108831504333107011868523028428810872601897211102468943005439403101953862541007676104301051060017305558746802568110496029033059100119654450943874981891425116607976311682102227101651245103776101627954760010102204571063010849330209464101030105837279808189524412253387169287871015682031010580707273464662037988691077268888937510610665100349104261581080102857001113049810646580720963138417035104850387940510129855426211439244173436266526387770100409790960487130465896021010099101369616792181103203103109046105831090910172791274404435106071310506753401530059815394788846198001496079070106980323866510644914008537742101101001050830760832510369710176105075522191236087235193780071060635049112102592742251009610161732108410325524005632789010836651535647659326691103710158709968534010281024941019377089984888862559314033103441034434401087616222947186099910888106584589874941012053540113261046202977103211013959330971696810502013437640912038075854896231010441071285810010198101091198243105074015109770841030511210638299069530019101351392381095106328604749431053108981657053436191061089984572703661810771421125157017106380507710022215104016979106105983167641079104161852210908911300093687941410005273861010872698897510762615605968126682581510102057285021336101323810410974203801662904126754048356570364981210369189431405766778016701080155631010020154710979192781060010391094702487514758664218978610874233510456393801737858721291534410810769742086844100181431021013176445075332271090501446196817410908810103439476960851001010061053455355332102779960714761439107929359286101078864868801070157710382327003444235410810763223515301225810699451909103811412105138109031086705293461054552410104765109130161972331048107980663528592997369807109991060102489462692233204852097121844350628064010210771337704868427978708728942862171004372510691061024463059321056661130937125794441018067210274109491625729696101872277089401110649110201008310897317744668449258968203328920531083216720102717723906065435359861010801610501010673702698101910181010907749395650993101073671024437065043832931510928126854050423612455758571008478357110219816091091053501028861410610971041028421092737032020073197961017201103216392510450423917731078109706111119672107285481514777801029358354946899391121665201062831071041099456894087912177474106510457726614884095077364928136107859487103862093177200165533291053323240433670084510934162851874103685001223056310784307761055401037564018256433643571067104110550510744185110304032910471060900825026993878519109451779102319606836805141010629046807428102393357410101065918810742106590521043547202845109054100503163210891610443150523773720603901050145559213875410580067104410010817858010598410310442235740009297482008636184158845574550751906522556226107491514240100107103439287395110847705510810455210544108405998201017121121957249117110100001109089808567210103665502379106737231042886636396810371559468441510108303371054937738698405910146560488648749385550779779326637719120538777587819141607351978728389358748390070474410294996475800921411083377915233591051109112840310243381041650449758101067559479990871089756643777293737562491051036881412166310787526233780047953101044918432174321080342410085110377104741021632109101940340464212102289871032766627668994530662670936658978891042510110102813083391814851034958581077514210206343027848107115824034012811050883106391093653667939615355752581034168551099508042734851313508982157057251039521778241354786251827827476543090517218014116071654827032050446881224510790067669472854870710351005602677228010934601021706451051028921107129010794902438792383905894709257104801076910410091461030109941076320949171660244101939780409200499241071337145874839210177511499128660252510930910675106410908979518982263593454811099100601925105096991160511016698716811011600753325976821004010710710310992541895531089648720821198500143291897532211063681288392048061629210452105303600890310622721002456435517101901010108440112160701093210100115742168885182106776088107910407987101934410100380989651088688452923777986452254463496068210395247391094591087210107555710987410109966872186811922108567081096077196980105077458332025618550470103610332642251071040517805108101873610258933103519110940485862105088152109440469515410831088118578615280452694677583359871110557381011431031044361010455192983106355104982810559554100575321515732473462814210325396100829165808303431050915433497092985910400047569390120481452101090103061889101636025310613011097118101303100113910703367310957585198615844099101070241044100945411010426242210100766330810872108100531017361462174441020853768488051827753334313026996992440536180106617233141010936111031010437019106294599131210786215704540372956722900695942910475219638899281083710210296210116005410904822473110168374649104675650100102181010232095179347541010369515603669890353510296319109202799111009805610710949617295732921655526066101844910840225521063630614238478616931098353241051610073659743010821410923810140710657693666492069810387877171083236092226213675210681014384102092148212107683977211051766897107502637189873689104856510348985108926791282704355448446921067081077933916128187083623875650581050710801431679371019234355366913916591744778696411010510602353678525296090381046562109101094106394730463191098648672305102100270446738436810060660241084973861167604516696171671035104210107987766371176107081110291045304520195265724026447156139588710401056147010751957210462310097629971011794223501357075473101081060700299171010610688004873968032628052210641201055641010089386104099410740177549100849100165909543786543489108100593659846977251380310789622686119010058503722472958198861067101030360601310196199909880744581089222421085887133926717702314324109051680578710100952654036072708104101010852165850423965102238924810167341089157629332035441891345228104286444210137701041010227306103674285716891059210303551003108410010518298331010357535732356272797286971058010507526100114680101067100035370424396859106348325980734894555100250727108387812721067710250073079827086710625861124496096751018307461091454387104210622106279854060203713943012091109510749949861097757610656250070102435600241433130803452310235800518835827419010828122100140158303219105491756931010110145963395310102410101639296981830910410810410697517884146423959974365852950895845035818691088557924109754137610100223878994778147440910110786073488101107460490081272203761054169241250126697812515808690331520831020685150305810916534717471791946729551551010622431588659215758864206221079398022359645155650586635210734548841031036510580145106610330936509784903043181411090102759283161237136213036410971632084310241080729709948101062864389621078910465910227010367074284108621023505573979986391671098707598425010188413966108910107635251083684810193797243655187339555610971100102448924021610857143756210941103664523696961031074682108881010101082101596791051029070779382168895914068087001334371429495536161071675634551010964358100420
29247
57715578210530969100908027783108346209365632100907286058730372484921176860921061079244108460106807146513107325440247710065544424891254376557401722310508710109288619727407549806672109301029718225019103523951010725261001067357544347265097020810410779640211031072023103321061069749916474523910702093036570141042610849103100662004073107687189023896681058262816279038103419801006230109894047618220750906353310714098300958265321076756374643019109071036250862595130110810641621312310325845123417211443310486763457459165798622700892069114991317674046358302177253072104810102915803581065011406810088541710293934866088410801054111144877838890102085845108373882345109960933110361016107941752578452934777780410807624790141069578710092467605303310104834435811028343118283036672810251819103954243410841689014156439434108905033368680390103049819108807186153596036101410610521006290255624837831004313015278676105484147005152089463481058510109828562224601685271010437664710410010823433143330087574262565033045063324140548381053428920713163589401352321062602993923055106620530610711030428006911046936928563069997714050688106610108672692106275399461000705100679806698596509495871103936010881093755725531011084683050710018683918810397238104275245477942929411069160160900547396049762193112510583931017140910102449684353910656974814096095701010290202725103751727225815196737951410148330316010932610110057967165100574439187400811083769910511069042107928108791000903102341034859109104793300103464661100850437215564076125319964499401912477013772105163848831806097405740353217103894005565466066310624115793341000884033397567245041081102289447820899510100979900108886007710945480444106711091022512737850263335996281049100812675896109351064395640110253710949961102107016105310131021087335285157929944010162704941077107371644192095103938641589891771442102771203367713102914064157106564798107511468219903106332109394422418107285134170442646683670071068514109708105571035961005010101002758035608947215322857941099633523498101008191222784755010303071018205547510142505947091007298435579641010210710807320910336719262915426920082448282634403121001491094241007011091058511010000633102010107001078033901079961083245730029510303379276210741348834747510006792036356385101057187372167648760484631923765305528671085339695951091019221467394910992913435653700403751103947576238887042107109892598370310730200738468698785610341631587051061014579111311317109681066148884523105256558094010754060585098710243193979159410861093188911071451061596062787059196991909816410599945106264577491642510410958680234802535112454711010388893118744851096557014283834983445761111163006110006546370935134874093963486106241201399754383845748884342408301068425105988537040603121207979562614110538537490107798097423189140117105104310961910126299397106636642291096103312545961931316329301069238794571065546547329895740670492853820130082576303059507340531026103105584471097161030315256100260210104525516710108088888391079725920105105802955101010799420550293358944410916416710578992284797522546135464610559721049305744810486223520539758589410347107109110252569610107075101064371210910568145226723425223212017904901411084854101196302590441106788251506317407221046687102841887221049104307813286694581881004059721022050156483375104168610100931072410096901010068510393967010688210718045102632696653102372108573945071032265406105016075487020635545087510613024643830100236310116865663501681011505066139566151087364899470799107100671093104050607829901784610035461271052980031051040068588399459419352328714102212188321465103235270321347799654310109088001859103103102388710738263031021056107171065887731616881089452810521024107125108688630106009308283906236102438198820897104885067711008101600101010741042850562101283991017109410445116327804591216699542841827215565664531081394210709596900710161809390459709108172436278945405260498910771044910212074142956966970810185604663334221101010897046605321239287875035001053845210319174019951025332721710775793185115585683101005731210958452654410948283090613287137313896238221008104481650195432084742359089833980884926210212992829214068710364948215930866461056788491410810165985671908310783910637690591892199746269465610978971011591801040398150837924270953674880310694468073672710284298489460387016342322448117031410400899434985304102105101065467191853881062601006892171011091549937246155415451090390310244735101770371586910159100027016925769487684531012798005460975284307197210181092710820710650911088246595345964587064109545724810942084684601435527996210265819104510731055610807918109110588392524061105101005260295289537292109910261873079022102529721097789239106102629033341006020950102926013610109590284642210540917598571060513035720798110764910971101151003731080496962646933197979642594863305796876997282796721427598782117472707304495829410465348402904109761356360721025713010103102631790085403984870191871062310034005895102610460105211791122203115224470104823970811421017710895610768396716147178978278944101468478691058261059443194976170910927257358892718843832633507516901095410910119208101078743284026109104316442018380910005341001076421141635239992734039590516611351002647551016856530917210110240108811101788140410771987910251086610052718414357441055310554931040891025103475560109521006810499506580654049040067588683100411011045010099749996105252805629104101001919204510010762056653258954870108279864301007105632994627052909335911082257441005036510733271103215949222289487464104102147200730377321013618945105661097029013922103087230160619763039457625651014235641743101077918930265014904052491361947481972410235910285874971090566795228880096859281738932744101031253830105635944710927104639261031018710100463793038659410369712561021913200649001078177410074971591090985081556110310109999071581031703608420020714743795679702666291567810710741809810750710453308375271037165478327196316101022868035691089499278801171610107366614810810104103173614292929619799210787973031020771510982683891020941284509762983847837939492043741507007811513354874762593892101910365894445267931001681014105742298723133210423900389201025101416237811210271675862974109173852810768810910738103831464222823027073578067438669100977947095524079035551745950084817910289551067311281050433101055627105104210102263526355546724048934894041008601010093710104495876340141263203705811089023422518026409357333626571523616591069821017336610151429104472234157071677608810140110846109510700104517194747279286103627723703783729105437106006749101006366481082702444139087107476610714190281018747965687102974852184206705576408881640410541437030108825107891248310791099616521311072109564010259822750102104999010101101543804577049108210597585540275587129139450180998483380310013869351335473314101590153818168681229942104471029750708913084647901055179760562981093959101078568611170697218218471484126867650100669755167360703492103107682699374440962967325370104510101194687770622101071289747257801054529180541010910685078851101218621053610487610303138052743190151241046902163250921067360296110951041437989890397232256996621043881062037187104381820691081013976710098774829404272112257360462773933104082028932307910519048811037176154904105274403273768103673610413102291010537781101078410112101045651016810088611056255225002768352928397708474690100769910413271095911010100990710192698131090132575210104881370857521051624989223027188400494101420908275718597261371475102871940355910150501366793500961971080792292250337108709651310827456821091991064102104027510717101054115047705771611850298297334103929177103758109102928818610827585485716972816700087710910420586671010843779069443603107977936638210249510592872210064916108371947510847107922445462151771103303527710027871054759550553645504633109195263015018772390690265710710144415391066782618971103291040032621977961319549655067961010725661060101910232066369107647004946966107611046046180410241865885609351037297180634150310285107293580104710514036427344581953810254007768121000511986210225514265106390100583392969889870108471099791321126112891708101080101022105816747590010700762310781810435457605310373630108756849959383350706976100010828024753103431049012376250342250751075097291166151066746767920629601004215210793410267819915017891499922036260601006374375741055596108697438462551023877101920911000664101052061022634936996489107761409634461724928407058107952057510630942136804810337849101379394981749019695649932118898488644692860484431753980214036057997242233387656703961399109549996121942789403057936871799492941523123266104598114273343444986094933934241994101010451548661091012310752559701082155472410510787091660611036679100410579921353322297918848063207188481010107327671689220751623819142041110105571694873286453562347191991008105672991047905011973861031210105310112152888327233531083010497641199350883808469127103333588881051248804407210039254756361874071425053636741000310403367241691103101102795537459298881106830264835104078567101001571552456413540801314996107381041075041104194834664224617923010104532216751029179875040710926181036372623578110265101097676140011037117179544458100103912898737099578895829926536714461596510631131774378721053710827339966631060119591035652710110821881174205100051010769881448210103206310132451510021021088109781038580633010159393639268307781589031821748202511339276731001429007589350101101076099110291231098411150671259910840713392132374866204020110466171811008741411253262464434101025197976794766002195418810106810510852325173434435364326464036406610784322725777952980061580943437919029296081049271097495581029110101434685301078094780299911787910689781105461012990258644879111797879410471006912451699354745724556548005769131010096568252482869961016596564636101007210941570652468134462784961024072101822376010301736102221881077742288040385467172413746579176560237626105838253182918210410705999702655437998528479372106109108525649263284613163061601773158851639101586050067100211092637531013833085291010783050082432102910733101160151411015973347103677893343477921118974101905331523956107791906782689610972833941061060417640830398454778107591038571079390445910670153791281748924348168680998444294610988752793543608621466310880127911052232722884468453031032343732104176439581080101057948665708488561574225987501344428105129345063579725209196240781728108467131064242162791006711078550051881035602511580349105209468339710742091100657810564511002488108126959811017075864710507583510410710136329112971058124102866732385756010683670320338512312055499765399781574303106104635010106067263108527246104206483266404101049162234447733712923167841510107102109434792093771768197813390334385655319651068812631948810026732680613914802136110574132810193231010268104564299930964669709026141051018110958171310840161096491414731106833265136320810074870343151107856221010651201092197510910010824121842751097591086610361006106101106883831078922410202711329811619370712396760234932441012613494251102064471099213287099968601329854535248024413911010107145932001352111071014071446780767455466010199246873886789148610483471027576220100239210210055023806464597710677905151089107002106309645810309610103415706695192717610410689211454496360301848039061489641539193103688510444570710402396500091082965503691047378100152343883718429581210100740840607386106940911860610106174055463822842329799294100229777733449973605639112786100910133471936643106695622159798516224913261040103310881107103101468519865321033082451079866369800281024532035572663010668109941810372051010992508245104706656038810041090778527759106114124321052104992310547871075855581006981279486686371026365630109866486601029221012276106219643543119277936760191860422738101109105691089657101032569850895225251029221712858601070134706377100748871086033227446704106748148101082381290031210631711109336696054410201870510697491021010600100341724743428115988910033296535648752265224210038230590105086375561009193149992710013510732456914449100910101003789664056210634861226094326500295936651092387263141095981107464561341069816872199275273182904930330360226799108989253514326191004915731360795856102418714875442016622379779910310455100100145971544726633991326104831079733277063951046654681000674303810102541469098930751038110787724101093309911009107432310256417028387102910433783666056384901287079337399210369531620941010936251035497029782712001625894907041030401695375329521049103225710310065211619162144729754491041075622172846797064821488786831050062810628103653968104234603798357962541083411925911884910053171047961010113310893108439231216051101896100209555296676139019812131010989033310198144433047560781085726098349497644276100846380126759924108710906945521091810036110916741010289100109890104166472572524221528871806863830108660728669209190420107107104896106805109065424607141094741081377823609211050210739100240195608297779324131057732711086319107107902222120365105477362830824055575045276107076701107504788745919101087210197291633109132241106579062919922251041109891010169184108107989710269220963069014074281771023985780238351697595755652201998201055103181105998105025098361510104086638096552580460667393418104255167451810419900262102552518710973193010306100693710392557681069027173378121092374618555410106200104323043643862060757339681094332873497892563204070315610146989761658511665101913111010156541511054791073606336672488921067576272836379101093673782020435765308108536381022102369190828652805610481032899104538828969715396102622104523109541018786103593087909310254177457016252108463606683410801010401023554210100797702101136482947796196212222954994671621010201821127433489963862348510484433190550228710167070730581447558790300669913026520144398149717336065260560710601682719101599621031060351011030819524024497206276586594470026645215973104410485104129429580150608261045814810105343521093890454703961602844656641092193810013421408110210236751467407958947106761006173448710107110110045615185765287931781825827810526795109367084331017109258061046838534837875372710210010910874565641099540091895410897418429101294471467949595849228977551058169910649610352353035103861081089323309551428538681108576835445956005612710151769799261091885967498416880693548919448495816809957610007107104087108535789661291039902683736430677163086981869100221087103786966328515849410201328310552474782310210646979357697392495764739607494701092411010757101007107461810227761936433810210333164410411872803145942019416311052422744241491896781252107764895310516548037989851110078905712910610106105469810559117410303910544710148963166554200107610410763810102275232670251388100109935100338607105021094143105618321047113105100208310588097101110105430539106121075388221010590554958114483941222267134210821004146520923310869129404510325130173021756097105268560955892853101082108718056300084761080680743471073529158103328739110351620673109609716792965213696781377966224711034581072704105898407221318618489198310288108129416106783510823678491116836640253794109861071047101110261216504048756102310121096488104747181045374583501018732687108110627335380233910858810566736710524539587577021056483023547210235391004109106817510703109910285878987137710949315289010987449710573691181865351240394851044988003741073878890885930676654382914246624006258048073195160339794010981010775589263105086370847295416280631004425101658781604489582699143672436251089347581030623246103545211001066813108280601103939710360258107103685888511015210887990100413323010952610051027611687110261109756310862047957487854803320069179119101102871042912110741076929106644578626063563652643068379970210213238510582983677791020510010578756034510824814101241191006394190304610920925788331254651096548513475131029758691236451058129352995848036810109924661249254696410053100031746410836950910711190892101074958410165581531054810798010296010460731051163120108061084111136710104451851100918812286295210565103832107452510844064791077910788655716166538721025661010427710101368493109087092510225110810949747249106025342412713810584110296102756852855762308106105921041015109210544027653332565946271017234022956409054101090105787865120031010930790549311979191033309453100497076108291096131013541050494101035988149795164776839628890556877732058642287089736845110538590830102877659310351824752509581340810473520772102026210010998910797675950102431007951028554755963919591083975576321097548671340810545322641182143022435474298782926921410441810017601904050031067243116182101080501898120757202742078106910938910361063057450422611069139834982210103589372719417104610741751094564227280217820821360510831464407227107145793897723410951310506863051054930631102265100133110558029064403643610510810595851610064231049502610257881065069610102144314978766849311078511074380683441762948810036136452289336108571122907821017108010109111148016854256098109110881370610553146530087944573906681041010061046810742850625375203862386665524986330810319761962841837485161749415509450105157471094668110851481015271255200690405065641073594150771098106185786802783876829115331924031054215256832847012062106659610559510678786636165429110491057018208890410103021551080108023458143210977271062301043100881041103348093151083103504585102400413754051558510263104075829001084046128865321008651143559199311894963526722391089102810124110139422807253375411048486941340140080170201216710782031028433165266478710105720874488932661062610066915018141310927422127951010823052913553102141072143498310108214352810810434055242631085406198294698080889772590610102105601064578015117485376308279910101013700341071049501343161073614228639910486757563916704936816994210457924789811566827395164104595268109270519305886910213109587495121092207092629588782197493623106736920012253791076631050111803378527510009208720505659933483315357430613290649262128672964144988105610474136610048743643642241760814049601012845294644341698151101648350252107107375519101087380846608426752871593395423107683641015881050866723675417167992651711671089102010525651735499804018101031097753561001269610700610966631144420756899649252010760882704547836359406348441031551631308330261974310201079291146533481509571019133049901762020910262334617663958901010176195652186997036101162547102776852859939689104175451813341858182511081170814410171082023810572585610031271785210410258710536102816729732109740157101351268356812101043206010213771844907619885970244296410100100440447044110353956982710810448568483615870344959118102942236905344436690504630979017070104686110108521056103133481088514801509728210849799044051038100758431071105319110590254214434679803010240106292938780751442826848107879361706298109210371032888056650774652378828909621708969358081085351994003315105408889533710993805245196839228131801010770110610428699104250389097831310287851039268510742925295106277106795908342510789104899001027922988102928564989606695085183995158064121010700713109657939739637707756710540167108670040871045810849210427027632594390232027870677064163293104234515375409281061210271010105602056557305987432404820626034533710868595010109256674399110442103348312388931064610103207429105174220510691738157817510191761056910101027324741300423923148639990187657628990086128810093250774561711631073101402399761090494704072010620662728713510539685371093349369541091973227375103109227484890224999609493357543103642947101009010788104454104174986510938790106427610612110584268028922531078098190464358779340105400213082911616544421729010749881089599862678430105681010392742310974103540343188918071981010110517141347210310858858625621028215104662281497410155460422103735788096610590492744090621010316921961687798810391768105108732410241591810102551081597410952108485800452110910101223210210710491010057363345101721036969447479445782812483984070074211005301444813539638655317150994108059110667123761331001010090961712751016510396745339151109100833101388208698916044704899636210071010252162623870602713601525827197109148955584710067040461011279780238142061144090114417679108871010028561336912155877608421496561911407999010218574968401786871010108837471018497322834363815791092494586648033442715299909429361061620641010410411019206500439105316658101172211585444488046201068340536798450828245184517430285546426201010757510367100953729102108401026278145322103672004282522147527722016418610403508730995669871610575105198107769398891075532192444210316361020310424101035877708704910362492710594411080191809406424487808766589146010322412601283831317731042262104910284104677549689091022185711010669449535775348564480491021006761181094107510025512488424177103511041910486860109034106811272507233506214649574543951006157703996892880431001060989270671101102771021102536193914289888110855692867451910965102623008884918441086253047517276644415761051242642102408691107050109666705104103420166030101040902011010427388201100823108991071011611026275961392851404905814445103237800851575959109110694011151064636727001043994728457048344311240388513432819579720010388567023470315448197864657341053693380417933693726380116092372099512864104109269941023930751105692947182231309041121060940969946302752141095762416210325228531611099756470230824753986110271729630085823737107928823810752010710479966297798140657910045129610851188119792887100674744039403083395503105355940550802253056679785005870947171832238109606103562610726334395323101038021027969374191050184350933914510364220006100292619761551082224539008506965373821062740529138920019146108234021701044569351091675935107181102100110068482310090445990767710310722300928556520548682669286004498047626110893414554071036037453596724260373769187101010498609748630102204477101072100813713942623196108823457393010705581072966104048107363100582095878570122224995888671325971028440101936892011579710242695104220705894101477105109395485103114766178717884110235171810956510722779823041515734525410147331513785210899674874791015910101062569702234510259945913699810564711208177641481056654347356191032423217147269294107522106221061336188819992101510101536052555021330671882622857511509885522900103271061054960146539107052936756893895210740510117885691815171085540506910339135793136233194214726609452801010123214054709186182896086501010510802510916063109051491045544100674210946573101002714582851987737910410519813104541152101310103748510011531010714161571759710784995876981010877143203848634413473861034699427342901008410849026229594601055428770856109577021009072266424135796917973274710984718636101974798190172788553949903440741899025969111090710518501059980863671685777810610108488854020310040589831718397710600380103952733121079070855103521821100319565591025708639188658339979605332555655210102225641070110390075034855640667701022100105959510663000755873961742321175449910494104736647096597215305647109210929971427597924337034763910307310441010110090022105112610432989915101078981410710225249497282628065761610492691081073738996890181069101010837719668870935572434153547075785214747590810369455257256567036210239101380293895630947021529101005110482262636106530810701710610148661135100309910314100810210435531070737318971139101235100710762982960134887809233820761073201001091039100010499346887444631097251050310101001079510765607399748497611065794165745001090156564176049378155333458898163100851090746806100270663004196084658228871107771721210211062010761911010682847469110641813804924610440033108909246490104935096993431076512101101010107104855096058471645925938106094346851930100481044761799567493705219349381666068260910019101106810284108271069253985984105107288710081030924875454058467520101093354021081208675517164710131692042107710620106010438720102310478110065880206345294795168033108938863688001790380449227241467690175940393834201851770147610339980983129073310100250493725101020022310573110077104341968962726841042102374501100561616715281834101389750479522440910244910195847679263645007059530833813410282180097384868814589319151075808922994710210810073353165695239051231109732410966110535072007100941210296257641010060659641068701542582310364731014106829162510869100531210005210799763104145101411868706201814088862857648071058388310697871643110304809345563435180574975996220731010010997651813764910104491104610304440710101207806482107101106861680236280715571038104212649571034451093923351298689779651949102269728223083275632979350004077103107711786666962482681781878992103563685858110466853165507852375590107568106268201094305667610253510210263106457603551068101077874107106827268001042401144398300244108101816106351053895101635330986267210101102173484068697810792911009111097453342326802492204209958014738951110875797209478010944952142303060591010727071101279106110851702270666894449026534642763466272718851654101101393990540535902437883857949191106865109901931421016162008443604100659153585910790943254313100269694175510107537858732141117998861090278097984788981359458109177277641605372367559995192497821010181010673717776104291071079018130510323410940100131010653109691025110320121021683101528749532206857091331062710102384528367501991933783103322745271010102932604237392539095710545180910831033444490289624304879104856673533816331019105841008227798974044432210849316761090108064103231042889106410742938107467499108547978230888241111033810426903631070101094101033210707010164103441101027410071044527716810243993619810100104923342399871616555984974711101141031933632378780710314871884104105945080721200311013273646250268464210185935529310780139715128121101021255763510186829910704510244198898977107987880880310405810891478739107932610101104576100887298586741949366026228193111492109592000102962117216101005711291021023113873809763551063401015622698576251231451271119650190211009710498163821084366225836623215213725861036310532185440985064482099939408864867448720211934100728397770431001093456178832812722152228538635285671426616209103010134669010023655036910062461103160939743640335684982950100105393014117380941728821550471093449690753576172619043222722802074367006456529725060971225721137573088029734753108990640387181011054949410274102848773103901029790781658465331933027281085105447078381030901052619292585829832464024889031004064602021102108999601064677610840799428106510632112803910038302330610272535327225266231056779501010102338117205511070902542929637942073823109089537821604859911244553328616349141042027366341012364995262308922205506342110842670837886763033157478061012103203759131012348539243189332134210811058574551010601553310939310710551016838141668102850110890240907210761048665161435501691710503547032082940163174163827234725360317710310967557289101061035439109531076303220636704563210589326793375955071003931921293786410099104395575991001383984021041032378244636522510110188101049908911483074810168661966482102107410797723585591002533502980551012236100941429103400152951066027502631534077251017254463253610418024594816109888705750957448412072353010081088265902749005667510521053210959110300964531573646461008761010671210963808867786876451073117010761590895432227794047105665983965002388347585102415178320441049578106337377954450562181096147653737780106152407626512114091094108671863549066624024999955200706513910105410650232311094947263453021288100388996695403006289384300101061001071010680005886587051180721990182108110101051006105740257704618607738747092368349123234476942253046104320815109373608413123601081060422192071031103881586105856941542010063735786412710111391030718534103654103820471082824143716417310310047653670235111091474710839126706955089674881081017552740955410688495620241071295983103924601078405102223790697848110421011331552948276100293308101023018488536671017857705302587212653096047370612221374810422551643094610080678030354717210001396531120395101028846211103502881094010173031098861748457588610116161003102336421439813665173864244785762100106674249877681089511033100310102575960101900448930210514107531292078224802910786874077922641095691011310260957619086109496420178871052386126234706015103972104305992697912114167264284498051083454503017109510386610366553157681027561081002392178076373241104100061000242807001016433100797807367840371002073731745969000959929395704255135091716638177241183585643980924781858109231051439067685028343563701030643008834517711074310171410424754802330745855498333403886102311034513184597748610966261510540801010710191061010378110579567520165871086819842832701053953517230737621381210876967166210104559773848126823210283530420768986812140971036284411041100910072508107110596210710934301022268778101039310773279501033357127808107571101010128819101083101039652025211087682154974051032106110329168673923710516105539202712210991943092006653104103674219706610210782389101101911061100810910036106766336810211810106702590105490857750575196203471657103981086881710710761166741007310499256689434104010249492937201024227868100864110479506879694941401078051714108450364379943103520900783148045553839697441232121867988470600102263951096981562450104607782402587306297510899576268110884776107469210680810321091100685840770113109775313710442210410566610410237410183752041070977151062664248109354890604421082428795979103698104242261124122899495037461695865630919104710772960782288086950210938512099721601094110710334800446151185469984266101010636289111658587458245984291024107162226104598440700293697010517106589210191040164639421382190620392910428810098045276019511049553639210502591087489387375301001037892105975610910102882310502187361095398913000027480870521733082277957711331642180414610811087776643045610101722181012264996403648544107256728538797238273331910712275956844664110882656576974006433657350684110178511000125689071049202005183691007110206785105776610206157802681084405371861060475043431091081035663275631268597587321286111088371010104889892612108258837106430010888104410473165100087123905110781510610100902101077100553101059610281069192281009007991095050990381991093640101009710267676251071444877625754431520070105345530224065760222148114748122051311019105647525972410467298123310900896279020611710058281210992234431007010694580599210880591146020655313336109610579310410483776428523231082372410316754105410029586056321373913837218895591076066232288111059198868909344514847563696104908765073365316426910445310075702131049681674496386383781610619088182812651415956102238163003631037100111049820535272599545376830944571031058584346108891071789105102104609951119425610408744583981032191098797511064140357560056108101026251098108641010861007040398917109400006106934411095985195413953104337181759315938107291193877367270518110029461961040645107857104996910300910069740952864430003855110859917598830799410701695106072610107419101180701057474866723285910883407121441047175176774427878348150510285371141100144329589582198038211326335052210353751077705006981050771001299451202094891002481497725483210367753941931081071031964117461021629510385101688005936037674925961211686141091878605715831420524105007210966776106917219792944603840311027119632051810594622083310031264381096107805158670109351010210322818400083456077101428610131025882137379717103206072811176285744290710267310643410405711091427263859610888099102962179509256104164422810107480560465723372618921084685141801086401077665762371051091010356103234895899210010323914581011496109948551069610488184494659715734408053101036391011810962398210021060267960760750800297969221493107104685151490911010343359714351082778044501010739629379106430174490573886810496882366161032258923106851076110109172709542310100320388103910896926245789876529471013782226510257728461583133741774930410003917131085903301043235758790170046663301726088510102427753264731694432347092761016336188194264061100146182109763431822088905975178005912855936509104945587240198475793100360629089951129548926391011710415908431543252970545083210131094055794027401074041087002098522858696816809110029910771024103452725106681062103006461815030008371103510724710965417101885579471010696710655109628295959382477592288230893108610943710892100305519174195901122077277710797964393267347688761091173881009077621541026504541061010384668447433739105222410101081028965100132017586325371353168024327051467764488103379588593496118762500302275100268693605923824801107689641096
34715
102108564991068107523032283410510173810968844226747060510361015125561143688110040763105089339210982281489657445003334101293105210733251106240121088107670610729104902172252109103077010046386368638310810101026961510720310843681101019910184215950727133117527524780905106861828072984697581082716597603610111032615109523030101050104256240710010692610230597056471100051514443503808501046548125431108701809298912776206242804710136647179018310101361631072910916923652519967181035774106914949513671021841026036813169110914799967107440532333710541009595101005521063105222378650214107566569084661186180107464868272650845780610474877384765810141089571263965725516694737541675130710510768114101040868227010281965210645985315289728421062718567666233278324351010341088610744289121310110945431102710370634214930105609391011007436905848108260018210589796405505262466931831098771493516049592101688929461436904310644129904720106180007201009605781005191036410713330116862911019662045298941101035101307310103393308105664052103011956634048131292341027101021001038318431171750292061382474247610583381521510558277610694847381800907687004363925192109884886863102132941055446110782885756288891103796851085314956310521354331031992267010861041610150719506774210081083727888922721007605108511474140757305855611846367510762075963487959007315106145010001058104210011025699526131081260662625486107594348104810811010600491083996876110239241104650742210799781929317533597993525109103492390751101281943124412713073127131096288304508210618067673018447901041786582780471806079105102096648121035386862009631451010102934010036721533004549043379330410631104419649922008861010467871040091003538185097610184855092404372336860106011063881005213108084706631069313826410281013696610109101034210810970381910627210797310677473463704600210860024101781051316674823784712106713530103344772171415497842101016296888001007394266685852931910096361056053102840104234431065290131510551089946100303386937978341097057314165366686968535537167110666171034593927694105027251753861010143973448007842573124310110617989141014686621797724099901089310133528321310464070309113450460410033261111078104371040768313108088664116679741085718094836749884107834992404210370327292841026862624109809102310301242931658395861050737710979021246001501110693892244174237762528093460084101091915485361631461462861081027038910077931741241467040503111108952522629204928742731115527675544029410209110571076544472520173289610330347137592101021264310610604961521019241566530070251020921065710572572949978635379520011894131826278898710707815745536258651081040103100984849820710444314674107102252268112092031696910760196350782320174590175270196259837566431046516410331024959118310711033107801762435211069321075488016021514171984531061003544311103980101051044399752722312826918455346100331988890701821210484250124007983515537291553271463168283217100457169339107966738375579784860058212106337546084688104111418171081971576933010240059721010190341047566810018243427056879244397072875296828162514626239713880726107915310510508642010992407833557101039103339749380551107995103211259118467419511095399534919279432040761539932936053902221011094658956697105568577473633101985390618662433707102603709145861010510437591080410610318506102676481055345961559296109451067103439821211868497613103210100403110102100870413100794812713906048609759942910166102241030625442610452907334221053623410610106186077635104932944644344094825254673464124301531899095605605010125461092031028482776691041016737929785783526376559610561682586110437865776810119510956135182511443641947286176356809910603615860308279443170692908217561782105251010663071871728579102920531004263510864710046371065765101010002101069241081049790016307842706714161056239561851576910681982210782107001169121010954791822422184099258103455455133129786736175820229545991066042491013498100660591242293100079410898105166057714705631799510021050395619877110272757376503693461013484331082109471656109299221410341031031067650102625196784655756191066591068980010998710610110681721065910520107461054100386991475899410540356232852382687655657819102644164873835110797701001491229708846451728263332748110199691036531331029266285922910480281095963457240426060423161429520703371987442106591049341001925210128871100104786311006103879303518849535210582154351552084571104231449597246834228216831082510006139310510010577711064849101010919216423605410107365407171010781015371056356004010870133891671099104421060576667401166910541219313929953826107193104310060106910754103905629356264500106775213472554947368941010293323499560626781106890812778757282969979062010883267106426532971046010107471838871061671044273180710792153802942497529310521093442671216609570027051021371989456340563598910101888110689710024678976669109444412017084750078536932104064524611146427945968385916455574101091656371034101013745200118259894271006827301071802210138694635458010513192444980565603320201094261017061943306326101544510811010104101019010045378401040775810951051098501645682741317429471107510502068916158107252258410102885554461490361088523657274441097982099105511997990478404231062591910510067947749732810365105731015473619106387637088369488481442237548963979726910982265571797103710101049393889109116144581510597094540141025266518099547106831037229573938261012510565101082478906159616107721378708630944579962746524917112742129969462872152743710000118366071459731508025094210546541030728142401011491054161091022496463054671669364672131091091095177411789166405102863110658889208468276442550100845910399681087271054552110907064141204888303619036602504610997104850886107155764276570040411056103527350262105720028706199062588739710841511056352291100087251063436963990101061089109296107043961017703637860104765500844262179341202617045447540004033061056727498271700587430008836710112318760875984202725504829212822264073137161753699364219528531025686951453361725456310691510568068823886378738782590118810351873725810497821568710585069249398795710366317108717496101055103454810107637541010229875137810734499190960041101415781066490310881941008516310176043001755158656528505311031048276861198007260824103086901090310998501086865485043109056107710100501034100910368862101071059303835601098536526957110884697371027571001374378824561010923802643356328785771561965101513023730074326218296746910784559528970182691015710009207993564767989551044497186096949102817948020110534292454654522010141796101192191910834062737854102976199979203897656975261533895104310614835810032810058101325754859101097991002394829409118129106081279717961571053100285445604024061699429473509600214510705910100934164070510327020278192960078310681822484132101262168474131011696106971010341597104345071047455589223739163500088121078572357247210291007104610620106954500985168945259737554910991023823100595502188829441029229939843058663107327995775003072151981018910632510915710910186104878866787975760292367471060103878102157100361122234536023710162957909537691265801566701234611123382710871638302600414908466107945624103565140383574105108102168597392482141241072102689108638402329805589680527131061639981764982410394100895033443106268108810728751310046971810610318879102424810947143379509710449851031007410476591010462047416655444484106628521495311083404296575875210555105187095728300373211034844902198924446001161406108062778031097968124056507748834754590732663241313847100939220220101099797937850810140298362101521044136066071050981749536402841576507181010982671244841098736872976073841351036631056683437910658577063783082112106856186101442231010103269690352051086473973105388896780416210091361534452003652104668101010657716391437785632370366661066999354194628107354867767393862854400710701058021107210100291037355410010410096111231910106748421076824810831014580213599793685165033231041873569109942519340958597517787851647564649248707011059239109375141262080510101030319005521028077853327058610510802624355410786740789182504271648866621081167920111010808110104910287605562404510730397736155827046807553935510562923190105652605710781737951390524190101013188720555299309106652875903108116106205591130928543803661037347210408736526511053310208689512051016441017915163001101044772781254739219103489975410056246046984426280421002723676549398102743436229585714923236741035398389710377710881057113540217198272114054466141046237574113101031330314605528810175861490066127994316673171109826409271010374237711010908044259917573010106941023993011653664990106105610848255696133742009589038332968001325411985323194795406630629228388664109108621836880792422059728667375010529610910934514874011074761231202480108833871408179439610144744790007605748291082110239072902005057105747109102761011122637611810101090410350541449485944465336917145892717100704011051034481042153424971091006102103733822852379101782238411508386162108400336107501510160531004470310718677686718558864848668092363441642072377089104646336535872101582811610031081023995030010031066744820431029464367392551060109082475275724289710330325266610640667611031006567101002355685270618147128057371334048227556636536322698342210628530675710404106128491051710973275279561044919871763338857029796429886065010101010301002889421026771065553365132895998905110895975065676375110495584103792108333721332606904104422534610105898391090029251321029018174309505788071939333735783714610771083356104631114141005097582826109583081899595077108557992091011010412864522040986947408306639057810736310610968368489120104352109933726108972410324601688399221013681084577791914155935473644348693019974466079173102659253746277710347216771101078511610544398102141037100775212630569870813053731210506884495892102106112530671015242104096410421998521410310136583102057410899231061753405871659715572455221061082672324285219660571011040514799975977119583747272089372100111010129109814913373105127180909081671085295101066738410106734653407916465531098677100100366311097334680836585545585361103590129290516718929432500510365822009276971099106103610262197216891099265895510178101041010638366104810642858105953490104095544459011062820421015295222183910016291096737715241123106795710865720945710684810364695335578210341033621059134510571608106748486816610693152090532410254237405384406310415710067520269225928851471191031074085013144302581056834620758767201083217410213108449106103477681550123705511033210034573028784434284376186881034626537410058101068348027967837104324610770103599654106741343310116788791410100779781010201518010571279668432005830071761860718041248002509593426539043510285453078946284922360926151091033904649688409858268041272162000347067688237116103110574812910132929153810551001073118629871047423339356658907871015194101601146968910020113063110030888552821857578069091004246776886800608104733321088655031826913549110800912585028234902727442806602645910260010558102101090639939827630691053576210065210575056137109593100101078924516882872787585737198591398841810508450345110313309040672441075759028707976267810137041028016520247561333860972887106400101085461410958053715310486366718101853723414641085091243009166100357220212207516190189615749010107643767190559008031729665399395304778864103791986101819710703210471099118453826721008107481281912698482210843020641033310210410710314349783971035811230288106499244156145660108211919172246693697996084777016185105100310280810108436010385108544187010111101058319609109103210661096747502210109661610252106101077851008207041071038976847105506103010170185810697021064496710996115350487103310590891072782537405101027106713909536653769691729611686109131063422103848167483707975155113655133101408337286056693639717021010493017525056221010195060128109876102897310361241031034100100039910185977110106103626586663101652450775712861010881010510300659549374788788108720751747913808862520631943698468164311010181013699010125669708114860210333554109742217318850271007848779739473974540107841271210272259598006109880343533749710256019910839365865954608210110055135104413743551054011535248788891725710059384447101517459873109453489596784221858769810935680517786247744255446625174833890201102237620382992148099481431085947101028699396487116145515104457010531760904446128229610110110310110833734104201048044463982355781030210010267207393644686310510267102350297315130025731098368792569931078742602104328693341916007132617065510510331039930247907371104310597505765957410985109711014634511095786589688795110974107075998493584439106606206980052510077110991110164727932104302413013959215476744055896314405105827410515857669100448106103268108045113134045965796771203810510272472901158157335661026780739911849910148488018110111083314410983081097211583622890383733610411060654415104910341606728453536061007461242242010999861884434697700146917703022821089479811090761310334564554873036631010291013428108100110163350354958587010810432393536332210099368401269915311082659536373710888712173476586432960848267584151796945648923899101168183294173735551037769987766106223214410997510545109106194402471085075101059250163330102330249675165511085109880272177096841110786774389868267911014561089410754110988396588922188101487411059101018410304493488723418345915389202818337721080736294160385083961701632608907754218884810558101028410681641435320796237499268972104448978103499563265721050920469441061086616830116101002823901826103928032773645585910114523688527820173327721772010589493684531103431108372641883221091091114802801348611010073877968719741081610595665987101030921091848132615355261073702251301107010136104452109749237406985140806893333108415910734619247132672710860010797100289491504048101067103230511605634223841021031055204568485191072496244910101054407546756021139471432862385518719390103433658872984010927100813954526802048171010584190075670049102029160774421840810002607810407851291066892568752063101098692288670367210853670461911032942606162104190595739787474371015245677165542200454161005451101057215973085310210210939416743769968032393681003426593234448391057198737779916666101333505557101011071004241165385334985601098637656792410104440509683801010665736510885052132016710548510782310198722455940210108140144366512335709810697108520510316756031077710381587552757560107906407271041109611001645610169980284054102931049771137102746259776749516476591365889573325276710166810553482108521103657653188101959032932826465093210771758285994958102128308523971493688210016328876611058411103895087104495018248711030164062174283596759057754461984352442040264217888625351294646210906870103575106698410222974744526505731009824731011934010181147070565540341381260755150268949109608839574301579002510273006424262878484303597607000108231109200100041074382101010756505501810818054632229010655048062331079481586425940762943575510967468951084809891518755532824180810659423506611001605624107434702442475003301961688226461023103267191031167197513833462154722938561009719866276252016191001010179339875973585100808267610226183101040660105041789102010070510591593593949104991086547012571068394138031097101010109348910227103669610500330445483958741033085323457511078499091381492137948037934570101106109089980268737776210610616927710774754174101010103150104341013101002504137520541014218268164395649424736135506441666015329298054942078855797951851948410710851551941109274608108912935105161017664068757133121796471022789965470442100720610331503910817810992110413310795221826950657685710937741081035833546446017008401052110109626279103594637063895274937844689466332169106102797410828307610281074439093910601741040001088101610313717276859880771051010275907310722810075093135930850546710691001109538710351720910889166804038325710487102100241093845801088950489108333102997092242101052296321029807921048535364617510109029421636106874183963411065621021008357712800221011498711104614354323310047251048273217710411005006931850184102010102986106509102092910180893446382950821801041081001519974100710205101845104611038112461010270888679274137371073039651067294175210380984850081431022614227631024601355071022070847361931957254266103652771101010901018925342405311910914443086210253810612510898106843681010643101930010921037510875877875117551108982867406826102503026160075108395110069619643990742684685113600101329462211717566906102810801427373568894104295801515101033307170230810100664331010830212910164103759012930108992150906078972706710610510201033476901000107459310591101083962014074705107782031010448026310720759512338648720747511503503510556368933182168187111090642231510525561077229996969248441070109685798700783657937972657915368953910006374101063910931718431030402104435101090380881067301177707610987492105610310494810761052922779962521567587737870621600107907101034900910957610519106109641022474578080338429335643310109473582086291587831021017981084511511632109361289462445130635372106573491032010468118131842632100837891434041066102361120543700881386739111358033416234410151010007701097012813340624691201002510226010030461810919681008195899791048237636710673105441010103124781101831034354815483319106445441013248676663557935801004709434379547978101028571410099408591634524666986510992975105071180416102109910705109070100510498101090947470133838451873861699231085558459963110810774165378710124339629579298410706397061021076398031024106561463069033371101778306944692822310415457152350323102191239151510141896103519391035565717361773497630642142410101067521326593140790006384899101031043810571109010380426810410410958922621060950121055922398709451976868105421104174766719110123040226874180249661076331250844392689349410571074821087284004291004962975107103698935105131051524701048006901584010418178100655319751010322965599159310125301911177100976186102731489046021014119531015133342710961035638157029491394820111021310084731538667985880790050897186169480101108931633025792792313183988030445061072177720245918210101058610107088725181003472127207471119697063520049791616381036293371610876180142139209537361077915542854448111035768931068181037958388806672119144033129408662298493004301024929344995461057100371250310985422105107610595781810817545667710595315116170605601091472116572108565401046201964910259416187778381081224102312180155187510680546285450688338802577977108110051697804910191087352418283430707095934601020106387889101257531024141059965816004641333108553191101871778331088555104401071235097151098104510685008274467265717196661904324094949311718465185708210576101061782108020897002087051260674873951080910887101022010731571010915801981538620415602133582252862859513990155196310061062625315249213071592631029417235102471492229660421109663101025772525106805748405101718652475042783770196025729804125752100803666853860108104430364345397038692750471072255783378936101009764510510315563979329310105091747101904026756509887359483911035172376171020051321074185932543107723890613220821083640181910910571067109136915964706453875853721071010540189286376120783186026369050251294549943990148770109301061710408578813965769103271088925158390608431540670618960559852155810561668510691167102107124107678627510270775416143198100433494400429104270105828001268920411414757915493644103230970628615371034009411861820123520989139105655476241071094268456735315406731081942581255808406513246841710211071441242423811401022636576212545102679802711056184063591007660468107303024004931101063813496710107157230210638661750598102083048460779287579621041764736410989951870110102444674461714403345011076459412787292344838151021032943658329590704106310096410490096648241855190410285627948891713505334588705410603100922690311432388028104101094610448120718580044176410791294079267169310581295553791082642254950500041011091660738276210171010031106668451922779101068361107286052296620379522415186077191010473281057383479610271091583295108336992110928262710090244413318538410796925105616536950373510210894470414010069224016491031391129143123105480715467010910420101938221079810179156859210576019101037410175556101016610661106890122995801873688629301349412306243192100085607982847033723080706853320105952172873785107223238004971203786712896127132881546239053198479104215561257623236096103672863100900950248096522110109953659566347810126964092556807410438244471018810981017102809789361034522486018790583051078332197130108055210891005877103100104105921903417109735021563760107454358310410942902420644154497061071021010750372358226285506240730938046867956791039710246319041010107101390451710880092127238790664810105373017894871010584924999058610566410361410681010110971710866107251010707176336210325502132870364809221003246102344128107787160441010271010081038561107764102521574637083310819857412354179355414749424110881931016857610911095631008477665449182397186167194436736448583104510181081959927710861052706340882810931014610656102606522109565627852652646106790410182470957306872909147252210671098891521085510863879692586226843751102823488852250410188548197002710785087098302521045845109564971024568310037973144643405348560197108728493684760632388286974080107852354019992302616899216197094467109805291932109261156654561244991243381279140529988340620641405810288896648904131036579101066213108300304007610024410762332487107186742610898066105326234035010898045174531164785087686937310676210010402084693505601010229752150434329021021027183666544162761105752741064108341176065218546596924446124954758383310741010788703882061007799483303060199196446455110480767104563659389105511104603776106482055561079153104065100983553336451242019901786310189223106380880646610610504658011075321242475960194013977164883726514026755810000109972210501010973712556963612213517543510314052288153410103018106287410663104987550581053710342088768802428668271051010421010810918235874653055358556109828546970125638810453029310035381082911263325839555043236149010233802161004527393363775104109350141055769573771534103348077919109574969104328951080858661789106110457100903109666910100327108815194167861878751051039779237526107102210714834864653941046591962403698791089201817102067111184071403683991016834350710764884105486634178455810971101600819521676822090206770401271010137903715615510102915250710094964710675396369193348963107734841021101027101010227254009632120095434315521402853763685101810288618102434434106466317024271022510801079107861039363941021556100196699010315410676285922100103118601065333857510831061401067441097661017716048231693829452641004311048219705610210810710841477885658010763954377990141079542005849833208397437571066144102085244579768782064102631060143178107968696527785319417141019676231011355696738035161093316041009877291534900953528221117312341088991094011079949834322102910770376713957901178131031521900361081035707628059851027594175952425622377989952457764210086109547810488482018762738112864598422805651093333101166520534152694610481016694352815610770110446236108621401055107658839081102604108422810421016101949770417958657129106262633257123245825837814024877466475910566861094710040512578987361218671078051100966882610891179111071010507524396830210875022505075980461070565732510240620005979598677704179140158109578148792856121011048461279655453401769405104768241178279103166937738170109109934673040106333494810601848108289299910281100710882810609106137241451016107988101467406054909700710714122241255836413854111093010791087805561072101010610107601101253622214441025934849951014110330105431010927689102603663646737386981010095830525174434410551065900798261502815244980307177517255780210911010536150601096198107811251053103800452629101403256321010909749109516479891026260039102266381021037463410108496810101910170393711052170906233410339104106101010510327464349101158738151353659810567210787085753482821086745792102029910871269190743109101088410102788445173210609299763384872165410751073173777001591083985610704611388100178217345063401012104791010791053073042100104321052408579620547304105376337359810498121748667844901010784439805584639108416314685473210519051045801741363027285545710755789863417817105105935671027101401108510627532224138574264247210235100068579368558982304086105710960166710688104701346852309788967101909330410052932304736105278516548781103465105933629647611009731072310510970103536244330130751362978416143176394210470371310251811068310410892065730043270196310209378557691869384705351027083108910877057110667794367077982102225481032656106679265758089296103424606810758877910676187798411027981937576245691025803118178431022537987605503376037071080582786903397274324826108462223422108461475140118247685410946876624620932910090656045624463071276742471399568211050101196163608236670916504496763647250787744879211028147674426137717517101108249510910854991106101766203190751029352635949353106858365973310979519106804371043456554461092127091879733638978980364735971029033245629131870980137124984040131310270670984077510105398694899316256009022838996347108785734880339891037206091005883523940410110041069079736293375152623461949635421011043382443598236841000518690795106380481042365210216355535573321101067264087410255844882186107010733203102944975679572901016110791010101311032554109467256422488410877246461014558814642706100417746104210696026883810634766410119271002983776074876810010005104462210893110276548176601010669598908210568701015459776084231047601010576390648103015532531100783267752118772110823408981543592610089597291021562774796810410369088410457102109696710103622344103346378304098878328031471063738101056621611010466276310493137688744294208105548058847607837492344689210416109041828022631086198868001097410811010638510914910110103667731088863049372800223982543368803895587648829458498467104107731033748101081010613382941014104109610693370010431082383742719633101076316507610104336429107110050308860010714344068460943401467595822075480635231934894183697787881210173575741839716510963561362580071386359561747103613491014945800104107991357310537718771001913424813421011210196322338104118101241010083059019310862619433969607810267858967554326381020934614463248010282226104453409845681048018906101609919159086498959880511041099370280993335084344109122735101019682380102080901013600107600830379102058000164108436711100544310282087232538137422506314515105106281833788216536032061940108632727269544960102052273460486964650202291024941099108554962610423191984103109547667206226106061086947868100092399011089415710338215552186695107456351036661701501085788610108510353371010910910954204872610542971675029988297330180306681079106722091030940195212910641734369764104508492435310015561410671100101052961536802515271472684209671094593651043109425210921099871898006104429597231097509469721339201002867437744394410006474150915210102471792971493777321134649230106307175995810129378312047310109850294084850598103250818377932436310457685400945261001841010528497378856214594451059320105224106309421919510173427080109775102305949057710285184011010295431058514556949610109229727886861040411868474452869891036321400610855908460787921013162015107101059852710336254728452471003904582339935557358271010100053713610750885979585910295346395409995136291269704106106101051049083313954310642407657380108562058351109048210355507105948861000910643007221037977282204510106379673737247219454370351077215104995100885257841088910642575124241087605956655109991076210118359063131494158203801010632230384304776110100041108978653118064171804731858103459979323510101851475105675768081936022907420933510867574103696410470849814471410317542051079398671911001985740661073110791001962967760109812405567057101054550210106236102610045831087541040391045803391675466415508235520336819781936652630969361665161079598981923100804800085110593107215603320764551098101551015189346830507081011064106106770907847555821091810001111092235871511001650826141020042027823219670355133610189551099066118104276901087298941673551104484411530221710858819705815027709795998591021069380814727971052110870410410794855921440512773937141331014436681084917465751078230202259654717447086395781082125458171010910702105655101102401091091101040355087017581996873193160076510101024310279315473798032610485453909175101001333804842661000544110302510217881063751530505584736964557610419710076081086550031061626552577087658003412733158410303710101010106521719258774625694668327698679936628770203751357300955721010152229310452310104760461894475017555203161610321094906010935397667670997262813425647457863810110827044844191871408539618646515619579611564912240866104211022108806101044881101047800121261299351038556912929110378126151467101045078342595535964945418010424711010970747337325101093186950441067033424680189105491237318793622110401556471094103559256798753998010131061083472986100978391510748827641881041055883861105672533190952690097942710975117692800156310506232105525040839100032438103121504926479063445070198103418984521058321624576338459814161013210100905038539009499100348271101080510042077154010710870697359103521410204233977995105347861003967464358780605250310421771078297944013340510149770540304087636104790010856629318450923891091373105109966204506829825749109973110132451096285052106106823076032487210944107010089050107061266102451018850421091001689470471010214946030214211099110665682648910016716671082616981078617477103942221098245630110103847416576510946675683844464626449311018037545371088108904177840107764687063131050109101188669363858065599331761897212128068061001002100267361074393487745100332101780813925281838982100337011938104425930182966610710773002810710208296906131663093413104511084050814310521012001257872100911638010310025096006979723249139381097650274607425378510471240535974449177110860135259356548912104868135267639173160101456622910871781070729488171707186105183324583266012995106391226474551008616872002246101058557105082898881512101756140898947644488100972457910271400107302108735460927680600190563468391327579352794300094684376891005106841010612148497741061781292810910803107070271073705634210379014219417910251010833253854364635046946391082806709822225420095106921064510411091057626105811433610044095884899321084443978155442158610220513846309878033901905283991091717725057080388963471134510929963159208396641010943226482246063981151049177196865865388631227820831645048931067370910593582016397622610141017109079415854807526984810500088974651100335759410147284106535808008651069957323209270382340459240559072583084747340275095737663105297102875519868810744277010310024374217475108396660092410889990099700544751128828750768353310101065001459084637892851329383810313630778510466110347819526793627414091053145450401044715590081033832008583610085105161084124100044495219210143460663804991028568879568011044188191510615159718853463858726724543742120275605285109366101019506075710228161011720424510657084810886866476840531047870151793445641995732008578810650377049475645378210051074188105237842571017459493105075254771103510106709392954242708861010110485020416336443134810554631095851041963610697327502851006294881091080359086197365659109503881745201832482349720258026510810838085299803142092168956310425157672810510385148425025027111298102439978397104242931087425430410247141091056681610110734402310058177188791284648271036587191096339756210433101004104085410109583213080712721923348108736104210685403908103876104103412747953132124333910057942540874243298681010994118715383469699714509172851505026810105128994104491091065173278676108567093519042284101730441105931389099274254523616197800108342710234854570101010104015862924011091661374843100858739778246817010367691472806548716665210560707110127010356880883105824079109333601718102683372962063101051086645461041144759510173351055205067810714224997463261498037100231068077287301021048810810360859372534731084155753191226410395865253032952071005585033802027928845101667317324689660492641462325470476681310512806784910010484109952104781297104121044298763190912989394371801007168604911014928905938340588111021256592421025410677624051003493728940869903445400253266162856438481023139869275100451078776866331471310696647512860458537291051010546301000101076694326038410141106056974810718550106798610321031623433331507104031001012101390670407410005722993511089207610950045407921061010910111019053506710083710410931067030364153921657147611010490115946625710106478761003143870973158140482449518481079664176910876751032768130630383911493645261052941103011335250406935816010610510433961604010593039436526610715760850146887103747941008101010340101232052353110514048777883974634243309849510560748664810436455107109660391407900891981039579625029331210248467216310989261009544288211027510067292239150616862946108056109265551027910253426410403445910910149560721057726717311048104621071057167581426707144518386285562979535491083725287693212237098429581223773101014424325671039671088188416824707067201083565789244379558411032725511797425008825218417136820641641104267444773910859011082586107179401471889675101096541018235933203249164513188494631088109110186304100261086142671931071669540185109331097410158802627316227102648794409542350438499648736101104103512499329753710676469410810133670580310765010109310089291026530027410108551448221094526527916078274003359101231110597910591029374105654239949706732757018036605525103210184459523921073089455106410849281325771810464139025096337611010001081090810331081099101010091571000588116971461075032128265961101016447410110365199231351511045530704104002602165174543324255271078728710317108060109128310351010100986585155619369742910659590879750131644238329377177703522266081252239610771375101059210703372410924621073999510044151010770510926106790984046110116063100108324729197981031030711014132978107151034282408478628104463153162766762003414874176361526314409026986747105221015542193149712521847719607161673953601887132417343758134256853568108411006345410105725010251042620934297109400296253418292408911489519103244848337837954726211021104461091059671102491165933101022320510364101487961376102992710731380074101053891486485678310819625401044734610102384700904986941018290097387897303499510442366294761610091105710756044295105128846706609723816091791287097349743410108476108910107593052121007990361892687190307217102229807197945103325679810378510504010618380583383101010844585921660394263258110919108101938952863101395821071359491039210401495690683791658110646398153109638626107107410381085801092729735921062376103107957342067001009954806878601045106757907703631010105207141027536773304564910166140052024103101373860222158839211047339620410510911070861075353123519110663021098845801049571035788141087554304002526102411071083227161992499010053101271093361105841310322710061101438599321019021060838891279737940807141221010013381023841510343022510592985620041010152426415805440637098010346381010181242108569784691079273557004306345601090960504774455546214344410819785082316239359781784105651077061102770382676136771479347963617992210110572571078863104018110910062991051010179062876924297310610817627973108107010102985317468070203169457869560471092626610504126810711607857610420410966619891541036932864350726106282607333421079968137101056491005007831052010951272967243318016710242337679106675530729355101783101845044861810346046811610154726100766102410627790784210086822285271010782002557710642010101029892510830808010238661275538101089219581858536240051089510992926108632553549679109108621010665261047684285678694291088556014789210780863509480622463341381036463109855952814104933595769539310519350986691379724113110171006431754037492410103180302197069379106107562791465036104510786568630110731061531661538531351045551085356309600993391268410810751076254863270186259557741963254810208752723737748610498335421063241614920525105581041235010143100732658228109293128788271991552105788911384910281071651738122603284510295252478090773872521098351013644768344100407782591481467275299628007146921109053364417106876810072966117513434881061610108052351034102759045507185449019702544276079259256286937868040810441011009601010949781063332111004629751001310215234419110196670397691055130609877929804610880578543710295607298809110304278261920194573271214973377299220210241071891081052874471031067103964436709101237404591673802629544295448827910121891101017772448410802270393081145593610451010890253465662283824185251672477510219930498105205277964660390015105392308829067610730654716102005816321010822642624553108555182104574165491055377295107026341362456872640988468186641015763342189246310410295580069666794606768103495929470291031087142291064068144190105610413779565138281103756103635120388392821082825834100910331035482612191711585761148124665011108828138669135107216457033257559610100701991066373050353570511234947740649640881186166102994264664032955999571023818471010544412144280979831107924046947575951179753107101104336810681066830100305674100150769744858310265051091716966776765592976856510304104824321031774857875105593691087075497305128357108101076883510688950811024661011025289921084828524261051349104261384910939210915686891909373107955334381071011409649845103743980681068493181051010782883061083105072424461005297275530533610650289110910103033616657321186101047597182090659910059922101010080945262612166428001087390821000480225310667841808300518106543812101020264881811099870771867259737065841509102736604832821047060860104427958252210757990443837189710510782191485737107745292810109610974853293646900585100178273071044844838383732348929105395752259102201499911064832304947409403725643088109238394302851949507871730281010610026809073556535656410741022109898258903197460131989334921981583609107071324398810210014801523184103108126105555042104853271102537117421258297490783010339210730566385922329193277616621039355174135561711325310710370010104102925081823881636569993813826995028571310856551010790101069582672921001732260921410778041025995226108107062969796352510240639791579102001895872363386945666908107610510210218705152755702105046104861061910112783699391005970144114057339109310106861058329936108199006695810847188551022610436185810761333545110854109188210888079859865971010155043948519110985000486808310692105584950456553760101610524279921010107800735213974481040507529077159760133865893068658143699591017804287008903791293915622751031010249075945661011098233003021096461083510098
65213
867371772570159808750819152911056406110108100710050274911995410210973293559988162100581056410234481041101061066792068895316674832621895605534102056012633613429355865068908058031399181010762510110989910575756913286415420693109825127046384271010545102716076485876695890251488983210125137094106160218110793108811271048914610991010795525005183480901178087863313230305816314395869101134561099464109106103466350426103129977964410948974209101642135136910574602530181042096707757267161192317321014345917286905307483252803049598997103810077549809093106510502351062321821032104108851061032105421028065225631066499292261959590536111206810144497750089971310107474125081524360886776658129991902255010471330463281981082210670690141003856818431409612182668427101032086673341439967210510610334710241197847210439856381002154873144863234491009049930796471546881105661576594103781071082101379448105844710913563811034078910134016018451210806891018106791010270796807492140578691075117071692918401002106707106254910556622342610920245486295851010698418280154108685146043187539086778548171099364088621940215901622414444098811186091149371008008739181025647974590717926544387974636101816041245573078349310767036810337436101941023448508106731266111029210225102677118063104766849810781010157639018998910748934262384034253644331017362710733867405539147900880866442310310950295102010891660639510136842510110353124081870846210168010103810910175820706136641107352601100969042909391700491471017110473914363195787070407328369405166919018100810974100190160832562102333058416766950100107652054946808836508522101029109388710674310915656699721309907250926974107109109510968467671102101385410246710581080846708557105424585891053364807344010535837688260440310261838801040121917927441078707981216983100426600211076447379096992156515631022475267856467948952495039559867386790367107081599542301215973449131345036878957912478537593514680078101089565171077665697281023177985104125336318797555210411082310910100471110975588109472135517210727225856669347427522431028808763784891010181090653924475887142786310844916765983603061210511004051129763170714381052034205966640357105225603026683867674229084015998046104670510287300174407211048025931063963683101023211027510710565624274385094988066110720066255910103510101673100137526076361027510592895310667610107603610108431010340225993548041097681060839379978557866109107990210108102968363772978233030005680826796771042941534910964383165757970926810301010482410810278919419499102059610510771461071039102215406210482091108523106484496008499929745889461052451769776085454936555837472633109510824641221076695581098433234331110395210280882692103103338827473517132510304442256274819977572710810893627655910903851010110295494408120223108554785359881862311057638591478041075210970319477759831394415851050003999882804561010100528683102361073406710595892523091988533751810492776547725266501081177489310463201730141071010210543854372183526725114103149757295868190389771211077805281047122943628708310109010598124951039004737436567510010105601039591096202110297679401024513413638671011104817640833001063101510450461001379601028634581940360431021100303775509071166441230977945053481121047251089243010835105050610256796273445831000105126452910911077101011963739028808030186411540871041914194397288101710451484089587276267585780466719287109841873910678141380710238401075514312591403219129701036639467101010751800477297424871105564414505661061095831434131570107131034620997534605282147201554783803202610378168310105786544841004310110417332095681101009710202341048270569104499843100849067724071068510821052310845677393186841077101532261050310387590620172446100105596688469449002810410610848310035710880909443109119020493863108154824488260457303710035352511077905405247435387051073995767109018119616800641561120025801316810065010624912906105884350726042374613399039897104555671474432617540410105276578489268101883223606547399109109100610110711010154410699031634733210699742151063037103826722011010627932510609281719984242160861025030501017103101022285182010775106750024510235387710445931081251564069834210092074449939026110910642105721027116108763567210104124708103591028640676210598416710724171076627385301044932294634107857611546241051002174690133447302706102683781078937608376778583935947514131052746182410410599228164868985577199861270921005431010456307991026852610382431081210710109273085640722977630822001106914359983716251802248075024199535426261943810885213006567566801006727360582716811061291048214910101031061910000869106571069447249191600344593710107107137109410576366838335499247373829715043319111066404104390910108417210465635362102736645055442527403342434081010272613080073261820052885782219656022331089101104715828155900103521005177385080339910223631624564310676567490710424436868038910903105672699421094520810965100242107388590480807095855450409291097810159731836964216107402013104057424810460465107964965688557687099060331105911162829092056364533054072010110623681011077102754511015191297807661918953590170310412107109213262770556101038210012108103761464422819488340369424457254346634978710714537339013810070488778135006483781025101001326428772210300823891057088451072710106640521876949104187114425110332496351019467287666035546655488156628927135370326221010451417247658106025300231105160681604168501100081854505935928104861217288235366291086710610455482360010073101537108460901625330757907361049109576184709082779862125995214529741010109679841979124797159438080616563218420468125530151672710010020834411015212106891103533707055410106176881502515217267586402300135471482789921143501007433578810710644023034906341732681470390608685524217961010187066246726546388607196830336734347756445926005878508109856195847491334677824142747221053103636373691073995351074531265921091102602239660860817682192610690049186710510730323102987384185102152106357481021098904186473918215551024165431801010041077655980915710504817072410078416779598948195868810189100257203251710109869235109113275761061030931099077803815040549110433335650725184533404101019425102210737849049641001032343210506266811058425059741059481993501078037080559148702021957153439245235063710691033523654731099108710997991094979667108811250935389691089234200088906610105444828229320805661009861710371693711047310408937853206078606741071691523840178352502462065774424106720268782189408491019708110385395361010716124578742651710303906510531077951091610645043238211039210064452474451725108044468905097636985179063741086581085934325369353831682099109762930503880602910762100826874296574110604389210100109117880738810708622141050569510310761086067101881023237130561061453910785310201010401094194721101501433689699142488903497510142479714046345247991021045346717410204101910722055279021060012108423758287777640329320851055957101049434124482387110039053010893104963100109418875278778542691941014459117710748584240278108968137097495777073428865990510410882398864372910753889576611242104101620785836078747101572693710208642746486010101637105687370663968109373256483107012387015126304611050263207296321106302035310678817270797794590105825295461076046810100380508894051880618650210631832926107869215302339825541017610518609141010109310070106888756210728972664368688101105108010195008716143024649009044965725058019109045103216213539786312285511662631004138163455628641351022461083404803083682101025678478034272610101672770273013683751047061068217075532320904610101108731048304777618083821542560163384760510710966110341058569017178805412309541101005043001009059710473526131885338106107209379531089089455910371004885530098887412152506633970477726540632810665104361873792488880161100227210101034176716263941087559193108698229811002252727471720181075496965364755700175014441941721114851017574958304346582771910385891091085602427109761041020102926125173480045919745939008641092581027953345510710676763212687251018595710222110771054258858610073841066105366578610573432554339610545582103600523481514431087610186903102801010996331010902167258362262561946106460498565103181029473457109810108905356755370309107095231322341742938101110619736898330306782129211046701030541052410455811054521739553691990556194522824927310104361016832651031116742831099645515690695510584711044767109961102411033109918515108621018750978410710584655051101010201171947866979952261065710923103490405510102304810132881143147910986328739355220101096327091096618269148291671646104433856303562698210724944210312650273210263121058046778214748107991005491010227077414210977802862810719080064142105398427514094758157109792415911011086720634806448510109710037410105850448502805603261409611102176072309686085101092469931181154631073169102171050929408842084291096044615180156955351817803083108104274710246642446028109991083249535240563401058761810312125924172831310073697509022412635894108310852572143098103268901094051097484039305972725100510278887910766020004839925049783810568711381033901001043329516741011168710725378135610227650610120106621019910241003502114310511101439865584865589980617877130207314291921033106740104357373436665759910493818108426473672438110066552068109974448764457489901081518102220683580105105388223827104547056843871638122210795742808700109689680711024843028836162961211012644810949019563108572753889601013130105105647171001275251057187910509068445360741070761001056610564831581162704281443322521064610625757263111047924792904719749829591331066677604110854101338169526817411496710106276087698965877073696104497825174799101035180109105410955971835260831061110810336458456642471057532120103274611001089400104435327458601051044556571898861103065892783895634109581009410595891004910721053153095943089321054100714204900665890926614461666499328144339104055236030119626137669868503110358846369409823522582523193728363547487262106918497042236125307359010710369106264604774124013101907010532761034645146220531210024106291020582311101010343152619711887535313541363101032887715148524273173101046057698883810019226225275535089228099480880210335856063211760298922905601564088311063466081573510610102637375911071166276610258810454099311192884843480139529420242381610208010840834071095055510979571265107486491970379747612501946375585914587731386219999906996194291010410910297104150451041960793547486291075494965794230219934540322411039278264410555914983751068166411007226102505555645910102578711310109536552104912628603935937430834765041001076881045675021121076048551011223779827868108011023123072452701013362347901887981052065742062419410107510622732955293556330953102583520247249479411095718495910108214245134148991011578211096746366102969610804540970341668439634326072545372736668750281192620089268644297759250510903145744710295675301024308341096078904677610299783372655234199654035208339219221010960103831373102825757526549631161077102264101065401026298101044184221210102629010960104991292899611010104628937786718110420752550846202906555899107715626010821036754261071031041044410351810108353991175742259109834461081104491564108463852028732834412251273316779844518295450075226753355909411029666202105533311034847470041009054001722532035418101049654613610774101932821315300102874526871046308464041077347101070810291081965099329525865919741025901092221050001121810214591054503534883979993948650920381829257334994700210101026471010233121479210828485659082143701065536192203941013179103659264109582100108107559845225794760769710101071070201010910890381037347825199877077990310290928110841087980030103161532668948258010825923312739744518801955329524410310665876310105951077039584836723052291068519791061065356087476667343235051190328778896101089594069107402610364256102052579060094740707107416473336019106311010104210009101011090098211952006561545406006068444832157778162105898164197104398368123596562584022727817272615036524409953978659103847910933649101574010722753344411003980594614651482872016210050101015102881668137323787839893107510331008638106409532101210244932235952313019181579988278374024707347590243221036172539310049801010816791035052100107031064974369513228100103728142161310204386803219009810142100594851410691020107201081025398710296659559506552147788260610813294509949599776554911781060881046096411010104065164455155169526724265102805272762017074235961084004308367109821271079713923100031083253794527515710953901365968211610351280649010311038374561071004207065336258281010974505897926561352259107686715849610109386834264098177108581091071061013310264685991953105010204380189498732997568161093956464757102030272502313104299244075631901073169714339419946501056910010733704029819628159510490923802189216434250434961009440444480095634521011021798099100335510809219171356172710108401022416103136903349466944664293631299738339742515496483340714734087070252397110650311071112018310410410938284111061059886487791098971829561943310461024826334772410429010665010045096103655863196274188252936011835658305017722995614772669082105258810651044010687661553810391710533810788810314482109751010919410928623604783910600818651658915553166103331055999141037210769895810110726496184743465080580294161910672809822390735093868010103264616383794332211021321083470774610301051104141456106117103707423798385111027525089297045496971561287763232333280197862376786100474424104021096257391214492910727478379919104205526631038837556114739595437910050276807361102939696108610620992824542673476446994310077431357775924254886237889359323417810796810749208900095949530618955744691049109131035387102042676285108358222254408261105488283755017031030810704465738949128849681810603613246260510756991005171021108745361005184369704166110082712160103997573109478109107475209449371879515746661810697293259503243495910410760510430328941005410131067961039150104537922102936522838553123932947111050181108787955830210623658331136122371069234180031572367676665533891038977265281314404913404677587456102865079319967671916556411077400471050010071010205190151010241021415261965510338771047273011002844847372430641010719659600340136021097247538640784944057101016108160426277078855910710733310014710410857101077391085105639676051752025758154291902369238406410754610112262621061062637377224822820546230341031039981092611518104205100449078035610148887106037536107544051110201094801306694710460888410700031631031010388521543834241061048209926734872679201495031651354041910010575971013101001646210561404401200105325949942130109150089891054089057093419568100099060815291053057427877381010948756210166031108631428108736356521806699398038105104749987510106642746740416262006989468912033641910053011783337110105434640106288115109264508581050574678482521033599461363867321077854365436517419211056141059306235109109194938510610270251013077187378786269716082410810295108237791599005610774702298576101139511716967210179516759863437026832104566182678908898805042910298341102283985182984886862979546639106010953171084869328100743339510141098795104424616975928705301089085067271282106434968996524098870146510744892306320109495432301210695833695466151459470331291107773303498386261590174698608241037004295877711032145567426228877940846096989364444118101428107517489783231043943851238315815709428101074617426410171072103531095660131012107641862769527142474367125032537107760797710475846261135599564564141761089069302869234537068841291049398910851106884984651102192128883105003510180747601024611604923104522943810768950539107057920464104484094360811010650677854103878491509382611089586741074347544610168436153376431062015306533571010770106069220267107104743273910101766105104159339106690157282458847748751010609624764260149414579032415440863520793432095252101057541571070310317663931525673666729651958528311020731071091510857642109788752361534107960509103748460103110524145703083108227740575731009844680243830310940715236006106008091017734413710445991039221010353359771994104856858406108512998014176166891054951010710649366106524428317103468279552748280929835109029108355953646318710161091230603116444320431016710935755910103476431271080099290919510217516106395938854617909150321310206278151025757974784505416999100010039310461260974109953336902991027763996810554884652044434261331212700192922138180584410625006588626968821031082482691074697361086860779321010318236110489127871010002899619106235286049291810892845152210888065710495110313862456101670661029509981081991014923961301066174823523744685765891031749579661292310118801024054102822022104959310540456075900110106801012705770104107109064966210132473610439421024437859627910438576750211065051001530103823034348528707149610785288331087050101810257026159382221060896177508707483038010051720811072532923766168103061153973295127756643000665604507268684041524293810557775944302017929301098983107628201064473184963108092109236421031046939910377410092680850410647126487273848825564353663699741030109434914100067591010510109408108187570386510105104424115703668088910211140834070966358109814135510610112920238649054077682048438824638528331506316107547834106713109871009756991057079310006771910756419101045892129734105841075994702303590360846857051211057060822430206333067558810104419347661097127583591011061791130917929100410941320298522597472567878875108510335406880420551484496551314101027145011060734710785962011062602702271476141021388091048310682544010110600801074101109560410522033808241091703106104910438578287710396278110918684105186858603710515376310623559003828490484347710332440910450975210870806231160959510106654966287137561949579633101071053710399786284106720961048410348855054030563085423718756236010540401952510783101296123101061007101003441789294810010051392802129766848420513883773771037021084661868721091071782993317695297010900971099834196790223891034710957013174310214310282046335510706099626321284093466883324100610014723123965269087221010293410745277234014257810338113964852740445110101078500108104367216861670100503410684610367727117424348310661082910792205386038293736701032232070002310051786611001097060481691053107810584501021076555631093334810225162082109982795321008108801045696184337510101005508143321008100901106813744662550461809495297784976348204337895210068971043277315742438782561033525365748473064569544883513310621889071013810884399337856522107528141091040525846059132129516481015362014531041873032310110402177516891013995948101010877748361072390416045075064109360510271061020070544821539806819684678591027810431054320881096145112405354571106807108751810515778417836816024894810100701610279936810905198235111061028032210582231037310877106659483049643405586910423015781611087328473130443976753872745275242669750166788599476646965241024650923102180798868848854107190399895689334814067662015559610243520108682103351398815137960039860710982065331648029660108681069403468752254107100181051063321041015980650161881028646371571046370236588929566374386642006354431031376106810210448189292107682010050786057950796102104544556656019821007100396283100911010179917056710204401053910691060830101041310101030661010482394991048436029510010460265819539710989309660137175873598447901010827063446910635110639128101091127260042732994660406810172183577810618877892548810990529033493748398797512401008092109680936127934027159112834324877627737410977912472291036104432048714917051023460551740197252061043553329749346231088164101059888729685410775951169456746499959106432715764869462610971014646205733972105616373528107482139012711394026930508101103821204110119097452493810710085851022416557675071857056334101402910795553398110198102951627307671854108101064407102974946289510334737305417617878937085529552110458051636385603844841117902107510404636626438167681055830186511099613101026122524282010543847101053303639175918022267834101081032211046587107790810133663199945882452710766131105102790946610810109410129426263080041952669410710047052221044041867559310980350343436101010994745643270911532106106747599620181056108860524965102153103162361052110121675360014653107641018746763126910275020529194080491021051610199400996006013100984377586510130037388608526510195195264210485215835110252945000095215110060366332365522011072310917220105368328410003547792629241147286103210937211094684510419953382802727887860315982105147478393897329038868741065948910510392471889740449214510691089672109205698383364041910791000921085010437102455977287237465815046674476744101237843052202425574106885443017923719491049621527697818261710010810689101707109760333562386110308011844759808101051128051573512836137376216428962896112602431011045410767530939944249030353621461711345856806920446875103334320190410436101867101372647846009784596101031347450106770649411078910347887155082179910179519900602610875111925165422062361071396962610052664349148782102693766436373671033782003107519594520594410470641941010790157464440619381493010448051090447103658798104104001014540159841001039789925879153064003461663361005204195454410680670410209901041402315310880783031040102705107810138757067044646584456310871241055743317662019422741792051854467411091818610692752106866310551075852684815830951511017879495708678411005566910410101012876541010134151966584522616741043240114410895698299472955107951141928080171001181067256264470234501070457101747712624371716297410103904363935586365914105682920557256751048958099234407316241750100404405310257163791841731100673373356240291006839334602120109725543951228002245233009137177310159226868510109781039654616350146533787679661348798110473998815871837655694558751496977103875163247669010535104107439382739101930076519101401083106621669110584102900099564622301061958881085190153033883333927812425810531103750875637741000901002841411081004249810110101196645142521070651010107707479673510590946467102774452831310101074134307381007109805616408510225609610496594621025599472310101227074752107031970710641009510294510220810557010923618407138129106012281864110608106164022941016911235956748182701672959251749475101080267413536884059610100108381709203054103518109714126117710108730618278235955823710251058602107588759488551296540810188231011470434824655627810107101410977507571818134981053710948105710118394915535151061283355910675410443885101911662010203103909443910263793478108221108373387191087931124576203597109210904873493410570231413907109744094720543368536210823282232795844779010172790299712104754161021570828124431331068881251071410110834387704462176429676316821979101443103562558898485131011921084023587101100404010914973181381011010501038144587517392928904177007910102476610810316107873107495904210104029187915567349701369002405575796104843398244910544269767035373431510539106470264228541693950105869933109640721701612993510792995606668395579310542921246439343109801001034710069231451075966103196295884877938069522857610686789889105358216103422623183105101022774736410671004837107173083855910398991395111402826101275755537085964598654701092682109390064970914106210101055707536923351693110732257119123334545102165762949225353261542561212510180200563162896965411921056601769662142034767010570556303806265346107851257931041000647472069986719549526105510210251102214854781851063628103648158690283960710350293195175421070062948374124383745972443451029000102839567978000410610378304476276670621049321229402287338976310451922104801030310910881015102080675314141058631401076439618810123667661068047130565657060981072105303081791691244787082833089793927992082118610099100107918810481406031010771020473176108061021543359150377908862612283515781063518083080798718310171065140107116000714102902669787866109205108825725345714010225230910358640258410573301302301041080848361000906739734937710201357434166611030811073824810310480759709910408107364180850109922108810910951000791023690315146265104317507247685101679927440919673748130099448421010211134745105410609375097971019658477639673077812110033535401055110106031041024624836495468002747854991095232739483874206481061097256109347940708822519757841029124107531013104431063139158092109882710015285105795364609780104025907421010960159301070157110590057062576151061094793555846991807701075617110581105834047140369591085945869491053213501258480691907506385676462334105713697510057106432621093997933041214467537210501046296105024507804310035775012647407647294106920410310600775971041079519437107872974546285981080387986940899293079055762491019638011081010786284387701091321082534328531927630013456867015947562310876508210341002891588935107629705889875021018951706874306273987062407151813621525105793790433076597174347110391692419857718741319610761098293299007134749102270001042979071083579103101084407104101946248315808106110695163313118819416108239239817126391541024093382410433846636688014646076869540900410658610603954101056931073641067528421880872737265125810902411068719934391038004890587433104850981010175266106195181065104945244622210620769221031455447191065971177324104110102710555685433017940115151601063710108968714178541659115431051049538899927957862605629777230157271856019487250148716191033814722554549609062849106362898101012121371020550588447176710979195694299453132727010514010151225821081056970695538437795171641156731060956436870100103103633110513657961041086410841710346101231084106492862623619510126710217934535422261786426006108661053676106909878510638611192310141810589402710194882907076101816021433085106323127721023580652904676197089230103108581180866109065405010769759410147105475109529680610106910381010508123109105109944761108903248626557107773289916399263497101013110911002545325983007108834141989926743895109310520671094743022360517740663937413921530013780410217101049726509998893989187639580594438877610416660184471615034214574182983873421025850510648767631010275710771180708207711010211941782101056891046132899408320736081934451698770138108186732024479106110289391005400065055878436108102958450228251021597925572118557868772536161051528912396118979267103343910610281225324985759861702553359772106446210932011014710903485916827479106027036210210629033410408015016301556588931005921061000100199602651004262840304725109606027199271039591000586461271118321689710910603476811001821181091003188803436101071073105029421268866438100304511610281010594102126063371054370010017439877910627209808572729697010101012301050317481029135782418699105210010729919021310000794751028192949252510721477127068799538873581558161910249042094433622950214341005280410521091778322004100104954127435958634751810350620553613710405156960568306903023103250110331390258822255617810257747589823930289371985221039026747809043829108048260983479225807868222511027984220100240710732101061358103279649100188927731043211073527554329571915510183310207107810961044274852139162470324926461019380107672539410874108880531010232377921069492338106525675840101410131503398517660073964552644310308391010110496103566464135930233921097398859893960491091003310663057106947984886732349350881026110766572164494537281167751400320572520525415837610962781348105996546245081535750678220933286920311822743701000839610854565378618121579627498335510742777751671811035880100208753871076104107410449740799732325381143150032398383378548100761035103277548206951295701042883968106664406637789898528691071885408105107329714284748459786953641912340421236810293102447707358027468810087639990331222485191083766335993937816174337103996103261039103205101577611910105557937141819884104042755807110337910373977398598396691859795172421966231020771137087106929634081083148210955102352857858108941070105100021004414173352731475783028636029109410106588425923726687638880566304058594310244492438105103213571011080440258606474309311087062276664968516346933181457210951151255623219730234013449099710110310581030495691052618441081754996710531831027104426659530231750160747108306824713108804910390530101037484661053658874710173065709019540100028544104910883101137613377508290104609968436095868171040436855106231059111810110335570648101057630199108729108010261964347291891010559151069190410310932510291692832096104579673873395105210134837736662455079202302455177891013432581073226772348671095452305171108545191059783496286766681029155994110473276047186848133410726103651014031108098396878541831314681204433172010794361803957991010928374299019345162776624310867371553575108430847052185785444671091095472988302116992518368967650494365445100810927510929425114071401059976948809820118049889684910883707032305358541078140027046189684790857145407979981428642810310398460292931011000547102155566231513706411032931241910105960481008310497800760190110961110583524637689831042380844496951020191088551693959105946061103010275104291472100101010795266834712938346069987065956528711974751051007207397937209210007527199410446114279544105681066835697188086798258103102641068781073749210321764281263341851101869170331082984329289924753022536978288841010752772510345055771027133427966371004185403811091532084534811005557840911107172059371061021003667107511675419074610810556233668510851510480609464272481300191048610718327661142590854090511285415901621028609703260375324810937710812118100100971058709064750162103865503020810497648034110244789099011107674679462986410938107162511010611031509849109364105825110036166651058382039724453084153781341092102318720510104211051384596711084107100009552704062898019935610171031072779443212746899215560118880248115400131001041123251086832309392104529146100472205619389384207469081059838871010030539171810813104431001362230295331610297752307080104913209514804108051403880249252958101081822296521010541082043682820185096424531087029906033947661089100135145610077192065811065613143380510813431010656982131303587528176421563134539551978510945695619735100379430267152081519821036086711322107310222402610725518798515968057586860472991033023311471010542076045024854688102843821523277776948409139856723083370224927303311324390267431565528941051503330310087106252421198704109486195104574400910234863847291084576647110231267903370100653310824277042825128270492747442717278939510730358101022602170923549382054223499231013410123278297719216609133429591029106542350257601018101032101001063104051078518835496781411989621043549155411013404490570960141196472913861032975109368597810164500100920537946105946120602838104039491811018382515101023722101166081319599068322879910010707179103441105296102903476720893385729904486891570715421032431810682993380310418408406102651410858337361504101010102704166019100126114418410072677383872110253028781052239199139581091010759369047100041081041152110298733100591106500814146462031061010102268820275910100104451127062290711651386932689610840535512158269965058178759640817760101055136972331528536531068671982723009384172264961072363086167857572181082461892679595050087043199504556110498110890042523049981133582841237107101063405073010165465104514512663219290204110202691042910308115434108045057744929051209329295186444107435803309430327823765891460104486397102552106098410919046031468483735100881060702626111291032419081010193054810910879481010771077208241342252457100105071011002010518115117008631068988103983115728498764198620874197662830458710620556335437723738555162066824294106612780255513551165936318869901905937488743430546791105632105067054081027365970913392557603681651046898730971915473810380368268109061002104004375975365475271091012949394462900391048109025930397925361058657105752131086445910820713648107310923807867410301410944184374210108370569858581034919123721849284789103208115618271025723527246003245767394111010684040731019169763464865221646661230742793270059147453823809420469918609542483096731071641000856157792304410021722762106672506107610921501154109418228715101042593101103122910373319044004402551961713827587319108714200528432585051064033194010906476836986581765666803828109655768910107910988210867384204426598105240479006907642459200731124417910907764010106375596910664356710570711059010797147503400929221019999878514707105523241203108679018198411301010519216940055416117180210158102100466058358545516580914410345650852448389309341021091034366907105003367146697125641058100161538739747616895865835102045445816387459103860155353214441427567000115350399410891079911010015260374101019286151079796510370488900410010105924048705510042030646067610310058108861031015103543806369435312106128728954299554918880710692942784536294210230540426653182991081710358942895889394910203420314461746084807887103748331054176923108832091076560037861364640227267891074644845385800056723310880992950347542174439871310101031079508581090171861021342310973584620344912793310910246105270722338093531031767831071037554974913423336110756934368541079413217048671010919196136419738025927445811002725868510154306224108123610103512691766629791885410284910961828862643998243837010876317110831008133016863293610693931453640100586101023109498163528279749654502708148102410112348905971106562102275510926820332516361561100101053351699156510234730743210610277131623715259921010101196339341124251709335127888959030359776898514522116951099023258443107416610199101042782103101462282410841057848102972100831054436373240784914848894107775891095408810102392426510934421251046170794105525102035084549217610132345248166101039507261091012184169778988171019010331798960210502410636471097103000721836915101096813665511210931032888155501077100725710248421420470760625800504454933550696106174371099590985376390582278159361054770092949108377896034824517764352101200817446573571048444954654035324241098647810528136730737070102962102315625442520989846668578586978022765757095992109610381098525601081093791006837157710106933066523069086010478589363101952325885885661602163538475747600610386102109100986793727610649713053640836040830977171077077801101011043520483806361880410828248574622054827613492435423920710171025478101036793838779984909716103943324397725053648466431092991103249500567200784581239906741501061010101067923106209374916994103248644910413543416643721010391073081267101442221068178857103413681086881315104273089107053776101059050109866840686841031049752409566340320824635441028007639310313550192166561014812014691019830085971054922106521440901971438062562004620748757343102102810128210074100406717442365996482880371045563181891082538100359710040765165669532875507610619361092139113774111531467109171853419039431084206188839010429746119683651510818574921034751628104785810508133183347322010845795598301110559210326878497721837081841791041064965310508357571010182590419410101011048585142734438901035728510235145268720210076791736746436520741071105102010998682101020407069372194106861012553105109585493762044320176911026069781412149926210306920491573693922084911031108902715398747650030435122471056131481101541081091063106581005109837817868520244408944141026271544467883596843812100385083132712777528105100101052939861044928989170296761710920310310028102471463109101062941109542761215789109243682796102469904101041100397768102625257156341027178209861205939648186817868225426020893265221923763419071250123180017650284491102210106859444467844395101049510382479294006730138671930601070776104318033837101451161015016510950104910108443598410310956659102399245502164721821057827549380581941010509019799422558210510992102521022431045484507113106114980766469397547910395107711108108023606445613197780912825552710648594909459554809510999910457065856905837106727910103332956268100060101056421319100001273983600510840421448436688139726948294109150006998108632214008600400811071467758991091340001037660640104002426535131034525200106168271108791408762010016012702631010967921101173234131104771081042841841780710510703732968728985018816888310710767108345062298056882259101016510006632970914102721077898631011941050931129485676081442673180443918104052044708998310883288101703374427155262141049029410410524653108210162149285146755078529726100606935876584649897363210598100105599484710069512087768038691079105884103891061023903795510104490517110104546456110101836589819410831895903011555211093040867760879123108010558510475006184949203285502107897980060377103167017008673279411071071851259102281041076916810971010105961097057921095874178805210738315910416722453465833561200543103287706617243561959108875031046245881410760152371513370773275849157679621061086348162107521010493429101054909109136300417753107105496107117321978106991011067194686583109033975298913180231011341095607661721031041056387809631211135109410278541126231010530372696106956961009735764866302843998954678904816663173107765421710064140086485946010105926728310207238107510591035907914891082889464574484881999435120581011035619291056607921071021010574212627948323710252710102102224031031027081217271082202611493370222313220417108038610106671037371808080176760563994510902291061754007343122139810410947210927503114186151512693906106043853566401809153108301102696948106792251381010369812310401059070452102247461897242647510847635181081067524009997971073010729942425165830386862366675740910431775642804267954348254160981091746208668390994827985521489107110442108043611185410171066892265810291060103660958098638024640531023099556037601076701060108810019110648831101013841089531424010831803830390876450208760131013101109210403660757110318436241110151086777629068479257192570634636591735006871820198202221216330602453247988981044370351347710396683377895101109489916898101706100580690732501212922249357081049650616214648544888058856059709718558459105730376836847303073751418947501048199511021928321051082100106510017801021027894838225292870048093119430657102970988108524057303312914407920891092901581656202734121093501051283620108824821089241046059868254456548046460010304939109828073977631533131244319810100547468610871067943839610109703528335820707260109135642328621431110431041070889688598730254725787132947654910450371727440609380993960198405432399108537810741005510791806161438525106931082535714710405780540810089568917100261049174891021008010375423160522755650029441105118257810664144105510514472961593146615010485604439105669050379106546029273127001198101028152757481005362107602030950971368417004102422791010960810968110100977359367010651545100310701091032785961024422100495820707625010102254724546288647446100310345271953525922107047456675971104926993387429771030611073614551463328162379611111013109816997932061104899910900201069108299985861001459502932510371097620821434746410539800104747381902810255310100108910105930010360153183109210063371005101708705601079927074671474352810041167141024199910054991481060475877801044870902434453281010086240761005910349050779450610037341530269961010691238101064250965557010703620591394104506010029551042811031001905274021228561592109851027667111880338119097449377972708062997515614370109257108463102101896887177510181069042702036107444510183234421010794950861103325010098106069760133092381092222091071000175607871781753194723363391094622646341113500481079342620105265989457834937410791960822010602711090121010645231972286617856101008871508001010110491010632699210610151034340989281711501108489401006136437091010822442731028648609136311542973101094468228108104180767970850000867101071036001019701081049853943430747045107098922674549825162107552659104490863652104010101041006028503101810139971388568981056322462496965492303321032093136947804759251072189061081088220105281821853399107970701040849881540105962581000864556412101048951810257001356381063497101010480169060446952478783591885872108814499801096130012105563510104841015910760220392510442929449059353440986803455102270770210536608328184210223083109410310184247201818503346279107903294408531231101096110150151074180642340539111673295739259917061034611258100110339387480609914077530686062190943071033100115112368320107507075819012855110810103301088024017386570807797851001610100402711727687410834739589824104374044925110211024828658553164303536814010010210595622875788156786907810381071005910799108947205510201035471101584064827316197310652682073234410921047394655236710411287031358459824103042508889121011010249258090600103854228076497264579723809108745209348107605368616493671363958851016920690106456896766715102411850349347568101070146351310103949596081099440610093450111176821021338244210211260195483451407042310648845180810843910198561081017077610566772863506781540773039681010524484827490456265208395734969459102210806902544339541379287457248102547822708741768041072366395814898040386710108533100293910010423240862691021951028107463251040680226071180310023488877517815105042263810512419744647131021258774101157110499686821068990676410234910741610501082524499954646800588522340932366453414959006702046988410232239442726937510528110919076592831000312571432740710188711097909913709483472662041314378299310450709341414810103392662706221487854260103035893937770553034591051019859051283812102344640640170458936981924431024116123109973754066102810724165669883220071068845824187938332081110107106918297140291105543838247101036477517074041927498221042710410993511682250610348823568504893362180145410067726770747103971773286787235874706191014921711045394104161030991834375696927750453259283863011054006418070710193510811053912173051810826581762529279105001093459110272047398701721488151073457268619146108451033810141022321104321023106161910652310852003562010996291631076168782822461471194464305710610222109404216689104048231031667937106455440698451479271017901010632437610210217431221066511005357667990665489604101606809085071825925680735556106264054715108939154291098203690361767547050023229123104894228144106357676310793421008419496135252141066435107101006359525834222610713102115552023199984253229231303950212392073523100610109185704737111080867255109112280934101099709221081508210764647405828810112033464010504133901018105104341068996103210237810432318410808224771723348910388758520650009429029225810105717510541054356381106798787457386858102672866397410077316120446662496299497259302838888855043106096606043439778948215103514105168243586683010103149547476321101068086831818601814101049985734691053673771903104165411015428105105757582478515810104389102100601273610865103103100654850194111981541043288561911478610638610915736876981001068874990242210710895010176917523810508743180118690394853100210797971002971433092790673410281010616901025579882207046526145174531045331087106441087094060102184101905118121636101089672246920101055510730297211014286503004867680605786010451071522515110757883149229010151084721085395163545610698095138561044501003146593186401910280645839111397374017981847111397401260524235741051010491008450165735101003810285624042224247656035488102871010950881197085210002631085805423734210066649482202019103578198110889101007319101093346709298423610841327511058106736995456870811988374419817309043313332101037046946146469293924266278019440504354108810624775264283948460010371102147668769279797238345997862661104367894104910683434163310913606601095010531428925101102248106278956103762106810636944962278894742910281001971110874948533983103974827775100106559484449269161432862001211056106946008809561762001043762210201064765225465253914238911675104411084454001711046069608481086196892847173860402903842568920101103858016676712010410106836266632371088310825574375573073107103008399491888562924371096760029730494269789820056010398251044104108004094701116331843515801010760275835010412582681062387023872617497704606610301006101088025610268101063768107101114206370746472281683101222781581710047742310725562961008841051183963861069010370318273825056100242910359106889638661183927618295377010577321410290490105341042631711105164161597273018104144349184092067272978572238921054101084634360721251013516744074885899345210352923602030001039835988054478110105086475071708059581251308161010104110698272410585427776464411801052106965104368577335106261057104876002110489189959377110492187583287417721081445093996810548837499375210240105589310601083286100512553410642110788432102103462381693968105524727290643059104087012582341731079807101021084420135224027508898388220034339145102472018156637111687551600104325608375170608109411063782744011044009410107824521058541015624550210110610887977918793326791045710101109995932682542810211060272101061099512992252108441001038327917825610701088258530170467695210001998205920710211059983151010281078775904624954896546129546763876542298581109319670410104221746195642817266539739675671497116325485106449953967321307921098100784957422157410104715110462710134080114107752363650533610466108810140295101083106525273960131087878156791048593316833710631091104500210361141007262958521282431006110097828510959591010330100144232289192367591963104111663581146565248176823291065514658184254085146340610567797035062834481093769122273155975106258104980254197982591105010108241093835851109315610038810681749613101064492009214107263454897982958639427266591010107247101835118703092815700747910410364841847571011011892513096657921039679034750107125542036265410565806294610921101072758910645130006311069672101108145206572007606741462103826558681863883810426231826102150560601107737874625177047956259109736104662318355124493001019252918786713411066373105141034034647910596010922109759527166834610465959257989655876402155080103230952680010710037240042148571757652759253101061070108251074103518502863901010600362035422974871101032162260919810242297110738710310429228381079977602926863758789673107442246609554610107310513732502146510545517667292094605466448092708867835597036006003846243910310792110226931322440617509766177901062726989543510961073961133737261176512486047201823622142902891894710286140707573235289106607577239844955828697696334673772110011096726374781043331053842181107745045278096103219101081040237019261099190471010667865107280982102108738631010658735483401052297310331410317697930101811883467418502746107821542818525387747666992851014789104925715689545161504107458640210103266130911915371116300318033214661010528092079103101230311001942846241059044153776381510841037381030415728851000486001021529936588739303218611068910136901558955651141067004870717454801744535437882444032210032100207299182379102214103489106875393210470380320021037951032107165107715445103280109431134364810345451100635410941374821052906402909861028704314610106107110301991010921065409108885306947460818700225594325683393209622924104975621276759109811592449475018061116802496722741100263210131038218170267987710353959328075659933385435041565710403839806468110548141108451080933122581510291803025740735284310500597010104156610403008181498083452101010010935836441031001102121092022301351802581969584727304447347215491307811321011032107033934899709583414781038901088020126474110025552894153191680599100969553015473989601147552371029365410955949271834063358547773510689964825267582104998954044688154581057810029642824885999977106108988423104133598648585816216148010448101022103231004103010245761043451033125534253580210535292817106611020725655327710461010101265396738496426887197836837788212434103096556795662513885961288661809010726109510410823805141610426138982899303109859103105513610200106292717801100409101807993084001063901061001071033083619367310197316715887715398101040388903506110984205712381868456945607662999087865933101946624490103719841201102998904470523100732074910743521977766311072100101010842528165514656094863102788775188772022165340908110591054228310507332110520026401210602721604104201271049997021055491289215137918126859103192910526300314035870568978710821860539417410036511005721076104193285879410383395297610201010625101096782041408781109090987100986101004225500900634789246120032612774505546292410752257886019105219010945692255184755101885108345378107350310171074123605394656807099723638257010101001760785691001058584510298109107530258842376003734063795671096214070612105993090522414786701005245969871104520786910077873166480791466101566141089446476106965610869410036679710101880096610105408953984527981681618995665097324037109953597210798203141799469353098428111202101425282510106107223794510262873910472686779219136811087198989109425610105534160188573101045131104281081048026451100921027508581628610971091089485292025266894398102547139355101007772858757610371063247454065125755069991052027236084621068103679535301014993104710228771084493591954109457185910780871244880108471821106170403038161023701968681071063451091103817102838810757833105789563416151106992841910023110563505631510104952437114573588031028071010682775510128002310484710448361084932601037787796118105539410854015755341041097194641014660201006611458303731016115674471043105337528206106342644610050410024077910400753272062404413172886753228820119581047025424172030561052161011083879180741071010346054416910704481105396772765648610810103595941379903802493541010710710080100176310382816221101072033610387107799933183762250150921407998785102203710705100910077031210103231053761938065327307630663406328100852801010888775941082918267956773846011032105310391864396031002751055634622195901054460298922120110201037989999631017196565210610490438763422230270770311488410039043716893477375075900910005724449225418745911060131412201010710536403714410231090582303246210210433766041026903441098589419010831503967234295994834969966770377863100210135800757283776671310511919610001901101010310931041061082201231725104898799974709318535031791056576656617610511011046106831003946352455103256773322319034181461102762106421404803589112151054504971011094073264544544233906673644784113037101739911015364718974597105032557714933171054583325987499124102938925732162631081093102493654051010997111204642910904056728581862810388646493101092104803230728214411188419859217895381070784065261724701363583910257122471519906201044010885393910672567874104242100838559169654668110501726101395291852145510371310337471011010361345410741505425763303532936610269312105198473445986210028571700235939272372969356648806153242939100127491079107133107107526210105915551031299555343546851409838010370076731165704581009679737796106210775881901816586431035959810100175663912266433987448104224500879310738053484510263772617046891452440088635413491010191235307300444010878989127693203310039108894694106076188689307941013985108021053923001510189965231974810026032880989100103654121010823210637610444310910101004400575189177510542354105100159106596508984213945172106009496103632537100103757479811698199474369919153069210251036121038794719101051010288202410001091010808041077331019820105448506951051000976311841504968729104009141071899103242644100529392104021004432011001088797777041145769179391055681865020106774666761001071082242082918142663692172503985505662828219619105796410801770452858573610000480154975010936158810763119719310607472723964108848028619110896369952668885415101010897887890731050593180841001126410104634410810913472621001029396104661108554833514592801054002710101074104896965944011109967059652110208878108667710810575797241035982850469713449341022910707912675749557751046106102429900525481055092476666101033366283895711431075510990691011410854841019563691438927934914206483610666966305531007100645919621048745186210588049163216273741010106228996217721003010861710974310168800498944339878907686247155981515081408131070118709333857108724124217908747069991089301857115278129107207501040100003091032254791626689302471159509107656560278149010866510561087229021040411075337225378681965103756112751095492240543470241076310481121263977688310872399281641621061061052310604370979491080378070891054751007108910106829782158283510535329510026520143102066211878004139105098852086946107651695081698190610605191314064717064018517109148104251010844109861810109510110415577791015534909344116971002351070058881086258832345107109210980510762894336283289401016410710780239407105022813177992922353484488740041013926691059810440332161100855840310739824168237652861510257261272763098102193327101492102091106016108288524223620978593333100836610091246674400666752034141027823625363224642732288210982511010107368610241044210181831008927471059712930593263783782551453858494707034135361051730105367746997466639610201961055110908104010763364341707531510310170431038834845570201057650261938785268507310155373104723748231010710984655104922025308283010061021065273388101039310004565782811092796780302123014705664943131065818946182815456033704585710786488414102033551226444363880753075431097001108845511014102614574230175041028499199191754810827941035573265100776924802100657850231510413109194512619874046083627032261033210431773108235864233803910057573661093761211015108576861851194539101012683214202151682101035448101103104108732648098637292914325531072608266104660813652452471085019102101046671506310873105168101021105101251010805616430528563310604210338834317007067402987492910272873615836139106039109127571010548555610574338380632158104671007944629110701051092107972376103102108934102810892510579110766354406120026010641065301582531733410100752743234835103471810476446487030310053101810459631041001067051010210399192288104610819364498984417810418310491710045686987293081040259640959011056044169389294512850101775890952135106201001035910311101081961033628658893370501371910610154790349136555051081746211021569432626421426687601104710104162189815074112751835110301010044644210040355013269361056136665020431114898115484252806064410110020631095751360685710742671053100401010215461074572514909282380910270857976824210996403611831246452420124667706679656764595401038125161982907330641533245571079260958330344621415515903961351855785573372748910050244672282810388698844307048255171010126661070109141713310103949029267510555508111522100582941041131795610751098794140525591786889538102648495420460261003798057532958610134145961034108220840730082210910101065103713284399177122739102331074459510101091093306516485431083577367372780106194021625037765105777346621029443581752827769873691102209934476800104551039102131093007105919321101810395107274581181540110372010448432237819639934909626466871691008116813661109020509359269125840326041007704566513349102075109600511001043307310634090511549454008427109102810106239951129342062561040151089644059732383539673853105237972825730716104476101064101982106450110192174027587192452091104253631612546100528799360785101089810163928910632501085500898641032651684092211130688721731106105586437391103241386957407651021023373534020671327766130927619929601744067529525100079108633086078170079510990823604105970287106900097700641951466341082844021050894192410098643550191026859704110395963443465210192082541738756780273972581101717442441082889617809164724995974158101080258616633101497710101005175922883910677902881010520106352898594833842239373343234101290142588274921086775738208023276765136117230335384165737654321770769094161027593110262961310487100531110796740226883102603047107339886629100318281410698187131006554757823624117610329070810893610910526101062772442054184910832645068347310101080010281108310977810426108968971061538197252117890045199102546660949751555829416620252810861063710584533832775071052910057101022109601482360103037096603310757101067448096610304663684248551055119107999441039052973731011071014694556514314974109307468293911815790520104788561457191102124100917674114465471018107922434010810208102106444729010201378319235983419320411006926256911049719710335282410045831089455433836266982232719252728355572007873784547486403103101108032197962848968151065610106102564021610193685746101084006103104794054518104561058271057965012107901038527966910374008410941033604610310247983939167102854841406842532416107480229894461080972314171034627442007178103986751068057757664907106840261086948576309411482041062061033120120888581450102819595900665977214946910102342810110537083932103521021376936270647751078861021884101009102766995010108370118111912774521002455208775342416299427163752410979210115511450320334065729686594941034179475405311070137672744841533411528853103751083989921018561033714142718378068106481857616575510212610914363537117241062952952648028062114810228316278219510766354712328117601031010079802484109109646194925188185749895242444210895982265181081030086310670515203590331059711094424180046529310761060274878151919246976231079980124210369229310100065504044923710341107109210900038163381015037210051448675521020731010677610104479805810341256922143179776677514101689463476093881011060580843911057680626278563302109268747510076710955419660196300101743069145462043210108481626539123527722598235073110011761752196995502876720105596385345105345410910617030101787852974361031081061760351293229105171521066764318177133311428371868210155104723528029509948681011067349198621075963609696239771096980545664715755258382351554398331078512346128741036954516781010176790310080058411028721743763101022594754942841039853106901032101053513088103891052195739401086961166292210442011000471041078261210213180109597104404483864251056889385378610408550207853863946370171077232433420251011083126092810756010867309394497255410335770141081017726405069579103814277911671891430245209020674324491050410135716394697033549364210270501962721010310990278938452419429892846501073814537042887108838730461049662684210310105854820951805048810337047579346210841005011894932250943839626583474397104998581044780210107732547986986108428847109660310707410610623107074542083817109707852101970985951081854643892810055068621351107647955230831043872852075216899883625010710941461034845349103051007613756941100623556376967551900791006409668310193645813161969459651091484206418094924919313301891061861632810108677027731910503871333108814227456601018106077673491927771039321298210723976105050390805699552109351085471043732774388108481601098528386918106691031099643498099798323474115198855475579210881041198410517211008561731010618895101010644102446444286410103054202109331053462286610007970493858104771690484651697907874979933890733890255835886671845201012105510989010591041509250748771043563778919431926983433300499324352210662545539168325334762989015371626189086105881035609633037041104760912010917109307181629111010310543742449510410655998985964142905013057139810977630670466224562110010506502310710310101038398063051040579510242820071111156485661043496085141053869240140531111081084329037523491058433855010727516104331890833490811837712015902917111235893934002108763724010794404549101633803107549945651002084274535956901031911016493313146991991084210101045704511071046673107010363452114101010999168781165042701005723162308190405430112516315410510401411103334893038213198508896249619009074349105105102724807134331013515934121016204616374371017104305255144882273934958044826122104010210150237019549108410453441109107861675452631671488755585427977540589101010092023902589998610615400101010108963451953281410677059199295717940117352108524085102301702476109801138371237341610200704269164106044376959810341029910606534105806739841010488710176740314362985535254541055927170635958927815104610191071151074811198109172665741710771309100593835789234310790101445001089441030440274135395008106467180484714864108483010041861470191873278718149214388596105887104105727140592010968105316110053806997054636490931019867810310674652224404903101182258743010185679424579596105104453669063835271064200932102251010523564587530501903101010107108326101093081001243616103424101416737948215194751178602103551437158731095721349109510308106252994125406898042692294774609528114941001010421032920639748291630892500840104773717901210105289102639038478903024102973107410313388383105510946474109821310160210744818109264872810910051251089768234281024154033678971819278121884572241076027010737783310171653240234214651722169615010846848346700043558620576107079276910567310822579167163202068177779090766351031941777961917762934429509190341034100271072443507701109606056006263949683824046328202768101095678706749523101062653216534105667324848779147904883118163956591033545146394975530682921082393610347231045102685107028517862014057443010910465034222411056963339853201937221052391087938853771751089941086791084722095668782110409813362101008671040309660409277486843256787464073247003614061610989374337255010101010104218926884699607761871037104131110356430401351025364810983361104852329106109454391942081016608801153061016611062088103015046137552699635098646847771468049306979570040541912106560006625536090755991010452115413151051106212710010101481774198108257714019424332705848071040362875681054821049890100539271007587310368850810774100568493398085863943373779531988985252101709949122612910893991030675945107082292103475078881163891062968843589342685905840835240862389653207850534103420781067834924402106721053816109205739310391099010474510931069910344810910481000061143210821091790705040654493056191010190071080992903928610109151094371831066081769878677561425794665092606910102548680103960490267273245101373102075409981517898621028998203100752200433107886295197096168981045459581031710207232359110961624386316336068107034781079302728234235515010931285705740410907345258091028287460181057807927832807796526715704439516160210881055910904806750568649655614111006023433843651044311078389273970409106761083538101036775351038131712110020810108045401055971546423083102652935195090101007345290525941761176363581919562937671868011086110498537270657630725686108325310529911206161823510047496113858028730445451440935649150371010994810617466663939106910590676987661014251899167867108561967100035931027451010823579011815810763968892641210789139149595021021613871080391335303103365014362391891011358481041764017641692231710626368294209442106103311001628107605430104290108686866921059095804621002101202079990872100535967928845795587488060228710584224319712023685177033202381058471063810568425124873510949528941072310447104703888874865661575160355729733010394621035830137938104404310802536223710018082110978781728126248158377484405750480172249600149063407993587029710134092021764109110458062770884010140698402185038031063928800101437771109537112254129098786808269261621942944062271674188164972596894286784107176411010349613387960289954040774681886318042454366181984229794722823274105630801016102088935105931157110925052539713424731271210097101030473679149808036095803307586660104511014288510001010238633397155243105084786985868383192561575356019089746694803490101002435408206409972110010396349333110710588208604764010457659108731080864370107285771010311085511127938109414062986557535361937083604110108016275101085169775186352838956169123541636450345663446273385109515875105746584951423410291589490015102389336045110106139500069102108810771048104693010210951019101041098330729014980681001028310775802650150510708171868427497290230363899063341608108736105514445508653851010958004061103607769040607944020319753216342057105437559981006104102618185697610429221028752907102068102441391035513810537981446800998954231032137338567228610107810736101082116652651381549988814524031021166106110107117045226100481065895102603501026814711060201418127925570894721019155211410662325915714929683904510646391627843440067625579471534961918356417392110517062802335531165010913748109716924100105988605041291620102111063050285510532161461625410952919611011276034372910162150003284510104104495021010564425974510859096565110874110652103812307284861071079739588360162810249103030106516716280226437921010771921014655291244201738333101080689631027443101034610101901042104070559731031090335101421093109665776100035357293248110490100596272579379098109871290178516918508871110808452359106189334357944410010137799538981018100581073759107035180538193888310331062230472831101188659863618444610192301011104258107337143883388984532210348728855165812089368321126587845424630887102056610161680916346789398126910211357632432539905098665691001044105718242753548270138210110992099597380261010075399091432310522351031349146985521057947810381721006102761059170891013141091061049624026453821659245157041038410625361015992104691077442271083509860849928059838377921551210995510122308100863131710548106446891529910355821024274100100037869121027661222741331404933726101072167835480398891348281003910910410108031079294169388407210485710063466877288207552628994107101631706910411014110536101636510617381241510958072115348607591080921092677061107108962102710337157211093379791987505225305171077509076525582542810889991010419656104973926594860239774629610764331010106122199281051657104103032031751108415685881408884310293862678951104104535526542021410377239381072591044591011001134555421015661055849772210202100216128429841495510103810410101101310102451010110111321042142710243210998376610710810672986505826683489110475423531027293312560765971310011010287813210598049109106701293101102610521921714208275061091042787394635987328490304869291032404301010809607101001021098064061109617430765046448021019895578486497183431037106410505310689644648875356310842811809966710982950101021008066481103623547845309541814081010109141070244896119910219452321899335104101101418116667267473424101026967951095690106961006712802731128829527912164641492785783981510752480770399134310751979310190104010010269930777743103041022559104510345349406887304102469161001051871271024891117866817909154665410832772504647103326706837486046754261019376102973371543569105163242971010614891001021027951851046096121941012322101305262014689786020826210310406664645451027601699102810076311316143353310977031745805199937332591029932679371016907108897513575726978251031047362082500807424450104921315067101041083410539183031108895185443580203368601371070810215510365455466681910481397766310105415336978212926510173105914310102107310774624011042272605311016181010361091010453478103151110907110886310963871091059393749140878944944291094979857645356101097810733607152046496851051026949325898103761037859499382562429725101099086281730775342910775247581010404101073106240109390698138335673272391239010494121074764101083351231093463210115221057706421991410195076457538646310144590802410462110309367397040589254648124691531051064615861066766042037938889961039600789106510399975530243107675717413882574010654606610453102204307910435831614577510866928210362623593163778998210686238647151060212646277609438800141410487649892033609227208896005656411539341103577765453210770371569612450266208277439167775310175369620831104447726510975424538893050103344224566103394923766330928529738841074631001883509168598396329310975381010184109222298639445360471023991911107191051081101034277729617584761872167971510378921025108101087006102431348911061623710513647806173421053591024917169942712636640946101310103453739119832607810664831902733015114672149103004223810163100610826741491199724358210751482010187543256510963321047010274146151064112210362129401238533659204679109107734426659062915135701355102100805283531096433214897108159836949310136861091508013101448545108421096756036511178277492103102959915463402103680851703230286813110105404840386523423009001588828610327319588710588801074109097449301097003825110306811016401195276310061486985675041059119471010485326626219763732451083448010724754849897208754799564969539106581054999808010110527947510494510749410182382214452290363413699864608522237557965566107101036556869306010491082859340251051183151210610111146831005044059232901782210325009211010099818995804621011047994010085517062209167450837227236921219413014132173454278136687105577008378226670793100818854285050762905838780167683107793222151412310370610410909519173516450663061046296300348102410494961074199653210546106810724970705789105399366138277521085466295741246899387108711851375451664915479431141055851085011061931010462527472983462011016610766739104967089103731031100614610755410302252241010805467939337871006610466101026751404169033181105975651007929980041061545627717698051952749101074382187640198899043747531096910412353420978104012714194330572395314311048436759157995173341109022234808715619801064947099696210290773854083923459639101309967108126643603710477514093510671073100637410310910101129289109621054057072948071081092031508915970585391043141045184610955652819701078451713029188578353766595143080109237747993559940749148123824966011052531032893951230244132389784166634951721088482947036711056009286461099103440105675931065810107231035941000728483610675811010687645369432237027397710200958342111012912941010785491907464050730576571378439179939881437380173903509004820105543067548635824636149286628005667439121104832831105718357525085621651037595079337904210261533596751026631423310901074617511227810610526877211094010002162729221627470998807218388720871364349240774971081423651540535575198411205104273045338375697450745101031566634103831085913310081521924862557161142107640708911103235685693243116103228881786994048793241689915564105109238603701027444010100990572043080100410995097446933485319100810662924221009231086287981797767151003985363115481059337480288728408607757109889796160931064595055545332920486969820106488706659387969270688049460295458208523110228010289101018310710627108245106551101040710588260611644410293041057126129921010781010024857440341235223058036310119632107504184967104130108586057106048261081070904427741019310028531068106613581045310251043262873810101410246210242362841059447710038312181093619840138694697451034396655194607533541014531001020108669010766101007333326910252124268204411003622934864151060253836810464038735107368352910624608264410310824555706143349304751627448103810716822712101010210182316125358611109107642108914925402375447319410949337107101036344219051004844874108610741842072100675109968845762801029410321054242038585290279971801491708299131893610455169464101003491010778101861891058729716880605010291310625671210216001488101100708610456058080184220290636104010071333106410282774210014905251468495110262109410106161229478759919542410313992103961093992302710128651080662231192101098826834748103188901083007631614210199547340510101024263505691082769520912021062287833185465849657265630310721063277899864967173810739918036810442012512466636993697100076430510118337847253632909691401877231070836472810610660102829975532726103286100930650862810636481439817101023197604653776440441992922675642655950250623148612110002210006911087111554815531184858657109801011635660406531051966732629335710107471010984648421017788807627321263431811372796458910773964916107741073987736829561078909710107810886414238410311020271006010500188489767610851099397764901011010510463962417012243809816105996401766511752774979101085104999341007014335950563962667520280132105398530864801065906945610447961097919295246851029020722473315691071076132635102341360212339054581103101237825277503082510303760593410879461042919344403643269756382810106292788563351075106776555824481517336686748322943233291501073490201066465398791231565013589110001354937853822177274316010531069715527005004282910861059110410998872106110131001964985773570489082667332009910961068456281805247801046486395135697107002310878194640846510542905109410098346561010502023595428685377698850856557420741012830160803782173506108907101022877103209987710262917590779444810959145010493910298672105233793094118906910521068033024523191665236567466022458010221012998964159511007706431010872232558450926101065836780015588344385901021810610493455106287215551178476102610104538401021100310106184985776063108084410547750867589670110142410610981872103221183809404373170359306129410391342835855477810935166516727106107611004870121081010650560460105606110969508721780214531040289372442441119119719981010109639481310601101046485699105107122499106935209321807942694210912384487781030475310091010693582563555073201959237102281011038829197042911325672310710610981010373310538570830302478932565810579105883662716823599858635394860101055910724375110952638092494104646443447063043234880105652014484300510265249821018408042104310010522102089795768873117311991087810951851001104483107920903310466531340059416813910310997189101491021058031074828858562684121001001
34796
591495170824828658105310610258910516951011052276364666101224101025118104835106710096010540108342327888477974331025103238485310350068967107093953810399492081004510801877101842193005105190521533500410929910401045187212807101108976810687914631081080359510063270501008092043109157911033010406031084111304110593940210742021477381099947726610976279295362208400010410104012905510865110104107275421094934612778443687651045859710541085083890164104280155133623214648528319101021040424603911061585275106673384847858791014010105557004710568258910402387647659807103101050536723504327355235834916410083104522110194104201021077864698934682346490310338310775878611739700077048568225192510103068808718271058102191290465013124510610124002122532171569101053061006351092859107610617780105220927110161731285358558449682485402310538554110051248776494883145068232991156039110374854187695434457048109506128425377408792558197201009106226143784953387361019284925038470101034181065511016662515010510500014271083483499919901107781612720468779351069968782476222181078189102638125820181169170910323608102599077883094099359791371657765910286812682938238870728523421074264164104758964741054762103823102954166034441263817469111748105075620551012961072074948291035104947757010472385034904913985101510122067825881926566010004475698702791079272662138288101026167099910061650791271098052105312089315284402203314632510405287231918435903047814101410164208510881041102747434402390711032971310107556307210118574133317102103177698475809122869428793042080358363557012347681241109104742131577076571105710264705399237545418812562020508910110331089895510071600371010109710197105263001203106635097108570116741070101736474637311037136109991101074510098951341009626109231034201035615871070933519453449038024541100108972733354103810424520101019399454685839271003403764899377083306106432997294419476730404330337204766269510101028110546253894636988938019673160109288484651025529081014611342123660763910575107331016196204969042210810909291792103512253022931149813510510092356913310021610810686437016708047454108952485953976107114809085512021063315268700710358957974109187104910091102967847105580310364700377097272448105672939772128271426107039275777813093371838953689566410447363744992987318430345210721049285714009010028626186261097445687070337102154611690101393108103263353564646607810027103500845516976107891123710160510756410941204873020710532170505679109978101790711592702620383082551047310351091075108307549101951491110576310471091038311961066410945100031429310404132170878740561062927866709510582615545100336818497247609557183795645109743701516036757110976004382100847040400725802110088263213205321017510851057392692577001351712710210723361042109914111089271065289514114817101691518706798910998387236083478153310721650726410109192883110431032639999910210961952461081010930710751079070095151660782109898510252440775010535961107496323810478101010028681033410060484847534450936810138152651657974511038342947093614610311243183771201065032071101058035923456142683946703469520521810397827346357555586594822246885991023412486921010818841064851090153141750660626854063811773666920674467186068100273180345814128810777581078673413382505357805810097171043695572333109667741425712949286831099586672167610571019267456636610501857108531563106496852364803710087546661510883472039384921065405094727210529412769018210591045101239080147109811105494558027530103885610153541047195101053430010110227101158537616082827940076542745780019154909019110760714332205201084030541650260359413045725849491045861086589549171755671001492954810356100220018915761472534472976739197551027727885102271001999421065778086467963481025422445828984998764126696107825387733770810236758834947059552373502805512106108460321893101091105433070426184310971666784578723558633910171102716410570697471822510470108717607506695864455739998351801409971085102041002110906914410021038912410109574083556202310598063321013347573010918701049243487444169107102894143104102489681849974764838100813084108431010767041873515813598807504401103895190110494010133107818135364094108779641081094873523791524934100857473897283104274856065037972366910067537077310672100348271941071671101064068912016330109098156083719649387704957816626015585880960911080866103871010321071714866320040079097646671865245148331013791036337316870152968843371697336510008885762387694670842171081057105343103085579854215088583441100278509784110401101062756070310001101654810714014982216761025018232303565030510608521010713673907106337103658373025109323061148612742062186103735022188910440965882012215953058861706310797644109104325706762286031350190118248401301229410449263759267310610104926889575284801014265880107410733258917072421623211447102105732370289711044296415483029130658901048110052163664348548310984245922993231058767644110104661326468876172853421044103051112410411031088492014210101096410083605109389437846127026826744562410890991613820242489235776936369266497990017593101048096240511049510339626709108610269977774104892106101211046553202961010621511072477101131286513910320267264758484904285715356363910035600165535860910171097522272683851018106031718269712509102101687882978102626101010373673134699961312759450103174575982435596281456510188485107119948739735475441035961082607590480393015917368297361575310897210214581076033514108327610871413313710875997453675937109238621158101531184104739318374865110821068286910723920108347942433510541019915107215095084215274241869766309741088019108149713129958551076812712705163424010281020007030052776221010837881041011900879101001075236653491016327510302610833063380658221400619971061007101109846959596930382757154318407114538107903122558765781110458067409506427619231894141084823172526042278823094936710001022103102411171067412019710751260510631087749736282494510219502269896999556917963607369610168338990212293932454710210260510922810156870017899849641036461042100510543376880151047557556556410570770422107683227471079841081010826315717410110621746865501091074962442311981010581063555101101831904936140101043073102105107808250556910235306000410610629193979798131054811833100227203074614106132865475223101016106410601060106610782294468679143240868102747631018705490437413367727818104810902436418254804601283839136598926727256291010113682844101010311059816992949410100610455419187726827733684189109641056261089109365108981066861043869341095991059496284026245133656667299067315798813593399032534105561986534703871077993102870775108363610598398180865203190141025739625378136714691091917410573610235821396450934173021053378161339309704353929101072259510910664532688286910042545107104815956471376630530917440106766190594850797710780801090105398075808228688221361739485099381614305834803035910988270803580591181809184269027810052531043642555782891062747225341087799334912610103590105805972074817873715104516196689631610611646000902783487994105712441076428053101091280510100645567079101041036151057160448310508935026710986147810789310100104766715210651005225961008210102010198801098100506615333024919722585954491090118103334497101971379652908465410524107260551069588210723685715101077671101101083329794209280010844135852036384522163305996510517700610791972010572247243586813792810527710936103689641868217107101245102919551213314102489184410910951101010892739030697811526171094057321761511051010260107844105654100379688424310776686100811082103350994692290921057560879497283976110024316008479502693810184316844157610916378058613895487778164628710627868171042877417853832352800106931098628791107795910325932117780246109052622594663101021845741349410951019874487572709101086104103624115471102513686306009905221029701857960511106108250501084928069794536124109472858331046490406537819106104510001044031766191949824801436997910179103984810921018103127939391378351635715051020331735885257738269110997439130977637351316521070227371015246156231014100774297110381899032264369722143668853946427810210610581017180732907961075091810169210964311356862649773877095931196404282147244101608640910966100558057613191326510371014046128934010463688105802334810311022940744710527635100111010343310100871692837670910133408101091271063501024236294250380901061539074467214654638490106125622652544946188643424480858316100262416345374371184024111210863074868181210614487091610348113108665700103483705433797108101008559108147301050371107108384821011037786914577638587800706351431019494310104481364414618217510694853693516826454025616944331068943309015618029468100197438063825896191510831065984442458310818734914316531792475981056101456310103149810348682720621521949922862211952528104301037562972250291044185998189043410189940108974943652768693103385292030621781911016110941003718101011109651810712821783084895417805835985111801039242683623840631811092390092356387089107549042980968021775613191049210050407103913771049081001079910436984910755947245789994537101956107210791054584872161001346510231711020732309572375605920984214286995584337893571010772380876431633105636110766105026291046352016098213104352613660106811047719106382101003213943357545584486331016887779775845103710099261081046341501662834782759096913758247723109172464897108679737645510588105842010386410082110070416907298107410793608906560903340925610933190510010100337621015328701095610691016920859405656700716438717087947934691010544258100910861001003734710937947246105109104810901000341370102121468768810210460680761030331724299122860410122907594107597138331810261017510482222762310666454571710810510831109510108582383714226924295734307771798778735631065510758191041850101081079161691003481084429406787569672611938675360901610108106276341088014891151046810975177394753123100366241039603555898442151884071016130897138044710102104778453910310887041076509987571946710106450121042676864893698512371041257480343311661093376242242103340371463122551020710097415596830825786106989010873066710210253017510179152381103103093110988332966018838310111257910103475156460215266331531410908946262907731034739645681050821308102531385832101040883678560138162424737381033080885921063892805985480692710061068396605365610988335240919106344173287533381007910100713697608102010126806710794980562832548710829691730231706457210548975110810102437371239124652810860109604145352102510175328974576568342508780699713105106104249238561095268658949685846123104163320231025155589310218943484885541010888310106881010233507788023239010362010481062110106950585110863834109103144551029931776492721422742584210436491069381310410861011601102008466064893121010059446049810455400910351021063109101010681010335557675281410145586934238435106984354510898854300827116031033689451067753260897305521206205706701024103080479489010985864826845646751590102761698102103487903982084381027780891091681107335470828862210310104536041089976175104095101101010210667762710545480891059297167619136478979103938858310910734756298543612233694148310103895610663010910545537210357161056881032420982797695417724104492017711981139601095862019903487646816852101010437504752942110401642598047268104305991016901000718980310495132910104887114145625024026514935468630219654532982236241106101005527732104003484767731051610797304482042228910410502710349871299898557297557997405106979093435991710219171017519027592574071496878691238800862630755570721979710976088674964199599112674871096105694807162154455452364193106810673810109414817613647278394102004244047870297885293904105969966203816714621032067106106750204651044200633101931044911637972296209710010081100911070915146102315207808812047105051280582100604199101097670103610513544510280252746626699104106550120496994094099233991954410880103532959727602105147022163648887278105090399210672040434253322017109101289496580726195821005946106019297261088010941010090386738557982920325028010894256104690315390216523618092430607452164864843899749107971371010026430281014624267501489193911010306839541105101010691010461008108382728400280672288703998031082543110540440891062699674152156614101098651410373151015910939125258287228453210524085734441054533432558111215475104405861246096264136561101067557106792326079031287101835442862710107910399220104879988101535431871092193470371010778510931244105723525434941064048556732102403080367510195436923510014346810300601664187106307599061746933758513923102081088512680810240378449310110951010107910569210162342106255023610257106010101002863106890266108935945537071061099181830686489010567615843799916592107005151059202452159195684762236241008354339751872496477875757997451000820576518810736411069941047661846121072357040367459108507410406314598911419106526610474592326600024252110010340246562121598103595505879739375850451092380482445010810296561042010023813356103106910631710514230879971042761106110471410516466410100918215621971710710710103446101017310064410445609778868526035333132396163930114291032523962053305310769701031933391093987606342293631101016430587530510171678810781020061465171021034911041847892885525467051063686445439265120103936109288772920344570730494041023862781024509117107395825709084858939788210123038104210532107441010325570023287599221362601811096196130110512591754648110510646861035122814910340315491024355917300999501086116497267256251101684931871071001986812295710761063637141121181134222701107229626733295106569656303661015419991874026795384104071644040034810941001429815392391160634206827749333470980281010670300083235919591055615718995770545102607921436635878752810483316079101386484565060707574236771323115162643806398109727737639158500467534899713411015390416771001211470112109045525300105101068910803711073507509584221010094191011805090446532021101212249635230993909491072318636117739555364101051974949466395821329240810341037751031020552629156102187007453086328057710297794101010962704910971042107964106145796810685551010590155433337051906021010114041065169249207259910312010337664744037100587104034530993185541923458152346105562061191088743024604245110031010048396690410744705810049610409810019228710121251949041707998004908100221019713024545381325840576880201107910646330723232084792110902097650620821511044704977105853828923855673224657823299618110477767626210905216314101441018242991075961771091010678930497609312401910108102590521013179104951078843633857009100511014097201098410110302040448101419784510010048108624105710838067794658064986882154809410453101410310070691068903066256784910750256115571084434831042096480102530081731710707776246789398610808941002271011010102578652101010610852859047910654254610254263228131319029867323910891049388289681323881030306471010175237595525018450610773001051071918002793072364208109304713610517077010031010041262937210854781851176219256133518782666485101086801523020782725991076891089584537010108106170968109901092656067681328109882128635444767927733521485000929385610965183792708510622211045538555510014122803956033811458610850733331010930403710670797686426269040108390664523961099910346464411905841470098901007232280785565248701210661450504102568923110491003509227469103099102349381575337677685610910701010410915396483102512411021023540450038191182101931000986108052040871164550611000173810288676021001312108568933739928048136051051277648195614814103665010168141019425489531976030983691063451100410136816477414465528106157298429931034837511003340102040110710611562155049964218856264322508912550091966637621035684208327201020410204566837814706185729451081002450385839416859879965780701056476561507162000426531005426149102994808254923878176771325558701979499742109086011035396523059640912936504104691143257778801338467758183456210688101396508778107459194753011156461791096376951887100196442563727889410283785014101059942301110662371026754710659410751065810239752103085115810048183285105651046711010803610106821260328902226101756109752280291956075108877285057351028293103910971091678101305544684637444321966753195116210077910154347761026875259644104585810855692564117587121943345853562455081255285511109142438210498334494240411037108887106588610078494975397491024406469837102980522010980101816510740705788137105697695629106010080827039322673189104210485566271027777965105366531694538636791090248561007299269432616957020691045749103879724949347163673395850320787543010611640070575010710932710113913785959311056710590452863101079899368759856142380921037621085411041009963195141934129105102730610101085662323550535467026101388071023104539501096930161024105787724464979110006666409710122104077099435619800210152884640101028679810645983417752935661073229595770650117717109917800301097603851024410298630014993788317229578807910148131396305100144313619786257529910920631042910285732310891092661031059510441632778859540736511046907210211037436101000723154323316612207688624010402678561089724932104938290804484821087770319918911046105011289091083122464624596708121055110427831886554456101160108064542910926017010101048493367440102103912332521410310048661051101010943045751082783882564908562515101719351339927231590817165103510382104130063462316228006710881093888034765771010846930874599217310438540899610962938154561366060441108103428209239314561625446210789204162752664909517499774984700619109105287552634103335689280449861710670555810465108395021849794326919510704371051772029119488882104151005580472950084104097203908098103259103081094974127206602310410057431069428994586806861005095292202910933431401454556499342101063369410101941003920006317626303514071880928925101577591621429164681085025538105852804715495106210575111558432880736382395908157449814275510146137420660810191603267071053103079767631010101008103754692371381010537252051615242187488560764874008510697193774221712103060637109444081605784583110421106020111603309286703601812430645448512449577545804993265465265105110410762718459910258100108712005858100086285910605839608304898779034060994492295103671523861386374849259246500162093921043578007446620186500106542157960342002810103593484818670099827110437525101017420412784334984210991026102708828955730786105375410085713761266411910966142814967105742548298210471771108196834102098977775910087296888101800468261410103076978710579721110303877410495612173372576530895105319456210935929777018333708820521710801033955074364077103370421960792810597831665710831004874610109662370074910397610652486886179210657863795895104262092106612677310070609021053722810871050101109100511031009023101101064600714101069103767751554029362240109058311448815416103401301038890106383085816104976172917954105267594398364027884107266675100222108346264144078916101281026739115905121010915446280024343322241001024110760852668181049201810162100107477870401021501993138213297269333101632749147404661106595507486280540557100851209406060581546110551366621653994977911900951075933853084323273830261047125827827810104122023024470268489125624208863428664550065967040740569901015101085359999532472510131010827333310169910101003138236431157095641285074235405786612820918510558578290610161070729258866585866102210131628649196110396284910200706982055831317910221650776710246948599818479710686328573857857521022362177744472407976810754279374630348782342210519767724610479064410560691010829291011325605695914486476775193101010010130422535585650465084819979896946284905762812710022761749475103493741836530782401001412151410434475937082948107395466030885821051271025653684734487710876506106283387954105102037681687976587210418921088030810858510891049878697746637995595210110442000651051942104110984044743610568646860796353971084518010591021080747404561172106010489828923073925425710868281228510346211076496583434525760030341315862801310010896109367174535179500557598741051929631074181025410103232922704068243381941210610151082491069963545445763982842292105862227468439355560877322132499724297387765306531558510310295539341110106148307866583251091010945789780148755751223710011058503639814722867692466632910158243929376488910559481019750810311749980768475210988610945212268494096344799376108040631100348414268365592100904101010292461215968101067964108383506710446894065349610331039102615374757798613940774910769191063103101061063385481447789121810642761241104114200001041882206049931010460410100276860109447126148102724885542105606261612079108151077839778264010716865010105388101057254103308101096109698631632984897486402051053483010379917700258101425822464644853804386581089085533180588101695476217781534062007983206353716559383410909094206551011209528092420200874621646778227399210414615074799325346120491092191010982479653426510507109231017738010502253696109406108798110616101010920048257486756800071060103142714514148471562410777821043810929465040703851065610540103838931023877181194018710110510262131010110100317582310474872477606876382534541010416897710310710633510254912341018574101672239651010971216137968756531011010985010190101195610109520910248101010148410326081061075800103388356491786976101061044551048291358587052106366581314097126830716707206338306810519251785571550146218811068568684095103710401192906093510286519910437170980516876427947981051808471273504109376451101109005616511094260706597840303253911047701013556175460090811052484592248110081010211106180819610847457781034679536751590897102580241510710510220446049868510210910248177966717433918030323147495110786625757973429574671110299026329107727291010771034100961035104895454169720494206872721081824102790127102443605323588101032481353930568975947050391010291027844308106756437795586763105106499183310801071070410753486636327864860651087841043891024501101721021964232101105210931061690517104489734785199106034562986172715300105451028454103609109234310548104040107101098586517153138828420107104510068007480031598795621618295731105368105193301104627727591123510226410033419999086291439495317413105542558219107500104856101834310545151054438732516244655861101469266647111028401001138510650655905431947151251066010106924102884760622633816010794297688426848210788760086148627547614871279671021647125633007211041010491001033901005891910108242220423883265286748104397698835366451402900271015201041843347191056752108393115329807356471010929080271010106105106795338410210110021055766873669923814209652621001068615153703598125471055301006106193610107451539231105810338748315027681331062519741100431068859510350713027973376010573971061051097100051261029461773010506810171674910556089495659306598273440624147094259536213670851095975638254163897210914110286503321527351041499955106487710049640177106077349223830314610116107632238810781010737969267220103126918722885183426553106510253667661844668899109755480697347049322793827333456850098721066100372100298651085059721015433159427272169760461040798692210027203436899631015104100670510068771088231099840012810109731041080863387791706910848050094107021004010715270821936420929106902206898106599325033611042488107681097148515910310417447021779450101110102536664765219104520751462529101053096257548101036447695102250936310757911316054341006328913810209438967578054791413013251453779104100106491726116335910109101106156865785106895217017166761905771093330757546819109153522160265419107109852783162108244470111083915105946381005545584268135511342010303346729108817392662405921094524010104140834109409459181364108180204133723921360815233950597404576466021094950820269996536245737211060004115188571063041410110792101121688721067239107521098105112609686784549629453824951106910441731075410410110372725710906191262920656023246596715231013078734801018328828072063113326098041049727439732562979639102748622111299563142792336510830116271841010286349855710519321114762337010077669123510937607509885293877161922659174670040635963950776714924100010110233391071572108866953177111095776754368926571031082996104787431461746103587786922490632210911010297559010410200631014210210906362012907318187510977103438211100110859203102761024246741423880308192310105441088763107744485101133811103672701571335519984936109159369510591012723959729692381011973106614073417853111345366312318144355444101377545801047213705172090557786132101451872504610576031004251568540101355671584107010174117947373710322540405806935918003737559010610842187746004262805642606274019960569610729232316396108491085869296736106470360455161004899631039696003710109916164705295615525337942810966100106101513292228915105906514662711044533689108101842771497359311079010400879810003450819108251010107091462707938761042748592088260588292393290181100830954006710010772445610110648826101879571072634001819760546781069680245988993911010268362013415704101105431324216581121013054104101073010196239491006104786765253033110384677256108411769810613078258052121319448570663651041017241533581610534802441032410833311794101764899892102201037103071542275680746797321036007178303546418110660814104686103071006223311010474218320598524074735035791010972410576482565341716101010507023484965481210102900759743998467282110435388267721232053338100217089551000101019527592569710241043593101101364419491009951710676224871037681219940847862066983611024511092707545559168109248109708161044984496104564334614065038110764810741074710764503050044105356103215133829886806717133955108560081055108915016710108534867601071050601095901061410797292002217212104661016105828862551005539301023349461110373153287278810879202063533311095816006698992213451109808701014510887749041564721038310891015934718105145103447980110497820736256237892699681091481107459876436926923819881038439137631405045626750210230312107515520105110681101110053805029763593500910103109906079074974497492234126345932919091058210705494139257310107169108475318662838498178543311075808313866580768681473020510844944250341267610710751091549877132902128100410190977897463778200558276951645938289510231010933668722544427102482430116733251502239053949186246510736439106810829627491451073091661046358101019404210593759101018141769911503611065599416031010494125560031042465100348378945680368981284511100895564129223886058710761710927521056479316109231025007899515674106916761809661514537539762054101015160951070255002603295169186941098387003084671009827766028711023371102310710104420811514415021010771308183116644461353411381606142383067651272102071099962532278023400169318504282802781011010963981003927973271167761919286872008335958315898789390517917225020818106234125109800737442905020980755636564644842820322146643710568111110710611086680255798561543911001010446226396559987351669966340305707056812753558946315188310618448965310356525917101710931018789510741008410192115086141061027648880168573005323104723170052110331105993940011088181027257211472239970499823010593510105340246558669488104618855127173479522000109949696281103822928480575935510015108610449904136567397521278615348453459329836397385961109331041752870710106461485227930613515478201066248241189238083427294633102334101079010017154206811510633056077303902233556414491078103972155044298871064010682889061106607584332831233743199511014375547647450109407086370169437110575214115128102686088414107814457901007954330271061045210077641679808510993209100893020902160101293101083161099401073476381517164442469732863391255869434034267089389144059171695322951081041497671356008739642058827961062101199760866413902280985022261134104101089504260841051023346109263210210928105412040841326798610406101040263561451016910124004191076691950381072035829493773646261398431381035755010710825817610794291510971764102100271041825101934063990290101070510101497648732582488096610144198109280111702398126181611180493904308945610448198215591019675791012108412516274058822103703742581020833191110111067811010644802815535711946527421009693109993382279103084979971086527171107145213617679950104119861478106810961303983515859703877037638111075308518182197947202388006109919566106721091600818107826606024958994110510026772910235867871362086910181051297814120389847096530948328665168448044104405471043810256301100836810532710433597307773087101877170314165079806610902633960641021791052596860385314796679801175185998459013105829244257108100291081034505012440238649678690873833731548011681047518942736585789899739977187662905948836827542730527633248610433215650407998279597750110142324601011809670572692235531028107177606724769701642709153930293204896810455292300992143375187190575107302670398698592546395106686918310469811748390324706644102755448998477421078788870775073207484310195141047331055842001055357057261012286004886101576026100100401105183649107781034096210184275256959706001010065106105370547686080073487984103395710237896814106107100209210522194764523541150837110408710510514911026257244954815981329844936563022044910740241030804615564777226268231032222406143852190545248018926091085915359425089701081096061082557500569410979404930891564211353173518412532104310746101237106759077147759020607812463997179020955655164854350674185100418706387791011650601642303010988005661000613590487810969108093530811057442962061223010406106473153469452497441810379858581910119091072221880796339528838101372956068109103510071071042241898646507121101259307003978104387366107102684583069865927111010422975017211069104550101045324500667952116502810487423896006769510244994362358106101707591210510401010738981022410098590356104946912907715070031006292617665061091210100182812697810495100010681559104523799111998468610131007514990891098539659197518585310809977927401364614302173636101907497432050857658400704610256100497468099448140837338489460708110121068510107108521711061493059107110351001041101035741091066107388013412679379355109426108910455775553298513110109472558517142050962010451491069576106513940438284294882594893551160610801004697698079104966807912301040189881110041110261321869101089486830961009348159458574015810101349592410361919106252105112159445136970541086101261059106058075427408106105982693188661013229101239349505758455100182058495368213672960425427871032510832039110274825711036047103166197210198788915234115349310105093957100558567671001217116323103765136110107207338110201177100566394101762610435831924240295201011622109859671846250294102171030970179710532245289345007108038401010110109179810781084636499391045232107531108848865747101838719070110051056763345786258319222102041038023828967910510585132545001030105727161844821084402655851139167610167687111049250910636462156035293827014308756058300024596781347936406885610945310285373067410527180107685968673910874061126594662679016473536261083691090852369751100128411952504000524440766582018511674670815903910125534763199106109015718968424105110817485610642011036001014362249104772877803660656210810286858110172399822810916510060137826181671095957845832100744730815583427320852045671043996798914601633001060476803377009159536110670448110721574456143256111043410101071046038314260841061043575802516010282009865592299831071099050997480108525778942408526539636010663863851071025267532971099431092504179107507093831046265362628819687101010281426918935510534180094106073818283610551101010569876993328515447306849410558431010385846810147510610429161010810695108784861036055996980010274449177989043438097987620282871868062830276502696106409787451967691058133586984409106124939001010401027801093067298851062927904503813367201035101843330546103507045330410894951021010637610910210926068777733103698344950589659481862747109603988820682857102178710218011058408103310335513844711785791021084591101456185870275710474760391391026739669361260783957106921384408151210091058767963006018496807958191040473998710253572271035188318054310189564834323086857897240380829208256492104018747428352225460186106691404445553204710483312798251106413313639617449676510062210023863590851004903077104999836583778140210107888352161037598292907649810987215109383611011053552347560810296237209676490616178106566344101021010449010334105724504920777371040549106103594130875811067934410547321645671513260991041095596105110814940511013232827454592109261000109108325060029998621245814612107223861062385497217081715920110415191038000108702651919546621877712651787698581022991478676539111879982610251000631981091124006805979572911465224380198115810521631042910101000194201067177777225396260451102371969102785351054112621002892862388592917702685982829273642106537510302510758100707114875066877627406638042869529106172697328316710841038297931051606475725781787571073113274361053448907708101311105124103782863718752971033098141286871040108109518431057092101024161037365666826257341117967195908156156198961715106916717403817741202105041026621058983711011266101045908124348923619336010700300970254756019607510067736331697674089701040471591079377428811000586830713721304710849751501011410103861910918085582064067042311048102492859431888241071722409823236692410439976181486738165841021011161100552964810375748811108507204405105994436922410781002328418400410714710210558349140969810845156941718627617317508394147790282311057105708870858452208052709471010734082365106910521043801714889102415510133610865105768910336651023826103322015622084051959981917810852071058992655110104217098241209292347904103143108058991898221099406231274390107184100710694871786225421153830343003735397762854591045640449727890395100237993210651066480987661506270724103706942800616810004129570153669275177410983511595105875216441041946694710386993891040431057748490171031038643810270100104760755415033334877610275039948107104644103338651049478538612561101099532359010602102949102367101310841071507760105103710591045406810664530856107062470122739072619071032253696678035210016197703592304903401034253605261578310701097898210601055101011138510696070469414571072110869176173401046197471102239246410010660010101895509607719477745095741023865107400403977556451029872039106119861912270194548535085101003010107562388672283250106108200416226422109977044597599106649650925979707549110366769171007883106862779437622110419410646510210574261382753974181309431101591051092849867647363023291056337510666140210086110080523271221963361064910694396731616237564901810606109955206177100101039168007815581951000700578102018829754713617862743982107980784624952525584461094102681070175721061215444028109608095655107904415810431005459426497325091451010105110100817351844431071082702666343521064662711094013660548110496067297379968845107094871101210900652021891104096410943107152111046563223471039229997781047310559404710151081495170141536805561040917110712112788081981090101473148238829804557503989969335608105150250810499483791651823410015390860509927829488499567677836228104144080130644101049809110104087534715811610416940899093080516108621010945718987177910636436438998102266179078924956496612614571087109408121030910906330066441013910112286481596833310213567738855210439021785510911081061058367571011034727724881896784711033671853025095050348463208310572564703501010130520010187874722993101410833084751030586210604955522405715972573111034775610510570102636510681080371004366109287712801093047222250107364973191219885205938101128241110263110782843651210801010580491871267310866391510471037390625595653740190995106840583367217169106522328968010511012661349886076510932231010811054050807107105941810066881747351439159953461013063885540094030811040100068125610818292821101038214103071946512107888102351881294821054432770993853027104794810062991321210172991042685162449761800810910496183665385816108151072604610101941825563307954468406103310551068530441040007775079631535664248100568810108231951341038101783834324388820599710391286131001035510110728357741002513547371654961130101448210261037091335510471026454894458565661194972094379638619513394079411077011761610102110932386456216198371027654781085088089510137995174398721237393210562415710683959671060356729545588102555108767690947121018458730373708609710432922210673108205247557141005308109533820522910222564398289968051100060855106599461312121177063110314081251110091009802153710614332110682767773105447265851020239865498481317468110893103831021035510054205625117863168101087762381860249511010188510904643410048310094210631370092257414959801005063606476598252107109475131086871249347278724421075041104896317917874359889181012683011000757083551104615987292100016862200839075904104688639342310410647593835352100259481061367183711710593621066031204215985994766774958100941571087703166675368724835514891319610641845010201910910213598104510678104448727926546171301448421443105316181057136280109988943493561945649694609128455675611061022886643772000810544419138106203742036933431104238546103960101507341081617955571612392162610586872829082119097188663994776661096957581008101129261050185206127910890109064758699721087087899139865059111021822684545807195374033849702971030516483058646878715198856292310210510002710737454083210613661010106660729506544340541011891069274225727010723901088108443469257005468804821141016535471058915758237371539681109305202441438688872708496645911977105114521020396373945512296106024546046210107995154701072429707583958110510751971557061030807241517150875378105170709529190310110093486436809256952575712561089109496104981035067618528010452210083804570842366491824676698102785354689100597993210356591712991966108174873173911010630664369110756430247010231024510874082311011107032181028614844905645901310786710261682450779105410101612147020033101044100977706514787108707010181629745089812377186786069971041016670296861056101481010851010436115733371027741571057210105248255765910747586889582292741589068200633235126169969810780517497992574843640302648195219910746220186910382491191610970664671010674037702110105932571018745271501252107984610319141010410938101059870704771264259261392006797109340107197651090105351192050445043087321045300091066262857674200160158671304106739854108094603424569804347982615598342801089301084771047090939806778994909747310736913393101048327101725261046701971010836665803710141071054482624477580066451005318100380504137310110270061090108396746104670021086340884406897131093685969793848532494032107110895431057950154327102933068312284589137105145510852653910830948104954690441075478887105670101743257414170900566794801001092721254038285975546705981031041063805367892518251010891535331083617885141071377739341144447470478445408656581543310193703933183841005229396969579870520623141598368581810586350422569957971404511016100174710855000216858081333560057108892033446777103229662
# 近视的张浩扬
张浩扬和他的 M 个朋友来到了一个十分神奇的地方,在这里有 N 个 柱子, 对于每个 1 <= i <= N, 第 i 个柱子都有两个属性 : H[i], P[i]。
H[i] 表示柱子 i 的高度, 而 P[i] 则表示柱子 i 当前所处的位置,题目保证同一个位置不会有多个柱子。
在一个柱子 i 在另一个不比他低的柱子 j 的后面时 (P[i] > P[j] && H[i] <= H[j]), 这个柱子会被遮挡住, 也就不再能被清晰的看到。
张浩扬和他的朋友们在位置 0 休息时, 发现似乎朋友们能清晰看到的柱子数量并不相同,在他反复思考后, 他认为这可能是近视度数导致的,于是他询问了每一个朋友的近视度数 A[i]。
为了方便计算, 我们认为对于朋友 j 来说,对每一个柱子 i, 如果有 P[i] > A[j], 那么第 i 个柱子无法被清晰看见。(别问我为什么近视度数高了反而看的更远 :( 问就是异世界)
请你计算出每个张浩扬的朋友能清晰看到的最远一个柱子的位置, 如果那个朋友一个柱子都没有清晰看到, 请输出 -1。
## 输入描述
第一行包含两个整数 M (1 <= M <= 100000), N(1 <= N <= 100000)。
第二行包含 N 个整数, 其中第 i 个整数代表第 i 个柱子的高度 H[i] (1 <= H[i] <= 1000000000)。
第三行包含 N 个整数, 其中第 i 个整数代表第 i 个柱子的位置 P[i] (1 <= P[i] <= 1000000000)。
第四行包含 M 个整数, 其中第 i 个整数代表第 i 个张浩扬的朋友的近视度数 A[i] (1 <= A[i] <= 1000000000)。
## 输出格式
按顺序打印张浩扬每一个同学能清晰看到的最远的柱子,每个答案占一行。
## 输入用例
4 3
1 3 2
2 3 4
1 2 3 4
## 输出用例
-1
2
3
3
## 提示
对于最后一个朋友来说, 因为最后一个柱子被第 2 个柱子遮挡住了, 所以他只能看到第 2 个柱子, 而这个柱子的位置为 3。
#include <bits/stdc++.h>
using namespace std;
#define out(x) cout << #x << '=' << x << endl
#define out2(x, y) cout << #x << '=' << x << ',' << #y << '=' << y << endl
#define no cout << "No" << endl; return
#define yes cout << "Yes" << endl; return
#define outvec(a) for (int v : a) { cout << v << ' '; } cout << endl
#define lowbit(x) (x & -x)
#define gcd __gcd
#define inf 0x3f3f3f3f3f3f3f3fLL
#define infi 0x3f3f3f3f
using ll = long long;
using pii = pair<int, int>;
void solve() {
int m, n;
cin >> m >> n;
vector<int> h(n);
vector<int> p(n);
vector<int> id(n);
for (int i = 0; i < n; i++) {
cin >> h[i];
id[i] = i;
}
for (int i = 0; i < n; i++) {
cin >> p[i];
}
sort(id.begin(), id.end(), [&](int a, int b) -> int {
return p[a] < p[b];
});
vector<int> stk;
for (int i = 0; i < n; i++) {
if (stk.empty() || h[stk.back()] < h[id[i]]) {
stk.push_back(id[i]);
}
}
for (int i = 0; i < m; i++) {
int a;
cin >> a;
int left = 0;
int right = (int) stk.size() - 1;
int ans = -1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (p[stk[mid]] > a) {
right = mid - 1;
} else {
left = mid + 1;
ans = p[stk[mid]];
}
}
cout << ans << endl;
}
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
# 张浩扬的手速大比拼
在很久很久以前,张浩扬找到了一颗有 N 个节点的有根树 T 。 树上的节点编号在 1 到 N 范围内。
他很快发现树上的每个节点 i 都有一个对应的整数值 V[i]。
一个老爷爷对他说,给你一个整数 X, 如果你能回答我的 M 个问题,他就给张浩扬购买一些零食。
对于每个问题 Q[i], 请你找到 在 T 中以节点 Q[i] 为根的子树中的所有节点(包括 Q[i])中, 有没有两个节点 A, B (A != B) 的值 V[A] ^ V[B] 的异或和为 X。
如果有这样的两个节点, 请你输出 YES。
否则你需要输出 NO 表示没有节点符合上面的条件。
## 输入描述
第一行包含三个整数 N (2 <= N <= 100000), X (0 <= X <= 1000000000),M(1 <= M <= N) , 表示树上节点的数量 和 老爷爷给的数 X 和 老爷爷的问题数量。
第二行包含 N 个数, 第 1 个数代表节点 1 的父节点, 第 2 个数代表节点 2 的父节点, 以此类推。
题目保证输入是一颗合法的有根树, 如果第 i 个数为 -1 表示 节点 i 没有父节点。
第三行包含 N 个数, 第 1 个数代表节点 1 的值 V[1], 第 2 个数代表节点 2 的值 V[2], 以此类推。
题目保证对于每一个下标1 <= i <= N 都有 0 <= V[i] <= 1000000000。
接下来有 M 行, 每一行包括一个整数Q[i] (1 <= Q[i] <= N), 代表老爷爷问张浩扬的第 i 个问题。
## 输出格式
按顺序输出问题 Q[1], Q[2] ... Q[M] 的答案, 每个答案占一行。
## 输入用例
4 2 3
-1 1 1 2
4 3 2 1
1
3
4
## 输出用例
YES
NO
NO
## 提示
第一个用例给出的树是
1(4)
2(3) 3(2)
4(1)
括号左边的数为节点编号, 括号内的数为节点值。
对于第一个测试用例的第一个问题, 显然有节点 4 与 节点 2 的值 (1 ^ 3) == 2。
对于第一个测试用例的第二个问题, 以节点 3 为根的子树里只有 3 一个节点 并没有一对节点满足 A != B 且 (V[A] ^ V[B]) == 2。
#include <bits/stdc++.h>
using namespace std;
#define out(x) cout << #x << '=' << x << endl
#define out2(x, y) cout << #x << '=' << x << ',' << #y << '=' << y << endl
#define no cout << "No" << endl; return
#define yes cout << "Yes" << endl; return
#define outvec(a) for (int v : a) { cout << v << ' '; } cout << endl
#define lowbit(x) (x & -x)
#define gcd __gcd
#define inf 0x3f3f3f3f3f3f3f3fLL
#define infi 0x3f3f3f3f
using ll = long long;
using pii = pair<int, int>;
void solve() {
int n, x, m;
cin >> n >> x >> m;
vector<vector<int>> graph(n + 1);
vector<int> p(n + 1);
for (int i = 1; i <= n; i++) {
cin >> p[i];
if (p[i] != -1) graph[p[i]].push_back(i);
}
vector<int> v(n + 1);
for (int i = 1; i <= n; i++) {
cin >> v[i];
}
int dfn = 0;
vector<int> dfns(n + 1);
vector<int> dfne(n + 1);
vector<int> idx(n + 1);
function<int(int)> dfs = [&](int node) -> int {
dfns[node] = dfne[node] = ++dfn;
idx[dfn] = node;
for (int next : graph[node]) {
dfne[node] = dfs(next);
}
return dfne[node];
};
for (int i = 1; i <= n; i++) {
if (p[i] == -1) {
dfs(i);
break;
}
}
map<int, int> mp;
vector<int> pre(n + 1);
for (int i = 1; i <= n; i++) {
pre[i] = pre[i - 1];
int back = v[idx[i]] ^ x;
if (mp.count(back)) {
pre[i] = max(pre[i], mp[back]);
}
mp[v[idx[i]]] = i;
}
for (int i = 1; i <= m; i++) {
int q;
cin >> q;
int l = dfns[q];
int r = dfne[q];
if (pre[r] < l) {
cout << "NO" << endl;
} else {
cout << "YES" << endl;
}
}
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
因为 它太大了无法显示 source diff 。你可以改为 查看blob
# 异或和
张浩扬找到了一个整数 N,他想问问你从 1 到 N 的所有不同整数的异或和是多少, 请你回答他的问题。
## 输入描述
第一行包含一个整数 N (1 <= N <= 100000)。
## 输出格式
第一行输出一个整数, 代表从 1 到 N 的所有不同整数的异或和。
## 输入用例
5
## 输出用例
1
## 提示
1 ^ 2 ^ 3 ^ 4 ^ 5 = 3 ^ 3 ^ 4 ^ 5 = 4 ^ 5 = 1。
#include <bits/stdc++.h>
using namespace std;
#define out(x) cout << #x << '=' << x << endl
#define out2(x, y) cout << #x << '=' << x << ',' << #y << '=' << y << endl
#define no cout << "No" << endl; return
#define yes cout << "Yes" << endl; return
#define outvec(a) for (int v : a) { cout << v << ' '; } cout << endl
#define lowbit(x) (x & -x)
#define gcd __gcd
#define inf 0x3f3f3f3f3f3f3f3fLL
#define infi 0x3f3f3f3f
using ll = long long;
using pii = pair<int, int>;
void solve() {
int n;
cin >> n;
int s = 0;
for (int i = 1; i <= n; i++) {
s ^= i;
}
cout << s << endl;
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}
# 《教父》家族关系维护
在《教父》中,有五个家族,分别是Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族。五个家族之间的关系是复杂的,它们之间可能存在敌对关系、盟友关系和中立关系。
你需要写一个程序来计算五个家族之间的关系。你需要输入五个家族之间的关系,然后输出五个家族之间的关系矩阵。
你需要自定义一个算法来计算五个家族之间的关系,算法的输入是五个家族之间的关系,输出是五个家族之间的关系矩阵。
算法的实现方式是你自己决定的,但你需要考虑这道题的时间复杂度和空间复杂度。
## 输入格式
输入第一行包含五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。
## 输出格式
输出五行,每行五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。
## 输入样例
1 -1 0 0 -1
## 输出样例
1 -1 0 0 -1
-1 1 0 0 1
0 0 1 0 0
0 0 0 1 0
-1 1 0 0 1
## 提示
# 《教父》家族关系维护
在《教父》中,有五个家族,分别是Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族。五个家族之间的关系是复杂的,它们之间可能存在敌对关系、盟友关系和中立关系。
你需要写一个程序来计算五个家族之间的关系。你需要输入五个家族之间的关系,然后输出五个家族之间的关系矩阵。
你需要自定义一个算法来计算五个家族之间的关系,算法的输入是五个家族之间的关系,输出是五个家族之间的关系矩阵。
算法的实现方式是你自己决定的,但你需要考虑这道题的时间复杂度和空间复杂度。
## 输入格式
输入第一行包含五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。
## 输出格式
输出五行,每行五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。
## 输入样例
1 -1 0 0 -1
## 输出样例
1 -1 0 0 -1
-1 1 0 0 1
0 0 1 0 0
0 0 0 1 0
-1 1 0 0 1
## 提示
\ No newline at end of file
#include <iostream>
#include <sstream>
using namespace std;
const int N = 5;
int a[N][N];
int main() {
string line;
getline(cin, line);
stringstream ss(line);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (i == j) {
a[i][j] = 1; // 同家族之间是盟友关系
} else {
a[i][j] = 0; // 默认是中立关系
}
}
}
// 从输入中读入五个家族之间的关系
for (int i = 0; i < N; i++) {
ss >> a[i][i];
}
// 输出五个家族之间的关系矩阵
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}
#include <iostream>
#include <sstream>
using namespace std;
const int N = 5;
int a[N][N];
int main() {
string line;
getline(cin, line);
stringstream ss(line);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (i == j) {
a[i][j] = 1; // 同家族之间是盟友关系
} else {
a[i][j] = 0; // 默认是中立关系
}
}
}
// 从输入中读入五个家族之间的关系
for (int i = 0; i < N; i++) {
ss >> a[i][i];
}
// 输出五个家族之间的关系矩阵
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << a[i][j] << ' ';
}
cout << endl;
}
return 0;
}
# 寻找宝藏山
一天,你去了一个神秘的森林,在那里你遇到了一个神秘的老人。他告诉你,森林里有一座宝藏山,但是要想到达宝藏山,你必须先通过一些森林的入口。
这个老人给你了一张地图,地图上有若干个入口和宝藏山,每个入口都有一个花费。你可以从任意一个入口开始,然后经过一些入口,最终到达宝藏山。但是你有一个限制,你只能走 $K$ 步,如果走的步数超过了 $K$,那么你就无法到达宝藏山,也就无法获得宝藏。
你必须实现一个程序,接受用户输入的地图信息,并计算出,你能够到达宝藏山的最小花费。
## 输入描述
第一行包含三个整数 $N$、$M$ 和 $K$,$N$ 表示入口的个数、$M$ 表示边的个数、$K$ 表示最多走的步数。
接下来 $M$ 行,每行包含三个整数 $A$、$B$ 和 $C$,表示一条从 $A$ 到 $B$ 的有向边,边权为 $C$。
## 输出描述
输出一行,包含一个整数,表示你能够到达宝藏山的最小花费。
## 输入样例
5 10 6
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
5 2 3
2 3 4
2 1 1
2 3 4
3 4 5
## 输出样例
1061109567
## 提示
# 寻找宝藏山
一天,你去了一个神秘的森林,在那里你遇到了一个神秘的老人。他告诉你,森林里有一座宝藏山,但是要想到达宝藏山,你必须先通过一些森林的入口。
这个老人给你了一张地图,地图上有若干个入口和宝藏山,每个入口都有一个花费。你可以从任意一个入口开始,然后经过一些入口,最终到达宝藏山。但是你有一个限制,你只能走 $K$ 步,如果走的步数超过了 $K$,那么你就无法到达宝藏山,也就无法获得宝藏。
你必须实现一个程序,接受用户输入的地图信息,并计算出,你能够到达宝藏山的最小花费。
## 输入描述
第一行包含三个整数 $N$、$M$ 和 $K$,$N$ 表示入口的个数、$M$ 表示边的个数、$K$ 表示最多走的步数。
接下来 $M$ 行,每行包含三个整数 $A$、$B$ 和 $C$,表示一条从 $A$ 到 $B$ 的有向边,边权为 $C$。
## 输出描述
输出一行,包含一个整数,表示你能够到达宝藏山的最小花费。
## 输入样例
5 10 6
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
5 2 3
2 3 4
2 1 1
2 3 4
3 4 5
## 输出样例
1061109567
## 提示
\ No newline at end of file
#include <iostream>
#include <cstring>
#include <queue>
#include <climits>
using namespace std;
const int N = 1e3 + 10, M = 2e6 + 10;
int h[N], e[M], ne[M], w[M], idx;
int dist[N];
int n, m, k;
bool st[N]; // 标记数组
// 初始化
void init() {
memset(h, -1, sizeof h);
idx = 0;
}
// 添加一条边
void add(int a, int b, int c) {
e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++;
}
// Dijkstra 算法求最短路径
void dijkstra(int s) {
memset(dist, 0x3f, sizeof dist);
dist[s] = 0;
priority_queue<pair<int, int>> q; // 小根堆
q.push({0, s});
while (q.size()) {
auto t = q.top();
q.pop();
int ver = t.second, distance = t.first;
if (st[ver]) continue;
st[ver] = true;
// 更新所有 ver 相邻的点
for (int i = h[ver]; ~i; i = ne[i]) {
int j = e[i];
if (dist[j] > distance + w[i]) {
dist[j] = distance + w[i];
q.push({dist[j], j});
}
}
}
}
int main() {
// 读入
scanf("%d%d%d", &n, &m, &k);
init();
// 建图
while (m--) {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
add(a, b, c);
}
// 求最短路径
dijkstra(1);
// 输出最短路径
printf("%d\n", dist[n]);
return 0;
}
#include <iostream>
#include <cstring>
#include <queue>
#include <climits>
using namespace std;
const int N = 1e3 + 10, M = 2e6 + 10;
int h[N], e[M], ne[M], w[M], idx;
int dist[N];
int n, m, k;
bool st[N]; // 标记数组
// 初始化
void init() {
memset(h, -1, sizeof h);
idx = 0;
}
// 添加一条边
void add(int a, int b, int c) {
e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx++;
}
// Dijkstra 算法求最短路径
void dijkstra(int s) {
memset(dist, 0x3f, sizeof dist);
dist[s] = 0;
priority_queue<pair<int, int>> q; // 小根堆
q.push({0, s});
while (q.size()) {
auto t = q.top();
q.pop();
int ver = t.second, distance = t.first;
if (st[ver]) continue;
st[ver] = true;
// 更新所有 ver 相邻的点
for (int i = h[ver]; ~i; i = ne[i]) {
int j = e[i];
if (dist[j] > distance + w[i]) {
dist[j] = distance + w[i];
q.push({dist[j], j});
}
}
}
}
int main() {
// 读入
scanf("%d%d%d", &n, &m, &k);
init();
// 建图
while (m--) {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
add(a, b, c);
}
// 求最短路径
dijkstra(1);
// 输出最短路径
printf("%d\n", dist[n]);
return 0;
}
5 10 6
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
5 2 3
2 3 4
2 1 1
2 3 4
5 10 6
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
5 2 3
2 3 4
2 1 1
2 3 4
3 4 5
\ No newline at end of file
# 柯里昂家族树
在《教父》中,柯里昂家族是一个著名的黑手党家族,由家族的首领柯里昂(Don Corleone)和他的四个儿子构成。柯里昂家族的家谱是一棵二叉树,其中柯里昂是根节点,他的儿子们分别是他的左儿子和右儿子。
现在,你需要编写一个程序,读入一个包含若干行的字符串,每行表示一个人的信息。每行的格式如下:
<人物名称> is the <父亲名称>`s <儿子>
其中,人物名称是一个不包含空格的字符串,父亲名称和儿子也是一个不包含空格的字符串。
例如,下面是一棵柯里昂家族的家谱:
Don Corleone is the Don`s son
Fredo Corleone is the Don`s son
Michael Corleone is the Don`s son
Tom Hagen is the Don`s adopted son
你的程序需要按照这些信息建立一棵二叉树,并输出这棵树的前序遍历。
例如,对于上面的家谱,输出应该是:
Don Corleone Fredo Corleone Michael Corleone Tom Hagen
你的程序需要支持以下功能:
- 建立二叉树。你需要定义一个结构体表示一个节点,包含人物名称、左儿子和右儿子三个字段。你需要编写一个函数,读入若干行字符串,根据字符串中的信息建立二叉树。
- 输出前序遍历。你需要编写一个函数,输出给定二叉树的前序遍历。
## 输入格式
输入的第一行包含一个整数 n(1 <= n <= 1000),表示字符串的行数。
接下来的 n 行,每行包含一个字符串,表示一个人的信息。字符串的格式如上文所述。
## 输出格式
输出给定二叉树的前序遍历,每个人物名称占一行。
## 输入样例
4
Don Corleone is the Don`s son
Fredo Corleone is the Don`s son
Michael Corleone is the Don`s son
Tom Hagen is the Don`s adopted son
## 输出样例
Don Corleone
Fredo Corleone
Michael Corleone
Tom Hagen
## 提示
1. 人物名称和父亲名称均由不超过 100 个字符组成,且不包含空格;
2. 儿子的值可能是 "son" 或 "adopted son";
3. 输入中可能会出现重名的人物,你的程序需要处理这种情况;
# 柯里昂家族树
在《教父》中,柯里昂家族是一个著名的黑手党家族,由家族的首领柯里昂(Don Corleone)和他的四个儿子构成。柯里昂家族的家谱是一棵二叉树,其中柯里昂是根节点,他的儿子们分别是他的左儿子和右儿子。
现在,你需要编写一个程序,读入一个包含若干行的字符串,每行表示一个人的信息。每行的格式如下:
<人物名称> is the <父亲名称>`s <儿子>
其中,人物名称是一个不包含空格的字符串,父亲名称和儿子也是一个不包含空格的字符串。
例如,下面是一棵柯里昂家族的家谱:
Don Corleone is the Don`s son
Fredo Corleone is the Don`s son
Michael Corleone is the Don`s son
Tom Hagen is the Don`s adopted son
你的程序需要按照这些信息建立一棵二叉树,并输出这棵树的前序遍历。
例如,对于上面的家谱,输出应该是:
Don Corleone Fredo Corleone Michael Corleone Tom Hagen
你的程序需要支持以下功能:
- 建立二叉树。你需要定义一个结构体表示一个节点,包含人物名称、左儿子和右儿子三个字段。你需要编写一个函数,读入若干行字符串,根据字符串中的信息建立二叉树。
- 输出前序遍历。你需要编写一个函数,输出给定二叉树的前序遍历。
## 输入格式
输入的第一行包含一个整数 n(1 <= n <= 1000),表示字符串的行数。
接下来的 n 行,每行包含一个字符串,表示一个人的信息。字符串的格式如上文所述。
## 输出格式
输出给定二叉树的前序遍历,每个人物名称占一行。
## 输入样例
4
Don Corleone is the Don`s son
Fredo Corleone is the Don`s son
Michael Corleone is the Don`s son
Tom Hagen is the Don`s adopted son
## 输出样例
Don Corleone
Fredo Corleone
Michael Corleone
Tom Hagen
## 提示
1. 人物名称和父亲名称均由不超过 100 个字符组成,且不包含空格;
2. 儿子的值可能是 "son" 或 "adopted son";
3. 输入中可能会出现重名的人物,你的程序需要处理这种情况;
4. 输入的字符串保证是合法的,不会出现父亲名称找不到的情况。
\ No newline at end of file
#include <iostream>
#include <unordered_map>
using namespace std;
//定义结构体表示一个节点
struct Node {
string name;
Node* left;
Node* right;
};
//建立二叉树的函数
Node* build_tree(int n) {
// 建立根节点
string line;
getline(cin, line);
stringstream ss(line);
string name, is, the, father, s;
ss >> name >> is >> the >> father >> s;
Node* root = new Node{name, nullptr, nullptr};
// 建立剩余的节点
for (int i = 1; i < n; i++) {
getline(cin, line);
stringstream ss(line);
string name, is, the, father, s;
ss >> name >> is >> the >> father >> s;
Node* cur = root;
while (true) {
if (father == cur->name && s == "son") {
if (cur->left == nullptr) {
cur->left = new Node{name, nullptr, nullptr};
break;
} else if (cur->right == nullptr) {
cur->right = new Node{name, nullptr, nullptr};
break;
} else {
cur = cur->left;
}
} else {
cur = cur->right;
}
}
}
return root;
}
//输出前序遍历的函数
void preorder(Node* root) {
cout << root->name << " ";
if (root->left != nullptr) preorder(root->left);
if (root->right != nullptr) preorder(root->right);
}
int main() {
int n;
cin >> n;
cin.ignore();
Node* root = build_tree(n);
preorder(root);
return 0;
}
#include <iostream>
#include <unordered_map>
using namespace std;
//定义结构体表示一个节点
struct Node {
string name;
Node* left;
Node* right;
};
//建立二叉树的函数
Node* build_tree(int n) {
// 建立根节点
string line;
getline(cin, line);
stringstream ss(line);
string name, is, the, father, s;
ss >> name >> is >> the >> father >> s;
Node* root = new Node{name, nullptr, nullptr};
// 建立剩余的节点
for (int i = 1; i < n; i++) {
getline(cin, line);
stringstream ss(line);
string name, is, the, father, s;
ss >> name >> is >> the >> father >> s;
Node* cur = root;
while (true) {
if (father == cur->name && s == "son") {
if (cur->left == nullptr) {
cur->left = new Node{name, nullptr, nullptr};
break;
} else if (cur->right == nullptr) {
cur->right = new Node{name, nullptr, nullptr};
break;
} else {
cur = cur->left;
}
} else {
cur = cur->right;
}
}
}
return root;
}
//输出前序遍历的函数
void preorder(Node* root) {
cout << root->name << " ";
if (root->left != nullptr) preorder(root->left);
if (root->right != nullptr) preorder(root->right);
}
int main() {
int n;
cin >> n;
cin.ignore();
Node* root = build_tree(n);
preorder(root);
return 0;
}
5
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
Tom Hagen is the Don's adopted son
5
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
Tom Hagen is the Don's adopted son
Santino Corleone is the Michael's son
\ No newline at end of file
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Tom Hagen is the Fredo's son
\ No newline at end of file
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Tom Hagen is the Fredo's son
\ No newline at end of file
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Tom Hagen is the Don's adopted son
\ No newline at end of file
2
Don Corleone is the Don's son
2
Don Corleone is the Don's son
Tom Hagen is the Don's adopted son
\ No newline at end of file
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
3
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Tom Hagen is the Don's adopted son
\ No newline at end of file
4
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
4
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
Tom Hagen is the Don's adopted son
\ No newline at end of file
5
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
Tom Hagen is the Don's adopted son
5
Don Corleone is the Don's son
Fredo Corleone is the Don's son
Michael Corleone is the Don's son
Tom Hagen is the Don's adopted son
Santino Corleone is the Michael's son
\ No newline at end of file
# 山洞珍宝
在一端山路中,有一个神秘的山洞。这个山洞里有许多神奇的宝藏。
你在山洞外发现了一个奇怪的墙壁,上面有一个神秘的符号,你需要通过一定的方法来解码这个符号,只有解码这个符号后你才能进入这个山洞。
经过一番推导,你发现这个符号是一个由 0 和 1 组成的字符串,每个字符都有一个权值,分别是 $0,1,2,3,4,5,6,7,8,9$。
你需要从这个字符串中找到一个最大的子串,使得该子串的权值之和最大。
给定一个字符串 $S$,其长度不超过 $10^5$,且只包含字符 '0' 和 '1'。
请你找到字符串 $S$ 中权值和最大的子串。
## 输入描述
第一行包含一个字符串 $S$。
## 输出描述
输出一行,包含一个整数,表示最大的子串的权值和。
## 输入样例
0110100110110100
## 输出样例
35
## 提示
# 山洞珍宝
在一端山路中,有一个神秘的山洞。这个山洞里有许多神奇的宝藏。
你在山洞外发现了一个奇怪的墙壁,上面有一个神秘的符号,你需要通过一定的方法来解码这个符号,只有解码这个符号后你才能进入这个山洞。
经过一番推导,你发现这个符号是一个由 0 和 1 组成的字符串,每个字符都有一个权值,分别是 $0,1,2,3,4,5,6,7,8,9$。
你需要从这个字符串中找到一个最大的子串,使得该子串的权值之和最大。
给定一个字符串 $S$,其长度不超过 $10^5$,且只包含字符 '0' 和 '1'。
请你找到字符串 $S$ 中权值和最大的子串。
## 输入描述
第一行包含一个字符串 $S$。
## 输出描述
输出一行,包含一个整数,表示最大的子串的权值和。
## 输入样例
0110100110110100
## 输出样例
35
## 提示
\ No newline at end of file
#include <iostream>
#include <string>
using namespace std;
const int N = 1e5 + 10;
int sum[N]; // sum[i] 表示字符串 s 的前 i 个字符的权值和
int main() {
string s;
cin >> s;
int n = s.size();
// 计算权值和
for (int i = 0; i < n; i++) sum[i + 1] = sum[i] + (s[i] - '0');
int ans = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j <= n; j++) {
// 计算字符串 s[i...j] 的权值和
int w = sum[j] - sum[i];
ans = max(ans, w);
}
}
cout << ans << endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
const int N = 1e5 + 10;
int sum[N]; // sum[i] 表示字符串 s 的前 i 个字符的权值和
int main() {
string s;
cin >> s;
int n = s.size();
// 计算权值和
for (int i = 0; i < n; i++) sum[i + 1] = sum[i] + (s[i] - '0');
int ans = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j <= n; j++) {
// 计算字符串 s[i...j] 的权值和
int w = sum[j] - sum[i];
ans = max(ans, w);
}
}
cout << ans << endl;
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册