gp > J=JJ(136539) time = 2,017 ms. %1 = 864247149201013309422039468639246332952872474055786121361621761240871774634996392316633226156121461446597774196574325801908365427066780174142257242089096198168158404136834774768443389251208639736484123144908834299981815809510788568891239298498796047148823637528670533501414659366418581780209247430326309398435079852480271384310274111082663169782186140905396032256622824186713282780179667675248752085166321741728959856847622848157723658146717680253875310480158584008049881824950648182976529752159555698277519950295328256653365903151499882579371303571777793866029696855954945835062849316980629732481208852756331793274005909445343675820632660984970901781500996251431009637723543727062187549602695256345945331584081647416499465962833211155758462393924808862591032472156841849297344311966260851921888408769851866576379567563895333101374761557139072576384504909869736557283769762913567746760809667079766623935187053421601312660452433256183915546716548798007755435680312742207707685750456987036023614320088578733274632960109945183474952864152178895770255676510851527071416441448302491165849548181285255227230999759459205151947969342834683880128079561689432804595502448459671028439577741523046278089909215937757952902482549688434353152475084905365852963218031909479897854427109756846504487610245025251947109349984844763121505841560876180950942523523341423669310526207540116367409011188119392611608186560127069257593793905399157035658655402896481828151798158814670484205049965193579685818539083770909141739539507889874553690286910877730827604125688056053915432569943770422193382575580543795553869983148362963414878191900931688211663930838332672799236093188186840174409357111366063173391930955791030444933242085058214139405471716201267356120503005113928602349401597434752392612201370402204983918106640314460460521912452431747012990696072917026265227347470147843301453005558832616056125413888048564248850428756319595599462091501665830634989816103953564862101450819632735634274961893993558835710535819712548440196690498901022966157774022678462176254092214272525813111034898284762937123489758353113626592621662879422969523234004246171698611123533708367056039290673065946777574252927129958332592372400968635567624896812096421922397966294451737133565754240072909092374744868070676354799606535326827309622126913562343526125487606860505583795266565553082000648681888850170867329608097057681316574078498670471224972245614663631585361170319254598927576952402833599110219678352514861378624920511410731483254396741667319730725479003186573961792647807356841627782060554152841757373114295148717744586726535279816374819863450209215572275350440679808302412952000897044392820249653242005975979679907282536782171810153227089614105379545281488486969208170707070538951966786166420137455551909481496556364279046848950302312127504113408185639455411133407566153027320643415000481274398102431729204069585955056791459998108024297320234238488010061737829486348906770670975425123950883973547661512083094571900170354491686759580873046331665103220085533182418738416562319416913870318163439232507712792292136563880136016940900528602344520369036340299567204191548150132773621114498511998625126924984420703544331166082956061119841396950336493886286621801860226004577201295738173386485176824362963159625525716281077477306388968382706825241104223163159116104702515942807274258934103767601140867672817092317438181812624921957062191575679820630839149918242104609012362036938553676003463405898582320853804766423034191425510613355619121655913520764682274663363616525552140979754424898843441960808419513190282169602010342344347251658165013342159354438893468189123006886605108902057893234372462970877064826682462543694715460480974847856438670488837390560515323764276109233300177126402846620009257510113934773253941583133938152698561633206367987375267598931668141421234219770797032084816538864955350328655298228256835997421341061946082571893827175363132939812874271482373978044412109755669244082597123990114607694829612581393055738891633534364933827122284865388049267901764906802968590085689023336217376641305188373226444904818900589836168855501289930265875158946743746161080554395386345493956393526857608065056172444939135853675638910169164078007867876976572294956477141872511691658547113413771244838949178331013686726046424094992517812350559402103186709801255602751140300698645081574087779622179580526194772645499572405676142379005243474316524816151748318174372003482108007470653043478579710022397738981720961605742575597347302369676130788911559518968676914201807504296922798859669687243233454602842399780532792204839989632801477418059341643477145167260201058217932302496923906751889817461351972406377527270181655348080085491715337677546963433820520459384863185877867903479120771119098560394579122445563443795295269811334295176165052095979348232148847893171461904632894868269928735016778463306885230294182192900754622346430820831254080455701877418709564934972570600769214598938674305137575919511856077377619982375230936310303361846004311673765975108968237650131546022224520867106946211687241541404256046410847864420749953708213642123655603749896940535498620311100652693675639520989238186472819568404121498852792665607435366288379560493528175914649486878964131686594163428459489795812179672557148056889935792625244890516866489756338092085579332064256334846848781629410164877446667377473944555013325475530322165353886524125481365431386589769439357813559345940785274527463084084261896216867420142435001909880673440503665354445277674278161750030825971669432953346348422995628508868366136031999862717914723854058878816816292007341531389024237366464975020674927900067846437187982718715881889420144260137923068256861738280211399326387715932278503618653919483774128653049039369611444214996839160935381954688639932745501240355120148529286907345017430124332457357795440016175661560514952828367182761428915185171073483987490776138292046715496331839945442584287735111240547960514820478808943866669797104177155270350804170376871333365512564447483373947855819447679931793475034929665769304219441451933035936559612656656512485183188068166354608666765292434051074087966941946137428817511963393597149541387104582907716369081314988164435330130797501660593835153714427575582312112825123053363390174092457069834606219173278599902333062135720448372417129166245761692078220323816183788409228127198522999856122745104916269090152766762670179485407171687233589460449636821763491018519031985923022608009751903656716256751622560689491370556131109658517011236944685548461131320977350943609983080861916227614141477977173206343666277880991527916106929671129118669159262258682949400608514972839279051217873764416653298296752008908103855859436397312768438132926608804727693391738496194011038664300719357328924083124617274397358257971642527673563761914662070539045765461478745404973361297063415106395937020343236960047682826530200157604201337605183881609409022550130724939750929418281710897008911105059686155923166570985012977189130778530141597605547176194537860633723944499030743063877781236731907436765398466152111900807265047823165732649432602539805088070305888047513729464951424933201247594313590267576377747311511139073527496557202480181890442657659730364927462871003612857223807450519529036477156184581860213001446852497288051340232697059822709426340377104259879946829723869105237096600394354542765280074454310570647977854571854600891028535037853666985661250709728957866880333980544462683057055331329713577339940619196042954520251281411951531401803170167472916466017950346069803661647200716941401499608951677494508053622258633867911059521828355639784233798894950832085580516348134132297299945233171363001349840398534373563722068094504555348852005095558194731625856348030655680082135222425009891638480115170455228607353546755800866767274307824683206522969828110423175307180278423393374755621073975531521843447926070132286775260885330685301561482411278137850637879795782684129410584404468242021082410019530420700066047441260451687876078301558249188345595370772842815843251126431690220101833173213953214992923690462163956370754492291815866936211596327351980365260265326652058021099171356500335543432578504769615756797484274155132205850995417805235252076668345593375762368675363633615481712746674806229342092767015189409208822409793350633198114854161164744529645776341318171720984273582314904308704092485321868218200871771610707439627831574186588728251124822557267686192598044398051205373436428274753907229367056248086524134445271395887786732626156999787037496970606145503737509276948069473516742538181213877322692906166020406560658598784955405370265767623504864398680526622613540331873102708578154206612223106336461569969771855516101951574057328060601840182657308740182722902548318659396512910913664577124880486473684838966904940144450682756496660336675946121906905936745581669674765856094431571443356250757796597332190284518449560215727479272392847463261680114508006576502083601846171631891140893408382553533192358208451545698073464380951610039693810609317757813114383398455924140794685496851784244087280104452265633621238585229893837902349059175335373695651032372704997363978876731352496076266971585578910875684088405932796041985099140200661972317016968085849278722563266539414203581131990007471524290912303814407008386952964613456015508992442929445831899413057543234910592202792825824813812048808037904379792386111510755071256757647204679102378006922223849537505957043135813296284822642272370413287920194880986465033691017244065814416002867489193609525473946817695277800800571268283003468081648808038076650179878705175453624474823443362783196774472704263841566855697176094610217899708740618974034704573102231788189985364187180116418998034263271419852202163945295946387447712366940153905027196293559039499591265946981349639399766613587101498376904037595591267304495052135268849173498537660883435466393840757192249780326914600718776458459757561914502963889145221818318264302815189008604107149080737286094967955170392477980775389860365588132371030650625500979673368737765519278312064308573549700731224326229296334589656223374007825710212145762044298837352322264096966350016494965247692493069002368059593290854404520335746454233416714129351021299025219645818320401159711474934377232589880742641412665825474448468869616888289791715519905934662847771893751993522096561042107409619959766608974351579191894842944927165567043566788577650360858358629632737934773879941325688191091729757847494685659820975050693132917459374579193476130813569264939723720962703147808248380574205998058233710756456874085269483082943330957290686951371121921890415936644883838178748611987648414545338061573631350534750112272698680961083921353588023910216420428228490351509886229230609970876642658197679177760834006900741590510882627426530463108820352350212846289452814727033244158179211192497362589034990506452297953839972944252400149410624130582501978308523651136275551024976949716440704875067983958848396164914655691551937690038534570041298581226919854118824958986710220552938687131148772704966687391043754081067302115099260927158748790263550333091504135369039834068627009870744560324186282554341852733294460195089306395558954572562738020063044367958634132483938836210642114280820944206496330311469390026189720536170010375991104064674928928351214580117205934526794902024722498735638049010217250221894834309971392308624740733494705540486182405410699480563985393947587210644844841538846469657439602242172481028103865827751916807576225578441139407527909383608852044301038562686170663628510529199673381513863452179642168248508049285391793894255752039781063847040884055124030469656524237615371769505575002495551374027733682902934143667924801582208610316838686273632070921430383696863728089742501065433088106078280002774124005527363346186909246547041650499999916985658573496579625657249231494786112585516131552533573387341495871578238706898527767383319173961174422392859673836725488874182279231845848929488662504085879472035097228076036329413717386221812405793077198911942907623525041086322359447435516366978147748258949508048652937423707589747630873501656770971515146010179421136532605442284930895814818881484329151577922611854520386615136261114739040739098339525202384041070676350969947631217275048721004945440162593691869433668122429850089986788591549163416364540300852382758975504139939372486792883265392904694831570853145337687409317774642086027608334733552317293699498550657699493536661245763351995069667382408298742288282818488565538901944656213531114332271819734049110593160996181588000863420168079713337624140597055433903211246728150807934005106563689161591944982628175162070350240944342800853453269722238563780019243560213987961064042254636077392079696822850417377035694463093173828317620633491569879302143635320123381939638149610991627653423646877740468944403981110635044084781043128057141186302852851892686785446801709910256109577409835576548178980983910235807598383762605068354605264852558649844846091835218637243381532836351637057268294029075281919279112343605319748182836416026209198589940977618032948279574295273620887046340982612407032118347259528486767463779341301497639921071527024841955712264171779284166068605412652868475861445777069707829746150951123770619890292953891480292564048832698313006081347718905727241324718676973488162916104816234916509673864884535656660590186677143499371265338435391117110947206967649206255237471828687343830995000674229023757352567186843612233180580917430282002219005530812306430170648879883864667684328901928117558486187400528163076547301886069881527578029140612446606993186809311747026327824468475159868800486222252962945351004250721479210017004270464729376916156523681605848694131819030737024429392785071527026775639481350352992464135391681129619076877473409233817681936890716727083877021053206397512903217743039481894552834859046052136874301731486386646144540223006801916219086051882298631606323521987846822640667321594568372263599616766181041464735111880112575589914221530795023768072642680368960077609193871017896077981425262933485196910990336830995938199050877876942061895290914236125884745491276874682350621035436830913763368931886262659978001141188917937639996572174799877515207632138411455573463214582224717219725460770473544162862462901464090125221540392278073039042432473496704587685791020898161035099259963358738288597987029726511811854028468988755093471143669748626546083284871059009667810660308156701493611861172534237356117750863048783723691400443783883760388366839409297164209569604100073883666263436196177782381343946457812131784545499191200108495837088362974689129465019628603848419960995125691642016600482247011693761704075897660780825114384838005689463999600608733141969836063816622523436959218849395309669080027694750642817931826745549656138070536251100701529341483627688291194416749444376659156656522661442313183877915072729198586239901310376476430255880742316190281444808584933769033436819348134037239123793864804540773617883332115435837221545970645658034890895128085603934265908318185930459112974958080752808749670011801198396385544559506799068404629989132183094098134923150120040164234352371811708737945957240108352018900241970012259040762010195061275950448585308749767623006376313785123800565674207278313780559599904030389177594041087534190001040288705707981862693374380706322517103829077306837905347425875671782591233217293609863984918548792952126306205814205662030603623610253227071418899181354872242268799132250237686658027670773131908187903174566361551762194884361411651476179445288563002883944311659541274950039419625533303021845258091038100031223256222580378235199908734807808482647789565189318730354750493755855036840217017073299761604697672405821358553570145201211774549794867472760110875013993186396848224645188010529610832950526309406953154283947446146070162399107093971083693224608679105575377994755440593085247719008915351465929149637988002346713291238387072739286588431170939653052081003859198508582625202278194638303642577931528515257528918173367004254226375666731602038260411923460989046169494837612574494185820906853460490369629994517481329610601039643006473827390486939995277262123040920133250707353172225945711935302229427924180191577980342588437102088268044997852526921988781716906735889290055135038311329751008913723565607746614874393135845516680593895674321384599328414849793633452597937249724234842312616562988172758483056735857696361684519455687873140126455619594024288415762259847938135717964676502673130919867976869749478537719225390116901764479403410416197156589229403120739524476341040051665412754629836346026782048457799416311411007273441609411907891966221839465586958673169218191881854088024752685663228230073926164390045289610110883923818737581272858338959488509004296184481737575893065443197256951506026315057690935477160088490302001839761632233843990076562932449060877527441181182349303240179393217031705190045968749919239036057217261145560296117944935715781817649915874773371406563948414227872526822787993245772924375549142242661572941463465034822510844190606607158288085150504415530043491377598086373992080946836563023083712703952578641079949455142565721619946632986900026797351284275478993726716373018104266887013968316041401718879059938838829474872634085965391386578044914680432978393232183027119763372856018588027327606348742252724392988558326004813948695026546463747427654983306961754497232554552297408231312703726250018804464591936575438557820443066408400332076186838406096957934158750896630505105591494500105163462418925155241685668189451409305618103984539297701832086671960615709327169923512439172391970230044472152873234632330561291406505181284183438368394675481676704953806645100051805723700724524567110215690590581400995639926406350381412664230530241291471731286158821330348829129645650937968715278859466912878189377728600686781436894848715124163802907626775713642089381524927221983089375773915921748421087131590221217447514753107153778359471155643768648238272496273580132446415934905093844797626755056183846501931881909344427617178549168832683761354675254597806349436069712640286192270277336207418559380804201633504973037348639518810520837127810056192733531151748056347717906240747351521361455539207709391853956136673045549354166837308877385734888477343161673178987185151263315822663449200842713592484412649059317212355883697740644221175292326351926336110215254875696215033594856361084946709124470669961325207379849244574619097304420707441277788350026186275874017854124399272889730093983708400148106645380932513748926911492299548221492058364447473257236131650361975207425290755322426420823980486834661781256612871332750065637487813819960199348042616685733357313233743331159484906053171970547121998848811845579299429316460282003379465439044593069989692695389407656409297744303907805931258828418890195867648129178157254295835465865595207736421094806346872939549504716381453078820024703207899753680741351510502742807403867258019341606576395186524992017449150084996140267622062867049506360106256950982531248912748129798841748454261122226735277211537044925367866981151225901596730573593239844877784131010747534971945301574919784672398389650660943582897871760124289238924810043043188336346618665083257323346561277816998870720503591551443617179247285648044103228032463866124092951770159702697402996953454242877118971700956870471742757484843443771507289840216743617481553565363472485870996150033206895757254603293056059398224005498645994094897891401257997559405823037802469752811202456568606164190550190605626355151911119018408974595952952816376339914471145335162273580457770089554830603599733212162507909872653679816923393861355956355206375820202754355499046558420974948757421776615607122079604310039807282191252779967280666531421930185703968326971718473607765852070690099755804884223838982484749325871830267490084127060783936970423639962901961156222796582676630534242969910448375624638592718023844926086223720603075615304663191666680457016348835707689896959740280163716448247455936224996100814420004938775744603126481142070608099227884838919880507158870360942648244111954503421309318353665868240204169262891407862130489019887268491734818463226944371158933474924048441040782245527153062373294502368122160192527104622040487746858852018067864649253901612722310250414291486370624801014051285328029430977831721362144679397368110491188700466151280897770234574619822597036813663355638613735404385311440910045797076631562409754293508635890095583547994455036275149872341821734908568639027803286911778782594823069473613677914403556013667244246829486903923277592824234038213969476320634077804881840581748936162759669848705842341569938544603233976516786438598571471248114011833756956587865208907621027945580402513482579095557521722883100600756531244270433633667046701270686768755745209346288470781491467450112937894272805437566665396829250957579023350533857883106851309740162260525553954225947063028550904324065184913600204433897316354701427294059285085546584232559766720202559583792571943235501859514310773184485538253191909110738172591197017581076918617001815628851922308163327161354909882532541367233765340339648830659660689527221731878453808350109953175883965955585753769966165243468282291135585870113948146441268517310333713641132790996428928168266378357171207383638993703035453566042118349492384589250550537889285581725521910490372932083476835092030551542218325123828123276886453426250958309739996209695616776907865039060905016995379081219119217354363580159560779609484416950354247222719647376309083354720008879412922836772839991050956015321194237526168596469031008148384790431407052887729227274806114244819732746056956731473745296479923034166622246786604188833239915352658029704232014106134797508083674828418180597742497767441883254681487849418285416830809007693280694221261312147025901600776623227071466861761189685065322957730841797714222997555019151789193089743540010932950776522456326642176731949430592149250056923777273303654809911224980390742162535459529535534381998173401934492244194765171262205967197029305046485571843178060434989233026271748311934039037875431303676022879732734923644060187736734603101470714001982205254765498942192382521384510452062805749818421553700099880228866537879705741248641232541265037590006718739607346070618757731527483621977310982701994201912010807186098530852382557638656468114164980617944846713852467817253744055857292079964245604283528721607861589041226667637712629295089084253468914967390771718195954539002680281953517991231341639781132143052923703868947160899464817192368187606612241383677855258645588332937744017689265213587630284393114806265038555843798954947082169692201435485720756477392238319712762523156768150860063164619365488516752456362125025765873510939739165180710615366948580304271797268805420232849961704242532070722162518151554206110537762733852140237530805161609813640322517244750401219671258666575722592700303715124167331383942105258539961698799143150185885882359651451298805988776120037486105158339115340526725265001503681879935449004571391833232145571589312533958603018617024608977970014128938695054284852102227196389009446011116740912435168021757839752091416218785691524992615779973049250210868584141936616006275427268162907565211806154926852149997703883600530890091998460793928011489544647224354894037502712019059300427841492262483561758362554524338121959857175403145564714966675622147467970071764407459108202287544804495858079054279507722259558537392231299661375101738914940164201964894504677047489271657309100187057995287775720941906802927946220565996989541180141220957372411133759651358179995557946984551142956603728053929701226553715154626895676178646658746385966086794160347518750513426454207923744814215783232273527619623245882725472002676204369681552771675272468957363561268987656959453252120535668727199371242518729968818525614053350034338115296431998615229410146774411368727460689329313947237645653511502557953207148982849379634243273653024258773848711829836044145266630126541527737364046483928994724014429934307471803564535783826451828832829000893792245345628988075001505956162016240131467865484179691174349891224127609170875765842681937349449202653481701604802590891989703123653751749700519982410560573222491321594797088035235266467956796081445036161220794070063775525914534970372817827086068117805254389396839386752093369440680822611121902382207166611400518322004041202133597889175775414041506682664422380350227461481802420737890875205855361655311388179030280468585505850729719303577809114904215127656647947051358048035950940150852806066264392835859324651023545497659504365103378289680037082289782504635456151717460541717317368742329391682685621114716849668864994203799394282422361561493241495393365410202684599452183701842531042336154568763116914306745929643103409934998784840566753677666755025207948983101377960453705202220710842766508182666709440357856928998144424805643125535098626715194327330958484806069676789627567515189538465370309819888672797411339327906441596097789906265498677807064331090315818179672528786359921444574909040014128291765985526397058022285669449529130267007307151448149379675970112662911443074342278613040631634554130646685565364865686085525998006893613800712923853080263576739605666471236500141305132793192585973246797131473733426880830054275647424814254476952443962764307673579557013173676149296901162184219588009921434142281407885288687155007415099111724200528997330248231925542073850257611808336198630906912030150757168593214831150500273029325964164519873558058295247397426476111311207301674309207613423179743051319361895436820694640858191770824772008752903288470554338439850546434796156046189005582071848003568144552115021889013262688904292424310927584583634512543186812302136388555182244417094503066273558135542777935396290204242857239276134404992902997320466668771795476261267021847738826323122785168705931394043505492914544249984898079473185456213124104332454019427700888123278386291810920527917148326682975384132064375150071784268365759085069463093345476052864087608478163588706678856328902693839078110878964711340839009031212255406079625503088494222984480294616525027072435729586535512387050470722394825296753062739384300477321667225803936401562779544577024320701064748351396200224397317489302998435383082809178742885729878448777791099389661035769295776008771309022025903119677989278398547552970116587350734232735945755518548514133170619358813914778573021724673382805994434224843401067830018139084346829934818521279204577719533651313202480827302586743070013759504211845704528667658965326207373621413785874426883099214650436067384090376893810817604542310797549004599687663719541043820904718566912220723497688334509150442712677723378701171395989895397471512448489288743559917568358547549231078647624993148458707141791927211879363381291133724775811838082070624807188633426490183424776589223466209492107576678174262834956706117599911949092601875699360123780190486053346465324454096672626722852785185535324052512703108300661470993770462232767871759530220401067290423175266733098850822509874755885168181662270897226456866868819888396929262883714653036362869894577014632480360969333637839966457102225481967208427517007692583306315496219995042331117131449891455061559954228688665177085041712221933624038268286620967131363617637842299265268880673944577367038862543407300617427774330917369911480464701019614194990274287943191453054300708363893250714760150725787195532379105315179352561992244246580819945047724740816691063611549293263304388822593617892603047778058543659379470547739475260367852427134384917479267791366536965261916673445378307483768190654091970926216625065299549675675517946851352309212925565916877795270599917150639781362970401695377557048842664278215967601542783867842729839881673876291517989527438195006634604407735850271863658290098165147726998769664697383673491677938383035718774104513825113166277373261383806193973798478094428434409543909707183212446393581073855869370049671837819581947434888879635728134604970554539671171032830929495224963819228520392808273709258290380696083853341231081191330019773695447234075390821725167335671381846778535880841759565088546757827680051172127298730413921119674247315412922092276228923929711512221571372375326806153624313630724357657374640128997823558873491522400857585358783278977577352112266980172066742980743735574512255251857489265762930325395339982350217998275667066048885373813191878550752713065368017151794433883162984082281672043768452259470753803693561434152890525952317360346936435029262786471774011830674532672980859634896160620690879792661297170005035582587969170548374725592294512381606029770597732161980062130381190544929406266430760554218137951122368993527309256301192716696565353614161925979505333332598949180507685406299285938923988418660606809810586440039168758984759631241933209078779145830116576597291113003604940015230599836301577835889105635844325183915600206470356116537337696529090946688237175706012176055454227623680552158162971327503340459309209429035994635987325585928292729455147482547404863208320496761842344928661751811311886986156135376394504161490124090680709114428710453544127991435409799728751278191866937915322965959217305846927020935064809283695421291510925101593009146986861313641409989116327979368875797511205924371025635015691666901490584016738132797627369234666951772468207572834068833235444318422826896496357567838787501645200131463812254934308511246874321582541807778079020783326729928066576953759628504197646051140606590956038126945190781120408718229805314801047469256366943987523927608459740073073682413289536493384552974410538118393446832343431062969363540641293685056675159120795327039685249051462000749101465593735034161447205443067516834897231515364233202263902562934165725739258049890769173186102004372148634671620808999243076970113757304830664468031168515878734514005219788181071061493234241821515328518476977494909990894505674846448045685319650832166229839784980113098653952645081366053506968781642386523661321564695390051142597773188926762579232174196020743625488679045961906436188764548389573150747684289846363838735525368646908816316061072144825814429401470147839495241562709929786792516258458756467404620296200786843676103637209793349741295617089459550093230161719676889003950828079429152321350325435647952803882607816326055522950788837689228384499271107524675785821021708262363504784657800508005215978905521664664252858337552130692254041642761652794826767367000675822400619101208885212330787067497011368009325876410737767528842609856697799856272205952204322175064052056067599856160866953313395551233005287268657281703103053102425350806177877650727399588070496291200270656359379256977531790418049744372873989073354091617638339858042480388660359589541906231675372638772875845594888404203524838135780010957893484224964340379297983300678792488542215897820193031787567854336978739691677774056997420368120306270412004489993421243074385834166166882827652516068625797764802920133772306696750506075224497381312409695559679837739913262887493750402042295200489712695277967096211905640593039013067980488050180668002603609971047738433104369653195826676436128645781290565190671524322760444685941932274222191191772919458026345139448261167022471116956960497565045942289473580072237526130117008803610269050728524543701185553440261663869875330902240790728452675096531661412015548239910371838255903050203917121787985543824875231852776234988518688257293235950546998598121997233073824998998939200144144847754024808664462669772406039180597725425059613160944979660778186683155933543393035522404441326642751857947603347068389090140376397124606175400968310556880118177814031956611176342272318667174537976588820449629178920696721153415988669351398518317702309073290693423977473932562022995431328808352496090144336481750219245023229983076412303114877512777026485334224259477856004378182260337843862884445519398050497450055962135970206366166189155475831260913943949557310676758256172023724721944409171236711485311721522276707169909830825986373472196377201374370475129754492695288161840448172010180189116242736222232774369615908338736475748757915447600170557083403121795349443941398559327787652047368861031731568339699721215737723661002627125682192328294635254192530435565604524090805429899894712150332403508729101244361033382415550882509443460251864386910986945524254370865834923206941242405649665713929898474797558300853197770023583950330951298374047023805008244654753884319259790164038059783598827008318714740672842129516514673949334509531487933909098323228599156379238881684375028711971649040653783245801627818971892548896983097495046985663213429360699374031473683828185771006572285012633284966027377006372142084763812624939038065422039418384228172836627501728012080985123688797879719420090184093290338388827632046402568941747520694084563729066489801896909854228792519203506765600553471429417194490816536007462491648857189119305598855088876104738810838375058652442458852797148225557907905376702650206225112194467491717243858449858451240576398684564750716011751679012056266279048212940183275325234998731938741603692033191724462078737468640228588868663704829390100219832365774459784856884215423312142160270267530851119490924873420915936821300026834634287552941457022214588839216342836230567956794790015027956623432943998481612978588153928845815886845573809271493023197148267284816975601792048890339517035890956185086437546156524748354854671784776886428560807582245060874277636301773559328587534060232735546984435723107217143773842218214190167165048452370811268009440773166849246775146119819105030480509671691729959176951011727547831569274467840274467116180571009047488643210496772476387473633195417185021106278699905584651045737075135216796151932211312746206807734070486598428146171351211193488105996552452202862463771301589265926836420330594193940431025425548528026977008429631004365901597009595673592524945761307316155533849441302631099314242844755388785417463589431457447865668456990087245701644921429239684920720826370192098465114610192632985305242793144231968724456560563409360046812863420199226740193827140135961308343589390616813257205503963095728023606061771207687898024047886639661285896393220275614075657925005310935226755265153913510143960462853233874307949620891876511980899580859842266639409218731592279781513022283514306558431954943671387617889438408157767802280311147388955945711515552349741100040298811456005504987453330450017661315062439798044185171797835387471978268543782362315886591664906379886311088643996561434280092465142058838736090303310243677611563293341618240003586753870009133394097571920971694391263689380058406217899950880309793542620582596183139211052605697558166939844306640154993239677320789323792994911089037611463299303532246762442239707578143084197913701939213031176922617891394103766932007322489674802073651558708125678076822854755532264940841237408964253875121416699842276249201615066205823549351434285648714878404493061836457743312728669108290996717693337807599586548892796921738905517854283772931823283061460244042806706057245076029454910826398852973735254714900169615030323048223267045258957080091426622025071437940375507668731049025753987063137406769028769014327729038728149848773112468401829301355900578114482543127465620219729361512097073219977095514796590824491810834952716664242538972587617941730225463167744969473532914698737601728728484756293451407541134886178469876123492950924108051347521138208313907246087130401396876883369996726801155265776433952747480109013366057172064444677001256042215661164512796140249969880626951906574724598394053874073928990080416507828631249160390915362142408924587391115004263986092716000174073894960661997283870333479163371875258203775938377684271177243016813568514378006772039250576641804037768062640683888869147479699512626540460342326889683305761078281914385419389077130470035076065142389541973804680546468703703730079610722248380659759502614630286415664151465835384102432051257951967084313966460155836329357853772823550824253649847149263890486702671068203965778957309648687348178785131161785323155623307315109179175239850249554654853232598561718022327697397367446874033830306913316884886668099593964345987684886013787590929493606899881769244637582172366955120269554458268737803283324783632400355689328427529927482540544447024808762071849028482184265336263845715038755351472393157354953149290762151726158737959371967527254480210442280585696445667895585728379126006095913807273766469769883573935642406000642569925768629873417395066323771579607088702869869368803729545898560014189430284532278564083066022383716141339265106781302952906403370752294781459352023526500589045195667813036676497137337560495669499027257186129782375630864880929306647214973859284473106450053446962898676453677384808103770512257173139053762802535988803047010762949360865694517902177656617408543268866771840437944202140060734269845732848094199959463899773335206882010811482777868022590095381444171342534342834653437696962476348018649013604053122722094781725357668785008364681209367787083531951185968068016033358019360054675335896521720985177516410452438334622931708711635009278397997582366991722289388615374527442999242098944276034914734175250514131633176900333898750008791935998120580347197481961112689466047660786215161666445631023697821990171809603292459481694317999544201138070882654111397823288149975726970589792222243203167476062970689625009443507426218470604654716703387844318007217808150607815774919251907943783208394167633734142501468073650133726393267575541325649660659683845319613829782338936286438493721838772693995636531443320572547523076705516817678761545866531900930080779069995262512357083100753176440941958035143087250550625723390291023008357403747452075125813507983453369101718100797631432414285505115540712381579015207536358961194062644307363552836688795444048280508339378706002060990435169885359462114553529392278051080316814477243422432738550531321096594507111610675470232987021975360364031478742077265107203148143997713154099471220513860672800725019723371933641604610765368565331601280968847484335631719375267195179528764946821808520293579219561265891229125293961226292642611415196960939759560210859599464637668688276526852993436317066976539898887520240944419589456046573230259287724123415999818307282832210677647861321087685867171649792290970858583718560893910582770231051399168852703994254620625867321817736185321294080747345590275055143486969552025730219663528588379209688286455900392846418866609798783742966416275168298287482233331816110052532812526016277150819050122855422536387623096968556303092531968119818015179903905685478168558896595879364062071772046720155175576601253401996422443147375971387164241626096727903246443889824779820175306541893770700507624911544604344349726536146250396401504619886278335042750619194650907069454094828743130764862964576318141017064757922453161132900803817359684577203363113265414067408671566218895071847427782795541464930966230583384148306763742183645949598704851332456303150091006539062838660557395667078865502630556039613097585935793541873815145173868582811450040117261432306670996661614116165612266769664756938821183853020980229622659594881876336299278415971826326829068639172598082580142648908969777782704939565823858324181351041363620333094817726617593405089006204646212335960277171755327249103733059142828631855752738035383652392844190705123660463635963105995050057219396233659752236189910765269621817006350269914233731868385563635549219761856481665642017868890817142383534449829454229303545699871450140935005094427987976202243303564055467235469913305244804177461806271694987066271621606716111310637517491042612882273613740041197521788816867537452656955580445308166721151893786021215972017538609858414661877215061690773555253742710090615942621288075117876459966140753471476645261119984103205730832224139133425616976950436722445072326232494413501142923279640640610894165108976117032403485395850508258471815118136502474578023190403596531948759993335850074330623463942468764218917050409082521541203978692055489252255489926041282074763854399962996324759833006373138674842334910005608614954330568532054448187913042630575514127339817722288708100161913021314501014764509426285580245433701331302008747825837596255307440956345880779219977819018423447317791095426328684367879522201501674789168299690996972518123251753943111714027843512497217127983646035780187939629321586487031920611515682851858135192911586442754657367746096432314011221702917070183247822859552192357223007617422923671371569501351051046669606856759127480330792445215886806117621640086501288454964012847543166311939290378346190381225702614964833886032142047185382287577310847657098622239287850382969263845981364975745520665430895501711128969961304100820834133594431638007096772780427807098316661972385967910429528133745056502228067114361158443646538916999033365466411191321152707123540732404860487880735579234102239447638569030004091064338287552158770665272275734968849741855259762585450241292084943240428739103969472100878906722645066277369512750315285464432743007205600241113484314063952866696745554689069042914285331097245357751590644692861315478820152384031041892678608204947995684299725092978153752417012942016469305329300441526230064536681764881691554482020418917892858756593408033438704832979772823505266077682193765737884008588406023 gp > log(J)/log(10) time = 19 ms. %2 = 41102.93663795565637567912242