MaplePrimes Questions

Search Questions:

In trying to find why my Maple program encouter long delays when using timelimit and hangs, I found from windows 10 task manager that it uses thread and the thread can hang on network IO. I have no idea why mserver.exe is doing network IO for in the middle of timelimit(). 

But I think this has something to do with the problems I am seeing (reference).

The first thing I noticed is the network panel has check for update ON. So I turned that off.

I do not know if this was causing the problem, where Maple in middle of computation was trying to check for an update over the network or not.

But my question here is this: Does mserver.exe uses threads under the cover? If so, is there an option to turn this off? I.e tell Maple server.exe not to use threads at all?

I was to see if this is the cause or not. I see on the help on kernel options it says

And when I do   kernelopts(multithreaded)  it says  true

But how to turn this off? When I type

kernelopts(multithreaded=false)
Error, kernelopts cannot set multithreaded value

Is it enough to tell it to use ONE thread only then? Like this

kernelopts(gcmaxthreads=1)
                            numcpus

kernelopts(gcmaxthreads)
1

If one is not able turn multhreading off, will setting gcmaxthreads=1 have same effect or is there a better way to do these things?

My code does not do any mutlithreading. So I do not need it.

Maple 2023 on windows 10

Is it possible to permanently turn off threading? I looked at options and see no such option.

 

 

 

In graph theory, a dominating set for a graph G is a subset D of its vertices, such that any vertex of G is either in D, or has a neighbor in D. The domination number γ(G) is the number of vertices in a smallest dominating set for G. The domination number is a well-known parameter in graph theory. But I am unable to find a built-in function in Maple to calculate the domination number of a graph. Did I miss something?

For example, I would like to calculate the domination number of the following graph.

ed:={{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 7}, {1, 9}, 
{1, 11}, {2, 3}, {2, 5}, {2, 6}, {2, 7}, {2, 12}, {2, 14},
 {3, 4}, {3, 7}, {3, 8}, {3, 9}, {3, 16}, {4, 5}, {4, 9}, 
{4, 10}, {4, 11}, {4, 17}, {5, 6}, {5, 11}, {5, 12}, {5, 19}, 
{6, 7}, {6, 12}, {6, 13}, {6, 14}, {6, 21}, {7, 8}, {7, 14}, 
{7, 15}, {8, 9}, {8, 14}, {8, 15}, {8, 16}, {8, 22}, {9, 10},
 {9, 16}, {9, 17}, {10, 11}, {10, 17}, {10, 18}, {10, 19}, 
{10, 23}, {11, 12}, {11, 18}, {11, 19}, {12, 13}, {12, 19}, 
{12, 20}, {13, 14}, {13, 19}, {13, 20}, {13, 21}, {13, 24}, 
{14, 15}, {14, 21}, {15, 16}, {15, 21}, {15, 22}, {15, 24}, 
{16, 17}, {16, 22}, {16, 23}, {17, 18}, {17, 22}, {17, 23}, 
{18, 19}, {18, 20}, {18, 23}, {18, 24}, {19, 20}, {20, 21}, 
{20, 23}, {20, 24}, {21, 22}, {21, 24}, {22, 23}, {22, 24}, {23, 24}};
g:=Graph(ed);

 

 

dsolve/numeric + NLPSolve shows inconsistent behavior. This combination is important for parameter estimation and optimal control. Can anyone fix this? Hopefully, I am not making a mistake.


 

restart:

 

Test code written by Dr. Venkat Subramanian at UT Austin, 05/31/2023. This code uses CVP approach (piecwise constant) to perform optimal control. NLPSolve combination with dsolve numeric parametric form is buggy and fails for some values of nvar, and works for some values of nvar. Ideally increasing nvar should show convergence with respect to the objective function.

restart:

Digits:=15;

15

 

eqodes:=[diff(ca(t),t)=-(u+u^2/2)*1.0*ca(t),diff(cb(t),t)=1.0*u*ca(t)-0.1*cb(t)];

[diff(ca(t), t) = -1.0*(u+(1/2)*u^2)*ca(t), diff(cb(t), t) = 1.0*u*ca(t)-.1*cb(t)]

soln:=dsolve({op(eqodes),ca(0)=alpha,cb(0)=beta},type=numeric,'parameters'=[alpha,beta,u],compile=true,savebinary=true):

 

 

ss:=proc(x)
interface(warnlevel=0):
#if  type(x[1],numeric)
if  type(x,Vector)
then

local z1,n1,i,c10,c20,dt,u;
global soln,nvar;
dt:=evalf(1.0/nvar):
c10:=1.0:c20:=0.0:
for i from 1 to nvar do
u:=x[i]:
soln('parameters'=[c10,c20,u]):
z1:=soln(dt):
c10:=subs(z1,ca(t)):c20:=subs(z1,cb(t)):
od:
-c20;
 else 'procname'(args):

end if:

end proc:

 

nvar:=3;#code works for nvar:=3, but not for nvar:=2

3

ic0:=Vector(nvar,[seq(0.1,i=1..nvar)],datatype=float[8]);

Vector(3, {(1) = .1000000000000000, (2) = .1000000000000000, (3) = .1000000000000000})

 

ss(ic0);

HFloat(-0.09025793628011441)

bl := Vector(nvar,[seq(0.,i=1..nvar)]);bu := Vector(nvar,[seq(5.,i=1..nvar)]);

Vector(3, {(1) = 0., (2) = 0., (3) = 0.})

Vector[column](%id = 36893491136404053036)

infolevel[all]:=1;

1

Optimization:-NLPSolve(nvar,ss,[],initialpoint=ic0,[bl,bu]);

NLPSolve: calling NLP solver

NLPSolve: using method=sqp

NLPSolve: number of problem variables 3

NLPSolve: number of nonlinear inequality constraints 0

NLPSolve: number of nonlinear equality constraints 0

NLPSolve: number of general linear constraints 0

[-.531453381886523, Vector(3, {(1) = .8114345197312305, (2) = 1.189413022736622, (3) = 2.427689509710160})]

nvar:=2;#code works for nvar:=3, but not for nvar:=2

2

ic0:=Vector(nvar,[seq(0.1,i=1..nvar)],datatype=float[8]);

Vector(2, {(1) = .1000000000000000, (2) = .1000000000000000})

 

ss(ic0);

HFloat(-0.09025793011810783)

bl := Vector(nvar,[seq(0.,i=1..nvar)]);bu := Vector(nvar,[seq(5.,i=1..nvar)]);

Vector(2, {(1) = 0., (2) = 0.})

Vector[column](%id = 36893491136437818540)

infolevel[all]:=1;

1

Optimization:-NLPSolve(nvar,ss,[],initialpoint=ic0,[bl,bu]);

NLPSolve: calling NLP solver

NLPSolve: using method=sqp

NLPSolve: number of problem variables 2

NLPSolve: number of nonlinear inequality constraints 0

NLPSolve: number of nonlinear equality constraints 0

NLPSolve: number of general linear constraints 0

Error, (in Optimization:-NLPSolve) no improved point could be found

 

nvar:=5;#code works for nvar:=3, but not for nvar:=2

5

ic0:=Vector(nvar,[seq(0.1,i=1..nvar)],datatype=float[8]);

Vector(5, {(1) = .1000000000000000, (2) = .1000000000000000, (3) = .1000000000000000, (4) = .1000000000000000, (5) = .1000000000000000})

 

ss(ic0);

HFloat(-0.09025792639212991)

bl := Vector(nvar,[seq(0.,i=1..nvar)]);bu := Vector(nvar,[seq(5.,i=1..nvar)]);

Vector(5, {(1) = 0., (2) = 0., (3) = 0., (4) = 0., (5) = 0.})

Vector[column](%id = 36893491136472713804)

infolevel[all]:=1;

1

Optimization:-NLPSolve(nvar,ss,[],initialpoint=ic0,[bl,bu]);

NLPSolve: calling NLP solver

NLPSolve: using method=sqp

NLPSolve: number of problem variables 5

NLPSolve: number of nonlinear inequality constraints 0

NLPSolve: number of nonlinear equality constraints 0

NLPSolve: number of general linear constraints 0

[-.537338871783244, Vector(5, {(1) = .7435767224059456, (2) = .9013440906589676, (3) = 1.148772394841535, (4) = 1.629079877401040, (5) = 3.222801229872320})]

 


 

Download test.mw

Dear all

I have a non continuous function at 0,  how can I use the deifnition of Borel measurable funciton, to show that f is Borel measurable function

borel_M_fct.mw

thank you for your help 

In accordance with the Wikipedia article, polynomial factorization is one of the fundamental components of computer algebra systems. However, it seems that Maple's performance on large polynomial factoring is not so efficient. 
There are some academic benchmarks: Polynomial factorisation over Z/pZa collection of polynomials difficult to factor, test factor (redirecting to Pearce tests), and Take the Fermat Tests!

(* taken from the links above *)
p1 := 2*y**10*x**10-x**24*z-x**25+2*x**10*y**5-2*x**10*z**5-x**10*y**7*z-y**8*x**12*z**2-z**5*y**10+y**10*x**9*z+y**7*x**15*z+2*y**9*z*x**6+2*y**8*z*x**8+x**13*z**5*y-2*x**13*y**3*z-2*x**13*y**2*z**3+2*y**12*x**6+2*y**15*z*x**4+2*y**10*x**7*z**3-2*y**10*x**6*z**4-2*y**10*x**8*z**2-x**15+z**8*y**2*x**8-z**8*y**4*x**4-z**8*y**3*x**6-2*y**13*x**8*z-y**12*x**9*z**2-z**6*y**3*x**8+y**7*x**14*z**2-2*y**9*x**16*z-2*y**8*x**18*z-2*y**7*x**20*z+y**8*x**10*z**4-2*y**8*x**11*z**3-2*y**7*x**13*z**3-y**7*x**12*z**4-2*y**10*x**13*z**2-y**9*x**15*z**2+y**11*x**12*z-y**10*x**15+y**7*x**16-2*y**6*x**18+y**5*x**20+2*y**4*x**22+2*y**5*x**25+x**26*y**2+x**23*z**2-x**22*z**3-2*x**28*y+2*y**5*x**15-x**17*y**4-x**19*y**3-2*x**29*z-x**28*z**2+2*x**34*z+x**33*z**2+x**27*z**3+x**21*y**2+x**20*z**5+x**35+2*x**32*y*z+2*x**24*y*z**4+2*x**31*y*z**2-2*z**2*y**6*x**11-y**8*x**17*z**2-y**7*x**19*z**2+2*y**6*x**16*z**2+2*y**6*x**15*z**3+2*y**4*x**16*z-y**5*x**13*z**2+y**4*x**15*z**2+y**10*x**14*z+y**6*x**17*z-2*y**5*x**19*z-y**4*x**21*z+y**5*x**24*z-2*y**5*x**11*z**4+y**5*x**10*z**5+y**5*x**12*z**3+y**4*x**14*z**3-y**4*x**13*z**4-2*y**8*x**13*z-y**5*x**18*z**2+y**4*x**12*z**5-2*y**4*x**20*z**2-2*y**4*x**19*z**3+y**3*x**16*z**3-y**3*x**15*z**4-2*y**6*x**22*z-y**6*x**21*z**2+y**5*x**17*z**3-y**5*x**23*z**2+2*y**4*x**18*z**4-2*x**18*y**3*z+x**23*y**3*z-2*x**26*y**4*z-2*x**22*y**3*z**2+x**21*y**3*z**3-2*x**18*y**2*z**3-2*x**17*y**2*z**4-2*x**20*y**2*z-2*x**25*y**2*z-x**16*y**2*z**5+2*x**24*y**2*z**2+x**23*y**2*z**3-x**20*y*z**3+2*x**19*y*z**4+y**4*x**25*z**2+y**7*z**3*x**8+y**3*x**20*z**4-y**3*x**27*z**2+2*z**4*y**6*x**9-2*z**5*y**6*x**8+2*z**6*y**5*x**9-y**12*z**2*x**4+z**3*y**9*x**9+y**11*z*x**7+z**6*y**3*x**13-2*y**11*z**2*x**6+z**6*y**2*x**15-z**3*y**6*x**10+2*z**2*y**11*x**11-2*z**4*y**9*x**8+z**2*y**9*x**10+x**22*y*z+2*x**27*y*z-x**30*y**2*z+x**25*z**3*y-2*z**6*x**17*y-y**12*x**10*z-2*z*y**6*x**12-2*z*y**5*x**14-y**9*x**12+x**8*y**11+x**4*y**11*z**4-2*x**5*y**14*z**2-2*x**13*z**7+z**6*y**9*x-2*x**9*z**3*y**4+x**19*z+x**9*z**2*y**7+x**18*y+x**11*z**7*y-2*x**10*z**6*y**2-2*x**17*y*z-2*x**15*y**2*z+x**12*z**8-x**12*y**4-2*x**11*y**7-x**12*z**2*y**3-2*x**12*z**6*y-x**3*z**3*y**12+x**3*y**8*z**6-2*x**11*z**3*y**3+2*x**11*z**5*y**2+x**10*z**8*y-2*x**10*y**4*z**2+2*x**18*z**2+x**14*z**6+2*x**16*y**2+x**16*z**2*y-x**15*z**3*y+2*x**7*z**5*y**4+2*x**7*z**7*y**3-2*x**5*y**12*z+x**14*y**2*z**2-2*x**5*z**10-x**5*z**7*y**4+x**5*z**5*y**5-2*x**5*y**15-2*x**5*y**10-x**5*y**11*z**3+x**5*z**6*y**7: # modulus=5
p2 := expand(((1+u**2+v+w**2+x-y)**10+1)*((1+u+v**2+w+x**2-y)**10+1)):
p3 := modp1('ConvertIn'([`$`(0..3e3)],_X),17): # modulus=17
p4 := x**462+21210*x**461+224383971*x**460+1578665363268*x**459+8309708601927369*x**458+34906438282775741574*x**457+121892197865751514535971*x**456+363939492824936224922436600*x**455+948457828906656930119914608435*x**454+2191692676325879668485379848098870*x**453+4546811012160950099828586006608103465*x**452+8553864278939288610305973058795839407460*x**451+14714581361637473623842426399529259513587155*x**450+23307075784268029645971685333117771606877381610*x**449+34194571427759690948280309578081355003985970857985*x**448+46706276341375923136075096200416334570450433754138816*x**447+59658765260943935233704345492511045323205638456912520700*x**446+71540458929371753900545081776400237326118267425138092955096*x**445+80818483376551668186698371857136099432838733225651104612065268*x**444+86276272806442901147049153304044268141564927993122214122479175344*x**443+87276264881067094375928003603450410557809367751746667469125043216796*x**442+83870610459282201358463081523375345030141326378896496370936934176123816*x**441+76738961338056040982412701538593752175273811020117965759051166741054060852*x**440+66990062269499288281129280493866705182852936339922220558622343932347589826016*x**439+55900101713919632283129953618672095345524845772117259846091473180622360342041028*x**438+44665772016014459740422379813997121225156368515507871932946716444147328486329771528*x**437+34228682111407242662100345550367581229050006282227704172693454344395767118354396311692*x**436+25194116808696530810656977947394571885399747419692492417548259405211129953847038885410160*x**435+17835918622771516186223947692977252089602466240247974697860932499981754155465892649539440260*x**434+12159930851381845778431776740987842821276209149459419049712910673508827772533535415551171297400*x**433+7993193051684062581377458071022039065473219877989032661826722452994856065381525826906828185368428*x**432+5071582142426697899436277529455363344693451611748210603649449010355232782843867438680260293228925760*x**431+3109211801044187953942055596537967131809199128106981247707160674438537741456248131748582855235616064898*x**430+1843583048302552955772739432480387593691696707765427943276926571549970879303505352797014723215695991542644*x**429+1058222969295968346860079018221157304947554942606015346387130808692788453400959234568522991956064043940780742*x**428+588527984397605190181986676936802311265148775493410916574640365728764614541741222573682673958873848597181641928*x**427+317383756760289170871035574635936165893699017889508659267191562060874572398375871475396728705931580721906480550738*x**426+166097331781476097062945656785562925565060268814543537991264264208698577497823062034716164547690460424563700609610316*x**425+84414264393031816199283217517343026917922945707494641415754957496785332373692759695456806726396792904375628256101448198*x**424+41691026907452331145488870889723173033288011981210084689683092801204775888283805828225478877417888120491001413202241711664*x**423+20022855251354211654188430270173433763681996427721345512070154559542142400325287215359415975451188782968134452223769372089462*x**422+9356966226481098866954128654084504099897450449156347114630449001147887408710293818955567101457146831314256613204558463786526156*x**421+4257215468848261276778809325097629645780692902300452146544083690075473089106145766892003072725208934147238804664710016698797895938*x**420+1886867559386493751783419471097697113978939207491597289783060707923644754393097004283989957258818373997607548134537335449859865011784*x**419+815107305245786831989770849954518316369242985282364500683843524785659820805230692950479185669685764992695047088712708830475287794714742*x**418+343374093711127777117018784926208345009318026257921749481515435748900338372372830081526173441012441258742234683977527310528297551517454708*x**417+141127469684794768233143436677559920383907478275091941903537286269366986216300709736049377437996590178915205438825827675964560672064478338418*x**416+56617351117801686311995328853868559439311425491854697518859703600604209827991980390740423609633020867921780746387473303758507462549098292414016*x**415+22180713827429506719052842298669505658433092692644444008947725656209917424609265902583709638438381212453303459487740386258085183500786042584622268*x**414+8489368105863559785748629220914770078551426637084299309383502430038155904015017473352816104183373749591247485638323550115576097911559531108639622104*x**413+3175611384153780777485246409540265100337103802980171227628546126078674191354460455328190383708319151613601902614983919931700059181324241370087208519476*x**412+1161455454133125057842599200568746115273263231714466808677126167343901696961640274726504917314703585528897330968693434145237716048476408044396117002110256*x**411+415494530757531770767351391540688210022309084653439406377683128976286006991436761239687462213906152664086744202459445176612757458761163570164918112494407132*x**410+145436548351158042140613643444495897160794069449468618295335886501225267856113758181683547434865471577299125913616424858268050389167540637469040812009280569256*x**409+49828662346006122166677432728547413371695594777067887750117785259351296548108895596708950520374641287646211340766483902623211027857063370406148398281851610837748*x**408+16715853680006411204321550401026195025571024344013370289563379177345302576766347513282345831248576081556995330615300427686502052689979805952301304842697509719621472*x**407+5492403233399758722985234047272739823572714175183334244655109636242278694714310246817399944995602981567088113852413154508885478744557666256451632483163291909663375332*x**406+1768139595830349473615895896563173072717215254805946924074295395992074901169032035552162354146249422822471490827830285767321147900775983837607845201457741158967329136584*x**405+557855729817628851249918389616426582587169843868578064305788700400799379313288583128730738338951534376441360703604075574844643798278520825953094102156259275890643715461612*x**404+172545963636588290568071048767150734312745327379523937781382423183368852317182402827650269014093184414819385586967820645109535728622921801189696490638773228995291358682662256*x**403+52334401211729425658137569911153505669842304005801658033994945038237431725470707606701242267138949864861093903696022911205613685025047138553995740310542074929799447661514082084*x**402+15569946340016870581575264829408225210240465408187737104110123664655200819492762291271871843048071574267335692548168780736598902789831755785394782980102732104126651751040064522424*x**401+4544836742869234848516378068859051870547301098486109867703979709655820880722984672140248206935721633512789637433675765862292532296910972637863648873254824977379254952834381484650828*x**400+1301939905061307108493076295910016833078423677760270233035716432351298762776298035120687260146554588084784031428052651103647974193906895978949352907159348461415955807105589084173301184*x**399+366110058238157821572732054450222406540138644603677787262558113468955760247851413920893473941887140349082244790087557831520422511547289165370327372492533446307544128116222732026880488787*x**398+101084283404326476410556775310211681776739024082599520217114165009572950576712824618914796896202651861582711019414866950902653706364155070108318306165081696367849884262711450424446041054958*x**397+27409858769704851666077412675840127179978787482649026148776056858788187614663061609492012981170540884660970936049553432740376480077504083043927390819330908389371191859200694147242049259385113*x**396+7300926364784074309694600385240656478627133374547021852787798751357135342967005188867912156519377615141757278760809540477770754360057353020569113362305440292842814394618481667275233735169706956*x**395+1910693398871625388817084063579991109430980491316670640117117997654741533090809891229289554597662067307468057141248418652404025700269074561588965786847515907611393726057320488994026366596850375403*x**394+491401997831271726294817880496036347081460898257483402838886163174721587524851914892727239109692657703603691395228242199223757227486507923970510300463496142193634831473348571769047972174530440236594*x**393+124223570932877118202681445016068850407193977169581889520771305083616983919791780475416824337423713148229841250739457850305885864948837318370982822685372028244583669047676323636182257053827167810379801*x**392+30872938788497030141035365968474510605980988224320686431780088839016966062397046573483766293166865421199207470235147564661423099593559893924726548125227206016321231990105444418366874938884354880417360936*x**391+7544700508040585323815794782213546014282152619322630706303234814602835392975749856021012127451190000347489416253522083938198800767330614798477606796001310639565856152860336758231193982896225674699155237497*x**390+1813330288088410686879200172581832063521152680484655077064010407876806817836439432350059525216269682363703074543997594455080006993294509542473411522929326949649493559729321163322273969400129228124813000252706*x**389+428707633301342183377974371302704287755216926827263929363206113499459153601603335398787059318048552177950436818859171555286249700294291483114463860956388627911379445171204414458019237380366329143470852486098843*x**388+99717461825011747716186201960001155881936053890158589854615997635710245860356301738146518683880547998416409978982456907129946540255107269353940592619595005376081547377989773540986638852961203096640867679035145452*x**387+22823440124895266080507050430384946273281983004020204756619128401889715026590651571235284232102270812622520180496518986204995619652921051475837865410586370469895533265971358849116793026295008035843640247397933799577*x**386+5141182762839151233907773065254127960495833768465697153902287597046645096117107636077031731598763634756972524295435422627112633647514985929535576053343577332978371077595032071104255136270544246683505676394608605281854*x**385+1139953744232468604032846960093847760998462033903496811045369068926558553914203007514596804142884339482420558065086529025728381590361767147508396930463163965755902040396058815879133220266799018359420923727366179705787107*x**384+248841026275993591395437708185857510023691528248762677485441197371028784766552699783854348809522272743071860551462778815003213701537399087196923784623785150787320948230638803611367076452921285467805384471801832109326550656*x**383+53485223240697857552300869235706484587385636399568717853377569465343004408535008002623532091313978340996052897872015664528607897861742108490483268857269597124936948435161140322917818724141949832994432920432247543690614317544*x**382+11321070060973120057873063399235233449697439947200619271546958339232197516645236709139879174878664318442658838395253946258397199098389934646787480375856426661672833944416751974442515117079247784840180501992504664343564658937104*x**381+2360185073096393086959551592231693089538351232233934548130960415749999774760360819285183778471869597518559840499356855646513075623521653153848008759010892964288053361063390341687182918470526579310281277334615140071944979426721208*x**380+484697763051992612284825112798018135001098810570842124704497755653801045107018649448804081975183184832110546198680915356593360586144370062304658239090252041226796550194284528140162958402220013837193265289523970513282962722017638944*x**379+98066853511463240469613097500492685397776952567280026593709598588727927084579248440272556744264470595370275892830052821535132856022898671658116721044763980185142581256923818727576903756992802244941732725353620693757410213036570063272*x**378+19550511421610794613163450509758004909237085856843736703666402308132177598603678144202187650573011146980608668373817422134829889646636430001589002697552533778292346879048003252850281124634206733790040831149812587506674113410931069359088*x**377+3840922896656639174977358176724463552869374195525840282605536685086271389275943211524353636402035588555653610707527964606263951757567425074616691336782425844128630383036010118437755340684353506710951195061246401604302841055890209117016888*x**376+743721203379679294405239636516156139227281223761974953198776128140476244690764418001025746219751155474975094359605036296764063491503995521973279963395832774969117871221106947055354777811804926257202630973543854554417940834758112961899806016*x**375+141950199852713114073282191002801167927138082744975553124156396475776733130865660273229839715193424269583079362323303876825910680115587294862467660815084485850536973317372873004280978147705696943613498858918666363845493915876997962400129415448*x**374+26709513231515433607816870430493466079580496029527703700590136418480397490706903615062863337832797828761855497258010700887250918768982752076363867887551279288040612599238712922241183816942586593208674440998194099006232960088353757309104411087664*x**373+4955091024192224731275500036287762585121876622008618199193176763617106597625268980258987137453310033425914382397452803902572232164411872338025251292189521910995463139906264898364717027178069837870674363884248746239600954410563538383926141167981256*x**372+906448945868419395211509451325006135320381574807060748348229670719219022782462241147268119307439950740812936398325250492982879699132171917993042920554901731802920500154890400666435025123541491310281448008651818381929170905102442693223844322093874336*x**371+163527300431393676044634470851670479006965019164466279126915592706051246605869726748113787186723280670623397755535807093499585593732240751141840211005687553366045093105795921263938923174164202359505119577624446960590126955325869895156633510820820284312*x**370+29096476606975787164600468006231119669218900609823361827214301206194395367278992959999233313277700811138726628273329521459186391173351938458224699626040298592449750336417135536980650596175054460478519832400460710623570450528264967910888027731782792162256*x**369+5106703518259693549696922974841946280646283850349329682113053596414726035750060856429436368005811810778847011031411784770096374260468375083245915863496503083178952711225762087010328560836010540361318775707999430613086608894236391637778085690660271785351688*x**368+884172100477087364886179863050784378102217175453630873401433366742321936382539690529037017020356553971635903061432130167499474689621862703425320083324476601563480261432241987042060434851342674859879068046814494228301071900277895944565516797239384749774410112*x**367+151033627340459839296219065230284890004556145995372832441751690039858084308747266894957301927257116462050585412462737665345579938514841282305089422400186853857619967060148786609983253489114420403270791473605656561850408957568800985375790935004931601666186221972*x**366+25456279511748064372151625605009609760975205417639749779325277165464174120823089749025175234344394956435109010141794186041785752093038732519231957797641765991743466474530276468959267193941959888794144044632785947793143149901623976705756361445814373946858595629704*x**365+4233927374355858844262300186429118122041272644343232369040901652947938914516566630027044664999293182791819458194736751099653969800291472950105430989938695319913564201748874066312376673516794849982719201462529006668616184906345761779401780653992199985309116080076092*x**364+694961714588296684167810310005342470023661692065213714838822608987878952460773817698153298030866261748683069008294363853225848512497180225757916773347311281390401674663038777645377306492237281955837190461300907541528994705199784037756575443566450687537723631178157776*x**363+112586997615934843879038300022861750442010612081365122076449628286736264226749470952802392614297113556045976390346340309006263820093499813078113568101872597774571750852716730891020193741901801079300780541369743490712400976081300206941103907565247665312298272916671374516*x**362+18003852926962293883355415510047371435834367934716709854007192018943417917867816994971720929702100274156364339033752129961811419420099055071538439978395202198264134281600900937394674552340961615781630773543501270529465559924069257416087638066744696010049144094478207208184*x**361+2842049514068097596855315926842026095568516477196107858203728896967385971217283437764628005481598934921362151731081974412368823788636124552640535327535096721611216938352013549910734243184197447321712854537749519024451605759297825119081012466631856370607598388685644062866620*x**360+442919745683001696507019280993377575268941395541578398460710856651540728318179362597050879294750939799445918775797628903882407481085760108778071743308063401869751336209229140563674892456837845062967281615296751197862131264121999875305711234393150641407913395388285855231694560*x**359+68152703818499022164846248428802707526930879197684402209660748744409607928047634365374828872433871113220201859952537546797693810744733586708434467467334220085039721322033300294076153080240741806016164840010356435277425463395553100901761073588349937085118083224515987595776780380*x**358+10354816565364683137452506878201836650821193516352291905686622625593418129076111355165604289544588896982571402196523469420230969384537377544705155119952012513972524068266563842376435797068534908508445489484577563889251030730459733347251172038265376606048172207559444128477864106616*x**357+1553598682869145194938864556397182442066251243347169243406043587414475570439644485878315720305326797064614619215227262680157812863798319794911795813522078072093308106776523946609098253032645162779645498272374216902777175399561790239630617641398795620989700876812651442457718782728020*x**356+230201144288083046312635035056877161071123277573780847196891940966880355240514431081251787262265146453792877308045484412392220026212761874432917621121540356318717757208978560007077190677146093654433722745246975623461612355040961480441888674520029050352984847518793295511785444246276816*x**355+33688576156245449930541531902505034392027566842046443485362442512856467130242181655087030505467343551012174734337987922267382013586077115776415468950063056639076410555183038043426276526486457133607605709679451596751690749138364366985754347625019416927867443317250636466689745886781417308*x**354+4869652864984555823757830959465017922808935528138289507137083914352973857890209588204594851415301457088941526693945214540592504582497266736051453600222689589941221522739810576896266018259752818741219026609670457634554107882044274156567191486899934403312754036635430714155583852578275621384*x**353+695322760448581697927135832935701331108675482240317777005799582524109629144342865155414559329667464675831385604432162557597700279229323987696481205777068143101817248158878923737415323453524435521719366333639042590821884325873391304292885527009647767408948158601518457555738216940761673340596*x**352+98079947648039630670029412302059367642732260070848271727010953313335991422192454602944427212035831306968392172906994013897619479160950214976620440254756698139733224460014086144508354625312330357858840758845724023943865290931799425576313465112355855970944616899697857333743866977567987719284096*x**351+13668187281350109000683028058393735632055762999709547083687688271113685119785405346503833478659513625427780684030953636169055766945343747683533168082601403950084521126937759405628469378438279785295673160851086784255883476891034461140297471195215624615572065359066290248785675134644022253149242632*x**350+1881955988984752705354672087670169385293179187071096681184660314431135674914001155574914382894207214321209680391228772901162768232900127553771728918388916254141178790338984410162381476830974796218046785841844809060074191620983134167955665330273962019098185431433784046741228121696043576240401805136*x**349+256039016900814433028454077839374372651315403915261242028985934657002954766605499438535187645113292132712453177460104827350546914665358980266397636078495937178102289752467024575571263816078007359429743230530286702749574321636852360795508909904516924608258090303465661217380251209854291672249879728408*x**348+34421569548944779171371489954710533264976266303141711352320694282040068353048508303957369705150739389931261144944416347555782599653724448871465913092076991672029830224469567775868885590588236556393159893619170275563432820607512657697340353167405510121051263804475191508827385326744329336962835043207584*x**347+4573114781579161956325257258286503560070767826713870807357512849154692130755078437838189421173220179255966777401469900446758623677618260141713136003771193271884736818478850634879336991467719136963243297591863440215189580081067313486214447437624733751136320354574202219093551797711045080420882693639053512*x**346+600452901216398587244076991952720442923518652115678313945530307857445207793924177157180429180560044182257813222826603671463861624352482758510442890697749795317527536559321432294920113190257919537475660377518954456418625490205218096515144491921514824788732185541615441443769917014504079713110591773056651696*x**345+77921828226442291555450025798698345710016120565226248373312178181924369202471478603671217175968495749431326812292242076814618117998471516392467438788716704092057067132155492794374125497091837766097430307991183230886905779618552603696310560596440036093007657740386083577680850374016416501015745218041279444888*x**344+9994936284357893022641713686449020896341519652843926500287859065785112982346029474063684066023065843866736114416327679268264385437686292064908896486331320418258777340443760637016957472297912311523750498931248465906672418925016440115637005268370233400863895406058259025281736422344701941250643595963082509080384*x**343+1267267982197463201279790958758971890469599886423155509727172281273128832514409111802217639117848156981854119731479264009713083419762224223145656606073714491302853723059502229641498227734868341232449772221301978003466865826533267347214229396203891989092045372528487335207535570772682015140742816133168586308034616*x**342+158836652434098635576244553221318648087672011660094836256221053767373087644664603428939697660693935690095219336148814905221329954715864496619792232888853303039846120738310378417867127689737403386816656610126773284268271543167391381255803413450657295040994806408010721299074741915893486609235761489065906003532716656*x**341+19681246210317987568761616066193366725934736606807906818465885083045344925706186845674011704362758503411081839378535507064489882389123407644710698610609717122554940365663092327288512732399534750245272089920015690037556267971563561934298576020199877099805792325998446360452243334530398670740617245093214244788757809192*x**340+2411011807411297445638732466001325027454196187141413117373965681395942816598992775041146347308126154030949848326886461373749477206161694619092092241933260274693997217177076339954771025921760837547606214218663460714276846262951879079588303757889080698634592541152725254285558485551722134967768336418865744360851834413856*x**339+292022104797805443415288465299440329735413087705477814234186872199637192672342909179268773771731018883999614190474055886418513013889922862752457267077930983517290118736006504463061716839740039716924295148626015599468833716688347535979191527121060910985070490307723351017290325505170823645178845226162393360863471105331128*x**338+34972449494837784209575464880154308705432381778896930147865783701975979114695860482397853069199254675666464409189873925859533388461008954710482669369281381487674664198494997003466933902886143748838179226334228259177584880259736149836416314090158140205506007166240690349812046353056400863370615140797011057005621741987363984*x**337+4141466249322925520295966175814241098046288243213379637641198872709704610399400778356261336913300314367897637179814780709022693867781399441629332621974633547330358333377457423069010625342159879111786621553763102210538904763230052264455943473477902539469117675832414123829969370739967290198202909026646927828215489009540690792*x**336+484979412488117558781806103571633213847941051328061885791052456612984755048036990293706270694541539459751235130353146786941621132449441842198143043501101603834661491983551630529123064625914756461643225263243734695984034122251177050303656131800356416646302446227243982504325004271377148336729404107537916485850915764337435734656*x**335+561637995223407341607941534990057569616170610247757874091775235387632199545544338481634970127669959845312373950728989718048892848371112248520247038275711290684616064850620832723647433283546780491234642532360898539045608609893636874661579660357698146004710315027524744621114827534509320606138622254016911587889782981510121540782