From b8dd408c49abb649c868ee2a6f28ec1c934e7de1 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer Date: Thu, 18 Jul 2024 16:06:17 +0200 Subject: [PATCH 1/2] switch rsa_verifier to a n,k = 121,17 --- circuits/circuits/tests/utils/rsa_verifier.circom | 2 +- circuits/tests/utils/rsa_verifier.test.ts | 12 +++++++----- common/pubkeys/serialized_csca_tree.json | 2 +- .../{mock_csca.crt => mock_csca.pem} | 0 .../sha256_rsa_2048/{mock_dsc.crt => mock_dsc.pem} | 0 common/src/utils/csca.ts | 14 +++++++------- registry/outputs/serialized_csca_tree.json | 2 +- registry/src/csca/build_csca_merkle_tree.ts | 4 ++-- 8 files changed, 19 insertions(+), 17 deletions(-) rename common/src/mock_certificates/sha256_rsa_2048/{mock_csca.crt => mock_csca.pem} (100%) rename common/src/mock_certificates/sha256_rsa_2048/{mock_dsc.crt => mock_dsc.pem} (100%) diff --git a/circuits/circuits/tests/utils/rsa_verifier.circom b/circuits/circuits/tests/utils/rsa_verifier.circom index d9ad7060..75039636 100644 --- a/circuits/circuits/tests/utils/rsa_verifier.circom +++ b/circuits/circuits/tests/utils/rsa_verifier.circom @@ -1,3 +1,3 @@ include "@zk-email/circuits/lib/rsa.circom"; -component main = RSAVerifier65537(64, 32); \ No newline at end of file +component main = RSAVerifier65537(121, 17); \ No newline at end of file diff --git a/circuits/tests/utils/rsa_verifier.test.ts b/circuits/tests/utils/rsa_verifier.test.ts index dbacec62..8f0b2c8a 100644 --- a/circuits/tests/utils/rsa_verifier.test.ts +++ b/circuits/tests/utils/rsa_verifier.test.ts @@ -46,6 +46,8 @@ describe('RSA Verifier', function () { mock_dsc_sha256_rsa_2048, mock_csca_sha256_rsa_2048 ); + const n = 121; + const k = 17; it('should verify DSC has been signed by the CSCA', () => { const isVerified = dscCert.verify(cscaCert.publicKey); @@ -58,14 +60,14 @@ describe('RSA Verifier', function () { '0', dscCert_forge, cscaCert_forge, - 64, - 32, - 64, - 32, + n, + k, + n, + k, 2048, true ); - const tbsCertificateHashFormatted = getTBSHash(dscCert_forge, 'sha256'); + const tbsCertificateHashFormatted = getTBSHash(dscCert_forge, 'sha256', n, k); const inputs = { message: tbsCertificateHashFormatted, diff --git a/common/pubkeys/serialized_csca_tree.json b/common/pubkeys/serialized_csca_tree.json index 65f47c67..9043c4e6 100644 --- a/common/pubkeys/serialized_csca_tree.json +++ b/common/pubkeys/serialized_csca_tree.json @@ -1 +1 @@ -[["8691474413369666750892234614358820289658368726857552974633024543804680298964","17496320222604434917256246718514403734235740171188912286919341525891256570713","20717661531343094401419404535005724208121214979487601078059038701197331043233","8338161038189752845969324086767343943203808400163733790574844916777622907526","2244871586170865025448272825497968057027141766617969218599365252909572535577","3608626711809097355394527544415447989465407554113965209630262872975367728702","15123415314399351471075303556718608687323785898137080424470982286311735782352","712912966757927878965693240425422971881715436008090497769457122872348343952","3196185115626403769090812264110127828126981872545481387659039004737077237629","20852945694892786589706882486760988740184637230152727898060254427102399724085","663438552256433061576054140809160443818506164632349621099807794702352080693","18682912995789016595436882433435139159334702280353629213700041190405671371221","954361121666374676317512516553835448496801654442662842741750447529976221096","15976568257028838086904371689993285445196617581672212770040719579976951713437","1689709601556268020419125248006910470935068691712645256591639741945971733744","1644637032401895183536122531980635414363418149797237304436572320773189961342","10530161321691746280687450853188873346740398773252979676317929677235626245235","2628389834360132333366589026387003814868457686372552787974500759887369913155","20551785199765572414957755636883446606643894289625551996383687264006196444272","14647299140966795168634863382011786101084247791740654785196548451662948086183","17547875379231708590555723879540779728666475590929028917859771769395698401715","4087977103445290602464010775212316926483391914870441578758042979308767270230","6714269803293029270909153658663808588557387497502190042744619007611526657435","21829614378897985584789450465826668649930021698690579364831443823904306431333","7532552732354833964818948844447124010555621930545046129036742684162649680796","3085746588958121678695340573755073635811671969466202529706243909144419544906","15358264232435244032159222413023294519420811338021914047216004862176094578703","274618135907332659550125464790981847888019268634834758638296553463810383811","3145275707337847188939353064357731848534516166917140907835781738084777990262","712912966757927878965693240425422971881715436008090497769457122872348343952","21219905789358323534478545279193723251420616841556623254711235028135342626157","9798324625310926002331408522163043190724749435063160272808536376189654148756","13582411668238263333995209483029305625601807569534701653376051071840372484093","15950000082544045394526115523741159615348156864031044224172890462894241606231","5992148578777868893458748144399130666011631987544731979896999269126511048457","5001232371587577350490476563931715794477203224577970619789108259266886603950","17806353473562524209419921489674020711603878477377228029846764687154796899291","4781857348503260904895922377303003708601361291248025972804843818012461675526","19725005896671978040083076043827582994250733273969992727037910840857608608713","6771553323761092017375937072638415166675529808942268574147258168001934888920","6072598916249169136908315542430764263321939399814654522032874918790340778554","17174337625009122870708859925793325997946378966416309900853757797594910229791","2191847811950210640312799119786838991241770048511678287834866005381831304252","5556089667073477529764323892046529774877491089381310117639628299653468438238","5512523756717871023776497641942984346783337720501449614794308618170512394669","12964734676293244153748554238028206801414195417901916061140401142888712380451","2972653442760058165486608510571475869094354178867521177094553776876904654370","19617883112060216036437373002520931262578741557295904537678304364166866283129","1175039218798484980072399121924972057008410392367959450703939688306902524054","10396745429499812151132429056797671842807735536621273702194009800176056286117","21829614378897985584789450465826668649930021698690579364831443823904306431333","232738545482017472261496633286350972128632187612854220178426602649221258372","12964734676293244153748554238028206801414195417901916061140401142888712380451","3085746588958121678695340573755073635811671969466202529706243909144419544906","19569641468295105160418177740024945517842897645468872356974690513927041995987","13682529409340978640466595260264374070197250456280851982310079893206859446095","5864324965287761028896843934748795289028753931353130557439328109628025948300","18638025629280224617790168906173435277703684091772827588468099812026035539738","2194543658437125198357587946021311492689377172643668551084193961108304747785","21593921076086949669297200034323757069358367209393924460563276537349356681008","15613087414575084731294247924061147534041250959429049604445183368849211416480","21876658378266334569964380224531738829113969654886515172706825001082187941302","17603178439634188462056825952489860474722953595745235452510670608903852152095","18820995668034441064481786413532066855976405414499761311120499699159123037823","6071932171386993614931179655729818150534845046202199448265558256519848482826","10847231218503195759517071138679051602730407167074172266742227045164609231885","14506356872966117174131859847846372170262756655915924664237877294288585233653","5157851077382368258831146921235005863841873179959407293372390317913027109941","17215740096130814160671394963439750791336311297216240493968557475671940055057","7236783279316083836339480995960834633270959028443867776543135480683166923869","11398194787838497782166425813926171378663319996243937443066049287231892201563","8461890310516914992976016102786941165050457592527945955052989873762315959085","20131832673266427475769741534309108541338301173662948074665588100934145363162","13025268118387164480802803485697296266258675734062176433653116451463846209082","2959389974566411083204235326117036516979963119227951085034972251184734179290","9377958456884255467194088716477119239642797045077236472356953540022684583149","16698515797824680501871676266202253211872118899888285886412000454073141450701","15798767315325760489132964686987872692994717940925570238047784420230331193585","4781857348503260904895922377303003708601361291248025972804843818012461675526","12671050201903040870132377617509218353339866159494336831034048382615639662347","16118914885963834916174025584295786549597018616252080891215345608189775067017","1287880180407310800601651110405671450334122951893361316992545024696018620127","11275609334870619778800915975797190217946752952900097800029716348347769743557","4549806302643127256376053744839835469729529127535077121646524402308295761124","12385792108167898834965686312817629786971321080122734283967136719015404659574","19645303799442917520263849382981918648525479954858046014781621457535223129139","13079036262723496487062341719232498854721623596427562123822257284722043022380","7815052247860712154170106628650576750781240048309328607812510735568644480099","4224433012242275812105292037318388809660019851311870694425205064696802439276","20769202337427957655670745571969974320407145254685594108329805885177108459406","5864324965287761028896843934748795289028753931353130557439328109628025948300","1194604146042048350003512364693260099917768421477389239935129766419846021985","20342168169457748695802149508674862964537074611245094862559628187033717475867","9612640678039527906483661330640693201947160578570955411180830848021191312999","20227979332701217082249100988795416872480735366357703927751699407575642930935","5568143431214976639464768845659406494667053581733825380813024891527928235568","3208479846365475237410989805061539106045403260781956346764317556860566259416","1533174095932179741832085722978096451211273368734335528806856805965059178550","15214427790517490141925325587797963249335567355213168373025412405634050937481","13602826144456356860284419687170541618185281374064216815711251835821492025702","946455194947827940337729236114480813870835673647234481151109602462556270766","10530161321691746280687450853188873346740398773252979676317929677235626245235","20551785199765572414957755636883446606643894289625551996383687264006196444272","17492490034871188503809070393464727304143828491765350693224566925126105199911","5627116488283442946557217209333347313412518163016066550539282920861053074060","7628458932936495764524142429747955579001667142208907050372858225989514457008","13545244560072730176162896504690392106112168077747273393293519829141026712654","9197800054380533439556389025741028642781611147489934915217537670356117734985","19725005896671978040083076043827582994250733273969992727037910840857608608713","13597601271430461916896612582648919742272715556061113046784825140314498905478","13382473425074121858735590469120000769886230357897236331156422982819803288928","12439760546784082202871583401234733990044187602943315324169379543365738178519","5758137506105103459826998865197780898444584232351877574052188955203596737799","8370264878441063630462671051957262849187564367781659467838460782939804026447","17368028902269277465024746642764987612414033705161996149238721534130490186941","946455194947827940337729236114480813870835673647234481151109602462556270766","10782746953492500078751030180163064462657489179646951793154413574373371915628","4574759938850684302328171377919788556520857555728298495027674689330859913909","712912966757927878965693240425422971881715436008090497769457122872348343952","2483126835964394240864276692792992171095811055349556498083468949709404323305","2235150263865959136421726440400433738501848129328010009098035293276672220717","5469955587383559828097756439479681402770241102946573149636380518729022833750","9612640678039527906483661330640693201947160578570955411180830848021191312999","7135473937218111453151804646361837547205712024569546168416088861245626015030","9197800054380533439556389025741028642781611147489934915217537670356117734985","8177887533556223950928671845738575508418213402039951309409853690924708882619","1644637032401895183536122531980635414363418149797237304436572320773189961342","2235150263865959136421726440400433738501848129328010009098035293276672220717","19402903568454754777700416991856190103205898202952506192755702018138164903780","663438552256433061576054140809160443818506164632349621099807794702352080693","15776280343411227095808521568994471614057167432416502119979098996603887292938","12313143896208759390351526641510039095883815550699902043061685514584813600074","1218928037268356033769144531312651840516937586618523437511091378414585873142","9011100725723069477052917523444280437831907181043987084639300263089606956420","8082817983718546987105551276971252463934917335856558917892075900846966350585","17744796207881002836361754172345756972108243302293817629307470887005013537965","10909054529489265328197617859427892180031815470826676417637937142527343355023","20551785199765572414957755636883446606643894289625551996383687264006196444272","2676613676733015431959147577385543530164186971614056775227705172064306807928","15776564956440002895136116449299582951656581983212117550232796150916571692055","11412740120827044021870096407623293808851105071188140591919788265312361814171","3885925135313023686150115977607110368258492435636819989794778250027419367343","1440944398068243290019815197893325790869382856018839453050014183551865062018","18707594353877082516395132272698629627555807696619350634836774054442394671010","19750715061039895092288075649509657235159241403400837501090850293666251108617","16411233008444850443854175483761516668813055344878151975436424201109266465436","966676739412114459004685599806372707037105104204243310754946364190002350899","17496320222604434917256246718514403734235740171188912286919341525891256570713","4224433012242275812105292037318388809660019851311870694425205064696802439276","15976978918004336355901319629352200911328902990447017277673724626919242812955","16226984168490080400263373201570728966749962184950889718917387268203884202372","1071564318326244075341980988866027669737011601498674724527637774926288977632","20769202337427957655670745571969974320407145254685594108329805885177108459406","2967213245998332384543885104754783540899439580884490432048984202068901705944","20769202337427957655670745571969974320407145254685594108329805885177108459406","1828058457773990843551157525432867662470301272599690050907371698799750907039","21451388112829145060821974036366132513327328641208732802166144524686108831760","21219905789358323534478545279193723251420616841556623254711235028135342626157","5001232371587577350490476563931715794477203224577970619789108259266886603950","6540725658063818695836967143056666761434297658403942276316050979804587769432","9377958456884255467194088716477119239642797045077236472356953540022684583149","4224433012242275812105292037318388809660019851311870694425205064696802439276","20452154666799846638117791929900707763485919083101449648262816499313176812803","2191847811950210640312799119786838991241770048511678287834866005381831304252","8491224372742742395086082981236389730604525807576141462195229766319454932167","5512523756717871023776497641942984346783337720501449614794308618170512394669","20717661531343094401419404535005724208121214979487601078059038701197331043233","2476324937951789382181944025361875851099988750579823474754609765481889757439","19356492332655108003949429792555441845806681675195402015185308983898801715851","2967213245998332384543885104754783540899439580884490432048984202068901705944","5055315503098445594062335518727177962919913361908453398984787599226169183337","17492490034871188503809070393464727304143828491765350693224566925126105199911","14027649325388708488081280969586205626278814303627295953445422182588276435572","13465227484584385300386574818824135648806878577862587385005638292079537592144","12385792108167898834965686312817629786971321080122734283967136719015404659574","21267939098918134027395634942102971885281982111723141238850772621986256662900","17496320222604434917256246718514403734235740171188912286919341525891256570713","11433874323428772158013095381623924200138375055456955808189877801771380225552","15618359152517208456698312197785172766694127619077536561902714697931530755106","2628389834360132333366589026387003814868457686372552787974500759887369913155","2027121307515028227361803453971004574835283397634149795685942874063731877044","1758371485945815703876679445382538767819559386912271388124907980130004330353","712912966757927878965693240425422971881715436008090497769457122872348343952","9296362220804925104551234752226384203979024033236205671428676015277866160513","3099260939107709193833554073787772569345965287506676970762153917208260772189","21219905789358323534478545279193723251420616841556623254711235028135342626157","3099260939107709193833554073787772569345965287506676970762153917208260772189","15976568257028838086904371689993285445196617581672212770040719579976951713437","6540725658063818695836967143056666761434297658403942276316050979804587769432","663438552256433061576054140809160443818506164632349621099807794702352080693","8140644209065967749731539711645757673629321017919126168806710308878873241272","4655594634855844188499094340496759182976213206849235604185854128079411962453","13216746424486872049443607565713997095923431379037310625593547838968801990450","5512523756717871023776497641942984346783337720501449614794308618170512394669","10286727453332438406648583236643277009562092681643525436851770105870834802875","5835554999819330558954089066526405560740259616473885793288693915684399039377","2235150263865959136421726440400433738501848129328010009098035293276672220717","13602826144456356860284419687170541618185281374064216815711251835821492025702","3117586190657126472592128104269081184451127080527182054370687640020932637738","16961794929940055505618937273665830834556517799613603503371462732255229717698","20717661531343094401419404535005724208121214979487601078059038701197331043233","3054509086575963631520633315863182977708152785332183337259997415160907095845","15718330550508436908559701395606414201668068552693146421627683872153427960853","4363738634465882118172307854104596042899685656091037340905869811610138317347","3295533384340596604465346018013602551881861893498794970313069368600968766409","4549806302643127256376053744839835469729529127535077121646524402308295761124","5836322900178474894684749559174625794931606932780001961547616477680042620058","7986666009024332686676662864413304092722307894727965157582073398188685188596","8332725882597643046230446607227878580859441724564830732217655474732342787381","13605376995820845471499102796322549845207296468035227481017989756087418839900","12155172322986237416023663042004942352608253176870958535098713267207721181883","18703989514997223432661641229861332310348080898339160493229575272467603319271","12144047841603136900258834238679736103499067068658592153906655837799171705427","11964978685770609938104516880584559743324134082109819132572992701951308097934","1336458066220344521262880797524303149688311982013949559764047883761889898074","7567096820715495523465831195561335361495276610103173418515651874250913956034","16698515797824680501871676266202253211872118899888285886412000454073141450701","760526239526750316156895532664638087659951808341490670841188720735038667373","17806353473562524209419921489674020711603878477377228029846764687154796899291","13605376995820845471499102796322549845207296468035227481017989756087418839900","663438552256433061576054140809160443818506164632349621099807794702352080693","14057612694744022955506885004102834629754310001978602939456750538201073114431","21536244638197709025858135955699906074571886472797743044193407266270319669578","10940448732886105987570056589646710210974129839416224393729741337643229924295","2483126835964394240864276692792992171095811055349556498083468949709404323305","9612640678039527906483661330640693201947160578570955411180830848021191312999","15613087414575084731294247924061147534041250959429049604445183368849211416480","16411233008444850443854175483761516668813055344878151975436424201109266465436","20350757034998523187334178209550008366903662221355109911310833181698841320621","4574759938850684302328171377919788556520857555728298495027674689330859913909","1346980346605447755534859795013475283788975200653900831883060614677761712111","14662264414119036690282405601089929177544253624404097884734013101529582623919","5469955587383559828097756439479681402770241102946573149636380518729022833750","17421378063295915427159454374242321672486103038225921418122357124853338152435","11412740120827044021870096407623293808851105071188140591919788265312361814171","7471975174935772955134792946513424637999023861300940920934522552454330255354","13246300932955054699896499534663439333337260302838301416472718244977767210668","1703815020768376381115674913114725195497281256588197804868422201697152023777","3085746588958121678695340573755073635811671969466202529706243909144419544906","7236783279316083836339480995960834633270959028443867776543135480683166923869","13582411668238263333995209483029305625601807569534701653376051071840372484093","4754713757431627318482916888231215818599754770670360377946229107868340173565","4224433012242275812105292037318388809660019851311870694425205064696802439276","3196185115626403769090812264110127828126981872545481387659039004737077237629","3449083258780223991632112868061903902820017044757095982070790181182597682266","6398900866082970916513845909030912477768318655743785125093873617319711480497","1175039218798484980072399121924972057008410392367959450703939688306902524054","5210257615122466358421406540799898540909863599743777249997433762286779163631","143871243170896096761286538359612900806921859208087130133106251324625818743","7825186589955157383712635126647794282971185739134506671734682703198205174921","19356492332655108003949429792555441845806681675195402015185308983898801715851","5469955587383559828097756439479681402770241102946573149636380518729022833750","9301724904566173478342992350770203303162818770127169929361533578664506545066","14144040826170485243395777956417332299961240009335454448818306795274079743482","15106671954584442557442200864211260493785606980074399349847632055753054483078","18869217976653672070772236404509215919650604056214055814018794444287298958040","11645420524832783721170737438334136629636818531954268745339783028025385754950","13439261978972035796996150244149252173133297973805089227133789936712760569803","15106671954584442557442200864211260493785606980074399349847632055753054483078","5512523756717871023776497641942984346783337720501449614794308618170512394669","5835554999819330558954089066526405560740259616473885793288693915684399039377","8863131691935358314236967173935315033413820679736774627121405457433895003795","17806353473562524209419921489674020711603878477377228029846764687154796899291","12688265548305129213524123982283433383136772509110047948234368697335124109577","18207961221628464226564927736506330628717051411055463190287553801949660581016","14776577580296682191308190812580888360497977691535016054206068797647787496417","2716120769329705626706313807317151735273953258897025678161053651818357382993","946455194947827940337729236114480813870835673647234481151109602462556270766","614966471251760438899692967903400348852862620490339206898848861882544111046","4116036656616283014460785251860209028828407967565755603300238819653622156901","10847231218503195759517071138679051602730407167074172266742227045164609231885","20895602419903453398196391913478058693274453903342785067983129839552891433864","15689970856593006158259892732288646993746887463514406392254922588756401796606","7408129850262826909244224402840856032373035919586685754734550738382550518934","16954193412688439955632320517883969169462813275902648614432177779074490622129","10822341224343704549832157601167511762192217681493597414750548578356092990059","18869217976653672070772236404509215919650604056214055814018794444287298958040","12998359993404137434826050598531205936631009536891015167391276398139095697469","712912966757927878965693240425422971881715436008090497769457122872348343952","12439760546784082202871583401234733990044187602943315324169379543365738178519","4933182101183318250560018811514844142859815227384938275570441539742336262480","5519776064110123180759081312729047106292930891845193268609251880658830705433","11964978685770609938104516880584559743324134082109819132572992701951308097934","20852945694892786589706882486760988740184637230152727898060254427102399724085","5157851077382368258831146921235005863841873179959407293372390317913027109941","3885925135313023686150115977607110368258492435636819989794778250027419367343","1632500423430879870300869265124598190896358768919584266600939773214617936900","16480089772180635258030461748402564771495064968752027484874049433567638476934","946455194947827940337729236114480813870835673647234481151109602462556270766","15718330550508436908559701395606414201668068552693146421627683872153427960853","10646102197739219326084794742182482777338903912449154661603058840745258963379","1570274245034538183221128634382794417097801245857820047802724595210806628688","9147263785534267636687968913589685560505104267741632426978703854622278136991","614966471251760438899692967903400348852862620490339206898848861882544111046","5566832184094895187524267067093217754199394279599836592480486864883149893031","7135473937218111453151804646361837547205712024569546168416088861245626015030","946455194947827940337729236114480813870835673647234481151109602462556270766","4087977103445290602464010775212316926483391914870441578758042979308767270230","16137218824867518993112176330612823176216439366022687220615937652371635085247","1703815020768376381115674913114725195497281256588197804868422201697152023777","1175039218798484980072399121924972057008410392367959450703939688306902524054","11412740120827044021870096407623293808851105071188140591919788265312361814171","12271983753113042626833634560364485293486763667349863253834100408006012012338","954361121666374676317512516553835448496801654442662842741750447529976221096","5519776064110123180759081312729047106292930891845193268609251880658830705433","19645303799442917520263849382981918648525479954858046014781621457535223129139","15546540006815490057793129658556841909859473017172875226825092156274503806084","16664225501027310427143425928031114680302400010653769373062555871803572912785","12964734676293244153748554238028206801414195417901916061140401142888712380451","1644637032401895183536122531980635414363418149797237304436572320773189961342","14588408860702774403040643085023102427643318176411097113905533342239652444746","17806353473562524209419921489674020711603878477377228029846764687154796899291","3401355104414210656254289265060762447824858847649022703190474278352208416173","15455768567639248552871867295320669874358209402041404093780654826364925510661","18869217976653672070772236404509215919650604056214055814018794444287298958040","13605376995820845471499102796322549845207296468035227481017989756087418839900","20663699746183765412904432768074062935933374627665221119822945660203712880745","1454875708970600335304126262767303975870655905960512436254375545925577328692","16954193412688439955632320517883969169462813275902648614432177779074490622129","20895602419903453398196391913478058693274453903342785067983129839552891433864","4933182101183318250560018811514844142859815227384938275570441539742336262480","1336458066220344521262880797524303149688311982013949559764047883761889898074","12984040983088595314698866307930588700679289984810017049345447973409490678089","10847231218503195759517071138679051602730407167074172266742227045164609231885","7236783279316083836339480995960834633270959028443867776543135480683166923869","12180564838572574785577178844314834812952191421495899999848160514539788519817","12600480540100512777695577363859185402126112711196993279255107913533806514345","18207961221628464226564927736506330628717051411055463190287553801949660581016","3401355104414210656254289265060762447824858847649022703190474278352208416173","4116036656616283014460785251860209028828407967565755603300238819653622156901","12863950582730082046148154608075135240263800483912187224256340414612337617318","3054509086575963631520633315863182977708152785332183337259997415160907095845","6714269803293029270909153658663808588557387497502190042744619007611526657435","163072371065782787415009910882963726380729563508259100978084406744617596229","18124161608764573031181181091746932116602343523449108232131693108002812215595","17698177298685528128465298198488735273578406532961103401549266592203987353446","1071564318326244075341980988866027669737011601498674724527637774926288977632","19883029896859112110244432872192403645617916717981765942483639413786774824574","12155172322986237416023663042004942352608253176870958535098713267207721181883","19375155383395696510967115781488322005907183312666977471331313827828265655931","12863950582730082046148154608075135240263800483912187224256340414612337617318","19470438559791413810807322334940256814752303267756345670901343982529444306002","4754713757431627318482916888231215818599754770670360377946229107868340173565","3196185115626403769090812264110127828126981872545481387659039004737077237629","11412740120827044021870096407623293808851105071188140591919788265312361814171","21876658378266334569964380224531738829113969654886515172706825001082187941302","9888239978634522925223196837194242311545989047209631150312165940305433080157","20342168169457748695802149508674862964537074611245094862559628187033717475867","6267275553024510648754807709238333654138152587130901210611391956543755030870","14535184095124950892028872912364622595212286520594227957147431032075397154266","2244871586170865025448272825497968057027141766617969218599365252909572535577","3117586190657126472592128104269081184451127080527182054370687640020932637738","18638025629280224617790168906173435277703684091772827588468099812026035539738","13602826144456356860284419687170541618185281374064216815711251835821492025702","19136646515076729474266957823959601106059804333394786210644361751043819130428","4006308849281273792274000957432061207143923231283130218997109288816872164471","4866442763557448299456393930665252678199356968867077785577776954873671002076","5523494911625033531158591406744208675721214018061290251579858790908546943321","14262959519701291686797273506458134133352406025405884284959025726384935370757","15798767315325760489132964686987872692994717940925570238047784420230331193585","6585682031650501777630925238370902100450071127640040426788913175433490518990","19569641468295105160418177740024945517842897645468872356974690513927041995987","19617883112060216036437373002520931262578741557295904537678304364166866283129","20717661531343094401419404535005724208121214979487601078059038701197331043233","15356303677036047765901840442430056519915375782726231750029051083606835464886","18869217976653672070772236404509215919650604056214055814018794444287298958040","19645303799442917520263849382981918648525479954858046014781621457535223129139","16614048991075038030789399956909315351324595917053714063050624141460033937444","614966471251760438899692967903400348852862620490339206898848861882544111046","4099531615762313645664270695169451400067010667159453849071079869270467331430","1336458066220344521262880797524303149688311982013949559764047883761889898074","374196098865630209786313311346578647643865900042267366994874073365518434467","9141525190254519952022341797682038597679704914972221193906068133244136674784","12964734676293244153748554238028206801414195417901916061140401142888712380451","3449083258780223991632112868061903902820017044757095982070790181182597682266","1218928037268356033769144531312651840516937586618523437511091378414585873142","17639609723574756459891329821328819780244585917274648474440537044036944455741","1533174095932179741832085722978096451211273368734335528806856805965059178550","1440944398068243290019815197893325790869382856018839453050014183551865062018","13004204931687393626720102454766944489147659600561337392365246286815729618336","12325315597559743752230693830058397065789541158772176272664764348470516075554","2972653442760058165486608510571475869094354178867521177094553776876904654370","8370264878441063630462671051957262849187564367781659467838460782939804026447","2959389974566411083204235326117036516979963119227951085034972251184734179290","20551785199765572414957755636883446606643894289625551996383687264006196444272","4087977103445290602464010775212316926483391914870441578758042979308767270230","15356303677036047765901840442430056519915375782726231750029051083606835464886","2683741289082249638876005424728100137356381224531970040303109182897410726686","7809308148717690892433475015444256746265555654600319391230796066961179227754","1440944398068243290019815197893325790869382856018839453050014183551865062018","14027649325388708488081280969586205626278814303627295953445422182588276435572","18594403705196476767375145654138028270042663039914897358747063340477738248585","16336411977121389060651610820631824246361165054986934015236391565811657107740","4478906216357891733779320532575007598672127166034590483003103843151770821805","15776564956440002895136116449299582951656581983212117550232796150916571692055","10593196891529840628734555040366549092907275204600028371924840487850448911826","13602826144456356860284419687170541618185281374064216815711251835821492025702","13183232877692246822590812126633640676351230654681431401704678854597307073741","1143725056710957642097279233815583467630238769694555684003566733048000751701","21536244638197709025858135955699906074571886472797743044193407266270319669578","16118914885963834916174025584295786549597018616252080891215345608189775067017","3085746588958121678695340573755073635811671969466202529706243909144419544906","7471975174935772955134792946513424637999023861300940920934522552454330255354","16651609932326344885003930002640274787869059718257297617745634674345809614067","8863131691935358314236967173935315033413820679736774627121405457433895003795","12233333935383563259381899984287101540154684128978249282626058445737562030151","7057969325794614252651980473201258184026879446024353453586952048006174273183","8177887533556223950928671845738575508418213402039951309409853690924708882619","16336411977121389060651610820631824246361165054986934015236391565811657107740","16391403911439019484448973048634108295486984765667310507956782776900193019857","16632434695136893331490691565954322107706581064802120383393065446949358038261","7532552732354833964818948844447124010555621930545046129036742684162649680796","2959389974566411083204235326117036516979963119227951085034972251184734179290","19375155383395696510967115781488322005907183312666977471331313827828265655931","2683741289082249638876005424728100137356381224531970040303109182897410726686","1071564318326244075341980988866027669737011601498674724527637774926288977632","4688608777744900238376640178893120441686955058686461498962807904713059186065","14862128476161472318832207576059761644997238747584253112211006461966427732368","14057612694744022955506885004102834629754310001978602939456750538201073114431","1570274245034538183221128634382794417097801245857820047802724595210806628688","13748763105074593620013986383045781773296715695306976461248290420913969610259","13079036262723496487062341719232498854721623596427562123822257284722043022380","15106671954584442557442200864211260493785606980074399349847632055753054483078","1143725056710957642097279233815583467630238769694555684003566733048000751701","12271983753113042626833634560364485293486763667349863253834100408006012012338","16651609932326344885003930002640274787869059718257297617745634674345809614067","6267275553024510648754807709238333654138152587130901210611391956543755030870","17018828663094797750757032992805443165559600645338019797634595027047317699068","13826842810792073443336072469158777368557028423710280480746021228332338112849","17539019008906665692358401403758991639375357012882690788487548831749474497244","19750715061039895092288075649509657235159241403400837501090850293666251108617","15776280343411227095808521568994471614057167432416502119979098996603887292938","19356492332655108003949429792555441845806681675195402015185308983898801715851","16118914885963834916174025584295786549597018616252080891215345608189775067017","4224433012242275812105292037318388809660019851311870694425205064696802439276","6311168126082531220851145980238852866031091078497507817682388947599504858069","12439760546784082202871583401234733990044187602943315324169379543365738178519","12385792108167898834965686312817629786971321080122734283967136719015404659574","712912966757927878965693240425422971881715436008090497769457122872348343952","14506356872966117174131859847846372170262756655915924664237877294288585233653","7135473937218111453151804646361837547205712024569546168416088861245626015030","13183232877692246822590812126633640676351230654681431401704678854597307073741","7033259621441273379090690993518324745190856903793390519675567591730089293401","16954193412688439955632320517883969169462813275902648614432177779074490622129","18638025629280224617790168906173435277703684091772827588468099812026035539738","12180564838572574785577178844314834812952191421495899999848160514539788519817","13582411668238263333995209483029305625601807569534701653376051071840372484093","4655594634855844188499094340496759182976213206849235604185854128079411962453","8370264878441063630462671051957262849187564367781659467838460782939804026447","17496320222604434917256246718514403734235740171188912286919341525891256570713","9141525190254519952022341797682038597679704914972221193906068133244136674784","21570485471295626790395474884741704872769989979943302238757938053634431270592","14214179218791945815971672263715227174014095422524111075841145981660259478464","5992148578777868893458748144399130666011631987544731979896999269126511048457","11275609334870619778800915975797190217946752952900097800029716348347769743557","6714269803293029270909153658663808588557387497502190042744619007611526657435","6221105771699561812227612915438412791747103897962033448670914370271924677164","12249836732564745436903455221618799619493605772253570453747572839223832061488","1493819599258016045339110999235422917168609982262840449866816239257578013153","13682529409340978640466595260264374070197250456280851982310079893206859446095","5568143431214976639464768845659406494667053581733825380813024891527928235568","13216746424486872049443607565713997095923431379037310625593547838968801990450","12180564838572574785577178844314834812952191421495899999848160514539788519817","1346980346605447755534859795013475283788975200653900831883060614677761712111","10782746953492500078751030180163064462657489179646951793154413574373371915628","1570274245034538183221128634382794417097801245857820047802724595210806628688","11118678586223256967063779327106075185044005359468107273605978537625172540996","9957269699849018786420105364721112375750180716923816099920663920684273075720","10286727453332438406648583236643277009562092681643525436851770105870834802875","7986666009024332686676662864413304092722307894727965157582073398188685188596","274618135907332659550125464790981847888019268634834758638296553463810383811","20131832673266427475769741534309108541338301173662948074665588100934145363162","19750715061039895092288075649509657235159241403400837501090850293666251108617","11545919418828350367784519368633485476721293708396219560182357280822873453096","143871243170896096761286538359612900806921859208087130133106251324625818743","10593196891529840628734555040366549092907275204600028371924840487850448911826","3005814121577142321238773726823845968144595752898226988876012545652019094241","9798324625310926002331408522163043190724749435063160272808536376189654148756","11964978685770609938104516880584559743324134082109819132572992701951308097934","12519200710540274443987348735978102700747472530155480989464845837532354722845","9679676316674197446267516028449539668288990002440917773972518794977810420407","12519200710540274443987348735978102700747472530155480989464845837532354722845","9957269699849018786420105364721112375750180716923816099920663920684273075720","13602826144456356860284419687170541618185281374064216815711251835821492025702","17603178439634188462056825952489860474722953595745235452510670608903852152095","16651609932326344885003930002640274787869059718257297617745634674345809614067","15950000082544045394526115523741159615348156864031044224172890462894241606231","18451742809683626507365133121132299935287207259245734910631591678742738573305","15214427790517490141925325587797963249335567355213168373025412405634050937481","12600480540100512777695577363859185402126112711196993279255107913533806514345","20895602419903453398196391913478058693274453903342785067983129839552891433864","9306117694572387027262464048290209213167312534461525812720869427821619086590","10690633522035360601031737428400068881001718255130638825096194976708724866144","4866442763557448299456393930665252678199356968867077785577776954873671002076","19108128352145842008548048053308217665383455218276209300064989051535526150757","954361121666374676317512516553835448496801654442662842741750447529976221096","6714269803293029270909153658663808588557387497502190042744619007611526657435","19265929620982371511819161020399302006822082297986006761385196152068883496437","7532552732354833964818948844447124010555621930545046129036742684162649680796","5649801951154791837665343131813310668539151217466670556566164087328114632489","4866442763557448299456393930665252678199356968867077785577776954873671002076","18003950806500496937907532373283544753235688820907806692295042001546833965033","12155172322986237416023663042004942352608253176870958535098713267207721181883","6071932171386993614931179655729818150534845046202199448265558256519848482826","3099260939107709193833554073787772569345965287506676970762153917208260772189","6072598916249169136908315542430764263321939399814654522032874918790340778554","19569641468295105160418177740024945517842897645468872356974690513927041995987","17018828663094797750757032992805443165559600645338019797634595027047317699068","15776564956440002895136116449299582951656581983212117550232796150916571692055","12042091411871087770321928117714696325647592163332119499975682262951606830326","8177887533556223950928671845738575508418213402039951309409853690924708882619","11433874323428772158013095381623924200138375055456955808189877801771380225552","14535184095124950892028872912364622595212286520594227957147431032075397154266","20046290436659560311648463454245918246036175981027749522810979896203323505017","5627116488283442946557217209333347313412518163016066550539282920861053074060","16480089772180635258030461748402564771495064968752027484874049433567638476934","1194604146042048350003512364693260099917768421477389239935129766419846021985","1218928037268356033769144531312651840516937586618523437511091378414585873142","13202400967998975804928062759810694884158416475176357116907186595278657876313","6311168126082531220851145980238852866031091078497507817682388947599504858069","6795208382791933114735572030062093331533051902721517159934364925403853532318","19936787863437503780283518973149089110020946214555834613795208847908690099190","9377958456884255467194088716477119239642797045077236472356953540022684583149","15123415314399351471075303556718608687323785898137080424470982286311735782352","13370115598260167633113987566372148589924273398862423406100474476922447871102","7135473937218111453151804646361837547205712024569546168416088861245626015030","14262959519701291686797273506458134133352406025405884284959025726384935370757","13025268118387164480802803485697296266258675734062176433653116451463846209082","4624094547626164902101572852723507795056700722159656748629760282341508155551","4224433012242275812105292037318388809660019851311870694425205064696802439276","5836322900178474894684749559174625794931606932780001961547616477680042620058","13908465977240917608897406492241943260778588976320614277228337961237626209809","2628389834360132333366589026387003814868457686372552787974500759887369913155","11183511759577952361572566673527592434184886344484272921682811575415051015276","12863950582730082046148154608075135240263800483912187224256340414612337617318","14262959519701291686797273506458134133352406025405884284959025726384935370757","16137218824867518993112176330612823176216439366022687220615937652371635085247","18707594353877082516395132272698629627555807696619350634836774054442394671010","15413262379943851680637741226631729175616759345996754775627005612359539596292","4116036656616283014460785251860209028828407967565755603300238819653622156901","3099260939107709193833554073787772569345965287506676970762153917208260772189","4624094547626164902101572852723507795056700722159656748629760282341508155551","4420985155765749198917158320211243542858248750314567273670169360313609199220","4781857348503260904895922377303003708601361291248025972804843818012461675526","16698515797824680501871676266202253211872118899888285886412000454073141450701","5519776064110123180759081312729047106292930891845193268609251880658830705433","6540725658063818695836967143056666761434297658403942276316050979804587769432","19215132962371868093445083227022064420405266792249240035116240824526740725800","19375155383395696510967115781488322005907183312666977471331313827828265655931","1175039218798484980072399121924972057008410392367959450703939688306902524054","13748763105074593620013986383045781773296715695306976461248290420913969610259","15976568257028838086904371689993285445196617581672212770040719579976951713437","2731702758715001559265750806008384495080551892515362156357977538139860974530","3133838166556165943824029176542597440374447246137252468511956694712122940530","1354299594199717859606388533670792913672908168692420372657948698842311093857","10822341224343704549832157601167511762192217681493597414750548578356092990059","17018828663094797750757032992805443165559600645338019797634595027047317699068","14776577580296682191308190812580888360497977691535016054206068797647787496417","18693317710730212151208513181186966573996077028828882441479768956833225751022","17492490034871188503809070393464727304143828491765350693224566925126105199911","14172013427642179266386805494272960512005525394680301845681753498295255309908","3607534072804388173311745844584795163913258697339304886139614455491456047872","4420985155765749198917158320211243542858248750314567273670169360313609199220","7815052247860712154170106628650576750781240048309328607812510735568644480099","9277147365456707051192593343809527681573500829831413326738310307567850123829","8863131691935358314236967173935315033413820679736774627121405457433895003795","13439261978972035796996150244149252173133297973805089227133789936712760569803","13051815778936294959186188778209982533089138172215506637927986094620164817648","3835902309964760173432611751283380612399529168609044921165087497368685977916","13202400967998975804928062759810694884158416475176357116907186595278657876313","15214427790517490141925325587797963249335567355213168373025412405634050937481","2666549942988803296757576401723478920911340699174408059253220554211642279978","16122380779106962898741444352984715606386470429041317890034930229550324363289","18594403705196476767375145654138028270042663039914897358747063340477738248585","7796937569050271278342402836188937027242003149541526098037517748511185180620","8140644209065967749731539711645757673629321017919126168806710308878873241272","5992148578777868893458748144399130666011631987544731979896999269126511048457","3348432210747515061385037490620056224077503064341935527160366063098820102327","18566222379922364157274850150988399654533738702075332376935729247934165563869","2476324937951789382181944025361875851099988750579823474754609765481889757439","18637620888308371607611642373870554933712342468791368368498810637591710912686","2959389974566411083204235326117036516979963119227951085034972251184734179290","20227979332701217082249100988795416872480735366357703927751699407575642930935","17368028902269277465024746642764987612414033705161996149238721534130490186941","16653103879864200321986465966316889764620013245316877484022986374603264725648","16118914885963834916174025584295786549597018616252080891215345608189775067017","5568143431214976639464768845659406494667053581733825380813024891527928235568","13641582444261924898950561772071287900110836262790950814969623169365632502460","15546540006815490057793129658556841909859473017172875226825092156274503806084","16961794929940055505618937273665830834556517799613603503371462732255229717698","11964978685770609938104516880584559743324134082109819132572992701951308097934","14216993731814681619137662595321398279415990565678023063177228088649900891505","7815052247860712154170106628650576750781240048309328607812510735568644480099","20350757034998523187334178209550008366903662221355109911310833181698841320621","15045123937812306625997417665247004551483049589009168687548501235926225142020","16632434695136893331490691565954322107706581064802120383393065446949358038261","20838188000013629937954971368567014585342187321412629930028751871743338652961","13545244560072730176162896504690392106112168077747273393293519829141026712654","6765546767316775630226434304243025099044057869188929458111914505605517807492","17018828663094797750757032992805443165559600645338019797634595027047317699068","18820995668034441064481786413532066855976405414499761311120499699159123037823","614966471251760438899692967903400348852862620490339206898848861882544111046","17496320222604434917256246718514403734235740171188912286919341525891256570713","18637620888308371607611642373870554933712342468791368368498810637591710912686","6540725658063818695836967143056666761434297658403942276316050979804587769432","1644637032401895183536122531980635414363418149797237304436572320773189961342","8461890310516914992976016102786941165050457592527945955052989873762315959085","21591247897428723764785205441739843186077784027717063974489303352320972773514","9277147365456707051192593343809527681573500829831413326738310307567850123829","13004204931687393626720102454766944489147659600561337392365246286815729618336","11398194787838497782166425813926171378663319996243937443066049287231892201563","4006308849281273792274000957432061207143923231283130218997109288816872164471","3885925135313023686150115977607110368258492435636819989794778250027419367343","3054509086575963631520633315863182977708152785332183337259997415160907095845","5055315503098445594062335518727177962919913361908453398984787599226169183337","8491224372742742395086082981236389730604525807576141462195229766319454932167","10593196891529840628734555040366549092907275204600028371924840487850448911826","5519776064110123180759081312729047106292930891845193268609251880658830705433","20750786466099303558578845860831937634908544617912415565480052280769840150510","15798767315325760489132964686987872692994717940925570238047784420230331193585","567433434521112381841206540791234080742279927287516260853551410281774875712","16391403911439019484448973048634108295486984765667310507956782776900193019857","14057612694744022955506885004102834629754310001978602939456750538201073114431","17698177298685528128465298198488735273578406532961103401549266592203987353446","14506356872966117174131859847846372170262756655915924664237877294288585233653","11889745823596890789749077573846619853793479538535474896498174482741572852641","15976568257028838086904371689993285445196617581672212770040719579976951713437","4624094547626164902101572852723507795056700722159656748629760282341508155551","15022199219678996727354667799147374096361570599067734481207390034887749042083","8461890310516914992976016102786941165050457592527945955052989873762315959085","3054509086575963631520633315863182977708152785332183337259997415160907095845","14506356872966117174131859847846372170262756655915924664237877294288585233653","9296362220804925104551234752226384203979024033236205671428676015277866160513","12688265548305129213524123982283433383136772509110047948234368697335124109577","2903328500810487887284040113540254258409278773721503335380406605532748782645","12271983753113042626833634560364485293486763667349863253834100408006012012338","17744796207881002836361754172345756972108243302293817629307470887005013537965","16954193412688439955632320517883969169462813275902648614432177779074490622129","2666549942988803296757576401723478920911340699174408059253220554211642279978","15689970856593006158259892732288646993746887463514406392254922588756401796606","2666549942988803296757576401723478920911340699174408059253220554211642279978","6307025001981604557276095751477581176989559254288853588059732891819079685284","15106671954584442557442200864211260493785606980074399349847632055753054483078","6795208382791933114735572030062093331533051902721517159934364925403853532318","8082817983718546987105551276971252463934917335856558917892075900846966350585","3607534072804388173311745844584795163913258697339304886139614455491456047872","19108128352145842008548048053308217665383455218276209300064989051535526150757","17603223305375528970110710410175592504507901335489871100398461389444688509102","15950000082544045394526115523741159615348156864031044224172890462894241606231","17603178439634188462056825952489860474722953595745235452510670608903852152095","13079036262723496487062341719232498854721623596427562123822257284722043022380","4574759938850684302328171377919788556520857555728298495027674689330859913909","5836322900178474894684749559174625794931606932780001961547616477680042620058","18682912995789016595436882433435139159334702280353629213700041190405671371221","18682912995789016595436882433435139159334702280353629213700041190405671371221","14647299140966795168634863382011786101084247791740654785196548451662948086183","19265929620982371511819161020399302006822082297986006761385196152068883496437","13051815778936294959186188778209982533089138172215506637927986094620164817648","16226984168490080400263373201570728966749962184950889718917387268203884202372","12688265548305129213524123982283433383136772509110047948234368697335124109577","4592739379790743343042028868384342794596363702987579215937879797639357089011","4933182101183318250560018811514844142859815227384938275570441539742336262480","12519200710540274443987348735978102700747472530155480989464845837532354722845","17547875379231708590555723879540779728666475590929028917859771769395698401715","21219905789358323534478545279193723251420616841556623254711235028135342626157","18682912995789016595436882433435139159334702280353629213700041190405671371221","19617883112060216036437373002520931262578741557295904537678304364166866283129","20342168169457748695802149508674862964537074611245094862559628187033717475867","4420985155765749198917158320211243542858248750314567273670169360313609199220","3608626711809097355394527544415447989465407554113965209630262872975367728702","7986666009024332686676662864413304092722307894727965157582073398188685188596","17539019008906665692358401403758991639375357012882690788487548831749474497244","17496320222604434917256246718514403734235740171188912286919341525891256570713","4655594634855844188499094340496759182976213206849235604185854128079411962453","15618359152517208456698312197785172766694127619077536561902714697931530755106","13748763105074593620013986383045781773296715695306976461248290420913969610259","20131832673266427475769741534309108541338301173662948074665588100934145363162","10690633522035360601031737428400068881001718255130638825096194976708724866144","18594403705196476767375145654138028270042663039914897358747063340477738248585","12998359993404137434826050598531205936631009536891015167391276398139095697469","9141525190254519952022341797682038597679704914972221193906068133244136674784","14144040826170485243395777956417332299961240009335454448818306795274079743482","1570274245034538183221128634382794417097801245857820047802724595210806628688","13597601271430461916896612582648919742272715556061113046784825140314498905478","10286727453332438406648583236643277009562092681643525436851770105870834802875","15710422838883679733600834907476906094570753444844580151730513642276654631674","8082817983718546987105551276971252463934917335856558917892075900846966350585","18703989514997223432661641229861332310348080898339160493229575272467603319271","16480089772180635258030461748402564771495064968752027484874049433567638476934","2967213245998332384543885104754783540899439580884490432048984202068901705944","4655594634855844188499094340496759182976213206849235604185854128079411962453","18637620888308371607611642373870554933712342468791368368498810637591710912686","15776564956440002895136116449299582951656581983212117550232796150916571692055","5210257615122466358421406540799898540909863599743777249997433762286779163631","8691474413369666750892234614358820289658368726857552974633024543804680298964","13605376995820845471499102796322549845207296468035227481017989756087418839900","3196185115626403769090812264110127828126981872545481387659039004737077237629","21591247897428723764785205441739843186077784027717063974489303352320972773514","1194604146042048350003512364693260099917768421477389239935129766419846021985","10782746953492500078751030180163064462657489179646951793154413574373371915628","3885925135313023686150115977607110368258492435636819989794778250027419367343","20521411631300308681277111693281832014010918653298260542960102164696238242229","17582818757173661762314072926867802933652214827993395929831324522299049413904","21780456150575058339898563710498965468972448244984833163147655946608027181634","21591247897428723764785205441739843186077784027717063974489303352320972773514","8491224372742742395086082981236389730604525807576141462195229766319454932167","156542953578700199190349883532041470160708612831113224539973504251955528744","12519200710540274443987348735978102700747472530155480989464845837532354722845","2544185200680176111354240446924889864706979425265095363625611785655132613870","14897910390493117493085561230943786488745018480007968413736887385270447651383","13051815778936294959186188778209982533089138172215506637927986094620164817648","8370264878441063630462671051957262849187564367781659467838460782939804026447","3986804060834622107770115616180027696529168594693106325651227138002220680218","10782746953492500078751030180163064462657489179646951793154413574373371915628","15976978918004336355901319629352200911328902990447017277673724626919242812955","8328030641700015547962729319084004225083584314272156382022742953974692359024","2476324937951789382181944025361875851099988750579823474754609765481889757439","2476324937951789382181944025361875851099988750579823474754609765481889757439","12155172322986237416023663042004942352608253176870958535098713267207721181883","17603178439634188462056825952489860474722953595745235452510670608903852152095","20342168169457748695802149508674862964537074611245094862559628187033717475867","4688608777744900238376640178893120441686955058686461498962807904713059186065","4420985155765749198917158320211243542858248750314567273670169360313609199220","3145275707337847188939353064357731848534516166917140907835781738084777990262","17603178439634188462056825952489860474722953595745235452510670608903852152095","2235150263865959136421726440400433738501848129328010009098035293276672220717","4549806302643127256376053744839835469729529127535077121646524402308295761124","17492490034871188503809070393464727304143828491765350693224566925126105199911","18729388765252309558574413425774793050225406365031444286319123071733886008203","16480089772180635258030461748402564771495064968752027484874049433567638476934","19883029896859112110244432872192403645617916717981765942483639413786774824574","5836322900178474894684749559174625794931606932780001961547616477680042620058","16653103879864200321986465966316889764620013245316877484022986374603264725648","16698515797824680501871676266202253211872118899888285886412000454073141450701","12233333935383563259381899984287101540154684128978249282626058445737562030151","274144820678452421379816557330510579317549145397331786233749585417771792945","15776280343411227095808521568994471614057167432416502119979098996603887292938","4006308849281273792274000957432061207143923231283130218997109288816872164471","15435596047717285113986137313550661564381864970285528104339022986255133148722","20838188000013629937954971368567014585342187321412629930028751871743338652961","11433874323428772158013095381623924200138375055456955808189877801771380225552","20131832673266427475769741534309108541338301173662948074665588100934145363162","18820995668034441064481786413532066855976405414499761311120499699159123037823","10599184745355055122827201680284382421384308407491311763734067519190170881017","12876212902112174796123067808109407354255021515914362771981709565057633093870","16122380779106962898741444352984715606386470429041317890034930229550324363289","6836865286311343609694524245159119133769123287741705285044672797797129131253","21591247897428723764785205441739843186077784027717063974489303352320972773514","12385792108167898834965686312817629786971321080122734283967136719015404659574","2027121307515028227361803453971004574835283397634149795685942874063731877044","3005814121577142321238773726823845968144595752898226988876012545652019094241","4866442763557448299456393930665252678199356968867077785577776954873671002076","20046290436659560311648463454245918246036175981027749522810979896203323505017","1336458066220344521262880797524303149688311982013949559764047883761889898074","8491224372742742395086082981236389730604525807576141462195229766319454932167","16653103879864200321986465966316889764620013245316877484022986374603264725648","5988689769882991468528359729958078604149342871940113378259733314892811441673","3005814121577142321238773726823845968144595752898226988876012545652019094241","3133838166556165943824029176542597440374447246137252468511956694712122940530","11183511759577952361572566673527592434184886344484272921682811575415051015276","15613087414575084731294247924061147534041250959429049604445183368849211416480","4549806302643127256376053744839835469729529127535077121646524402308295761124","16632434695136893331490691565954322107706581064802120383393065446949358038261","4933182101183318250560018811514844142859815227384938275570441539742336262480","19750715061039895092288075649509657235159241403400837501090850293666251108617","6049121453084659222825489908739822792694774158293989229260853547616301268692","4549806302643127256376053744839835469729529127535077121646524402308295761124","13370115598260167633113987566372148589924273398862423406100474476922447871102","5469955587383559828097756439479681402770241102946573149636380518729022833750","1632500423430879870300869265124598190896358768919584266600939773214617936900","1071564318326244075341980988866027669737011601498674724527637774926288977632","1493819599258016045339110999235422917168609982262840449866816239257578013153","12998359993404137434826050598531205936631009536891015167391276398139095697469","14057612694744022955506885004102834629754310001978602939456750538201073114431","12863950582730082046148154608075135240263800483912187224256340414612337617318","21451388112829145060821974036366132513327328641208732802166144524686108831760","13004204931687393626720102454766944489147659600561337392365246286815729618336","18159717335881315589645032086713288496782632932867903491586009514211947568031","6307025001981604557276095751477581176989559254288853588059732891819079685284","1440944398068243290019815197893325790869382856018839453050014183551865062018","21780456150575058339898563710498965468972448244984833163147655946608027181634","6836865286311343609694524245159119133769123287741705285044672797797129131253","12233333935383563259381899984287101540154684128978249282626058445737562030151","20895602419903453398196391913478058693274453903342785067983129839552891433864","18207961221628464226564927736506330628717051411055463190287553801949660581016","16226984168490080400263373201570728966749962184950889718917387268203884202372","9141525190254519952022341797682038597679704914972221193906068133244136674784","11433874323428772158013095381623924200138375055456955808189877801771380225552","6585682031650501777630925238370902100450071127640040426788913175433490518990","11645420524832783721170737438334136629636818531954268745339783028025385754950","12313143896208759390351526641510039095883815550699902043061685514584813600074","9888239978634522925223196837194242311545989047209631150312165940305433080157","9306117694572387027262464048290209213167312534461525812720869427821619086590","7800856132048238285999367318239374829634076893379031119745654756621815300429","8328030641700015547962729319084004225083584314272156382022742953974692359024","19569641468295105160418177740024945517842897645468872356974690513927041995987","18703989514997223432661641229861332310348080898339160493229575272467603319271","4006308849281273792274000957432061207143923231283130218997109288816872164471","4754713757431627318482916888231215818599754770670360377946229107868340173565","8863131691935358314236967173935315033413820679736774627121405457433895003795","12616472237712801953990641170786430111219637655930398736307229893389737211053","14799475491656615059372780774624370709464328674979516248659286482744107230446","12600480540100512777695577363859185402126112711196993279255107913533806514345","7033259621441273379090690993518324745190856903793390519675567591730089293401","17603178439634188462056825952489860474722953595745235452510670608903852152095","18693317710730212151208513181186966573996077028828882441479768956833225751022","13641582444261924898950561772071287900110836262790950814969623169365632502460","6585682031650501777630925238370902100450071127640040426788913175433490518990","12006531986840408977918622834986049589872827010469069694616415380752223757192","7471975174935772955134792946513424637999023861300940920934522552454330255354","15950000082544045394526115523741159615348156864031044224172890462894241606231","14262959519701291686797273506458134133352406025405884284959025726384935370757","1758371485945815703876679445382538767819559386912271388124907980130004330353","18707594353877082516395132272698629627555807696619350634836774054442394671010","4116036656616283014460785251860209028828407967565755603300238819653622156901","18594403705196476767375145654138028270042663039914897358747063340477738248585","9377958456884255467194088716477119239642797045077236472356953540022684583149","14841990498171696915559636042318167569437811173944889089519208821758196118572","20006509131408258657369129395045362318044780385983476979717124299339121586377","6049121453084659222825489908739822792694774158293989229260853547616301268692","5568143431214976639464768845659406494667053581733825380813024891527928235568","3117586190657126472592128104269081184451127080527182054370687640020932637738","8691474413369666750892234614358820289658368726857552974633024543804680298964","17582818757173661762314072926867802933652214827993395929831324522299049413904","21267939098918134027395634942102971885281982111723141238850772621986256662900","12600480540100512777695577363859185402126112711196993279255107913533806514345","274144820678452421379816557330510579317549145397331786233749585417771792945","20663699746183765412904432768074062935933374627665221119822945660203712880745","2628389834360132333366589026387003814868457686372552787974500759887369913155","15613087414575084731294247924061147534041250959429049604445183368849211416480","17174337625009122870708859925793325997946378966416309900853757797594910229791","2967213245998332384543885104754783540899439580884490432048984202068901705944","10593196891529840628734555040366549092907275204600028371924840487850448911826","1218928037268356033769144531312651840516937586618523437511091378414585873142","19645303799442917520263849382981918648525479954858046014781621457535223129139","1218928037268356033769144531312651840516937586618523437511091378414585873142","18638025629280224617790168906173435277703684091772827588468099812026035539738","4087977103445290602464010775212316926483391914870441578758042979308767270230","8461890310516914992976016102786941165050457592527945955052989873762315959085","5568143431214976639464768845659406494667053581733825380813024891527928235568","3005814121577142321238773726823845968144595752898226988876012545652019094241","17603223305375528970110710410175592504507901335489871100398461389444688509102","2544185200680176111354240446924889864706979425265095363625611785655132613870","15718330550508436908559701395606414201668068552693146421627683872153427960853","8140644209065967749731539711645757673629321017919126168806710308878873241272","14799475491656615059372780774624370709464328674979516248659286482744107230446","374196098865630209786313311346578647643865900042267366994874073365518434467","13648236315809483800741231329158534760283476979282874649596812220944412887454","19356492332655108003949429792555441845806681675195402015185308983898801715851","1118279149946874054339337226256428104508684927524794373040609290637664978199","15045123937812306625997417665247004551483049589009168687548501235926225142020","1689709601556268020419125248006910470935068691712645256591639741945971733744","17089513984383051444012804212344078898491877698852637641465487102929365695051","3835902309964760173432611751283380612399529168609044921165087497368685977916","2544185200680176111354240446924889864706979425265095363625611785655132613870","3348432210747515061385037490620056224077503064341935527160366063098820102327","7986666009024332686676662864413304092722307894727965157582073398188685188596","7567096820715495523465831195561335361495276610103173418515651874250913956034","7800856132048238285999367318239374829634076893379031119745654756621815300429","21451388112829145060821974036366132513327328641208732802166144524686108831760","12042091411871087770321928117714696325647592163332119499975682262951606830326","19569641468295105160418177740024945517842897645468872356974690513927041995987","7532552732354833964818948844447124010555621930545046129036742684162649680796","4624094547626164902101572852723507795056700722159656748629760282341508155551","2666549942988803296757576401723478920911340699174408059253220554211642279978","9888239978634522925223196837194242311545989047209631150312165940305433080157","21267939098918134027395634942102971885281982111723141238850772621986256662900","17080170896205579351487820867879098448749980844566584779831865641843648559954","4781857348503260904895922377303003708601361291248025972804843818012461675526","5001232371587577350490476563931715794477203224577970619789108259266886603950","1194604146042048350003512364693260099917768421477389239935129766419846021985","21267939098918134027395634942102971885281982111723141238850772621986256662900","18707594353877082516395132272698629627555807696619350634836774054442394671010","7236783279316083836339480995960834633270959028443867776543135480683166923869","21570485471295626790395474884741704872769989979943302238757938053634431270592","16632434695136893331490691565954322107706581064802120383393065446949358038261","954361121666374676317512516553835448496801654442662842741750447529976221096","12998359993404137434826050598531205936631009536891015167391276398139095697469","13004204931687393626720102454766944489147659600561337392365246286815729618336","15776280343411227095808521568994471614057167432416502119979098996603887292938","7057969325794614252651980473201258184026879446024353453586952048006174273183","6994664438597925475223705340624595897260559921645516609558922687274714825714","4363738634465882118172307854104596042899685656091037340905869811610138317347","12180564838572574785577178844314834812952191421495899999848160514539788519817","13079036262723496487062341719232498854721623596427562123822257284722043022380","17496320222604434917256246718514403734235740171188912286919341525891256570713","12271983753113042626833634560364485293486763667349863253834100408006012012338","3117586190657126472592128104269081184451127080527182054370687640020932637738","14841990498171696915559636042318167569437811173944889089519208821758196118572","3814718729516245467542823378722292629370285860606484341016365565551107845022","15718330550508436908559701395606414201668068552693146421627683872153427960853","4574759938850684302328171377919788556520857555728298495027674689330859913909","9612640678039527906483661330640693201947160578570955411180830848021191312999","12172459979594272836158443334993722622077942972483988133675801482944682547814","18729388765252309558574413425774793050225406365031444286319123071733886008203","12233333935383563259381899984287101540154684128978249282626058445737562030151","19375155383395696510967115781488322005907183312666977471331313827828265655931","18207961221628464226564927736506330628717051411055463190287553801949660581016","14889586175325483443041813226686357400339931463122742842745317460691290784136","9770821889969753026439714135746557936968725073065412883354694679382717123968","3768167068773898722568469507920346701450511503268567897292049941704582796136","1899628457317453197426768456858589983666227401303606152877725712904770786388","20236454182607023448722579291892888454656044680186829166675261973593187415963"],["19444847062288131493943706784497406601211185688116273754131863169092610576967","6756357644703883372382000235355183123582254014035599689202182239604052730084","5834963883005519863277737060862183242422193207910302638450418995361988638650","14630532141997277216138304497310196564144668507296424668904559464853731825529","276005601789737429160222670723919227435048289882730462426149086438071032420","8155169592408501114771949260607780658108674298838155446397409772814142490986","8496173005628286226067567535490313700679832176191507650779467185231469190908","18522758669123103820765651383058550163152440728027329605661881000152433829894","20717160396907128742447930491661507548527901200271695593644376944470624644874","6783400954785427443777419190369959791457729235323837312105292689987925420262","15793588416019429949037560428655750893129153960665891892058368228751095545231","13047857333849170739650468523722679452310178134682835736334331719537030864403","13702952651241896077447912135262631109194634993417767336774463460551430174591","16771524083619709591205953781761522848915592462004352344297444083327000335914","18362879251176766534772404056399418613362042401782184697324682721000341441514","1921169374568757279790536398590170773520268712196928601546829626342058380013","18007271086827148118702779138045717036566051534448069739899858280155274498416","11677788058520437899562086139134738123234096436757857524455227202665943485909","18567835086166004190967610331516651777840850520761110277224875363942309193033","12549862092815494374468253271773435129600234325866279388210551065809722236154","12545772019827878627361160408311538713526252988913811675565306764418681013019","17790976380038280976988246085058593967622099860594622912213483950365513994179","295342049608542310001266607810723788606908957088698225682924285077522343374","6042881253538576878797032051936765585731381049990189646390895524714385119979","16177540255744097871521288192447267851650838298325801002101754584177258351542","689944521090171958642896246746378107452915085681977844021127122085860793418","21806600652809306442934150151527166374544123717499224666056071691980718320158","10687999924804520822721645773635035131067056997636998429204051086244451458352","2919688173439697460443732931955910957668633676232388974155373692008001074942","2088428214431812495479622929730813017014992498691761094277448089379469403302","3415582465565312695281321795946675901044043725583982633056443485871119407177","11432629911071490835626964427117253752817170646912779324491272989814675105631","7810232533291842805873821935461788355487026463002760576510838277131727012637","15850563248943823248196314184730972664098169701487536058299754250660946727661","8728976634161630217358665668742559554087067616326533741880426574160431347132","15547734297253509235806418165603020662298589957875421913304005171944398984391","3158249123091915580481792507317767452027547932247936126792366337689584842781","8993351209143960585970304728524607023340419549878051384852055190939357644360","4916077676642951295302597643655156805863813630504586598619800437364856520347","15052050566960149294362189709830107098243646295893587902102267385191499441867","7150859141970623502564908412249208973629105197031357581428846816632024424773","5659463774436746876994077967866722465283824187257515817896446525143503038229","19464498962894958485813692012599931383997188482601571850575384753467351286244","15817240123388522852498302303406312726664688503153075471764110095076928497826","5302571205101485049626764959256598947375033298608344128379324163720645334410","20692740934715863051898617710088924214854286115389280275696778859743980624203","16121180084056885385768374518937623712121773918849607938195591718986083243748","17449335744171334550114352347521422770517337704382637045934115518315313519219","10253291411916249149409944484940846312189907495150544356013969086126665142627","1075989933051112270479502705317054499580865741297076182284940703542006602757","17496779585745191468575660181265060269367274078653980290860692264179679950345","3538122871871015265597356999511771252266082849566808379976323073541018816059","7579486643564421792498711360748450541290817800587156287997063934548078067430","12729453322089802294380978481733715584931031070971499485676879773953031357372","6694633370369966210102257937726749959486994134264582443016638266185985910723","17623873916481672691654892260114036685248130649477279788335331445450611897752","6307701910454308121209261684131709903162842155523511946468120801525808144713","2490437230848135899340146974626841790838141435966177610519877944111227880794","5017798776934405523649599878486720454877889960063314088092139283965398786505","20817420597532209277094254254011796300596270364114901508622090395551862021369","15258825807346731106480585334099109914680431439052544107298794895009458789849","436207735379833515948816288186396517305806158675320799296446691642166338508","13294452063087597313135368572465579195169503832488496277864688043228247847885","5281958238296057162541008015360609066403026130630047672176591872125940281371","386042965256259984981370670464051577241496612285005807238429392957903257172","10942243549318138624734474054079356060390652679206672396911330609350570685574","270406167611514320681193466529653886068620721651325372569688862100531780060","21769039780368018587024190597032828628077779629457595552733479023564952366755","14257848362862950978758226475754708328366569815134458955450406250786029562719","20675103741730086975536120126603499078928196755869920413190380095671818551245","4092670173605738716451085900386063604788602581706203170812942738120506696245","15831649561312402734198126328637255008767394666669354210368241338558776960189","8773460264964044836577029971056134181700063958452992767868071607709089255261","15969366571969091014788118571658462634361656562903319995975427897452380798450","9090539943906640916226800382217696518430261301435146060171359093957899579442","12598966212710420863490627175550230608849032996842656735190850410879434661800","5082369006304868528209185647948375467679404699238424225315402327829344882479","21232583620520875935273928036429179339733541639648304803699206026350761939727","15216028261411784444168994831958830734443664066057913354546359559245244924050","20503252723414965832541668822746284724979697942657467137170476075965669970069","7028702238870184282283447120220627544268950018331505390418179769944671024747","13914367585327187338201419330215996326176015243409712364994147816309186215349","11972191955486214659980933122765802430687113190375208665981572404973523390750","14164313126758634946487037847698512982901341175183925669745949763512995563823","19643507624196854874403818379994773749775871114166053756059820550045254990949","6253019705251155387518897830821875987387745060770031720935150387804561656767","12614772411624778073372124421221342091038200351899023491707175227213282820386","12799054234177807811763785306399761459507163662627299853945472202258817984059","16298413623883813223145205496435140924571599757753789623615680953320915107823","8610548149652073334956208860269106926096928271670836846827000353008597438642","9836284514785177186880347525497271134591015465315721313213772552563703130511","9784976878800158500585413974169708349867742257336666799769685612736807878718","470868555320390516869442830897247668225662850353632628471628589894687191840","17307217182098561598390477407238405653820260056045707641305128326328073989247","4674116504957384653684422429847190124325067762798863539680591567775099711828","4731805738765155173300706694658606612354279416357285157979268772012947617710","19408369527037425408359080120949793991326211819391999900817736764475384891087","18547195232973238597820755220571190923184148106985108846845816471997990813451","20764687130261902672266922992036714570336508922412884145266283492627732623055","19892377301785347591650272014822981146836631795074611861111907754644416903635","6413734757240628076834626843107147847105076965920897092716625820251267566099","20860174097442586122448303694433017965295045714190140568637973811484764859101","9976157929114087350046280965312715789783677114993652036414680945525100911346","20443284379975649347549376624760041838634895555678719470752881701519661070489","18893870838626114784034800186442840105625315290994458907142980368089948593544","11133903488642571617254269414928956946413436570602781254462926700298981057101","19260150650655385130131812830419214817760729375303617428649411135535896978281","13461732242206018780892854302161037532643049992617159415492401398338285247555","17102228736482758300705766391088892608834968842141194901502696136509842518851","12272871719359531993455999114365256014273629799700014768301209571123981371707","3594207022562239110254525411112455614396088633713917231917804057840385838433","11285761004669862352633286679979731173931391709324275439550892089674658948897","16102568806633415123079332012340754062427981513856504035688871887957095441264","19519597368641109872437527694712863032289967186787139583473763662663666076515","7850893600020675091200117628857569397261111640016750677979107965392238148005","571603306174340121900401663556670083480079944829773014219141824601049859366","13417234230361968064652407531174824869916389080577175614370178295183391972896","6339479905118967532949951465214069151191196402217454265147854834540663125252","5960266217431370639351267159124277446305252772759082083832329486288316249467","4827913422416492916492150995943144270796495141536283583210133173575222257256","505835591148323979694388175613018554712950286622892296281531129078833207836","13430162365250371418058587486919957187505271111954906160838200205517866181347","11791683213979729551370231161842890041856917089671010365556092948261209641299","13878734884084908403388117942446409924859492948402374543903835601747661416301","7914593516489852442626571171726775738811006144753811688169867990351813492226","10797302146436138655457419302923103882636832085380740614686862737265867963715","4394985227939438982168027081286727479189710464482074036154622396987481104200","17846370028727001276602920123596000650348888091372292752624526729964991577650","1399592710245988806733110276286400825565557403052909106157835149189269504885","4480510739831473990116609789595044875609739639498651344219709760264319707941","11004586942348048001456673131635437257298168527005870798189423435197580585412","17257016484028305690607802548970527681899034872857606356645268286697823560745","15880272219577681239503657424149468083362971750716603748729669119492924589385","15904554418638709990040031800946465318235842277305545433558322594469065553553","15434974732418275887764997429917488815499533240877756132902224733577879415473","21820168018779047045619488779286049910110834277003434094980989418536264599715","7749008375218427634588074063863812252051333204096406815453992945864441895362","3839511695466461913195739285494941868041132999203534272477982111080050006523","11192270025434739945085840100702117964637847488690757055208388489558083138446","7139432526479835672329459147861644569732921891281014828670035430783917357856","13194122716181797306702591509497059325803038795351433491511874742185743961578","12249486681620499703064189091192752491339675300250225642057366857872815164391","12751753758565217613271991442671268614075299410246481820732282132452214741118","14152899301351110068123785825973380466012981712532341785578761964446295185434","13188569584536274764354182121465196242988977215787135260110602036659203482271","8583058680448359031190112033511783279444748692566437598204669389441269594527","20739303906393962278673616858161941640788810322708163071371214143202505636285","1180296912375731347768428538731067445729945471280254724677426248781662325181","6017789428689615319791053684659036780814847053654130311712769439159937889609","2173620618321392312337995148079704379859037528218619197239932038613399941589","19342061241883725191788390495410721837582278801952815468188667976311290962368","11961293118976486325969636275124778155072321144934089356127319435440178254418","15003950077727351663111929517428911404929041518452601562597474042673134378445","11722551667664037124885783671627704449310149868015743702657377612966423359961","1589112258505679428520003152962075989895613700798393982576451871741579895537","10237533647542628466819493835368797714803583017400048476478599541985305410468","5633483783935945421681172594360251312787053845387155338966168908591309720937","11524348046498741796559712688153551628725965921178062387194745025875547122301","4119351785672815550070213600551390224338330329829235301635622400744195777997","8220379217788713766164367196730350016648232008308605440647920160713746282775","13638223826667319442473592100092923906983786522766094318050487349717540347281","12855479012377423286653672887817339438150952573187773204679381183748640361953","18366449890796594374544459463322936541588534912307972856193862784267127118823","14831494193189198695462931146064274924011201974477576494408974317628024686185","11093306658789847420019060296285299107442543903230107282402432370912267955583","5231748467324162438135669634394990945005973450791245562369389835255116288637","20334409444101673859585989946641575861192600463100161126574009339834336019122","10942950770398062877133838468616134250348068685639337507689939414774241938827","21031737058468102950077505705229155312762606827754507238965327181803396985398","14995690437383350976947687078631429818437217746718268679299515186473891812908","1173662311857265316234231482479000224594910385121353149729453581304925842874","16317128331316988904656774031136187679889289360179612223631661201288928381507","18022252460738403017955303125247197991330411362748880642725885324976196166640","8288649066280936236016549066415276935462595711048345269972110782845103139499","8101426167425842649552999897331966976546505505184628823541554176858292445739","19821753079400865197220037270302986474791903810187177911888698563958948917390","2784180484916863460671428583402451895733388047312540417328482549247889132480","4344349451137697568800756375175722014382670587070900626206184353193889614535","17108052563527778392492084240217991568486546407558042288984049724593379381422","7485356603493015640805315156078413547503227090809875264979461763636775540173","20116242746183168873263923842229951811573923370432089711294380935911814240419","9858039399154443683907425505646969133966670338173331647839576035520625125303","5936033307217133264257041597188115964457637953718647112906870372504454763103","10340607376355789386185133452696959378680344963374631186204861558290387937896","15143103911463403933694713744901214045515642353696764687126063928209653789192","12568011130622849006768060215361376856516151918301278020507921479894858098922","7111521666440256973246253704702100762492860379595157618666729636714922588085","7580486685427227006299614937862983316144183764347073757169003614550356572325","12502519505884004909911681176131189323239621629488138970782034914590014092043","9863581385421851101081385563919847832922036616162751380834430385700096059476","17089158809476144094792821264939338147530021791726877719480271708166652703326","7026088105062704237034940019476526637397741963002343232018356066556664336014","994845445499189024937804545514312797076696078022167307949339617575675546961","15876781382035467218016033046055811573116707790724628548144881416519229111730","14689809674274247318241891219567086413796397509459798242967892601162783903120","16802092988897859361455231737511996509109485446405679231988222489773597130923","11709594647859446002857187914237272532186051520048442968950936220950857315304","4759519183626534098537305899218615829180752782224491547499330146161396795604","12571776796240659864426729857318456609425220646299460273766246547672790642171","2769573858251324685257310553432601557929569520156842199955099014544291860073","21350702766688879701309742399569256840528276777122627878991656869575644945880","2526626063522996270964234050318417686046098564667525063669005074312714302888","18423969495073310328067310084757878116209975357377687351451039175700497833267","21531220091658777616686839660258285747325371338144374109694041768891457998130","8427394214275103558108677503145255849560869946329377312496236014365158589665","17828380319195981604154858938823367276654533109286377267191125673334432160668","19783211215983774081961805533835609388239392763346884852979216953198247940356","3727051737154131506128614318795547682671073691116653628343563309169975365047","4119083313708678127132222977172109489163864264438306707583540610970422311783","6252287104931155232025872198136217318428623125187576197254682957610815437724","16710755249167084189102639360502018827510499697025984202991420112604257385843","18110033746887190005442882808977635890410904404891461118841516946874175301218","2918227864528514910093363913084628926376993023173539111767698239437487745517","13157904629518409143900661589841979526819718227397509343138754500932973967009","15465984474345304234742186236252931608183011971272680663570940465290570424186","11878026413156941826685108652791732794881788651335612324490880949402660131765","21741112052399478281259924033664983472268352228185898315463068813827126161518","4747527944432994412143611227692094864627491876083414817086093654783041623806","10277509022239901860432140475301792168394200477149266436561100920061205891272","20754999404087624192417155025756386217241070628838846889103117636133597080130","1227483547193673052804267071643209335283088310397022289984033072158054393499","16307552232859454034882961446345138774643318545424496725987397798274178077698","11567226711210341061121984162541681925200952470462920272949521200488251321412","15424227904345959422619063085953205567698592752523587527109367016932522520639","16823401920568234413742595921287817924794689336332341371093680173736681497958","17178500371576477554985292834973399172166544093847768566487624429998590283954","1102400953040339496875839457489553861844373351305506415352858751913370587559","13080464865068812038556558702873972281884160558346383435106169788680033625409","17566439771637037764512551735908097926933863312105991588803956078424179421422","16017589041969736678541292248300058552736340849527861225476737351214952910390","17523132608433278488363705847003860425511874430394165130941513353774134550203","8092883253891793587844758644260299541045067550613025971974356731243569159353","12321254675263434305822776900976243546292614577867012315420304293383073504807","19531149435917118867843015828825849821207961709742362361864708921630704500355","15354576088842604762866949406584165222230700080158133636047990454918586008294","21332421319707262576917441034633152814114387620450650854230219273363255599523","8015272434831541996001880872358562207725683343073706305494326975486227960571","12801191151888372376060502552634956842440004908360922421581803464085063730700","8694104440224692716427888474719601394171838580385724406065092424387979527599","4765509078609181892846277022626232660521104569272055934150322254832843470212","1707661917588143644633891057877135790850785409331274025620234613394143277776","10787008015387605260759430860865388187745278282497799140302256368934199376144","18194756507120382377518900347608092311408202948025495396169941673887229961968","11810263163672173278046828506977243322053551737568215505161953008771538087012","10172831874213234727939155250453684259406380736682460492997296249444174287647","17213618752642545792657024676808752714343165784509075154710334645425090992985","9518819925372898218456223308202739688600409921430244215353056882744779318092","17131123136661624080110214353958082369854888444117983370276647495116278598167","19754012921975586054359731668325890866854753884616461552066225420294483351377","7462008052105461259399778705587223745964230591131678540554526750478109055926","5484333959594514705555581721735095833500903297285196545219921231872772537173","2557226013119092043233815190178143918872697500327638257441826698928999698503","1507054359686440154418474816353859974171432117437965276706552855449701554081","2909679213050550436618171367293366253775019191659100521218714623421006853461","10665116922568564616606427374948039957862979916786672099258153181783312457007","7437027687262241094771256075741913500475069050164092161144508657935421667697","9967053963569379718319069707565959289787419857073584408604810513462532221521","15718982984756021542737562070818004660368251058309053869841344798298950796472","8594575682392663586907570362979165880675434255219238535736457340406406145184","9849370649402433736350811470041391602601158790752692132296227692446786080869","9624482408802253671341983829498637676172459849241801149966973606965080480613","13354161934013526849172225712805307512472349171765307613219141825881166556129","7119937145734334389233313270329538489802620576999159113776679378225285195305","1344157477128478949987376865221983316869875771654805484027433189770507053978","2436371520942165567892833442377818872689562318523120379398949725464297140490","4640506731710423220152475272336202432209747972077657499961644265967270381722","8134111173406553366062271384030182464082652625519520524317327080426662707160","18835504434223507510706711065799771244448550952615072290009282262161978175311","14077721328629763505638231073434724231382773989965313645642436166756183358663","19436373778921499805072424422947303671456441758269542721598857156355476127485","12568904822717093384930952712937445754376237421200202440659283713620770814211","20314955959257660560921000685610824477917159776697875155847298772747329300768","11405801816929456032970782505841034689257844102373121701727764117532089184356","15371647220804665136508666928297419442325993974748904907636841654537146688325","1655879953669995298671229751452904731600368401825229264959225234155007235923","13666140938671349359494215404645073043195359971495797664882691221640390995273","12550904050297885561370934024413826444188941904477880730238385153385367165600","14073644402192665599906362483011583221003958995020521977339575317519946136820","16127269466493498734385715523881795251511197745525351003593964386278292404389","14837032480553715504482333167436817124130071726116661830299825705998767715604","3157996448090083717095242716808677272509143175022438801158190773708431950360","9715473676333570416382435678725993563514140964778059556896984581776706520887","256184547541958273285404071642922907436096112735647965196154201025022277333","5146840525622632106780932715431071405921695127146286279740961056077516621929","18384530045422033192575749482772861619638670180561846412064951946020645182188","11372273308168053261873108888838115723774928158127953375858579798875763228181","833683215294780236385091047137868434268111079744466678646701850123603485156","7089521065433622137186726201244536967699813557477580528539264131550132846173","18389315271722108026135864703744658330872185858220834005947924896718372293177","5273779548466102910604406559710961194676307482240757707576993583088923382766","10978849613552770174834059773211945346561256353926504281930385060310161512588","2025512406735026708082790073002703032266582308582294674172511260928159182091","4504468100864789788585048558923081175827147016553914221993821395902410226580","14522713701686086398049669439257754726056815369755592306901430082418783986888","1172467899506707275500621151748833545282318904665709759177855581577968013027","4017285937828459403753883561608416496086703957918951620827271391321529059987","11864471167080016922573162728545364451553961508840493342354739707638549565971","15395434394935126648016086405692837721115704686064641372105542066627038311542","4122633947230663267544557410467288252271224090277013257161493137456223809532","12367035182954332461724293253434245043112564579380915260333747415793763231827","11865369149265328070561952780930053440760117444614610585601990621600973752433","21203992229059334721432650225967073448947553069874953360114881444016046128212","4447062027498500706657516396155423649120105266695738260082288656873877775154","9768914556161785389033236087454305484803915332998751645480448064781057341482","20108322604990560980160877548004215957204376010054104051873159423654202752320","9595509101896597349796523888856236119720835531243000900720041097386819336414","14587725319883470075206520097311394112137459424358160384009848233555406814065","5457101278978742540891941392855879387574924402835776693411461549501000663895","12113841369063820983468698918538182086204397742190461968800698674517428421051","16068938140317889943118931947504964857830114253819180369876235993296869951694","13406404344690547712656422177528636282657567373508751252664435506615272243163","11920541176421075939593055125523895823398130674849391046727892158235384625698","18352551139579012013897403430987382961093216812627912973277904518956583676698","10674676651948544879371283545502930890187181335773388262215810803244237530411","17792652617465281251634086173304934915478757132116004782258567349353652661413","14095161285749055405609690234399476131633768997386366652456808192371657539278","14644418417880601716605432589809764539302677626964586647781758014634427301961","12682826801878685279471965670138908278972084615404951130397921689553252275917","16521811006308378802185018489472310864659177006048843323237150403797976462809","7587334525407307163363028377898856862752809539521418102406305044826227081231","2908188489370783835450675853612280861255988950722158120607386028475371765438","5768335837479629879988785208318290476463727379450480334123633739596865462597","18397687037462833823572912519678833347435022340840883701032875748539812458303","2064051903495281633275569322215038029852745445612015454511944780242997049313","20703062910303292827787302109557408114919292642975918255062370581536946280279","5192613644883731002587556312741958983910430944297172298315082126198947618654","313995112743011376940466097068957324809905301874096868794869587134429900695","6100583804412559896713857626556992976882930387670359810813986481223803866656","7568477784584193520555596651137331005687926377144262826447525559308115017859","11965816735476149301106556132754318298248490433423691841191513590415182681067","14207753099541107589311100328670316235529404246579031740240567057338780037783","8175181231439895653513458924728919160206799108112661960299471181538010485894","591574950925877159318533535833931322303268506486282492008424162963779338055","6291500295969425140209019573620316970493238770424073159034492473203273747991","21323803361917137983608045653271447127437985941865950514234012867420827584203","3099253561554789805581090448570743201416121773155589506816603655098155495780","1839714309313076287091568541152080485292267125822172679972972462776530418282","2558200175908531709047812372022758109817946983415270005672004724309427120260","19741248350058279216600684476328478604110692693351318658499898211265333707610","20513396347684804966709449761679280054940274793206626286808671260812749605107","21199395741845301585097008478390085111700771593140616012257190707415683678475","1193295440609646713499404272654104228852330502286294623055524015452275511910","20305220021223370039849959575983199996369990375922681857965899850450967281896","17820107252376141054638728180510570702321859107787033667301953883945482820393","8562102223756709272478881672945718062091524608141507453584726675060317232047","12729866889854088213825002226835767386413454298567413984333803695815667483218","2114069176086645971772669409791461648578645286643393688006056656185576536095","10328720387192484120632500167812311141771979930211632623234748092781923576473","19538747176808583509408758149278829047639151822592778264069763723986282915906","21566485228448007978934061238916445477820075682293291063348941039309377547117","16512874118663027529632973954247179090732712450359926425594828287754653354014","19513474361159315670934532641131225842686472304714306461918568972038209446632","17955660451558996091453589881731410953454580996956628370387347653903874484464","20207812711298497695792679093438648102083829229107494830848501937376854876915","2421660685500283805427163525391537853360580630525738399011621278281378880490","21220637208096207115274223617089911838806190587185640536543744119096826805827","11835649411559295031133501496374511598555615522238237687109557873710817042117","21845843315206305464060299008256175893069927481104540219951750648498803200926","20631059480895873966832525659452814534529673650140538889746811436460301724612","14931947145214186450366175386309608636198382084457683854282076180248650112954","11269118025480001613427470548591071135727829235390508347983385837123112634632","1605115028499197336856195103688387642848510242987640636183693756727845197451","14793151932068045192821467479293563014237700538215102580962654003247886510086","4775792479749631121184048728741675916968972636777338242957201950342436979106","11924757182338412396519976020707321303982941838080766083060365440475015697923","8793012126741532580270517228948233516584291822980201382325016017213162919448","12947791384548987120483288495488647496188362270092208812080516723498086541311","12431577747633669956276147567242529475925082219146607091004191516701144136626","21295609310519517439106939049470380075664847294017743131672693330232031255386","17805136075624551692961527907699002356636158441633111730604045300707846396897","15278588475566957386556949449930796412080383857587931690843946622004601690164","15086592550570758313718621320890905171205067149643603272496296451366320734641","8699916934544892971206820107825237806538121069002198874248662615835467665756","20478102917550226644126628799218539559581625330717095591690828406489686677387","21734112019017835960392215716550916739517609682150258078062175843229766012777","5622924154085488629989980934517712826380247658471643194906695701678873126248","5037675567259013572001419121301772828485815086531243296178132779054418101400","7879292516618887859296404288004569598567284522338026817864475104197386629625","18997982317212461405999296872279110480053417447725407290297221773473330565737","12867218521408319698642020263791067688553778005223894447782779145063273233968","391334649391830733165647799040269744369307545998620269291478209889127672130","19779172617188671507005003625727124894180457774396709811826326667504496286059","12596925142329235973535723979633472987429833026727663225071980844189781139909","5235665914291793592826849798922237619782905021482837663102032574231117695660","10378176145885707882180864408618732566825397818692038984901565060499728433797","5518777162814311292774945630117311095162296059457944243049863006066284885289","6383788836915296003887453192037395923957940433745589146468108910773431172608","18378980065351051303468356542903949047413878986601754325664070607662174625406","802964496357962027925228076554616050639951769911983531162733260026242452057","1151228765048898930945562930707044057686831938340081500592865256952516058143","1057436684897434830336559210204558056100073281195987707544574829513988277752","8304361322956656858271430255521912446914654094029272611293726480015886358258","18082138547469240768624686868284933205246517716350185535250166506919729036297","18560642658541340224573113670515696181164007817863242462644028839037653788889","21433948922232169473983994578762336789729720241688838555383992306060546089653","4345962888225785406562575377774464692418146638460124795786215785539658204204","18491683482553522621865105209782725705891560836095563832524693063541469370996","1595153957006911891245805177782994356237108154065736758857668165866836749177","12745465492150069776755940532782158049428554675034493241223264612067325589020","21068300037504263522637352854045908904548431623139252516417402783919558466524","21379848283598466733133277088729802150576242926281401193376016094883753111574","9100400045517145192842796463728001529189981626709973391364198878834790401311","761526173875414323215606081295741956635544790572881984169167052547500162094","4523944348324037435946042315903741390453752174721180782503374766412842506857","12826905798159813196098719614569295407483904515869413174592666343625127014683","21298301889175245346300576454864405649687317534182187998123555815790664451812","10466120407875459863164008656471249355019715662927569351006572823820953788770","18765634104736621669847916286108860226531877076283270686539673115026794951054","18029301674050837995501532337862434439785535856508206309403192619917393036618","8656248943628007700842555256812779240721861558942157285882333517421090859241","909124445964415430289446157964020522347064797918541903582383763270622833065","20322508313744566548149933895745626560811233314858699012656697985674387463552","11473133631180469596497273861714489893486108521245550300092095833600832127254","13886897454587288170317041019583091209557063660075562594238782502591880617730","1388351321374629053594529120028798986653727606192516406127733531956260217411","10820498967321126905058350631999655366739224197864958698259285565142810221774","9047437255774003551209946810681504440615180683867384529725252909718397576529","17682412621232111800652746737073732995871115754692913515596320621857114840713","17459249118412305865677329263167949944924745890546683445077681421571205578033","11260954622870514070117395143161679907416702369566601131920841166642078224652","21311356397831915997286783986273772284683252550215836267508561431199821451048","11763136682097804856942897773203126982150872911828688544623632129427460812219","21842630190420364126017236966197050216368815810409077092920252710858332802605","10278342550043948522301945276707570006673669578955262430508437722137975686347","13669836394181980472800926591849938243993826306313038236968977604089281032142","18982534836139734957526305655442344936227781958587358112416788951995174742854","924143300713476371714205215173483600456664902950245170837265326237374786123","648653927285053636997438895046220979749796246169864485502279639829145629278","5468004955461336959690612122600291068806333434489556112046051739596943193825","8198966717021290997043372415176306737647953294267526104476290516107668308327","6330635298670709263682446486509049538654774571294109306447884201740681314492","15801944407747674095773310676934626868427752390875620230089308747846331256404","3507827835726968508794483439124475369701726928422484362860421123326683863238","19859419638162971296535544182202685481010250129955481751622623103942606817204","2670989291504532792325900963509629466753053370545313281400138104314529277740","20601648770014328601409368128706235447141623327602444994362138629813091391329","9020250281221486894014346959707974240825231024554709686306581193571046947004","19448071090920013487075559489904268747031170350571103602007176116016451645384","9855626424064670213123764401317371994977710260418114099460019043585303617049","273960241475408299521801713993986326049831910833352543450619250235219034159","15178055939386630045266985854218396695095661921662396071305063121158729338683","16418360709708558514136044760916389529230612136576500765316577679946210432608","4221665154001721396448157482529680285294859819946962645592731760300169936774","15928426927240248300966353802918564700528184618416199798406399357144022404431","16641721098080574825584685806515290482647504340255838968877260490026580761685","5043328033043791709396469989853970276607353659738086803538716424273826786751","2365847136059064646235805353745790884320090296651246286300639444304747972170","4041703631909032338305847932603086185355677713004583954544688331535508848539","18955336159113062251133387111166001228674233452447804151061756635904896062707","3453019952400738475973808782556481687694637205204259443905142749926960789869","11524127246411615839928909719208083192110266130517385283239210402864059917695","7492331547692183757175642328113627423098873931750301487361682365924780296700"],["6147626315983398599623828701433547333453673391438677577603594265593492970579","17373941468853383126219105459190068607050821581808945666945628085762579781113","18675852993023932535703943048744467387004823435670327290887021721028261389122","2852369548793040881968762533784361230628321032910817596034076837353628838943","5808467217603839720723505746949026082419372220269554685256079561191978282423","881630969072083868970336367377553654445065403827225682564307597561668597575","19544569990585406772407871178492435999506060638507114401323899877313464549579","14878267709748128552530883948142489440260354911618515434884876633626486579649","17343819805602859300805807767921021643427945275478160475923718327955601493598","3147144316923493090898234228150076463075245015934615180699926751367408060422","20836727665349317544574927486063082355196001294246787527562129483352381083452","96317145595907405996130011904544599751055402678957605793377422485629255379","20396399042769838623280415410496555539316767877730329966640626730926403538050","16544170913650251958438511948437422304220931730646181712426172729311415616383","6584506727240961509162532209184300869090704109605569344599278616387977422824","19590566998868166131570194251669644997762427398843457301697274732261028743482","5370939348013017640853545726351872135226117514092676042183078550348501472430","3811261164977684952917850156691783437850828453502434535632153500394919711066","2749726461932787493809872269818342486261987625587896664994441378571818459053","11383915573983550688310113375653707661251254539665869167504588473259548645124","9916838988690774667483310481489200062268225403498599116738660259134492019394","19136188641055168463315034876725446731284472265583750601248498822680260653971","15887516977805743066217960044189842288305843582510102551810703206237207936575","17786336987824848955338515695131540821733411380051551383014609903313869530398","21005051851388306179077283769904047735509863101513109127654074489561708676041","16280781107126745125834716140922874326275066681906520932680370323147962007407","18273950651435988187072089200354144803354368518942337504978631619058165888339","18614652687185018380961130295677654222896772969195870105326190888698032468947","4648922361007933120465784894534004676668545278891300743738784783083164272952","11310213903650223937806708987912823331078563035902775716617057417534768150412","7092536296444781034677326999670539648216791129534729748520186653858607985630","16270772820615792622649247387660453356874032254909236504742474628472692028293","385367092325849782070593441039432083386681944665738979932466043995962540397","17805827342754632514390359424735316390746977081512834158806889154912559417928","20024907198154552436345245141243452270494636033297743549316539293869591409833","9234215646545489320069965310786583269490329356796444977441184167452078293345","17108590030314435824853432467901019859333457116609928515585181187173490423143","15910315900966077593714516016038233988218165769429475135456816210775619893043","6195529693120591346695405780440805718170994701745792651233817614742815203519","4245441012583870678188242646630412070966678757506494973612671283946354025495","2304903496039614013605109532969224328136162284873560250803845559468196156250","11693016457541736187220331042599070447664888658389150771534133194896638661901","1776517450185237199728116828598779967801038886584334689860313819128919908981","7806153986794341965459846938333081037827814782827885300996474222107928077822","17940588722606126928451685498548023407258873216558463377906081460549591575057","10371799193925909119136931769852410380947084603350351962123549948328327267702","20122148120685258769574029387408965700271219988052875651388434729616831444683","15035551217063457270042973549639483148607470023686796059163084647483242309786","16489878967514620362925449612730416514860426946012382948452004149598402083056","14240790414988975854386511568244923807338302009634523655466832132581555975516","15133406953007414531549110172748354779664260706851670137432180705639417343549","10690705590498820694610024170434557617847607229814360354839513194179728718523","13827979863066172786489124156769882364122124730007514470708895273478430314352","10710843232017112245199417697882565131311711949064640083364964016238583286376","16219821984152229456789841617124740176636143790533787306195214918183002289404","4443945405253668151711239889811682417722099787812699348882165569376836194505","13374936606384334329293205906352917858363668730599007422148591620583177873052","3130547537528629940846669185730749089538439536961954499553850136295109479545","4303969243784057034508123321715648667535372719281283244828773166674886261201","5989216789074209153873415762140487008397424300536017420337913939751018987680","3029463357835799909868216943346697078874683636588794683737453399576373478011","10476618143678752746465404417470443166809882491668311058666046570010751632186","9994925982779240617159890198100947662001398642389912929229658664058421436627","10176970544481288451346462511134758722164701220782536015402174118877826889800","18424158448523814893964414770095134832293892346615425373638250882224929431363","19366956079105748480886421061443145211970920795004384777659195934741753207944","11091181874846694774338090174372100116252530248564050096856395252568163657858","17353128656714558089667149499397061301594727975663152036301560017860428071020","13238006665653699249266914212871756817371819001645951476708047899463834219655","17055039311662343661955654211226746040465401123503635116898702099310815674177","5286666690003794895264449438418387547354350464287559511315554292024950176939","21392902555527188320634786446573898587249542929111262797890644582493861156962","12406681026512063332827308700529401005255127889048956231922878327520360845401","15434870710485794945517495742061260302820776556272580983813299352075013239869","4411491701113234064838089923553395617470727028121925035608993460932615875057","21024748108044825160048785654599582463761474190244764788874831807499478838044","7680978131380729207527636139131932637240489018432030824029067562073349627035","3408321867876643922057696479500927118853015770099176846426613051383968395111","4044017192507961081067569272422827731313648032811501750491406776829097444161","18331703123531329496821809270389173567173788148638525857133489033465163738374","8581985490532916637196455609081483082508040719164880448426655573293277467062","17097175177088407223987763609523437237317521418906500697394784959942004837183","17283357547543881822643982373752501634581207450744975027579424701697125768519","3114289317415665754315257515672327794564766886045727889771094589828045932059","4121982161232138234296918278643894219608247208937391244623132656218561035287","18319708437247829803403759962528832876979834741757230504257542910042917362674","264107059990458404050537285229935399100000658138987761233089330774579905414","19245962424630901799103732912445198554851301611802664729994835041984045352647","21481268955474162972538912477676302548213221412224453884623843567742457980931","13054652880944215100409957427046741206809909544801248923065995115092723867125","17445423482926512875731005227671884579111686501047535297579963992185600838705","13989585853109988062633188826244755875692853006739238542727480592170337647991","17644249062718367051707138555752661559694857297122633537358146305277959197700","11213280149118368264941616591024002649789370846345639214204202104395949573001","2479430738743447865220578715093732023607362497809812709721841147273010985071","19170346831324042064260292435651736023454774283928671114965428783767444651501","2249773762348190221814627264878686106981051077241650380763848925904895399587","15785155470883637875946431544967116475458109417323663711972510236612352559606","946428851254816645126686470157531364802207503637938152327774118754374664228","18081301874601965299421330559019912584730626502654796906499991148349725577704","13638831153633382373670579690567703064487867416124713117627597359296662910776","15731178958324434544665473314389188985713105014648908423598119023855377917080","9917979824441332180713189841520827682801122499780827932105321535841262104099","4477218349911392146745102565364781587379138332203307397011323331851070628289","4196116502992100152382226026767611298689212092096205622483116328361954387479","4125553640263062687363595819368491141976517437635820252286742313008508733408","1260916008238883369640783899703958869740490511938805562587993523697780059646","12030453507844788085837941465326991051577705323179782129621819752109773617130","1616729892142733988881271632334115354383082667129246299673207948969677972419","17790116243542925627055862896879089936668179540204703569058484177080937502249","4916826165840990844304507037890792549751849160422839689006410477257882391042","11584213073802412059271369957747279514114648193038035041611261743642554198283","16719835981206947895865946283283198567714807826433642746085372541538665338476","6699399511839905674805128446395397180664778802443708408977716737554091911123","21780850712707430600781028241084903375323034847472170705641134914367959985053","19650714630255045094059400839309517919992981015448837327702161504806266186096","17728935862560672332557173079197586635912056977568426093575277173589712551874","18218981656817542290354649557423542606221103516149396438505913482628491393745","16173320918545320350179263895050487620415753262311467001135680573821491660778","18749132839734280672991763462021231851140006460544549438336391357928762150912","19804729718734886506325561935920047752142654855830698311803656972478290268053","19852022811935550911202582188078555585552613695164681730307677046973334627440","1599238738915787308523391744992048319751794205228407988676015490331611074242","2730284211443506246137882698953449192620036180418562865041025043475273902148","16642697364423389759779785009909902509686802244536597340124664260693547218575","7030277536951152393489269782340459687632322761209815510891507421842401544976","2645282365316576153620189595563363498245471716604607785997545100954415436532","11836599958145463724978298325224948617075734206019980907941992318726742885090","9379836389594058052193342143605994573576860036693790984289698770005233003816","4936097975532856331587608856145453431462626157074390483327785374648647979182","14261272621177565679908729509467309781957277604700789847167775203637724156588","14384042993612223493091843709687195745753711205656098174358380328322622785674","7602522474780883033451932042024754309460846024406091409064496525413778743895","19284327179747355275744653991040577201544689654594363414180160712801683063400","8732420760226712172720096817390921487059254890223844820526135811172306039693","8736871804423236893739486045277613796724214967823222024310614732306446417478","10122727759967140400011531456417357002819799283827520027869345304850304243508","19600428976911158591758195579983230165311737010182255016349431988452518779459","21412640599888310728963227806182550957212529173812561818872357742782768708282","3382834884251505446697465695665888436600985771748054896175510070178943176799","5424268238511504833112942792546766462909191487396278645494904715254618246619","4984721874344265817742647345247970905833992888391940986059043485748528986042","2022573256442159494507968677656879636847262260354573370537255737091303819556","11258631584671172573229663590119520723468593511856614616016550772001845679866","14324740608597503028071282210876807343017578554502044501781245297161562860956","7445577371344670075033666971816988473049110374105172758569837792031494150228","13265606669106939823865364576315756612847139875689786156097851279279751433679","15238598484646922414421482495816633433705816808586791968083189157308379106115","10725523252426841374788275651734494325010706400301821980153464968050696737279","2633265364932628352793223988839752923311811166605503408947317749518744833456","7861175100418742846275793570757956123670007434573183352685296812332256704932","20999935414216903738941146789202104744586510072221252339001858617626303789982","5977614056432951814585414112421531222403223146602229861429936680581955055431","5931860876714797492092042112133640002267237452913723501691750002357001804830","14562008797185891958620443495496757871981918350581241703926621633158489195321","3505336021898609386263210131367635622704109853221241394942451388531030669769","16578235706824809523014538640948495588856893463000137040801413215727773380083","19375742803446681387195879499847072356772969941415230923234757010947456367191","6255367488637769736903949293980465723272271368601658401735079096147956784460","5906589694839922614995302078445158282424694339180630855015083500482196538868","13065708825279387211110931433757563977807644647530652721233367802469448976082","18232288076160370323511493082329108072058465477630759182903324408872159664436","9270542950868120082380674008791159538242222696005636916635750372888607203828","19388836984681019018462719709134421248793536992065958947499056787254258751682","17644385837318767408448645196495912141788591335975890639327420146901601072885","6455842021230030087723301679631006132297894313543816349547744163571857006938","12651647178446817886752319997848206955275956948340732199496215365053869535220","2038361690839579121638674254611449047008451768255542263231913955112979412052","14552505619309469592330707557293319610565413217299690813565239349254723939882","21809351305961289002997783583503461155560460938189863591461820286363980258154","19881244303935038444446962795728167560499810309912834473138514895445137175717","6434629727222395907353855634693221759145469065378967099211977918254204835433","11036466183244547002625933810655331358597012489081560653011525594219740881518","8696860013373675168559529464941134452066614743853560004905114221628099326183","6286610834190704195966860183541611347543876431770635371755207708407012119352","13785489482270739528894668899177561091226326813787695987264179185340645885448","8810497353129284320787428455370522511595657262006456870793996863971532676464","5950943845893271397160198360810800783099372758072046372020789345881371710825","5530915356962172707660737783638532094011201648224151382306028119770642279776","11091512250862371871604003187867080726528592592629078709401778342108977650047","15783644080397148510988340229704570796603281391084254749002543719002855287616","8763200105989369123326685776257599315907057694736599355967140415031996938110","16265670810206356417408073001772331032782360202117620221162260100178521648170","1060900582879546587300450314779603179547289174918628695451776494250751383469","14744516682282904590256322734403856848450648676567397632124016636373922693953","7963533020284370085512706609272793180113190314656815518091154379468342864360","21847103720496839760484939812661124697765074217247378137013246709106995512794","1653069435316409742759195996639155716495640457841657992745920070999323194315","1779277606640375903995595532406543892084224209567520378547237815999026067520","6995080044923736291442893376098805495068105284761180709673883412002971316831","10811321648124662138091377293526509914253637698173706332138689100382399963395","9601406465257748919110853775299124310985215012739412476110920449990474867354","18028141367193319054744440498619071967828221741281699864949191934036691507436","4607466430137542836150125749612147456128085309366797118935148996775246273855","15800640783457285335285505218287458944442721123666981076610926748598613636214","2112321293659869964303812620622373297871082794056351093537916002098854382120","14996631991733135844452595251336653836804943981827712201258451368176439511645","17520271953040754474711528844729345396665279637573303317828245745304573322797","15992472430004058554983936761614313471735664568983200231292353554082612221","13077407987480601704167238541689096961866209332906459397795676348552772889230","21534253000075971492923776155947583634689953016934976887823337792522221291547","819226293199784195154719767176522957736326171336737610132796013897711980028","17185725409385154522175797801720017361441550294043891637734656472407970636529","9575382583490973064980234314462577435416346301295239026337973844317720284455","21099851176254120774822574655588411581847669663738341957209759249291625898415","1966484535215911127324696991190082306993935247312211830919486710094847788468","1995818881696667008089141246304344453132036271634824321961354608938484533959","4667743157901207120637051668285562840191620616648732757926088699083644960980","13962937901967387497010877515712463400252815508150832310185443339350530772930","2629021746995755463136649506818480652912581474323117052162602164762321198516","20573270882617293078262572083653232250462469010594696343790004182829624161934","1913490321993231846954575139695345554332784169136285969356154414660735431290","13795292839631007915139444096743217376580091875142459105510805605582305270567","4058572558281095474323972096333621226798264350365788595026405775805372802770","17437029543151462415223319777679469646123927413521446735086712751233557753685","10258511040614960594008243736815460042536086782694789106787660436697233524699","1776622678963964166858973922665602162169906575558986124356721214967791324096","11475130909983164952012365599635166276537668089861700179995433713710298426958","2952755446410776844254499627216453159408235799061277085887851310752744265074","6624935776718778024845266788797012050011811870823913061539098756037591400653","19954266552453778490807092047530964172323837367905505645486543751921896349997","17616005977353868961299963148697997608390148348790301665790470529963563572688","900786527730568780236819563509871137970324714801299371788326143178262067587","6401534704731549429505440687499634640537230220192633410570095781266996282430","13802560372833568212943129492681934904640344932457172709836721179397658071966","20720041579842235677356944193781809019573930260321940911086044513868740779772"],["3543030996690731296144302074945644993940503512381940281158340485163553427782","14456582958634399729802605390122513015002601504508513170013909507149932778448","3126860645246915297044088167326588591680242124427769024481453610883810108674","20914220112711669635932871895638920862036110651562335932445860492773410166435","13898153337128326598294681972575411161373345548074764167063930702810085143283","11494816488079691563548948406211866308670367580609805045470273810278613528125","9265075386546133998992345241270235168672960377452999502776312567277548502287","20021949048926785450343828102540178861758398598932480397004304243016805279702","17919773090671305519402481279400246318283722142600928508878399512593964809604","9080338876332324361560940283287671152943529212088083669332838878892426421176","6966820873041565099335541093832581518388062131217364208125082807748337444442","4754959170441683519515036606259037626662671578099964081061043425010850133820","3217229650060400896792673270994784175046872440086333007152127029946297106503","21816481050785200027931285072395469615096302360347994694687269782499273734112","12807928427670068278917234235986720684636259679372568354055432889409054949297","13826913883258807838903404263173315859327388859817776690782622774806719577704","14715508594618229304924912287879458078786871554183488309385936868120900302162","4765885366156640574773808467306355912882165708339460440950145437341404320482","16722014012556015216650093088291583395944348552124898992216581531958560404280","7431786809665367144168808343099306354449102161270140701698145535166533004774","12514561575784459520302508925923482055587171874031496440739369331861774361144","13630926037601951290173737881839381432349720276436508871257961452732302249954","2416414043521570830938077478600484585162353864423849325238559208774076695812","3198391645352142061735535711335633217975113436438561010475922095171958777605","11503289488153380408852849064024910165225110948930885911379465054522594126035","17945548492985099414247885601087617115151464172983108926121249791371051519441","15206458584403956760846691261964236163202625304606621285728526159502456182565","18664803356744505916174195454562184678127127391413155379212300226736271965412","1932464282660454008791502282337362663506272754054933505791400845588414354525","7431131941001012844762212013511267729079957740244748755865134237672902463955","12260867654103631227135400757666859922137135589157019044994170609009605682612","3497692461171356958628408153056941313451942465631342687440123894946322982488","3611582236581069332046877419478476119433460345326857976137560691859450607136","16701563436812072022168694511067148429443045594144653838644405459857156283101","888833699088042159861509113185468788045755593715062347382548583028812466468","13027606106406728601332828518562058143615794059325398484231721019790789708383","16867560818956321945646006921505320613308271522776810400640826749438161909114","974286375063546693308153673073274687620807584704373288927095698770718355705","17164647015779775003667370039927920124381231953899936293739647389770842412636","13812735556582478046467982121127334513466404260587580530663067858201550350225","5555318749169933689829489127869820565736743958465695916577439219460828287201","15147736958519110413798327221058929792029254870817672304916259386717996218939","9093783603898735286753718269047404518944180735024302663202149030626421747264","19663528847623587912647904265815395529695410641548007238438947661221514322542","16050486874392688445392573281672864106952702475626854763551538209147588502217","13643154410219745091259394207881994403403664040943113504535042199360092675026","9994393341493081364074783836589113425357957616742680978059011711076524628096","6066727222812778846340829491283999369997291912496005263368499243410295288304","10275229946760815401870389679607490963497978883421730792100185293724085428674","21497546743120095993008732541489604895508606688714374565152084984414487943856","5410109209131659429652823371440397074564204322815773631417855000087652072422","4656718504694933743607748372708327104619579523407806362780445055109254730221","1535539668205688554612129122232712967981273484635206844376645263794510776905","6014624793218490271238764434773189318958730916196905789497853281972696671247","11664508187375558355195352743803150107793615135540732262825506318914225480618","6116179866134076212901873972162049629714787777774217125320617831147732712881","7156436421089505705028328573278072913507065296883146744244791316222380266201","12054467471426975647973340270599475277601084936967912793090659824480359129081","17043004725271027910538237148402068222835120116965638237871055913672994258597","16220455773823909794014715905765711732985616219607584706690711330413977988212","15859369801752308916251957941263160908672747781155852511743194995283478080957","479331876385459584849230762033048956240784621757125043523833547932336732021","17371898586803558805199285151576387708548132346602797103748639637481352576986","1669923098731048999410343513821846398616602374717981505074961546289337325891","5901847159215544530876581081126932589094431032258157198770582781864841878766","18964305080922802950293327616531540488576734432289534207487783803133028591534","21391565661610588080023857012644286006317523285224244461722350412865334901788","13859979526703965599946512832991648449058108364323767375822622250546827051763","14178842945330354151475041451258011251506932092165564803585149961516102229203","9732424347816228834779162921453357383035314691484039491038526173776392679930","2916484128690250908814196431868649363158004790333481812642864057335419267559","7496978836980754621750472326738269854937130487021159668865319635184235054270","15732272029544135687655369960610276709515477689734952583097488077854605780691","7867892378505499328367956370534010327619068595759860677931756173774607866661","2645389195137857175751801166613941761522924817957359363234922821861168369453","5428648673026825822348517069964588690890711938310863981949251926666891252998","5673097051473314160057127163079470500502486665904121175631085109229208920764","12213227243584803853178095425113463791275833583767127368163587230364245722339","18715899303501270934030638370927875241328470260353347061222955717933916891297","7978266080893459514342371863321441749862125749732741901595103595919695778835","11533864861650024617087550487008450420153395602349453386165533302160941562372","18450601439501348601530433257154147113861051704608419841682905432642513197835","9138792247850488245323412019837764753108822692897704202690513828206269873276","8780651517909025350948438820147097471614889914797642770395848326995230079810","16579891454742806064187509751513819282821430255175477305656819644332932757991","20749300053175474642021908869135322928369734326957417903553033361402813233282","14678025512968401250174091062539364192699965591711957564050835184613969981470","14500401299150087749352814234198057059984606531881272078945247743949487640486","5724620856479473091459642481591597298179650010639060800177645976144733457925","19112197370309313151147636092745145521877228675251700148292900136536916932170","13357726589469288818869234910529301323312513752019046957819344054565360588780","13374527560449258023689134260026613122339366365792290373325534211336697566956","4598648858165437260062263715423329175562992143452805065351481409276538133334","11350678282945894657287678422643168089297300739501707849993226500027831816754","3542838338928314843109276018513499150692851830271985332322006221768875867536","6915887598932201892744110121624584826388348577566708154030055143862948900209","3341372370459299156322218222512239866891612731698279185818379265788352168797","5465946929360194216023533683821008640072612018293683841488258245599905867230","12877035916601231664263696261369822574055329194451355438105731392920430333083","7152734772764736233496355792907418897029921786094807846499854978916041968421","3637783930300588858775792406146355117532464453208333425534311131944943620570","10014356913431431526174931647710822588072509765911348937997695830388503275168","1363032458635298325605180167581231122362341661979419469148204786413525015450","14749299418008156951304417344478297351805724111421271311859650072310778072387","17861121930186335338650720704614114161379448007421588691026444381264236189922","13982875176693656046913549248129840458651715264391216676392378240291122094805","17013986540180225001522806840753604869987807622757849834876725452904460718718","2388488441230564305487777723403725189663618052806260479803532470400273033483","13894658705595595767938737767669216953233363697170846839350285544511007008320","14405479371656690634733468702992982854989857716365066876824883028890686397274","5463406390085573883494999080478626961053571243436142083968477629350392248406","21534264698621976459797752593999005975042601484874798974898661774235315370253","21799224364206948450546005628308365004329457058279954233217003747009751813980"],["4674163295886668713721676554153485700383365415679648095685497378991889125957","20352935218386204728405947862710237635292695166913064017138871016474654829503","2592327317691286673995570769733690864734110983311652649344857955817901667605","16569965928578428536982359762305442141555631314673045263042967399169881481663","19131088716759828804870846683575351419567519624591961034686838811980854480317","9445249257154711404997904018575649485936923216724833070474435497562129184354","10263849450559453197266643809044161235269801564997177723771131710603406794657","3056222600207721353960552490330912452663290310028010792283928265227487578173","21790657388633280199755703552074152351760568814499175261713202273123354393653","15632854714111805599199016548148074406028161048345800202040891852724322865404","21055196030884358213128268053901624878656900226499964686210806947320487929084","20870802314656988415071187255580018825359148840256346431540367835816283233663","15616534517743330594960982114818869275309504871292088154595951649532209497803","5784776489399338538186111556208328817680916221272560662302058618935625424664","11524199340075899550845010989583353304937552835400935278913693430093835145958","6111955760150452509644281780032815573756917600365327410927439475076299492518","21618401442204665104986329854020260011488532608326424508093871089299201575674","9730498374695391045394700114591114475449040690008311140197590770638012506878","12450960556188662662174828467496697802873664968238345232698790724056489477852","19541588514194638760835578386391719199522674962225668709200961614811726952776","19932293326229311363288454122969308710212293893428838866879338848665668402397","604198849257174504677551552215661304343812986564057281411653401089383990287","4837206815765999838881694117090048237839208060322594233335602777738216787530","18830045323524997434973757449753199597597645181672539201484808179922595941767","597272048657162684432562166735615322949355566201513589220267457713801638231","1259257565303313693691585589383644773076852691198301937638112297241050998906","4299692760889064110427645653486657433003877634188292107545657115443318790741","18761514049733775183377076664698188376895721558935093039415023511830645880571","6365188664980535830887561182548117129128384651566127038255166094869781288138","10908245784622543297925944831880222108262707146660606570412640969461860215559","2993018118327211849601365308091689105225779815146751382435760912693815943525","17866549521241267273147593454540911294575012954137157106386791620196686306843","7588028284719211287685446874927984833830446870565937360743716093239510828705","2090750922500787060241285930607243134795297756000749701326291975063085030442","9457072070171052855412092923825503562704627349932867548368158306053472163269","21350677681867862863958401218481076613811347308327323704598795557647506601048","20770451808866000075425992751709612657492582152945338552610276408968142282748","2745159125861577162208805239818265210821612624943688815260513025855030451876","4978242409993988630548589666160972377966237165841561311622261456963266093585","8957122665158680185632585169710175898594503225351167444908975902379752039529","19785721977895675912077792966249940018620743361119818565517998582038530845572","11861870201391731884519245957624651537058767900307989639229586431063741762358","17255005338003805991070153748300808006158858491831332904540491356269058934807","20968613871554279013641220706303052278063770382104154194145614761598803229320","17088772914095596168232405755085581150280602134464528873794740219829997655905","17762875723381349883234521669486732244273741572046761163213388126273123976716","15757253055041927933508930441807290266967740722748969628910267606081057123247","9296526004150722607881458789952527402293389026976957647013649334875654666846","3258056648875256712165532481568505756954239103970575560653877933695716301019","10077274438511253450890613064192766199813655931242373841397350705759494726833","2485034538638996467225599076052442891342629898657527900536984935467064278829","20576592492040545165717975426556128169364393232969413514916564746364553078536","4404702101406694105795814505550144493036964326057335262710910677583726782302","4390438145706544373827946112868446908872103380251483996161316711096059314249","9320005299875600545246395152752248247569867819827474604280747799854851456406","15328920202400920589852925898624698939637026854484346389158880426029840472715","8486599295438187080584450525760735526614520025443333533944573774263533673664"],["9752260370971488270527045586368300736990068930727356612443733058936980331181","17861152003533815607258975980932083069070125130602569693881058150421024162425","5478494136231859826920266196710092163036570975555566533890278380032436251008","10470663114025860164205954011633511602249334550961664618144343510421485102643","8584166711424171940897653413099916249371028337527773813210106792825433993045","480687478798944972518402568634409857315487979030618520260560257514160422118","19050370281780858565019483243537472514353065987940901395981643695477442070526","7909886408711298712459179052698439249376302724729633721254586660282875932937","3422546743310933069772687665765317843579486790338039447423961278453066592006","13742327444822703543525245712246928813767223841816014893394911139318645136377","19985290653818527520481099040857204751957970313061971657480471856178364435734","5113623454243607312202962083851358306245672221703960790609797677771133546193","14116233721356660472284501740073810322785672551591291061323721256009346455878","4926155427866587734566793124447479446126808496458547974505225385766449054331","18737837843661096774737022603512579127563955418171470936320273353744942252119","10488727327274145721487028816083558148874702222936756843781953611817021479453","7430416809625816246215887987474320468895157902878142604273583498117862871629","15362958033781690751249945980799034135612747452438262501485459571192039957761","7971998013662637796977575957753688748657729947937463070177130208011037377134","6181181645748233273792885809633370176374365207286274393529265842466407115861","5314629852576387633630556100168250725317801821478381622914586992960199366","4515888460995791866096611222708075397170126060611423125117883548580281554338","74545133806554228861741049751398547087539129543232065265760967657668834985","7620596223797793424148158028949488299269254840309986200826069272117699745990","6891523215930979790200291579163513136440547056829176430750166726452304949371","16099728065410135581098672343255205185915801569430121937096121254451019507098","6557913779080084600620474619010501057622990909691220199506246579366751973182","629939504373643127852968084066404538738439068647901008271397818529825932208","5796770995540012470043939162278308205112680750304267555647836542430331213784"],["4703464382863044657879311175544785995557811809566957314411289057472490527020","3843782899730931149066837823855957195082814690023486343961650216093340265958","19753920348283277126115182030019993058097502466641468039307766133748654311731","6387046033771728790683513731756820363186884656538206941762539587100790793303","6083333704170189791347928946890269084686281072760260996461982250183813813455","3601362179840050473869565367769437889028980382089846018464370888724390080742","15027638961056161803405095516489512786991681560756640705495942526018791294016","19710873932029592796622363789856158433724106192219625427302644279655507023367","15638024414045421488677288694998914769438007035716986615640454221215106257457","15226555011982219477858209163809404309053286511808301742968320176656943221415","5370110265920942801753988420413217249900497386077178581974767910364898916037","16446764745477539410117561326613320146727869338745239407663387010432667098744","6928924323713233714997990198973637030825419323916177069979007639608046912970","19348991226118506958152269076463657327287453752172685562174237622786490116354","21178915382594959890862250421664826278642329218140824648593071449397586077827"],["18812969291333960246714927634541285791301021530654461980802056598587931445724","4704875114419935020350178682811140808616028527479657778061958964369984912380","15617352465980977810710937287156471405834630169023818314675251313292328425896","16144221017969671721449460332127347762820423413386277478456163956038616567891","3380797458259597109673995325806610244842743962089650531774414197031119011667","10808087229606934664635917926735817482378681653152030112405462220077698611677","1126944913887516904289476884314188784817875835019645183711270186623300417204","20609978924050961475538640091972585785684055653239864923325305755133104228398"],["3181021621803672270534191685279668265378151263688297096626662902385759927090","5364058324337084345210724157442488646258495950496398875849562278111691871665","10224931444631296256306111997023259115908040230658265780895445976301767844798","20055030782188110989536830175323576726230381937229123278716473657223724370336"],["18616110284164381247048792467749872996052606923771839554448275315790271733321","17002469466029637665184131373008982287414758016642465974888037480292593544214"],["11346070196295785031787810283571557481180538196916691520680083623303153751974"],["3034324305272075327174876945100357924965739483119222533766727614603826015314"],["18143860073808067122797584013450218026827477676919083077141968823765109364047"]] \ No newline at end of file +[["8691474413369666750892234614358820289658368726857552974633024543804680298964","17496320222604434917256246718514403734235740171188912286919341525891256570713","20717661531343094401419404535005724208121214979487601078059038701197331043233","8338161038189752845969324086767343943203808400163733790574844916777622907526","2244871586170865025448272825497968057027141766617969218599365252909572535577","3608626711809097355394527544415447989465407554113965209630262872975367728702","15123415314399351471075303556718608687323785898137080424470982286311735782352","712912966757927878965693240425422971881715436008090497769457122872348343952","3196185115626403769090812264110127828126981872545481387659039004737077237629","20852945694892786589706882486760988740184637230152727898060254427102399724085","663438552256433061576054140809160443818506164632349621099807794702352080693","18682912995789016595436882433435139159334702280353629213700041190405671371221","954361121666374676317512516553835448496801654442662842741750447529976221096","15976568257028838086904371689993285445196617581672212770040719579976951713437","1689709601556268020419125248006910470935068691712645256591639741945971733744","1644637032401895183536122531980635414363418149797237304436572320773189961342","10530161321691746280687450853188873346740398773252979676317929677235626245235","2628389834360132333366589026387003814868457686372552787974500759887369913155","20551785199765572414957755636883446606643894289625551996383687264006196444272","14647299140966795168634863382011786101084247791740654785196548451662948086183","17547875379231708590555723879540779728666475590929028917859771769395698401715","4087977103445290602464010775212316926483391914870441578758042979308767270230","6714269803293029270909153658663808588557387497502190042744619007611526657435","21829614378897985584789450465826668649930021698690579364831443823904306431333","7532552732354833964818948844447124010555621930545046129036742684162649680796","3085746588958121678695340573755073635811671969466202529706243909144419544906","15358264232435244032159222413023294519420811338021914047216004862176094578703","274618135907332659550125464790981847888019268634834758638296553463810383811","3145275707337847188939353064357731848534516166917140907835781738084777990262","712912966757927878965693240425422971881715436008090497769457122872348343952","21219905789358323534478545279193723251420616841556623254711235028135342626157","9798324625310926002331408522163043190724749435063160272808536376189654148756","13582411668238263333995209483029305625601807569534701653376051071840372484093","15950000082544045394526115523741159615348156864031044224172890462894241606231","5992148578777868893458748144399130666011631987544731979896999269126511048457","5001232371587577350490476563931715794477203224577970619789108259266886603950","17806353473562524209419921489674020711603878477377228029846764687154796899291","4781857348503260904895922377303003708601361291248025972804843818012461675526","19725005896671978040083076043827582994250733273969992727037910840857608608713","6771553323761092017375937072638415166675529808942268574147258168001934888920","6072598916249169136908315542430764263321939399814654522032874918790340778554","17174337625009122870708859925793325997946378966416309900853757797594910229791","2191847811950210640312799119786838991241770048511678287834866005381831304252","5556089667073477529764323892046529774877491089381310117639628299653468438238","5512523756717871023776497641942984346783337720501449614794308618170512394669","12964734676293244153748554238028206801414195417901916061140401142888712380451","2972653442760058165486608510571475869094354178867521177094553776876904654370","19617883112060216036437373002520931262578741557295904537678304364166866283129","1175039218798484980072399121924972057008410392367959450703939688306902524054","10396745429499812151132429056797671842807735536621273702194009800176056286117","21829614378897985584789450465826668649930021698690579364831443823904306431333","232738545482017472261496633286350972128632187612854220178426602649221258372","12964734676293244153748554238028206801414195417901916061140401142888712380451","3085746588958121678695340573755073635811671969466202529706243909144419544906","19569641468295105160418177740024945517842897645468872356974690513927041995987","13682529409340978640466595260264374070197250456280851982310079893206859446095","5864324965287761028896843934748795289028753931353130557439328109628025948300","18638025629280224617790168906173435277703684091772827588468099812026035539738","2194543658437125198357587946021311492689377172643668551084193961108304747785","21593921076086949669297200034323757069358367209393924460563276537349356681008","15613087414575084731294247924061147534041250959429049604445183368849211416480","21876658378266334569964380224531738829113969654886515172706825001082187941302","17603178439634188462056825952489860474722953595745235452510670608903852152095","18820995668034441064481786413532066855976405414499761311120499699159123037823","6071932171386993614931179655729818150534845046202199448265558256519848482826","10847231218503195759517071138679051602730407167074172266742227045164609231885","14506356872966117174131859847846372170262756655915924664237877294288585233653","5157851077382368258831146921235005863841873179959407293372390317913027109941","17215740096130814160671394963439750791336311297216240493968557475671940055057","7236783279316083836339480995960834633270959028443867776543135480683166923869","11398194787838497782166425813926171378663319996243937443066049287231892201563","8461890310516914992976016102786941165050457592527945955052989873762315959085","20131832673266427475769741534309108541338301173662948074665588100934145363162","13025268118387164480802803485697296266258675734062176433653116451463846209082","2959389974566411083204235326117036516979963119227951085034972251184734179290","9377958456884255467194088716477119239642797045077236472356953540022684583149","16698515797824680501871676266202253211872118899888285886412000454073141450701","15798767315325760489132964686987872692994717940925570238047784420230331193585","4781857348503260904895922377303003708601361291248025972804843818012461675526","12671050201903040870132377617509218353339866159494336831034048382615639662347","16118914885963834916174025584295786549597018616252080891215345608189775067017","1287880180407310800601651110405671450334122951893361316992545024696018620127","11275609334870619778800915975797190217946752952900097800029716348347769743557","4549806302643127256376053744839835469729529127535077121646524402308295761124","12385792108167898834965686312817629786971321080122734283967136719015404659574","19645303799442917520263849382981918648525479954858046014781621457535223129139","13079036262723496487062341719232498854721623596427562123822257284722043022380","7815052247860712154170106628650576750781240048309328607812510735568644480099","4224433012242275812105292037318388809660019851311870694425205064696802439276","20769202337427957655670745571969974320407145254685594108329805885177108459406","5864324965287761028896843934748795289028753931353130557439328109628025948300","1194604146042048350003512364693260099917768421477389239935129766419846021985","20342168169457748695802149508674862964537074611245094862559628187033717475867","9612640678039527906483661330640693201947160578570955411180830848021191312999","20227979332701217082249100988795416872480735366357703927751699407575642930935","5568143431214976639464768845659406494667053581733825380813024891527928235568","3208479846365475237410989805061539106045403260781956346764317556860566259416","1533174095932179741832085722978096451211273368734335528806856805965059178550","15214427790517490141925325587797963249335567355213168373025412405634050937481","13602826144456356860284419687170541618185281374064216815711251835821492025702","946455194947827940337729236114480813870835673647234481151109602462556270766","10530161321691746280687450853188873346740398773252979676317929677235626245235","20551785199765572414957755636883446606643894289625551996383687264006196444272","17492490034871188503809070393464727304143828491765350693224566925126105199911","5627116488283442946557217209333347313412518163016066550539282920861053074060","7628458932936495764524142429747955579001667142208907050372858225989514457008","13545244560072730176162896504690392106112168077747273393293519829141026712654","9197800054380533439556389025741028642781611147489934915217537670356117734985","19725005896671978040083076043827582994250733273969992727037910840857608608713","13597601271430461916896612582648919742272715556061113046784825140314498905478","13382473425074121858735590469120000769886230357897236331156422982819803288928","12439760546784082202871583401234733990044187602943315324169379543365738178519","5758137506105103459826998865197780898444584232351877574052188955203596737799","8370264878441063630462671051957262849187564367781659467838460782939804026447","17368028902269277465024746642764987612414033705161996149238721534130490186941","946455194947827940337729236114480813870835673647234481151109602462556270766","10782746953492500078751030180163064462657489179646951793154413574373371915628","4574759938850684302328171377919788556520857555728298495027674689330859913909","712912966757927878965693240425422971881715436008090497769457122872348343952","2483126835964394240864276692792992171095811055349556498083468949709404323305","2235150263865959136421726440400433738501848129328010009098035293276672220717","5469955587383559828097756439479681402770241102946573149636380518729022833750","9612640678039527906483661330640693201947160578570955411180830848021191312999","7135473937218111453151804646361837547205712024569546168416088861245626015030","9197800054380533439556389025741028642781611147489934915217537670356117734985","8177887533556223950928671845738575508418213402039951309409853690924708882619","1644637032401895183536122531980635414363418149797237304436572320773189961342","2235150263865959136421726440400433738501848129328010009098035293276672220717","19402903568454754777700416991856190103205898202952506192755702018138164903780","663438552256433061576054140809160443818506164632349621099807794702352080693","15776280343411227095808521568994471614057167432416502119979098996603887292938","12313143896208759390351526641510039095883815550699902043061685514584813600074","1218928037268356033769144531312651840516937586618523437511091378414585873142","9011100725723069477052917523444280437831907181043987084639300263089606956420","8082817983718546987105551276971252463934917335856558917892075900846966350585","17744796207881002836361754172345756972108243302293817629307470887005013537965","10909054529489265328197617859427892180031815470826676417637937142527343355023","20551785199765572414957755636883446606643894289625551996383687264006196444272","2676613676733015431959147577385543530164186971614056775227705172064306807928","15776564956440002895136116449299582951656581983212117550232796150916571692055","11412740120827044021870096407623293808851105071188140591919788265312361814171","3885925135313023686150115977607110368258492435636819989794778250027419367343","1440944398068243290019815197893325790869382856018839453050014183551865062018","18707594353877082516395132272698629627555807696619350634836774054442394671010","19750715061039895092288075649509657235159241403400837501090850293666251108617","16411233008444850443854175483761516668813055344878151975436424201109266465436","966676739412114459004685599806372707037105104204243310754946364190002350899","17496320222604434917256246718514403734235740171188912286919341525891256570713","4224433012242275812105292037318388809660019851311870694425205064696802439276","15976978918004336355901319629352200911328902990447017277673724626919242812955","16226984168490080400263373201570728966749962184950889718917387268203884202372","1071564318326244075341980988866027669737011601498674724527637774926288977632","20769202337427957655670745571969974320407145254685594108329805885177108459406","2967213245998332384543885104754783540899439580884490432048984202068901705944","20769202337427957655670745571969974320407145254685594108329805885177108459406","1828058457773990843551157525432867662470301272599690050907371698799750907039","21451388112829145060821974036366132513327328641208732802166144524686108831760","21219905789358323534478545279193723251420616841556623254711235028135342626157","5001232371587577350490476563931715794477203224577970619789108259266886603950","6540725658063818695836967143056666761434297658403942276316050979804587769432","9377958456884255467194088716477119239642797045077236472356953540022684583149","4224433012242275812105292037318388809660019851311870694425205064696802439276","20452154666799846638117791929900707763485919083101449648262816499313176812803","2191847811950210640312799119786838991241770048511678287834866005381831304252","8491224372742742395086082981236389730604525807576141462195229766319454932167","5512523756717871023776497641942984346783337720501449614794308618170512394669","20717661531343094401419404535005724208121214979487601078059038701197331043233","2476324937951789382181944025361875851099988750579823474754609765481889757439","19356492332655108003949429792555441845806681675195402015185308983898801715851","2967213245998332384543885104754783540899439580884490432048984202068901705944","5055315503098445594062335518727177962919913361908453398984787599226169183337","17492490034871188503809070393464727304143828491765350693224566925126105199911","14027649325388708488081280969586205626278814303627295953445422182588276435572","13465227484584385300386574818824135648806878577862587385005638292079537592144","12385792108167898834965686312817629786971321080122734283967136719015404659574","21267939098918134027395634942102971885281982111723141238850772621986256662900","17496320222604434917256246718514403734235740171188912286919341525891256570713","11433874323428772158013095381623924200138375055456955808189877801771380225552","15618359152517208456698312197785172766694127619077536561902714697931530755106","2628389834360132333366589026387003814868457686372552787974500759887369913155","2027121307515028227361803453971004574835283397634149795685942874063731877044","1758371485945815703876679445382538767819559386912271388124907980130004330353","712912966757927878965693240425422971881715436008090497769457122872348343952","9296362220804925104551234752226384203979024033236205671428676015277866160513","3099260939107709193833554073787772569345965287506676970762153917208260772189","21219905789358323534478545279193723251420616841556623254711235028135342626157","3099260939107709193833554073787772569345965287506676970762153917208260772189","15976568257028838086904371689993285445196617581672212770040719579976951713437","6540725658063818695836967143056666761434297658403942276316050979804587769432","663438552256433061576054140809160443818506164632349621099807794702352080693","8140644209065967749731539711645757673629321017919126168806710308878873241272","4655594634855844188499094340496759182976213206849235604185854128079411962453","13216746424486872049443607565713997095923431379037310625593547838968801990450","5512523756717871023776497641942984346783337720501449614794308618170512394669","10286727453332438406648583236643277009562092681643525436851770105870834802875","5835554999819330558954089066526405560740259616473885793288693915684399039377","2235150263865959136421726440400433738501848129328010009098035293276672220717","13602826144456356860284419687170541618185281374064216815711251835821492025702","3117586190657126472592128104269081184451127080527182054370687640020932637738","16961794929940055505618937273665830834556517799613603503371462732255229717698","20717661531343094401419404535005724208121214979487601078059038701197331043233","3054509086575963631520633315863182977708152785332183337259997415160907095845","15718330550508436908559701395606414201668068552693146421627683872153427960853","4363738634465882118172307854104596042899685656091037340905869811610138317347","3295533384340596604465346018013602551881861893498794970313069368600968766409","4549806302643127256376053744839835469729529127535077121646524402308295761124","5836322900178474894684749559174625794931606932780001961547616477680042620058","7986666009024332686676662864413304092722307894727965157582073398188685188596","8332725882597643046230446607227878580859441724564830732217655474732342787381","13605376995820845471499102796322549845207296468035227481017989756087418839900","12155172322986237416023663042004942352608253176870958535098713267207721181883","18703989514997223432661641229861332310348080898339160493229575272467603319271","12144047841603136900258834238679736103499067068658592153906655837799171705427","11964978685770609938104516880584559743324134082109819132572992701951308097934","1336458066220344521262880797524303149688311982013949559764047883761889898074","7567096820715495523465831195561335361495276610103173418515651874250913956034","16698515797824680501871676266202253211872118899888285886412000454073141450701","760526239526750316156895532664638087659951808341490670841188720735038667373","17806353473562524209419921489674020711603878477377228029846764687154796899291","13605376995820845471499102796322549845207296468035227481017989756087418839900","663438552256433061576054140809160443818506164632349621099807794702352080693","14057612694744022955506885004102834629754310001978602939456750538201073114431","21536244638197709025858135955699906074571886472797743044193407266270319669578","10940448732886105987570056589646710210974129839416224393729741337643229924295","2483126835964394240864276692792992171095811055349556498083468949709404323305","9612640678039527906483661330640693201947160578570955411180830848021191312999","15613087414575084731294247924061147534041250959429049604445183368849211416480","16411233008444850443854175483761516668813055344878151975436424201109266465436","20350757034998523187334178209550008366903662221355109911310833181698841320621","4574759938850684302328171377919788556520857555728298495027674689330859913909","1346980346605447755534859795013475283788975200653900831883060614677761712111","14662264414119036690282405601089929177544253624404097884734013101529582623919","5469955587383559828097756439479681402770241102946573149636380518729022833750","17421378063295915427159454374242321672486103038225921418122357124853338152435","11412740120827044021870096407623293808851105071188140591919788265312361814171","7471975174935772955134792946513424637999023861300940920934522552454330255354","13246300932955054699896499534663439333337260302838301416472718244977767210668","1703815020768376381115674913114725195497281256588197804868422201697152023777","3085746588958121678695340573755073635811671969466202529706243909144419544906","7236783279316083836339480995960834633270959028443867776543135480683166923869","13582411668238263333995209483029305625601807569534701653376051071840372484093","4754713757431627318482916888231215818599754770670360377946229107868340173565","4224433012242275812105292037318388809660019851311870694425205064696802439276","3196185115626403769090812264110127828126981872545481387659039004737077237629","3449083258780223991632112868061903902820017044757095982070790181182597682266","6398900866082970916513845909030912477768318655743785125093873617319711480497","1175039218798484980072399121924972057008410392367959450703939688306902524054","5210257615122466358421406540799898540909863599743777249997433762286779163631","143871243170896096761286538359612900806921859208087130133106251324625818743","7825186589955157383712635126647794282971185739134506671734682703198205174921","19356492332655108003949429792555441845806681675195402015185308983898801715851","5469955587383559828097756439479681402770241102946573149636380518729022833750","9301724904566173478342992350770203303162818770127169929361533578664506545066","14144040826170485243395777956417332299961240009335454448818306795274079743482","15106671954584442557442200864211260493785606980074399349847632055753054483078","18869217976653672070772236404509215919650604056214055814018794444287298958040","11645420524832783721170737438334136629636818531954268745339783028025385754950","13439261978972035796996150244149252173133297973805089227133789936712760569803","15106671954584442557442200864211260493785606980074399349847632055753054483078","5512523756717871023776497641942984346783337720501449614794308618170512394669","5835554999819330558954089066526405560740259616473885793288693915684399039377","8863131691935358314236967173935315033413820679736774627121405457433895003795","17806353473562524209419921489674020711603878477377228029846764687154796899291","12688265548305129213524123982283433383136772509110047948234368697335124109577","18207961221628464226564927736506330628717051411055463190287553801949660581016","14776577580296682191308190812580888360497977691535016054206068797647787496417","2716120769329705626706313807317151735273953258897025678161053651818357382993","946455194947827940337729236114480813870835673647234481151109602462556270766","614966471251760438899692967903400348852862620490339206898848861882544111046","4116036656616283014460785251860209028828407967565755603300238819653622156901","10847231218503195759517071138679051602730407167074172266742227045164609231885","20895602419903453398196391913478058693274453903342785067983129839552891433864","15689970856593006158259892732288646993746887463514406392254922588756401796606","7408129850262826909244224402840856032373035919586685754734550738382550518934","16954193412688439955632320517883969169462813275902648614432177779074490622129","10822341224343704549832157601167511762192217681493597414750548578356092990059","18869217976653672070772236404509215919650604056214055814018794444287298958040","12998359993404137434826050598531205936631009536891015167391276398139095697469","712912966757927878965693240425422971881715436008090497769457122872348343952","12439760546784082202871583401234733990044187602943315324169379543365738178519","4933182101183318250560018811514844142859815227384938275570441539742336262480","5519776064110123180759081312729047106292930891845193268609251880658830705433","11964978685770609938104516880584559743324134082109819132572992701951308097934","20852945694892786589706882486760988740184637230152727898060254427102399724085","5157851077382368258831146921235005863841873179959407293372390317913027109941","3885925135313023686150115977607110368258492435636819989794778250027419367343","1632500423430879870300869265124598190896358768919584266600939773214617936900","16480089772180635258030461748402564771495064968752027484874049433567638476934","946455194947827940337729236114480813870835673647234481151109602462556270766","15718330550508436908559701395606414201668068552693146421627683872153427960853","10646102197739219326084794742182482777338903912449154661603058840745258963379","1570274245034538183221128634382794417097801245857820047802724595210806628688","9147263785534267636687968913589685560505104267741632426978703854622278136991","614966471251760438899692967903400348852862620490339206898848861882544111046","5566832184094895187524267067093217754199394279599836592480486864883149893031","7135473937218111453151804646361837547205712024569546168416088861245626015030","946455194947827940337729236114480813870835673647234481151109602462556270766","4087977103445290602464010775212316926483391914870441578758042979308767270230","16137218824867518993112176330612823176216439366022687220615937652371635085247","1703815020768376381115674913114725195497281256588197804868422201697152023777","1175039218798484980072399121924972057008410392367959450703939688306902524054","11412740120827044021870096407623293808851105071188140591919788265312361814171","12271983753113042626833634560364485293486763667349863253834100408006012012338","954361121666374676317512516553835448496801654442662842741750447529976221096","5519776064110123180759081312729047106292930891845193268609251880658830705433","19645303799442917520263849382981918648525479954858046014781621457535223129139","15546540006815490057793129658556841909859473017172875226825092156274503806084","16664225501027310427143425928031114680302400010653769373062555871803572912785","12964734676293244153748554238028206801414195417901916061140401142888712380451","1644637032401895183536122531980635414363418149797237304436572320773189961342","14588408860702774403040643085023102427643318176411097113905533342239652444746","17806353473562524209419921489674020711603878477377228029846764687154796899291","3401355104414210656254289265060762447824858847649022703190474278352208416173","15455768567639248552871867295320669874358209402041404093780654826364925510661","18869217976653672070772236404509215919650604056214055814018794444287298958040","13605376995820845471499102796322549845207296468035227481017989756087418839900","20663699746183765412904432768074062935933374627665221119822945660203712880745","1454875708970600335304126262767303975870655905960512436254375545925577328692","16954193412688439955632320517883969169462813275902648614432177779074490622129","20895602419903453398196391913478058693274453903342785067983129839552891433864","4933182101183318250560018811514844142859815227384938275570441539742336262480","1336458066220344521262880797524303149688311982013949559764047883761889898074","12984040983088595314698866307930588700679289984810017049345447973409490678089","10847231218503195759517071138679051602730407167074172266742227045164609231885","7236783279316083836339480995960834633270959028443867776543135480683166923869","12180564838572574785577178844314834812952191421495899999848160514539788519817","12600480540100512777695577363859185402126112711196993279255107913533806514345","18207961221628464226564927736506330628717051411055463190287553801949660581016","3401355104414210656254289265060762447824858847649022703190474278352208416173","4116036656616283014460785251860209028828407967565755603300238819653622156901","12863950582730082046148154608075135240263800483912187224256340414612337617318","3054509086575963631520633315863182977708152785332183337259997415160907095845","6714269803293029270909153658663808588557387497502190042744619007611526657435","163072371065782787415009910882963726380729563508259100978084406744617596229","18124161608764573031181181091746932116602343523449108232131693108002812215595","17698177298685528128465298198488735273578406532961103401549266592203987353446","1071564318326244075341980988866027669737011601498674724527637774926288977632","19883029896859112110244432872192403645617916717981765942483639413786774824574","12155172322986237416023663042004942352608253176870958535098713267207721181883","19375155383395696510967115781488322005907183312666977471331313827828265655931","12863950582730082046148154608075135240263800483912187224256340414612337617318","19470438559791413810807322334940256814752303267756345670901343982529444306002","4754713757431627318482916888231215818599754770670360377946229107868340173565","3196185115626403769090812264110127828126981872545481387659039004737077237629","11412740120827044021870096407623293808851105071188140591919788265312361814171","21876658378266334569964380224531738829113969654886515172706825001082187941302","9888239978634522925223196837194242311545989047209631150312165940305433080157","20342168169457748695802149508674862964537074611245094862559628187033717475867","6267275553024510648754807709238333654138152587130901210611391956543755030870","14535184095124950892028872912364622595212286520594227957147431032075397154266","2244871586170865025448272825497968057027141766617969218599365252909572535577","3117586190657126472592128104269081184451127080527182054370687640020932637738","18638025629280224617790168906173435277703684091772827588468099812026035539738","13602826144456356860284419687170541618185281374064216815711251835821492025702","19136646515076729474266957823959601106059804333394786210644361751043819130428","4006308849281273792274000957432061207143923231283130218997109288816872164471","4866442763557448299456393930665252678199356968867077785577776954873671002076","5523494911625033531158591406744208675721214018061290251579858790908546943321","14262959519701291686797273506458134133352406025405884284959025726384935370757","15798767315325760489132964686987872692994717940925570238047784420230331193585","6585682031650501777630925238370902100450071127640040426788913175433490518990","19569641468295105160418177740024945517842897645468872356974690513927041995987","19617883112060216036437373002520931262578741557295904537678304364166866283129","20717661531343094401419404535005724208121214979487601078059038701197331043233","15356303677036047765901840442430056519915375782726231750029051083606835464886","18869217976653672070772236404509215919650604056214055814018794444287298958040","19645303799442917520263849382981918648525479954858046014781621457535223129139","16614048991075038030789399956909315351324595917053714063050624141460033937444","614966471251760438899692967903400348852862620490339206898848861882544111046","4099531615762313645664270695169451400067010667159453849071079869270467331430","1336458066220344521262880797524303149688311982013949559764047883761889898074","374196098865630209786313311346578647643865900042267366994874073365518434467","9141525190254519952022341797682038597679704914972221193906068133244136674784","12964734676293244153748554238028206801414195417901916061140401142888712380451","3449083258780223991632112868061903902820017044757095982070790181182597682266","1218928037268356033769144531312651840516937586618523437511091378414585873142","17639609723574756459891329821328819780244585917274648474440537044036944455741","1533174095932179741832085722978096451211273368734335528806856805965059178550","1440944398068243290019815197893325790869382856018839453050014183551865062018","13004204931687393626720102454766944489147659600561337392365246286815729618336","12325315597559743752230693830058397065789541158772176272664764348470516075554","2972653442760058165486608510571475869094354178867521177094553776876904654370","8370264878441063630462671051957262849187564367781659467838460782939804026447","2959389974566411083204235326117036516979963119227951085034972251184734179290","20551785199765572414957755636883446606643894289625551996383687264006196444272","4087977103445290602464010775212316926483391914870441578758042979308767270230","15356303677036047765901840442430056519915375782726231750029051083606835464886","2683741289082249638876005424728100137356381224531970040303109182897410726686","7809308148717690892433475015444256746265555654600319391230796066961179227754","1440944398068243290019815197893325790869382856018839453050014183551865062018","14027649325388708488081280969586205626278814303627295953445422182588276435572","18594403705196476767375145654138028270042663039914897358747063340477738248585","16336411977121389060651610820631824246361165054986934015236391565811657107740","4478906216357891733779320532575007598672127166034590483003103843151770821805","15776564956440002895136116449299582951656581983212117550232796150916571692055","10593196891529840628734555040366549092907275204600028371924840487850448911826","13602826144456356860284419687170541618185281374064216815711251835821492025702","13183232877692246822590812126633640676351230654681431401704678854597307073741","1143725056710957642097279233815583467630238769694555684003566733048000751701","21536244638197709025858135955699906074571886472797743044193407266270319669578","16118914885963834916174025584295786549597018616252080891215345608189775067017","3085746588958121678695340573755073635811671969466202529706243909144419544906","7471975174935772955134792946513424637999023861300940920934522552454330255354","16651609932326344885003930002640274787869059718257297617745634674345809614067","8863131691935358314236967173935315033413820679736774627121405457433895003795","12233333935383563259381899984287101540154684128978249282626058445737562030151","7057969325794614252651980473201258184026879446024353453586952048006174273183","8177887533556223950928671845738575508418213402039951309409853690924708882619","16336411977121389060651610820631824246361165054986934015236391565811657107740","16391403911439019484448973048634108295486984765667310507956782776900193019857","16632434695136893331490691565954322107706581064802120383393065446949358038261","7532552732354833964818948844447124010555621930545046129036742684162649680796","2959389974566411083204235326117036516979963119227951085034972251184734179290","19375155383395696510967115781488322005907183312666977471331313827828265655931","2683741289082249638876005424728100137356381224531970040303109182897410726686","1071564318326244075341980988866027669737011601498674724527637774926288977632","4688608777744900238376640178893120441686955058686461498962807904713059186065","14862128476161472318832207576059761644997238747584253112211006461966427732368","14057612694744022955506885004102834629754310001978602939456750538201073114431","1570274245034538183221128634382794417097801245857820047802724595210806628688","13748763105074593620013986383045781773296715695306976461248290420913969610259","13079036262723496487062341719232498854721623596427562123822257284722043022380","15106671954584442557442200864211260493785606980074399349847632055753054483078","1143725056710957642097279233815583467630238769694555684003566733048000751701","12271983753113042626833634560364485293486763667349863253834100408006012012338","16651609932326344885003930002640274787869059718257297617745634674345809614067","6267275553024510648754807709238333654138152587130901210611391956543755030870","17018828663094797750757032992805443165559600645338019797634595027047317699068","13826842810792073443336072469158777368557028423710280480746021228332338112849","17539019008906665692358401403758991639375357012882690788487548831749474497244","19750715061039895092288075649509657235159241403400837501090850293666251108617","15776280343411227095808521568994471614057167432416502119979098996603887292938","19356492332655108003949429792555441845806681675195402015185308983898801715851","16118914885963834916174025584295786549597018616252080891215345608189775067017","4224433012242275812105292037318388809660019851311870694425205064696802439276","6311168126082531220851145980238852866031091078497507817682388947599504858069","12439760546784082202871583401234733990044187602943315324169379543365738178519","12385792108167898834965686312817629786971321080122734283967136719015404659574","712912966757927878965693240425422971881715436008090497769457122872348343952","14506356872966117174131859847846372170262756655915924664237877294288585233653","7135473937218111453151804646361837547205712024569546168416088861245626015030","13183232877692246822590812126633640676351230654681431401704678854597307073741","7033259621441273379090690993518324745190856903793390519675567591730089293401","16954193412688439955632320517883969169462813275902648614432177779074490622129","18638025629280224617790168906173435277703684091772827588468099812026035539738","12180564838572574785577178844314834812952191421495899999848160514539788519817","13582411668238263333995209483029305625601807569534701653376051071840372484093","4655594634855844188499094340496759182976213206849235604185854128079411962453","8370264878441063630462671051957262849187564367781659467838460782939804026447","17496320222604434917256246718514403734235740171188912286919341525891256570713","9141525190254519952022341797682038597679704914972221193906068133244136674784","21570485471295626790395474884741704872769989979943302238757938053634431270592","14214179218791945815971672263715227174014095422524111075841145981660259478464","5992148578777868893458748144399130666011631987544731979896999269126511048457","11275609334870619778800915975797190217946752952900097800029716348347769743557","6714269803293029270909153658663808588557387497502190042744619007611526657435","6221105771699561812227612915438412791747103897962033448670914370271924677164","12249836732564745436903455221618799619493605772253570453747572839223832061488","1493819599258016045339110999235422917168609982262840449866816239257578013153","13682529409340978640466595260264374070197250456280851982310079893206859446095","5568143431214976639464768845659406494667053581733825380813024891527928235568","13216746424486872049443607565713997095923431379037310625593547838968801990450","12180564838572574785577178844314834812952191421495899999848160514539788519817","1346980346605447755534859795013475283788975200653900831883060614677761712111","10782746953492500078751030180163064462657489179646951793154413574373371915628","1570274245034538183221128634382794417097801245857820047802724595210806628688","11118678586223256967063779327106075185044005359468107273605978537625172540996","9957269699849018786420105364721112375750180716923816099920663920684273075720","10286727453332438406648583236643277009562092681643525436851770105870834802875","7986666009024332686676662864413304092722307894727965157582073398188685188596","274618135907332659550125464790981847888019268634834758638296553463810383811","20131832673266427475769741534309108541338301173662948074665588100934145363162","19750715061039895092288075649509657235159241403400837501090850293666251108617","11545919418828350367784519368633485476721293708396219560182357280822873453096","143871243170896096761286538359612900806921859208087130133106251324625818743","10593196891529840628734555040366549092907275204600028371924840487850448911826","3005814121577142321238773726823845968144595752898226988876012545652019094241","9798324625310926002331408522163043190724749435063160272808536376189654148756","11964978685770609938104516880584559743324134082109819132572992701951308097934","12519200710540274443987348735978102700747472530155480989464845837532354722845","9679676316674197446267516028449539668288990002440917773972518794977810420407","12519200710540274443987348735978102700747472530155480989464845837532354722845","9957269699849018786420105364721112375750180716923816099920663920684273075720","13602826144456356860284419687170541618185281374064216815711251835821492025702","17603178439634188462056825952489860474722953595745235452510670608903852152095","16651609932326344885003930002640274787869059718257297617745634674345809614067","15950000082544045394526115523741159615348156864031044224172890462894241606231","18451742809683626507365133121132299935287207259245734910631591678742738573305","15214427790517490141925325587797963249335567355213168373025412405634050937481","12600480540100512777695577363859185402126112711196993279255107913533806514345","20895602419903453398196391913478058693274453903342785067983129839552891433864","9306117694572387027262464048290209213167312534461525812720869427821619086590","10690633522035360601031737428400068881001718255130638825096194976708724866144","4866442763557448299456393930665252678199356968867077785577776954873671002076","19108128352145842008548048053308217665383455218276209300064989051535526150757","954361121666374676317512516553835448496801654442662842741750447529976221096","6714269803293029270909153658663808588557387497502190042744619007611526657435","19265929620982371511819161020399302006822082297986006761385196152068883496437","7532552732354833964818948844447124010555621930545046129036742684162649680796","5649801951154791837665343131813310668539151217466670556566164087328114632489","4866442763557448299456393930665252678199356968867077785577776954873671002076","18003950806500496937907532373283544753235688820907806692295042001546833965033","12155172322986237416023663042004942352608253176870958535098713267207721181883","6071932171386993614931179655729818150534845046202199448265558256519848482826","3099260939107709193833554073787772569345965287506676970762153917208260772189","6072598916249169136908315542430764263321939399814654522032874918790340778554","19569641468295105160418177740024945517842897645468872356974690513927041995987","17018828663094797750757032992805443165559600645338019797634595027047317699068","15776564956440002895136116449299582951656581983212117550232796150916571692055","12042091411871087770321928117714696325647592163332119499975682262951606830326","8177887533556223950928671845738575508418213402039951309409853690924708882619","11433874323428772158013095381623924200138375055456955808189877801771380225552","14535184095124950892028872912364622595212286520594227957147431032075397154266","20046290436659560311648463454245918246036175981027749522810979896203323505017","5627116488283442946557217209333347313412518163016066550539282920861053074060","16480089772180635258030461748402564771495064968752027484874049433567638476934","1194604146042048350003512364693260099917768421477389239935129766419846021985","1218928037268356033769144531312651840516937586618523437511091378414585873142","13202400967998975804928062759810694884158416475176357116907186595278657876313","6311168126082531220851145980238852866031091078497507817682388947599504858069","6795208382791933114735572030062093331533051902721517159934364925403853532318","19936787863437503780283518973149089110020946214555834613795208847908690099190","9377958456884255467194088716477119239642797045077236472356953540022684583149","15123415314399351471075303556718608687323785898137080424470982286311735782352","13370115598260167633113987566372148589924273398862423406100474476922447871102","7135473937218111453151804646361837547205712024569546168416088861245626015030","14262959519701291686797273506458134133352406025405884284959025726384935370757","13025268118387164480802803485697296266258675734062176433653116451463846209082","4624094547626164902101572852723507795056700722159656748629760282341508155551","4224433012242275812105292037318388809660019851311870694425205064696802439276","5836322900178474894684749559174625794931606932780001961547616477680042620058","13908465977240917608897406492241943260778588976320614277228337961237626209809","2628389834360132333366589026387003814868457686372552787974500759887369913155","11183511759577952361572566673527592434184886344484272921682811575415051015276","12863950582730082046148154608075135240263800483912187224256340414612337617318","14262959519701291686797273506458134133352406025405884284959025726384935370757","16137218824867518993112176330612823176216439366022687220615937652371635085247","18707594353877082516395132272698629627555807696619350634836774054442394671010","15413262379943851680637741226631729175616759345996754775627005612359539596292","4116036656616283014460785251860209028828407967565755603300238819653622156901","3099260939107709193833554073787772569345965287506676970762153917208260772189","4624094547626164902101572852723507795056700722159656748629760282341508155551","4420985155765749198917158320211243542858248750314567273670169360313609199220","4781857348503260904895922377303003708601361291248025972804843818012461675526","16698515797824680501871676266202253211872118899888285886412000454073141450701","5519776064110123180759081312729047106292930891845193268609251880658830705433","6540725658063818695836967143056666761434297658403942276316050979804587769432","19215132962371868093445083227022064420405266792249240035116240824526740725800","19375155383395696510967115781488322005907183312666977471331313827828265655931","1175039218798484980072399121924972057008410392367959450703939688306902524054","13748763105074593620013986383045781773296715695306976461248290420913969610259","15976568257028838086904371689993285445196617581672212770040719579976951713437","2731702758715001559265750806008384495080551892515362156357977538139860974530","3133838166556165943824029176542597440374447246137252468511956694712122940530","1354299594199717859606388533670792913672908168692420372657948698842311093857","10822341224343704549832157601167511762192217681493597414750548578356092990059","17018828663094797750757032992805443165559600645338019797634595027047317699068","14776577580296682191308190812580888360497977691535016054206068797647787496417","18693317710730212151208513181186966573996077028828882441479768956833225751022","17492490034871188503809070393464727304143828491765350693224566925126105199911","14172013427642179266386805494272960512005525394680301845681753498295255309908","3607534072804388173311745844584795163913258697339304886139614455491456047872","4420985155765749198917158320211243542858248750314567273670169360313609199220","7815052247860712154170106628650576750781240048309328607812510735568644480099","9277147365456707051192593343809527681573500829831413326738310307567850123829","8863131691935358314236967173935315033413820679736774627121405457433895003795","13439261978972035796996150244149252173133297973805089227133789936712760569803","13051815778936294959186188778209982533089138172215506637927986094620164817648","3835902309964760173432611751283380612399529168609044921165087497368685977916","13202400967998975804928062759810694884158416475176357116907186595278657876313","15214427790517490141925325587797963249335567355213168373025412405634050937481","2666549942988803296757576401723478920911340699174408059253220554211642279978","16122380779106962898741444352984715606386470429041317890034930229550324363289","18594403705196476767375145654138028270042663039914897358747063340477738248585","7796937569050271278342402836188937027242003149541526098037517748511185180620","8140644209065967749731539711645757673629321017919126168806710308878873241272","5992148578777868893458748144399130666011631987544731979896999269126511048457","3348432210747515061385037490620056224077503064341935527160366063098820102327","18566222379922364157274850150988399654533738702075332376935729247934165563869","2476324937951789382181944025361875851099988750579823474754609765481889757439","18637620888308371607611642373870554933712342468791368368498810637591710912686","2959389974566411083204235326117036516979963119227951085034972251184734179290","20227979332701217082249100988795416872480735366357703927751699407575642930935","17368028902269277465024746642764987612414033705161996149238721534130490186941","16653103879864200321986465966316889764620013245316877484022986374603264725648","16118914885963834916174025584295786549597018616252080891215345608189775067017","5568143431214976639464768845659406494667053581733825380813024891527928235568","13641582444261924898950561772071287900110836262790950814969623169365632502460","15546540006815490057793129658556841909859473017172875226825092156274503806084","16961794929940055505618937273665830834556517799613603503371462732255229717698","11964978685770609938104516880584559743324134082109819132572992701951308097934","14216993731814681619137662595321398279415990565678023063177228088649900891505","7815052247860712154170106628650576750781240048309328607812510735568644480099","20350757034998523187334178209550008366903662221355109911310833181698841320621","15045123937812306625997417665247004551483049589009168687548501235926225142020","16632434695136893331490691565954322107706581064802120383393065446949358038261","20838188000013629937954971368567014585342187321412629930028751871743338652961","13545244560072730176162896504690392106112168077747273393293519829141026712654","6765546767316775630226434304243025099044057869188929458111914505605517807492","17018828663094797750757032992805443165559600645338019797634595027047317699068","18820995668034441064481786413532066855976405414499761311120499699159123037823","614966471251760438899692967903400348852862620490339206898848861882544111046","17496320222604434917256246718514403734235740171188912286919341525891256570713","18637620888308371607611642373870554933712342468791368368498810637591710912686","6540725658063818695836967143056666761434297658403942276316050979804587769432","1644637032401895183536122531980635414363418149797237304436572320773189961342","8461890310516914992976016102786941165050457592527945955052989873762315959085","21591247897428723764785205441739843186077784027717063974489303352320972773514","9277147365456707051192593343809527681573500829831413326738310307567850123829","13004204931687393626720102454766944489147659600561337392365246286815729618336","11398194787838497782166425813926171378663319996243937443066049287231892201563","4006308849281273792274000957432061207143923231283130218997109288816872164471","3885925135313023686150115977607110368258492435636819989794778250027419367343","3054509086575963631520633315863182977708152785332183337259997415160907095845","5055315503098445594062335518727177962919913361908453398984787599226169183337","8491224372742742395086082981236389730604525807576141462195229766319454932167","10593196891529840628734555040366549092907275204600028371924840487850448911826","5519776064110123180759081312729047106292930891845193268609251880658830705433","20750786466099303558578845860831937634908544617912415565480052280769840150510","15798767315325760489132964686987872692994717940925570238047784420230331193585","567433434521112381841206540791234080742279927287516260853551410281774875712","16391403911439019484448973048634108295486984765667310507956782776900193019857","14057612694744022955506885004102834629754310001978602939456750538201073114431","17698177298685528128465298198488735273578406532961103401549266592203987353446","14506356872966117174131859847846372170262756655915924664237877294288585233653","11889745823596890789749077573846619853793479538535474896498174482741572852641","15976568257028838086904371689993285445196617581672212770040719579976951713437","4624094547626164902101572852723507795056700722159656748629760282341508155551","15022199219678996727354667799147374096361570599067734481207390034887749042083","8461890310516914992976016102786941165050457592527945955052989873762315959085","3054509086575963631520633315863182977708152785332183337259997415160907095845","14506356872966117174131859847846372170262756655915924664237877294288585233653","9296362220804925104551234752226384203979024033236205671428676015277866160513","12688265548305129213524123982283433383136772509110047948234368697335124109577","2903328500810487887284040113540254258409278773721503335380406605532748782645","12271983753113042626833634560364485293486763667349863253834100408006012012338","17744796207881002836361754172345756972108243302293817629307470887005013537965","16954193412688439955632320517883969169462813275902648614432177779074490622129","2666549942988803296757576401723478920911340699174408059253220554211642279978","15689970856593006158259892732288646993746887463514406392254922588756401796606","2666549942988803296757576401723478920911340699174408059253220554211642279978","6307025001981604557276095751477581176989559254288853588059732891819079685284","15106671954584442557442200864211260493785606980074399349847632055753054483078","6795208382791933114735572030062093331533051902721517159934364925403853532318","8082817983718546987105551276971252463934917335856558917892075900846966350585","3607534072804388173311745844584795163913258697339304886139614455491456047872","19108128352145842008548048053308217665383455218276209300064989051535526150757","17603223305375528970110710410175592504507901335489871100398461389444688509102","15950000082544045394526115523741159615348156864031044224172890462894241606231","17603178439634188462056825952489860474722953595745235452510670608903852152095","13079036262723496487062341719232498854721623596427562123822257284722043022380","4574759938850684302328171377919788556520857555728298495027674689330859913909","5836322900178474894684749559174625794931606932780001961547616477680042620058","18682912995789016595436882433435139159334702280353629213700041190405671371221","18682912995789016595436882433435139159334702280353629213700041190405671371221","14647299140966795168634863382011786101084247791740654785196548451662948086183","19265929620982371511819161020399302006822082297986006761385196152068883496437","13051815778936294959186188778209982533089138172215506637927986094620164817648","16226984168490080400263373201570728966749962184950889718917387268203884202372","12688265548305129213524123982283433383136772509110047948234368697335124109577","4592739379790743343042028868384342794596363702987579215937879797639357089011","4933182101183318250560018811514844142859815227384938275570441539742336262480","12519200710540274443987348735978102700747472530155480989464845837532354722845","17547875379231708590555723879540779728666475590929028917859771769395698401715","21219905789358323534478545279193723251420616841556623254711235028135342626157","18682912995789016595436882433435139159334702280353629213700041190405671371221","19617883112060216036437373002520931262578741557295904537678304364166866283129","20342168169457748695802149508674862964537074611245094862559628187033717475867","4420985155765749198917158320211243542858248750314567273670169360313609199220","3608626711809097355394527544415447989465407554113965209630262872975367728702","7986666009024332686676662864413304092722307894727965157582073398188685188596","17539019008906665692358401403758991639375357012882690788487548831749474497244","17496320222604434917256246718514403734235740171188912286919341525891256570713","4655594634855844188499094340496759182976213206849235604185854128079411962453","15618359152517208456698312197785172766694127619077536561902714697931530755106","13748763105074593620013986383045781773296715695306976461248290420913969610259","20131832673266427475769741534309108541338301173662948074665588100934145363162","10690633522035360601031737428400068881001718255130638825096194976708724866144","18594403705196476767375145654138028270042663039914897358747063340477738248585","12998359993404137434826050598531205936631009536891015167391276398139095697469","9141525190254519952022341797682038597679704914972221193906068133244136674784","14144040826170485243395777956417332299961240009335454448818306795274079743482","1570274245034538183221128634382794417097801245857820047802724595210806628688","13597601271430461916896612582648919742272715556061113046784825140314498905478","10286727453332438406648583236643277009562092681643525436851770105870834802875","15710422838883679733600834907476906094570753444844580151730513642276654631674","8082817983718546987105551276971252463934917335856558917892075900846966350585","18703989514997223432661641229861332310348080898339160493229575272467603319271","16480089772180635258030461748402564771495064968752027484874049433567638476934","2967213245998332384543885104754783540899439580884490432048984202068901705944","4655594634855844188499094340496759182976213206849235604185854128079411962453","18637620888308371607611642373870554933712342468791368368498810637591710912686","15776564956440002895136116449299582951656581983212117550232796150916571692055","5210257615122466358421406540799898540909863599743777249997433762286779163631","8691474413369666750892234614358820289658368726857552974633024543804680298964","13605376995820845471499102796322549845207296468035227481017989756087418839900","3196185115626403769090812264110127828126981872545481387659039004737077237629","21591247897428723764785205441739843186077784027717063974489303352320972773514","1194604146042048350003512364693260099917768421477389239935129766419846021985","10782746953492500078751030180163064462657489179646951793154413574373371915628","3885925135313023686150115977607110368258492435636819989794778250027419367343","20521411631300308681277111693281832014010918653298260542960102164696238242229","17582818757173661762314072926867802933652214827993395929831324522299049413904","21780456150575058339898563710498965468972448244984833163147655946608027181634","21591247897428723764785205441739843186077784027717063974489303352320972773514","8491224372742742395086082981236389730604525807576141462195229766319454932167","156542953578700199190349883532041470160708612831113224539973504251955528744","12519200710540274443987348735978102700747472530155480989464845837532354722845","2544185200680176111354240446924889864706979425265095363625611785655132613870","14897910390493117493085561230943786488745018480007968413736887385270447651383","13051815778936294959186188778209982533089138172215506637927986094620164817648","8370264878441063630462671051957262849187564367781659467838460782939804026447","3986804060834622107770115616180027696529168594693106325651227138002220680218","10782746953492500078751030180163064462657489179646951793154413574373371915628","15976978918004336355901319629352200911328902990447017277673724626919242812955","8328030641700015547962729319084004225083584314272156382022742953974692359024","2476324937951789382181944025361875851099988750579823474754609765481889757439","2476324937951789382181944025361875851099988750579823474754609765481889757439","12155172322986237416023663042004942352608253176870958535098713267207721181883","17603178439634188462056825952489860474722953595745235452510670608903852152095","20342168169457748695802149508674862964537074611245094862559628187033717475867","4688608777744900238376640178893120441686955058686461498962807904713059186065","4420985155765749198917158320211243542858248750314567273670169360313609199220","3145275707337847188939353064357731848534516166917140907835781738084777990262","17603178439634188462056825952489860474722953595745235452510670608903852152095","2235150263865959136421726440400433738501848129328010009098035293276672220717","4549806302643127256376053744839835469729529127535077121646524402308295761124","17492490034871188503809070393464727304143828491765350693224566925126105199911","18729388765252309558574413425774793050225406365031444286319123071733886008203","16480089772180635258030461748402564771495064968752027484874049433567638476934","19883029896859112110244432872192403645617916717981765942483639413786774824574","5836322900178474894684749559174625794931606932780001961547616477680042620058","16653103879864200321986465966316889764620013245316877484022986374603264725648","16698515797824680501871676266202253211872118899888285886412000454073141450701","12233333935383563259381899984287101540154684128978249282626058445737562030151","274144820678452421379816557330510579317549145397331786233749585417771792945","15776280343411227095808521568994471614057167432416502119979098996603887292938","4006308849281273792274000957432061207143923231283130218997109288816872164471","15435596047717285113986137313550661564381864970285528104339022986255133148722","20838188000013629937954971368567014585342187321412629930028751871743338652961","11433874323428772158013095381623924200138375055456955808189877801771380225552","20131832673266427475769741534309108541338301173662948074665588100934145363162","18820995668034441064481786413532066855976405414499761311120499699159123037823","10599184745355055122827201680284382421384308407491311763734067519190170881017","12876212902112174796123067808109407354255021515914362771981709565057633093870","16122380779106962898741444352984715606386470429041317890034930229550324363289","6836865286311343609694524245159119133769123287741705285044672797797129131253","21591247897428723764785205441739843186077784027717063974489303352320972773514","12385792108167898834965686312817629786971321080122734283967136719015404659574","2027121307515028227361803453971004574835283397634149795685942874063731877044","3005814121577142321238773726823845968144595752898226988876012545652019094241","4866442763557448299456393930665252678199356968867077785577776954873671002076","20046290436659560311648463454245918246036175981027749522810979896203323505017","1336458066220344521262880797524303149688311982013949559764047883761889898074","8491224372742742395086082981236389730604525807576141462195229766319454932167","16653103879864200321986465966316889764620013245316877484022986374603264725648","5988689769882991468528359729958078604149342871940113378259733314892811441673","3005814121577142321238773726823845968144595752898226988876012545652019094241","3133838166556165943824029176542597440374447246137252468511956694712122940530","11183511759577952361572566673527592434184886344484272921682811575415051015276","15613087414575084731294247924061147534041250959429049604445183368849211416480","4549806302643127256376053744839835469729529127535077121646524402308295761124","16632434695136893331490691565954322107706581064802120383393065446949358038261","4933182101183318250560018811514844142859815227384938275570441539742336262480","19750715061039895092288075649509657235159241403400837501090850293666251108617","6049121453084659222825489908739822792694774158293989229260853547616301268692","4549806302643127256376053744839835469729529127535077121646524402308295761124","13370115598260167633113987566372148589924273398862423406100474476922447871102","5469955587383559828097756439479681402770241102946573149636380518729022833750","1632500423430879870300869265124598190896358768919584266600939773214617936900","1071564318326244075341980988866027669737011601498674724527637774926288977632","1493819599258016045339110999235422917168609982262840449866816239257578013153","12998359993404137434826050598531205936631009536891015167391276398139095697469","14057612694744022955506885004102834629754310001978602939456750538201073114431","12863950582730082046148154608075135240263800483912187224256340414612337617318","21451388112829145060821974036366132513327328641208732802166144524686108831760","13004204931687393626720102454766944489147659600561337392365246286815729618336","18159717335881315589645032086713288496782632932867903491586009514211947568031","6307025001981604557276095751477581176989559254288853588059732891819079685284","1440944398068243290019815197893325790869382856018839453050014183551865062018","21780456150575058339898563710498965468972448244984833163147655946608027181634","6836865286311343609694524245159119133769123287741705285044672797797129131253","12233333935383563259381899984287101540154684128978249282626058445737562030151","20895602419903453398196391913478058693274453903342785067983129839552891433864","18207961221628464226564927736506330628717051411055463190287553801949660581016","16226984168490080400263373201570728966749962184950889718917387268203884202372","9141525190254519952022341797682038597679704914972221193906068133244136674784","11433874323428772158013095381623924200138375055456955808189877801771380225552","6585682031650501777630925238370902100450071127640040426788913175433490518990","11645420524832783721170737438334136629636818531954268745339783028025385754950","12313143896208759390351526641510039095883815550699902043061685514584813600074","9888239978634522925223196837194242311545989047209631150312165940305433080157","9306117694572387027262464048290209213167312534461525812720869427821619086590","7800856132048238285999367318239374829634076893379031119745654756621815300429","8328030641700015547962729319084004225083584314272156382022742953974692359024","19569641468295105160418177740024945517842897645468872356974690513927041995987","18703989514997223432661641229861332310348080898339160493229575272467603319271","4006308849281273792274000957432061207143923231283130218997109288816872164471","4754713757431627318482916888231215818599754770670360377946229107868340173565","8863131691935358314236967173935315033413820679736774627121405457433895003795","12616472237712801953990641170786430111219637655930398736307229893389737211053","14799475491656615059372780774624370709464328674979516248659286482744107230446","12600480540100512777695577363859185402126112711196993279255107913533806514345","7033259621441273379090690993518324745190856903793390519675567591730089293401","17603178439634188462056825952489860474722953595745235452510670608903852152095","18693317710730212151208513181186966573996077028828882441479768956833225751022","13641582444261924898950561772071287900110836262790950814969623169365632502460","6585682031650501777630925238370902100450071127640040426788913175433490518990","12006531986840408977918622834986049589872827010469069694616415380752223757192","7471975174935772955134792946513424637999023861300940920934522552454330255354","15950000082544045394526115523741159615348156864031044224172890462894241606231","14262959519701291686797273506458134133352406025405884284959025726384935370757","1758371485945815703876679445382538767819559386912271388124907980130004330353","18707594353877082516395132272698629627555807696619350634836774054442394671010","4116036656616283014460785251860209028828407967565755603300238819653622156901","18594403705196476767375145654138028270042663039914897358747063340477738248585","9377958456884255467194088716477119239642797045077236472356953540022684583149","14841990498171696915559636042318167569437811173944889089519208821758196118572","20006509131408258657369129395045362318044780385983476979717124299339121586377","6049121453084659222825489908739822792694774158293989229260853547616301268692","5568143431214976639464768845659406494667053581733825380813024891527928235568","3117586190657126472592128104269081184451127080527182054370687640020932637738","8691474413369666750892234614358820289658368726857552974633024543804680298964","17582818757173661762314072926867802933652214827993395929831324522299049413904","21267939098918134027395634942102971885281982111723141238850772621986256662900","12600480540100512777695577363859185402126112711196993279255107913533806514345","274144820678452421379816557330510579317549145397331786233749585417771792945","20663699746183765412904432768074062935933374627665221119822945660203712880745","2628389834360132333366589026387003814868457686372552787974500759887369913155","15613087414575084731294247924061147534041250959429049604445183368849211416480","17174337625009122870708859925793325997946378966416309900853757797594910229791","2967213245998332384543885104754783540899439580884490432048984202068901705944","10593196891529840628734555040366549092907275204600028371924840487850448911826","1218928037268356033769144531312651840516937586618523437511091378414585873142","19645303799442917520263849382981918648525479954858046014781621457535223129139","1218928037268356033769144531312651840516937586618523437511091378414585873142","18638025629280224617790168906173435277703684091772827588468099812026035539738","4087977103445290602464010775212316926483391914870441578758042979308767270230","8461890310516914992976016102786941165050457592527945955052989873762315959085","5568143431214976639464768845659406494667053581733825380813024891527928235568","3005814121577142321238773726823845968144595752898226988876012545652019094241","17603223305375528970110710410175592504507901335489871100398461389444688509102","2544185200680176111354240446924889864706979425265095363625611785655132613870","15718330550508436908559701395606414201668068552693146421627683872153427960853","8140644209065967749731539711645757673629321017919126168806710308878873241272","14799475491656615059372780774624370709464328674979516248659286482744107230446","374196098865630209786313311346578647643865900042267366994874073365518434467","13648236315809483800741231329158534760283476979282874649596812220944412887454","19356492332655108003949429792555441845806681675195402015185308983898801715851","1118279149946874054339337226256428104508684927524794373040609290637664978199","15045123937812306625997417665247004551483049589009168687548501235926225142020","1689709601556268020419125248006910470935068691712645256591639741945971733744","17089513984383051444012804212344078898491877698852637641465487102929365695051","3835902309964760173432611751283380612399529168609044921165087497368685977916","2544185200680176111354240446924889864706979425265095363625611785655132613870","3348432210747515061385037490620056224077503064341935527160366063098820102327","7986666009024332686676662864413304092722307894727965157582073398188685188596","7567096820715495523465831195561335361495276610103173418515651874250913956034","7800856132048238285999367318239374829634076893379031119745654756621815300429","21451388112829145060821974036366132513327328641208732802166144524686108831760","12042091411871087770321928117714696325647592163332119499975682262951606830326","19569641468295105160418177740024945517842897645468872356974690513927041995987","7532552732354833964818948844447124010555621930545046129036742684162649680796","4624094547626164902101572852723507795056700722159656748629760282341508155551","2666549942988803296757576401723478920911340699174408059253220554211642279978","9888239978634522925223196837194242311545989047209631150312165940305433080157","21267939098918134027395634942102971885281982111723141238850772621986256662900","17080170896205579351487820867879098448749980844566584779831865641843648559954","4781857348503260904895922377303003708601361291248025972804843818012461675526","5001232371587577350490476563931715794477203224577970619789108259266886603950","1194604146042048350003512364693260099917768421477389239935129766419846021985","21267939098918134027395634942102971885281982111723141238850772621986256662900","18707594353877082516395132272698629627555807696619350634836774054442394671010","7236783279316083836339480995960834633270959028443867776543135480683166923869","21570485471295626790395474884741704872769989979943302238757938053634431270592","16632434695136893331490691565954322107706581064802120383393065446949358038261","954361121666374676317512516553835448496801654442662842741750447529976221096","12998359993404137434826050598531205936631009536891015167391276398139095697469","13004204931687393626720102454766944489147659600561337392365246286815729618336","15776280343411227095808521568994471614057167432416502119979098996603887292938","7057969325794614252651980473201258184026879446024353453586952048006174273183","6994664438597925475223705340624595897260559921645516609558922687274714825714","4363738634465882118172307854104596042899685656091037340905869811610138317347","12180564838572574785577178844314834812952191421495899999848160514539788519817","13079036262723496487062341719232498854721623596427562123822257284722043022380","17496320222604434917256246718514403734235740171188912286919341525891256570713","12271983753113042626833634560364485293486763667349863253834100408006012012338","3117586190657126472592128104269081184451127080527182054370687640020932637738","14841990498171696915559636042318167569437811173944889089519208821758196118572","3814718729516245467542823378722292629370285860606484341016365565551107845022","15718330550508436908559701395606414201668068552693146421627683872153427960853","4574759938850684302328171377919788556520857555728298495027674689330859913909","9612640678039527906483661330640693201947160578570955411180830848021191312999","12172459979594272836158443334993722622077942972483988133675801482944682547814","18729388765252309558574413425774793050225406365031444286319123071733886008203","12233333935383563259381899984287101540154684128978249282626058445737562030151","19375155383395696510967115781488322005907183312666977471331313827828265655931","18207961221628464226564927736506330628717051411055463190287553801949660581016","1377808171643922006954160722747273091529243940371945604197417602736009363523","14889586175325483443041813226686357400339931463122742842745317460691290784136","9770821889969753026439714135746557936968725073065412883354694679382717123968","3768167068773898722568469507920346701450511503268567897292049941704582796136","1899628457317453197426768456858589983666227401303606152877725712904770786388","20236454182607023448722579291892888454656044680186829166675261973593187415963"],["19444847062288131493943706784497406601211185688116273754131863169092610576967","6756357644703883372382000235355183123582254014035599689202182239604052730084","5834963883005519863277737060862183242422193207910302638450418995361988638650","14630532141997277216138304497310196564144668507296424668904559464853731825529","276005601789737429160222670723919227435048289882730462426149086438071032420","8155169592408501114771949260607780658108674298838155446397409772814142490986","8496173005628286226067567535490313700679832176191507650779467185231469190908","18522758669123103820765651383058550163152440728027329605661881000152433829894","20717160396907128742447930491661507548527901200271695593644376944470624644874","6783400954785427443777419190369959791457729235323837312105292689987925420262","15793588416019429949037560428655750893129153960665891892058368228751095545231","13047857333849170739650468523722679452310178134682835736334331719537030864403","13702952651241896077447912135262631109194634993417767336774463460551430174591","16771524083619709591205953781761522848915592462004352344297444083327000335914","18362879251176766534772404056399418613362042401782184697324682721000341441514","1921169374568757279790536398590170773520268712196928601546829626342058380013","18007271086827148118702779138045717036566051534448069739899858280155274498416","11677788058520437899562086139134738123234096436757857524455227202665943485909","18567835086166004190967610331516651777840850520761110277224875363942309193033","12549862092815494374468253271773435129600234325866279388210551065809722236154","12545772019827878627361160408311538713526252988913811675565306764418681013019","17790976380038280976988246085058593967622099860594622912213483950365513994179","295342049608542310001266607810723788606908957088698225682924285077522343374","6042881253538576878797032051936765585731381049990189646390895524714385119979","16177540255744097871521288192447267851650838298325801002101754584177258351542","689944521090171958642896246746378107452915085681977844021127122085860793418","21806600652809306442934150151527166374544123717499224666056071691980718320158","10687999924804520822721645773635035131067056997636998429204051086244451458352","2919688173439697460443732931955910957668633676232388974155373692008001074942","2088428214431812495479622929730813017014992498691761094277448089379469403302","3415582465565312695281321795946675901044043725583982633056443485871119407177","11432629911071490835626964427117253752817170646912779324491272989814675105631","7810232533291842805873821935461788355487026463002760576510838277131727012637","15850563248943823248196314184730972664098169701487536058299754250660946727661","8728976634161630217358665668742559554087067616326533741880426574160431347132","15547734297253509235806418165603020662298589957875421913304005171944398984391","3158249123091915580481792507317767452027547932247936126792366337689584842781","8993351209143960585970304728524607023340419549878051384852055190939357644360","4916077676642951295302597643655156805863813630504586598619800437364856520347","15052050566960149294362189709830107098243646295893587902102267385191499441867","7150859141970623502564908412249208973629105197031357581428846816632024424773","5659463774436746876994077967866722465283824187257515817896446525143503038229","19464498962894958485813692012599931383997188482601571850575384753467351286244","15817240123388522852498302303406312726664688503153075471764110095076928497826","5302571205101485049626764959256598947375033298608344128379324163720645334410","20692740934715863051898617710088924214854286115389280275696778859743980624203","16121180084056885385768374518937623712121773918849607938195591718986083243748","17449335744171334550114352347521422770517337704382637045934115518315313519219","10253291411916249149409944484940846312189907495150544356013969086126665142627","1075989933051112270479502705317054499580865741297076182284940703542006602757","17496779585745191468575660181265060269367274078653980290860692264179679950345","3538122871871015265597356999511771252266082849566808379976323073541018816059","7579486643564421792498711360748450541290817800587156287997063934548078067430","12729453322089802294380978481733715584931031070971499485676879773953031357372","6694633370369966210102257937726749959486994134264582443016638266185985910723","17623873916481672691654892260114036685248130649477279788335331445450611897752","6307701910454308121209261684131709903162842155523511946468120801525808144713","2490437230848135899340146974626841790838141435966177610519877944111227880794","5017798776934405523649599878486720454877889960063314088092139283965398786505","20817420597532209277094254254011796300596270364114901508622090395551862021369","15258825807346731106480585334099109914680431439052544107298794895009458789849","436207735379833515948816288186396517305806158675320799296446691642166338508","13294452063087597313135368572465579195169503832488496277864688043228247847885","5281958238296057162541008015360609066403026130630047672176591872125940281371","386042965256259984981370670464051577241496612285005807238429392957903257172","10942243549318138624734474054079356060390652679206672396911330609350570685574","270406167611514320681193466529653886068620721651325372569688862100531780060","21769039780368018587024190597032828628077779629457595552733479023564952366755","14257848362862950978758226475754708328366569815134458955450406250786029562719","20675103741730086975536120126603499078928196755869920413190380095671818551245","4092670173605738716451085900386063604788602581706203170812942738120506696245","15831649561312402734198126328637255008767394666669354210368241338558776960189","8773460264964044836577029971056134181700063958452992767868071607709089255261","15969366571969091014788118571658462634361656562903319995975427897452380798450","9090539943906640916226800382217696518430261301435146060171359093957899579442","12598966212710420863490627175550230608849032996842656735190850410879434661800","5082369006304868528209185647948375467679404699238424225315402327829344882479","21232583620520875935273928036429179339733541639648304803699206026350761939727","15216028261411784444168994831958830734443664066057913354546359559245244924050","20503252723414965832541668822746284724979697942657467137170476075965669970069","7028702238870184282283447120220627544268950018331505390418179769944671024747","13914367585327187338201419330215996326176015243409712364994147816309186215349","11972191955486214659980933122765802430687113190375208665981572404973523390750","14164313126758634946487037847698512982901341175183925669745949763512995563823","19643507624196854874403818379994773749775871114166053756059820550045254990949","6253019705251155387518897830821875987387745060770031720935150387804561656767","12614772411624778073372124421221342091038200351899023491707175227213282820386","12799054234177807811763785306399761459507163662627299853945472202258817984059","16298413623883813223145205496435140924571599757753789623615680953320915107823","8610548149652073334956208860269106926096928271670836846827000353008597438642","9836284514785177186880347525497271134591015465315721313213772552563703130511","9784976878800158500585413974169708349867742257336666799769685612736807878718","470868555320390516869442830897247668225662850353632628471628589894687191840","17307217182098561598390477407238405653820260056045707641305128326328073989247","4674116504957384653684422429847190124325067762798863539680591567775099711828","4731805738765155173300706694658606612354279416357285157979268772012947617710","19408369527037425408359080120949793991326211819391999900817736764475384891087","18547195232973238597820755220571190923184148106985108846845816471997990813451","20764687130261902672266922992036714570336508922412884145266283492627732623055","19892377301785347591650272014822981146836631795074611861111907754644416903635","6413734757240628076834626843107147847105076965920897092716625820251267566099","20860174097442586122448303694433017965295045714190140568637973811484764859101","9976157929114087350046280965312715789783677114993652036414680945525100911346","20443284379975649347549376624760041838634895555678719470752881701519661070489","18893870838626114784034800186442840105625315290994458907142980368089948593544","11133903488642571617254269414928956946413436570602781254462926700298981057101","19260150650655385130131812830419214817760729375303617428649411135535896978281","13461732242206018780892854302161037532643049992617159415492401398338285247555","17102228736482758300705766391088892608834968842141194901502696136509842518851","12272871719359531993455999114365256014273629799700014768301209571123981371707","3594207022562239110254525411112455614396088633713917231917804057840385838433","11285761004669862352633286679979731173931391709324275439550892089674658948897","16102568806633415123079332012340754062427981513856504035688871887957095441264","19519597368641109872437527694712863032289967186787139583473763662663666076515","7850893600020675091200117628857569397261111640016750677979107965392238148005","571603306174340121900401663556670083480079944829773014219141824601049859366","13417234230361968064652407531174824869916389080577175614370178295183391972896","6339479905118967532949951465214069151191196402217454265147854834540663125252","5960266217431370639351267159124277446305252772759082083832329486288316249467","4827913422416492916492150995943144270796495141536283583210133173575222257256","505835591148323979694388175613018554712950286622892296281531129078833207836","13430162365250371418058587486919957187505271111954906160838200205517866181347","11791683213979729551370231161842890041856917089671010365556092948261209641299","13878734884084908403388117942446409924859492948402374543903835601747661416301","7914593516489852442626571171726775738811006144753811688169867990351813492226","10797302146436138655457419302923103882636832085380740614686862737265867963715","4394985227939438982168027081286727479189710464482074036154622396987481104200","17846370028727001276602920123596000650348888091372292752624526729964991577650","1399592710245988806733110276286400825565557403052909106157835149189269504885","4480510739831473990116609789595044875609739639498651344219709760264319707941","11004586942348048001456673131635437257298168527005870798189423435197580585412","17257016484028305690607802548970527681899034872857606356645268286697823560745","15880272219577681239503657424149468083362971750716603748729669119492924589385","15904554418638709990040031800946465318235842277305545433558322594469065553553","15434974732418275887764997429917488815499533240877756132902224733577879415473","21820168018779047045619488779286049910110834277003434094980989418536264599715","7749008375218427634588074063863812252051333204096406815453992945864441895362","3839511695466461913195739285494941868041132999203534272477982111080050006523","11192270025434739945085840100702117964637847488690757055208388489558083138446","7139432526479835672329459147861644569732921891281014828670035430783917357856","13194122716181797306702591509497059325803038795351433491511874742185743961578","12249486681620499703064189091192752491339675300250225642057366857872815164391","12751753758565217613271991442671268614075299410246481820732282132452214741118","14152899301351110068123785825973380466012981712532341785578761964446295185434","13188569584536274764354182121465196242988977215787135260110602036659203482271","8583058680448359031190112033511783279444748692566437598204669389441269594527","20739303906393962278673616858161941640788810322708163071371214143202505636285","1180296912375731347768428538731067445729945471280254724677426248781662325181","6017789428689615319791053684659036780814847053654130311712769439159937889609","2173620618321392312337995148079704379859037528218619197239932038613399941589","19342061241883725191788390495410721837582278801952815468188667976311290962368","11961293118976486325969636275124778155072321144934089356127319435440178254418","15003950077727351663111929517428911404929041518452601562597474042673134378445","11722551667664037124885783671627704449310149868015743702657377612966423359961","1589112258505679428520003152962075989895613700798393982576451871741579895537","10237533647542628466819493835368797714803583017400048476478599541985305410468","5633483783935945421681172594360251312787053845387155338966168908591309720937","11524348046498741796559712688153551628725965921178062387194745025875547122301","4119351785672815550070213600551390224338330329829235301635622400744195777997","8220379217788713766164367196730350016648232008308605440647920160713746282775","13638223826667319442473592100092923906983786522766094318050487349717540347281","12855479012377423286653672887817339438150952573187773204679381183748640361953","18366449890796594374544459463322936541588534912307972856193862784267127118823","14831494193189198695462931146064274924011201974477576494408974317628024686185","11093306658789847420019060296285299107442543903230107282402432370912267955583","5231748467324162438135669634394990945005973450791245562369389835255116288637","20334409444101673859585989946641575861192600463100161126574009339834336019122","10942950770398062877133838468616134250348068685639337507689939414774241938827","21031737058468102950077505705229155312762606827754507238965327181803396985398","14995690437383350976947687078631429818437217746718268679299515186473891812908","1173662311857265316234231482479000224594910385121353149729453581304925842874","16317128331316988904656774031136187679889289360179612223631661201288928381507","18022252460738403017955303125247197991330411362748880642725885324976196166640","8288649066280936236016549066415276935462595711048345269972110782845103139499","8101426167425842649552999897331966976546505505184628823541554176858292445739","19821753079400865197220037270302986474791903810187177911888698563958948917390","2784180484916863460671428583402451895733388047312540417328482549247889132480","4344349451137697568800756375175722014382670587070900626206184353193889614535","17108052563527778392492084240217991568486546407558042288984049724593379381422","7485356603493015640805315156078413547503227090809875264979461763636775540173","20116242746183168873263923842229951811573923370432089711294380935911814240419","9858039399154443683907425505646969133966670338173331647839576035520625125303","5936033307217133264257041597188115964457637953718647112906870372504454763103","10340607376355789386185133452696959378680344963374631186204861558290387937896","15143103911463403933694713744901214045515642353696764687126063928209653789192","12568011130622849006768060215361376856516151918301278020507921479894858098922","7111521666440256973246253704702100762492860379595157618666729636714922588085","7580486685427227006299614937862983316144183764347073757169003614550356572325","12502519505884004909911681176131189323239621629488138970782034914590014092043","9863581385421851101081385563919847832922036616162751380834430385700096059476","17089158809476144094792821264939338147530021791726877719480271708166652703326","7026088105062704237034940019476526637397741963002343232018356066556664336014","994845445499189024937804545514312797076696078022167307949339617575675546961","15876781382035467218016033046055811573116707790724628548144881416519229111730","14689809674274247318241891219567086413796397509459798242967892601162783903120","16802092988897859361455231737511996509109485446405679231988222489773597130923","11709594647859446002857187914237272532186051520048442968950936220950857315304","4759519183626534098537305899218615829180752782224491547499330146161396795604","12571776796240659864426729857318456609425220646299460273766246547672790642171","2769573858251324685257310553432601557929569520156842199955099014544291860073","21350702766688879701309742399569256840528276777122627878991656869575644945880","2526626063522996270964234050318417686046098564667525063669005074312714302888","18423969495073310328067310084757878116209975357377687351451039175700497833267","21531220091658777616686839660258285747325371338144374109694041768891457998130","8427394214275103558108677503145255849560869946329377312496236014365158589665","17828380319195981604154858938823367276654533109286377267191125673334432160668","19783211215983774081961805533835609388239392763346884852979216953198247940356","3727051737154131506128614318795547682671073691116653628343563309169975365047","4119083313708678127132222977172109489163864264438306707583540610970422311783","6252287104931155232025872198136217318428623125187576197254682957610815437724","16710755249167084189102639360502018827510499697025984202991420112604257385843","18110033746887190005442882808977635890410904404891461118841516946874175301218","2918227864528514910093363913084628926376993023173539111767698239437487745517","13157904629518409143900661589841979526819718227397509343138754500932973967009","15465984474345304234742186236252931608183011971272680663570940465290570424186","11878026413156941826685108652791732794881788651335612324490880949402660131765","21741112052399478281259924033664983472268352228185898315463068813827126161518","4747527944432994412143611227692094864627491876083414817086093654783041623806","10277509022239901860432140475301792168394200477149266436561100920061205891272","20754999404087624192417155025756386217241070628838846889103117636133597080130","1227483547193673052804267071643209335283088310397022289984033072158054393499","16307552232859454034882961446345138774643318545424496725987397798274178077698","11567226711210341061121984162541681925200952470462920272949521200488251321412","15424227904345959422619063085953205567698592752523587527109367016932522520639","16823401920568234413742595921287817924794689336332341371093680173736681497958","17178500371576477554985292834973399172166544093847768566487624429998590283954","1102400953040339496875839457489553861844373351305506415352858751913370587559","13080464865068812038556558702873972281884160558346383435106169788680033625409","17566439771637037764512551735908097926933863312105991588803956078424179421422","16017589041969736678541292248300058552736340849527861225476737351214952910390","17523132608433278488363705847003860425511874430394165130941513353774134550203","8092883253891793587844758644260299541045067550613025971974356731243569159353","12321254675263434305822776900976243546292614577867012315420304293383073504807","19531149435917118867843015828825849821207961709742362361864708921630704500355","15354576088842604762866949406584165222230700080158133636047990454918586008294","21332421319707262576917441034633152814114387620450650854230219273363255599523","8015272434831541996001880872358562207725683343073706305494326975486227960571","12801191151888372376060502552634956842440004908360922421581803464085063730700","8694104440224692716427888474719601394171838580385724406065092424387979527599","4765509078609181892846277022626232660521104569272055934150322254832843470212","1707661917588143644633891057877135790850785409331274025620234613394143277776","10787008015387605260759430860865388187745278282497799140302256368934199376144","18194756507120382377518900347608092311408202948025495396169941673887229961968","11810263163672173278046828506977243322053551737568215505161953008771538087012","10172831874213234727939155250453684259406380736682460492997296249444174287647","17213618752642545792657024676808752714343165784509075154710334645425090992985","9518819925372898218456223308202739688600409921430244215353056882744779318092","17131123136661624080110214353958082369854888444117983370276647495116278598167","19754012921975586054359731668325890866854753884616461552066225420294483351377","7462008052105461259399778705587223745964230591131678540554526750478109055926","5484333959594514705555581721735095833500903297285196545219921231872772537173","2557226013119092043233815190178143918872697500327638257441826698928999698503","1507054359686440154418474816353859974171432117437965276706552855449701554081","2909679213050550436618171367293366253775019191659100521218714623421006853461","10665116922568564616606427374948039957862979916786672099258153181783312457007","7437027687262241094771256075741913500475069050164092161144508657935421667697","9967053963569379718319069707565959289787419857073584408604810513462532221521","15718982984756021542737562070818004660368251058309053869841344798298950796472","8594575682392663586907570362979165880675434255219238535736457340406406145184","9849370649402433736350811470041391602601158790752692132296227692446786080869","9624482408802253671341983829498637676172459849241801149966973606965080480613","13354161934013526849172225712805307512472349171765307613219141825881166556129","7119937145734334389233313270329538489802620576999159113776679378225285195305","1344157477128478949987376865221983316869875771654805484027433189770507053978","2436371520942165567892833442377818872689562318523120379398949725464297140490","4640506731710423220152475272336202432209747972077657499961644265967270381722","8134111173406553366062271384030182464082652625519520524317327080426662707160","18835504434223507510706711065799771244448550952615072290009282262161978175311","14077721328629763505638231073434724231382773989965313645642436166756183358663","19436373778921499805072424422947303671456441758269542721598857156355476127485","12568904822717093384930952712937445754376237421200202440659283713620770814211","20314955959257660560921000685610824477917159776697875155847298772747329300768","11405801816929456032970782505841034689257844102373121701727764117532089184356","15371647220804665136508666928297419442325993974748904907636841654537146688325","1655879953669995298671229751452904731600368401825229264959225234155007235923","13666140938671349359494215404645073043195359971495797664882691221640390995273","12550904050297885561370934024413826444188941904477880730238385153385367165600","14073644402192665599906362483011583221003958995020521977339575317519946136820","16127269466493498734385715523881795251511197745525351003593964386278292404389","14837032480553715504482333167436817124130071726116661830299825705998767715604","3157996448090083717095242716808677272509143175022438801158190773708431950360","9715473676333570416382435678725993563514140964778059556896984581776706520887","256184547541958273285404071642922907436096112735647965196154201025022277333","5146840525622632106780932715431071405921695127146286279740961056077516621929","18384530045422033192575749482772861619638670180561846412064951946020645182188","11372273308168053261873108888838115723774928158127953375858579798875763228181","833683215294780236385091047137868434268111079744466678646701850123603485156","7089521065433622137186726201244536967699813557477580528539264131550132846173","18389315271722108026135864703744658330872185858220834005947924896718372293177","5273779548466102910604406559710961194676307482240757707576993583088923382766","10978849613552770174834059773211945346561256353926504281930385060310161512588","2025512406735026708082790073002703032266582308582294674172511260928159182091","4504468100864789788585048558923081175827147016553914221993821395902410226580","14522713701686086398049669439257754726056815369755592306901430082418783986888","1172467899506707275500621151748833545282318904665709759177855581577968013027","4017285937828459403753883561608416496086703957918951620827271391321529059987","11864471167080016922573162728545364451553961508840493342354739707638549565971","15395434394935126648016086405692837721115704686064641372105542066627038311542","4122633947230663267544557410467288252271224090277013257161493137456223809532","12367035182954332461724293253434245043112564579380915260333747415793763231827","11865369149265328070561952780930053440760117444614610585601990621600973752433","21203992229059334721432650225967073448947553069874953360114881444016046128212","4447062027498500706657516396155423649120105266695738260082288656873877775154","9768914556161785389033236087454305484803915332998751645480448064781057341482","20108322604990560980160877548004215957204376010054104051873159423654202752320","9595509101896597349796523888856236119720835531243000900720041097386819336414","14587725319883470075206520097311394112137459424358160384009848233555406814065","5457101278978742540891941392855879387574924402835776693411461549501000663895","12113841369063820983468698918538182086204397742190461968800698674517428421051","16068938140317889943118931947504964857830114253819180369876235993296869951694","13406404344690547712656422177528636282657567373508751252664435506615272243163","11920541176421075939593055125523895823398130674849391046727892158235384625698","18352551139579012013897403430987382961093216812627912973277904518956583676698","10674676651948544879371283545502930890187181335773388262215810803244237530411","17792652617465281251634086173304934915478757132116004782258567349353652661413","14095161285749055405609690234399476131633768997386366652456808192371657539278","14644418417880601716605432589809764539302677626964586647781758014634427301961","12682826801878685279471965670138908278972084615404951130397921689553252275917","16521811006308378802185018489472310864659177006048843323237150403797976462809","7587334525407307163363028377898856862752809539521418102406305044826227081231","2908188489370783835450675853612280861255988950722158120607386028475371765438","5768335837479629879988785208318290476463727379450480334123633739596865462597","18397687037462833823572912519678833347435022340840883701032875748539812458303","2064051903495281633275569322215038029852745445612015454511944780242997049313","20703062910303292827787302109557408114919292642975918255062370581536946280279","5192613644883731002587556312741958983910430944297172298315082126198947618654","313995112743011376940466097068957324809905301874096868794869587134429900695","6100583804412559896713857626556992976882930387670359810813986481223803866656","7568477784584193520555596651137331005687926377144262826447525559308115017859","11965816735476149301106556132754318298248490433423691841191513590415182681067","14207753099541107589311100328670316235529404246579031740240567057338780037783","8175181231439895653513458924728919160206799108112661960299471181538010485894","591574950925877159318533535833931322303268506486282492008424162963779338055","6291500295969425140209019573620316970493238770424073159034492473203273747991","21323803361917137983608045653271447127437985941865950514234012867420827584203","3099253561554789805581090448570743201416121773155589506816603655098155495780","1839714309313076287091568541152080485292267125822172679972972462776530418282","2558200175908531709047812372022758109817946983415270005672004724309427120260","19741248350058279216600684476328478604110692693351318658499898211265333707610","20513396347684804966709449761679280054940274793206626286808671260812749605107","21199395741845301585097008478390085111700771593140616012257190707415683678475","1193295440609646713499404272654104228852330502286294623055524015452275511910","20305220021223370039849959575983199996369990375922681857965899850450967281896","17820107252376141054638728180510570702321859107787033667301953883945482820393","8562102223756709272478881672945718062091524608141507453584726675060317232047","12729866889854088213825002226835767386413454298567413984333803695815667483218","2114069176086645971772669409791461648578645286643393688006056656185576536095","10328720387192484120632500167812311141771979930211632623234748092781923576473","19538747176808583509408758149278829047639151822592778264069763723986282915906","21566485228448007978934061238916445477820075682293291063348941039309377547117","16512874118663027529632973954247179090732712450359926425594828287754653354014","19513474361159315670934532641131225842686472304714306461918568972038209446632","17955660451558996091453589881731410953454580996956628370387347653903874484464","20207812711298497695792679093438648102083829229107494830848501937376854876915","2421660685500283805427163525391537853360580630525738399011621278281378880490","21220637208096207115274223617089911838806190587185640536543744119096826805827","11835649411559295031133501496374511598555615522238237687109557873710817042117","21845843315206305464060299008256175893069927481104540219951750648498803200926","20631059480895873966832525659452814534529673650140538889746811436460301724612","14931947145214186450366175386309608636198382084457683854282076180248650112954","11269118025480001613427470548591071135727829235390508347983385837123112634632","1605115028499197336856195103688387642848510242987640636183693756727845197451","14793151932068045192821467479293563014237700538215102580962654003247886510086","4775792479749631121184048728741675916968972636777338242957201950342436979106","11924757182338412396519976020707321303982941838080766083060365440475015697923","8793012126741532580270517228948233516584291822980201382325016017213162919448","12947791384548987120483288495488647496188362270092208812080516723498086541311","12431577747633669956276147567242529475925082219146607091004191516701144136626","21295609310519517439106939049470380075664847294017743131672693330232031255386","17805136075624551692961527907699002356636158441633111730604045300707846396897","15278588475566957386556949449930796412080383857587931690843946622004601690164","15086592550570758313718621320890905171205067149643603272496296451366320734641","8699916934544892971206820107825237806538121069002198874248662615835467665756","20478102917550226644126628799218539559581625330717095591690828406489686677387","21734112019017835960392215716550916739517609682150258078062175843229766012777","5622924154085488629989980934517712826380247658471643194906695701678873126248","5037675567259013572001419121301772828485815086531243296178132779054418101400","7879292516618887859296404288004569598567284522338026817864475104197386629625","18997982317212461405999296872279110480053417447725407290297221773473330565737","12867218521408319698642020263791067688553778005223894447782779145063273233968","391334649391830733165647799040269744369307545998620269291478209889127672130","19779172617188671507005003625727124894180457774396709811826326667504496286059","12596925142329235973535723979633472987429833026727663225071980844189781139909","5235665914291793592826849798922237619782905021482837663102032574231117695660","10378176145885707882180864408618732566825397818692038984901565060499728433797","5518777162814311292774945630117311095162296059457944243049863006066284885289","6383788836915296003887453192037395923957940433745589146468108910773431172608","18378980065351051303468356542903949047413878986601754325664070607662174625406","802964496357962027925228076554616050639951769911983531162733260026242452057","1151228765048898930945562930707044057686831938340081500592865256952516058143","1057436684897434830336559210204558056100073281195987707544574829513988277752","8304361322956656858271430255521912446914654094029272611293726480015886358258","18082138547469240768624686868284933205246517716350185535250166506919729036297","18560642658541340224573113670515696181164007817863242462644028839037653788889","21433948922232169473983994578762336789729720241688838555383992306060546089653","4345962888225785406562575377774464692418146638460124795786215785539658204204","18491683482553522621865105209782725705891560836095563832524693063541469370996","1595153957006911891245805177782994356237108154065736758857668165866836749177","12745465492150069776755940532782158049428554675034493241223264612067325589020","21068300037504263522637352854045908904548431623139252516417402783919558466524","21379848283598466733133277088729802150576242926281401193376016094883753111574","9100400045517145192842796463728001529189981626709973391364198878834790401311","761526173875414323215606081295741956635544790572881984169167052547500162094","4523944348324037435946042315903741390453752174721180782503374766412842506857","12826905798159813196098719614569295407483904515869413174592666343625127014683","21298301889175245346300576454864405649687317534182187998123555815790664451812","10466120407875459863164008656471249355019715662927569351006572823820953788770","18765634104736621669847916286108860226531877076283270686539673115026794951054","18029301674050837995501532337862434439785535856508206309403192619917393036618","8656248943628007700842555256812779240721861558942157285882333517421090859241","909124445964415430289446157964020522347064797918541903582383763270622833065","20322508313744566548149933895745626560811233314858699012656697985674387463552","11473133631180469596497273861714489893486108521245550300092095833600832127254","13886897454587288170317041019583091209557063660075562594238782502591880617730","1388351321374629053594529120028798986653727606192516406127733531956260217411","10820498967321126905058350631999655366739224197864958698259285565142810221774","9047437255774003551209946810681504440615180683867384529725252909718397576529","17682412621232111800652746737073732995871115754692913515596320621857114840713","17459249118412305865677329263167949944924745890546683445077681421571205578033","11260954622870514070117395143161679907416702369566601131920841166642078224652","21311356397831915997286783986273772284683252550215836267508561431199821451048","11763136682097804856942897773203126982150872911828688544623632129427460812219","21842630190420364126017236966197050216368815810409077092920252710858332802605","10278342550043948522301945276707570006673669578955262430508437722137975686347","13669836394181980472800926591849938243993826306313038236968977604089281032142","18982534836139734957526305655442344936227781958587358112416788951995174742854","924143300713476371714205215173483600456664902950245170837265326237374786123","648653927285053636997438895046220979749796246169864485502279639829145629278","5468004955461336959690612122600291068806333434489556112046051739596943193825","8198966717021290997043372415176306737647953294267526104476290516107668308327","6330635298670709263682446486509049538654774571294109306447884201740681314492","15801944407747674095773310676934626868427752390875620230089308747846331256404","3507827835726968508794483439124475369701726928422484362860421123326683863238","19859419638162971296535544182202685481010250129955481751622623103942606817204","2670989291504532792325900963509629466753053370545313281400138104314529277740","20601648770014328601409368128706235447141623327602444994362138629813091391329","9020250281221486894014346959707974240825231024554709686306581193571046947004","19448071090920013487075559489904268747031170350571103602007176116016451645384","9855626424064670213123764401317371994977710260418114099460019043585303617049","273960241475408299521801713993986326049831910833352543450619250235219034159","15178055939386630045266985854218396695095661921662396071305063121158729338683","16418360709708558514136044760916389529230612136576500765316577679946210432608","4221665154001721396448157482529680285294859819946962645592731760300169936774","15928426927240248300966353802918564700528184618416199798406399357144022404431","16641721098080574825584685806515290482647504340255838968877260490026580761685","5043328033043791709396469989853970276607353659738086803538716424273826786751","2365847136059064646235805353745790884320090296651246286300639444304747972170","4041703631909032338305847932603086185355677713004583954544688331535508848539","18955336159113062251133387111166001228674233452447804151061756635904896062707","9901364682511638439145386800139126568286116168499773668656609155268493975894","11850476168601990118767540453922551640834371441287882635558900147928082262216","19666073063311412123076338432054405543371752075085984197756557731016518270387"],["6147626315983398599623828701433547333453673391438677577603594265593492970579","17373941468853383126219105459190068607050821581808945666945628085762579781113","18675852993023932535703943048744467387004823435670327290887021721028261389122","2852369548793040881968762533784361230628321032910817596034076837353628838943","5808467217603839720723505746949026082419372220269554685256079561191978282423","881630969072083868970336367377553654445065403827225682564307597561668597575","19544569990585406772407871178492435999506060638507114401323899877313464549579","14878267709748128552530883948142489440260354911618515434884876633626486579649","17343819805602859300805807767921021643427945275478160475923718327955601493598","3147144316923493090898234228150076463075245015934615180699926751367408060422","20836727665349317544574927486063082355196001294246787527562129483352381083452","96317145595907405996130011904544599751055402678957605793377422485629255379","20396399042769838623280415410496555539316767877730329966640626730926403538050","16544170913650251958438511948437422304220931730646181712426172729311415616383","6584506727240961509162532209184300869090704109605569344599278616387977422824","19590566998868166131570194251669644997762427398843457301697274732261028743482","5370939348013017640853545726351872135226117514092676042183078550348501472430","3811261164977684952917850156691783437850828453502434535632153500394919711066","2749726461932787493809872269818342486261987625587896664994441378571818459053","11383915573983550688310113375653707661251254539665869167504588473259548645124","9916838988690774667483310481489200062268225403498599116738660259134492019394","19136188641055168463315034876725446731284472265583750601248498822680260653971","15887516977805743066217960044189842288305843582510102551810703206237207936575","17786336987824848955338515695131540821733411380051551383014609903313869530398","21005051851388306179077283769904047735509863101513109127654074489561708676041","16280781107126745125834716140922874326275066681906520932680370323147962007407","18273950651435988187072089200354144803354368518942337504978631619058165888339","18614652687185018380961130295677654222896772969195870105326190888698032468947","4648922361007933120465784894534004676668545278891300743738784783083164272952","11310213903650223937806708987912823331078563035902775716617057417534768150412","7092536296444781034677326999670539648216791129534729748520186653858607985630","16270772820615792622649247387660453356874032254909236504742474628472692028293","385367092325849782070593441039432083386681944665738979932466043995962540397","17805827342754632514390359424735316390746977081512834158806889154912559417928","20024907198154552436345245141243452270494636033297743549316539293869591409833","9234215646545489320069965310786583269490329356796444977441184167452078293345","17108590030314435824853432467901019859333457116609928515585181187173490423143","15910315900966077593714516016038233988218165769429475135456816210775619893043","6195529693120591346695405780440805718170994701745792651233817614742815203519","4245441012583870678188242646630412070966678757506494973612671283946354025495","2304903496039614013605109532969224328136162284873560250803845559468196156250","11693016457541736187220331042599070447664888658389150771534133194896638661901","1776517450185237199728116828598779967801038886584334689860313819128919908981","7806153986794341965459846938333081037827814782827885300996474222107928077822","17940588722606126928451685498548023407258873216558463377906081460549591575057","10371799193925909119136931769852410380947084603350351962123549948328327267702","20122148120685258769574029387408965700271219988052875651388434729616831444683","15035551217063457270042973549639483148607470023686796059163084647483242309786","16489878967514620362925449612730416514860426946012382948452004149598402083056","14240790414988975854386511568244923807338302009634523655466832132581555975516","15133406953007414531549110172748354779664260706851670137432180705639417343549","10690705590498820694610024170434557617847607229814360354839513194179728718523","13827979863066172786489124156769882364122124730007514470708895273478430314352","10710843232017112245199417697882565131311711949064640083364964016238583286376","16219821984152229456789841617124740176636143790533787306195214918183002289404","4443945405253668151711239889811682417722099787812699348882165569376836194505","13374936606384334329293205906352917858363668730599007422148591620583177873052","3130547537528629940846669185730749089538439536961954499553850136295109479545","4303969243784057034508123321715648667535372719281283244828773166674886261201","5989216789074209153873415762140487008397424300536017420337913939751018987680","3029463357835799909868216943346697078874683636588794683737453399576373478011","10476618143678752746465404417470443166809882491668311058666046570010751632186","9994925982779240617159890198100947662001398642389912929229658664058421436627","10176970544481288451346462511134758722164701220782536015402174118877826889800","18424158448523814893964414770095134832293892346615425373638250882224929431363","19366956079105748480886421061443145211970920795004384777659195934741753207944","11091181874846694774338090174372100116252530248564050096856395252568163657858","17353128656714558089667149499397061301594727975663152036301560017860428071020","13238006665653699249266914212871756817371819001645951476708047899463834219655","17055039311662343661955654211226746040465401123503635116898702099310815674177","5286666690003794895264449438418387547354350464287559511315554292024950176939","21392902555527188320634786446573898587249542929111262797890644582493861156962","12406681026512063332827308700529401005255127889048956231922878327520360845401","15434870710485794945517495742061260302820776556272580983813299352075013239869","4411491701113234064838089923553395617470727028121925035608993460932615875057","21024748108044825160048785654599582463761474190244764788874831807499478838044","7680978131380729207527636139131932637240489018432030824029067562073349627035","3408321867876643922057696479500927118853015770099176846426613051383968395111","4044017192507961081067569272422827731313648032811501750491406776829097444161","18331703123531329496821809270389173567173788148638525857133489033465163738374","8581985490532916637196455609081483082508040719164880448426655573293277467062","17097175177088407223987763609523437237317521418906500697394784959942004837183","17283357547543881822643982373752501634581207450744975027579424701697125768519","3114289317415665754315257515672327794564766886045727889771094589828045932059","4121982161232138234296918278643894219608247208937391244623132656218561035287","18319708437247829803403759962528832876979834741757230504257542910042917362674","264107059990458404050537285229935399100000658138987761233089330774579905414","19245962424630901799103732912445198554851301611802664729994835041984045352647","21481268955474162972538912477676302548213221412224453884623843567742457980931","13054652880944215100409957427046741206809909544801248923065995115092723867125","17445423482926512875731005227671884579111686501047535297579963992185600838705","13989585853109988062633188826244755875692853006739238542727480592170337647991","17644249062718367051707138555752661559694857297122633537358146305277959197700","11213280149118368264941616591024002649789370846345639214204202104395949573001","2479430738743447865220578715093732023607362497809812709721841147273010985071","19170346831324042064260292435651736023454774283928671114965428783767444651501","2249773762348190221814627264878686106981051077241650380763848925904895399587","15785155470883637875946431544967116475458109417323663711972510236612352559606","946428851254816645126686470157531364802207503637938152327774118754374664228","18081301874601965299421330559019912584730626502654796906499991148349725577704","13638831153633382373670579690567703064487867416124713117627597359296662910776","15731178958324434544665473314389188985713105014648908423598119023855377917080","9917979824441332180713189841520827682801122499780827932105321535841262104099","4477218349911392146745102565364781587379138332203307397011323331851070628289","4196116502992100152382226026767611298689212092096205622483116328361954387479","4125553640263062687363595819368491141976517437635820252286742313008508733408","1260916008238883369640783899703958869740490511938805562587993523697780059646","12030453507844788085837941465326991051577705323179782129621819752109773617130","1616729892142733988881271632334115354383082667129246299673207948969677972419","17790116243542925627055862896879089936668179540204703569058484177080937502249","4916826165840990844304507037890792549751849160422839689006410477257882391042","11584213073802412059271369957747279514114648193038035041611261743642554198283","16719835981206947895865946283283198567714807826433642746085372541538665338476","6699399511839905674805128446395397180664778802443708408977716737554091911123","21780850712707430600781028241084903375323034847472170705641134914367959985053","19650714630255045094059400839309517919992981015448837327702161504806266186096","17728935862560672332557173079197586635912056977568426093575277173589712551874","18218981656817542290354649557423542606221103516149396438505913482628491393745","16173320918545320350179263895050487620415753262311467001135680573821491660778","18749132839734280672991763462021231851140006460544549438336391357928762150912","19804729718734886506325561935920047752142654855830698311803656972478290268053","19852022811935550911202582188078555585552613695164681730307677046973334627440","1599238738915787308523391744992048319751794205228407988676015490331611074242","2730284211443506246137882698953449192620036180418562865041025043475273902148","16642697364423389759779785009909902509686802244536597340124664260693547218575","7030277536951152393489269782340459687632322761209815510891507421842401544976","2645282365316576153620189595563363498245471716604607785997545100954415436532","11836599958145463724978298325224948617075734206019980907941992318726742885090","9379836389594058052193342143605994573576860036693790984289698770005233003816","4936097975532856331587608856145453431462626157074390483327785374648647979182","14261272621177565679908729509467309781957277604700789847167775203637724156588","14384042993612223493091843709687195745753711205656098174358380328322622785674","7602522474780883033451932042024754309460846024406091409064496525413778743895","19284327179747355275744653991040577201544689654594363414180160712801683063400","8732420760226712172720096817390921487059254890223844820526135811172306039693","8736871804423236893739486045277613796724214967823222024310614732306446417478","10122727759967140400011531456417357002819799283827520027869345304850304243508","19600428976911158591758195579983230165311737010182255016349431988452518779459","21412640599888310728963227806182550957212529173812561818872357742782768708282","3382834884251505446697465695665888436600985771748054896175510070178943176799","5424268238511504833112942792546766462909191487396278645494904715254618246619","4984721874344265817742647345247970905833992888391940986059043485748528986042","2022573256442159494507968677656879636847262260354573370537255737091303819556","11258631584671172573229663590119520723468593511856614616016550772001845679866","14324740608597503028071282210876807343017578554502044501781245297161562860956","7445577371344670075033666971816988473049110374105172758569837792031494150228","13265606669106939823865364576315756612847139875689786156097851279279751433679","15238598484646922414421482495816633433705816808586791968083189157308379106115","10725523252426841374788275651734494325010706400301821980153464968050696737279","2633265364932628352793223988839752923311811166605503408947317749518744833456","7861175100418742846275793570757956123670007434573183352685296812332256704932","20999935414216903738941146789202104744586510072221252339001858617626303789982","5977614056432951814585414112421531222403223146602229861429936680581955055431","5931860876714797492092042112133640002267237452913723501691750002357001804830","14562008797185891958620443495496757871981918350581241703926621633158489195321","3505336021898609386263210131367635622704109853221241394942451388531030669769","16578235706824809523014538640948495588856893463000137040801413215727773380083","19375742803446681387195879499847072356772969941415230923234757010947456367191","6255367488637769736903949293980465723272271368601658401735079096147956784460","5906589694839922614995302078445158282424694339180630855015083500482196538868","13065708825279387211110931433757563977807644647530652721233367802469448976082","18232288076160370323511493082329108072058465477630759182903324408872159664436","9270542950868120082380674008791159538242222696005636916635750372888607203828","19388836984681019018462719709134421248793536992065958947499056787254258751682","17644385837318767408448645196495912141788591335975890639327420146901601072885","6455842021230030087723301679631006132297894313543816349547744163571857006938","12651647178446817886752319997848206955275956948340732199496215365053869535220","2038361690839579121638674254611449047008451768255542263231913955112979412052","14552505619309469592330707557293319610565413217299690813565239349254723939882","21809351305961289002997783583503461155560460938189863591461820286363980258154","19881244303935038444446962795728167560499810309912834473138514895445137175717","6434629727222395907353855634693221759145469065378967099211977918254204835433","11036466183244547002625933810655331358597012489081560653011525594219740881518","8696860013373675168559529464941134452066614743853560004905114221628099326183","6286610834190704195966860183541611347543876431770635371755207708407012119352","13785489482270739528894668899177561091226326813787695987264179185340645885448","8810497353129284320787428455370522511595657262006456870793996863971532676464","5950943845893271397160198360810800783099372758072046372020789345881371710825","5530915356962172707660737783638532094011201648224151382306028119770642279776","11091512250862371871604003187867080726528592592629078709401778342108977650047","15783644080397148510988340229704570796603281391084254749002543719002855287616","8763200105989369123326685776257599315907057694736599355967140415031996938110","16265670810206356417408073001772331032782360202117620221162260100178521648170","1060900582879546587300450314779603179547289174918628695451776494250751383469","14744516682282904590256322734403856848450648676567397632124016636373922693953","7963533020284370085512706609272793180113190314656815518091154379468342864360","21847103720496839760484939812661124697765074217247378137013246709106995512794","1653069435316409742759195996639155716495640457841657992745920070999323194315","1779277606640375903995595532406543892084224209567520378547237815999026067520","6995080044923736291442893376098805495068105284761180709673883412002971316831","10811321648124662138091377293526509914253637698173706332138689100382399963395","9601406465257748919110853775299124310985215012739412476110920449990474867354","18028141367193319054744440498619071967828221741281699864949191934036691507436","4607466430137542836150125749612147456128085309366797118935148996775246273855","15800640783457285335285505218287458944442721123666981076610926748598613636214","2112321293659869964303812620622373297871082794056351093537916002098854382120","14996631991733135844452595251336653836804943981827712201258451368176439511645","17520271953040754474711528844729345396665279637573303317828245745304573322797","15992472430004058554983936761614313471735664568983200231292353554082612221","13077407987480601704167238541689096961866209332906459397795676348552772889230","21534253000075971492923776155947583634689953016934976887823337792522221291547","819226293199784195154719767176522957736326171336737610132796013897711980028","17185725409385154522175797801720017361441550294043891637734656472407970636529","9575382583490973064980234314462577435416346301295239026337973844317720284455","21099851176254120774822574655588411581847669663738341957209759249291625898415","1966484535215911127324696991190082306993935247312211830919486710094847788468","1995818881696667008089141246304344453132036271634824321961354608938484533959","4667743157901207120637051668285562840191620616648732757926088699083644960980","13962937901967387497010877515712463400252815508150832310185443339350530772930","2629021746995755463136649506818480652912581474323117052162602164762321198516","20573270882617293078262572083653232250462469010594696343790004182829624161934","1913490321993231846954575139695345554332784169136285969356154414660735431290","13795292839631007915139444096743217376580091875142459105510805605582305270567","4058572558281095474323972096333621226798264350365788595026405775805372802770","17437029543151462415223319777679469646123927413521446735086712751233557753685","10258511040614960594008243736815460042536086782694789106787660436697233524699","1776622678963964166858973922665602162169906575558986124356721214967791324096","11475130909983164952012365599635166276537668089861700179995433713710298426958","2952755446410776844254499627216453159408235799061277085887851310752744265074","6624935776718778024845266788797012050011811870823913061539098756037591400653","19954266552453778490807092047530964172323837367905505645486543751921896349997","17616005977353868961299963148697997608390148348790301665790470529963563572688","900786527730568780236819563509871137970324714801299371788326143178262067587","6401534704731549429505440687499634640537230220192633410570095781266996282430","6061080980122679361349022326493404370004932185085913345491175616560373782007","7821303221606910583799348076769938669870582936408682873657894881791938775585"],["3543030996690731296144302074945644993940503512381940281158340485163553427782","14456582958634399729802605390122513015002601504508513170013909507149932778448","3126860645246915297044088167326588591680242124427769024481453610883810108674","20914220112711669635932871895638920862036110651562335932445860492773410166435","13898153337128326598294681972575411161373345548074764167063930702810085143283","11494816488079691563548948406211866308670367580609805045470273810278613528125","9265075386546133998992345241270235168672960377452999502776312567277548502287","20021949048926785450343828102540178861758398598932480397004304243016805279702","17919773090671305519402481279400246318283722142600928508878399512593964809604","9080338876332324361560940283287671152943529212088083669332838878892426421176","6966820873041565099335541093832581518388062131217364208125082807748337444442","4754959170441683519515036606259037626662671578099964081061043425010850133820","3217229650060400896792673270994784175046872440086333007152127029946297106503","21816481050785200027931285072395469615096302360347994694687269782499273734112","12807928427670068278917234235986720684636259679372568354055432889409054949297","13826913883258807838903404263173315859327388859817776690782622774806719577704","14715508594618229304924912287879458078786871554183488309385936868120900302162","4765885366156640574773808467306355912882165708339460440950145437341404320482","16722014012556015216650093088291583395944348552124898992216581531958560404280","7431786809665367144168808343099306354449102161270140701698145535166533004774","12514561575784459520302508925923482055587171874031496440739369331861774361144","13630926037601951290173737881839381432349720276436508871257961452732302249954","2416414043521570830938077478600484585162353864423849325238559208774076695812","3198391645352142061735535711335633217975113436438561010475922095171958777605","11503289488153380408852849064024910165225110948930885911379465054522594126035","17945548492985099414247885601087617115151464172983108926121249791371051519441","15206458584403956760846691261964236163202625304606621285728526159502456182565","18664803356744505916174195454562184678127127391413155379212300226736271965412","1932464282660454008791502282337362663506272754054933505791400845588414354525","7431131941001012844762212013511267729079957740244748755865134237672902463955","12260867654103631227135400757666859922137135589157019044994170609009605682612","3497692461171356958628408153056941313451942465631342687440123894946322982488","3611582236581069332046877419478476119433460345326857976137560691859450607136","16701563436812072022168694511067148429443045594144653838644405459857156283101","888833699088042159861509113185468788045755593715062347382548583028812466468","13027606106406728601332828518562058143615794059325398484231721019790789708383","16867560818956321945646006921505320613308271522776810400640826749438161909114","974286375063546693308153673073274687620807584704373288927095698770718355705","17164647015779775003667370039927920124381231953899936293739647389770842412636","13812735556582478046467982121127334513466404260587580530663067858201550350225","5555318749169933689829489127869820565736743958465695916577439219460828287201","15147736958519110413798327221058929792029254870817672304916259386717996218939","9093783603898735286753718269047404518944180735024302663202149030626421747264","19663528847623587912647904265815395529695410641548007238438947661221514322542","16050486874392688445392573281672864106952702475626854763551538209147588502217","13643154410219745091259394207881994403403664040943113504535042199360092675026","9994393341493081364074783836589113425357957616742680978059011711076524628096","6066727222812778846340829491283999369997291912496005263368499243410295288304","10275229946760815401870389679607490963497978883421730792100185293724085428674","21497546743120095993008732541489604895508606688714374565152084984414487943856","5410109209131659429652823371440397074564204322815773631417855000087652072422","4656718504694933743607748372708327104619579523407806362780445055109254730221","1535539668205688554612129122232712967981273484635206844376645263794510776905","6014624793218490271238764434773189318958730916196905789497853281972696671247","11664508187375558355195352743803150107793615135540732262825506318914225480618","6116179866134076212901873972162049629714787777774217125320617831147732712881","7156436421089505705028328573278072913507065296883146744244791316222380266201","12054467471426975647973340270599475277601084936967912793090659824480359129081","17043004725271027910538237148402068222835120116965638237871055913672994258597","16220455773823909794014715905765711732985616219607584706690711330413977988212","15859369801752308916251957941263160908672747781155852511743194995283478080957","479331876385459584849230762033048956240784621757125043523833547932336732021","17371898586803558805199285151576387708548132346602797103748639637481352576986","1669923098731048999410343513821846398616602374717981505074961546289337325891","5901847159215544530876581081126932589094431032258157198770582781864841878766","18964305080922802950293327616531540488576734432289534207487783803133028591534","21391565661610588080023857012644286006317523285224244461722350412865334901788","13859979526703965599946512832991648449058108364323767375822622250546827051763","14178842945330354151475041451258011251506932092165564803585149961516102229203","9732424347816228834779162921453357383035314691484039491038526173776392679930","2916484128690250908814196431868649363158004790333481812642864057335419267559","7496978836980754621750472326738269854937130487021159668865319635184235054270","15732272029544135687655369960610276709515477689734952583097488077854605780691","7867892378505499328367956370534010327619068595759860677931756173774607866661","2645389195137857175751801166613941761522924817957359363234922821861168369453","5428648673026825822348517069964588690890711938310863981949251926666891252998","5673097051473314160057127163079470500502486665904121175631085109229208920764","12213227243584803853178095425113463791275833583767127368163587230364245722339","18715899303501270934030638370927875241328470260353347061222955717933916891297","7978266080893459514342371863321441749862125749732741901595103595919695778835","11533864861650024617087550487008450420153395602349453386165533302160941562372","18450601439501348601530433257154147113861051704608419841682905432642513197835","9138792247850488245323412019837764753108822692897704202690513828206269873276","8780651517909025350948438820147097471614889914797642770395848326995230079810","16579891454742806064187509751513819282821430255175477305656819644332932757991","20749300053175474642021908869135322928369734326957417903553033361402813233282","14678025512968401250174091062539364192699965591711957564050835184613969981470","14500401299150087749352814234198057059984606531881272078945247743949487640486","5724620856479473091459642481591597298179650010639060800177645976144733457925","19112197370309313151147636092745145521877228675251700148292900136536916932170","13357726589469288818869234910529301323312513752019046957819344054565360588780","13374527560449258023689134260026613122339366365792290373325534211336697566956","4598648858165437260062263715423329175562992143452805065351481409276538133334","11350678282945894657287678422643168089297300739501707849993226500027831816754","3542838338928314843109276018513499150692851830271985332322006221768875867536","6915887598932201892744110121624584826388348577566708154030055143862948900209","3341372370459299156322218222512239866891612731698279185818379265788352168797","5465946929360194216023533683821008640072612018293683841488258245599905867230","12877035916601231664263696261369822574055329194451355438105731392920430333083","7152734772764736233496355792907418897029921786094807846499854978916041968421","3637783930300588858775792406146355117532464453208333425534311131944943620570","10014356913431431526174931647710822588072509765911348937997695830388503275168","1363032458635298325605180167581231122362341661979419469148204786413525015450","14749299418008156951304417344478297351805724111421271311859650072310778072387","17861121930186335338650720704614114161379448007421588691026444381264236189922","13982875176693656046913549248129840458651715264391216676392378240291122094805","17013986540180225001522806840753604869987807622757849834876725452904460718718","2388488441230564305487777723403725189663618052806260479803532470400273033483","13894658705595595767938737767669216953233363697170846839350285544511007008320","14405479371656690634733468702992982854989857716365066876824883028890686397274","5463406390085573883494999080478626961053571243436142083968477629350392248406","21534264698621976459797752593999005975042601484874798974898661774235315370253","6870335232316210566415585132486779489589002091153975018152536087664143524756"],["4674163295886668713721676554153485700383365415679648095685497378991889125957","20352935218386204728405947862710237635292695166913064017138871016474654829503","2592327317691286673995570769733690864734110983311652649344857955817901667605","16569965928578428536982359762305442141555631314673045263042967399169881481663","19131088716759828804870846683575351419567519624591961034686838811980854480317","9445249257154711404997904018575649485936923216724833070474435497562129184354","10263849450559453197266643809044161235269801564997177723771131710603406794657","3056222600207721353960552490330912452663290310028010792283928265227487578173","21790657388633280199755703552074152351760568814499175261713202273123354393653","15632854714111805599199016548148074406028161048345800202040891852724322865404","21055196030884358213128268053901624878656900226499964686210806947320487929084","20870802314656988415071187255580018825359148840256346431540367835816283233663","15616534517743330594960982114818869275309504871292088154595951649532209497803","5784776489399338538186111556208328817680916221272560662302058618935625424664","11524199340075899550845010989583353304937552835400935278913693430093835145958","6111955760150452509644281780032815573756917600365327410927439475076299492518","21618401442204665104986329854020260011488532608326424508093871089299201575674","9730498374695391045394700114591114475449040690008311140197590770638012506878","12450960556188662662174828467496697802873664968238345232698790724056489477852","19541588514194638760835578386391719199522674962225668709200961614811726952776","19932293326229311363288454122969308710212293893428838866879338848665668402397","604198849257174504677551552215661304343812986564057281411653401089383990287","4837206815765999838881694117090048237839208060322594233335602777738216787530","18830045323524997434973757449753199597597645181672539201484808179922595941767","597272048657162684432562166735615322949355566201513589220267457713801638231","1259257565303313693691585589383644773076852691198301937638112297241050998906","4299692760889064110427645653486657433003877634188292107545657115443318790741","18761514049733775183377076664698188376895721558935093039415023511830645880571","6365188664980535830887561182548117129128384651566127038255166094869781288138","10908245784622543297925944831880222108262707146660606570412640969461860215559","2993018118327211849601365308091689105225779815146751382435760912693815943525","17866549521241267273147593454540911294575012954137157106386791620196686306843","7588028284719211287685446874927984833830446870565937360743716093239510828705","2090750922500787060241285930607243134795297756000749701326291975063085030442","9457072070171052855412092923825503562704627349932867548368158306053472163269","21350677681867862863958401218481076613811347308327323704598795557647506601048","20770451808866000075425992751709612657492582152945338552610276408968142282748","2745159125861577162208805239818265210821612624943688815260513025855030451876","4978242409993988630548589666160972377966237165841561311622261456963266093585","8957122665158680185632585169710175898594503225351167444908975902379752039529","19785721977895675912077792966249940018620743361119818565517998582038530845572","11861870201391731884519245957624651537058767900307989639229586431063741762358","17255005338003805991070153748300808006158858491831332904540491356269058934807","20968613871554279013641220706303052278063770382104154194145614761598803229320","17088772914095596168232405755085581150280602134464528873794740219829997655905","17762875723381349883234521669486732244273741572046761163213388126273123976716","15757253055041927933508930441807290266967740722748969628910267606081057123247","9296526004150722607881458789952527402293389026976957647013649334875654666846","3258056648875256712165532481568505756954239103970575560653877933695716301019","10077274438511253450890613064192766199813655931242373841397350705759494726833","2485034538638996467225599076052442891342629898657527900536984935467064278829","20576592492040545165717975426556128169364393232969413514916564746364553078536","4404702101406694105795814505550144493036964326057335262710910677583726782302","4390438145706544373827946112868446908872103380251483996161316711096059314249","9320005299875600545246395152752248247569867819827474604280747799854851456406","15328920202400920589852925898624698939637026854484346389158880426029840472715","8400918283374117439272055433989009690670103147464016605895892720390834205756"],["9752260370971488270527045586368300736990068930727356612443733058936980331181","17861152003533815607258975980932083069070125130602569693881058150421024162425","5478494136231859826920266196710092163036570975555566533890278380032436251008","10470663114025860164205954011633511602249334550961664618144343510421485102643","8584166711424171940897653413099916249371028337527773813210106792825433993045","480687478798944972518402568634409857315487979030618520260560257514160422118","19050370281780858565019483243537472514353065987940901395981643695477442070526","7909886408711298712459179052698439249376302724729633721254586660282875932937","3422546743310933069772687665765317843579486790338039447423961278453066592006","13742327444822703543525245712246928813767223841816014893394911139318645136377","19985290653818527520481099040857204751957970313061971657480471856178364435734","5113623454243607312202962083851358306245672221703960790609797677771133546193","14116233721356660472284501740073810322785672551591291061323721256009346455878","4926155427866587734566793124447479446126808496458547974505225385766449054331","18737837843661096774737022603512579127563955418171470936320273353744942252119","10488727327274145721487028816083558148874702222936756843781953611817021479453","7430416809625816246215887987474320468895157902878142604273583498117862871629","15362958033781690751249945980799034135612747452438262501485459571192039957761","7971998013662637796977575957753688748657729947937463070177130208011037377134","6181181645748233273792885809633370176374365207286274393529265842466407115861","5314629852576387633630556100168250725317801821478381622914586992960199366","4515888460995791866096611222708075397170126060611423125117883548580281554338","74545133806554228861741049751398547087539129543232065265760967657668834985","7620596223797793424148158028949488299269254840309986200826069272117699745990","6891523215930979790200291579163513136440547056829176430750166726452304949371","16099728065410135581098672343255205185915801569430121937096121254451019507098","6557913779080084600620474619010501057622990909691220199506246579366751973182","629939504373643127852968084066404538738439068647901008271397818529825932208","19492258979744017908420240124308287406854433867244815996754195669671534365964"],["4703464382863044657879311175544785995557811809566957314411289057472490527020","3843782899730931149066837823855957195082814690023486343961650216093340265958","19753920348283277126115182030019993058097502466641468039307766133748654311731","6387046033771728790683513731756820363186884656538206941762539587100790793303","6083333704170189791347928946890269084686281072760260996461982250183813813455","3601362179840050473869565367769437889028980382089846018464370888724390080742","15027638961056161803405095516489512786991681560756640705495942526018791294016","19710873932029592796622363789856158433724106192219625427302644279655507023367","15638024414045421488677288694998914769438007035716986615640454221215106257457","15226555011982219477858209163809404309053286511808301742968320176656943221415","5370110265920942801753988420413217249900497386077178581974767910364898916037","16446764745477539410117561326613320146727869338745239407663387010432667098744","6928924323713233714997990198973637030825419323916177069979007639608046912970","19348991226118506958152269076463657327287453752172685562174237622786490116354","9119323634993324399323809831867704803769113884161172392745457530076776720151"],["18812969291333960246714927634541285791301021530654461980802056598587931445724","4704875114419935020350178682811140808616028527479657778061958964369984912380","15617352465980977810710937287156471405834630169023818314675251313292328425896","16144221017969671721449460332127347762820423413386277478456163956038616567891","3380797458259597109673995325806610244842743962089650531774414197031119011667","10808087229606934664635917926735817482378681653152030112405462220077698611677","1126944913887516904289476884314188784817875835019645183711270186623300417204","11979258528005865520771645630121593144004843533752381636064964135510687310382"],["3181021621803672270534191685279668265378151263688297096626662902385759927090","5364058324337084345210724157442488646258495950496398875849562278111691871665","10224931444631296256306111997023259115908040230658265780895445976301767844798","21372498552597749200461565055061950715581761591751395118297044913941369308968"],["18616110284164381247048792467749872996052606923771839554448275315790271733321","14430874127799236868693502382372384320750935636581861862128933170831298766096"],["5128751990395783157037356245305061367186470338507839004342854052810883263946"],["21456369111740585429580730730192781385573483310784729752834855625487486675579"],["14554846273967945193233550237677064545954831264772906442945609222783517483360"]] \ No newline at end of file diff --git a/common/src/mock_certificates/sha256_rsa_2048/mock_csca.crt b/common/src/mock_certificates/sha256_rsa_2048/mock_csca.pem similarity index 100% rename from common/src/mock_certificates/sha256_rsa_2048/mock_csca.crt rename to common/src/mock_certificates/sha256_rsa_2048/mock_csca.pem diff --git a/common/src/mock_certificates/sha256_rsa_2048/mock_dsc.crt b/common/src/mock_certificates/sha256_rsa_2048/mock_dsc.pem similarity index 100% rename from common/src/mock_certificates/sha256_rsa_2048/mock_dsc.crt rename to common/src/mock_certificates/sha256_rsa_2048/mock_dsc.pem diff --git a/common/src/utils/csca.ts b/common/src/utils/csca.ts index ee9acad0..5d431035 100644 --- a/common/src/utils/csca.ts +++ b/common/src/utils/csca.ts @@ -24,11 +24,11 @@ export function findStartIndex(modulus: string, messagePadded: Uint8Array): numb if (modulusNumArray[0] === messagePaddedNumber[i]) { for (let j = 0; j < modulusNumArray.length; j++) { if (modulusNumArray[j] !== messagePaddedNumber[i + j]) { - console.log("NO MODULUS FOUND IN CERTIFICATE"); + //console.log("NO MODULUS FOUND IN CERTIFICATE"); break; } else if (j === modulusNumArray.length - 1) { - console.log("MODULUS FOUND IN CERTIFICATE"); + //console.log("MODULUS FOUND IN CERTIFICATE"); startIndex = i; } } @@ -43,7 +43,7 @@ export function getCSCAInputs(dscSecret: string, dscCertificate: any, cscaCertif let csca_modulus_bigint; // the purpose of devmode is to get the csca modulus from the mock_csca certificate instead of using the registry which parses aki to csca modulus if (devmod) { - console.log('DEV MODE'); + // console.log('DEV MODE'); //const csca_modulus_bigint = BigInt('0x' + csca_modulus); //console.log("certificate", cscaCertificate); //console.log('csca_modulus_hex', cscaCertificate.getPublicKeyHex()); @@ -58,7 +58,7 @@ export function getCSCAInputs(dscSecret: string, dscCertificate: any, cscaCertif } else { - console.log('NOT DEV MODE'); + // console.log('NOT DEV MODE'); // Find the authorityKeyIdentifier extension const authorityKeyIdentifierExt = dscCertificate.extensions.find( (ext) => ext.name === 'authorityKeyIdentifier' @@ -80,7 +80,7 @@ export function getCSCAInputs(dscSecret: string, dscCertificate: any, cscaCertif } const signatureAlgorithm = dscCertificate.signatureOid;; - console.log('signatureAlgorithm', signatureAlgorithm); + //console.log('signatureAlgorithm', signatureAlgorithm); //dsc modulus const dsc_modulus = dscCertificate.publicKey.n.toString(16).toLowerCase(); @@ -216,7 +216,7 @@ export function getCSCAModulusProof(leaf, n, k) { return [tree.root, proof]; } -export function getTBSHash(cert: forge.pki.Certificate, hashAlgorithm: 'sha1' | 'sha256'): string[] { +export function getTBSHash(cert: forge.pki.Certificate, hashAlgorithm: 'sha1' | 'sha256', n: number, k: number): string[] { const tbsCertAsn1 = forge.pki.certificateToAsn1(cert).value[0]; const tbsCertDer = forge.asn1.toDer(tbsCertAsn1 as any).getBytes(); const md = hashAlgorithm === 'sha256' ? forge.md.sha256.create() : forge.md.sha1.create(); @@ -226,7 +226,7 @@ export function getTBSHash(cert: forge.pki.Certificate, hashAlgorithm: 'sha1' | const tbsCertificateHashHex = Buffer.from(tbsCertificateHashString, 'binary').toString('hex'); const tbsCertificateHashBigint = BigInt(`0x${tbsCertificateHashHex}`); console.log('tbsCertificateHashBigint', tbsCertificateHashBigint); - return splitToWords(tbsCertificateHashBigint, BigInt(64), BigInt(32)); + return splitToWords(tbsCertificateHashBigint, BigInt(n), BigInt(k)); } diff --git a/registry/outputs/serialized_csca_tree.json b/registry/outputs/serialized_csca_tree.json index 65f47c67..9043c4e6 100644 --- a/registry/outputs/serialized_csca_tree.json +++ b/registry/outputs/serialized_csca_tree.json @@ -1 +1 @@ -[["8691474413369666750892234614358820289658368726857552974633024543804680298964","17496320222604434917256246718514403734235740171188912286919341525891256570713","20717661531343094401419404535005724208121214979487601078059038701197331043233","8338161038189752845969324086767343943203808400163733790574844916777622907526","2244871586170865025448272825497968057027141766617969218599365252909572535577","3608626711809097355394527544415447989465407554113965209630262872975367728702","15123415314399351471075303556718608687323785898137080424470982286311735782352","712912966757927878965693240425422971881715436008090497769457122872348343952","3196185115626403769090812264110127828126981872545481387659039004737077237629","20852945694892786589706882486760988740184637230152727898060254427102399724085","663438552256433061576054140809160443818506164632349621099807794702352080693","18682912995789016595436882433435139159334702280353629213700041190405671371221","954361121666374676317512516553835448496801654442662842741750447529976221096","15976568257028838086904371689993285445196617581672212770040719579976951713437","1689709601556268020419125248006910470935068691712645256591639741945971733744","1644637032401895183536122531980635414363418149797237304436572320773189961342","10530161321691746280687450853188873346740398773252979676317929677235626245235","2628389834360132333366589026387003814868457686372552787974500759887369913155","20551785199765572414957755636883446606643894289625551996383687264006196444272","14647299140966795168634863382011786101084247791740654785196548451662948086183","17547875379231708590555723879540779728666475590929028917859771769395698401715","4087977103445290602464010775212316926483391914870441578758042979308767270230","6714269803293029270909153658663808588557387497502190042744619007611526657435","21829614378897985584789450465826668649930021698690579364831443823904306431333","7532552732354833964818948844447124010555621930545046129036742684162649680796","3085746588958121678695340573755073635811671969466202529706243909144419544906","15358264232435244032159222413023294519420811338021914047216004862176094578703","274618135907332659550125464790981847888019268634834758638296553463810383811","3145275707337847188939353064357731848534516166917140907835781738084777990262","712912966757927878965693240425422971881715436008090497769457122872348343952","21219905789358323534478545279193723251420616841556623254711235028135342626157","9798324625310926002331408522163043190724749435063160272808536376189654148756","13582411668238263333995209483029305625601807569534701653376051071840372484093","15950000082544045394526115523741159615348156864031044224172890462894241606231","5992148578777868893458748144399130666011631987544731979896999269126511048457","5001232371587577350490476563931715794477203224577970619789108259266886603950","17806353473562524209419921489674020711603878477377228029846764687154796899291","4781857348503260904895922377303003708601361291248025972804843818012461675526","19725005896671978040083076043827582994250733273969992727037910840857608608713","6771553323761092017375937072638415166675529808942268574147258168001934888920","6072598916249169136908315542430764263321939399814654522032874918790340778554","17174337625009122870708859925793325997946378966416309900853757797594910229791","2191847811950210640312799119786838991241770048511678287834866005381831304252","5556089667073477529764323892046529774877491089381310117639628299653468438238","5512523756717871023776497641942984346783337720501449614794308618170512394669","12964734676293244153748554238028206801414195417901916061140401142888712380451","2972653442760058165486608510571475869094354178867521177094553776876904654370","19617883112060216036437373002520931262578741557295904537678304364166866283129","1175039218798484980072399121924972057008410392367959450703939688306902524054","10396745429499812151132429056797671842807735536621273702194009800176056286117","21829614378897985584789450465826668649930021698690579364831443823904306431333","232738545482017472261496633286350972128632187612854220178426602649221258372","12964734676293244153748554238028206801414195417901916061140401142888712380451","3085746588958121678695340573755073635811671969466202529706243909144419544906","19569641468295105160418177740024945517842897645468872356974690513927041995987","13682529409340978640466595260264374070197250456280851982310079893206859446095","5864324965287761028896843934748795289028753931353130557439328109628025948300","18638025629280224617790168906173435277703684091772827588468099812026035539738","2194543658437125198357587946021311492689377172643668551084193961108304747785","21593921076086949669297200034323757069358367209393924460563276537349356681008","15613087414575084731294247924061147534041250959429049604445183368849211416480","21876658378266334569964380224531738829113969654886515172706825001082187941302","17603178439634188462056825952489860474722953595745235452510670608903852152095","18820995668034441064481786413532066855976405414499761311120499699159123037823","6071932171386993614931179655729818150534845046202199448265558256519848482826","10847231218503195759517071138679051602730407167074172266742227045164609231885","14506356872966117174131859847846372170262756655915924664237877294288585233653","5157851077382368258831146921235005863841873179959407293372390317913027109941","17215740096130814160671394963439750791336311297216240493968557475671940055057","7236783279316083836339480995960834633270959028443867776543135480683166923869","11398194787838497782166425813926171378663319996243937443066049287231892201563","8461890310516914992976016102786941165050457592527945955052989873762315959085","20131832673266427475769741534309108541338301173662948074665588100934145363162","13025268118387164480802803485697296266258675734062176433653116451463846209082","2959389974566411083204235326117036516979963119227951085034972251184734179290","9377958456884255467194088716477119239642797045077236472356953540022684583149","16698515797824680501871676266202253211872118899888285886412000454073141450701","15798767315325760489132964686987872692994717940925570238047784420230331193585","4781857348503260904895922377303003708601361291248025972804843818012461675526","12671050201903040870132377617509218353339866159494336831034048382615639662347","16118914885963834916174025584295786549597018616252080891215345608189775067017","1287880180407310800601651110405671450334122951893361316992545024696018620127","11275609334870619778800915975797190217946752952900097800029716348347769743557","4549806302643127256376053744839835469729529127535077121646524402308295761124","12385792108167898834965686312817629786971321080122734283967136719015404659574","19645303799442917520263849382981918648525479954858046014781621457535223129139","13079036262723496487062341719232498854721623596427562123822257284722043022380","7815052247860712154170106628650576750781240048309328607812510735568644480099","4224433012242275812105292037318388809660019851311870694425205064696802439276","20769202337427957655670745571969974320407145254685594108329805885177108459406","5864324965287761028896843934748795289028753931353130557439328109628025948300","1194604146042048350003512364693260099917768421477389239935129766419846021985","20342168169457748695802149508674862964537074611245094862559628187033717475867","9612640678039527906483661330640693201947160578570955411180830848021191312999","20227979332701217082249100988795416872480735366357703927751699407575642930935","5568143431214976639464768845659406494667053581733825380813024891527928235568","3208479846365475237410989805061539106045403260781956346764317556860566259416","1533174095932179741832085722978096451211273368734335528806856805965059178550","15214427790517490141925325587797963249335567355213168373025412405634050937481","13602826144456356860284419687170541618185281374064216815711251835821492025702","946455194947827940337729236114480813870835673647234481151109602462556270766","10530161321691746280687450853188873346740398773252979676317929677235626245235","20551785199765572414957755636883446606643894289625551996383687264006196444272","17492490034871188503809070393464727304143828491765350693224566925126105199911","5627116488283442946557217209333347313412518163016066550539282920861053074060","7628458932936495764524142429747955579001667142208907050372858225989514457008","13545244560072730176162896504690392106112168077747273393293519829141026712654","9197800054380533439556389025741028642781611147489934915217537670356117734985","19725005896671978040083076043827582994250733273969992727037910840857608608713","13597601271430461916896612582648919742272715556061113046784825140314498905478","13382473425074121858735590469120000769886230357897236331156422982819803288928","12439760546784082202871583401234733990044187602943315324169379543365738178519","5758137506105103459826998865197780898444584232351877574052188955203596737799","8370264878441063630462671051957262849187564367781659467838460782939804026447","17368028902269277465024746642764987612414033705161996149238721534130490186941","946455194947827940337729236114480813870835673647234481151109602462556270766","10782746953492500078751030180163064462657489179646951793154413574373371915628","4574759938850684302328171377919788556520857555728298495027674689330859913909","712912966757927878965693240425422971881715436008090497769457122872348343952","2483126835964394240864276692792992171095811055349556498083468949709404323305","2235150263865959136421726440400433738501848129328010009098035293276672220717","5469955587383559828097756439479681402770241102946573149636380518729022833750","9612640678039527906483661330640693201947160578570955411180830848021191312999","7135473937218111453151804646361837547205712024569546168416088861245626015030","9197800054380533439556389025741028642781611147489934915217537670356117734985","8177887533556223950928671845738575508418213402039951309409853690924708882619","1644637032401895183536122531980635414363418149797237304436572320773189961342","2235150263865959136421726440400433738501848129328010009098035293276672220717","19402903568454754777700416991856190103205898202952506192755702018138164903780","663438552256433061576054140809160443818506164632349621099807794702352080693","15776280343411227095808521568994471614057167432416502119979098996603887292938","12313143896208759390351526641510039095883815550699902043061685514584813600074","1218928037268356033769144531312651840516937586618523437511091378414585873142","9011100725723069477052917523444280437831907181043987084639300263089606956420","8082817983718546987105551276971252463934917335856558917892075900846966350585","17744796207881002836361754172345756972108243302293817629307470887005013537965","10909054529489265328197617859427892180031815470826676417637937142527343355023","20551785199765572414957755636883446606643894289625551996383687264006196444272","2676613676733015431959147577385543530164186971614056775227705172064306807928","15776564956440002895136116449299582951656581983212117550232796150916571692055","11412740120827044021870096407623293808851105071188140591919788265312361814171","3885925135313023686150115977607110368258492435636819989794778250027419367343","1440944398068243290019815197893325790869382856018839453050014183551865062018","18707594353877082516395132272698629627555807696619350634836774054442394671010","19750715061039895092288075649509657235159241403400837501090850293666251108617","16411233008444850443854175483761516668813055344878151975436424201109266465436","966676739412114459004685599806372707037105104204243310754946364190002350899","17496320222604434917256246718514403734235740171188912286919341525891256570713","4224433012242275812105292037318388809660019851311870694425205064696802439276","15976978918004336355901319629352200911328902990447017277673724626919242812955","16226984168490080400263373201570728966749962184950889718917387268203884202372","1071564318326244075341980988866027669737011601498674724527637774926288977632","20769202337427957655670745571969974320407145254685594108329805885177108459406","2967213245998332384543885104754783540899439580884490432048984202068901705944","20769202337427957655670745571969974320407145254685594108329805885177108459406","1828058457773990843551157525432867662470301272599690050907371698799750907039","21451388112829145060821974036366132513327328641208732802166144524686108831760","21219905789358323534478545279193723251420616841556623254711235028135342626157","5001232371587577350490476563931715794477203224577970619789108259266886603950","6540725658063818695836967143056666761434297658403942276316050979804587769432","9377958456884255467194088716477119239642797045077236472356953540022684583149","4224433012242275812105292037318388809660019851311870694425205064696802439276","20452154666799846638117791929900707763485919083101449648262816499313176812803","2191847811950210640312799119786838991241770048511678287834866005381831304252","8491224372742742395086082981236389730604525807576141462195229766319454932167","5512523756717871023776497641942984346783337720501449614794308618170512394669","20717661531343094401419404535005724208121214979487601078059038701197331043233","2476324937951789382181944025361875851099988750579823474754609765481889757439","19356492332655108003949429792555441845806681675195402015185308983898801715851","2967213245998332384543885104754783540899439580884490432048984202068901705944","5055315503098445594062335518727177962919913361908453398984787599226169183337","17492490034871188503809070393464727304143828491765350693224566925126105199911","14027649325388708488081280969586205626278814303627295953445422182588276435572","13465227484584385300386574818824135648806878577862587385005638292079537592144","12385792108167898834965686312817629786971321080122734283967136719015404659574","21267939098918134027395634942102971885281982111723141238850772621986256662900","17496320222604434917256246718514403734235740171188912286919341525891256570713","11433874323428772158013095381623924200138375055456955808189877801771380225552","15618359152517208456698312197785172766694127619077536561902714697931530755106","2628389834360132333366589026387003814868457686372552787974500759887369913155","2027121307515028227361803453971004574835283397634149795685942874063731877044","1758371485945815703876679445382538767819559386912271388124907980130004330353","712912966757927878965693240425422971881715436008090497769457122872348343952","9296362220804925104551234752226384203979024033236205671428676015277866160513","3099260939107709193833554073787772569345965287506676970762153917208260772189","21219905789358323534478545279193723251420616841556623254711235028135342626157","3099260939107709193833554073787772569345965287506676970762153917208260772189","15976568257028838086904371689993285445196617581672212770040719579976951713437","6540725658063818695836967143056666761434297658403942276316050979804587769432","663438552256433061576054140809160443818506164632349621099807794702352080693","8140644209065967749731539711645757673629321017919126168806710308878873241272","4655594634855844188499094340496759182976213206849235604185854128079411962453","13216746424486872049443607565713997095923431379037310625593547838968801990450","5512523756717871023776497641942984346783337720501449614794308618170512394669","10286727453332438406648583236643277009562092681643525436851770105870834802875","5835554999819330558954089066526405560740259616473885793288693915684399039377","2235150263865959136421726440400433738501848129328010009098035293276672220717","13602826144456356860284419687170541618185281374064216815711251835821492025702","3117586190657126472592128104269081184451127080527182054370687640020932637738","16961794929940055505618937273665830834556517799613603503371462732255229717698","20717661531343094401419404535005724208121214979487601078059038701197331043233","3054509086575963631520633315863182977708152785332183337259997415160907095845","15718330550508436908559701395606414201668068552693146421627683872153427960853","4363738634465882118172307854104596042899685656091037340905869811610138317347","3295533384340596604465346018013602551881861893498794970313069368600968766409","4549806302643127256376053744839835469729529127535077121646524402308295761124","5836322900178474894684749559174625794931606932780001961547616477680042620058","7986666009024332686676662864413304092722307894727965157582073398188685188596","8332725882597643046230446607227878580859441724564830732217655474732342787381","13605376995820845471499102796322549845207296468035227481017989756087418839900","12155172322986237416023663042004942352608253176870958535098713267207721181883","18703989514997223432661641229861332310348080898339160493229575272467603319271","12144047841603136900258834238679736103499067068658592153906655837799171705427","11964978685770609938104516880584559743324134082109819132572992701951308097934","1336458066220344521262880797524303149688311982013949559764047883761889898074","7567096820715495523465831195561335361495276610103173418515651874250913956034","16698515797824680501871676266202253211872118899888285886412000454073141450701","760526239526750316156895532664638087659951808341490670841188720735038667373","17806353473562524209419921489674020711603878477377228029846764687154796899291","13605376995820845471499102796322549845207296468035227481017989756087418839900","663438552256433061576054140809160443818506164632349621099807794702352080693","14057612694744022955506885004102834629754310001978602939456750538201073114431","21536244638197709025858135955699906074571886472797743044193407266270319669578","10940448732886105987570056589646710210974129839416224393729741337643229924295","2483126835964394240864276692792992171095811055349556498083468949709404323305","9612640678039527906483661330640693201947160578570955411180830848021191312999","15613087414575084731294247924061147534041250959429049604445183368849211416480","16411233008444850443854175483761516668813055344878151975436424201109266465436","20350757034998523187334178209550008366903662221355109911310833181698841320621","4574759938850684302328171377919788556520857555728298495027674689330859913909","1346980346605447755534859795013475283788975200653900831883060614677761712111","14662264414119036690282405601089929177544253624404097884734013101529582623919","5469955587383559828097756439479681402770241102946573149636380518729022833750","17421378063295915427159454374242321672486103038225921418122357124853338152435","11412740120827044021870096407623293808851105071188140591919788265312361814171","7471975174935772955134792946513424637999023861300940920934522552454330255354","13246300932955054699896499534663439333337260302838301416472718244977767210668","1703815020768376381115674913114725195497281256588197804868422201697152023777","3085746588958121678695340573755073635811671969466202529706243909144419544906","7236783279316083836339480995960834633270959028443867776543135480683166923869","13582411668238263333995209483029305625601807569534701653376051071840372484093","4754713757431627318482916888231215818599754770670360377946229107868340173565","4224433012242275812105292037318388809660019851311870694425205064696802439276","3196185115626403769090812264110127828126981872545481387659039004737077237629","3449083258780223991632112868061903902820017044757095982070790181182597682266","6398900866082970916513845909030912477768318655743785125093873617319711480497","1175039218798484980072399121924972057008410392367959450703939688306902524054","5210257615122466358421406540799898540909863599743777249997433762286779163631","143871243170896096761286538359612900806921859208087130133106251324625818743","7825186589955157383712635126647794282971185739134506671734682703198205174921","19356492332655108003949429792555441845806681675195402015185308983898801715851","5469955587383559828097756439479681402770241102946573149636380518729022833750","9301724904566173478342992350770203303162818770127169929361533578664506545066","14144040826170485243395777956417332299961240009335454448818306795274079743482","15106671954584442557442200864211260493785606980074399349847632055753054483078","18869217976653672070772236404509215919650604056214055814018794444287298958040","11645420524832783721170737438334136629636818531954268745339783028025385754950","13439261978972035796996150244149252173133297973805089227133789936712760569803","15106671954584442557442200864211260493785606980074399349847632055753054483078","5512523756717871023776497641942984346783337720501449614794308618170512394669","5835554999819330558954089066526405560740259616473885793288693915684399039377","8863131691935358314236967173935315033413820679736774627121405457433895003795","17806353473562524209419921489674020711603878477377228029846764687154796899291","12688265548305129213524123982283433383136772509110047948234368697335124109577","18207961221628464226564927736506330628717051411055463190287553801949660581016","14776577580296682191308190812580888360497977691535016054206068797647787496417","2716120769329705626706313807317151735273953258897025678161053651818357382993","946455194947827940337729236114480813870835673647234481151109602462556270766","614966471251760438899692967903400348852862620490339206898848861882544111046","4116036656616283014460785251860209028828407967565755603300238819653622156901","10847231218503195759517071138679051602730407167074172266742227045164609231885","20895602419903453398196391913478058693274453903342785067983129839552891433864","15689970856593006158259892732288646993746887463514406392254922588756401796606","7408129850262826909244224402840856032373035919586685754734550738382550518934","16954193412688439955632320517883969169462813275902648614432177779074490622129","10822341224343704549832157601167511762192217681493597414750548578356092990059","18869217976653672070772236404509215919650604056214055814018794444287298958040","12998359993404137434826050598531205936631009536891015167391276398139095697469","712912966757927878965693240425422971881715436008090497769457122872348343952","12439760546784082202871583401234733990044187602943315324169379543365738178519","4933182101183318250560018811514844142859815227384938275570441539742336262480","5519776064110123180759081312729047106292930891845193268609251880658830705433","11964978685770609938104516880584559743324134082109819132572992701951308097934","20852945694892786589706882486760988740184637230152727898060254427102399724085","5157851077382368258831146921235005863841873179959407293372390317913027109941","3885925135313023686150115977607110368258492435636819989794778250027419367343","1632500423430879870300869265124598190896358768919584266600939773214617936900","16480089772180635258030461748402564771495064968752027484874049433567638476934","946455194947827940337729236114480813870835673647234481151109602462556270766","15718330550508436908559701395606414201668068552693146421627683872153427960853","10646102197739219326084794742182482777338903912449154661603058840745258963379","1570274245034538183221128634382794417097801245857820047802724595210806628688","9147263785534267636687968913589685560505104267741632426978703854622278136991","614966471251760438899692967903400348852862620490339206898848861882544111046","5566832184094895187524267067093217754199394279599836592480486864883149893031","7135473937218111453151804646361837547205712024569546168416088861245626015030","946455194947827940337729236114480813870835673647234481151109602462556270766","4087977103445290602464010775212316926483391914870441578758042979308767270230","16137218824867518993112176330612823176216439366022687220615937652371635085247","1703815020768376381115674913114725195497281256588197804868422201697152023777","1175039218798484980072399121924972057008410392367959450703939688306902524054","11412740120827044021870096407623293808851105071188140591919788265312361814171","12271983753113042626833634560364485293486763667349863253834100408006012012338","954361121666374676317512516553835448496801654442662842741750447529976221096","5519776064110123180759081312729047106292930891845193268609251880658830705433","19645303799442917520263849382981918648525479954858046014781621457535223129139","15546540006815490057793129658556841909859473017172875226825092156274503806084","16664225501027310427143425928031114680302400010653769373062555871803572912785","12964734676293244153748554238028206801414195417901916061140401142888712380451","1644637032401895183536122531980635414363418149797237304436572320773189961342","14588408860702774403040643085023102427643318176411097113905533342239652444746","17806353473562524209419921489674020711603878477377228029846764687154796899291","3401355104414210656254289265060762447824858847649022703190474278352208416173","15455768567639248552871867295320669874358209402041404093780654826364925510661","18869217976653672070772236404509215919650604056214055814018794444287298958040","13605376995820845471499102796322549845207296468035227481017989756087418839900","20663699746183765412904432768074062935933374627665221119822945660203712880745","1454875708970600335304126262767303975870655905960512436254375545925577328692","16954193412688439955632320517883969169462813275902648614432177779074490622129","20895602419903453398196391913478058693274453903342785067983129839552891433864","4933182101183318250560018811514844142859815227384938275570441539742336262480","1336458066220344521262880797524303149688311982013949559764047883761889898074","12984040983088595314698866307930588700679289984810017049345447973409490678089","10847231218503195759517071138679051602730407167074172266742227045164609231885","7236783279316083836339480995960834633270959028443867776543135480683166923869","12180564838572574785577178844314834812952191421495899999848160514539788519817","12600480540100512777695577363859185402126112711196993279255107913533806514345","18207961221628464226564927736506330628717051411055463190287553801949660581016","3401355104414210656254289265060762447824858847649022703190474278352208416173","4116036656616283014460785251860209028828407967565755603300238819653622156901","12863950582730082046148154608075135240263800483912187224256340414612337617318","3054509086575963631520633315863182977708152785332183337259997415160907095845","6714269803293029270909153658663808588557387497502190042744619007611526657435","163072371065782787415009910882963726380729563508259100978084406744617596229","18124161608764573031181181091746932116602343523449108232131693108002812215595","17698177298685528128465298198488735273578406532961103401549266592203987353446","1071564318326244075341980988866027669737011601498674724527637774926288977632","19883029896859112110244432872192403645617916717981765942483639413786774824574","12155172322986237416023663042004942352608253176870958535098713267207721181883","19375155383395696510967115781488322005907183312666977471331313827828265655931","12863950582730082046148154608075135240263800483912187224256340414612337617318","19470438559791413810807322334940256814752303267756345670901343982529444306002","4754713757431627318482916888231215818599754770670360377946229107868340173565","3196185115626403769090812264110127828126981872545481387659039004737077237629","11412740120827044021870096407623293808851105071188140591919788265312361814171","21876658378266334569964380224531738829113969654886515172706825001082187941302","9888239978634522925223196837194242311545989047209631150312165940305433080157","20342168169457748695802149508674862964537074611245094862559628187033717475867","6267275553024510648754807709238333654138152587130901210611391956543755030870","14535184095124950892028872912364622595212286520594227957147431032075397154266","2244871586170865025448272825497968057027141766617969218599365252909572535577","3117586190657126472592128104269081184451127080527182054370687640020932637738","18638025629280224617790168906173435277703684091772827588468099812026035539738","13602826144456356860284419687170541618185281374064216815711251835821492025702","19136646515076729474266957823959601106059804333394786210644361751043819130428","4006308849281273792274000957432061207143923231283130218997109288816872164471","4866442763557448299456393930665252678199356968867077785577776954873671002076","5523494911625033531158591406744208675721214018061290251579858790908546943321","14262959519701291686797273506458134133352406025405884284959025726384935370757","15798767315325760489132964686987872692994717940925570238047784420230331193585","6585682031650501777630925238370902100450071127640040426788913175433490518990","19569641468295105160418177740024945517842897645468872356974690513927041995987","19617883112060216036437373002520931262578741557295904537678304364166866283129","20717661531343094401419404535005724208121214979487601078059038701197331043233","15356303677036047765901840442430056519915375782726231750029051083606835464886","18869217976653672070772236404509215919650604056214055814018794444287298958040","19645303799442917520263849382981918648525479954858046014781621457535223129139","16614048991075038030789399956909315351324595917053714063050624141460033937444","614966471251760438899692967903400348852862620490339206898848861882544111046","4099531615762313645664270695169451400067010667159453849071079869270467331430","1336458066220344521262880797524303149688311982013949559764047883761889898074","374196098865630209786313311346578647643865900042267366994874073365518434467","9141525190254519952022341797682038597679704914972221193906068133244136674784","12964734676293244153748554238028206801414195417901916061140401142888712380451","3449083258780223991632112868061903902820017044757095982070790181182597682266","1218928037268356033769144531312651840516937586618523437511091378414585873142","17639609723574756459891329821328819780244585917274648474440537044036944455741","1533174095932179741832085722978096451211273368734335528806856805965059178550","1440944398068243290019815197893325790869382856018839453050014183551865062018","13004204931687393626720102454766944489147659600561337392365246286815729618336","12325315597559743752230693830058397065789541158772176272664764348470516075554","2972653442760058165486608510571475869094354178867521177094553776876904654370","8370264878441063630462671051957262849187564367781659467838460782939804026447","2959389974566411083204235326117036516979963119227951085034972251184734179290","20551785199765572414957755636883446606643894289625551996383687264006196444272","4087977103445290602464010775212316926483391914870441578758042979308767270230","15356303677036047765901840442430056519915375782726231750029051083606835464886","2683741289082249638876005424728100137356381224531970040303109182897410726686","7809308148717690892433475015444256746265555654600319391230796066961179227754","1440944398068243290019815197893325790869382856018839453050014183551865062018","14027649325388708488081280969586205626278814303627295953445422182588276435572","18594403705196476767375145654138028270042663039914897358747063340477738248585","16336411977121389060651610820631824246361165054986934015236391565811657107740","4478906216357891733779320532575007598672127166034590483003103843151770821805","15776564956440002895136116449299582951656581983212117550232796150916571692055","10593196891529840628734555040366549092907275204600028371924840487850448911826","13602826144456356860284419687170541618185281374064216815711251835821492025702","13183232877692246822590812126633640676351230654681431401704678854597307073741","1143725056710957642097279233815583467630238769694555684003566733048000751701","21536244638197709025858135955699906074571886472797743044193407266270319669578","16118914885963834916174025584295786549597018616252080891215345608189775067017","3085746588958121678695340573755073635811671969466202529706243909144419544906","7471975174935772955134792946513424637999023861300940920934522552454330255354","16651609932326344885003930002640274787869059718257297617745634674345809614067","8863131691935358314236967173935315033413820679736774627121405457433895003795","12233333935383563259381899984287101540154684128978249282626058445737562030151","7057969325794614252651980473201258184026879446024353453586952048006174273183","8177887533556223950928671845738575508418213402039951309409853690924708882619","16336411977121389060651610820631824246361165054986934015236391565811657107740","16391403911439019484448973048634108295486984765667310507956782776900193019857","16632434695136893331490691565954322107706581064802120383393065446949358038261","7532552732354833964818948844447124010555621930545046129036742684162649680796","2959389974566411083204235326117036516979963119227951085034972251184734179290","19375155383395696510967115781488322005907183312666977471331313827828265655931","2683741289082249638876005424728100137356381224531970040303109182897410726686","1071564318326244075341980988866027669737011601498674724527637774926288977632","4688608777744900238376640178893120441686955058686461498962807904713059186065","14862128476161472318832207576059761644997238747584253112211006461966427732368","14057612694744022955506885004102834629754310001978602939456750538201073114431","1570274245034538183221128634382794417097801245857820047802724595210806628688","13748763105074593620013986383045781773296715695306976461248290420913969610259","13079036262723496487062341719232498854721623596427562123822257284722043022380","15106671954584442557442200864211260493785606980074399349847632055753054483078","1143725056710957642097279233815583467630238769694555684003566733048000751701","12271983753113042626833634560364485293486763667349863253834100408006012012338","16651609932326344885003930002640274787869059718257297617745634674345809614067","6267275553024510648754807709238333654138152587130901210611391956543755030870","17018828663094797750757032992805443165559600645338019797634595027047317699068","13826842810792073443336072469158777368557028423710280480746021228332338112849","17539019008906665692358401403758991639375357012882690788487548831749474497244","19750715061039895092288075649509657235159241403400837501090850293666251108617","15776280343411227095808521568994471614057167432416502119979098996603887292938","19356492332655108003949429792555441845806681675195402015185308983898801715851","16118914885963834916174025584295786549597018616252080891215345608189775067017","4224433012242275812105292037318388809660019851311870694425205064696802439276","6311168126082531220851145980238852866031091078497507817682388947599504858069","12439760546784082202871583401234733990044187602943315324169379543365738178519","12385792108167898834965686312817629786971321080122734283967136719015404659574","712912966757927878965693240425422971881715436008090497769457122872348343952","14506356872966117174131859847846372170262756655915924664237877294288585233653","7135473937218111453151804646361837547205712024569546168416088861245626015030","13183232877692246822590812126633640676351230654681431401704678854597307073741","7033259621441273379090690993518324745190856903793390519675567591730089293401","16954193412688439955632320517883969169462813275902648614432177779074490622129","18638025629280224617790168906173435277703684091772827588468099812026035539738","12180564838572574785577178844314834812952191421495899999848160514539788519817","13582411668238263333995209483029305625601807569534701653376051071840372484093","4655594634855844188499094340496759182976213206849235604185854128079411962453","8370264878441063630462671051957262849187564367781659467838460782939804026447","17496320222604434917256246718514403734235740171188912286919341525891256570713","9141525190254519952022341797682038597679704914972221193906068133244136674784","21570485471295626790395474884741704872769989979943302238757938053634431270592","14214179218791945815971672263715227174014095422524111075841145981660259478464","5992148578777868893458748144399130666011631987544731979896999269126511048457","11275609334870619778800915975797190217946752952900097800029716348347769743557","6714269803293029270909153658663808588557387497502190042744619007611526657435","6221105771699561812227612915438412791747103897962033448670914370271924677164","12249836732564745436903455221618799619493605772253570453747572839223832061488","1493819599258016045339110999235422917168609982262840449866816239257578013153","13682529409340978640466595260264374070197250456280851982310079893206859446095","5568143431214976639464768845659406494667053581733825380813024891527928235568","13216746424486872049443607565713997095923431379037310625593547838968801990450","12180564838572574785577178844314834812952191421495899999848160514539788519817","1346980346605447755534859795013475283788975200653900831883060614677761712111","10782746953492500078751030180163064462657489179646951793154413574373371915628","1570274245034538183221128634382794417097801245857820047802724595210806628688","11118678586223256967063779327106075185044005359468107273605978537625172540996","9957269699849018786420105364721112375750180716923816099920663920684273075720","10286727453332438406648583236643277009562092681643525436851770105870834802875","7986666009024332686676662864413304092722307894727965157582073398188685188596","274618135907332659550125464790981847888019268634834758638296553463810383811","20131832673266427475769741534309108541338301173662948074665588100934145363162","19750715061039895092288075649509657235159241403400837501090850293666251108617","11545919418828350367784519368633485476721293708396219560182357280822873453096","143871243170896096761286538359612900806921859208087130133106251324625818743","10593196891529840628734555040366549092907275204600028371924840487850448911826","3005814121577142321238773726823845968144595752898226988876012545652019094241","9798324625310926002331408522163043190724749435063160272808536376189654148756","11964978685770609938104516880584559743324134082109819132572992701951308097934","12519200710540274443987348735978102700747472530155480989464845837532354722845","9679676316674197446267516028449539668288990002440917773972518794977810420407","12519200710540274443987348735978102700747472530155480989464845837532354722845","9957269699849018786420105364721112375750180716923816099920663920684273075720","13602826144456356860284419687170541618185281374064216815711251835821492025702","17603178439634188462056825952489860474722953595745235452510670608903852152095","16651609932326344885003930002640274787869059718257297617745634674345809614067","15950000082544045394526115523741159615348156864031044224172890462894241606231","18451742809683626507365133121132299935287207259245734910631591678742738573305","15214427790517490141925325587797963249335567355213168373025412405634050937481","12600480540100512777695577363859185402126112711196993279255107913533806514345","20895602419903453398196391913478058693274453903342785067983129839552891433864","9306117694572387027262464048290209213167312534461525812720869427821619086590","10690633522035360601031737428400068881001718255130638825096194976708724866144","4866442763557448299456393930665252678199356968867077785577776954873671002076","19108128352145842008548048053308217665383455218276209300064989051535526150757","954361121666374676317512516553835448496801654442662842741750447529976221096","6714269803293029270909153658663808588557387497502190042744619007611526657435","19265929620982371511819161020399302006822082297986006761385196152068883496437","7532552732354833964818948844447124010555621930545046129036742684162649680796","5649801951154791837665343131813310668539151217466670556566164087328114632489","4866442763557448299456393930665252678199356968867077785577776954873671002076","18003950806500496937907532373283544753235688820907806692295042001546833965033","12155172322986237416023663042004942352608253176870958535098713267207721181883","6071932171386993614931179655729818150534845046202199448265558256519848482826","3099260939107709193833554073787772569345965287506676970762153917208260772189","6072598916249169136908315542430764263321939399814654522032874918790340778554","19569641468295105160418177740024945517842897645468872356974690513927041995987","17018828663094797750757032992805443165559600645338019797634595027047317699068","15776564956440002895136116449299582951656581983212117550232796150916571692055","12042091411871087770321928117714696325647592163332119499975682262951606830326","8177887533556223950928671845738575508418213402039951309409853690924708882619","11433874323428772158013095381623924200138375055456955808189877801771380225552","14535184095124950892028872912364622595212286520594227957147431032075397154266","20046290436659560311648463454245918246036175981027749522810979896203323505017","5627116488283442946557217209333347313412518163016066550539282920861053074060","16480089772180635258030461748402564771495064968752027484874049433567638476934","1194604146042048350003512364693260099917768421477389239935129766419846021985","1218928037268356033769144531312651840516937586618523437511091378414585873142","13202400967998975804928062759810694884158416475176357116907186595278657876313","6311168126082531220851145980238852866031091078497507817682388947599504858069","6795208382791933114735572030062093331533051902721517159934364925403853532318","19936787863437503780283518973149089110020946214555834613795208847908690099190","9377958456884255467194088716477119239642797045077236472356953540022684583149","15123415314399351471075303556718608687323785898137080424470982286311735782352","13370115598260167633113987566372148589924273398862423406100474476922447871102","7135473937218111453151804646361837547205712024569546168416088861245626015030","14262959519701291686797273506458134133352406025405884284959025726384935370757","13025268118387164480802803485697296266258675734062176433653116451463846209082","4624094547626164902101572852723507795056700722159656748629760282341508155551","4224433012242275812105292037318388809660019851311870694425205064696802439276","5836322900178474894684749559174625794931606932780001961547616477680042620058","13908465977240917608897406492241943260778588976320614277228337961237626209809","2628389834360132333366589026387003814868457686372552787974500759887369913155","11183511759577952361572566673527592434184886344484272921682811575415051015276","12863950582730082046148154608075135240263800483912187224256340414612337617318","14262959519701291686797273506458134133352406025405884284959025726384935370757","16137218824867518993112176330612823176216439366022687220615937652371635085247","18707594353877082516395132272698629627555807696619350634836774054442394671010","15413262379943851680637741226631729175616759345996754775627005612359539596292","4116036656616283014460785251860209028828407967565755603300238819653622156901","3099260939107709193833554073787772569345965287506676970762153917208260772189","4624094547626164902101572852723507795056700722159656748629760282341508155551","4420985155765749198917158320211243542858248750314567273670169360313609199220","4781857348503260904895922377303003708601361291248025972804843818012461675526","16698515797824680501871676266202253211872118899888285886412000454073141450701","5519776064110123180759081312729047106292930891845193268609251880658830705433","6540725658063818695836967143056666761434297658403942276316050979804587769432","19215132962371868093445083227022064420405266792249240035116240824526740725800","19375155383395696510967115781488322005907183312666977471331313827828265655931","1175039218798484980072399121924972057008410392367959450703939688306902524054","13748763105074593620013986383045781773296715695306976461248290420913969610259","15976568257028838086904371689993285445196617581672212770040719579976951713437","2731702758715001559265750806008384495080551892515362156357977538139860974530","3133838166556165943824029176542597440374447246137252468511956694712122940530","1354299594199717859606388533670792913672908168692420372657948698842311093857","10822341224343704549832157601167511762192217681493597414750548578356092990059","17018828663094797750757032992805443165559600645338019797634595027047317699068","14776577580296682191308190812580888360497977691535016054206068797647787496417","18693317710730212151208513181186966573996077028828882441479768956833225751022","17492490034871188503809070393464727304143828491765350693224566925126105199911","14172013427642179266386805494272960512005525394680301845681753498295255309908","3607534072804388173311745844584795163913258697339304886139614455491456047872","4420985155765749198917158320211243542858248750314567273670169360313609199220","7815052247860712154170106628650576750781240048309328607812510735568644480099","9277147365456707051192593343809527681573500829831413326738310307567850123829","8863131691935358314236967173935315033413820679736774627121405457433895003795","13439261978972035796996150244149252173133297973805089227133789936712760569803","13051815778936294959186188778209982533089138172215506637927986094620164817648","3835902309964760173432611751283380612399529168609044921165087497368685977916","13202400967998975804928062759810694884158416475176357116907186595278657876313","15214427790517490141925325587797963249335567355213168373025412405634050937481","2666549942988803296757576401723478920911340699174408059253220554211642279978","16122380779106962898741444352984715606386470429041317890034930229550324363289","18594403705196476767375145654138028270042663039914897358747063340477738248585","7796937569050271278342402836188937027242003149541526098037517748511185180620","8140644209065967749731539711645757673629321017919126168806710308878873241272","5992148578777868893458748144399130666011631987544731979896999269126511048457","3348432210747515061385037490620056224077503064341935527160366063098820102327","18566222379922364157274850150988399654533738702075332376935729247934165563869","2476324937951789382181944025361875851099988750579823474754609765481889757439","18637620888308371607611642373870554933712342468791368368498810637591710912686","2959389974566411083204235326117036516979963119227951085034972251184734179290","20227979332701217082249100988795416872480735366357703927751699407575642930935","17368028902269277465024746642764987612414033705161996149238721534130490186941","16653103879864200321986465966316889764620013245316877484022986374603264725648","16118914885963834916174025584295786549597018616252080891215345608189775067017","5568143431214976639464768845659406494667053581733825380813024891527928235568","13641582444261924898950561772071287900110836262790950814969623169365632502460","15546540006815490057793129658556841909859473017172875226825092156274503806084","16961794929940055505618937273665830834556517799613603503371462732255229717698","11964978685770609938104516880584559743324134082109819132572992701951308097934","14216993731814681619137662595321398279415990565678023063177228088649900891505","7815052247860712154170106628650576750781240048309328607812510735568644480099","20350757034998523187334178209550008366903662221355109911310833181698841320621","15045123937812306625997417665247004551483049589009168687548501235926225142020","16632434695136893331490691565954322107706581064802120383393065446949358038261","20838188000013629937954971368567014585342187321412629930028751871743338652961","13545244560072730176162896504690392106112168077747273393293519829141026712654","6765546767316775630226434304243025099044057869188929458111914505605517807492","17018828663094797750757032992805443165559600645338019797634595027047317699068","18820995668034441064481786413532066855976405414499761311120499699159123037823","614966471251760438899692967903400348852862620490339206898848861882544111046","17496320222604434917256246718514403734235740171188912286919341525891256570713","18637620888308371607611642373870554933712342468791368368498810637591710912686","6540725658063818695836967143056666761434297658403942276316050979804587769432","1644637032401895183536122531980635414363418149797237304436572320773189961342","8461890310516914992976016102786941165050457592527945955052989873762315959085","21591247897428723764785205441739843186077784027717063974489303352320972773514","9277147365456707051192593343809527681573500829831413326738310307567850123829","13004204931687393626720102454766944489147659600561337392365246286815729618336","11398194787838497782166425813926171378663319996243937443066049287231892201563","4006308849281273792274000957432061207143923231283130218997109288816872164471","3885925135313023686150115977607110368258492435636819989794778250027419367343","3054509086575963631520633315863182977708152785332183337259997415160907095845","5055315503098445594062335518727177962919913361908453398984787599226169183337","8491224372742742395086082981236389730604525807576141462195229766319454932167","10593196891529840628734555040366549092907275204600028371924840487850448911826","5519776064110123180759081312729047106292930891845193268609251880658830705433","20750786466099303558578845860831937634908544617912415565480052280769840150510","15798767315325760489132964686987872692994717940925570238047784420230331193585","567433434521112381841206540791234080742279927287516260853551410281774875712","16391403911439019484448973048634108295486984765667310507956782776900193019857","14057612694744022955506885004102834629754310001978602939456750538201073114431","17698177298685528128465298198488735273578406532961103401549266592203987353446","14506356872966117174131859847846372170262756655915924664237877294288585233653","11889745823596890789749077573846619853793479538535474896498174482741572852641","15976568257028838086904371689993285445196617581672212770040719579976951713437","4624094547626164902101572852723507795056700722159656748629760282341508155551","15022199219678996727354667799147374096361570599067734481207390034887749042083","8461890310516914992976016102786941165050457592527945955052989873762315959085","3054509086575963631520633315863182977708152785332183337259997415160907095845","14506356872966117174131859847846372170262756655915924664237877294288585233653","9296362220804925104551234752226384203979024033236205671428676015277866160513","12688265548305129213524123982283433383136772509110047948234368697335124109577","2903328500810487887284040113540254258409278773721503335380406605532748782645","12271983753113042626833634560364485293486763667349863253834100408006012012338","17744796207881002836361754172345756972108243302293817629307470887005013537965","16954193412688439955632320517883969169462813275902648614432177779074490622129","2666549942988803296757576401723478920911340699174408059253220554211642279978","15689970856593006158259892732288646993746887463514406392254922588756401796606","2666549942988803296757576401723478920911340699174408059253220554211642279978","6307025001981604557276095751477581176989559254288853588059732891819079685284","15106671954584442557442200864211260493785606980074399349847632055753054483078","6795208382791933114735572030062093331533051902721517159934364925403853532318","8082817983718546987105551276971252463934917335856558917892075900846966350585","3607534072804388173311745844584795163913258697339304886139614455491456047872","19108128352145842008548048053308217665383455218276209300064989051535526150757","17603223305375528970110710410175592504507901335489871100398461389444688509102","15950000082544045394526115523741159615348156864031044224172890462894241606231","17603178439634188462056825952489860474722953595745235452510670608903852152095","13079036262723496487062341719232498854721623596427562123822257284722043022380","4574759938850684302328171377919788556520857555728298495027674689330859913909","5836322900178474894684749559174625794931606932780001961547616477680042620058","18682912995789016595436882433435139159334702280353629213700041190405671371221","18682912995789016595436882433435139159334702280353629213700041190405671371221","14647299140966795168634863382011786101084247791740654785196548451662948086183","19265929620982371511819161020399302006822082297986006761385196152068883496437","13051815778936294959186188778209982533089138172215506637927986094620164817648","16226984168490080400263373201570728966749962184950889718917387268203884202372","12688265548305129213524123982283433383136772509110047948234368697335124109577","4592739379790743343042028868384342794596363702987579215937879797639357089011","4933182101183318250560018811514844142859815227384938275570441539742336262480","12519200710540274443987348735978102700747472530155480989464845837532354722845","17547875379231708590555723879540779728666475590929028917859771769395698401715","21219905789358323534478545279193723251420616841556623254711235028135342626157","18682912995789016595436882433435139159334702280353629213700041190405671371221","19617883112060216036437373002520931262578741557295904537678304364166866283129","20342168169457748695802149508674862964537074611245094862559628187033717475867","4420985155765749198917158320211243542858248750314567273670169360313609199220","3608626711809097355394527544415447989465407554113965209630262872975367728702","7986666009024332686676662864413304092722307894727965157582073398188685188596","17539019008906665692358401403758991639375357012882690788487548831749474497244","17496320222604434917256246718514403734235740171188912286919341525891256570713","4655594634855844188499094340496759182976213206849235604185854128079411962453","15618359152517208456698312197785172766694127619077536561902714697931530755106","13748763105074593620013986383045781773296715695306976461248290420913969610259","20131832673266427475769741534309108541338301173662948074665588100934145363162","10690633522035360601031737428400068881001718255130638825096194976708724866144","18594403705196476767375145654138028270042663039914897358747063340477738248585","12998359993404137434826050598531205936631009536891015167391276398139095697469","9141525190254519952022341797682038597679704914972221193906068133244136674784","14144040826170485243395777956417332299961240009335454448818306795274079743482","1570274245034538183221128634382794417097801245857820047802724595210806628688","13597601271430461916896612582648919742272715556061113046784825140314498905478","10286727453332438406648583236643277009562092681643525436851770105870834802875","15710422838883679733600834907476906094570753444844580151730513642276654631674","8082817983718546987105551276971252463934917335856558917892075900846966350585","18703989514997223432661641229861332310348080898339160493229575272467603319271","16480089772180635258030461748402564771495064968752027484874049433567638476934","2967213245998332384543885104754783540899439580884490432048984202068901705944","4655594634855844188499094340496759182976213206849235604185854128079411962453","18637620888308371607611642373870554933712342468791368368498810637591710912686","15776564956440002895136116449299582951656581983212117550232796150916571692055","5210257615122466358421406540799898540909863599743777249997433762286779163631","8691474413369666750892234614358820289658368726857552974633024543804680298964","13605376995820845471499102796322549845207296468035227481017989756087418839900","3196185115626403769090812264110127828126981872545481387659039004737077237629","21591247897428723764785205441739843186077784027717063974489303352320972773514","1194604146042048350003512364693260099917768421477389239935129766419846021985","10782746953492500078751030180163064462657489179646951793154413574373371915628","3885925135313023686150115977607110368258492435636819989794778250027419367343","20521411631300308681277111693281832014010918653298260542960102164696238242229","17582818757173661762314072926867802933652214827993395929831324522299049413904","21780456150575058339898563710498965468972448244984833163147655946608027181634","21591247897428723764785205441739843186077784027717063974489303352320972773514","8491224372742742395086082981236389730604525807576141462195229766319454932167","156542953578700199190349883532041470160708612831113224539973504251955528744","12519200710540274443987348735978102700747472530155480989464845837532354722845","2544185200680176111354240446924889864706979425265095363625611785655132613870","14897910390493117493085561230943786488745018480007968413736887385270447651383","13051815778936294959186188778209982533089138172215506637927986094620164817648","8370264878441063630462671051957262849187564367781659467838460782939804026447","3986804060834622107770115616180027696529168594693106325651227138002220680218","10782746953492500078751030180163064462657489179646951793154413574373371915628","15976978918004336355901319629352200911328902990447017277673724626919242812955","8328030641700015547962729319084004225083584314272156382022742953974692359024","2476324937951789382181944025361875851099988750579823474754609765481889757439","2476324937951789382181944025361875851099988750579823474754609765481889757439","12155172322986237416023663042004942352608253176870958535098713267207721181883","17603178439634188462056825952489860474722953595745235452510670608903852152095","20342168169457748695802149508674862964537074611245094862559628187033717475867","4688608777744900238376640178893120441686955058686461498962807904713059186065","4420985155765749198917158320211243542858248750314567273670169360313609199220","3145275707337847188939353064357731848534516166917140907835781738084777990262","17603178439634188462056825952489860474722953595745235452510670608903852152095","2235150263865959136421726440400433738501848129328010009098035293276672220717","4549806302643127256376053744839835469729529127535077121646524402308295761124","17492490034871188503809070393464727304143828491765350693224566925126105199911","18729388765252309558574413425774793050225406365031444286319123071733886008203","16480089772180635258030461748402564771495064968752027484874049433567638476934","19883029896859112110244432872192403645617916717981765942483639413786774824574","5836322900178474894684749559174625794931606932780001961547616477680042620058","16653103879864200321986465966316889764620013245316877484022986374603264725648","16698515797824680501871676266202253211872118899888285886412000454073141450701","12233333935383563259381899984287101540154684128978249282626058445737562030151","274144820678452421379816557330510579317549145397331786233749585417771792945","15776280343411227095808521568994471614057167432416502119979098996603887292938","4006308849281273792274000957432061207143923231283130218997109288816872164471","15435596047717285113986137313550661564381864970285528104339022986255133148722","20838188000013629937954971368567014585342187321412629930028751871743338652961","11433874323428772158013095381623924200138375055456955808189877801771380225552","20131832673266427475769741534309108541338301173662948074665588100934145363162","18820995668034441064481786413532066855976405414499761311120499699159123037823","10599184745355055122827201680284382421384308407491311763734067519190170881017","12876212902112174796123067808109407354255021515914362771981709565057633093870","16122380779106962898741444352984715606386470429041317890034930229550324363289","6836865286311343609694524245159119133769123287741705285044672797797129131253","21591247897428723764785205441739843186077784027717063974489303352320972773514","12385792108167898834965686312817629786971321080122734283967136719015404659574","2027121307515028227361803453971004574835283397634149795685942874063731877044","3005814121577142321238773726823845968144595752898226988876012545652019094241","4866442763557448299456393930665252678199356968867077785577776954873671002076","20046290436659560311648463454245918246036175981027749522810979896203323505017","1336458066220344521262880797524303149688311982013949559764047883761889898074","8491224372742742395086082981236389730604525807576141462195229766319454932167","16653103879864200321986465966316889764620013245316877484022986374603264725648","5988689769882991468528359729958078604149342871940113378259733314892811441673","3005814121577142321238773726823845968144595752898226988876012545652019094241","3133838166556165943824029176542597440374447246137252468511956694712122940530","11183511759577952361572566673527592434184886344484272921682811575415051015276","15613087414575084731294247924061147534041250959429049604445183368849211416480","4549806302643127256376053744839835469729529127535077121646524402308295761124","16632434695136893331490691565954322107706581064802120383393065446949358038261","4933182101183318250560018811514844142859815227384938275570441539742336262480","19750715061039895092288075649509657235159241403400837501090850293666251108617","6049121453084659222825489908739822792694774158293989229260853547616301268692","4549806302643127256376053744839835469729529127535077121646524402308295761124","13370115598260167633113987566372148589924273398862423406100474476922447871102","5469955587383559828097756439479681402770241102946573149636380518729022833750","1632500423430879870300869265124598190896358768919584266600939773214617936900","1071564318326244075341980988866027669737011601498674724527637774926288977632","1493819599258016045339110999235422917168609982262840449866816239257578013153","12998359993404137434826050598531205936631009536891015167391276398139095697469","14057612694744022955506885004102834629754310001978602939456750538201073114431","12863950582730082046148154608075135240263800483912187224256340414612337617318","21451388112829145060821974036366132513327328641208732802166144524686108831760","13004204931687393626720102454766944489147659600561337392365246286815729618336","18159717335881315589645032086713288496782632932867903491586009514211947568031","6307025001981604557276095751477581176989559254288853588059732891819079685284","1440944398068243290019815197893325790869382856018839453050014183551865062018","21780456150575058339898563710498965468972448244984833163147655946608027181634","6836865286311343609694524245159119133769123287741705285044672797797129131253","12233333935383563259381899984287101540154684128978249282626058445737562030151","20895602419903453398196391913478058693274453903342785067983129839552891433864","18207961221628464226564927736506330628717051411055463190287553801949660581016","16226984168490080400263373201570728966749962184950889718917387268203884202372","9141525190254519952022341797682038597679704914972221193906068133244136674784","11433874323428772158013095381623924200138375055456955808189877801771380225552","6585682031650501777630925238370902100450071127640040426788913175433490518990","11645420524832783721170737438334136629636818531954268745339783028025385754950","12313143896208759390351526641510039095883815550699902043061685514584813600074","9888239978634522925223196837194242311545989047209631150312165940305433080157","9306117694572387027262464048290209213167312534461525812720869427821619086590","7800856132048238285999367318239374829634076893379031119745654756621815300429","8328030641700015547962729319084004225083584314272156382022742953974692359024","19569641468295105160418177740024945517842897645468872356974690513927041995987","18703989514997223432661641229861332310348080898339160493229575272467603319271","4006308849281273792274000957432061207143923231283130218997109288816872164471","4754713757431627318482916888231215818599754770670360377946229107868340173565","8863131691935358314236967173935315033413820679736774627121405457433895003795","12616472237712801953990641170786430111219637655930398736307229893389737211053","14799475491656615059372780774624370709464328674979516248659286482744107230446","12600480540100512777695577363859185402126112711196993279255107913533806514345","7033259621441273379090690993518324745190856903793390519675567591730089293401","17603178439634188462056825952489860474722953595745235452510670608903852152095","18693317710730212151208513181186966573996077028828882441479768956833225751022","13641582444261924898950561772071287900110836262790950814969623169365632502460","6585682031650501777630925238370902100450071127640040426788913175433490518990","12006531986840408977918622834986049589872827010469069694616415380752223757192","7471975174935772955134792946513424637999023861300940920934522552454330255354","15950000082544045394526115523741159615348156864031044224172890462894241606231","14262959519701291686797273506458134133352406025405884284959025726384935370757","1758371485945815703876679445382538767819559386912271388124907980130004330353","18707594353877082516395132272698629627555807696619350634836774054442394671010","4116036656616283014460785251860209028828407967565755603300238819653622156901","18594403705196476767375145654138028270042663039914897358747063340477738248585","9377958456884255467194088716477119239642797045077236472356953540022684583149","14841990498171696915559636042318167569437811173944889089519208821758196118572","20006509131408258657369129395045362318044780385983476979717124299339121586377","6049121453084659222825489908739822792694774158293989229260853547616301268692","5568143431214976639464768845659406494667053581733825380813024891527928235568","3117586190657126472592128104269081184451127080527182054370687640020932637738","8691474413369666750892234614358820289658368726857552974633024543804680298964","17582818757173661762314072926867802933652214827993395929831324522299049413904","21267939098918134027395634942102971885281982111723141238850772621986256662900","12600480540100512777695577363859185402126112711196993279255107913533806514345","274144820678452421379816557330510579317549145397331786233749585417771792945","20663699746183765412904432768074062935933374627665221119822945660203712880745","2628389834360132333366589026387003814868457686372552787974500759887369913155","15613087414575084731294247924061147534041250959429049604445183368849211416480","17174337625009122870708859925793325997946378966416309900853757797594910229791","2967213245998332384543885104754783540899439580884490432048984202068901705944","10593196891529840628734555040366549092907275204600028371924840487850448911826","1218928037268356033769144531312651840516937586618523437511091378414585873142","19645303799442917520263849382981918648525479954858046014781621457535223129139","1218928037268356033769144531312651840516937586618523437511091378414585873142","18638025629280224617790168906173435277703684091772827588468099812026035539738","4087977103445290602464010775212316926483391914870441578758042979308767270230","8461890310516914992976016102786941165050457592527945955052989873762315959085","5568143431214976639464768845659406494667053581733825380813024891527928235568","3005814121577142321238773726823845968144595752898226988876012545652019094241","17603223305375528970110710410175592504507901335489871100398461389444688509102","2544185200680176111354240446924889864706979425265095363625611785655132613870","15718330550508436908559701395606414201668068552693146421627683872153427960853","8140644209065967749731539711645757673629321017919126168806710308878873241272","14799475491656615059372780774624370709464328674979516248659286482744107230446","374196098865630209786313311346578647643865900042267366994874073365518434467","13648236315809483800741231329158534760283476979282874649596812220944412887454","19356492332655108003949429792555441845806681675195402015185308983898801715851","1118279149946874054339337226256428104508684927524794373040609290637664978199","15045123937812306625997417665247004551483049589009168687548501235926225142020","1689709601556268020419125248006910470935068691712645256591639741945971733744","17089513984383051444012804212344078898491877698852637641465487102929365695051","3835902309964760173432611751283380612399529168609044921165087497368685977916","2544185200680176111354240446924889864706979425265095363625611785655132613870","3348432210747515061385037490620056224077503064341935527160366063098820102327","7986666009024332686676662864413304092722307894727965157582073398188685188596","7567096820715495523465831195561335361495276610103173418515651874250913956034","7800856132048238285999367318239374829634076893379031119745654756621815300429","21451388112829145060821974036366132513327328641208732802166144524686108831760","12042091411871087770321928117714696325647592163332119499975682262951606830326","19569641468295105160418177740024945517842897645468872356974690513927041995987","7532552732354833964818948844447124010555621930545046129036742684162649680796","4624094547626164902101572852723507795056700722159656748629760282341508155551","2666549942988803296757576401723478920911340699174408059253220554211642279978","9888239978634522925223196837194242311545989047209631150312165940305433080157","21267939098918134027395634942102971885281982111723141238850772621986256662900","17080170896205579351487820867879098448749980844566584779831865641843648559954","4781857348503260904895922377303003708601361291248025972804843818012461675526","5001232371587577350490476563931715794477203224577970619789108259266886603950","1194604146042048350003512364693260099917768421477389239935129766419846021985","21267939098918134027395634942102971885281982111723141238850772621986256662900","18707594353877082516395132272698629627555807696619350634836774054442394671010","7236783279316083836339480995960834633270959028443867776543135480683166923869","21570485471295626790395474884741704872769989979943302238757938053634431270592","16632434695136893331490691565954322107706581064802120383393065446949358038261","954361121666374676317512516553835448496801654442662842741750447529976221096","12998359993404137434826050598531205936631009536891015167391276398139095697469","13004204931687393626720102454766944489147659600561337392365246286815729618336","15776280343411227095808521568994471614057167432416502119979098996603887292938","7057969325794614252651980473201258184026879446024353453586952048006174273183","6994664438597925475223705340624595897260559921645516609558922687274714825714","4363738634465882118172307854104596042899685656091037340905869811610138317347","12180564838572574785577178844314834812952191421495899999848160514539788519817","13079036262723496487062341719232498854721623596427562123822257284722043022380","17496320222604434917256246718514403734235740171188912286919341525891256570713","12271983753113042626833634560364485293486763667349863253834100408006012012338","3117586190657126472592128104269081184451127080527182054370687640020932637738","14841990498171696915559636042318167569437811173944889089519208821758196118572","3814718729516245467542823378722292629370285860606484341016365565551107845022","15718330550508436908559701395606414201668068552693146421627683872153427960853","4574759938850684302328171377919788556520857555728298495027674689330859913909","9612640678039527906483661330640693201947160578570955411180830848021191312999","12172459979594272836158443334993722622077942972483988133675801482944682547814","18729388765252309558574413425774793050225406365031444286319123071733886008203","12233333935383563259381899984287101540154684128978249282626058445737562030151","19375155383395696510967115781488322005907183312666977471331313827828265655931","18207961221628464226564927736506330628717051411055463190287553801949660581016","14889586175325483443041813226686357400339931463122742842745317460691290784136","9770821889969753026439714135746557936968725073065412883354694679382717123968","3768167068773898722568469507920346701450511503268567897292049941704582796136","1899628457317453197426768456858589983666227401303606152877725712904770786388","20236454182607023448722579291892888454656044680186829166675261973593187415963"],["19444847062288131493943706784497406601211185688116273754131863169092610576967","6756357644703883372382000235355183123582254014035599689202182239604052730084","5834963883005519863277737060862183242422193207910302638450418995361988638650","14630532141997277216138304497310196564144668507296424668904559464853731825529","276005601789737429160222670723919227435048289882730462426149086438071032420","8155169592408501114771949260607780658108674298838155446397409772814142490986","8496173005628286226067567535490313700679832176191507650779467185231469190908","18522758669123103820765651383058550163152440728027329605661881000152433829894","20717160396907128742447930491661507548527901200271695593644376944470624644874","6783400954785427443777419190369959791457729235323837312105292689987925420262","15793588416019429949037560428655750893129153960665891892058368228751095545231","13047857333849170739650468523722679452310178134682835736334331719537030864403","13702952651241896077447912135262631109194634993417767336774463460551430174591","16771524083619709591205953781761522848915592462004352344297444083327000335914","18362879251176766534772404056399418613362042401782184697324682721000341441514","1921169374568757279790536398590170773520268712196928601546829626342058380013","18007271086827148118702779138045717036566051534448069739899858280155274498416","11677788058520437899562086139134738123234096436757857524455227202665943485909","18567835086166004190967610331516651777840850520761110277224875363942309193033","12549862092815494374468253271773435129600234325866279388210551065809722236154","12545772019827878627361160408311538713526252988913811675565306764418681013019","17790976380038280976988246085058593967622099860594622912213483950365513994179","295342049608542310001266607810723788606908957088698225682924285077522343374","6042881253538576878797032051936765585731381049990189646390895524714385119979","16177540255744097871521288192447267851650838298325801002101754584177258351542","689944521090171958642896246746378107452915085681977844021127122085860793418","21806600652809306442934150151527166374544123717499224666056071691980718320158","10687999924804520822721645773635035131067056997636998429204051086244451458352","2919688173439697460443732931955910957668633676232388974155373692008001074942","2088428214431812495479622929730813017014992498691761094277448089379469403302","3415582465565312695281321795946675901044043725583982633056443485871119407177","11432629911071490835626964427117253752817170646912779324491272989814675105631","7810232533291842805873821935461788355487026463002760576510838277131727012637","15850563248943823248196314184730972664098169701487536058299754250660946727661","8728976634161630217358665668742559554087067616326533741880426574160431347132","15547734297253509235806418165603020662298589957875421913304005171944398984391","3158249123091915580481792507317767452027547932247936126792366337689584842781","8993351209143960585970304728524607023340419549878051384852055190939357644360","4916077676642951295302597643655156805863813630504586598619800437364856520347","15052050566960149294362189709830107098243646295893587902102267385191499441867","7150859141970623502564908412249208973629105197031357581428846816632024424773","5659463774436746876994077967866722465283824187257515817896446525143503038229","19464498962894958485813692012599931383997188482601571850575384753467351286244","15817240123388522852498302303406312726664688503153075471764110095076928497826","5302571205101485049626764959256598947375033298608344128379324163720645334410","20692740934715863051898617710088924214854286115389280275696778859743980624203","16121180084056885385768374518937623712121773918849607938195591718986083243748","17449335744171334550114352347521422770517337704382637045934115518315313519219","10253291411916249149409944484940846312189907495150544356013969086126665142627","1075989933051112270479502705317054499580865741297076182284940703542006602757","17496779585745191468575660181265060269367274078653980290860692264179679950345","3538122871871015265597356999511771252266082849566808379976323073541018816059","7579486643564421792498711360748450541290817800587156287997063934548078067430","12729453322089802294380978481733715584931031070971499485676879773953031357372","6694633370369966210102257937726749959486994134264582443016638266185985910723","17623873916481672691654892260114036685248130649477279788335331445450611897752","6307701910454308121209261684131709903162842155523511946468120801525808144713","2490437230848135899340146974626841790838141435966177610519877944111227880794","5017798776934405523649599878486720454877889960063314088092139283965398786505","20817420597532209277094254254011796300596270364114901508622090395551862021369","15258825807346731106480585334099109914680431439052544107298794895009458789849","436207735379833515948816288186396517305806158675320799296446691642166338508","13294452063087597313135368572465579195169503832488496277864688043228247847885","5281958238296057162541008015360609066403026130630047672176591872125940281371","386042965256259984981370670464051577241496612285005807238429392957903257172","10942243549318138624734474054079356060390652679206672396911330609350570685574","270406167611514320681193466529653886068620721651325372569688862100531780060","21769039780368018587024190597032828628077779629457595552733479023564952366755","14257848362862950978758226475754708328366569815134458955450406250786029562719","20675103741730086975536120126603499078928196755869920413190380095671818551245","4092670173605738716451085900386063604788602581706203170812942738120506696245","15831649561312402734198126328637255008767394666669354210368241338558776960189","8773460264964044836577029971056134181700063958452992767868071607709089255261","15969366571969091014788118571658462634361656562903319995975427897452380798450","9090539943906640916226800382217696518430261301435146060171359093957899579442","12598966212710420863490627175550230608849032996842656735190850410879434661800","5082369006304868528209185647948375467679404699238424225315402327829344882479","21232583620520875935273928036429179339733541639648304803699206026350761939727","15216028261411784444168994831958830734443664066057913354546359559245244924050","20503252723414965832541668822746284724979697942657467137170476075965669970069","7028702238870184282283447120220627544268950018331505390418179769944671024747","13914367585327187338201419330215996326176015243409712364994147816309186215349","11972191955486214659980933122765802430687113190375208665981572404973523390750","14164313126758634946487037847698512982901341175183925669745949763512995563823","19643507624196854874403818379994773749775871114166053756059820550045254990949","6253019705251155387518897830821875987387745060770031720935150387804561656767","12614772411624778073372124421221342091038200351899023491707175227213282820386","12799054234177807811763785306399761459507163662627299853945472202258817984059","16298413623883813223145205496435140924571599757753789623615680953320915107823","8610548149652073334956208860269106926096928271670836846827000353008597438642","9836284514785177186880347525497271134591015465315721313213772552563703130511","9784976878800158500585413974169708349867742257336666799769685612736807878718","470868555320390516869442830897247668225662850353632628471628589894687191840","17307217182098561598390477407238405653820260056045707641305128326328073989247","4674116504957384653684422429847190124325067762798863539680591567775099711828","4731805738765155173300706694658606612354279416357285157979268772012947617710","19408369527037425408359080120949793991326211819391999900817736764475384891087","18547195232973238597820755220571190923184148106985108846845816471997990813451","20764687130261902672266922992036714570336508922412884145266283492627732623055","19892377301785347591650272014822981146836631795074611861111907754644416903635","6413734757240628076834626843107147847105076965920897092716625820251267566099","20860174097442586122448303694433017965295045714190140568637973811484764859101","9976157929114087350046280965312715789783677114993652036414680945525100911346","20443284379975649347549376624760041838634895555678719470752881701519661070489","18893870838626114784034800186442840105625315290994458907142980368089948593544","11133903488642571617254269414928956946413436570602781254462926700298981057101","19260150650655385130131812830419214817760729375303617428649411135535896978281","13461732242206018780892854302161037532643049992617159415492401398338285247555","17102228736482758300705766391088892608834968842141194901502696136509842518851","12272871719359531993455999114365256014273629799700014768301209571123981371707","3594207022562239110254525411112455614396088633713917231917804057840385838433","11285761004669862352633286679979731173931391709324275439550892089674658948897","16102568806633415123079332012340754062427981513856504035688871887957095441264","19519597368641109872437527694712863032289967186787139583473763662663666076515","7850893600020675091200117628857569397261111640016750677979107965392238148005","571603306174340121900401663556670083480079944829773014219141824601049859366","13417234230361968064652407531174824869916389080577175614370178295183391972896","6339479905118967532949951465214069151191196402217454265147854834540663125252","5960266217431370639351267159124277446305252772759082083832329486288316249467","4827913422416492916492150995943144270796495141536283583210133173575222257256","505835591148323979694388175613018554712950286622892296281531129078833207836","13430162365250371418058587486919957187505271111954906160838200205517866181347","11791683213979729551370231161842890041856917089671010365556092948261209641299","13878734884084908403388117942446409924859492948402374543903835601747661416301","7914593516489852442626571171726775738811006144753811688169867990351813492226","10797302146436138655457419302923103882636832085380740614686862737265867963715","4394985227939438982168027081286727479189710464482074036154622396987481104200","17846370028727001276602920123596000650348888091372292752624526729964991577650","1399592710245988806733110276286400825565557403052909106157835149189269504885","4480510739831473990116609789595044875609739639498651344219709760264319707941","11004586942348048001456673131635437257298168527005870798189423435197580585412","17257016484028305690607802548970527681899034872857606356645268286697823560745","15880272219577681239503657424149468083362971750716603748729669119492924589385","15904554418638709990040031800946465318235842277305545433558322594469065553553","15434974732418275887764997429917488815499533240877756132902224733577879415473","21820168018779047045619488779286049910110834277003434094980989418536264599715","7749008375218427634588074063863812252051333204096406815453992945864441895362","3839511695466461913195739285494941868041132999203534272477982111080050006523","11192270025434739945085840100702117964637847488690757055208388489558083138446","7139432526479835672329459147861644569732921891281014828670035430783917357856","13194122716181797306702591509497059325803038795351433491511874742185743961578","12249486681620499703064189091192752491339675300250225642057366857872815164391","12751753758565217613271991442671268614075299410246481820732282132452214741118","14152899301351110068123785825973380466012981712532341785578761964446295185434","13188569584536274764354182121465196242988977215787135260110602036659203482271","8583058680448359031190112033511783279444748692566437598204669389441269594527","20739303906393962278673616858161941640788810322708163071371214143202505636285","1180296912375731347768428538731067445729945471280254724677426248781662325181","6017789428689615319791053684659036780814847053654130311712769439159937889609","2173620618321392312337995148079704379859037528218619197239932038613399941589","19342061241883725191788390495410721837582278801952815468188667976311290962368","11961293118976486325969636275124778155072321144934089356127319435440178254418","15003950077727351663111929517428911404929041518452601562597474042673134378445","11722551667664037124885783671627704449310149868015743702657377612966423359961","1589112258505679428520003152962075989895613700798393982576451871741579895537","10237533647542628466819493835368797714803583017400048476478599541985305410468","5633483783935945421681172594360251312787053845387155338966168908591309720937","11524348046498741796559712688153551628725965921178062387194745025875547122301","4119351785672815550070213600551390224338330329829235301635622400744195777997","8220379217788713766164367196730350016648232008308605440647920160713746282775","13638223826667319442473592100092923906983786522766094318050487349717540347281","12855479012377423286653672887817339438150952573187773204679381183748640361953","18366449890796594374544459463322936541588534912307972856193862784267127118823","14831494193189198695462931146064274924011201974477576494408974317628024686185","11093306658789847420019060296285299107442543903230107282402432370912267955583","5231748467324162438135669634394990945005973450791245562369389835255116288637","20334409444101673859585989946641575861192600463100161126574009339834336019122","10942950770398062877133838468616134250348068685639337507689939414774241938827","21031737058468102950077505705229155312762606827754507238965327181803396985398","14995690437383350976947687078631429818437217746718268679299515186473891812908","1173662311857265316234231482479000224594910385121353149729453581304925842874","16317128331316988904656774031136187679889289360179612223631661201288928381507","18022252460738403017955303125247197991330411362748880642725885324976196166640","8288649066280936236016549066415276935462595711048345269972110782845103139499","8101426167425842649552999897331966976546505505184628823541554176858292445739","19821753079400865197220037270302986474791903810187177911888698563958948917390","2784180484916863460671428583402451895733388047312540417328482549247889132480","4344349451137697568800756375175722014382670587070900626206184353193889614535","17108052563527778392492084240217991568486546407558042288984049724593379381422","7485356603493015640805315156078413547503227090809875264979461763636775540173","20116242746183168873263923842229951811573923370432089711294380935911814240419","9858039399154443683907425505646969133966670338173331647839576035520625125303","5936033307217133264257041597188115964457637953718647112906870372504454763103","10340607376355789386185133452696959378680344963374631186204861558290387937896","15143103911463403933694713744901214045515642353696764687126063928209653789192","12568011130622849006768060215361376856516151918301278020507921479894858098922","7111521666440256973246253704702100762492860379595157618666729636714922588085","7580486685427227006299614937862983316144183764347073757169003614550356572325","12502519505884004909911681176131189323239621629488138970782034914590014092043","9863581385421851101081385563919847832922036616162751380834430385700096059476","17089158809476144094792821264939338147530021791726877719480271708166652703326","7026088105062704237034940019476526637397741963002343232018356066556664336014","994845445499189024937804545514312797076696078022167307949339617575675546961","15876781382035467218016033046055811573116707790724628548144881416519229111730","14689809674274247318241891219567086413796397509459798242967892601162783903120","16802092988897859361455231737511996509109485446405679231988222489773597130923","11709594647859446002857187914237272532186051520048442968950936220950857315304","4759519183626534098537305899218615829180752782224491547499330146161396795604","12571776796240659864426729857318456609425220646299460273766246547672790642171","2769573858251324685257310553432601557929569520156842199955099014544291860073","21350702766688879701309742399569256840528276777122627878991656869575644945880","2526626063522996270964234050318417686046098564667525063669005074312714302888","18423969495073310328067310084757878116209975357377687351451039175700497833267","21531220091658777616686839660258285747325371338144374109694041768891457998130","8427394214275103558108677503145255849560869946329377312496236014365158589665","17828380319195981604154858938823367276654533109286377267191125673334432160668","19783211215983774081961805533835609388239392763346884852979216953198247940356","3727051737154131506128614318795547682671073691116653628343563309169975365047","4119083313708678127132222977172109489163864264438306707583540610970422311783","6252287104931155232025872198136217318428623125187576197254682957610815437724","16710755249167084189102639360502018827510499697025984202991420112604257385843","18110033746887190005442882808977635890410904404891461118841516946874175301218","2918227864528514910093363913084628926376993023173539111767698239437487745517","13157904629518409143900661589841979526819718227397509343138754500932973967009","15465984474345304234742186236252931608183011971272680663570940465290570424186","11878026413156941826685108652791732794881788651335612324490880949402660131765","21741112052399478281259924033664983472268352228185898315463068813827126161518","4747527944432994412143611227692094864627491876083414817086093654783041623806","10277509022239901860432140475301792168394200477149266436561100920061205891272","20754999404087624192417155025756386217241070628838846889103117636133597080130","1227483547193673052804267071643209335283088310397022289984033072158054393499","16307552232859454034882961446345138774643318545424496725987397798274178077698","11567226711210341061121984162541681925200952470462920272949521200488251321412","15424227904345959422619063085953205567698592752523587527109367016932522520639","16823401920568234413742595921287817924794689336332341371093680173736681497958","17178500371576477554985292834973399172166544093847768566487624429998590283954","1102400953040339496875839457489553861844373351305506415352858751913370587559","13080464865068812038556558702873972281884160558346383435106169788680033625409","17566439771637037764512551735908097926933863312105991588803956078424179421422","16017589041969736678541292248300058552736340849527861225476737351214952910390","17523132608433278488363705847003860425511874430394165130941513353774134550203","8092883253891793587844758644260299541045067550613025971974356731243569159353","12321254675263434305822776900976243546292614577867012315420304293383073504807","19531149435917118867843015828825849821207961709742362361864708921630704500355","15354576088842604762866949406584165222230700080158133636047990454918586008294","21332421319707262576917441034633152814114387620450650854230219273363255599523","8015272434831541996001880872358562207725683343073706305494326975486227960571","12801191151888372376060502552634956842440004908360922421581803464085063730700","8694104440224692716427888474719601394171838580385724406065092424387979527599","4765509078609181892846277022626232660521104569272055934150322254832843470212","1707661917588143644633891057877135790850785409331274025620234613394143277776","10787008015387605260759430860865388187745278282497799140302256368934199376144","18194756507120382377518900347608092311408202948025495396169941673887229961968","11810263163672173278046828506977243322053551737568215505161953008771538087012","10172831874213234727939155250453684259406380736682460492997296249444174287647","17213618752642545792657024676808752714343165784509075154710334645425090992985","9518819925372898218456223308202739688600409921430244215353056882744779318092","17131123136661624080110214353958082369854888444117983370276647495116278598167","19754012921975586054359731668325890866854753884616461552066225420294483351377","7462008052105461259399778705587223745964230591131678540554526750478109055926","5484333959594514705555581721735095833500903297285196545219921231872772537173","2557226013119092043233815190178143918872697500327638257441826698928999698503","1507054359686440154418474816353859974171432117437965276706552855449701554081","2909679213050550436618171367293366253775019191659100521218714623421006853461","10665116922568564616606427374948039957862979916786672099258153181783312457007","7437027687262241094771256075741913500475069050164092161144508657935421667697","9967053963569379718319069707565959289787419857073584408604810513462532221521","15718982984756021542737562070818004660368251058309053869841344798298950796472","8594575682392663586907570362979165880675434255219238535736457340406406145184","9849370649402433736350811470041391602601158790752692132296227692446786080869","9624482408802253671341983829498637676172459849241801149966973606965080480613","13354161934013526849172225712805307512472349171765307613219141825881166556129","7119937145734334389233313270329538489802620576999159113776679378225285195305","1344157477128478949987376865221983316869875771654805484027433189770507053978","2436371520942165567892833442377818872689562318523120379398949725464297140490","4640506731710423220152475272336202432209747972077657499961644265967270381722","8134111173406553366062271384030182464082652625519520524317327080426662707160","18835504434223507510706711065799771244448550952615072290009282262161978175311","14077721328629763505638231073434724231382773989965313645642436166756183358663","19436373778921499805072424422947303671456441758269542721598857156355476127485","12568904822717093384930952712937445754376237421200202440659283713620770814211","20314955959257660560921000685610824477917159776697875155847298772747329300768","11405801816929456032970782505841034689257844102373121701727764117532089184356","15371647220804665136508666928297419442325993974748904907636841654537146688325","1655879953669995298671229751452904731600368401825229264959225234155007235923","13666140938671349359494215404645073043195359971495797664882691221640390995273","12550904050297885561370934024413826444188941904477880730238385153385367165600","14073644402192665599906362483011583221003958995020521977339575317519946136820","16127269466493498734385715523881795251511197745525351003593964386278292404389","14837032480553715504482333167436817124130071726116661830299825705998767715604","3157996448090083717095242716808677272509143175022438801158190773708431950360","9715473676333570416382435678725993563514140964778059556896984581776706520887","256184547541958273285404071642922907436096112735647965196154201025022277333","5146840525622632106780932715431071405921695127146286279740961056077516621929","18384530045422033192575749482772861619638670180561846412064951946020645182188","11372273308168053261873108888838115723774928158127953375858579798875763228181","833683215294780236385091047137868434268111079744466678646701850123603485156","7089521065433622137186726201244536967699813557477580528539264131550132846173","18389315271722108026135864703744658330872185858220834005947924896718372293177","5273779548466102910604406559710961194676307482240757707576993583088923382766","10978849613552770174834059773211945346561256353926504281930385060310161512588","2025512406735026708082790073002703032266582308582294674172511260928159182091","4504468100864789788585048558923081175827147016553914221993821395902410226580","14522713701686086398049669439257754726056815369755592306901430082418783986888","1172467899506707275500621151748833545282318904665709759177855581577968013027","4017285937828459403753883561608416496086703957918951620827271391321529059987","11864471167080016922573162728545364451553961508840493342354739707638549565971","15395434394935126648016086405692837721115704686064641372105542066627038311542","4122633947230663267544557410467288252271224090277013257161493137456223809532","12367035182954332461724293253434245043112564579380915260333747415793763231827","11865369149265328070561952780930053440760117444614610585601990621600973752433","21203992229059334721432650225967073448947553069874953360114881444016046128212","4447062027498500706657516396155423649120105266695738260082288656873877775154","9768914556161785389033236087454305484803915332998751645480448064781057341482","20108322604990560980160877548004215957204376010054104051873159423654202752320","9595509101896597349796523888856236119720835531243000900720041097386819336414","14587725319883470075206520097311394112137459424358160384009848233555406814065","5457101278978742540891941392855879387574924402835776693411461549501000663895","12113841369063820983468698918538182086204397742190461968800698674517428421051","16068938140317889943118931947504964857830114253819180369876235993296869951694","13406404344690547712656422177528636282657567373508751252664435506615272243163","11920541176421075939593055125523895823398130674849391046727892158235384625698","18352551139579012013897403430987382961093216812627912973277904518956583676698","10674676651948544879371283545502930890187181335773388262215810803244237530411","17792652617465281251634086173304934915478757132116004782258567349353652661413","14095161285749055405609690234399476131633768997386366652456808192371657539278","14644418417880601716605432589809764539302677626964586647781758014634427301961","12682826801878685279471965670138908278972084615404951130397921689553252275917","16521811006308378802185018489472310864659177006048843323237150403797976462809","7587334525407307163363028377898856862752809539521418102406305044826227081231","2908188489370783835450675853612280861255988950722158120607386028475371765438","5768335837479629879988785208318290476463727379450480334123633739596865462597","18397687037462833823572912519678833347435022340840883701032875748539812458303","2064051903495281633275569322215038029852745445612015454511944780242997049313","20703062910303292827787302109557408114919292642975918255062370581536946280279","5192613644883731002587556312741958983910430944297172298315082126198947618654","313995112743011376940466097068957324809905301874096868794869587134429900695","6100583804412559896713857626556992976882930387670359810813986481223803866656","7568477784584193520555596651137331005687926377144262826447525559308115017859","11965816735476149301106556132754318298248490433423691841191513590415182681067","14207753099541107589311100328670316235529404246579031740240567057338780037783","8175181231439895653513458924728919160206799108112661960299471181538010485894","591574950925877159318533535833931322303268506486282492008424162963779338055","6291500295969425140209019573620316970493238770424073159034492473203273747991","21323803361917137983608045653271447127437985941865950514234012867420827584203","3099253561554789805581090448570743201416121773155589506816603655098155495780","1839714309313076287091568541152080485292267125822172679972972462776530418282","2558200175908531709047812372022758109817946983415270005672004724309427120260","19741248350058279216600684476328478604110692693351318658499898211265333707610","20513396347684804966709449761679280054940274793206626286808671260812749605107","21199395741845301585097008478390085111700771593140616012257190707415683678475","1193295440609646713499404272654104228852330502286294623055524015452275511910","20305220021223370039849959575983199996369990375922681857965899850450967281896","17820107252376141054638728180510570702321859107787033667301953883945482820393","8562102223756709272478881672945718062091524608141507453584726675060317232047","12729866889854088213825002226835767386413454298567413984333803695815667483218","2114069176086645971772669409791461648578645286643393688006056656185576536095","10328720387192484120632500167812311141771979930211632623234748092781923576473","19538747176808583509408758149278829047639151822592778264069763723986282915906","21566485228448007978934061238916445477820075682293291063348941039309377547117","16512874118663027529632973954247179090732712450359926425594828287754653354014","19513474361159315670934532641131225842686472304714306461918568972038209446632","17955660451558996091453589881731410953454580996956628370387347653903874484464","20207812711298497695792679093438648102083829229107494830848501937376854876915","2421660685500283805427163525391537853360580630525738399011621278281378880490","21220637208096207115274223617089911838806190587185640536543744119096826805827","11835649411559295031133501496374511598555615522238237687109557873710817042117","21845843315206305464060299008256175893069927481104540219951750648498803200926","20631059480895873966832525659452814534529673650140538889746811436460301724612","14931947145214186450366175386309608636198382084457683854282076180248650112954","11269118025480001613427470548591071135727829235390508347983385837123112634632","1605115028499197336856195103688387642848510242987640636183693756727845197451","14793151932068045192821467479293563014237700538215102580962654003247886510086","4775792479749631121184048728741675916968972636777338242957201950342436979106","11924757182338412396519976020707321303982941838080766083060365440475015697923","8793012126741532580270517228948233516584291822980201382325016017213162919448","12947791384548987120483288495488647496188362270092208812080516723498086541311","12431577747633669956276147567242529475925082219146607091004191516701144136626","21295609310519517439106939049470380075664847294017743131672693330232031255386","17805136075624551692961527907699002356636158441633111730604045300707846396897","15278588475566957386556949449930796412080383857587931690843946622004601690164","15086592550570758313718621320890905171205067149643603272496296451366320734641","8699916934544892971206820107825237806538121069002198874248662615835467665756","20478102917550226644126628799218539559581625330717095591690828406489686677387","21734112019017835960392215716550916739517609682150258078062175843229766012777","5622924154085488629989980934517712826380247658471643194906695701678873126248","5037675567259013572001419121301772828485815086531243296178132779054418101400","7879292516618887859296404288004569598567284522338026817864475104197386629625","18997982317212461405999296872279110480053417447725407290297221773473330565737","12867218521408319698642020263791067688553778005223894447782779145063273233968","391334649391830733165647799040269744369307545998620269291478209889127672130","19779172617188671507005003625727124894180457774396709811826326667504496286059","12596925142329235973535723979633472987429833026727663225071980844189781139909","5235665914291793592826849798922237619782905021482837663102032574231117695660","10378176145885707882180864408618732566825397818692038984901565060499728433797","5518777162814311292774945630117311095162296059457944243049863006066284885289","6383788836915296003887453192037395923957940433745589146468108910773431172608","18378980065351051303468356542903949047413878986601754325664070607662174625406","802964496357962027925228076554616050639951769911983531162733260026242452057","1151228765048898930945562930707044057686831938340081500592865256952516058143","1057436684897434830336559210204558056100073281195987707544574829513988277752","8304361322956656858271430255521912446914654094029272611293726480015886358258","18082138547469240768624686868284933205246517716350185535250166506919729036297","18560642658541340224573113670515696181164007817863242462644028839037653788889","21433948922232169473983994578762336789729720241688838555383992306060546089653","4345962888225785406562575377774464692418146638460124795786215785539658204204","18491683482553522621865105209782725705891560836095563832524693063541469370996","1595153957006911891245805177782994356237108154065736758857668165866836749177","12745465492150069776755940532782158049428554675034493241223264612067325589020","21068300037504263522637352854045908904548431623139252516417402783919558466524","21379848283598466733133277088729802150576242926281401193376016094883753111574","9100400045517145192842796463728001529189981626709973391364198878834790401311","761526173875414323215606081295741956635544790572881984169167052547500162094","4523944348324037435946042315903741390453752174721180782503374766412842506857","12826905798159813196098719614569295407483904515869413174592666343625127014683","21298301889175245346300576454864405649687317534182187998123555815790664451812","10466120407875459863164008656471249355019715662927569351006572823820953788770","18765634104736621669847916286108860226531877076283270686539673115026794951054","18029301674050837995501532337862434439785535856508206309403192619917393036618","8656248943628007700842555256812779240721861558942157285882333517421090859241","909124445964415430289446157964020522347064797918541903582383763270622833065","20322508313744566548149933895745626560811233314858699012656697985674387463552","11473133631180469596497273861714489893486108521245550300092095833600832127254","13886897454587288170317041019583091209557063660075562594238782502591880617730","1388351321374629053594529120028798986653727606192516406127733531956260217411","10820498967321126905058350631999655366739224197864958698259285565142810221774","9047437255774003551209946810681504440615180683867384529725252909718397576529","17682412621232111800652746737073732995871115754692913515596320621857114840713","17459249118412305865677329263167949944924745890546683445077681421571205578033","11260954622870514070117395143161679907416702369566601131920841166642078224652","21311356397831915997286783986273772284683252550215836267508561431199821451048","11763136682097804856942897773203126982150872911828688544623632129427460812219","21842630190420364126017236966197050216368815810409077092920252710858332802605","10278342550043948522301945276707570006673669578955262430508437722137975686347","13669836394181980472800926591849938243993826306313038236968977604089281032142","18982534836139734957526305655442344936227781958587358112416788951995174742854","924143300713476371714205215173483600456664902950245170837265326237374786123","648653927285053636997438895046220979749796246169864485502279639829145629278","5468004955461336959690612122600291068806333434489556112046051739596943193825","8198966717021290997043372415176306737647953294267526104476290516107668308327","6330635298670709263682446486509049538654774571294109306447884201740681314492","15801944407747674095773310676934626868427752390875620230089308747846331256404","3507827835726968508794483439124475369701726928422484362860421123326683863238","19859419638162971296535544182202685481010250129955481751622623103942606817204","2670989291504532792325900963509629466753053370545313281400138104314529277740","20601648770014328601409368128706235447141623327602444994362138629813091391329","9020250281221486894014346959707974240825231024554709686306581193571046947004","19448071090920013487075559489904268747031170350571103602007176116016451645384","9855626424064670213123764401317371994977710260418114099460019043585303617049","273960241475408299521801713993986326049831910833352543450619250235219034159","15178055939386630045266985854218396695095661921662396071305063121158729338683","16418360709708558514136044760916389529230612136576500765316577679946210432608","4221665154001721396448157482529680285294859819946962645592731760300169936774","15928426927240248300966353802918564700528184618416199798406399357144022404431","16641721098080574825584685806515290482647504340255838968877260490026580761685","5043328033043791709396469989853970276607353659738086803538716424273826786751","2365847136059064646235805353745790884320090296651246286300639444304747972170","4041703631909032338305847932603086185355677713004583954544688331535508848539","18955336159113062251133387111166001228674233452447804151061756635904896062707","3453019952400738475973808782556481687694637205204259443905142749926960789869","11524127246411615839928909719208083192110266130517385283239210402864059917695","7492331547692183757175642328113627423098873931750301487361682365924780296700"],["6147626315983398599623828701433547333453673391438677577603594265593492970579","17373941468853383126219105459190068607050821581808945666945628085762579781113","18675852993023932535703943048744467387004823435670327290887021721028261389122","2852369548793040881968762533784361230628321032910817596034076837353628838943","5808467217603839720723505746949026082419372220269554685256079561191978282423","881630969072083868970336367377553654445065403827225682564307597561668597575","19544569990585406772407871178492435999506060638507114401323899877313464549579","14878267709748128552530883948142489440260354911618515434884876633626486579649","17343819805602859300805807767921021643427945275478160475923718327955601493598","3147144316923493090898234228150076463075245015934615180699926751367408060422","20836727665349317544574927486063082355196001294246787527562129483352381083452","96317145595907405996130011904544599751055402678957605793377422485629255379","20396399042769838623280415410496555539316767877730329966640626730926403538050","16544170913650251958438511948437422304220931730646181712426172729311415616383","6584506727240961509162532209184300869090704109605569344599278616387977422824","19590566998868166131570194251669644997762427398843457301697274732261028743482","5370939348013017640853545726351872135226117514092676042183078550348501472430","3811261164977684952917850156691783437850828453502434535632153500394919711066","2749726461932787493809872269818342486261987625587896664994441378571818459053","11383915573983550688310113375653707661251254539665869167504588473259548645124","9916838988690774667483310481489200062268225403498599116738660259134492019394","19136188641055168463315034876725446731284472265583750601248498822680260653971","15887516977805743066217960044189842288305843582510102551810703206237207936575","17786336987824848955338515695131540821733411380051551383014609903313869530398","21005051851388306179077283769904047735509863101513109127654074489561708676041","16280781107126745125834716140922874326275066681906520932680370323147962007407","18273950651435988187072089200354144803354368518942337504978631619058165888339","18614652687185018380961130295677654222896772969195870105326190888698032468947","4648922361007933120465784894534004676668545278891300743738784783083164272952","11310213903650223937806708987912823331078563035902775716617057417534768150412","7092536296444781034677326999670539648216791129534729748520186653858607985630","16270772820615792622649247387660453356874032254909236504742474628472692028293","385367092325849782070593441039432083386681944665738979932466043995962540397","17805827342754632514390359424735316390746977081512834158806889154912559417928","20024907198154552436345245141243452270494636033297743549316539293869591409833","9234215646545489320069965310786583269490329356796444977441184167452078293345","17108590030314435824853432467901019859333457116609928515585181187173490423143","15910315900966077593714516016038233988218165769429475135456816210775619893043","6195529693120591346695405780440805718170994701745792651233817614742815203519","4245441012583870678188242646630412070966678757506494973612671283946354025495","2304903496039614013605109532969224328136162284873560250803845559468196156250","11693016457541736187220331042599070447664888658389150771534133194896638661901","1776517450185237199728116828598779967801038886584334689860313819128919908981","7806153986794341965459846938333081037827814782827885300996474222107928077822","17940588722606126928451685498548023407258873216558463377906081460549591575057","10371799193925909119136931769852410380947084603350351962123549948328327267702","20122148120685258769574029387408965700271219988052875651388434729616831444683","15035551217063457270042973549639483148607470023686796059163084647483242309786","16489878967514620362925449612730416514860426946012382948452004149598402083056","14240790414988975854386511568244923807338302009634523655466832132581555975516","15133406953007414531549110172748354779664260706851670137432180705639417343549","10690705590498820694610024170434557617847607229814360354839513194179728718523","13827979863066172786489124156769882364122124730007514470708895273478430314352","10710843232017112245199417697882565131311711949064640083364964016238583286376","16219821984152229456789841617124740176636143790533787306195214918183002289404","4443945405253668151711239889811682417722099787812699348882165569376836194505","13374936606384334329293205906352917858363668730599007422148591620583177873052","3130547537528629940846669185730749089538439536961954499553850136295109479545","4303969243784057034508123321715648667535372719281283244828773166674886261201","5989216789074209153873415762140487008397424300536017420337913939751018987680","3029463357835799909868216943346697078874683636588794683737453399576373478011","10476618143678752746465404417470443166809882491668311058666046570010751632186","9994925982779240617159890198100947662001398642389912929229658664058421436627","10176970544481288451346462511134758722164701220782536015402174118877826889800","18424158448523814893964414770095134832293892346615425373638250882224929431363","19366956079105748480886421061443145211970920795004384777659195934741753207944","11091181874846694774338090174372100116252530248564050096856395252568163657858","17353128656714558089667149499397061301594727975663152036301560017860428071020","13238006665653699249266914212871756817371819001645951476708047899463834219655","17055039311662343661955654211226746040465401123503635116898702099310815674177","5286666690003794895264449438418387547354350464287559511315554292024950176939","21392902555527188320634786446573898587249542929111262797890644582493861156962","12406681026512063332827308700529401005255127889048956231922878327520360845401","15434870710485794945517495742061260302820776556272580983813299352075013239869","4411491701113234064838089923553395617470727028121925035608993460932615875057","21024748108044825160048785654599582463761474190244764788874831807499478838044","7680978131380729207527636139131932637240489018432030824029067562073349627035","3408321867876643922057696479500927118853015770099176846426613051383968395111","4044017192507961081067569272422827731313648032811501750491406776829097444161","18331703123531329496821809270389173567173788148638525857133489033465163738374","8581985490532916637196455609081483082508040719164880448426655573293277467062","17097175177088407223987763609523437237317521418906500697394784959942004837183","17283357547543881822643982373752501634581207450744975027579424701697125768519","3114289317415665754315257515672327794564766886045727889771094589828045932059","4121982161232138234296918278643894219608247208937391244623132656218561035287","18319708437247829803403759962528832876979834741757230504257542910042917362674","264107059990458404050537285229935399100000658138987761233089330774579905414","19245962424630901799103732912445198554851301611802664729994835041984045352647","21481268955474162972538912477676302548213221412224453884623843567742457980931","13054652880944215100409957427046741206809909544801248923065995115092723867125","17445423482926512875731005227671884579111686501047535297579963992185600838705","13989585853109988062633188826244755875692853006739238542727480592170337647991","17644249062718367051707138555752661559694857297122633537358146305277959197700","11213280149118368264941616591024002649789370846345639214204202104395949573001","2479430738743447865220578715093732023607362497809812709721841147273010985071","19170346831324042064260292435651736023454774283928671114965428783767444651501","2249773762348190221814627264878686106981051077241650380763848925904895399587","15785155470883637875946431544967116475458109417323663711972510236612352559606","946428851254816645126686470157531364802207503637938152327774118754374664228","18081301874601965299421330559019912584730626502654796906499991148349725577704","13638831153633382373670579690567703064487867416124713117627597359296662910776","15731178958324434544665473314389188985713105014648908423598119023855377917080","9917979824441332180713189841520827682801122499780827932105321535841262104099","4477218349911392146745102565364781587379138332203307397011323331851070628289","4196116502992100152382226026767611298689212092096205622483116328361954387479","4125553640263062687363595819368491141976517437635820252286742313008508733408","1260916008238883369640783899703958869740490511938805562587993523697780059646","12030453507844788085837941465326991051577705323179782129621819752109773617130","1616729892142733988881271632334115354383082667129246299673207948969677972419","17790116243542925627055862896879089936668179540204703569058484177080937502249","4916826165840990844304507037890792549751849160422839689006410477257882391042","11584213073802412059271369957747279514114648193038035041611261743642554198283","16719835981206947895865946283283198567714807826433642746085372541538665338476","6699399511839905674805128446395397180664778802443708408977716737554091911123","21780850712707430600781028241084903375323034847472170705641134914367959985053","19650714630255045094059400839309517919992981015448837327702161504806266186096","17728935862560672332557173079197586635912056977568426093575277173589712551874","18218981656817542290354649557423542606221103516149396438505913482628491393745","16173320918545320350179263895050487620415753262311467001135680573821491660778","18749132839734280672991763462021231851140006460544549438336391357928762150912","19804729718734886506325561935920047752142654855830698311803656972478290268053","19852022811935550911202582188078555585552613695164681730307677046973334627440","1599238738915787308523391744992048319751794205228407988676015490331611074242","2730284211443506246137882698953449192620036180418562865041025043475273902148","16642697364423389759779785009909902509686802244536597340124664260693547218575","7030277536951152393489269782340459687632322761209815510891507421842401544976","2645282365316576153620189595563363498245471716604607785997545100954415436532","11836599958145463724978298325224948617075734206019980907941992318726742885090","9379836389594058052193342143605994573576860036693790984289698770005233003816","4936097975532856331587608856145453431462626157074390483327785374648647979182","14261272621177565679908729509467309781957277604700789847167775203637724156588","14384042993612223493091843709687195745753711205656098174358380328322622785674","7602522474780883033451932042024754309460846024406091409064496525413778743895","19284327179747355275744653991040577201544689654594363414180160712801683063400","8732420760226712172720096817390921487059254890223844820526135811172306039693","8736871804423236893739486045277613796724214967823222024310614732306446417478","10122727759967140400011531456417357002819799283827520027869345304850304243508","19600428976911158591758195579983230165311737010182255016349431988452518779459","21412640599888310728963227806182550957212529173812561818872357742782768708282","3382834884251505446697465695665888436600985771748054896175510070178943176799","5424268238511504833112942792546766462909191487396278645494904715254618246619","4984721874344265817742647345247970905833992888391940986059043485748528986042","2022573256442159494507968677656879636847262260354573370537255737091303819556","11258631584671172573229663590119520723468593511856614616016550772001845679866","14324740608597503028071282210876807343017578554502044501781245297161562860956","7445577371344670075033666971816988473049110374105172758569837792031494150228","13265606669106939823865364576315756612847139875689786156097851279279751433679","15238598484646922414421482495816633433705816808586791968083189157308379106115","10725523252426841374788275651734494325010706400301821980153464968050696737279","2633265364932628352793223988839752923311811166605503408947317749518744833456","7861175100418742846275793570757956123670007434573183352685296812332256704932","20999935414216903738941146789202104744586510072221252339001858617626303789982","5977614056432951814585414112421531222403223146602229861429936680581955055431","5931860876714797492092042112133640002267237452913723501691750002357001804830","14562008797185891958620443495496757871981918350581241703926621633158489195321","3505336021898609386263210131367635622704109853221241394942451388531030669769","16578235706824809523014538640948495588856893463000137040801413215727773380083","19375742803446681387195879499847072356772969941415230923234757010947456367191","6255367488637769736903949293980465723272271368601658401735079096147956784460","5906589694839922614995302078445158282424694339180630855015083500482196538868","13065708825279387211110931433757563977807644647530652721233367802469448976082","18232288076160370323511493082329108072058465477630759182903324408872159664436","9270542950868120082380674008791159538242222696005636916635750372888607203828","19388836984681019018462719709134421248793536992065958947499056787254258751682","17644385837318767408448645196495912141788591335975890639327420146901601072885","6455842021230030087723301679631006132297894313543816349547744163571857006938","12651647178446817886752319997848206955275956948340732199496215365053869535220","2038361690839579121638674254611449047008451768255542263231913955112979412052","14552505619309469592330707557293319610565413217299690813565239349254723939882","21809351305961289002997783583503461155560460938189863591461820286363980258154","19881244303935038444446962795728167560499810309912834473138514895445137175717","6434629727222395907353855634693221759145469065378967099211977918254204835433","11036466183244547002625933810655331358597012489081560653011525594219740881518","8696860013373675168559529464941134452066614743853560004905114221628099326183","6286610834190704195966860183541611347543876431770635371755207708407012119352","13785489482270739528894668899177561091226326813787695987264179185340645885448","8810497353129284320787428455370522511595657262006456870793996863971532676464","5950943845893271397160198360810800783099372758072046372020789345881371710825","5530915356962172707660737783638532094011201648224151382306028119770642279776","11091512250862371871604003187867080726528592592629078709401778342108977650047","15783644080397148510988340229704570796603281391084254749002543719002855287616","8763200105989369123326685776257599315907057694736599355967140415031996938110","16265670810206356417408073001772331032782360202117620221162260100178521648170","1060900582879546587300450314779603179547289174918628695451776494250751383469","14744516682282904590256322734403856848450648676567397632124016636373922693953","7963533020284370085512706609272793180113190314656815518091154379468342864360","21847103720496839760484939812661124697765074217247378137013246709106995512794","1653069435316409742759195996639155716495640457841657992745920070999323194315","1779277606640375903995595532406543892084224209567520378547237815999026067520","6995080044923736291442893376098805495068105284761180709673883412002971316831","10811321648124662138091377293526509914253637698173706332138689100382399963395","9601406465257748919110853775299124310985215012739412476110920449990474867354","18028141367193319054744440498619071967828221741281699864949191934036691507436","4607466430137542836150125749612147456128085309366797118935148996775246273855","15800640783457285335285505218287458944442721123666981076610926748598613636214","2112321293659869964303812620622373297871082794056351093537916002098854382120","14996631991733135844452595251336653836804943981827712201258451368176439511645","17520271953040754474711528844729345396665279637573303317828245745304573322797","15992472430004058554983936761614313471735664568983200231292353554082612221","13077407987480601704167238541689096961866209332906459397795676348552772889230","21534253000075971492923776155947583634689953016934976887823337792522221291547","819226293199784195154719767176522957736326171336737610132796013897711980028","17185725409385154522175797801720017361441550294043891637734656472407970636529","9575382583490973064980234314462577435416346301295239026337973844317720284455","21099851176254120774822574655588411581847669663738341957209759249291625898415","1966484535215911127324696991190082306993935247312211830919486710094847788468","1995818881696667008089141246304344453132036271634824321961354608938484533959","4667743157901207120637051668285562840191620616648732757926088699083644960980","13962937901967387497010877515712463400252815508150832310185443339350530772930","2629021746995755463136649506818480652912581474323117052162602164762321198516","20573270882617293078262572083653232250462469010594696343790004182829624161934","1913490321993231846954575139695345554332784169136285969356154414660735431290","13795292839631007915139444096743217376580091875142459105510805605582305270567","4058572558281095474323972096333621226798264350365788595026405775805372802770","17437029543151462415223319777679469646123927413521446735086712751233557753685","10258511040614960594008243736815460042536086782694789106787660436697233524699","1776622678963964166858973922665602162169906575558986124356721214967791324096","11475130909983164952012365599635166276537668089861700179995433713710298426958","2952755446410776844254499627216453159408235799061277085887851310752744265074","6624935776718778024845266788797012050011811870823913061539098756037591400653","19954266552453778490807092047530964172323837367905505645486543751921896349997","17616005977353868961299963148697997608390148348790301665790470529963563572688","900786527730568780236819563509871137970324714801299371788326143178262067587","6401534704731549429505440687499634640537230220192633410570095781266996282430","13802560372833568212943129492681934904640344932457172709836721179397658071966","20720041579842235677356944193781809019573930260321940911086044513868740779772"],["3543030996690731296144302074945644993940503512381940281158340485163553427782","14456582958634399729802605390122513015002601504508513170013909507149932778448","3126860645246915297044088167326588591680242124427769024481453610883810108674","20914220112711669635932871895638920862036110651562335932445860492773410166435","13898153337128326598294681972575411161373345548074764167063930702810085143283","11494816488079691563548948406211866308670367580609805045470273810278613528125","9265075386546133998992345241270235168672960377452999502776312567277548502287","20021949048926785450343828102540178861758398598932480397004304243016805279702","17919773090671305519402481279400246318283722142600928508878399512593964809604","9080338876332324361560940283287671152943529212088083669332838878892426421176","6966820873041565099335541093832581518388062131217364208125082807748337444442","4754959170441683519515036606259037626662671578099964081061043425010850133820","3217229650060400896792673270994784175046872440086333007152127029946297106503","21816481050785200027931285072395469615096302360347994694687269782499273734112","12807928427670068278917234235986720684636259679372568354055432889409054949297","13826913883258807838903404263173315859327388859817776690782622774806719577704","14715508594618229304924912287879458078786871554183488309385936868120900302162","4765885366156640574773808467306355912882165708339460440950145437341404320482","16722014012556015216650093088291583395944348552124898992216581531958560404280","7431786809665367144168808343099306354449102161270140701698145535166533004774","12514561575784459520302508925923482055587171874031496440739369331861774361144","13630926037601951290173737881839381432349720276436508871257961452732302249954","2416414043521570830938077478600484585162353864423849325238559208774076695812","3198391645352142061735535711335633217975113436438561010475922095171958777605","11503289488153380408852849064024910165225110948930885911379465054522594126035","17945548492985099414247885601087617115151464172983108926121249791371051519441","15206458584403956760846691261964236163202625304606621285728526159502456182565","18664803356744505916174195454562184678127127391413155379212300226736271965412","1932464282660454008791502282337362663506272754054933505791400845588414354525","7431131941001012844762212013511267729079957740244748755865134237672902463955","12260867654103631227135400757666859922137135589157019044994170609009605682612","3497692461171356958628408153056941313451942465631342687440123894946322982488","3611582236581069332046877419478476119433460345326857976137560691859450607136","16701563436812072022168694511067148429443045594144653838644405459857156283101","888833699088042159861509113185468788045755593715062347382548583028812466468","13027606106406728601332828518562058143615794059325398484231721019790789708383","16867560818956321945646006921505320613308271522776810400640826749438161909114","974286375063546693308153673073274687620807584704373288927095698770718355705","17164647015779775003667370039927920124381231953899936293739647389770842412636","13812735556582478046467982121127334513466404260587580530663067858201550350225","5555318749169933689829489127869820565736743958465695916577439219460828287201","15147736958519110413798327221058929792029254870817672304916259386717996218939","9093783603898735286753718269047404518944180735024302663202149030626421747264","19663528847623587912647904265815395529695410641548007238438947661221514322542","16050486874392688445392573281672864106952702475626854763551538209147588502217","13643154410219745091259394207881994403403664040943113504535042199360092675026","9994393341493081364074783836589113425357957616742680978059011711076524628096","6066727222812778846340829491283999369997291912496005263368499243410295288304","10275229946760815401870389679607490963497978883421730792100185293724085428674","21497546743120095993008732541489604895508606688714374565152084984414487943856","5410109209131659429652823371440397074564204322815773631417855000087652072422","4656718504694933743607748372708327104619579523407806362780445055109254730221","1535539668205688554612129122232712967981273484635206844376645263794510776905","6014624793218490271238764434773189318958730916196905789497853281972696671247","11664508187375558355195352743803150107793615135540732262825506318914225480618","6116179866134076212901873972162049629714787777774217125320617831147732712881","7156436421089505705028328573278072913507065296883146744244791316222380266201","12054467471426975647973340270599475277601084936967912793090659824480359129081","17043004725271027910538237148402068222835120116965638237871055913672994258597","16220455773823909794014715905765711732985616219607584706690711330413977988212","15859369801752308916251957941263160908672747781155852511743194995283478080957","479331876385459584849230762033048956240784621757125043523833547932336732021","17371898586803558805199285151576387708548132346602797103748639637481352576986","1669923098731048999410343513821846398616602374717981505074961546289337325891","5901847159215544530876581081126932589094431032258157198770582781864841878766","18964305080922802950293327616531540488576734432289534207487783803133028591534","21391565661610588080023857012644286006317523285224244461722350412865334901788","13859979526703965599946512832991648449058108364323767375822622250546827051763","14178842945330354151475041451258011251506932092165564803585149961516102229203","9732424347816228834779162921453357383035314691484039491038526173776392679930","2916484128690250908814196431868649363158004790333481812642864057335419267559","7496978836980754621750472326738269854937130487021159668865319635184235054270","15732272029544135687655369960610276709515477689734952583097488077854605780691","7867892378505499328367956370534010327619068595759860677931756173774607866661","2645389195137857175751801166613941761522924817957359363234922821861168369453","5428648673026825822348517069964588690890711938310863981949251926666891252998","5673097051473314160057127163079470500502486665904121175631085109229208920764","12213227243584803853178095425113463791275833583767127368163587230364245722339","18715899303501270934030638370927875241328470260353347061222955717933916891297","7978266080893459514342371863321441749862125749732741901595103595919695778835","11533864861650024617087550487008450420153395602349453386165533302160941562372","18450601439501348601530433257154147113861051704608419841682905432642513197835","9138792247850488245323412019837764753108822692897704202690513828206269873276","8780651517909025350948438820147097471614889914797642770395848326995230079810","16579891454742806064187509751513819282821430255175477305656819644332932757991","20749300053175474642021908869135322928369734326957417903553033361402813233282","14678025512968401250174091062539364192699965591711957564050835184613969981470","14500401299150087749352814234198057059984606531881272078945247743949487640486","5724620856479473091459642481591597298179650010639060800177645976144733457925","19112197370309313151147636092745145521877228675251700148292900136536916932170","13357726589469288818869234910529301323312513752019046957819344054565360588780","13374527560449258023689134260026613122339366365792290373325534211336697566956","4598648858165437260062263715423329175562992143452805065351481409276538133334","11350678282945894657287678422643168089297300739501707849993226500027831816754","3542838338928314843109276018513499150692851830271985332322006221768875867536","6915887598932201892744110121624584826388348577566708154030055143862948900209","3341372370459299156322218222512239866891612731698279185818379265788352168797","5465946929360194216023533683821008640072612018293683841488258245599905867230","12877035916601231664263696261369822574055329194451355438105731392920430333083","7152734772764736233496355792907418897029921786094807846499854978916041968421","3637783930300588858775792406146355117532464453208333425534311131944943620570","10014356913431431526174931647710822588072509765911348937997695830388503275168","1363032458635298325605180167581231122362341661979419469148204786413525015450","14749299418008156951304417344478297351805724111421271311859650072310778072387","17861121930186335338650720704614114161379448007421588691026444381264236189922","13982875176693656046913549248129840458651715264391216676392378240291122094805","17013986540180225001522806840753604869987807622757849834876725452904460718718","2388488441230564305487777723403725189663618052806260479803532470400273033483","13894658705595595767938737767669216953233363697170846839350285544511007008320","14405479371656690634733468702992982854989857716365066876824883028890686397274","5463406390085573883494999080478626961053571243436142083968477629350392248406","21534264698621976459797752593999005975042601484874798974898661774235315370253","21799224364206948450546005628308365004329457058279954233217003747009751813980"],["4674163295886668713721676554153485700383365415679648095685497378991889125957","20352935218386204728405947862710237635292695166913064017138871016474654829503","2592327317691286673995570769733690864734110983311652649344857955817901667605","16569965928578428536982359762305442141555631314673045263042967399169881481663","19131088716759828804870846683575351419567519624591961034686838811980854480317","9445249257154711404997904018575649485936923216724833070474435497562129184354","10263849450559453197266643809044161235269801564997177723771131710603406794657","3056222600207721353960552490330912452663290310028010792283928265227487578173","21790657388633280199755703552074152351760568814499175261713202273123354393653","15632854714111805599199016548148074406028161048345800202040891852724322865404","21055196030884358213128268053901624878656900226499964686210806947320487929084","20870802314656988415071187255580018825359148840256346431540367835816283233663","15616534517743330594960982114818869275309504871292088154595951649532209497803","5784776489399338538186111556208328817680916221272560662302058618935625424664","11524199340075899550845010989583353304937552835400935278913693430093835145958","6111955760150452509644281780032815573756917600365327410927439475076299492518","21618401442204665104986329854020260011488532608326424508093871089299201575674","9730498374695391045394700114591114475449040690008311140197590770638012506878","12450960556188662662174828467496697802873664968238345232698790724056489477852","19541588514194638760835578386391719199522674962225668709200961614811726952776","19932293326229311363288454122969308710212293893428838866879338848665668402397","604198849257174504677551552215661304343812986564057281411653401089383990287","4837206815765999838881694117090048237839208060322594233335602777738216787530","18830045323524997434973757449753199597597645181672539201484808179922595941767","597272048657162684432562166735615322949355566201513589220267457713801638231","1259257565303313693691585589383644773076852691198301937638112297241050998906","4299692760889064110427645653486657433003877634188292107545657115443318790741","18761514049733775183377076664698188376895721558935093039415023511830645880571","6365188664980535830887561182548117129128384651566127038255166094869781288138","10908245784622543297925944831880222108262707146660606570412640969461860215559","2993018118327211849601365308091689105225779815146751382435760912693815943525","17866549521241267273147593454540911294575012954137157106386791620196686306843","7588028284719211287685446874927984833830446870565937360743716093239510828705","2090750922500787060241285930607243134795297756000749701326291975063085030442","9457072070171052855412092923825503562704627349932867548368158306053472163269","21350677681867862863958401218481076613811347308327323704598795557647506601048","20770451808866000075425992751709612657492582152945338552610276408968142282748","2745159125861577162208805239818265210821612624943688815260513025855030451876","4978242409993988630548589666160972377966237165841561311622261456963266093585","8957122665158680185632585169710175898594503225351167444908975902379752039529","19785721977895675912077792966249940018620743361119818565517998582038530845572","11861870201391731884519245957624651537058767900307989639229586431063741762358","17255005338003805991070153748300808006158858491831332904540491356269058934807","20968613871554279013641220706303052278063770382104154194145614761598803229320","17088772914095596168232405755085581150280602134464528873794740219829997655905","17762875723381349883234521669486732244273741572046761163213388126273123976716","15757253055041927933508930441807290266967740722748969628910267606081057123247","9296526004150722607881458789952527402293389026976957647013649334875654666846","3258056648875256712165532481568505756954239103970575560653877933695716301019","10077274438511253450890613064192766199813655931242373841397350705759494726833","2485034538638996467225599076052442891342629898657527900536984935467064278829","20576592492040545165717975426556128169364393232969413514916564746364553078536","4404702101406694105795814505550144493036964326057335262710910677583726782302","4390438145706544373827946112868446908872103380251483996161316711096059314249","9320005299875600545246395152752248247569867819827474604280747799854851456406","15328920202400920589852925898624698939637026854484346389158880426029840472715","8486599295438187080584450525760735526614520025443333533944573774263533673664"],["9752260370971488270527045586368300736990068930727356612443733058936980331181","17861152003533815607258975980932083069070125130602569693881058150421024162425","5478494136231859826920266196710092163036570975555566533890278380032436251008","10470663114025860164205954011633511602249334550961664618144343510421485102643","8584166711424171940897653413099916249371028337527773813210106792825433993045","480687478798944972518402568634409857315487979030618520260560257514160422118","19050370281780858565019483243537472514353065987940901395981643695477442070526","7909886408711298712459179052698439249376302724729633721254586660282875932937","3422546743310933069772687665765317843579486790338039447423961278453066592006","13742327444822703543525245712246928813767223841816014893394911139318645136377","19985290653818527520481099040857204751957970313061971657480471856178364435734","5113623454243607312202962083851358306245672221703960790609797677771133546193","14116233721356660472284501740073810322785672551591291061323721256009346455878","4926155427866587734566793124447479446126808496458547974505225385766449054331","18737837843661096774737022603512579127563955418171470936320273353744942252119","10488727327274145721487028816083558148874702222936756843781953611817021479453","7430416809625816246215887987474320468895157902878142604273583498117862871629","15362958033781690751249945980799034135612747452438262501485459571192039957761","7971998013662637796977575957753688748657729947937463070177130208011037377134","6181181645748233273792885809633370176374365207286274393529265842466407115861","5314629852576387633630556100168250725317801821478381622914586992960199366","4515888460995791866096611222708075397170126060611423125117883548580281554338","74545133806554228861741049751398547087539129543232065265760967657668834985","7620596223797793424148158028949488299269254840309986200826069272117699745990","6891523215930979790200291579163513136440547056829176430750166726452304949371","16099728065410135581098672343255205185915801569430121937096121254451019507098","6557913779080084600620474619010501057622990909691220199506246579366751973182","629939504373643127852968084066404538738439068647901008271397818529825932208","5796770995540012470043939162278308205112680750304267555647836542430331213784"],["4703464382863044657879311175544785995557811809566957314411289057472490527020","3843782899730931149066837823855957195082814690023486343961650216093340265958","19753920348283277126115182030019993058097502466641468039307766133748654311731","6387046033771728790683513731756820363186884656538206941762539587100790793303","6083333704170189791347928946890269084686281072760260996461982250183813813455","3601362179840050473869565367769437889028980382089846018464370888724390080742","15027638961056161803405095516489512786991681560756640705495942526018791294016","19710873932029592796622363789856158433724106192219625427302644279655507023367","15638024414045421488677288694998914769438007035716986615640454221215106257457","15226555011982219477858209163809404309053286511808301742968320176656943221415","5370110265920942801753988420413217249900497386077178581974767910364898916037","16446764745477539410117561326613320146727869338745239407663387010432667098744","6928924323713233714997990198973637030825419323916177069979007639608046912970","19348991226118506958152269076463657327287453752172685562174237622786490116354","21178915382594959890862250421664826278642329218140824648593071449397586077827"],["18812969291333960246714927634541285791301021530654461980802056598587931445724","4704875114419935020350178682811140808616028527479657778061958964369984912380","15617352465980977810710937287156471405834630169023818314675251313292328425896","16144221017969671721449460332127347762820423413386277478456163956038616567891","3380797458259597109673995325806610244842743962089650531774414197031119011667","10808087229606934664635917926735817482378681653152030112405462220077698611677","1126944913887516904289476884314188784817875835019645183711270186623300417204","20609978924050961475538640091972585785684055653239864923325305755133104228398"],["3181021621803672270534191685279668265378151263688297096626662902385759927090","5364058324337084345210724157442488646258495950496398875849562278111691871665","10224931444631296256306111997023259115908040230658265780895445976301767844798","20055030782188110989536830175323576726230381937229123278716473657223724370336"],["18616110284164381247048792467749872996052606923771839554448275315790271733321","17002469466029637665184131373008982287414758016642465974888037480292593544214"],["11346070196295785031787810283571557481180538196916691520680083623303153751974"],["3034324305272075327174876945100357924965739483119222533766727614603826015314"],["18143860073808067122797584013450218026827477676919083077141968823765109364047"]] \ No newline at end of file +[["8691474413369666750892234614358820289658368726857552974633024543804680298964","17496320222604434917256246718514403734235740171188912286919341525891256570713","20717661531343094401419404535005724208121214979487601078059038701197331043233","8338161038189752845969324086767343943203808400163733790574844916777622907526","2244871586170865025448272825497968057027141766617969218599365252909572535577","3608626711809097355394527544415447989465407554113965209630262872975367728702","15123415314399351471075303556718608687323785898137080424470982286311735782352","712912966757927878965693240425422971881715436008090497769457122872348343952","3196185115626403769090812264110127828126981872545481387659039004737077237629","20852945694892786589706882486760988740184637230152727898060254427102399724085","663438552256433061576054140809160443818506164632349621099807794702352080693","18682912995789016595436882433435139159334702280353629213700041190405671371221","954361121666374676317512516553835448496801654442662842741750447529976221096","15976568257028838086904371689993285445196617581672212770040719579976951713437","1689709601556268020419125248006910470935068691712645256591639741945971733744","1644637032401895183536122531980635414363418149797237304436572320773189961342","10530161321691746280687450853188873346740398773252979676317929677235626245235","2628389834360132333366589026387003814868457686372552787974500759887369913155","20551785199765572414957755636883446606643894289625551996383687264006196444272","14647299140966795168634863382011786101084247791740654785196548451662948086183","17547875379231708590555723879540779728666475590929028917859771769395698401715","4087977103445290602464010775212316926483391914870441578758042979308767270230","6714269803293029270909153658663808588557387497502190042744619007611526657435","21829614378897985584789450465826668649930021698690579364831443823904306431333","7532552732354833964818948844447124010555621930545046129036742684162649680796","3085746588958121678695340573755073635811671969466202529706243909144419544906","15358264232435244032159222413023294519420811338021914047216004862176094578703","274618135907332659550125464790981847888019268634834758638296553463810383811","3145275707337847188939353064357731848534516166917140907835781738084777990262","712912966757927878965693240425422971881715436008090497769457122872348343952","21219905789358323534478545279193723251420616841556623254711235028135342626157","9798324625310926002331408522163043190724749435063160272808536376189654148756","13582411668238263333995209483029305625601807569534701653376051071840372484093","15950000082544045394526115523741159615348156864031044224172890462894241606231","5992148578777868893458748144399130666011631987544731979896999269126511048457","5001232371587577350490476563931715794477203224577970619789108259266886603950","17806353473562524209419921489674020711603878477377228029846764687154796899291","4781857348503260904895922377303003708601361291248025972804843818012461675526","19725005896671978040083076043827582994250733273969992727037910840857608608713","6771553323761092017375937072638415166675529808942268574147258168001934888920","6072598916249169136908315542430764263321939399814654522032874918790340778554","17174337625009122870708859925793325997946378966416309900853757797594910229791","2191847811950210640312799119786838991241770048511678287834866005381831304252","5556089667073477529764323892046529774877491089381310117639628299653468438238","5512523756717871023776497641942984346783337720501449614794308618170512394669","12964734676293244153748554238028206801414195417901916061140401142888712380451","2972653442760058165486608510571475869094354178867521177094553776876904654370","19617883112060216036437373002520931262578741557295904537678304364166866283129","1175039218798484980072399121924972057008410392367959450703939688306902524054","10396745429499812151132429056797671842807735536621273702194009800176056286117","21829614378897985584789450465826668649930021698690579364831443823904306431333","232738545482017472261496633286350972128632187612854220178426602649221258372","12964734676293244153748554238028206801414195417901916061140401142888712380451","3085746588958121678695340573755073635811671969466202529706243909144419544906","19569641468295105160418177740024945517842897645468872356974690513927041995987","13682529409340978640466595260264374070197250456280851982310079893206859446095","5864324965287761028896843934748795289028753931353130557439328109628025948300","18638025629280224617790168906173435277703684091772827588468099812026035539738","2194543658437125198357587946021311492689377172643668551084193961108304747785","21593921076086949669297200034323757069358367209393924460563276537349356681008","15613087414575084731294247924061147534041250959429049604445183368849211416480","21876658378266334569964380224531738829113969654886515172706825001082187941302","17603178439634188462056825952489860474722953595745235452510670608903852152095","18820995668034441064481786413532066855976405414499761311120499699159123037823","6071932171386993614931179655729818150534845046202199448265558256519848482826","10847231218503195759517071138679051602730407167074172266742227045164609231885","14506356872966117174131859847846372170262756655915924664237877294288585233653","5157851077382368258831146921235005863841873179959407293372390317913027109941","17215740096130814160671394963439750791336311297216240493968557475671940055057","7236783279316083836339480995960834633270959028443867776543135480683166923869","11398194787838497782166425813926171378663319996243937443066049287231892201563","8461890310516914992976016102786941165050457592527945955052989873762315959085","20131832673266427475769741534309108541338301173662948074665588100934145363162","13025268118387164480802803485697296266258675734062176433653116451463846209082","2959389974566411083204235326117036516979963119227951085034972251184734179290","9377958456884255467194088716477119239642797045077236472356953540022684583149","16698515797824680501871676266202253211872118899888285886412000454073141450701","15798767315325760489132964686987872692994717940925570238047784420230331193585","4781857348503260904895922377303003708601361291248025972804843818012461675526","12671050201903040870132377617509218353339866159494336831034048382615639662347","16118914885963834916174025584295786549597018616252080891215345608189775067017","1287880180407310800601651110405671450334122951893361316992545024696018620127","11275609334870619778800915975797190217946752952900097800029716348347769743557","4549806302643127256376053744839835469729529127535077121646524402308295761124","12385792108167898834965686312817629786971321080122734283967136719015404659574","19645303799442917520263849382981918648525479954858046014781621457535223129139","13079036262723496487062341719232498854721623596427562123822257284722043022380","7815052247860712154170106628650576750781240048309328607812510735568644480099","4224433012242275812105292037318388809660019851311870694425205064696802439276","20769202337427957655670745571969974320407145254685594108329805885177108459406","5864324965287761028896843934748795289028753931353130557439328109628025948300","1194604146042048350003512364693260099917768421477389239935129766419846021985","20342168169457748695802149508674862964537074611245094862559628187033717475867","9612640678039527906483661330640693201947160578570955411180830848021191312999","20227979332701217082249100988795416872480735366357703927751699407575642930935","5568143431214976639464768845659406494667053581733825380813024891527928235568","3208479846365475237410989805061539106045403260781956346764317556860566259416","1533174095932179741832085722978096451211273368734335528806856805965059178550","15214427790517490141925325587797963249335567355213168373025412405634050937481","13602826144456356860284419687170541618185281374064216815711251835821492025702","946455194947827940337729236114480813870835673647234481151109602462556270766","10530161321691746280687450853188873346740398773252979676317929677235626245235","20551785199765572414957755636883446606643894289625551996383687264006196444272","17492490034871188503809070393464727304143828491765350693224566925126105199911","5627116488283442946557217209333347313412518163016066550539282920861053074060","7628458932936495764524142429747955579001667142208907050372858225989514457008","13545244560072730176162896504690392106112168077747273393293519829141026712654","9197800054380533439556389025741028642781611147489934915217537670356117734985","19725005896671978040083076043827582994250733273969992727037910840857608608713","13597601271430461916896612582648919742272715556061113046784825140314498905478","13382473425074121858735590469120000769886230357897236331156422982819803288928","12439760546784082202871583401234733990044187602943315324169379543365738178519","5758137506105103459826998865197780898444584232351877574052188955203596737799","8370264878441063630462671051957262849187564367781659467838460782939804026447","17368028902269277465024746642764987612414033705161996149238721534130490186941","946455194947827940337729236114480813870835673647234481151109602462556270766","10782746953492500078751030180163064462657489179646951793154413574373371915628","4574759938850684302328171377919788556520857555728298495027674689330859913909","712912966757927878965693240425422971881715436008090497769457122872348343952","2483126835964394240864276692792992171095811055349556498083468949709404323305","2235150263865959136421726440400433738501848129328010009098035293276672220717","5469955587383559828097756439479681402770241102946573149636380518729022833750","9612640678039527906483661330640693201947160578570955411180830848021191312999","7135473937218111453151804646361837547205712024569546168416088861245626015030","9197800054380533439556389025741028642781611147489934915217537670356117734985","8177887533556223950928671845738575508418213402039951309409853690924708882619","1644637032401895183536122531980635414363418149797237304436572320773189961342","2235150263865959136421726440400433738501848129328010009098035293276672220717","19402903568454754777700416991856190103205898202952506192755702018138164903780","663438552256433061576054140809160443818506164632349621099807794702352080693","15776280343411227095808521568994471614057167432416502119979098996603887292938","12313143896208759390351526641510039095883815550699902043061685514584813600074","1218928037268356033769144531312651840516937586618523437511091378414585873142","9011100725723069477052917523444280437831907181043987084639300263089606956420","8082817983718546987105551276971252463934917335856558917892075900846966350585","17744796207881002836361754172345756972108243302293817629307470887005013537965","10909054529489265328197617859427892180031815470826676417637937142527343355023","20551785199765572414957755636883446606643894289625551996383687264006196444272","2676613676733015431959147577385543530164186971614056775227705172064306807928","15776564956440002895136116449299582951656581983212117550232796150916571692055","11412740120827044021870096407623293808851105071188140591919788265312361814171","3885925135313023686150115977607110368258492435636819989794778250027419367343","1440944398068243290019815197893325790869382856018839453050014183551865062018","18707594353877082516395132272698629627555807696619350634836774054442394671010","19750715061039895092288075649509657235159241403400837501090850293666251108617","16411233008444850443854175483761516668813055344878151975436424201109266465436","966676739412114459004685599806372707037105104204243310754946364190002350899","17496320222604434917256246718514403734235740171188912286919341525891256570713","4224433012242275812105292037318388809660019851311870694425205064696802439276","15976978918004336355901319629352200911328902990447017277673724626919242812955","16226984168490080400263373201570728966749962184950889718917387268203884202372","1071564318326244075341980988866027669737011601498674724527637774926288977632","20769202337427957655670745571969974320407145254685594108329805885177108459406","2967213245998332384543885104754783540899439580884490432048984202068901705944","20769202337427957655670745571969974320407145254685594108329805885177108459406","1828058457773990843551157525432867662470301272599690050907371698799750907039","21451388112829145060821974036366132513327328641208732802166144524686108831760","21219905789358323534478545279193723251420616841556623254711235028135342626157","5001232371587577350490476563931715794477203224577970619789108259266886603950","6540725658063818695836967143056666761434297658403942276316050979804587769432","9377958456884255467194088716477119239642797045077236472356953540022684583149","4224433012242275812105292037318388809660019851311870694425205064696802439276","20452154666799846638117791929900707763485919083101449648262816499313176812803","2191847811950210640312799119786838991241770048511678287834866005381831304252","8491224372742742395086082981236389730604525807576141462195229766319454932167","5512523756717871023776497641942984346783337720501449614794308618170512394669","20717661531343094401419404535005724208121214979487601078059038701197331043233","2476324937951789382181944025361875851099988750579823474754609765481889757439","19356492332655108003949429792555441845806681675195402015185308983898801715851","2967213245998332384543885104754783540899439580884490432048984202068901705944","5055315503098445594062335518727177962919913361908453398984787599226169183337","17492490034871188503809070393464727304143828491765350693224566925126105199911","14027649325388708488081280969586205626278814303627295953445422182588276435572","13465227484584385300386574818824135648806878577862587385005638292079537592144","12385792108167898834965686312817629786971321080122734283967136719015404659574","21267939098918134027395634942102971885281982111723141238850772621986256662900","17496320222604434917256246718514403734235740171188912286919341525891256570713","11433874323428772158013095381623924200138375055456955808189877801771380225552","15618359152517208456698312197785172766694127619077536561902714697931530755106","2628389834360132333366589026387003814868457686372552787974500759887369913155","2027121307515028227361803453971004574835283397634149795685942874063731877044","1758371485945815703876679445382538767819559386912271388124907980130004330353","712912966757927878965693240425422971881715436008090497769457122872348343952","9296362220804925104551234752226384203979024033236205671428676015277866160513","3099260939107709193833554073787772569345965287506676970762153917208260772189","21219905789358323534478545279193723251420616841556623254711235028135342626157","3099260939107709193833554073787772569345965287506676970762153917208260772189","15976568257028838086904371689993285445196617581672212770040719579976951713437","6540725658063818695836967143056666761434297658403942276316050979804587769432","663438552256433061576054140809160443818506164632349621099807794702352080693","8140644209065967749731539711645757673629321017919126168806710308878873241272","4655594634855844188499094340496759182976213206849235604185854128079411962453","13216746424486872049443607565713997095923431379037310625593547838968801990450","5512523756717871023776497641942984346783337720501449614794308618170512394669","10286727453332438406648583236643277009562092681643525436851770105870834802875","5835554999819330558954089066526405560740259616473885793288693915684399039377","2235150263865959136421726440400433738501848129328010009098035293276672220717","13602826144456356860284419687170541618185281374064216815711251835821492025702","3117586190657126472592128104269081184451127080527182054370687640020932637738","16961794929940055505618937273665830834556517799613603503371462732255229717698","20717661531343094401419404535005724208121214979487601078059038701197331043233","3054509086575963631520633315863182977708152785332183337259997415160907095845","15718330550508436908559701395606414201668068552693146421627683872153427960853","4363738634465882118172307854104596042899685656091037340905869811610138317347","3295533384340596604465346018013602551881861893498794970313069368600968766409","4549806302643127256376053744839835469729529127535077121646524402308295761124","5836322900178474894684749559174625794931606932780001961547616477680042620058","7986666009024332686676662864413304092722307894727965157582073398188685188596","8332725882597643046230446607227878580859441724564830732217655474732342787381","13605376995820845471499102796322549845207296468035227481017989756087418839900","12155172322986237416023663042004942352608253176870958535098713267207721181883","18703989514997223432661641229861332310348080898339160493229575272467603319271","12144047841603136900258834238679736103499067068658592153906655837799171705427","11964978685770609938104516880584559743324134082109819132572992701951308097934","1336458066220344521262880797524303149688311982013949559764047883761889898074","7567096820715495523465831195561335361495276610103173418515651874250913956034","16698515797824680501871676266202253211872118899888285886412000454073141450701","760526239526750316156895532664638087659951808341490670841188720735038667373","17806353473562524209419921489674020711603878477377228029846764687154796899291","13605376995820845471499102796322549845207296468035227481017989756087418839900","663438552256433061576054140809160443818506164632349621099807794702352080693","14057612694744022955506885004102834629754310001978602939456750538201073114431","21536244638197709025858135955699906074571886472797743044193407266270319669578","10940448732886105987570056589646710210974129839416224393729741337643229924295","2483126835964394240864276692792992171095811055349556498083468949709404323305","9612640678039527906483661330640693201947160578570955411180830848021191312999","15613087414575084731294247924061147534041250959429049604445183368849211416480","16411233008444850443854175483761516668813055344878151975436424201109266465436","20350757034998523187334178209550008366903662221355109911310833181698841320621","4574759938850684302328171377919788556520857555728298495027674689330859913909","1346980346605447755534859795013475283788975200653900831883060614677761712111","14662264414119036690282405601089929177544253624404097884734013101529582623919","5469955587383559828097756439479681402770241102946573149636380518729022833750","17421378063295915427159454374242321672486103038225921418122357124853338152435","11412740120827044021870096407623293808851105071188140591919788265312361814171","7471975174935772955134792946513424637999023861300940920934522552454330255354","13246300932955054699896499534663439333337260302838301416472718244977767210668","1703815020768376381115674913114725195497281256588197804868422201697152023777","3085746588958121678695340573755073635811671969466202529706243909144419544906","7236783279316083836339480995960834633270959028443867776543135480683166923869","13582411668238263333995209483029305625601807569534701653376051071840372484093","4754713757431627318482916888231215818599754770670360377946229107868340173565","4224433012242275812105292037318388809660019851311870694425205064696802439276","3196185115626403769090812264110127828126981872545481387659039004737077237629","3449083258780223991632112868061903902820017044757095982070790181182597682266","6398900866082970916513845909030912477768318655743785125093873617319711480497","1175039218798484980072399121924972057008410392367959450703939688306902524054","5210257615122466358421406540799898540909863599743777249997433762286779163631","143871243170896096761286538359612900806921859208087130133106251324625818743","7825186589955157383712635126647794282971185739134506671734682703198205174921","19356492332655108003949429792555441845806681675195402015185308983898801715851","5469955587383559828097756439479681402770241102946573149636380518729022833750","9301724904566173478342992350770203303162818770127169929361533578664506545066","14144040826170485243395777956417332299961240009335454448818306795274079743482","15106671954584442557442200864211260493785606980074399349847632055753054483078","18869217976653672070772236404509215919650604056214055814018794444287298958040","11645420524832783721170737438334136629636818531954268745339783028025385754950","13439261978972035796996150244149252173133297973805089227133789936712760569803","15106671954584442557442200864211260493785606980074399349847632055753054483078","5512523756717871023776497641942984346783337720501449614794308618170512394669","5835554999819330558954089066526405560740259616473885793288693915684399039377","8863131691935358314236967173935315033413820679736774627121405457433895003795","17806353473562524209419921489674020711603878477377228029846764687154796899291","12688265548305129213524123982283433383136772509110047948234368697335124109577","18207961221628464226564927736506330628717051411055463190287553801949660581016","14776577580296682191308190812580888360497977691535016054206068797647787496417","2716120769329705626706313807317151735273953258897025678161053651818357382993","946455194947827940337729236114480813870835673647234481151109602462556270766","614966471251760438899692967903400348852862620490339206898848861882544111046","4116036656616283014460785251860209028828407967565755603300238819653622156901","10847231218503195759517071138679051602730407167074172266742227045164609231885","20895602419903453398196391913478058693274453903342785067983129839552891433864","15689970856593006158259892732288646993746887463514406392254922588756401796606","7408129850262826909244224402840856032373035919586685754734550738382550518934","16954193412688439955632320517883969169462813275902648614432177779074490622129","10822341224343704549832157601167511762192217681493597414750548578356092990059","18869217976653672070772236404509215919650604056214055814018794444287298958040","12998359993404137434826050598531205936631009536891015167391276398139095697469","712912966757927878965693240425422971881715436008090497769457122872348343952","12439760546784082202871583401234733990044187602943315324169379543365738178519","4933182101183318250560018811514844142859815227384938275570441539742336262480","5519776064110123180759081312729047106292930891845193268609251880658830705433","11964978685770609938104516880584559743324134082109819132572992701951308097934","20852945694892786589706882486760988740184637230152727898060254427102399724085","5157851077382368258831146921235005863841873179959407293372390317913027109941","3885925135313023686150115977607110368258492435636819989794778250027419367343","1632500423430879870300869265124598190896358768919584266600939773214617936900","16480089772180635258030461748402564771495064968752027484874049433567638476934","946455194947827940337729236114480813870835673647234481151109602462556270766","15718330550508436908559701395606414201668068552693146421627683872153427960853","10646102197739219326084794742182482777338903912449154661603058840745258963379","1570274245034538183221128634382794417097801245857820047802724595210806628688","9147263785534267636687968913589685560505104267741632426978703854622278136991","614966471251760438899692967903400348852862620490339206898848861882544111046","5566832184094895187524267067093217754199394279599836592480486864883149893031","7135473937218111453151804646361837547205712024569546168416088861245626015030","946455194947827940337729236114480813870835673647234481151109602462556270766","4087977103445290602464010775212316926483391914870441578758042979308767270230","16137218824867518993112176330612823176216439366022687220615937652371635085247","1703815020768376381115674913114725195497281256588197804868422201697152023777","1175039218798484980072399121924972057008410392367959450703939688306902524054","11412740120827044021870096407623293808851105071188140591919788265312361814171","12271983753113042626833634560364485293486763667349863253834100408006012012338","954361121666374676317512516553835448496801654442662842741750447529976221096","5519776064110123180759081312729047106292930891845193268609251880658830705433","19645303799442917520263849382981918648525479954858046014781621457535223129139","15546540006815490057793129658556841909859473017172875226825092156274503806084","16664225501027310427143425928031114680302400010653769373062555871803572912785","12964734676293244153748554238028206801414195417901916061140401142888712380451","1644637032401895183536122531980635414363418149797237304436572320773189961342","14588408860702774403040643085023102427643318176411097113905533342239652444746","17806353473562524209419921489674020711603878477377228029846764687154796899291","3401355104414210656254289265060762447824858847649022703190474278352208416173","15455768567639248552871867295320669874358209402041404093780654826364925510661","18869217976653672070772236404509215919650604056214055814018794444287298958040","13605376995820845471499102796322549845207296468035227481017989756087418839900","20663699746183765412904432768074062935933374627665221119822945660203712880745","1454875708970600335304126262767303975870655905960512436254375545925577328692","16954193412688439955632320517883969169462813275902648614432177779074490622129","20895602419903453398196391913478058693274453903342785067983129839552891433864","4933182101183318250560018811514844142859815227384938275570441539742336262480","1336458066220344521262880797524303149688311982013949559764047883761889898074","12984040983088595314698866307930588700679289984810017049345447973409490678089","10847231218503195759517071138679051602730407167074172266742227045164609231885","7236783279316083836339480995960834633270959028443867776543135480683166923869","12180564838572574785577178844314834812952191421495899999848160514539788519817","12600480540100512777695577363859185402126112711196993279255107913533806514345","18207961221628464226564927736506330628717051411055463190287553801949660581016","3401355104414210656254289265060762447824858847649022703190474278352208416173","4116036656616283014460785251860209028828407967565755603300238819653622156901","12863950582730082046148154608075135240263800483912187224256340414612337617318","3054509086575963631520633315863182977708152785332183337259997415160907095845","6714269803293029270909153658663808588557387497502190042744619007611526657435","163072371065782787415009910882963726380729563508259100978084406744617596229","18124161608764573031181181091746932116602343523449108232131693108002812215595","17698177298685528128465298198488735273578406532961103401549266592203987353446","1071564318326244075341980988866027669737011601498674724527637774926288977632","19883029896859112110244432872192403645617916717981765942483639413786774824574","12155172322986237416023663042004942352608253176870958535098713267207721181883","19375155383395696510967115781488322005907183312666977471331313827828265655931","12863950582730082046148154608075135240263800483912187224256340414612337617318","19470438559791413810807322334940256814752303267756345670901343982529444306002","4754713757431627318482916888231215818599754770670360377946229107868340173565","3196185115626403769090812264110127828126981872545481387659039004737077237629","11412740120827044021870096407623293808851105071188140591919788265312361814171","21876658378266334569964380224531738829113969654886515172706825001082187941302","9888239978634522925223196837194242311545989047209631150312165940305433080157","20342168169457748695802149508674862964537074611245094862559628187033717475867","6267275553024510648754807709238333654138152587130901210611391956543755030870","14535184095124950892028872912364622595212286520594227957147431032075397154266","2244871586170865025448272825497968057027141766617969218599365252909572535577","3117586190657126472592128104269081184451127080527182054370687640020932637738","18638025629280224617790168906173435277703684091772827588468099812026035539738","13602826144456356860284419687170541618185281374064216815711251835821492025702","19136646515076729474266957823959601106059804333394786210644361751043819130428","4006308849281273792274000957432061207143923231283130218997109288816872164471","4866442763557448299456393930665252678199356968867077785577776954873671002076","5523494911625033531158591406744208675721214018061290251579858790908546943321","14262959519701291686797273506458134133352406025405884284959025726384935370757","15798767315325760489132964686987872692994717940925570238047784420230331193585","6585682031650501777630925238370902100450071127640040426788913175433490518990","19569641468295105160418177740024945517842897645468872356974690513927041995987","19617883112060216036437373002520931262578741557295904537678304364166866283129","20717661531343094401419404535005724208121214979487601078059038701197331043233","15356303677036047765901840442430056519915375782726231750029051083606835464886","18869217976653672070772236404509215919650604056214055814018794444287298958040","19645303799442917520263849382981918648525479954858046014781621457535223129139","16614048991075038030789399956909315351324595917053714063050624141460033937444","614966471251760438899692967903400348852862620490339206898848861882544111046","4099531615762313645664270695169451400067010667159453849071079869270467331430","1336458066220344521262880797524303149688311982013949559764047883761889898074","374196098865630209786313311346578647643865900042267366994874073365518434467","9141525190254519952022341797682038597679704914972221193906068133244136674784","12964734676293244153748554238028206801414195417901916061140401142888712380451","3449083258780223991632112868061903902820017044757095982070790181182597682266","1218928037268356033769144531312651840516937586618523437511091378414585873142","17639609723574756459891329821328819780244585917274648474440537044036944455741","1533174095932179741832085722978096451211273368734335528806856805965059178550","1440944398068243290019815197893325790869382856018839453050014183551865062018","13004204931687393626720102454766944489147659600561337392365246286815729618336","12325315597559743752230693830058397065789541158772176272664764348470516075554","2972653442760058165486608510571475869094354178867521177094553776876904654370","8370264878441063630462671051957262849187564367781659467838460782939804026447","2959389974566411083204235326117036516979963119227951085034972251184734179290","20551785199765572414957755636883446606643894289625551996383687264006196444272","4087977103445290602464010775212316926483391914870441578758042979308767270230","15356303677036047765901840442430056519915375782726231750029051083606835464886","2683741289082249638876005424728100137356381224531970040303109182897410726686","7809308148717690892433475015444256746265555654600319391230796066961179227754","1440944398068243290019815197893325790869382856018839453050014183551865062018","14027649325388708488081280969586205626278814303627295953445422182588276435572","18594403705196476767375145654138028270042663039914897358747063340477738248585","16336411977121389060651610820631824246361165054986934015236391565811657107740","4478906216357891733779320532575007598672127166034590483003103843151770821805","15776564956440002895136116449299582951656581983212117550232796150916571692055","10593196891529840628734555040366549092907275204600028371924840487850448911826","13602826144456356860284419687170541618185281374064216815711251835821492025702","13183232877692246822590812126633640676351230654681431401704678854597307073741","1143725056710957642097279233815583467630238769694555684003566733048000751701","21536244638197709025858135955699906074571886472797743044193407266270319669578","16118914885963834916174025584295786549597018616252080891215345608189775067017","3085746588958121678695340573755073635811671969466202529706243909144419544906","7471975174935772955134792946513424637999023861300940920934522552454330255354","16651609932326344885003930002640274787869059718257297617745634674345809614067","8863131691935358314236967173935315033413820679736774627121405457433895003795","12233333935383563259381899984287101540154684128978249282626058445737562030151","7057969325794614252651980473201258184026879446024353453586952048006174273183","8177887533556223950928671845738575508418213402039951309409853690924708882619","16336411977121389060651610820631824246361165054986934015236391565811657107740","16391403911439019484448973048634108295486984765667310507956782776900193019857","16632434695136893331490691565954322107706581064802120383393065446949358038261","7532552732354833964818948844447124010555621930545046129036742684162649680796","2959389974566411083204235326117036516979963119227951085034972251184734179290","19375155383395696510967115781488322005907183312666977471331313827828265655931","2683741289082249638876005424728100137356381224531970040303109182897410726686","1071564318326244075341980988866027669737011601498674724527637774926288977632","4688608777744900238376640178893120441686955058686461498962807904713059186065","14862128476161472318832207576059761644997238747584253112211006461966427732368","14057612694744022955506885004102834629754310001978602939456750538201073114431","1570274245034538183221128634382794417097801245857820047802724595210806628688","13748763105074593620013986383045781773296715695306976461248290420913969610259","13079036262723496487062341719232498854721623596427562123822257284722043022380","15106671954584442557442200864211260493785606980074399349847632055753054483078","1143725056710957642097279233815583467630238769694555684003566733048000751701","12271983753113042626833634560364485293486763667349863253834100408006012012338","16651609932326344885003930002640274787869059718257297617745634674345809614067","6267275553024510648754807709238333654138152587130901210611391956543755030870","17018828663094797750757032992805443165559600645338019797634595027047317699068","13826842810792073443336072469158777368557028423710280480746021228332338112849","17539019008906665692358401403758991639375357012882690788487548831749474497244","19750715061039895092288075649509657235159241403400837501090850293666251108617","15776280343411227095808521568994471614057167432416502119979098996603887292938","19356492332655108003949429792555441845806681675195402015185308983898801715851","16118914885963834916174025584295786549597018616252080891215345608189775067017","4224433012242275812105292037318388809660019851311870694425205064696802439276","6311168126082531220851145980238852866031091078497507817682388947599504858069","12439760546784082202871583401234733990044187602943315324169379543365738178519","12385792108167898834965686312817629786971321080122734283967136719015404659574","712912966757927878965693240425422971881715436008090497769457122872348343952","14506356872966117174131859847846372170262756655915924664237877294288585233653","7135473937218111453151804646361837547205712024569546168416088861245626015030","13183232877692246822590812126633640676351230654681431401704678854597307073741","7033259621441273379090690993518324745190856903793390519675567591730089293401","16954193412688439955632320517883969169462813275902648614432177779074490622129","18638025629280224617790168906173435277703684091772827588468099812026035539738","12180564838572574785577178844314834812952191421495899999848160514539788519817","13582411668238263333995209483029305625601807569534701653376051071840372484093","4655594634855844188499094340496759182976213206849235604185854128079411962453","8370264878441063630462671051957262849187564367781659467838460782939804026447","17496320222604434917256246718514403734235740171188912286919341525891256570713","9141525190254519952022341797682038597679704914972221193906068133244136674784","21570485471295626790395474884741704872769989979943302238757938053634431270592","14214179218791945815971672263715227174014095422524111075841145981660259478464","5992148578777868893458748144399130666011631987544731979896999269126511048457","11275609334870619778800915975797190217946752952900097800029716348347769743557","6714269803293029270909153658663808588557387497502190042744619007611526657435","6221105771699561812227612915438412791747103897962033448670914370271924677164","12249836732564745436903455221618799619493605772253570453747572839223832061488","1493819599258016045339110999235422917168609982262840449866816239257578013153","13682529409340978640466595260264374070197250456280851982310079893206859446095","5568143431214976639464768845659406494667053581733825380813024891527928235568","13216746424486872049443607565713997095923431379037310625593547838968801990450","12180564838572574785577178844314834812952191421495899999848160514539788519817","1346980346605447755534859795013475283788975200653900831883060614677761712111","10782746953492500078751030180163064462657489179646951793154413574373371915628","1570274245034538183221128634382794417097801245857820047802724595210806628688","11118678586223256967063779327106075185044005359468107273605978537625172540996","9957269699849018786420105364721112375750180716923816099920663920684273075720","10286727453332438406648583236643277009562092681643525436851770105870834802875","7986666009024332686676662864413304092722307894727965157582073398188685188596","274618135907332659550125464790981847888019268634834758638296553463810383811","20131832673266427475769741534309108541338301173662948074665588100934145363162","19750715061039895092288075649509657235159241403400837501090850293666251108617","11545919418828350367784519368633485476721293708396219560182357280822873453096","143871243170896096761286538359612900806921859208087130133106251324625818743","10593196891529840628734555040366549092907275204600028371924840487850448911826","3005814121577142321238773726823845968144595752898226988876012545652019094241","9798324625310926002331408522163043190724749435063160272808536376189654148756","11964978685770609938104516880584559743324134082109819132572992701951308097934","12519200710540274443987348735978102700747472530155480989464845837532354722845","9679676316674197446267516028449539668288990002440917773972518794977810420407","12519200710540274443987348735978102700747472530155480989464845837532354722845","9957269699849018786420105364721112375750180716923816099920663920684273075720","13602826144456356860284419687170541618185281374064216815711251835821492025702","17603178439634188462056825952489860474722953595745235452510670608903852152095","16651609932326344885003930002640274787869059718257297617745634674345809614067","15950000082544045394526115523741159615348156864031044224172890462894241606231","18451742809683626507365133121132299935287207259245734910631591678742738573305","15214427790517490141925325587797963249335567355213168373025412405634050937481","12600480540100512777695577363859185402126112711196993279255107913533806514345","20895602419903453398196391913478058693274453903342785067983129839552891433864","9306117694572387027262464048290209213167312534461525812720869427821619086590","10690633522035360601031737428400068881001718255130638825096194976708724866144","4866442763557448299456393930665252678199356968867077785577776954873671002076","19108128352145842008548048053308217665383455218276209300064989051535526150757","954361121666374676317512516553835448496801654442662842741750447529976221096","6714269803293029270909153658663808588557387497502190042744619007611526657435","19265929620982371511819161020399302006822082297986006761385196152068883496437","7532552732354833964818948844447124010555621930545046129036742684162649680796","5649801951154791837665343131813310668539151217466670556566164087328114632489","4866442763557448299456393930665252678199356968867077785577776954873671002076","18003950806500496937907532373283544753235688820907806692295042001546833965033","12155172322986237416023663042004942352608253176870958535098713267207721181883","6071932171386993614931179655729818150534845046202199448265558256519848482826","3099260939107709193833554073787772569345965287506676970762153917208260772189","6072598916249169136908315542430764263321939399814654522032874918790340778554","19569641468295105160418177740024945517842897645468872356974690513927041995987","17018828663094797750757032992805443165559600645338019797634595027047317699068","15776564956440002895136116449299582951656581983212117550232796150916571692055","12042091411871087770321928117714696325647592163332119499975682262951606830326","8177887533556223950928671845738575508418213402039951309409853690924708882619","11433874323428772158013095381623924200138375055456955808189877801771380225552","14535184095124950892028872912364622595212286520594227957147431032075397154266","20046290436659560311648463454245918246036175981027749522810979896203323505017","5627116488283442946557217209333347313412518163016066550539282920861053074060","16480089772180635258030461748402564771495064968752027484874049433567638476934","1194604146042048350003512364693260099917768421477389239935129766419846021985","1218928037268356033769144531312651840516937586618523437511091378414585873142","13202400967998975804928062759810694884158416475176357116907186595278657876313","6311168126082531220851145980238852866031091078497507817682388947599504858069","6795208382791933114735572030062093331533051902721517159934364925403853532318","19936787863437503780283518973149089110020946214555834613795208847908690099190","9377958456884255467194088716477119239642797045077236472356953540022684583149","15123415314399351471075303556718608687323785898137080424470982286311735782352","13370115598260167633113987566372148589924273398862423406100474476922447871102","7135473937218111453151804646361837547205712024569546168416088861245626015030","14262959519701291686797273506458134133352406025405884284959025726384935370757","13025268118387164480802803485697296266258675734062176433653116451463846209082","4624094547626164902101572852723507795056700722159656748629760282341508155551","4224433012242275812105292037318388809660019851311870694425205064696802439276","5836322900178474894684749559174625794931606932780001961547616477680042620058","13908465977240917608897406492241943260778588976320614277228337961237626209809","2628389834360132333366589026387003814868457686372552787974500759887369913155","11183511759577952361572566673527592434184886344484272921682811575415051015276","12863950582730082046148154608075135240263800483912187224256340414612337617318","14262959519701291686797273506458134133352406025405884284959025726384935370757","16137218824867518993112176330612823176216439366022687220615937652371635085247","18707594353877082516395132272698629627555807696619350634836774054442394671010","15413262379943851680637741226631729175616759345996754775627005612359539596292","4116036656616283014460785251860209028828407967565755603300238819653622156901","3099260939107709193833554073787772569345965287506676970762153917208260772189","4624094547626164902101572852723507795056700722159656748629760282341508155551","4420985155765749198917158320211243542858248750314567273670169360313609199220","4781857348503260904895922377303003708601361291248025972804843818012461675526","16698515797824680501871676266202253211872118899888285886412000454073141450701","5519776064110123180759081312729047106292930891845193268609251880658830705433","6540725658063818695836967143056666761434297658403942276316050979804587769432","19215132962371868093445083227022064420405266792249240035116240824526740725800","19375155383395696510967115781488322005907183312666977471331313827828265655931","1175039218798484980072399121924972057008410392367959450703939688306902524054","13748763105074593620013986383045781773296715695306976461248290420913969610259","15976568257028838086904371689993285445196617581672212770040719579976951713437","2731702758715001559265750806008384495080551892515362156357977538139860974530","3133838166556165943824029176542597440374447246137252468511956694712122940530","1354299594199717859606388533670792913672908168692420372657948698842311093857","10822341224343704549832157601167511762192217681493597414750548578356092990059","17018828663094797750757032992805443165559600645338019797634595027047317699068","14776577580296682191308190812580888360497977691535016054206068797647787496417","18693317710730212151208513181186966573996077028828882441479768956833225751022","17492490034871188503809070393464727304143828491765350693224566925126105199911","14172013427642179266386805494272960512005525394680301845681753498295255309908","3607534072804388173311745844584795163913258697339304886139614455491456047872","4420985155765749198917158320211243542858248750314567273670169360313609199220","7815052247860712154170106628650576750781240048309328607812510735568644480099","9277147365456707051192593343809527681573500829831413326738310307567850123829","8863131691935358314236967173935315033413820679736774627121405457433895003795","13439261978972035796996150244149252173133297973805089227133789936712760569803","13051815778936294959186188778209982533089138172215506637927986094620164817648","3835902309964760173432611751283380612399529168609044921165087497368685977916","13202400967998975804928062759810694884158416475176357116907186595278657876313","15214427790517490141925325587797963249335567355213168373025412405634050937481","2666549942988803296757576401723478920911340699174408059253220554211642279978","16122380779106962898741444352984715606386470429041317890034930229550324363289","18594403705196476767375145654138028270042663039914897358747063340477738248585","7796937569050271278342402836188937027242003149541526098037517748511185180620","8140644209065967749731539711645757673629321017919126168806710308878873241272","5992148578777868893458748144399130666011631987544731979896999269126511048457","3348432210747515061385037490620056224077503064341935527160366063098820102327","18566222379922364157274850150988399654533738702075332376935729247934165563869","2476324937951789382181944025361875851099988750579823474754609765481889757439","18637620888308371607611642373870554933712342468791368368498810637591710912686","2959389974566411083204235326117036516979963119227951085034972251184734179290","20227979332701217082249100988795416872480735366357703927751699407575642930935","17368028902269277465024746642764987612414033705161996149238721534130490186941","16653103879864200321986465966316889764620013245316877484022986374603264725648","16118914885963834916174025584295786549597018616252080891215345608189775067017","5568143431214976639464768845659406494667053581733825380813024891527928235568","13641582444261924898950561772071287900110836262790950814969623169365632502460","15546540006815490057793129658556841909859473017172875226825092156274503806084","16961794929940055505618937273665830834556517799613603503371462732255229717698","11964978685770609938104516880584559743324134082109819132572992701951308097934","14216993731814681619137662595321398279415990565678023063177228088649900891505","7815052247860712154170106628650576750781240048309328607812510735568644480099","20350757034998523187334178209550008366903662221355109911310833181698841320621","15045123937812306625997417665247004551483049589009168687548501235926225142020","16632434695136893331490691565954322107706581064802120383393065446949358038261","20838188000013629937954971368567014585342187321412629930028751871743338652961","13545244560072730176162896504690392106112168077747273393293519829141026712654","6765546767316775630226434304243025099044057869188929458111914505605517807492","17018828663094797750757032992805443165559600645338019797634595027047317699068","18820995668034441064481786413532066855976405414499761311120499699159123037823","614966471251760438899692967903400348852862620490339206898848861882544111046","17496320222604434917256246718514403734235740171188912286919341525891256570713","18637620888308371607611642373870554933712342468791368368498810637591710912686","6540725658063818695836967143056666761434297658403942276316050979804587769432","1644637032401895183536122531980635414363418149797237304436572320773189961342","8461890310516914992976016102786941165050457592527945955052989873762315959085","21591247897428723764785205441739843186077784027717063974489303352320972773514","9277147365456707051192593343809527681573500829831413326738310307567850123829","13004204931687393626720102454766944489147659600561337392365246286815729618336","11398194787838497782166425813926171378663319996243937443066049287231892201563","4006308849281273792274000957432061207143923231283130218997109288816872164471","3885925135313023686150115977607110368258492435636819989794778250027419367343","3054509086575963631520633315863182977708152785332183337259997415160907095845","5055315503098445594062335518727177962919913361908453398984787599226169183337","8491224372742742395086082981236389730604525807576141462195229766319454932167","10593196891529840628734555040366549092907275204600028371924840487850448911826","5519776064110123180759081312729047106292930891845193268609251880658830705433","20750786466099303558578845860831937634908544617912415565480052280769840150510","15798767315325760489132964686987872692994717940925570238047784420230331193585","567433434521112381841206540791234080742279927287516260853551410281774875712","16391403911439019484448973048634108295486984765667310507956782776900193019857","14057612694744022955506885004102834629754310001978602939456750538201073114431","17698177298685528128465298198488735273578406532961103401549266592203987353446","14506356872966117174131859847846372170262756655915924664237877294288585233653","11889745823596890789749077573846619853793479538535474896498174482741572852641","15976568257028838086904371689993285445196617581672212770040719579976951713437","4624094547626164902101572852723507795056700722159656748629760282341508155551","15022199219678996727354667799147374096361570599067734481207390034887749042083","8461890310516914992976016102786941165050457592527945955052989873762315959085","3054509086575963631520633315863182977708152785332183337259997415160907095845","14506356872966117174131859847846372170262756655915924664237877294288585233653","9296362220804925104551234752226384203979024033236205671428676015277866160513","12688265548305129213524123982283433383136772509110047948234368697335124109577","2903328500810487887284040113540254258409278773721503335380406605532748782645","12271983753113042626833634560364485293486763667349863253834100408006012012338","17744796207881002836361754172345756972108243302293817629307470887005013537965","16954193412688439955632320517883969169462813275902648614432177779074490622129","2666549942988803296757576401723478920911340699174408059253220554211642279978","15689970856593006158259892732288646993746887463514406392254922588756401796606","2666549942988803296757576401723478920911340699174408059253220554211642279978","6307025001981604557276095751477581176989559254288853588059732891819079685284","15106671954584442557442200864211260493785606980074399349847632055753054483078","6795208382791933114735572030062093331533051902721517159934364925403853532318","8082817983718546987105551276971252463934917335856558917892075900846966350585","3607534072804388173311745844584795163913258697339304886139614455491456047872","19108128352145842008548048053308217665383455218276209300064989051535526150757","17603223305375528970110710410175592504507901335489871100398461389444688509102","15950000082544045394526115523741159615348156864031044224172890462894241606231","17603178439634188462056825952489860474722953595745235452510670608903852152095","13079036262723496487062341719232498854721623596427562123822257284722043022380","4574759938850684302328171377919788556520857555728298495027674689330859913909","5836322900178474894684749559174625794931606932780001961547616477680042620058","18682912995789016595436882433435139159334702280353629213700041190405671371221","18682912995789016595436882433435139159334702280353629213700041190405671371221","14647299140966795168634863382011786101084247791740654785196548451662948086183","19265929620982371511819161020399302006822082297986006761385196152068883496437","13051815778936294959186188778209982533089138172215506637927986094620164817648","16226984168490080400263373201570728966749962184950889718917387268203884202372","12688265548305129213524123982283433383136772509110047948234368697335124109577","4592739379790743343042028868384342794596363702987579215937879797639357089011","4933182101183318250560018811514844142859815227384938275570441539742336262480","12519200710540274443987348735978102700747472530155480989464845837532354722845","17547875379231708590555723879540779728666475590929028917859771769395698401715","21219905789358323534478545279193723251420616841556623254711235028135342626157","18682912995789016595436882433435139159334702280353629213700041190405671371221","19617883112060216036437373002520931262578741557295904537678304364166866283129","20342168169457748695802149508674862964537074611245094862559628187033717475867","4420985155765749198917158320211243542858248750314567273670169360313609199220","3608626711809097355394527544415447989465407554113965209630262872975367728702","7986666009024332686676662864413304092722307894727965157582073398188685188596","17539019008906665692358401403758991639375357012882690788487548831749474497244","17496320222604434917256246718514403734235740171188912286919341525891256570713","4655594634855844188499094340496759182976213206849235604185854128079411962453","15618359152517208456698312197785172766694127619077536561902714697931530755106","13748763105074593620013986383045781773296715695306976461248290420913969610259","20131832673266427475769741534309108541338301173662948074665588100934145363162","10690633522035360601031737428400068881001718255130638825096194976708724866144","18594403705196476767375145654138028270042663039914897358747063340477738248585","12998359993404137434826050598531205936631009536891015167391276398139095697469","9141525190254519952022341797682038597679704914972221193906068133244136674784","14144040826170485243395777956417332299961240009335454448818306795274079743482","1570274245034538183221128634382794417097801245857820047802724595210806628688","13597601271430461916896612582648919742272715556061113046784825140314498905478","10286727453332438406648583236643277009562092681643525436851770105870834802875","15710422838883679733600834907476906094570753444844580151730513642276654631674","8082817983718546987105551276971252463934917335856558917892075900846966350585","18703989514997223432661641229861332310348080898339160493229575272467603319271","16480089772180635258030461748402564771495064968752027484874049433567638476934","2967213245998332384543885104754783540899439580884490432048984202068901705944","4655594634855844188499094340496759182976213206849235604185854128079411962453","18637620888308371607611642373870554933712342468791368368498810637591710912686","15776564956440002895136116449299582951656581983212117550232796150916571692055","5210257615122466358421406540799898540909863599743777249997433762286779163631","8691474413369666750892234614358820289658368726857552974633024543804680298964","13605376995820845471499102796322549845207296468035227481017989756087418839900","3196185115626403769090812264110127828126981872545481387659039004737077237629","21591247897428723764785205441739843186077784027717063974489303352320972773514","1194604146042048350003512364693260099917768421477389239935129766419846021985","10782746953492500078751030180163064462657489179646951793154413574373371915628","3885925135313023686150115977607110368258492435636819989794778250027419367343","20521411631300308681277111693281832014010918653298260542960102164696238242229","17582818757173661762314072926867802933652214827993395929831324522299049413904","21780456150575058339898563710498965468972448244984833163147655946608027181634","21591247897428723764785205441739843186077784027717063974489303352320972773514","8491224372742742395086082981236389730604525807576141462195229766319454932167","156542953578700199190349883532041470160708612831113224539973504251955528744","12519200710540274443987348735978102700747472530155480989464845837532354722845","2544185200680176111354240446924889864706979425265095363625611785655132613870","14897910390493117493085561230943786488745018480007968413736887385270447651383","13051815778936294959186188778209982533089138172215506637927986094620164817648","8370264878441063630462671051957262849187564367781659467838460782939804026447","3986804060834622107770115616180027696529168594693106325651227138002220680218","10782746953492500078751030180163064462657489179646951793154413574373371915628","15976978918004336355901319629352200911328902990447017277673724626919242812955","8328030641700015547962729319084004225083584314272156382022742953974692359024","2476324937951789382181944025361875851099988750579823474754609765481889757439","2476324937951789382181944025361875851099988750579823474754609765481889757439","12155172322986237416023663042004942352608253176870958535098713267207721181883","17603178439634188462056825952489860474722953595745235452510670608903852152095","20342168169457748695802149508674862964537074611245094862559628187033717475867","4688608777744900238376640178893120441686955058686461498962807904713059186065","4420985155765749198917158320211243542858248750314567273670169360313609199220","3145275707337847188939353064357731848534516166917140907835781738084777990262","17603178439634188462056825952489860474722953595745235452510670608903852152095","2235150263865959136421726440400433738501848129328010009098035293276672220717","4549806302643127256376053744839835469729529127535077121646524402308295761124","17492490034871188503809070393464727304143828491765350693224566925126105199911","18729388765252309558574413425774793050225406365031444286319123071733886008203","16480089772180635258030461748402564771495064968752027484874049433567638476934","19883029896859112110244432872192403645617916717981765942483639413786774824574","5836322900178474894684749559174625794931606932780001961547616477680042620058","16653103879864200321986465966316889764620013245316877484022986374603264725648","16698515797824680501871676266202253211872118899888285886412000454073141450701","12233333935383563259381899984287101540154684128978249282626058445737562030151","274144820678452421379816557330510579317549145397331786233749585417771792945","15776280343411227095808521568994471614057167432416502119979098996603887292938","4006308849281273792274000957432061207143923231283130218997109288816872164471","15435596047717285113986137313550661564381864970285528104339022986255133148722","20838188000013629937954971368567014585342187321412629930028751871743338652961","11433874323428772158013095381623924200138375055456955808189877801771380225552","20131832673266427475769741534309108541338301173662948074665588100934145363162","18820995668034441064481786413532066855976405414499761311120499699159123037823","10599184745355055122827201680284382421384308407491311763734067519190170881017","12876212902112174796123067808109407354255021515914362771981709565057633093870","16122380779106962898741444352984715606386470429041317890034930229550324363289","6836865286311343609694524245159119133769123287741705285044672797797129131253","21591247897428723764785205441739843186077784027717063974489303352320972773514","12385792108167898834965686312817629786971321080122734283967136719015404659574","2027121307515028227361803453971004574835283397634149795685942874063731877044","3005814121577142321238773726823845968144595752898226988876012545652019094241","4866442763557448299456393930665252678199356968867077785577776954873671002076","20046290436659560311648463454245918246036175981027749522810979896203323505017","1336458066220344521262880797524303149688311982013949559764047883761889898074","8491224372742742395086082981236389730604525807576141462195229766319454932167","16653103879864200321986465966316889764620013245316877484022986374603264725648","5988689769882991468528359729958078604149342871940113378259733314892811441673","3005814121577142321238773726823845968144595752898226988876012545652019094241","3133838166556165943824029176542597440374447246137252468511956694712122940530","11183511759577952361572566673527592434184886344484272921682811575415051015276","15613087414575084731294247924061147534041250959429049604445183368849211416480","4549806302643127256376053744839835469729529127535077121646524402308295761124","16632434695136893331490691565954322107706581064802120383393065446949358038261","4933182101183318250560018811514844142859815227384938275570441539742336262480","19750715061039895092288075649509657235159241403400837501090850293666251108617","6049121453084659222825489908739822792694774158293989229260853547616301268692","4549806302643127256376053744839835469729529127535077121646524402308295761124","13370115598260167633113987566372148589924273398862423406100474476922447871102","5469955587383559828097756439479681402770241102946573149636380518729022833750","1632500423430879870300869265124598190896358768919584266600939773214617936900","1071564318326244075341980988866027669737011601498674724527637774926288977632","1493819599258016045339110999235422917168609982262840449866816239257578013153","12998359993404137434826050598531205936631009536891015167391276398139095697469","14057612694744022955506885004102834629754310001978602939456750538201073114431","12863950582730082046148154608075135240263800483912187224256340414612337617318","21451388112829145060821974036366132513327328641208732802166144524686108831760","13004204931687393626720102454766944489147659600561337392365246286815729618336","18159717335881315589645032086713288496782632932867903491586009514211947568031","6307025001981604557276095751477581176989559254288853588059732891819079685284","1440944398068243290019815197893325790869382856018839453050014183551865062018","21780456150575058339898563710498965468972448244984833163147655946608027181634","6836865286311343609694524245159119133769123287741705285044672797797129131253","12233333935383563259381899984287101540154684128978249282626058445737562030151","20895602419903453398196391913478058693274453903342785067983129839552891433864","18207961221628464226564927736506330628717051411055463190287553801949660581016","16226984168490080400263373201570728966749962184950889718917387268203884202372","9141525190254519952022341797682038597679704914972221193906068133244136674784","11433874323428772158013095381623924200138375055456955808189877801771380225552","6585682031650501777630925238370902100450071127640040426788913175433490518990","11645420524832783721170737438334136629636818531954268745339783028025385754950","12313143896208759390351526641510039095883815550699902043061685514584813600074","9888239978634522925223196837194242311545989047209631150312165940305433080157","9306117694572387027262464048290209213167312534461525812720869427821619086590","7800856132048238285999367318239374829634076893379031119745654756621815300429","8328030641700015547962729319084004225083584314272156382022742953974692359024","19569641468295105160418177740024945517842897645468872356974690513927041995987","18703989514997223432661641229861332310348080898339160493229575272467603319271","4006308849281273792274000957432061207143923231283130218997109288816872164471","4754713757431627318482916888231215818599754770670360377946229107868340173565","8863131691935358314236967173935315033413820679736774627121405457433895003795","12616472237712801953990641170786430111219637655930398736307229893389737211053","14799475491656615059372780774624370709464328674979516248659286482744107230446","12600480540100512777695577363859185402126112711196993279255107913533806514345","7033259621441273379090690993518324745190856903793390519675567591730089293401","17603178439634188462056825952489860474722953595745235452510670608903852152095","18693317710730212151208513181186966573996077028828882441479768956833225751022","13641582444261924898950561772071287900110836262790950814969623169365632502460","6585682031650501777630925238370902100450071127640040426788913175433490518990","12006531986840408977918622834986049589872827010469069694616415380752223757192","7471975174935772955134792946513424637999023861300940920934522552454330255354","15950000082544045394526115523741159615348156864031044224172890462894241606231","14262959519701291686797273506458134133352406025405884284959025726384935370757","1758371485945815703876679445382538767819559386912271388124907980130004330353","18707594353877082516395132272698629627555807696619350634836774054442394671010","4116036656616283014460785251860209028828407967565755603300238819653622156901","18594403705196476767375145654138028270042663039914897358747063340477738248585","9377958456884255467194088716477119239642797045077236472356953540022684583149","14841990498171696915559636042318167569437811173944889089519208821758196118572","20006509131408258657369129395045362318044780385983476979717124299339121586377","6049121453084659222825489908739822792694774158293989229260853547616301268692","5568143431214976639464768845659406494667053581733825380813024891527928235568","3117586190657126472592128104269081184451127080527182054370687640020932637738","8691474413369666750892234614358820289658368726857552974633024543804680298964","17582818757173661762314072926867802933652214827993395929831324522299049413904","21267939098918134027395634942102971885281982111723141238850772621986256662900","12600480540100512777695577363859185402126112711196993279255107913533806514345","274144820678452421379816557330510579317549145397331786233749585417771792945","20663699746183765412904432768074062935933374627665221119822945660203712880745","2628389834360132333366589026387003814868457686372552787974500759887369913155","15613087414575084731294247924061147534041250959429049604445183368849211416480","17174337625009122870708859925793325997946378966416309900853757797594910229791","2967213245998332384543885104754783540899439580884490432048984202068901705944","10593196891529840628734555040366549092907275204600028371924840487850448911826","1218928037268356033769144531312651840516937586618523437511091378414585873142","19645303799442917520263849382981918648525479954858046014781621457535223129139","1218928037268356033769144531312651840516937586618523437511091378414585873142","18638025629280224617790168906173435277703684091772827588468099812026035539738","4087977103445290602464010775212316926483391914870441578758042979308767270230","8461890310516914992976016102786941165050457592527945955052989873762315959085","5568143431214976639464768845659406494667053581733825380813024891527928235568","3005814121577142321238773726823845968144595752898226988876012545652019094241","17603223305375528970110710410175592504507901335489871100398461389444688509102","2544185200680176111354240446924889864706979425265095363625611785655132613870","15718330550508436908559701395606414201668068552693146421627683872153427960853","8140644209065967749731539711645757673629321017919126168806710308878873241272","14799475491656615059372780774624370709464328674979516248659286482744107230446","374196098865630209786313311346578647643865900042267366994874073365518434467","13648236315809483800741231329158534760283476979282874649596812220944412887454","19356492332655108003949429792555441845806681675195402015185308983898801715851","1118279149946874054339337226256428104508684927524794373040609290637664978199","15045123937812306625997417665247004551483049589009168687548501235926225142020","1689709601556268020419125248006910470935068691712645256591639741945971733744","17089513984383051444012804212344078898491877698852637641465487102929365695051","3835902309964760173432611751283380612399529168609044921165087497368685977916","2544185200680176111354240446924889864706979425265095363625611785655132613870","3348432210747515061385037490620056224077503064341935527160366063098820102327","7986666009024332686676662864413304092722307894727965157582073398188685188596","7567096820715495523465831195561335361495276610103173418515651874250913956034","7800856132048238285999367318239374829634076893379031119745654756621815300429","21451388112829145060821974036366132513327328641208732802166144524686108831760","12042091411871087770321928117714696325647592163332119499975682262951606830326","19569641468295105160418177740024945517842897645468872356974690513927041995987","7532552732354833964818948844447124010555621930545046129036742684162649680796","4624094547626164902101572852723507795056700722159656748629760282341508155551","2666549942988803296757576401723478920911340699174408059253220554211642279978","9888239978634522925223196837194242311545989047209631150312165940305433080157","21267939098918134027395634942102971885281982111723141238850772621986256662900","17080170896205579351487820867879098448749980844566584779831865641843648559954","4781857348503260904895922377303003708601361291248025972804843818012461675526","5001232371587577350490476563931715794477203224577970619789108259266886603950","1194604146042048350003512364693260099917768421477389239935129766419846021985","21267939098918134027395634942102971885281982111723141238850772621986256662900","18707594353877082516395132272698629627555807696619350634836774054442394671010","7236783279316083836339480995960834633270959028443867776543135480683166923869","21570485471295626790395474884741704872769989979943302238757938053634431270592","16632434695136893331490691565954322107706581064802120383393065446949358038261","954361121666374676317512516553835448496801654442662842741750447529976221096","12998359993404137434826050598531205936631009536891015167391276398139095697469","13004204931687393626720102454766944489147659600561337392365246286815729618336","15776280343411227095808521568994471614057167432416502119979098996603887292938","7057969325794614252651980473201258184026879446024353453586952048006174273183","6994664438597925475223705340624595897260559921645516609558922687274714825714","4363738634465882118172307854104596042899685656091037340905869811610138317347","12180564838572574785577178844314834812952191421495899999848160514539788519817","13079036262723496487062341719232498854721623596427562123822257284722043022380","17496320222604434917256246718514403734235740171188912286919341525891256570713","12271983753113042626833634560364485293486763667349863253834100408006012012338","3117586190657126472592128104269081184451127080527182054370687640020932637738","14841990498171696915559636042318167569437811173944889089519208821758196118572","3814718729516245467542823378722292629370285860606484341016365565551107845022","15718330550508436908559701395606414201668068552693146421627683872153427960853","4574759938850684302328171377919788556520857555728298495027674689330859913909","9612640678039527906483661330640693201947160578570955411180830848021191312999","12172459979594272836158443334993722622077942972483988133675801482944682547814","18729388765252309558574413425774793050225406365031444286319123071733886008203","12233333935383563259381899984287101540154684128978249282626058445737562030151","19375155383395696510967115781488322005907183312666977471331313827828265655931","18207961221628464226564927736506330628717051411055463190287553801949660581016","1377808171643922006954160722747273091529243940371945604197417602736009363523","14889586175325483443041813226686357400339931463122742842745317460691290784136","9770821889969753026439714135746557936968725073065412883354694679382717123968","3768167068773898722568469507920346701450511503268567897292049941704582796136","1899628457317453197426768456858589983666227401303606152877725712904770786388","20236454182607023448722579291892888454656044680186829166675261973593187415963"],["19444847062288131493943706784497406601211185688116273754131863169092610576967","6756357644703883372382000235355183123582254014035599689202182239604052730084","5834963883005519863277737060862183242422193207910302638450418995361988638650","14630532141997277216138304497310196564144668507296424668904559464853731825529","276005601789737429160222670723919227435048289882730462426149086438071032420","8155169592408501114771949260607780658108674298838155446397409772814142490986","8496173005628286226067567535490313700679832176191507650779467185231469190908","18522758669123103820765651383058550163152440728027329605661881000152433829894","20717160396907128742447930491661507548527901200271695593644376944470624644874","6783400954785427443777419190369959791457729235323837312105292689987925420262","15793588416019429949037560428655750893129153960665891892058368228751095545231","13047857333849170739650468523722679452310178134682835736334331719537030864403","13702952651241896077447912135262631109194634993417767336774463460551430174591","16771524083619709591205953781761522848915592462004352344297444083327000335914","18362879251176766534772404056399418613362042401782184697324682721000341441514","1921169374568757279790536398590170773520268712196928601546829626342058380013","18007271086827148118702779138045717036566051534448069739899858280155274498416","11677788058520437899562086139134738123234096436757857524455227202665943485909","18567835086166004190967610331516651777840850520761110277224875363942309193033","12549862092815494374468253271773435129600234325866279388210551065809722236154","12545772019827878627361160408311538713526252988913811675565306764418681013019","17790976380038280976988246085058593967622099860594622912213483950365513994179","295342049608542310001266607810723788606908957088698225682924285077522343374","6042881253538576878797032051936765585731381049990189646390895524714385119979","16177540255744097871521288192447267851650838298325801002101754584177258351542","689944521090171958642896246746378107452915085681977844021127122085860793418","21806600652809306442934150151527166374544123717499224666056071691980718320158","10687999924804520822721645773635035131067056997636998429204051086244451458352","2919688173439697460443732931955910957668633676232388974155373692008001074942","2088428214431812495479622929730813017014992498691761094277448089379469403302","3415582465565312695281321795946675901044043725583982633056443485871119407177","11432629911071490835626964427117253752817170646912779324491272989814675105631","7810232533291842805873821935461788355487026463002760576510838277131727012637","15850563248943823248196314184730972664098169701487536058299754250660946727661","8728976634161630217358665668742559554087067616326533741880426574160431347132","15547734297253509235806418165603020662298589957875421913304005171944398984391","3158249123091915580481792507317767452027547932247936126792366337689584842781","8993351209143960585970304728524607023340419549878051384852055190939357644360","4916077676642951295302597643655156805863813630504586598619800437364856520347","15052050566960149294362189709830107098243646295893587902102267385191499441867","7150859141970623502564908412249208973629105197031357581428846816632024424773","5659463774436746876994077967866722465283824187257515817896446525143503038229","19464498962894958485813692012599931383997188482601571850575384753467351286244","15817240123388522852498302303406312726664688503153075471764110095076928497826","5302571205101485049626764959256598947375033298608344128379324163720645334410","20692740934715863051898617710088924214854286115389280275696778859743980624203","16121180084056885385768374518937623712121773918849607938195591718986083243748","17449335744171334550114352347521422770517337704382637045934115518315313519219","10253291411916249149409944484940846312189907495150544356013969086126665142627","1075989933051112270479502705317054499580865741297076182284940703542006602757","17496779585745191468575660181265060269367274078653980290860692264179679950345","3538122871871015265597356999511771252266082849566808379976323073541018816059","7579486643564421792498711360748450541290817800587156287997063934548078067430","12729453322089802294380978481733715584931031070971499485676879773953031357372","6694633370369966210102257937726749959486994134264582443016638266185985910723","17623873916481672691654892260114036685248130649477279788335331445450611897752","6307701910454308121209261684131709903162842155523511946468120801525808144713","2490437230848135899340146974626841790838141435966177610519877944111227880794","5017798776934405523649599878486720454877889960063314088092139283965398786505","20817420597532209277094254254011796300596270364114901508622090395551862021369","15258825807346731106480585334099109914680431439052544107298794895009458789849","436207735379833515948816288186396517305806158675320799296446691642166338508","13294452063087597313135368572465579195169503832488496277864688043228247847885","5281958238296057162541008015360609066403026130630047672176591872125940281371","386042965256259984981370670464051577241496612285005807238429392957903257172","10942243549318138624734474054079356060390652679206672396911330609350570685574","270406167611514320681193466529653886068620721651325372569688862100531780060","21769039780368018587024190597032828628077779629457595552733479023564952366755","14257848362862950978758226475754708328366569815134458955450406250786029562719","20675103741730086975536120126603499078928196755869920413190380095671818551245","4092670173605738716451085900386063604788602581706203170812942738120506696245","15831649561312402734198126328637255008767394666669354210368241338558776960189","8773460264964044836577029971056134181700063958452992767868071607709089255261","15969366571969091014788118571658462634361656562903319995975427897452380798450","9090539943906640916226800382217696518430261301435146060171359093957899579442","12598966212710420863490627175550230608849032996842656735190850410879434661800","5082369006304868528209185647948375467679404699238424225315402327829344882479","21232583620520875935273928036429179339733541639648304803699206026350761939727","15216028261411784444168994831958830734443664066057913354546359559245244924050","20503252723414965832541668822746284724979697942657467137170476075965669970069","7028702238870184282283447120220627544268950018331505390418179769944671024747","13914367585327187338201419330215996326176015243409712364994147816309186215349","11972191955486214659980933122765802430687113190375208665981572404973523390750","14164313126758634946487037847698512982901341175183925669745949763512995563823","19643507624196854874403818379994773749775871114166053756059820550045254990949","6253019705251155387518897830821875987387745060770031720935150387804561656767","12614772411624778073372124421221342091038200351899023491707175227213282820386","12799054234177807811763785306399761459507163662627299853945472202258817984059","16298413623883813223145205496435140924571599757753789623615680953320915107823","8610548149652073334956208860269106926096928271670836846827000353008597438642","9836284514785177186880347525497271134591015465315721313213772552563703130511","9784976878800158500585413974169708349867742257336666799769685612736807878718","470868555320390516869442830897247668225662850353632628471628589894687191840","17307217182098561598390477407238405653820260056045707641305128326328073989247","4674116504957384653684422429847190124325067762798863539680591567775099711828","4731805738765155173300706694658606612354279416357285157979268772012947617710","19408369527037425408359080120949793991326211819391999900817736764475384891087","18547195232973238597820755220571190923184148106985108846845816471997990813451","20764687130261902672266922992036714570336508922412884145266283492627732623055","19892377301785347591650272014822981146836631795074611861111907754644416903635","6413734757240628076834626843107147847105076965920897092716625820251267566099","20860174097442586122448303694433017965295045714190140568637973811484764859101","9976157929114087350046280965312715789783677114993652036414680945525100911346","20443284379975649347549376624760041838634895555678719470752881701519661070489","18893870838626114784034800186442840105625315290994458907142980368089948593544","11133903488642571617254269414928956946413436570602781254462926700298981057101","19260150650655385130131812830419214817760729375303617428649411135535896978281","13461732242206018780892854302161037532643049992617159415492401398338285247555","17102228736482758300705766391088892608834968842141194901502696136509842518851","12272871719359531993455999114365256014273629799700014768301209571123981371707","3594207022562239110254525411112455614396088633713917231917804057840385838433","11285761004669862352633286679979731173931391709324275439550892089674658948897","16102568806633415123079332012340754062427981513856504035688871887957095441264","19519597368641109872437527694712863032289967186787139583473763662663666076515","7850893600020675091200117628857569397261111640016750677979107965392238148005","571603306174340121900401663556670083480079944829773014219141824601049859366","13417234230361968064652407531174824869916389080577175614370178295183391972896","6339479905118967532949951465214069151191196402217454265147854834540663125252","5960266217431370639351267159124277446305252772759082083832329486288316249467","4827913422416492916492150995943144270796495141536283583210133173575222257256","505835591148323979694388175613018554712950286622892296281531129078833207836","13430162365250371418058587486919957187505271111954906160838200205517866181347","11791683213979729551370231161842890041856917089671010365556092948261209641299","13878734884084908403388117942446409924859492948402374543903835601747661416301","7914593516489852442626571171726775738811006144753811688169867990351813492226","10797302146436138655457419302923103882636832085380740614686862737265867963715","4394985227939438982168027081286727479189710464482074036154622396987481104200","17846370028727001276602920123596000650348888091372292752624526729964991577650","1399592710245988806733110276286400825565557403052909106157835149189269504885","4480510739831473990116609789595044875609739639498651344219709760264319707941","11004586942348048001456673131635437257298168527005870798189423435197580585412","17257016484028305690607802548970527681899034872857606356645268286697823560745","15880272219577681239503657424149468083362971750716603748729669119492924589385","15904554418638709990040031800946465318235842277305545433558322594469065553553","15434974732418275887764997429917488815499533240877756132902224733577879415473","21820168018779047045619488779286049910110834277003434094980989418536264599715","7749008375218427634588074063863812252051333204096406815453992945864441895362","3839511695466461913195739285494941868041132999203534272477982111080050006523","11192270025434739945085840100702117964637847488690757055208388489558083138446","7139432526479835672329459147861644569732921891281014828670035430783917357856","13194122716181797306702591509497059325803038795351433491511874742185743961578","12249486681620499703064189091192752491339675300250225642057366857872815164391","12751753758565217613271991442671268614075299410246481820732282132452214741118","14152899301351110068123785825973380466012981712532341785578761964446295185434","13188569584536274764354182121465196242988977215787135260110602036659203482271","8583058680448359031190112033511783279444748692566437598204669389441269594527","20739303906393962278673616858161941640788810322708163071371214143202505636285","1180296912375731347768428538731067445729945471280254724677426248781662325181","6017789428689615319791053684659036780814847053654130311712769439159937889609","2173620618321392312337995148079704379859037528218619197239932038613399941589","19342061241883725191788390495410721837582278801952815468188667976311290962368","11961293118976486325969636275124778155072321144934089356127319435440178254418","15003950077727351663111929517428911404929041518452601562597474042673134378445","11722551667664037124885783671627704449310149868015743702657377612966423359961","1589112258505679428520003152962075989895613700798393982576451871741579895537","10237533647542628466819493835368797714803583017400048476478599541985305410468","5633483783935945421681172594360251312787053845387155338966168908591309720937","11524348046498741796559712688153551628725965921178062387194745025875547122301","4119351785672815550070213600551390224338330329829235301635622400744195777997","8220379217788713766164367196730350016648232008308605440647920160713746282775","13638223826667319442473592100092923906983786522766094318050487349717540347281","12855479012377423286653672887817339438150952573187773204679381183748640361953","18366449890796594374544459463322936541588534912307972856193862784267127118823","14831494193189198695462931146064274924011201974477576494408974317628024686185","11093306658789847420019060296285299107442543903230107282402432370912267955583","5231748467324162438135669634394990945005973450791245562369389835255116288637","20334409444101673859585989946641575861192600463100161126574009339834336019122","10942950770398062877133838468616134250348068685639337507689939414774241938827","21031737058468102950077505705229155312762606827754507238965327181803396985398","14995690437383350976947687078631429818437217746718268679299515186473891812908","1173662311857265316234231482479000224594910385121353149729453581304925842874","16317128331316988904656774031136187679889289360179612223631661201288928381507","18022252460738403017955303125247197991330411362748880642725885324976196166640","8288649066280936236016549066415276935462595711048345269972110782845103139499","8101426167425842649552999897331966976546505505184628823541554176858292445739","19821753079400865197220037270302986474791903810187177911888698563958948917390","2784180484916863460671428583402451895733388047312540417328482549247889132480","4344349451137697568800756375175722014382670587070900626206184353193889614535","17108052563527778392492084240217991568486546407558042288984049724593379381422","7485356603493015640805315156078413547503227090809875264979461763636775540173","20116242746183168873263923842229951811573923370432089711294380935911814240419","9858039399154443683907425505646969133966670338173331647839576035520625125303","5936033307217133264257041597188115964457637953718647112906870372504454763103","10340607376355789386185133452696959378680344963374631186204861558290387937896","15143103911463403933694713744901214045515642353696764687126063928209653789192","12568011130622849006768060215361376856516151918301278020507921479894858098922","7111521666440256973246253704702100762492860379595157618666729636714922588085","7580486685427227006299614937862983316144183764347073757169003614550356572325","12502519505884004909911681176131189323239621629488138970782034914590014092043","9863581385421851101081385563919847832922036616162751380834430385700096059476","17089158809476144094792821264939338147530021791726877719480271708166652703326","7026088105062704237034940019476526637397741963002343232018356066556664336014","994845445499189024937804545514312797076696078022167307949339617575675546961","15876781382035467218016033046055811573116707790724628548144881416519229111730","14689809674274247318241891219567086413796397509459798242967892601162783903120","16802092988897859361455231737511996509109485446405679231988222489773597130923","11709594647859446002857187914237272532186051520048442968950936220950857315304","4759519183626534098537305899218615829180752782224491547499330146161396795604","12571776796240659864426729857318456609425220646299460273766246547672790642171","2769573858251324685257310553432601557929569520156842199955099014544291860073","21350702766688879701309742399569256840528276777122627878991656869575644945880","2526626063522996270964234050318417686046098564667525063669005074312714302888","18423969495073310328067310084757878116209975357377687351451039175700497833267","21531220091658777616686839660258285747325371338144374109694041768891457998130","8427394214275103558108677503145255849560869946329377312496236014365158589665","17828380319195981604154858938823367276654533109286377267191125673334432160668","19783211215983774081961805533835609388239392763346884852979216953198247940356","3727051737154131506128614318795547682671073691116653628343563309169975365047","4119083313708678127132222977172109489163864264438306707583540610970422311783","6252287104931155232025872198136217318428623125187576197254682957610815437724","16710755249167084189102639360502018827510499697025984202991420112604257385843","18110033746887190005442882808977635890410904404891461118841516946874175301218","2918227864528514910093363913084628926376993023173539111767698239437487745517","13157904629518409143900661589841979526819718227397509343138754500932973967009","15465984474345304234742186236252931608183011971272680663570940465290570424186","11878026413156941826685108652791732794881788651335612324490880949402660131765","21741112052399478281259924033664983472268352228185898315463068813827126161518","4747527944432994412143611227692094864627491876083414817086093654783041623806","10277509022239901860432140475301792168394200477149266436561100920061205891272","20754999404087624192417155025756386217241070628838846889103117636133597080130","1227483547193673052804267071643209335283088310397022289984033072158054393499","16307552232859454034882961446345138774643318545424496725987397798274178077698","11567226711210341061121984162541681925200952470462920272949521200488251321412","15424227904345959422619063085953205567698592752523587527109367016932522520639","16823401920568234413742595921287817924794689336332341371093680173736681497958","17178500371576477554985292834973399172166544093847768566487624429998590283954","1102400953040339496875839457489553861844373351305506415352858751913370587559","13080464865068812038556558702873972281884160558346383435106169788680033625409","17566439771637037764512551735908097926933863312105991588803956078424179421422","16017589041969736678541292248300058552736340849527861225476737351214952910390","17523132608433278488363705847003860425511874430394165130941513353774134550203","8092883253891793587844758644260299541045067550613025971974356731243569159353","12321254675263434305822776900976243546292614577867012315420304293383073504807","19531149435917118867843015828825849821207961709742362361864708921630704500355","15354576088842604762866949406584165222230700080158133636047990454918586008294","21332421319707262576917441034633152814114387620450650854230219273363255599523","8015272434831541996001880872358562207725683343073706305494326975486227960571","12801191151888372376060502552634956842440004908360922421581803464085063730700","8694104440224692716427888474719601394171838580385724406065092424387979527599","4765509078609181892846277022626232660521104569272055934150322254832843470212","1707661917588143644633891057877135790850785409331274025620234613394143277776","10787008015387605260759430860865388187745278282497799140302256368934199376144","18194756507120382377518900347608092311408202948025495396169941673887229961968","11810263163672173278046828506977243322053551737568215505161953008771538087012","10172831874213234727939155250453684259406380736682460492997296249444174287647","17213618752642545792657024676808752714343165784509075154710334645425090992985","9518819925372898218456223308202739688600409921430244215353056882744779318092","17131123136661624080110214353958082369854888444117983370276647495116278598167","19754012921975586054359731668325890866854753884616461552066225420294483351377","7462008052105461259399778705587223745964230591131678540554526750478109055926","5484333959594514705555581721735095833500903297285196545219921231872772537173","2557226013119092043233815190178143918872697500327638257441826698928999698503","1507054359686440154418474816353859974171432117437965276706552855449701554081","2909679213050550436618171367293366253775019191659100521218714623421006853461","10665116922568564616606427374948039957862979916786672099258153181783312457007","7437027687262241094771256075741913500475069050164092161144508657935421667697","9967053963569379718319069707565959289787419857073584408604810513462532221521","15718982984756021542737562070818004660368251058309053869841344798298950796472","8594575682392663586907570362979165880675434255219238535736457340406406145184","9849370649402433736350811470041391602601158790752692132296227692446786080869","9624482408802253671341983829498637676172459849241801149966973606965080480613","13354161934013526849172225712805307512472349171765307613219141825881166556129","7119937145734334389233313270329538489802620576999159113776679378225285195305","1344157477128478949987376865221983316869875771654805484027433189770507053978","2436371520942165567892833442377818872689562318523120379398949725464297140490","4640506731710423220152475272336202432209747972077657499961644265967270381722","8134111173406553366062271384030182464082652625519520524317327080426662707160","18835504434223507510706711065799771244448550952615072290009282262161978175311","14077721328629763505638231073434724231382773989965313645642436166756183358663","19436373778921499805072424422947303671456441758269542721598857156355476127485","12568904822717093384930952712937445754376237421200202440659283713620770814211","20314955959257660560921000685610824477917159776697875155847298772747329300768","11405801816929456032970782505841034689257844102373121701727764117532089184356","15371647220804665136508666928297419442325993974748904907636841654537146688325","1655879953669995298671229751452904731600368401825229264959225234155007235923","13666140938671349359494215404645073043195359971495797664882691221640390995273","12550904050297885561370934024413826444188941904477880730238385153385367165600","14073644402192665599906362483011583221003958995020521977339575317519946136820","16127269466493498734385715523881795251511197745525351003593964386278292404389","14837032480553715504482333167436817124130071726116661830299825705998767715604","3157996448090083717095242716808677272509143175022438801158190773708431950360","9715473676333570416382435678725993563514140964778059556896984581776706520887","256184547541958273285404071642922907436096112735647965196154201025022277333","5146840525622632106780932715431071405921695127146286279740961056077516621929","18384530045422033192575749482772861619638670180561846412064951946020645182188","11372273308168053261873108888838115723774928158127953375858579798875763228181","833683215294780236385091047137868434268111079744466678646701850123603485156","7089521065433622137186726201244536967699813557477580528539264131550132846173","18389315271722108026135864703744658330872185858220834005947924896718372293177","5273779548466102910604406559710961194676307482240757707576993583088923382766","10978849613552770174834059773211945346561256353926504281930385060310161512588","2025512406735026708082790073002703032266582308582294674172511260928159182091","4504468100864789788585048558923081175827147016553914221993821395902410226580","14522713701686086398049669439257754726056815369755592306901430082418783986888","1172467899506707275500621151748833545282318904665709759177855581577968013027","4017285937828459403753883561608416496086703957918951620827271391321529059987","11864471167080016922573162728545364451553961508840493342354739707638549565971","15395434394935126648016086405692837721115704686064641372105542066627038311542","4122633947230663267544557410467288252271224090277013257161493137456223809532","12367035182954332461724293253434245043112564579380915260333747415793763231827","11865369149265328070561952780930053440760117444614610585601990621600973752433","21203992229059334721432650225967073448947553069874953360114881444016046128212","4447062027498500706657516396155423649120105266695738260082288656873877775154","9768914556161785389033236087454305484803915332998751645480448064781057341482","20108322604990560980160877548004215957204376010054104051873159423654202752320","9595509101896597349796523888856236119720835531243000900720041097386819336414","14587725319883470075206520097311394112137459424358160384009848233555406814065","5457101278978742540891941392855879387574924402835776693411461549501000663895","12113841369063820983468698918538182086204397742190461968800698674517428421051","16068938140317889943118931947504964857830114253819180369876235993296869951694","13406404344690547712656422177528636282657567373508751252664435506615272243163","11920541176421075939593055125523895823398130674849391046727892158235384625698","18352551139579012013897403430987382961093216812627912973277904518956583676698","10674676651948544879371283545502930890187181335773388262215810803244237530411","17792652617465281251634086173304934915478757132116004782258567349353652661413","14095161285749055405609690234399476131633768997386366652456808192371657539278","14644418417880601716605432589809764539302677626964586647781758014634427301961","12682826801878685279471965670138908278972084615404951130397921689553252275917","16521811006308378802185018489472310864659177006048843323237150403797976462809","7587334525407307163363028377898856862752809539521418102406305044826227081231","2908188489370783835450675853612280861255988950722158120607386028475371765438","5768335837479629879988785208318290476463727379450480334123633739596865462597","18397687037462833823572912519678833347435022340840883701032875748539812458303","2064051903495281633275569322215038029852745445612015454511944780242997049313","20703062910303292827787302109557408114919292642975918255062370581536946280279","5192613644883731002587556312741958983910430944297172298315082126198947618654","313995112743011376940466097068957324809905301874096868794869587134429900695","6100583804412559896713857626556992976882930387670359810813986481223803866656","7568477784584193520555596651137331005687926377144262826447525559308115017859","11965816735476149301106556132754318298248490433423691841191513590415182681067","14207753099541107589311100328670316235529404246579031740240567057338780037783","8175181231439895653513458924728919160206799108112661960299471181538010485894","591574950925877159318533535833931322303268506486282492008424162963779338055","6291500295969425140209019573620316970493238770424073159034492473203273747991","21323803361917137983608045653271447127437985941865950514234012867420827584203","3099253561554789805581090448570743201416121773155589506816603655098155495780","1839714309313076287091568541152080485292267125822172679972972462776530418282","2558200175908531709047812372022758109817946983415270005672004724309427120260","19741248350058279216600684476328478604110692693351318658499898211265333707610","20513396347684804966709449761679280054940274793206626286808671260812749605107","21199395741845301585097008478390085111700771593140616012257190707415683678475","1193295440609646713499404272654104228852330502286294623055524015452275511910","20305220021223370039849959575983199996369990375922681857965899850450967281896","17820107252376141054638728180510570702321859107787033667301953883945482820393","8562102223756709272478881672945718062091524608141507453584726675060317232047","12729866889854088213825002226835767386413454298567413984333803695815667483218","2114069176086645971772669409791461648578645286643393688006056656185576536095","10328720387192484120632500167812311141771979930211632623234748092781923576473","19538747176808583509408758149278829047639151822592778264069763723986282915906","21566485228448007978934061238916445477820075682293291063348941039309377547117","16512874118663027529632973954247179090732712450359926425594828287754653354014","19513474361159315670934532641131225842686472304714306461918568972038209446632","17955660451558996091453589881731410953454580996956628370387347653903874484464","20207812711298497695792679093438648102083829229107494830848501937376854876915","2421660685500283805427163525391537853360580630525738399011621278281378880490","21220637208096207115274223617089911838806190587185640536543744119096826805827","11835649411559295031133501496374511598555615522238237687109557873710817042117","21845843315206305464060299008256175893069927481104540219951750648498803200926","20631059480895873966832525659452814534529673650140538889746811436460301724612","14931947145214186450366175386309608636198382084457683854282076180248650112954","11269118025480001613427470548591071135727829235390508347983385837123112634632","1605115028499197336856195103688387642848510242987640636183693756727845197451","14793151932068045192821467479293563014237700538215102580962654003247886510086","4775792479749631121184048728741675916968972636777338242957201950342436979106","11924757182338412396519976020707321303982941838080766083060365440475015697923","8793012126741532580270517228948233516584291822980201382325016017213162919448","12947791384548987120483288495488647496188362270092208812080516723498086541311","12431577747633669956276147567242529475925082219146607091004191516701144136626","21295609310519517439106939049470380075664847294017743131672693330232031255386","17805136075624551692961527907699002356636158441633111730604045300707846396897","15278588475566957386556949449930796412080383857587931690843946622004601690164","15086592550570758313718621320890905171205067149643603272496296451366320734641","8699916934544892971206820107825237806538121069002198874248662615835467665756","20478102917550226644126628799218539559581625330717095591690828406489686677387","21734112019017835960392215716550916739517609682150258078062175843229766012777","5622924154085488629989980934517712826380247658471643194906695701678873126248","5037675567259013572001419121301772828485815086531243296178132779054418101400","7879292516618887859296404288004569598567284522338026817864475104197386629625","18997982317212461405999296872279110480053417447725407290297221773473330565737","12867218521408319698642020263791067688553778005223894447782779145063273233968","391334649391830733165647799040269744369307545998620269291478209889127672130","19779172617188671507005003625727124894180457774396709811826326667504496286059","12596925142329235973535723979633472987429833026727663225071980844189781139909","5235665914291793592826849798922237619782905021482837663102032574231117695660","10378176145885707882180864408618732566825397818692038984901565060499728433797","5518777162814311292774945630117311095162296059457944243049863006066284885289","6383788836915296003887453192037395923957940433745589146468108910773431172608","18378980065351051303468356542903949047413878986601754325664070607662174625406","802964496357962027925228076554616050639951769911983531162733260026242452057","1151228765048898930945562930707044057686831938340081500592865256952516058143","1057436684897434830336559210204558056100073281195987707544574829513988277752","8304361322956656858271430255521912446914654094029272611293726480015886358258","18082138547469240768624686868284933205246517716350185535250166506919729036297","18560642658541340224573113670515696181164007817863242462644028839037653788889","21433948922232169473983994578762336789729720241688838555383992306060546089653","4345962888225785406562575377774464692418146638460124795786215785539658204204","18491683482553522621865105209782725705891560836095563832524693063541469370996","1595153957006911891245805177782994356237108154065736758857668165866836749177","12745465492150069776755940532782158049428554675034493241223264612067325589020","21068300037504263522637352854045908904548431623139252516417402783919558466524","21379848283598466733133277088729802150576242926281401193376016094883753111574","9100400045517145192842796463728001529189981626709973391364198878834790401311","761526173875414323215606081295741956635544790572881984169167052547500162094","4523944348324037435946042315903741390453752174721180782503374766412842506857","12826905798159813196098719614569295407483904515869413174592666343625127014683","21298301889175245346300576454864405649687317534182187998123555815790664451812","10466120407875459863164008656471249355019715662927569351006572823820953788770","18765634104736621669847916286108860226531877076283270686539673115026794951054","18029301674050837995501532337862434439785535856508206309403192619917393036618","8656248943628007700842555256812779240721861558942157285882333517421090859241","909124445964415430289446157964020522347064797918541903582383763270622833065","20322508313744566548149933895745626560811233314858699012656697985674387463552","11473133631180469596497273861714489893486108521245550300092095833600832127254","13886897454587288170317041019583091209557063660075562594238782502591880617730","1388351321374629053594529120028798986653727606192516406127733531956260217411","10820498967321126905058350631999655366739224197864958698259285565142810221774","9047437255774003551209946810681504440615180683867384529725252909718397576529","17682412621232111800652746737073732995871115754692913515596320621857114840713","17459249118412305865677329263167949944924745890546683445077681421571205578033","11260954622870514070117395143161679907416702369566601131920841166642078224652","21311356397831915997286783986273772284683252550215836267508561431199821451048","11763136682097804856942897773203126982150872911828688544623632129427460812219","21842630190420364126017236966197050216368815810409077092920252710858332802605","10278342550043948522301945276707570006673669578955262430508437722137975686347","13669836394181980472800926591849938243993826306313038236968977604089281032142","18982534836139734957526305655442344936227781958587358112416788951995174742854","924143300713476371714205215173483600456664902950245170837265326237374786123","648653927285053636997438895046220979749796246169864485502279639829145629278","5468004955461336959690612122600291068806333434489556112046051739596943193825","8198966717021290997043372415176306737647953294267526104476290516107668308327","6330635298670709263682446486509049538654774571294109306447884201740681314492","15801944407747674095773310676934626868427752390875620230089308747846331256404","3507827835726968508794483439124475369701726928422484362860421123326683863238","19859419638162971296535544182202685481010250129955481751622623103942606817204","2670989291504532792325900963509629466753053370545313281400138104314529277740","20601648770014328601409368128706235447141623327602444994362138629813091391329","9020250281221486894014346959707974240825231024554709686306581193571046947004","19448071090920013487075559489904268747031170350571103602007176116016451645384","9855626424064670213123764401317371994977710260418114099460019043585303617049","273960241475408299521801713993986326049831910833352543450619250235219034159","15178055939386630045266985854218396695095661921662396071305063121158729338683","16418360709708558514136044760916389529230612136576500765316577679946210432608","4221665154001721396448157482529680285294859819946962645592731760300169936774","15928426927240248300966353802918564700528184618416199798406399357144022404431","16641721098080574825584685806515290482647504340255838968877260490026580761685","5043328033043791709396469989853970276607353659738086803538716424273826786751","2365847136059064646235805353745790884320090296651246286300639444304747972170","4041703631909032338305847932603086185355677713004583954544688331535508848539","18955336159113062251133387111166001228674233452447804151061756635904896062707","9901364682511638439145386800139126568286116168499773668656609155268493975894","11850476168601990118767540453922551640834371441287882635558900147928082262216","19666073063311412123076338432054405543371752075085984197756557731016518270387"],["6147626315983398599623828701433547333453673391438677577603594265593492970579","17373941468853383126219105459190068607050821581808945666945628085762579781113","18675852993023932535703943048744467387004823435670327290887021721028261389122","2852369548793040881968762533784361230628321032910817596034076837353628838943","5808467217603839720723505746949026082419372220269554685256079561191978282423","881630969072083868970336367377553654445065403827225682564307597561668597575","19544569990585406772407871178492435999506060638507114401323899877313464549579","14878267709748128552530883948142489440260354911618515434884876633626486579649","17343819805602859300805807767921021643427945275478160475923718327955601493598","3147144316923493090898234228150076463075245015934615180699926751367408060422","20836727665349317544574927486063082355196001294246787527562129483352381083452","96317145595907405996130011904544599751055402678957605793377422485629255379","20396399042769838623280415410496555539316767877730329966640626730926403538050","16544170913650251958438511948437422304220931730646181712426172729311415616383","6584506727240961509162532209184300869090704109605569344599278616387977422824","19590566998868166131570194251669644997762427398843457301697274732261028743482","5370939348013017640853545726351872135226117514092676042183078550348501472430","3811261164977684952917850156691783437850828453502434535632153500394919711066","2749726461932787493809872269818342486261987625587896664994441378571818459053","11383915573983550688310113375653707661251254539665869167504588473259548645124","9916838988690774667483310481489200062268225403498599116738660259134492019394","19136188641055168463315034876725446731284472265583750601248498822680260653971","15887516977805743066217960044189842288305843582510102551810703206237207936575","17786336987824848955338515695131540821733411380051551383014609903313869530398","21005051851388306179077283769904047735509863101513109127654074489561708676041","16280781107126745125834716140922874326275066681906520932680370323147962007407","18273950651435988187072089200354144803354368518942337504978631619058165888339","18614652687185018380961130295677654222896772969195870105326190888698032468947","4648922361007933120465784894534004676668545278891300743738784783083164272952","11310213903650223937806708987912823331078563035902775716617057417534768150412","7092536296444781034677326999670539648216791129534729748520186653858607985630","16270772820615792622649247387660453356874032254909236504742474628472692028293","385367092325849782070593441039432083386681944665738979932466043995962540397","17805827342754632514390359424735316390746977081512834158806889154912559417928","20024907198154552436345245141243452270494636033297743549316539293869591409833","9234215646545489320069965310786583269490329356796444977441184167452078293345","17108590030314435824853432467901019859333457116609928515585181187173490423143","15910315900966077593714516016038233988218165769429475135456816210775619893043","6195529693120591346695405780440805718170994701745792651233817614742815203519","4245441012583870678188242646630412070966678757506494973612671283946354025495","2304903496039614013605109532969224328136162284873560250803845559468196156250","11693016457541736187220331042599070447664888658389150771534133194896638661901","1776517450185237199728116828598779967801038886584334689860313819128919908981","7806153986794341965459846938333081037827814782827885300996474222107928077822","17940588722606126928451685498548023407258873216558463377906081460549591575057","10371799193925909119136931769852410380947084603350351962123549948328327267702","20122148120685258769574029387408965700271219988052875651388434729616831444683","15035551217063457270042973549639483148607470023686796059163084647483242309786","16489878967514620362925449612730416514860426946012382948452004149598402083056","14240790414988975854386511568244923807338302009634523655466832132581555975516","15133406953007414531549110172748354779664260706851670137432180705639417343549","10690705590498820694610024170434557617847607229814360354839513194179728718523","13827979863066172786489124156769882364122124730007514470708895273478430314352","10710843232017112245199417697882565131311711949064640083364964016238583286376","16219821984152229456789841617124740176636143790533787306195214918183002289404","4443945405253668151711239889811682417722099787812699348882165569376836194505","13374936606384334329293205906352917858363668730599007422148591620583177873052","3130547537528629940846669185730749089538439536961954499553850136295109479545","4303969243784057034508123321715648667535372719281283244828773166674886261201","5989216789074209153873415762140487008397424300536017420337913939751018987680","3029463357835799909868216943346697078874683636588794683737453399576373478011","10476618143678752746465404417470443166809882491668311058666046570010751632186","9994925982779240617159890198100947662001398642389912929229658664058421436627","10176970544481288451346462511134758722164701220782536015402174118877826889800","18424158448523814893964414770095134832293892346615425373638250882224929431363","19366956079105748480886421061443145211970920795004384777659195934741753207944","11091181874846694774338090174372100116252530248564050096856395252568163657858","17353128656714558089667149499397061301594727975663152036301560017860428071020","13238006665653699249266914212871756817371819001645951476708047899463834219655","17055039311662343661955654211226746040465401123503635116898702099310815674177","5286666690003794895264449438418387547354350464287559511315554292024950176939","21392902555527188320634786446573898587249542929111262797890644582493861156962","12406681026512063332827308700529401005255127889048956231922878327520360845401","15434870710485794945517495742061260302820776556272580983813299352075013239869","4411491701113234064838089923553395617470727028121925035608993460932615875057","21024748108044825160048785654599582463761474190244764788874831807499478838044","7680978131380729207527636139131932637240489018432030824029067562073349627035","3408321867876643922057696479500927118853015770099176846426613051383968395111","4044017192507961081067569272422827731313648032811501750491406776829097444161","18331703123531329496821809270389173567173788148638525857133489033465163738374","8581985490532916637196455609081483082508040719164880448426655573293277467062","17097175177088407223987763609523437237317521418906500697394784959942004837183","17283357547543881822643982373752501634581207450744975027579424701697125768519","3114289317415665754315257515672327794564766886045727889771094589828045932059","4121982161232138234296918278643894219608247208937391244623132656218561035287","18319708437247829803403759962528832876979834741757230504257542910042917362674","264107059990458404050537285229935399100000658138987761233089330774579905414","19245962424630901799103732912445198554851301611802664729994835041984045352647","21481268955474162972538912477676302548213221412224453884623843567742457980931","13054652880944215100409957427046741206809909544801248923065995115092723867125","17445423482926512875731005227671884579111686501047535297579963992185600838705","13989585853109988062633188826244755875692853006739238542727480592170337647991","17644249062718367051707138555752661559694857297122633537358146305277959197700","11213280149118368264941616591024002649789370846345639214204202104395949573001","2479430738743447865220578715093732023607362497809812709721841147273010985071","19170346831324042064260292435651736023454774283928671114965428783767444651501","2249773762348190221814627264878686106981051077241650380763848925904895399587","15785155470883637875946431544967116475458109417323663711972510236612352559606","946428851254816645126686470157531364802207503637938152327774118754374664228","18081301874601965299421330559019912584730626502654796906499991148349725577704","13638831153633382373670579690567703064487867416124713117627597359296662910776","15731178958324434544665473314389188985713105014648908423598119023855377917080","9917979824441332180713189841520827682801122499780827932105321535841262104099","4477218349911392146745102565364781587379138332203307397011323331851070628289","4196116502992100152382226026767611298689212092096205622483116328361954387479","4125553640263062687363595819368491141976517437635820252286742313008508733408","1260916008238883369640783899703958869740490511938805562587993523697780059646","12030453507844788085837941465326991051577705323179782129621819752109773617130","1616729892142733988881271632334115354383082667129246299673207948969677972419","17790116243542925627055862896879089936668179540204703569058484177080937502249","4916826165840990844304507037890792549751849160422839689006410477257882391042","11584213073802412059271369957747279514114648193038035041611261743642554198283","16719835981206947895865946283283198567714807826433642746085372541538665338476","6699399511839905674805128446395397180664778802443708408977716737554091911123","21780850712707430600781028241084903375323034847472170705641134914367959985053","19650714630255045094059400839309517919992981015448837327702161504806266186096","17728935862560672332557173079197586635912056977568426093575277173589712551874","18218981656817542290354649557423542606221103516149396438505913482628491393745","16173320918545320350179263895050487620415753262311467001135680573821491660778","18749132839734280672991763462021231851140006460544549438336391357928762150912","19804729718734886506325561935920047752142654855830698311803656972478290268053","19852022811935550911202582188078555585552613695164681730307677046973334627440","1599238738915787308523391744992048319751794205228407988676015490331611074242","2730284211443506246137882698953449192620036180418562865041025043475273902148","16642697364423389759779785009909902509686802244536597340124664260693547218575","7030277536951152393489269782340459687632322761209815510891507421842401544976","2645282365316576153620189595563363498245471716604607785997545100954415436532","11836599958145463724978298325224948617075734206019980907941992318726742885090","9379836389594058052193342143605994573576860036693790984289698770005233003816","4936097975532856331587608856145453431462626157074390483327785374648647979182","14261272621177565679908729509467309781957277604700789847167775203637724156588","14384042993612223493091843709687195745753711205656098174358380328322622785674","7602522474780883033451932042024754309460846024406091409064496525413778743895","19284327179747355275744653991040577201544689654594363414180160712801683063400","8732420760226712172720096817390921487059254890223844820526135811172306039693","8736871804423236893739486045277613796724214967823222024310614732306446417478","10122727759967140400011531456417357002819799283827520027869345304850304243508","19600428976911158591758195579983230165311737010182255016349431988452518779459","21412640599888310728963227806182550957212529173812561818872357742782768708282","3382834884251505446697465695665888436600985771748054896175510070178943176799","5424268238511504833112942792546766462909191487396278645494904715254618246619","4984721874344265817742647345247970905833992888391940986059043485748528986042","2022573256442159494507968677656879636847262260354573370537255737091303819556","11258631584671172573229663590119520723468593511856614616016550772001845679866","14324740608597503028071282210876807343017578554502044501781245297161562860956","7445577371344670075033666971816988473049110374105172758569837792031494150228","13265606669106939823865364576315756612847139875689786156097851279279751433679","15238598484646922414421482495816633433705816808586791968083189157308379106115","10725523252426841374788275651734494325010706400301821980153464968050696737279","2633265364932628352793223988839752923311811166605503408947317749518744833456","7861175100418742846275793570757956123670007434573183352685296812332256704932","20999935414216903738941146789202104744586510072221252339001858617626303789982","5977614056432951814585414112421531222403223146602229861429936680581955055431","5931860876714797492092042112133640002267237452913723501691750002357001804830","14562008797185891958620443495496757871981918350581241703926621633158489195321","3505336021898609386263210131367635622704109853221241394942451388531030669769","16578235706824809523014538640948495588856893463000137040801413215727773380083","19375742803446681387195879499847072356772969941415230923234757010947456367191","6255367488637769736903949293980465723272271368601658401735079096147956784460","5906589694839922614995302078445158282424694339180630855015083500482196538868","13065708825279387211110931433757563977807644647530652721233367802469448976082","18232288076160370323511493082329108072058465477630759182903324408872159664436","9270542950868120082380674008791159538242222696005636916635750372888607203828","19388836984681019018462719709134421248793536992065958947499056787254258751682","17644385837318767408448645196495912141788591335975890639327420146901601072885","6455842021230030087723301679631006132297894313543816349547744163571857006938","12651647178446817886752319997848206955275956948340732199496215365053869535220","2038361690839579121638674254611449047008451768255542263231913955112979412052","14552505619309469592330707557293319610565413217299690813565239349254723939882","21809351305961289002997783583503461155560460938189863591461820286363980258154","19881244303935038444446962795728167560499810309912834473138514895445137175717","6434629727222395907353855634693221759145469065378967099211977918254204835433","11036466183244547002625933810655331358597012489081560653011525594219740881518","8696860013373675168559529464941134452066614743853560004905114221628099326183","6286610834190704195966860183541611347543876431770635371755207708407012119352","13785489482270739528894668899177561091226326813787695987264179185340645885448","8810497353129284320787428455370522511595657262006456870793996863971532676464","5950943845893271397160198360810800783099372758072046372020789345881371710825","5530915356962172707660737783638532094011201648224151382306028119770642279776","11091512250862371871604003187867080726528592592629078709401778342108977650047","15783644080397148510988340229704570796603281391084254749002543719002855287616","8763200105989369123326685776257599315907057694736599355967140415031996938110","16265670810206356417408073001772331032782360202117620221162260100178521648170","1060900582879546587300450314779603179547289174918628695451776494250751383469","14744516682282904590256322734403856848450648676567397632124016636373922693953","7963533020284370085512706609272793180113190314656815518091154379468342864360","21847103720496839760484939812661124697765074217247378137013246709106995512794","1653069435316409742759195996639155716495640457841657992745920070999323194315","1779277606640375903995595532406543892084224209567520378547237815999026067520","6995080044923736291442893376098805495068105284761180709673883412002971316831","10811321648124662138091377293526509914253637698173706332138689100382399963395","9601406465257748919110853775299124310985215012739412476110920449990474867354","18028141367193319054744440498619071967828221741281699864949191934036691507436","4607466430137542836150125749612147456128085309366797118935148996775246273855","15800640783457285335285505218287458944442721123666981076610926748598613636214","2112321293659869964303812620622373297871082794056351093537916002098854382120","14996631991733135844452595251336653836804943981827712201258451368176439511645","17520271953040754474711528844729345396665279637573303317828245745304573322797","15992472430004058554983936761614313471735664568983200231292353554082612221","13077407987480601704167238541689096961866209332906459397795676348552772889230","21534253000075971492923776155947583634689953016934976887823337792522221291547","819226293199784195154719767176522957736326171336737610132796013897711980028","17185725409385154522175797801720017361441550294043891637734656472407970636529","9575382583490973064980234314462577435416346301295239026337973844317720284455","21099851176254120774822574655588411581847669663738341957209759249291625898415","1966484535215911127324696991190082306993935247312211830919486710094847788468","1995818881696667008089141246304344453132036271634824321961354608938484533959","4667743157901207120637051668285562840191620616648732757926088699083644960980","13962937901967387497010877515712463400252815508150832310185443339350530772930","2629021746995755463136649506818480652912581474323117052162602164762321198516","20573270882617293078262572083653232250462469010594696343790004182829624161934","1913490321993231846954575139695345554332784169136285969356154414660735431290","13795292839631007915139444096743217376580091875142459105510805605582305270567","4058572558281095474323972096333621226798264350365788595026405775805372802770","17437029543151462415223319777679469646123927413521446735086712751233557753685","10258511040614960594008243736815460042536086782694789106787660436697233524699","1776622678963964166858973922665602162169906575558986124356721214967791324096","11475130909983164952012365599635166276537668089861700179995433713710298426958","2952755446410776844254499627216453159408235799061277085887851310752744265074","6624935776718778024845266788797012050011811870823913061539098756037591400653","19954266552453778490807092047530964172323837367905505645486543751921896349997","17616005977353868961299963148697997608390148348790301665790470529963563572688","900786527730568780236819563509871137970324714801299371788326143178262067587","6401534704731549429505440687499634640537230220192633410570095781266996282430","6061080980122679361349022326493404370004932185085913345491175616560373782007","7821303221606910583799348076769938669870582936408682873657894881791938775585"],["3543030996690731296144302074945644993940503512381940281158340485163553427782","14456582958634399729802605390122513015002601504508513170013909507149932778448","3126860645246915297044088167326588591680242124427769024481453610883810108674","20914220112711669635932871895638920862036110651562335932445860492773410166435","13898153337128326598294681972575411161373345548074764167063930702810085143283","11494816488079691563548948406211866308670367580609805045470273810278613528125","9265075386546133998992345241270235168672960377452999502776312567277548502287","20021949048926785450343828102540178861758398598932480397004304243016805279702","17919773090671305519402481279400246318283722142600928508878399512593964809604","9080338876332324361560940283287671152943529212088083669332838878892426421176","6966820873041565099335541093832581518388062131217364208125082807748337444442","4754959170441683519515036606259037626662671578099964081061043425010850133820","3217229650060400896792673270994784175046872440086333007152127029946297106503","21816481050785200027931285072395469615096302360347994694687269782499273734112","12807928427670068278917234235986720684636259679372568354055432889409054949297","13826913883258807838903404263173315859327388859817776690782622774806719577704","14715508594618229304924912287879458078786871554183488309385936868120900302162","4765885366156640574773808467306355912882165708339460440950145437341404320482","16722014012556015216650093088291583395944348552124898992216581531958560404280","7431786809665367144168808343099306354449102161270140701698145535166533004774","12514561575784459520302508925923482055587171874031496440739369331861774361144","13630926037601951290173737881839381432349720276436508871257961452732302249954","2416414043521570830938077478600484585162353864423849325238559208774076695812","3198391645352142061735535711335633217975113436438561010475922095171958777605","11503289488153380408852849064024910165225110948930885911379465054522594126035","17945548492985099414247885601087617115151464172983108926121249791371051519441","15206458584403956760846691261964236163202625304606621285728526159502456182565","18664803356744505916174195454562184678127127391413155379212300226736271965412","1932464282660454008791502282337362663506272754054933505791400845588414354525","7431131941001012844762212013511267729079957740244748755865134237672902463955","12260867654103631227135400757666859922137135589157019044994170609009605682612","3497692461171356958628408153056941313451942465631342687440123894946322982488","3611582236581069332046877419478476119433460345326857976137560691859450607136","16701563436812072022168694511067148429443045594144653838644405459857156283101","888833699088042159861509113185468788045755593715062347382548583028812466468","13027606106406728601332828518562058143615794059325398484231721019790789708383","16867560818956321945646006921505320613308271522776810400640826749438161909114","974286375063546693308153673073274687620807584704373288927095698770718355705","17164647015779775003667370039927920124381231953899936293739647389770842412636","13812735556582478046467982121127334513466404260587580530663067858201550350225","5555318749169933689829489127869820565736743958465695916577439219460828287201","15147736958519110413798327221058929792029254870817672304916259386717996218939","9093783603898735286753718269047404518944180735024302663202149030626421747264","19663528847623587912647904265815395529695410641548007238438947661221514322542","16050486874392688445392573281672864106952702475626854763551538209147588502217","13643154410219745091259394207881994403403664040943113504535042199360092675026","9994393341493081364074783836589113425357957616742680978059011711076524628096","6066727222812778846340829491283999369997291912496005263368499243410295288304","10275229946760815401870389679607490963497978883421730792100185293724085428674","21497546743120095993008732541489604895508606688714374565152084984414487943856","5410109209131659429652823371440397074564204322815773631417855000087652072422","4656718504694933743607748372708327104619579523407806362780445055109254730221","1535539668205688554612129122232712967981273484635206844376645263794510776905","6014624793218490271238764434773189318958730916196905789497853281972696671247","11664508187375558355195352743803150107793615135540732262825506318914225480618","6116179866134076212901873972162049629714787777774217125320617831147732712881","7156436421089505705028328573278072913507065296883146744244791316222380266201","12054467471426975647973340270599475277601084936967912793090659824480359129081","17043004725271027910538237148402068222835120116965638237871055913672994258597","16220455773823909794014715905765711732985616219607584706690711330413977988212","15859369801752308916251957941263160908672747781155852511743194995283478080957","479331876385459584849230762033048956240784621757125043523833547932336732021","17371898586803558805199285151576387708548132346602797103748639637481352576986","1669923098731048999410343513821846398616602374717981505074961546289337325891","5901847159215544530876581081126932589094431032258157198770582781864841878766","18964305080922802950293327616531540488576734432289534207487783803133028591534","21391565661610588080023857012644286006317523285224244461722350412865334901788","13859979526703965599946512832991648449058108364323767375822622250546827051763","14178842945330354151475041451258011251506932092165564803585149961516102229203","9732424347816228834779162921453357383035314691484039491038526173776392679930","2916484128690250908814196431868649363158004790333481812642864057335419267559","7496978836980754621750472326738269854937130487021159668865319635184235054270","15732272029544135687655369960610276709515477689734952583097488077854605780691","7867892378505499328367956370534010327619068595759860677931756173774607866661","2645389195137857175751801166613941761522924817957359363234922821861168369453","5428648673026825822348517069964588690890711938310863981949251926666891252998","5673097051473314160057127163079470500502486665904121175631085109229208920764","12213227243584803853178095425113463791275833583767127368163587230364245722339","18715899303501270934030638370927875241328470260353347061222955717933916891297","7978266080893459514342371863321441749862125749732741901595103595919695778835","11533864861650024617087550487008450420153395602349453386165533302160941562372","18450601439501348601530433257154147113861051704608419841682905432642513197835","9138792247850488245323412019837764753108822692897704202690513828206269873276","8780651517909025350948438820147097471614889914797642770395848326995230079810","16579891454742806064187509751513819282821430255175477305656819644332932757991","20749300053175474642021908869135322928369734326957417903553033361402813233282","14678025512968401250174091062539364192699965591711957564050835184613969981470","14500401299150087749352814234198057059984606531881272078945247743949487640486","5724620856479473091459642481591597298179650010639060800177645976144733457925","19112197370309313151147636092745145521877228675251700148292900136536916932170","13357726589469288818869234910529301323312513752019046957819344054565360588780","13374527560449258023689134260026613122339366365792290373325534211336697566956","4598648858165437260062263715423329175562992143452805065351481409276538133334","11350678282945894657287678422643168089297300739501707849993226500027831816754","3542838338928314843109276018513499150692851830271985332322006221768875867536","6915887598932201892744110121624584826388348577566708154030055143862948900209","3341372370459299156322218222512239866891612731698279185818379265788352168797","5465946929360194216023533683821008640072612018293683841488258245599905867230","12877035916601231664263696261369822574055329194451355438105731392920430333083","7152734772764736233496355792907418897029921786094807846499854978916041968421","3637783930300588858775792406146355117532464453208333425534311131944943620570","10014356913431431526174931647710822588072509765911348937997695830388503275168","1363032458635298325605180167581231122362341661979419469148204786413525015450","14749299418008156951304417344478297351805724111421271311859650072310778072387","17861121930186335338650720704614114161379448007421588691026444381264236189922","13982875176693656046913549248129840458651715264391216676392378240291122094805","17013986540180225001522806840753604869987807622757849834876725452904460718718","2388488441230564305487777723403725189663618052806260479803532470400273033483","13894658705595595767938737767669216953233363697170846839350285544511007008320","14405479371656690634733468702992982854989857716365066876824883028890686397274","5463406390085573883494999080478626961053571243436142083968477629350392248406","21534264698621976459797752593999005975042601484874798974898661774235315370253","6870335232316210566415585132486779489589002091153975018152536087664143524756"],["4674163295886668713721676554153485700383365415679648095685497378991889125957","20352935218386204728405947862710237635292695166913064017138871016474654829503","2592327317691286673995570769733690864734110983311652649344857955817901667605","16569965928578428536982359762305442141555631314673045263042967399169881481663","19131088716759828804870846683575351419567519624591961034686838811980854480317","9445249257154711404997904018575649485936923216724833070474435497562129184354","10263849450559453197266643809044161235269801564997177723771131710603406794657","3056222600207721353960552490330912452663290310028010792283928265227487578173","21790657388633280199755703552074152351760568814499175261713202273123354393653","15632854714111805599199016548148074406028161048345800202040891852724322865404","21055196030884358213128268053901624878656900226499964686210806947320487929084","20870802314656988415071187255580018825359148840256346431540367835816283233663","15616534517743330594960982114818869275309504871292088154595951649532209497803","5784776489399338538186111556208328817680916221272560662302058618935625424664","11524199340075899550845010989583353304937552835400935278913693430093835145958","6111955760150452509644281780032815573756917600365327410927439475076299492518","21618401442204665104986329854020260011488532608326424508093871089299201575674","9730498374695391045394700114591114475449040690008311140197590770638012506878","12450960556188662662174828467496697802873664968238345232698790724056489477852","19541588514194638760835578386391719199522674962225668709200961614811726952776","19932293326229311363288454122969308710212293893428838866879338848665668402397","604198849257174504677551552215661304343812986564057281411653401089383990287","4837206815765999838881694117090048237839208060322594233335602777738216787530","18830045323524997434973757449753199597597645181672539201484808179922595941767","597272048657162684432562166735615322949355566201513589220267457713801638231","1259257565303313693691585589383644773076852691198301937638112297241050998906","4299692760889064110427645653486657433003877634188292107545657115443318790741","18761514049733775183377076664698188376895721558935093039415023511830645880571","6365188664980535830887561182548117129128384651566127038255166094869781288138","10908245784622543297925944831880222108262707146660606570412640969461860215559","2993018118327211849601365308091689105225779815146751382435760912693815943525","17866549521241267273147593454540911294575012954137157106386791620196686306843","7588028284719211287685446874927984833830446870565937360743716093239510828705","2090750922500787060241285930607243134795297756000749701326291975063085030442","9457072070171052855412092923825503562704627349932867548368158306053472163269","21350677681867862863958401218481076613811347308327323704598795557647506601048","20770451808866000075425992751709612657492582152945338552610276408968142282748","2745159125861577162208805239818265210821612624943688815260513025855030451876","4978242409993988630548589666160972377966237165841561311622261456963266093585","8957122665158680185632585169710175898594503225351167444908975902379752039529","19785721977895675912077792966249940018620743361119818565517998582038530845572","11861870201391731884519245957624651537058767900307989639229586431063741762358","17255005338003805991070153748300808006158858491831332904540491356269058934807","20968613871554279013641220706303052278063770382104154194145614761598803229320","17088772914095596168232405755085581150280602134464528873794740219829997655905","17762875723381349883234521669486732244273741572046761163213388126273123976716","15757253055041927933508930441807290266967740722748969628910267606081057123247","9296526004150722607881458789952527402293389026976957647013649334875654666846","3258056648875256712165532481568505756954239103970575560653877933695716301019","10077274438511253450890613064192766199813655931242373841397350705759494726833","2485034538638996467225599076052442891342629898657527900536984935467064278829","20576592492040545165717975426556128169364393232969413514916564746364553078536","4404702101406694105795814505550144493036964326057335262710910677583726782302","4390438145706544373827946112868446908872103380251483996161316711096059314249","9320005299875600545246395152752248247569867819827474604280747799854851456406","15328920202400920589852925898624698939637026854484346389158880426029840472715","8400918283374117439272055433989009690670103147464016605895892720390834205756"],["9752260370971488270527045586368300736990068930727356612443733058936980331181","17861152003533815607258975980932083069070125130602569693881058150421024162425","5478494136231859826920266196710092163036570975555566533890278380032436251008","10470663114025860164205954011633511602249334550961664618144343510421485102643","8584166711424171940897653413099916249371028337527773813210106792825433993045","480687478798944972518402568634409857315487979030618520260560257514160422118","19050370281780858565019483243537472514353065987940901395981643695477442070526","7909886408711298712459179052698439249376302724729633721254586660282875932937","3422546743310933069772687665765317843579486790338039447423961278453066592006","13742327444822703543525245712246928813767223841816014893394911139318645136377","19985290653818527520481099040857204751957970313061971657480471856178364435734","5113623454243607312202962083851358306245672221703960790609797677771133546193","14116233721356660472284501740073810322785672551591291061323721256009346455878","4926155427866587734566793124447479446126808496458547974505225385766449054331","18737837843661096774737022603512579127563955418171470936320273353744942252119","10488727327274145721487028816083558148874702222936756843781953611817021479453","7430416809625816246215887987474320468895157902878142604273583498117862871629","15362958033781690751249945980799034135612747452438262501485459571192039957761","7971998013662637796977575957753688748657729947937463070177130208011037377134","6181181645748233273792885809633370176374365207286274393529265842466407115861","5314629852576387633630556100168250725317801821478381622914586992960199366","4515888460995791866096611222708075397170126060611423125117883548580281554338","74545133806554228861741049751398547087539129543232065265760967657668834985","7620596223797793424148158028949488299269254840309986200826069272117699745990","6891523215930979790200291579163513136440547056829176430750166726452304949371","16099728065410135581098672343255205185915801569430121937096121254451019507098","6557913779080084600620474619010501057622990909691220199506246579366751973182","629939504373643127852968084066404538738439068647901008271397818529825932208","19492258979744017908420240124308287406854433867244815996754195669671534365964"],["4703464382863044657879311175544785995557811809566957314411289057472490527020","3843782899730931149066837823855957195082814690023486343961650216093340265958","19753920348283277126115182030019993058097502466641468039307766133748654311731","6387046033771728790683513731756820363186884656538206941762539587100790793303","6083333704170189791347928946890269084686281072760260996461982250183813813455","3601362179840050473869565367769437889028980382089846018464370888724390080742","15027638961056161803405095516489512786991681560756640705495942526018791294016","19710873932029592796622363789856158433724106192219625427302644279655507023367","15638024414045421488677288694998914769438007035716986615640454221215106257457","15226555011982219477858209163809404309053286511808301742968320176656943221415","5370110265920942801753988420413217249900497386077178581974767910364898916037","16446764745477539410117561326613320146727869338745239407663387010432667098744","6928924323713233714997990198973637030825419323916177069979007639608046912970","19348991226118506958152269076463657327287453752172685562174237622786490116354","9119323634993324399323809831867704803769113884161172392745457530076776720151"],["18812969291333960246714927634541285791301021530654461980802056598587931445724","4704875114419935020350178682811140808616028527479657778061958964369984912380","15617352465980977810710937287156471405834630169023818314675251313292328425896","16144221017969671721449460332127347762820423413386277478456163956038616567891","3380797458259597109673995325806610244842743962089650531774414197031119011667","10808087229606934664635917926735817482378681653152030112405462220077698611677","1126944913887516904289476884314188784817875835019645183711270186623300417204","11979258528005865520771645630121593144004843533752381636064964135510687310382"],["3181021621803672270534191685279668265378151263688297096626662902385759927090","5364058324337084345210724157442488646258495950496398875849562278111691871665","10224931444631296256306111997023259115908040230658265780895445976301767844798","21372498552597749200461565055061950715581761591751395118297044913941369308968"],["18616110284164381247048792467749872996052606923771839554448275315790271733321","14430874127799236868693502382372384320750935636581861862128933170831298766096"],["5128751990395783157037356245305061367186470338507839004342854052810883263946"],["21456369111740585429580730730192781385573483310784729752834855625487486675579"],["14554846273967945193233550237677064545954831264772906442945609222783517483360"]] \ No newline at end of file diff --git a/registry/src/csca/build_csca_merkle_tree.ts b/registry/src/csca/build_csca_merkle_tree.ts index efc52c56..539cd757 100644 --- a/registry/src/csca/build_csca_merkle_tree.ts +++ b/registry/src/csca/build_csca_merkle_tree.ts @@ -81,8 +81,8 @@ async function buildCscaMerkleTree() { if (DEVELOPMENT_MODE) { const mockCscaList = [ - '../common/src/mock_certificates/sha256_rsa_4096/mock_csca.crt', - '../common/src/mock_certificates/sha256_rsa_2048/mock_csca.crt', + '../common/src/mock_certificates/sha256_rsa_4096/mock_csca.pem', + '../common/src/mock_certificates/sha256_rsa_2048/mock_csca.pem', '../common/src/mock_certificates/sha256_rsapss_4096/mock_csca.pem', '../common/src/mock_certificates/sha256_rsapss_2048/mock_csca.pem', '../common/src/mock_certificates/sha1_rsa_4096/mock_csca.crt', From 4a06dc6564be078067035b0186c9f63365829b07 Mon Sep 17 00:00:00 2001 From: turnoffthiscomputer Date: Thu, 18 Jul 2024 16:13:28 +0200 Subject: [PATCH 2/2] format rsa_verifier --- circuits/tests/utils/rsa_verifier.test.ts | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/circuits/tests/utils/rsa_verifier.test.ts b/circuits/tests/utils/rsa_verifier.test.ts index 8f0b2c8a..7d3306c4 100644 --- a/circuits/tests/utils/rsa_verifier.test.ts +++ b/circuits/tests/utils/rsa_verifier.test.ts @@ -56,17 +56,7 @@ describe('RSA Verifier', function () { }); it('should extract and log certificate information', async () => { - const csca_inputs = getCSCAInputs( - '0', - dscCert_forge, - cscaCert_forge, - n, - k, - n, - k, - 2048, - true - ); + const csca_inputs = getCSCAInputs('0', dscCert_forge, cscaCert_forge, n, k, n, k, 2048, true); const tbsCertificateHashFormatted = getTBSHash(dscCert_forge, 'sha256', n, k); const inputs = {