
// Make newform 3.39.b.a in Magma, downloaded from the LMFDB on 19 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_3_b();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_3_b_Hecke();"
// To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
// To make the newform (type ModFrm), type "MakeNewformModFrm_3_39_b_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_3_39_b_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function ConvertToHeckeField(input: pass_field := false, Kf := [])
    if not pass_field then
        poly := [27342285412416035125187079526375866471795145886924800000, 0, 190068212511425710374530430459662273636990976000, 0, 420150309279704216298413492838082805760, 0, 323765701965839203118204176384, 0, 111006258614054318328, 0, 17353504902, 0, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [7441467485288835654971287107361988045637911894524409876683206491012413177840908894208000, 21875763982823743032100634730855217372260424286149038638538778822301152008208384000, 32721160665434439226639136564170464963890416121864966862146660157371466876190720, 25566771006175157981122951310531693289768457887872899170608563109232640000, 37128593435076453386049815622810613127951754703810080878286021263884288, -44605525687247398891764117772494742651103019994732032821051648000, 16375310025354383446411420007917687924002534388719616315744256, -37786943193884101608003486659945919843430407967962583000, 3035660058969552903746948802578668798772737637586944, -8916634722586471302087631198640286315155590750, 196363671249701980947555003555216496673792, -649926244105360270573521797254697125], [96890913755241021997686740391659796203998842323978706630576157677848304981627105181696000, 21875763982823743032100634730855217372260424286149038638538778822301152008208384000, 63648439082710165539526008603490493327239973585039260004335424620545578861854720, 25566771006175157981122951310531693289768457887872899170608563109232640000, 37128593435076453386049815622810613127951754703810080878286021263884288, -44605525687247398891764117772494742651103019994732032821051648000, 16375310025354383446411420007917687924002534388719616315744256, -37786943193884101608003486659945919843430407967962583000, 3035660058969552903746948802578668798772737637586944, -8916634722586471302087631198640286315155590750, 196363671249701980947555003555216496673792, -649926244105360270573521797254697125], [253009894499820412269023761650307593551689004413829935807229020694422048046590902403072000, -469658826901261901976410784660779185140600119933049746024995971440269027877486329856000, 1112519462624770933705730643181795808772274148143408873312986445350629873790484480, -2075352107896392141779846150715893862815264980053520702008238040851498296934400, 1262372176792599415125693731175560846350359659929542749861724722972065792, -2407941830132283001227901311087954958524415994913522575255137863821312, 556760540862049037177988280269201389416086169216466954735304704, -1073439635998852795669840470379734985084981090780626129793624, 103212442004964798727396259287674739158273079677956096, -199741568274149854487591846635402323489466154352766, 6676364822489867352216870120877360886908928, -12929596906469677921797843628575159986773], [-36282999061901038148304251357455046927892976996422627561074352186084584720556362298051002368000, 196149378167647712893040619206129246283610670856866668116231500144404061273162283745280000, -158484737460100229369256014987015997970636585424940356239232254802605042361821749575680, 532807056441054853001532225299080373812624926361191026638593888350467920641392640, -178204266388712377918984064690749899133949359995260315957533348505952213532672, 261309872560495007853859168298219257013065142790278177226094943015192576, -78186465699990795052508550523451928899172972000469868119661885579264, 30768973171994241437183889716816225164797284447587886555320312, -14450797424792858672491894438661475284870392383246264129536, -3216319677287449516281861152152740062817447567320762, -933087357413769937260577126264865394670136910848, -549566377871519397259200828106986775783391], [-18046775245763582148554592384766614501030684657925585510348386546492980528727995693033062400000, -38318088015691260090314993831624766663570149098881760456163463636055856969679418425344000, -59415410915514926082962873818757630737790907149548227258448131995037554784643516989440, -132122726068605825522967516887634853206161812265916329613225925289247117578076160, -16355674820523836659770420756781095137171630652145280264300885812962604875776, -112425597084100850942253349631580176989694343275906473526712666256553984, 7075388109601086005694499534927462938020925242933000205158026784768, -40342652324489856017468311801441807051248583180761044836592008, 2933581142714515717740753600166928355936936372441205578752, -6498784609374515685633763694999547583995023877689242, 254674234572792577317957206933079814625582045696, -382687729134746140464278541755202185581231], [-8630762172364560027828227218863588350510088148505611667714845203786636594807863295082496000, -7340715367747753299115471665437534613740310764579817321073898958179685281658740670464000, -102222879603533138826779640487352693637621096459775595230975841775338005512448901120, -32322284007299270525755129674765649149353693743880001530453417733741025993687040, -217561148091119653911189582936854324964712264446090803917241211052842549248, -36878245339340749238941843960016996327535338420438031940406435524315136, -121534890914279479754895262524532798536290611872665372367664715776, -16308591013191008824168228927633634689943495107927610530415032, -25244792879315397154246472913812219274257239763117223424, -3026179402976423669965100492128498785120812097494518, -1737475831117374051130829119203049139742514432, -195788150999083545469651618134894997500649], [4520400834619276109386520661752768413700780234280525570428438450647361601108577812081541120000, 8365020249189362832954721700194726118541554036484645914757133172428755174197796894932992000, 8560566533282623413462732086003700702743105927775771366320554764112359058503400161280, 23666776264814826542057401685830570316929870196788885246807293806103965349141544960, -8162950564111446370526173958834803224178546946878810411153652620827702591488, 20651812023567630433002892935032427197631041824894393205229255626520991744, -8102477357389500761188251495993004264894911172534516475379892166656, 7665894355639526395419850460079068763380392013751284182218066728, -1979812370208961043166436361722502688849130105976893548544, 1263254302809766675281679837851095435851232709699028322, -146457427059443409069037155119873998451217390592, 75437186070503078808652630935271085240037371], [-2478962398166085793661709731991695217165958686990709680872634532936274412994927903040620986368000, 290089998560999623296274243343913553046600922056943037208772669006759467452871425707212800000, -11854579691276565002801662231647391188909377922879797349693951814531477419533879969054720, 1138617871104552556837539534919033221592836960318576318385243038127126329752194908160, -16029314172352232431065604738699678435119370312248299974009147052102641503961088, 939232331946520457024603836098276140292091200382940248129860188233395165184, -7757710100310503307877693236561255629049478603326738298864067308896256, 315218144856887330829161057681128723091919077207675887004184403688, -1510903479953097466751157424217293800787825107882458906988544, 47141349948340676646038440005448232282785546026016628882, -100444710440543145077047073467248930685609643579392, 2595221618621251259071421476110863999942254211], [1470798074932415794159823581535031208775555129752688536613510237124451884373841394384427286528000, 386353570049812691642694316169913835667133715937857484652570788835866013927865547459919872000, 3371120218315963201076987113514455630685190724205847829972710081053147805129670519685120, 1693976458953633952361023775179927047895468390557472613022492379195235598970891796480, -909090915010052800301474253658152354485494538767909488783342295306058598449152, 1917253769610653070997361341813731101006837577378440857675134001150990211072, -1581856296911092677305890167626334241672367646076652167240559145795584, 844005165540615425725582028955516302638606673646520416842424028264, -417715954206914856456777391571940183228745749756653609209856, 156215566732738840433261085469996811953125036629737718386, -31791955200110203875194816069639289691323642902528, 10092147356051080281661870234766827033615667923], [24399862870516869662602865814917779329683062359724307785191989147714631861308211892594682101760000, 2456568284437864164146001404306785626419861884909663032877241736437091411615114173949673472000, 117660153180844380449952820576793973474373771962073299776733729256992881219512099269509120, 9694147264309259202968328095332824347779846576003351481748885170620368406684777840640, 160439851288199516758521755063451640917570027907655527391625108808202774430875648, 8171525674170290094287801449584174990815434500841339856715720701805915785216, 77920419565221482776454517013490916136978961846268188179124215697883136, 2810181489065783683059159570522055122866014032358264459845844227832, 15201400271137816197384881892518896364148609504424263152840704, 430398840339512797802962577323900242318182123563022851078, 1011507633406179883786581097699067199511854167099392, 24198396133975141390419398558699633935030348609]];
    Rf_basisdens := [1, 1, 214772766786636988283936611384166863634371926827599257931866419883153555456000, 214772766786636988283936611384166863634371926827599257931866419883153555456000, 21477276678663698828393661138416686363437192682759925793186641988315355545600, 214772766786636988283936611384166863634371926827599257931866419883153555456000, 53693191696659247070984152846041715908592981706899814482966604970788388864000, 13423297924164811767746038211510428977148245426724953620741651242697097216000, 214772766786636988283936611384166863634371926827599257931866419883153555456000, 107386383393318494141968305692083431817185963413799628965933209941576777728000, 107386383393318494141968305692083431817185963413799628965933209941576777728000, 107386383393318494141968305692083431817185963413799628965933209941576777728000];
    Rf_basisnums := ChangeUniverse([[z : z in elt] : elt in Rf_num], Kf);
    Rfbasis := [Rf_basisnums[i]/Rf_basisdens[i] : i in [1..Degree(Kf)]];
    inp_vec := Vector(Rfbasis)*ChangeRing(Transpose(Matrix([[elt : elt in row] : row in input])),Kf);
    return Eltseq(inp_vec);
end function;


// To make the character of type GrpDrchElt, type "MakeCharacter_3_b();"
function MakeCharacter_3_b()
    N := 3;
    order := 2;
    char_gens := [2];
    v := [1];
    // chi(gens[i]) = zeta^v[i]
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    F := CyclotomicField(order);
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]);
    return MinimalBaseRingCharacter(chi);
end function;

// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_3_b_Hecke();"
function MakeCharacter_3_b_Hecke(Kf)
    N := 3;
    order := 2;
    char_gens := [2];
    char_values := [[-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    values := ConvertToHeckeField(char_values : pass_field := true, Kf := Kf); // the value of chi on the gens as elements in the Hecke field
    F := Universe(values);// the Hecke field
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),values);
    return chi;
end function;


function ExtendMultiplicatively(weight, aps, character)
    prec := NextPrime(NthPrime(#aps)) - 1; // we will able to figure out a_0 ... a_prec
    primes := PrimesUpTo(prec);
    prime_powers := primes;
    assert #primes eq #aps;
    log_prec := Floor(Log(prec)/Log(2)); // prec < 2^(log_prec+1)
    F := Universe(aps);
    FXY<X, Y> := PolynomialRing(F, 2);
    // 1/(1 - a_p T + p^(weight - 1) * char(p) T^2) = 1 + a_p T + a_{p^2} T^2 + ...
    R<T> := PowerSeriesRing(FXY : Precision := log_prec + 1);
    recursion := Coefficients(1/(1 - X*T + Y*T^2));
    coeffs := [F!0: i in [1..(prec+1)]];
    coeffs[1] := 1; //a_1
    for i := 1 to #primes do
        p := primes[i];
        coeffs[p] := aps[i];
        b := p^(weight - 1) * F!character(p);
        r := 2;
        p_power := p * p;
        //deals with powers of p
        while p_power le prec do
            Append(~prime_powers, p_power);
            coeffs[p_power] := Evaluate(recursion[r + 1], [aps[i], b]);
            p_power *:= p;
            r +:= 1;
        end while;    
    end for;
    Sort(~prime_powers);
    for pp in prime_powers do
        for k := 1 to Floor(prec/pp) do
            if GCD(k, pp) eq 1 then
                coeffs[pp*k] := coeffs[pp]*coeffs[k];
            end if;
        end for;
    end for;
    return coeffs;
end function;


function qexpCoeffs()
    // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
    weight := 39;
    raw_aps := [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-9561867, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, -1705115, -340, 0, 1, 0, 0, 0, 0, 0, 0, 0], [675656019711554, 486451, 2066454, 346, 2, 0, 1, -1, 0, 0, 0, 0], [0, 27390754663596, 11652995750, 185972, 76601, 2341, 8, 4995, -293, 30, 1, 3], [89091564444452625146, 55263541281, 235496387523, -697666076, -134562, -27096, 84600, 668568, 329, 472, 135, -59], [0, -56025599754603189, -42748812501027, -672767318, -2889669704, -5179330, -114200, -218023564, 608119, 57750, 34325, 5775], [-383921551649582731759030, -28220154698801, -122468212881275, 2568729226482, -4231165, -4345587, -77021570, -155809681, -24564, 206112, -25164, -25764], [0, -26787086683905899794, -87257900318298, -828702692, 665830890518, -442538926, 21788800, 25425965682, 234600272, 13668000, -4080400, 1366800], [0, -1091184905810754764427, 2905747846092856550, 45665656678372, -65627849239509, 543397999436, 1900316944, 3087523112040, 12749585702, 731245020, -401954734, 73124502], [5202192655487816685867464882, -2524872460226435945, -10707541626430795140, -19945971849264902, -4627687572952, 2812946199462, 561725838487, -12540081785041, -4504315596, -636667680, -2212366068, 79583460], [-87068461771002779089333686646, -15158815315448853689, -64984693657887025427, 578717592374995740, -125984631923926, 16718934734928, 11330062646320, 121238547255800, 26724583887, -36050751384, 15615463905, 4506343923], [0, -1942474479281713530198746, -795493017436404532000, -13613493799806032, -141011002948988106, -198567824538496, 493056035392, 1322572308335280, -19780150505992, -1187163904080, -241980399256, -118716390408], [836103681692005651597107342266, 861993371101084516487, 3674869157133105608553, -12495565869512929502, 1908490221361135, -1069547529267111, -461895699745198, 3867020126885095, 1419058886188, 463218481184, 680578288020, -57902310148], [0, -64753264983908805751534134, 4299625000502451117254, 74758531848771276, 892410525149630932, 1157216128763904, -12886450772400, -10537138412171604, -147126022209522, -16050909388500, 1616521754250, -1605090938850], [0, -464897327436841182093929159, 168590064255790979961868, 2703413397641146592, -4160417948812300011, 40129043841417088, -187182042428800, -296904500480807328, 567735159735856, 78520460268000, 54647556634000, 7852046026800], [0, 1992698052084223348974466441, -1425622615750934593700275, -22031066367683383086, 131827606663290975337, -285930444497395293, 499626168471648, -90695937773248245, -2235889322236476, 1405973646824040, 15690822564492, 140597364682404], [1605095906483215984878279048063002, 355661844190373914214979, 1524158143922353169986001, -13047597916745633574836, 1019935112357887458, -506645254346652000, -357521963541645408, 1279136699199772728, -166140380919285, -2822005804299768, 93305172309093, 352750725537471], [-1024430074187354166049778956113046, -2216021994504462788139949, -9433581025714520977226953, 18216953705495699760034, -31705948987609575179, 1899292757953481391, 1582737385835595704, 45465232985726136631, 13578292804390184, 1124999330149312, 6718833944060760, -140624916268664], [0, -39951198488544450679256031208, 36653203893974004625551500, 606778267678117894184, 4531478744709852464842, 7509892586223450802, 2656369230596816, 23988027142116280190, 364915602799650654, -36945261899698740, -4358618497619078, -3694526189969874], [75386188884181915463339849700584306, -767647868239172844498324, -3225099575139337051350420, -36346942448205226463664, 20939277311717259504, 2681964765545325768, 2411080195838277912, -52613010242253875184, 10087878439308060, 123372592306757280, -2666847799518300, -15421574038344660], [281749577661046760135388470398136210, 74642740305410605677907935, 316203928723602412025536884, 933070713085244001759610, 297213477134445248904, -61660497701867049834, 17157072733501385751, 3066987996005151327, -57627220182269428, -392544096295021280, -4279604072695884, 49068012036877660], [0, -879740558824739218924783382494, -191101845276502421565443396, -3183195528934925699824, 30892356117801906152067, -84072274568348558981, 1661438543014077800, 2568213244705658883201, -2000413324208028737, -3333721986152250, -415693007952134675, -333372198615225], [0, 4044306665711000087426507976329, 1013041477451188232846210525, 16858137807079227653466, 81959346085865734782758, 255219399689619479358, -1538371133881750488, -2193721984181532895580, 45751752574214014831, -1107769609956002490, 273815822474837373, -110776960995600249], [20723282412001578505064895834714235394, 4795129929673182225430669817, 20231125555661028991158808455, 142121659316137406832874036, 26305577051645727150202, -3624779856126273608028, 1247186418106851414764, -14969713966756280599520, -4640269810231590983, -7943436718327595944, -1823670110220320745, 992929589790949493], [0, -17709035911618328822359028961965, -33661115868531547226521877250, -523788002481917067799420, 486669439486854767738785, -5285544151107126068660, -58740951997474929520, -92055497907620144561400, -467718324314234119370, -2331630696382656900, 14452074929730466690, -233163069638265690], [84677174704206804783459061475338602626, 5045370712164809716590996067, 21505174783440897590402716730, -68979899286321223614125030, -46776685418490971498194, -9798989009823611376132, -5621575930527168021971, 146209358767865007528143, 46084556747163706144, 7855136420901300992, 22551332347275521760, -981892052612662624], [0, -398476747893295074433837152236809, -41430271248490349091137650369, -699546940312534254283466, -7068724874879489218101315, -9083329081279679255557, 33228938665158163600, -5367031467429842647017, 1352673157572111343910, 77071412691774649500, -600093397112075950, 7707141269177464950], [174607834967360144246823136015356207290, -6093194723832105453043713425, -25761112447742360597354277131, -127110144753752702003006724, 13930072809332628067370, 20128644897940928789280, 28714466697095824293280, -109839769804919426184040, -61902909728821325865, -153399446432187754200, -21363989462398928295, 19174930804023469275], [0, 192815423208379555752522061168746, -83741845287363927418805795390, -1274251674873985036342460, 7739975402467323274097260, -13637206418232548687380, -158342980822043538800, -175295315033233687684440, -465004829339790310090, -189986436080606842500, 20587101597450200450, -18998643608060684250], [-2573243222262197916032205683623695195406, 578900655030075892060232336047, 2474780361158504315246281884904, -15184149720618402723617812710, 3027667323792162675610004, -297772790632972796272590, 473382542514816655438003, -1821569895282753791243809, -538349524653940919076, -1093261574878716540768, -200845913897050675740, 136657696859839567596], [0, -10701369327080230525320115632961967, 56289348716705386305548095625, 3452120117559834110252186, 357989637622390082756883803, 129238126559127471297133, -1882453249472874067216, -5127803913646930638403215, -21167534867170766312534, 5696015581234932062340, 1040214870491711723038, 569601558123493206234], [0, -35483634526718838199356627207609664, -13650112498060914100598557557098, -217349294189295040862662852, 80333618916739194682208742, -2810835188950265016389852, -924006586755907382800, -1303274256870806465147640, 69621449461599502452058, -8472230206513013233500, -616221373962324477650, -847223020651301323350], [-5385971179506536640984525344662498060870, 4237082511393735444749444754451, 18023509821762253151742138644943, -21273012804349675977567363566, 19337619355327470375163589, -3721796681306200970630337, 281494087304112340680976, -4272257220759024771118417, -2006576321512262781744, -9244532787506289286272, -425504861536988310480, 1155566598438286160784], [0, 62606318601956324658354757935576665, -10266586179801303086966028643500, -179608078037581553724960720, -3788491807059193574128946595, -1617935847563327466741360, -46056086342320501289280, -42958558706729584626180000, 419503228887480561139080, -81982661088075849802800, 3315755476772540342040, -8198266108807584980280], [62343718442217978180212842530869310854882, -13560536569065968756190806184437, -57996392266180551071363283532138, 381423667147553503283295237466, -20562912664118341115833846, 12817432390694462320966872, -2457853133618181200292119, -70801989412579641158195665, -34112902493263385171096, -41603871544973864842816, -14456209275070826032872, 5200483943121733105352], [119223647023948163373238973302507958789594, -22048380979066020285854031904063, -94878992075074167973317096346077, 1201602855983416659393654588004, -8930079103847909528918114, 31061346881431431320651688, 16685194547067885689539832, -186848972315943414354207848, -48747339726762438352919, 51450244657235267797208, -27589310154458423413785, -6431280582154408474651], [357115943221780322171033674848107279409386, -55242035227165015629469189135313, -233930344406126267878281154669943, -778628617959562157700917001198, -327249494588205383777490193, 27781364138285177659353897, -43715223145501862706737414, 252321080462302408949651471, -40937034545971129810740, -452756685249174920759520, 7828775555087867642100, 56594585656146865094940], [0, -1814760674073724233760317655723329994, 5592391304865169530807098314278, -35039705464936553175689668, -7561380320338118988714183206, -12483052369690948765975562, 631513975676145318744800, 715994698613140555386748542, -811481589797232555232364, 634296971010476263413000, -94448796817988703344900, 63429697101047626341300], [0, 24878051899658638049161064277031891, 1498135347981727275582852897503532, 24489303375056993991010472368, 99650452854132360345003223727, 323844734192348480136301808, -771727740429420461326400, -243192099985110082210728960, -12745145504509195577841112, -1165417969080042665526000, 76390138199350848779000, -116541796908004266552600], [0, -3290078812690409368564085854996595737, 755682114417983208635517865010675, 12608632118734508806887140462, 10000723987087904440934352751, 234571084005483641843332981, -2492334799404109351560736, -4296878886635699745312111235, 38255077413713304128164692, 379104973311828124832520, 660994197182210150373436, 37910497331182812483252], [-2277304900894092086298521884852366086483478, -535868702058197777507088151926887, -2267119821751339395404681512819013, -9649539118576333769642209193724, -4077554543472989701397643586, 499486054392095262720974712, 167232109767020372695822696, 3735448515615711264475277240, 1274494054921320507019809, 1288869917711158615580184, 556692657603712840036143, -161108739713894826947523], [0, -20040602110553774517968472179954945506, -4922011204681466023513433937029750, -78562182928906365084506981452, 59689891894769671118709710184, -1070008123892498951130530756, 3174782170723966440680912, 2780705223905513813542675080, -38188747559837745841121762, 3612297493735990792348620, -432465793307392530935366, 361229749373599079234862], [-12601116474327087462816142827999856972423294, 1172141957389316247831797332546548, 4930210656242686412558045477194532, 49905644042890196064597438386416, 4391079594157891796600903424, -1580284206773676424339408728, -1062517548491735971926226632, 1954074595305415386348553488, 218728685133700993154724, -2455326890474050195371168, 262822273221478633788060, 306915861309256274421396], [0, -43960093182984726488382347053331311529, -3916608046215989035477390811799566, -65923730421287931402420843284, -613823379694563458514425761351, -872605051796771869605375964, 2487277536130593525578800, 820416648056726939071272760, -75914453535275086246316334, 6980113791284097858652500, 76191995095761404470550, 698011379128409785865250], [-5354452278682909716502999180920919552679230, 2318646690392165497206015016306267, 9750806185512564589127197403532022, 100524111893337422654446565946042, 15534691685967740406189829418, -1247168339246728930813790184, 1493149905337731995771536537, -13992251763031893822557994049, -1869767548660418749690008, 6983535691703898706454976, -1371354755061703043998440, -872941961462987338306872], [10200249211305786417396988166064980005407242, 1835381551862891137598707407704723, 7535394936144289218639896902516107, 262566032642382168585583576066882, -16867601326894073898881671055, -6001442342041693671873840549, -7465790682530888346505641340, 58298346597640576093041808663, 17193457641645607763944072, 1899960192618920621561024, 8477981308784121343124472, -237495024077365077695128], [133831469019178766222053639094864251461125426, 233399995773474043043154064810399, 1918946338995351315752391206574492, -927157195977867891638581026669350, 38048500419078305327318328176, -12345469097885458466378700258, -30056910766959505275430659185, -47178804461267121803598622225, -14813271418399603970461572, 20940423267964354209791904, -8715412163447574123342780, -2617552908495544276223988], [0, -222886470309296772476986763045979323594, 95078847762538922560908764095393920, 1423873528833211454126234318200, -16745339095983259407876944601913, 18091916448300703645366799687, 30920653750194761664029800, 26684420808490918593881830029, -12000440832416854396200097, 91775243559110982292479750, 1447360918362407813240525, 9177524355911098229247975], [-138777728952599277556017563712564316442157430, -24485990387747832297294872481590943, -104067572767097983303587815408826573, 32843431176970250842513203062692, -186108848483633270438767631922, 38305871884033537746519275736, 41941821379299736642548713352, 135965301126023781651034800696, 42368927352934767030359657, 5322484823911108480507096, 20851808374972939235148135, -665310602988888560063387], [0, -481483706518208854113195503668881295479, 248272572266732032377362680125039609, 3988536841964010177584633209906, -218082563380706677115898257822, 55798388265409793816806952870, -206983641932576548971092600, -230664946178605651225917623692, 1946606204491993232475529267, -141640284085315774833335250, 37581882074612559759439625, -14164028408531577483333525], [0, 794593678303343768317628827759236842894, 454428307059020067039001875247765650, 7056128226641495826089680170916, -20643635284559796811450841150572, 79803066288966133188857101208, 285837273258984564802710832, 743138996102642886960096503820, -2737277123519167383672741694, -410432877842906747316284940, -112502606099036815932306202, -41043287784290674731628494], [-468056023939812059604312806938731988322260318, -32283844002738415071886722545493312, -136204080535191064593580329405191208, -959473597173642084866352894591008, 399075296998961068532263161720, 51706296988751413451797472856, 2816290284756526748320793160, -1110039085578683293338873052272, -430999865032657974111322768, -424434489754995233124765056, -188972776906641784985363568, 53054311219374404140595632], [0, 4892206829498562208775490654937311821950, 368882859619126544852969261920514500, 5887523419282855121545376322160, -24995020810533195412718124385075, 95675717367897594427789621205, -840837394946771411758298600, -1129967295189858847245412478225, -6101393835716701026696540015, -85408535731206426145846950, 201668495163572210324989955, -8540853573120642614584695], [0, 2604237358634892671497646170014137910886, 747864769158924624669065957436155186, 12430954802885967007877233274884, 84077089044969282959903408650488, 166602808839120818333791179596, 459408460287354449007110800, -336245468300432861907192746616, 14593250172324608677469021942, 2425088594995803043162453500, 127656744427741692064467650, 242508859499580304316245350], [0, -2517488506483738552720899795194489610524, 485939281466046949770444012558173040, 8712657573394814374718154146480, 168928593960481459415399984381482, 119981802591768575274797727322, -507224308339881519826138000, -410938094114537231065953909186, 27722550344883110710211951578, -1307742841819428319837801500, -3968207096972452027245650, -130774284181942831983780150], [0, 3211269500831539093066754251833386242827, 297235233751454540673243334739264700, 6718275208008882661845051694608, 239382291154411255792839420969879, 183372514940850565299231272304, -5584740620329211670024106944, -5584446158373528276954873611040, -67055067194813229228932791272, -5286984427440623273130591120, 867486712338240590192967624, -528698442744062327313059112], [4742837764625641334540237244307128937499853842, 1148427735141564732163735007272694991, 4880974102723016106756414443868077004, -1621971252710456307574046228401734, 1875997489402385931971302485792, -816275590078156785138275073810, 789677583998137372916901178383, 5136083481077446449389741493567, 1429399968015419272619395740, -2701868835974932386051845472, 883566786256142910437938212, 337733604496866548256480684], [-3267951282385652575822676126325621535433554006, 1920997931835443317323998233657792687, 8118865954440661072200755828291201829, 42947781508916468552900701943981500, 9995227204683485606202801907034, -1851623654000884443353342813040, -341370274954167570727884222992, -4024924625465925756281098853704, -1624162364640339190906204041, -4226044645942583987630307288, -547953391948758096226207815, 528255580742822998453788411], [0, 12031014091224528197739207991524858505423, -6614287309504189865253965644635650625, -104429646472621580203596320851394, 584268117022375692363696721236398, -1643592757115418648372673690582, 9187267195317841248510453304, 17194462466786202058665175297260, -23669818053642503938715688139, -9165646871217733835918148510, -3213381485951233695719428177, -916564687121773383591814851], [4938966481140538944831894635565493497560412506, 2013673040950259734031920044990203667, 8608216334520753753063624266982408531, -52621184252705095641756248259205454, 18843764324880711564284628384849, -1638626387130743657767441422405, -393355787802499086561289569300, -21606007020552592557003655412913, -5322476021763620057385569488, 3334888863570601005417356416, -2869668564854972591531369520, -416861107946325125677169552], [0, 15817256942294596123256174696166103809891, 6070471048186541385174698501589948766, 105548249134208742160177327785924, 979871701189951237924274514709745, 1846496374230520167143412799788, -18593504649792474293853049200, -28420695064252512467425975127832, 25604066054382440800068479670, 1283678792811710896619749500, 4776744041729289663125237250, 128367879281171089661974950], [-24806445213832505040317536042857469382082214966, 3359496344277159073310375403343684203, 14561675955251310843297711510763331067, -288046597365884574639673351102788318, 21711270451534031114063448687705, -3884002303058956031485933111149, -2395015181347171071672538876452, -14049953488272555952188039226185, -6654943563378912706295371968, -14115778722384446822331585024, -2445235611540428426751961920, 1764472340298055852791448128], [0, -17094954369290799638945911516963291432824, 45086960107853524719079990833910040500, 721455492296976728952693908765912, -64223366331537651954386443487034, 9671164430229630415180951421086, -24828090791606858361651721552, -14332042996831693782748950284430, -1077884634750422507388131667278, -7766632446595554237977061420, 5430359453242159166615224246, -776663244659555423797706142], [-54217550289145894908330588723607683428469049774, -18399097345571180449035726183666575497, -78009315722740957417354285176001899039, -163901149411519908347331546150003860, -183055086164995807182544687735394, 7370989079396774583236945539380, -12342627714617783301424468788388, 235999327583031722683210970867824, 59141695466189151880604537191, -22939880094520045243100193112, 31004590239002078767996030665, 2867485011815005655387524139], [0, -281568415081936271116718572637194523365629, 36498240579503197278007766334929246408, 631897561177759639266965731803912, 6891489504498468322356449934122395, 9951023574907072121169596829144, -73999651552453901423459532000, -104707928615983999023252584352816, 1230515213581081211491725586860, -36204726303858035176356645000, 14879440257727671838229218500, -3620472630385803517635664500], [165613170463380469211480036663308526346636542522, 15451517379013240102234600540990570603, 65768355959331704669559633538159837647, -118050266204997235250037992137828814, 332951537831403989118639170091389, 1358101879241463753146271896967, 11916901883899744203719360697496, -572940397512102806204782375924945, -146833250718250649412375834456, 92967718142303522860342970304, -79227107743019294884959352872, -11620964767787940357542871288], [-222010151107617968586744205545053711346068716126, 48477927113714705337126799685040767589, 204763723027357905664356457046492059155, 1206309690808032158146457253195440644, 280083973092230332318539904201866, -57719421118668778367158019301108, -35078951928391854241524114441372, -133196869124346691008528902053776, 32095190020753332864513121685, 310714010271034000715959442680, -3372030631562958612490904325, -38839251283879250089494930335], [0, 795329128954424400383011955562478112848166, -228253082279949549452751684740720103636, -3917332008101909090731462391225984, -38897637739181888732323088604111643, -59766024851753368412614159541251, 251236534430426716480120514200, 531782747117730353189725121629431, -365885465606709212908526065087, -430948118043246196665173079750, -105903945411931298786547436525, -43094811804324619666517307975], [-460155413772232217014530615086000987768885589670, 85353033435367217230680817351853293341, 365151490443623701885224820920005317143, -2508457172680194169042395249703210796, 594786011058341088500345219299014, 3992550217089314233481620641768, 163344271326946091642897514027576, -671045638291050955005861297593352, -216704401586966828038060460059, -314081241418956965983634434952, -88722123204798603645053077845, 39260155177369620747954304369], [0, -416008164203353080431230283730625805647004, 183276998809697712757573171276189287828, 3008071457656198474426080650026152, -17560931148183290386155677844126024, 64418266419962211702044448255480, -1085897564924881123015059093600, -1511273758751482232385927862907184, -2049041812516144872964883082276, -272011651152803627126312601000, 244273226115939918041133513300, -27201165115280362712631260100], [0, -1106049017422197650131996122322794053038404, -538773420324045419248524608203168637400, -8271329970823557258904676573581216, 29226997217286849734888385864651362, -83675596708830533714150122807358, -618986751255829895009067597712, -1475196095718876823415438848225370, 6385433803484144155214016658394, 775434202760680092120293344740, 232290108090025482964296233902, 77543420276068009212029334474], [-1774418056852295558582012956710220992925180389166, 279313539355013411360503398380410940983, 1197672930259074835159678657060010829260, -10942568673658481931674574013524924710, 1673924278627560076485051326491784, -265523527341241015930170684128058, -60200647400484475129650218416889, -1034027107625568715845238414149793, -375621150940008404542241355164, -626970224575214903640522005152, -148624936434053270793588052260, 78371278071901862955065250644], [-3922693889169007314816307390045654759786670051734, 575434295285112454357709922311788981505, 2440422797259077826827458550878629199491, 4441765044462643598870722215523229668, 1858724892113596425214497158928190, -429529224171892807106579360427960, 274700854334234020694231154541016, 780509944698863873524246561862488, 958915153961342115552470919529, 2494992503639465267731293971672, 323520545503204478543029586535, -311874062954933158466411746459], [-3962759666236822452290926127682911925245204567590, 81090010756219831745205644929304030719, 335275895291848830767009409988749947485, 9257926446306631313271553008727343970, 1491778755858559849635263704748003, -21707537632423780366411750827315, 16586802206287578610286097670822, -2427435638496143252483533936887097, -1688771118096445537749264334140, -4713961229131614119227717906848, -549762982227496886422899797892, 589245153641451764903464738356], [0, 13036051276460163169613791329597662930108286, -809439924897444005282445221739253816886, -11932540774113393146898276710553164, -171693104449799441436765091650536, -15717354321294546053263002213844, -4492671405951242358865372679600, -8485143225722298898153319386889640, 14381010429674051899212198171086, 2727841743271119435005639107500, 1395952025814922533216907080650, 272784174327111943500563910750], [0, -6565070530996714574172140541637998000722791, 9948041115055454175822765011570483091400, 158598391805747826596145542806989816, 22528982184206162735884148232696113, 2019045232434568003717852550046408, -342943205450403816739384086048, 3017010468796919121746520572674320, -59242305054345231501828863730444, -2016152795619085984450988867640, -115879478199307644260252865252, -201615279561908598445098886764], [-530883797239890372672598401012176174270627182726, -2083648815664870502194630319410652363261, -8861785353003856466786719074668056181087, 8938597365494828975517769491885260172, -2977075742758027539355945562824270, 1920430533092507750806586567139888, -499285114341515459285763063645104, -11138500096176000081797484701828584, -4544170862192083702672585280661, -2576143721565819287341225293048, -2111076448498178145877466059515, 322017965195727410917653161631], [0, 15357340361706227445178221797355009497054365, -937555714985547673545471706214962946125, -22141775246979537632163834001329610, -966368179163380110500736002140036480, -557484988572024365830833791787230, 11464887812174016376664958720920, 15899760069688828813650405703029900, 199265749089270410564078259402265, -1154115575936698307343999573750, -2981633510637173924900639637605, -115411557593669830734399957375], [-8274250465516364196839844227068314608393074218670, -2219391356268274156712900482600537100252, -9376299034520038600104010284600703445844, -53336597254549366024461492337649390576, -19393787294508976636660563073306504, 313507828624613139800184164940000, -2995015472146498975878820877283296, 24378098621068526819884564701712736, 5599989202252638047532998730180, -3008612288135562421448164403616, 2988032869134791675107009640316, 376076536016945302681020550452], [0, 61360983517135323013040688687487016724819392, -23257993155561580040718306437646555208050, -357953802376021915537539794582160012, 2456741887375073207100658116049737759, -4651956629380912004749601138481381, -759721993054867253722328058024, -1029236129336025732611591322933915, 325216346370003917627154201345033, -19056861949707400948602539351670, -1715755696707023281429671920661, -1905686194970740094860253935167], [-40776558236538803206822761337836453037964156446198, -2595364060152724752911307717941876164723, -11113685199895375827226037441600463703257, 86761184077424620094693732102099669908, 13370976588964992741820868107836070, 5057526597043699863024468942335784, 3823069339693662674153589680017400, -53875156325757299501066169810274568, -21781152552330899109398036704427, -26352738789833244762727455017224, -9243530101800871757028552413637, 3294092348729155595340931877153], [0, -184494208988428575735326301015574012857072562, -8443156651116762796788989200883754028750, -141729058583671224654422730433127324, -328646655406883523217364820721715772, -2568246285833527819207324256532472, 17685172925220952748160256399024, 44226750827758670259482707812319260, -121313915701790890807758464341294, -39642048491589126318956959114860, -8385498080464150818935760011242, -3964204849158912631895695911486], [-35977485183910986487909311797008854938805420634654, -4308877858664112081173624833094914522307, -18137285195324716862083257045728146016285, -170103021125991653339318119761705740796, -51663356753560833766186356525082942, 2458506778707089883250788453458388, -495803689260719369846024269016324, 71177188586977747172696427709722080, 25283716691251836873974867107773, 24562980672879967593789062113464, 11106672053570920462375617171795, -3070372584109995949223632764183], [-53282645415800741428040177678614845663567018239710, 20357482071608125081492809919465289865291, 86382703215059081941994017277618376828638, 110844647444489790903974647456127676826, 98733041141920919819836128920014626, -17489114270258764455566136871783344, 1784949452583176608828391848144929, -33104517604029579145540764402957201, 3231159407926301095078047447912, 35109375968675272076338940856768, -578756294079053957232160079592, -4388671996084409009542367607096], [0, -142438043695062414192152162998220363073001964, -87628548341207816529146869546528107155754, -1404365531826209312602774613415846476, -2191934744423693871889890470250877867, -17399828156397453701807213592865759, -27644755552339729401467333533400, -53607377836940116513003889183479881, -474776930617646647014775393962073, -5241139839765844674784494350250, 6387074904108347882888383948325, -524113983976584467478449435025], [0, -241541927775071393351124292860745663265379005, -16663767328695752519961920862149949674375, -280760721722295102939779076777682110, -819590879151695839810944547715112980, -5117556564495776807595758462811930, 65043668152054827605114527154760, 87125283489332125339824318208309700, 286622227679540907594122111300315, 17055249206817643110086279644350, -14555392117331942590270003824255, 1705524920681764311008627964435], [166773323657944348780074166089375252943543671518834, -17298704121851950777512294720583900614492, -73136983615013295762302991048743027835828, -360712110727140009511574238790321593968, -107868178421268460380104710534268520, 16416257306551979187724573431755136, 4053334668974675069504648680649088, 72444084251444491027256725921180320, 34836320980680034132987464037892, 81931810969270654610440454978656, 12297422304760601153341203582780, -10241476371158831826305056872332], [0, 188722693685443166911852301052036074903182041, 188130666110537968764066457238740531361750, 2997561193578526032796999579624121572, -3532584089191914475475852472482507649, 40968531268568904953103197482767116, -99741184647959955201157373269232, -114228398771963311277723931304193880, -115286281379071153378115307013018, -3062849338926378314912353574820, 24629011228097350968798107959826, -306284933892637831491235357482], [151403593901547004303861133005616685321418688553746, -7383196508277675703018751583244244657969, -31312949399834251052860190169011241840552, -56864512781565200584666192981947307526, -197172407241924353678505630766458412, 7787299518818075948252218421816754, 16180902010535921476744198271001475, 331212235714220934236360244653692943, 66052921429763508889552800446604, -164630257578497399999362444578528, 43315851813537841944736553009460, 20578782197312174999920305572316], [0, -72837670249183759106823667745233859440892744, -20750224105344801467100768987846078772562, -383737054316927226047109568022482028, -11900315994507698092119195026220820741, -3355695060682440653402342504737417, 1022640992152015289282891063800, -102727439245935089757935865927262823, 91005028178310503389856785688421, 226783312735594828212095607089250, 22422671025521478998888837942975, 22678331273559482821209560708925], [0, -197402726951572330387260754009379144491191932, -172474487866708806884298238228668843713700, -2707556811107689826287296741410383048, 12062125505192473682358622876907485576, -38079976695695175711653954003945024, 103527842133180902274265683228704, 171368612534114437319886255323824440, -1379636692867091492359376848779668, -69098792000558230873509155596680, -32791839733351048655917336366844, -6909879200055823087350915559668], [-31470667358185635094382761758581680847479699125886, 92086281360527356131802774249531750478395, 391107429374504483246846989069174082207314, 142392031751375545906699256170301108922, 333142878441227503640890035666165710, -101046185343564082651104833893455540, -30879340264524524832553029522327011, 125452439505458134803717721067609327, 110064982803749030563385083670616, 250648591556206861907231057383488, 39366954429611586412490600748840, -31331073944525857738403882172936], [0, 458166497773090540853634747773820684015696149, -468340006298802361799726191038751158672375, -7610155444516176447245489168148744982, -31861625724456336790802425216426953131, -93729688036537454536293580832584121, -8205565168213666142875822217248, -338526715028322109180092693861399345, 1553835349026380785974050221993108, 487007445373300958819503948477320, 50752135829383512417669350402044, 48700744537330095881950394847732], [26188621711618356909685384778870870890809957605450, -18493337237952266702333588315271654845869, -77364955500591752848865766407234295098677, -1207329301502557260699692027088325840382, 190122952074528495838384697660721553, -40396811103675762523178865557124741, -150475853768119614201289665118661308, -403674039452718507325962474528400265, -200443652319100684203972440341912, -233156247060012130793183840931392, -85649560718299583927412230112744, 29144530882501516349147980116424], [0, 415452927780659495801387781788404498070170556, -220545567184565730631651157406049663279792, -4003416932837802357888348386797306288, -52217912057164386195239957057442810170, -80402977730538107326205305604755946, 1161049526216987724190530712106000, 1695640878971862183447459781115457554, 1943331778534827224596308317985750, 89929931028680962477302655957500, -281269388451378834799902412430750, 8992993102868096247730265595750], [0, 750835580289467023510796893537759902637846411, 800377951370946063022085040339105859595600, 13099333119843612632637242318681972504, 66832865099599562829026543488736565707, 164557235762993909023561175366843752, 530376099618322429563348867802208, 345919085548072132842393788671480080, 2528404661417095089393146382200164, 1428925567159048297515199642937640, 10298531811324222360682747343212, 142892556715904829751519964293764], [0, 337597645737591607197116220116488629859006112, -57768040931807595602586809921182314102250, -709419834394052613785470284859520196, -35826512361567501558935490467287404538, 48614372075323578718336767431002212, -2400281823595555007214552867089424, -3472657289558315332998869222971355960, -2417323875395821966927433732493926, -566985010481002396942205743915740, 543371954850788512109417642380782, -56698501048100239694220574391574], [2591819204196223477270372462049550222124289812829306, 634668651429201321680820254068926886986591, 2702507295205954986552249952055490889728585, -5967566722829357506751657701189692728574, 3298744872550931003560054529805562599, -540872189886549170984187188425346847, 45067243100825395929157293498385722, -1480357124245744223572832259963994809, -476305591976821220785180581874140, -1016800750298917067069094508789920, -174602749094728293700771884137700, 127100093787364633383636813598740], [3047358548910696107356639945126161794569562852655962, -1142107663079212052953557129056597591678465, -4849666384323856963288300540885469591465195, -2852609101919400521287111049454723369732, -7301338092405269151036560716015832902, 768678466479950095687529806833433872, -420537014726846586584258228407391888, 5846372776732746512553110608916318264, 1321441036082934822702578620745799, -263800159417761428681822327524440, 677208028005077500643903205843177, 32975019927220178585227790940555], [-1417229486307086076019321854756117416128804088507926, 131305532414292879665758560230487508592199, 524999624220147967915019406704838400054433, 32877032063051466866632820975492824927282, -996543541219906235623490209061162865, -59402796985492396760178350822858247, 266851868146947430244946491287263786, 2932942759836568970432744021068078191, 380555906578345982907623961109764, -2795337549045529696793865401170848, 364986550104518597503428568128060, 349417193630691212099233175146356], [0, 15891482215217766164085135597024934637214856901, 3054083346413602273055099981209123567820546, 47063233323407838732829013221161607484, -262132131081521716210946927983195062281, 575135095452326622714786207800157172, 1232358619990663808038146994406000, 2292161952802620775788964964068672376, 3439874293600479492092369703514986, 442354166251595334046639280770500, -263854238372506418604872820524450, 44235416625159533404663928077050], [0, -9303181172095051076813549006041201828805718224, -1147061641112854503056138867752957996358650, -19184136235437217482224232692865709180, 137799183171651864730730545500756544787, -481328468077276078024505104181393153, 9092599192416355628285461086020600, 14003552064144313811013724451910562209, -57163531155582694643741206772651867, 1203636613042863336125186032577250, -2152786136799802573458846668247425, 120363661304286333612518603257725], [0, 16252423019460142332374840609468024873640506732, 2200085260955222315411982089319364063739950, 37572470362199066854913536038468849548, 292834651520855657587133687404308815754, 615117162094714569276108411301697524, -7895531155899626788879757737418704, -7404787217677865789141520613768461240, 4135649252526573482000302552856818, -10247883722901783707392540220099820, 949094416684728326480685412344694, -1024788372290178370739254022009982], [-5118863149140986160213078048633540790004015334416998, 363611042278602644083739276230860412477411, 1571252743400303380808556896519750177097219, -26393170156101852498186667685179894895822, -6055952297786917838893163384502909871, -570400282983183683631222895311489957, 127026405108930335172852640623209836, 15594536791034042289913561112597486063, 5620098441162122881555941126990816, 3861606871487300254889698048228608, 2568698791113105174847364435481120, -482700858935912531861212256028576], [-19553960773207768078820453599750575229284155208884926, -1474339124003634263695602374615343908247591, -6303019602940501446724604737087818361687233, 38922368388639735148315524641847619079316, -13093736615167603992817205508485109198, 1256094754754839758351383917950451836, 355424219501015027138365890259434420, 14287185272824401010598634548604242352, 4088974546055251120687562438978121, 635931787693208170081702779079128, 2004741536296800049713674795796615, -79491473461651021260212847384891], [0, 5947132428784784174887304131242737861799783551, 3043646191147652108126845227700443087216967, 53901916445086353376707174211070211718, 1262168354039078502062011290314203191733, 477771436899603550806554003150335619, 13863355812245476216808625716861200, 13222207115981944684112298904580153727, -2175771876180040968219174814289578, 20899960411614978592402163896645500, -1375842911899871194961940039550750, 2089996041161497859240216389664550], [0, 29077995985233496739305291887811542656851506136, 3383686021153386480607132188507017794509076, 43873995762457498352327998331641100744, -1899544586022610912248232728799789304052, 599616418401829605843554851930782136, -2310459917656391962700088165656800, -1758473372161871622208273989532207056, 107946808638953808523271908862145772, -5636312790148824787222446487029000, 13983700399215511952777392711300, -563631279014882478722244648702900], [0, -22196970458493696204417459249992881419653792890, -4678028289325906599443671775010948045851250, -70460204652177514467176216318238590740, 377796546533800704345052938945500992390, -610381073883115937011669497875645870, -14991096802741556242699317801161920, -18169440365692307484787570209775180350, -138786371470624916197048429320337640, -10510214420847724515916448529066000, 2696752758600616609083184597383880, -1051021442084772451591644852906600], [19015722535221595835901131736046389625811950598197202, 1156723862523959743545468847104571261515244, 5016524455559434432342732154008078995311916, -101895958795227834974293837059862149218480, 9995072795932299084033234425882909744, -561944548380988532469700547628222456, 684791135677550371437011881501423576, -11594249428900450719613748580384897904, -3131055425417148595977887331773412, -349366113682956786933657968347488, -1543692330603389498805590042864988, 43670764210369598366707246043436], [-30719060404062439191228895753108175978072246277664846, 3786766821319542428794814617458620187300111, 15862794350239406113728894544074009943553304, 226151957903276045648576401243607061248986, 11718669748759469271428281617562676772, -5132540489200971502647655871448978750, -3288334559576288711932094599553113629, 11307979180687064958143314980193318719, 687556116548346071990007965691740, -15348996352638608863845010970557280, 1303090330314086089985317168505700, 1918624544079826107980626371319660], [-16979279936945796471508200383848528922245375843952374, 7868531320574153458100422410139084541773323, 33390340920221647162557634647947323568012121, 40903064396261725535441142462852469255980, 20760300962211158362800829380408601026, -7521174538352431717537794181730050800, 482514174309442411839491381410025712, 23645695438530417663007100199090948504, 12532256228822804221026099656107251, 15246440122682734659399092493338568, 5313225606743731194300606547219965, -1905805015335341832424886561667321], [0, -29683110950064639523710843523576477061058934489, -43891728826899903190456072245603833351913357, -708934040917772444663031147629242410938, -403246429259612091779970756956777976934, -10089888328390040635401428500903567390, 36454117202626475244089876649818200, 51078587418504605028852815867416363356, 205204552736405008078835041692465089, -13032884742888093214244097295899750, -10416817774945428132446878892044525, -1303288474288809321424409729589975], [18611767292902246937169172568483781586916319254216570, 993239735315516858808957365352945449788907, 4236166300780735469211892459747536863192087, -16021090971161023878690666375355197047438, 42324270887606181228807472913128491733, -2952863213594360679752957634968667969, -7762940125145658774915287202032841328, -71864076019607205368584845235708831889, -22072458671936717591491977094818328, 2824264442584839334244140437685696, -11212745863629911254136247324764520, -353033055323104916780517554710712], [-44312185586202377145337578928880951925589509892685278, -9144438002315508310937973873965343410730293, -38831988657708281299044475678342920532099622, -20191187155768840479110629985957015984934, -11621144680998935351769486921513264922, 9287705980911361337929279312710120036, -348316376806717969695473230865266523, -53753338644538290837260347887391014529, -4066787116414627008986503436395368, 70365103119351322513041050674591296, -6431212503166771161558317385359640, -8795637889918915314130131334323912], [0, -192192685148388201762606246138620968256467672811, -10579330615092515829465030881134446738146625, -136418096678111462076872559217622079442, 4664995300527195920551755196849765027684, -769718425187084709365844408588781526, -27388527761872483159998839877691528, -61648176503361862496445205837349914020, 258687699465901167013105328237463373, 33334986012309204967174049493471570, 10180630541699041286717114918770039, 3333498601230920496717404949347157], [-13900959377303919470084989290422775454622950063520854, -6173663875078989575969390681936358062155481, -25765701400287038430529862891459068869946519, -464780003140584232168331043896772259166606, -91921457974990558887184210474215064057, 8587165983138936830558075126811699345, 12004256378603675441284078911548439874, 126554698054389863158389974814416328431, 31901429169994363665304984727017060, -31239064745313137520682765122255520, 17903156131579252927695165183649500, 3904883093164142190085345640281940], [0, -85139871626071862985575751952569736088594014594, 46764100882142005441440178848455982122201774, 694217481834339013092100684694838930316, -7812685547673360115926555119302326885582, 7648090007092282581420083038068914270, 19822403313915561039524871999484000, 87173811905429557283767076992758172038, -990502921720452061317498443118125788, -84523003211543219716639333996839000, -13407901149633212231545151399554900, -8452300321154321971663933399683900], [0, -22278065221410818601748047093358996176088556559, -110896652508212068287342240493618853926924562, -1712650052897168122641144618093341064428, 7736697500032770136988808312745886572399, -20124392413869596115768293242040680612, -46135296953354613306980153024663600, -133733705458475711940358059496057800888, -12551292494194873868988206603012434, 92424140752091001433838261291395500, 20776238313547753470128864385305450, 9242414075209100143383826129139550], [0, -191761538587069333026449952800052800605289155149, 19565413449359502492223560776553937973015975, 263681427245179936805542632539539932374, -6943407222413475200739315945824494535113, 1869158062052885965089194672736374437, 88267745076159197906206875076411328, 91684943682913801254470178992966906805, 839217070102324808152609782917977384, 92117183612534367675291758125025040, -12855217907786362709022542956600328, 9211718361253436767529175812502504], [-37274065739709434709129751394685045397350774093504598, -2827116013534124876844488803719138451512733, -11796063496224831644408284025885649180815167, -215300267407473668999242521205231084659956, 73359757347760819984803501952486963186, 10946231923076236467233612461895270448, 11165159348013507631306022828733517904, -188087782918726176554288870863508374760, -79436132010277329227530539186350389, -114705605193420559044583952276964344, -32548965680549879673478772575864923, 14338200649177569880572994034620543], [-4216343113586383253032743413125696543042535150737534, -8888447459163932128255453625098452923364135, -38244037561808142619506921971395960763156409, 479351018901700023178657284825178853849908, -52794665017026871915400750337108247590, -8520836749323058990129039292210371260, -35659297172205542122829323468578768564, 69446381775384310561791868819576595808, 52871054435276856648744240263354969, 193646491915650746359854039575157592, 14332621472910256676881242658230135, -24205811489456343294981754946894699], [0, -117135543686029213940121323164540331557231265249, -74534970276277719918703949683196299046582190, -1103396997682927165102956528956640451860, 16437399669123020057166596877244911237825, -14700527945824934012882879307944486460, -46449885801416881272317810453115600, 23658291924113786370132518559732389400, -451463705985689781958986496965892110, -242431505813989551314564304809467500, -12630679131044734813376977867667850, -24243150581398955131456430480946750], [0, -464164487376374386020042578838556976936764992214, 241858549498740519425361202236007691604081824, 3794595574705259330307921851499305099976, -13891453908251385345309315628166021294791, 50600458419163445307037448402745081081, 24378014987853221012227722436661400, -74288505249333752928088540415320527245, -233489104252048544260555879333522559, 376569421705149673777703373363896250, 31562438423551662124713406727224275, 37656942170514967377770337336389625], [279384360445274737529747736449292982662182571372476042, -88618824238967253081566890847661725148692713, -378401597895268748821231244965752278144829387, 1883674321761321471160919408760224662101394, -433832803977142256938138210946797853669, 85948473792281049113394770551134435093, 14313089610728157464758007543649381734, 130443781408435180742941345408506681295, -26935039895928880076646097954627724, -212591021305815017929834867282948384, -180581116351001417708369772129588, 26573877663226877241229358410368548], [0, -1020151092198525885622778165414025803188457790155, -218456415592016941861302117757818395010829250, -3536113649881396587123088303255059531820, -14758574539330372535656856865582955390365, -41567515780197055667666174065329677060, -197186046203245881032197301456123440, -269450574363879968168435316354033797400, 92028517513031791933970949567283630, -193075247707067889484460690373071700, 29988986780104681309603256326723690, -19307524770706788948446069037307170], [970775331393907436884125649857229926589317761792699210, 135399162137192726731945378420385369951515135, 576450355496316293312603173228966692365913429, -1176229754760502011185876323853110648285700, 359328145428439284247942743922551211514, -126128066800547541223425042037725242544, 15034340692416618113329041842328967216, 395941103582725998206577485284331285432, 96634825516345381818273866725565127, -297938259907680011571043957250773080, 66938554002402691632327180690955881, 37242282488460001446380494656346635], [0, 447671425516593619878071740453946840966635682072, 193714273767313363549376662484703153132957200, 2842242533524229564215058910213619395008, -59978666244415161432269039638060170952076, 47995627411693073685878599101795870004, -699522271073057414811406680827572384, -644038538852178362288628295136162571940, -1056804672200172865803487832338209372, -914402575974760165767754502938869720, 83440310170788337126076219913006124, -91440257597476016576775450293886972], [1012213131137977026392656617720000895696278716793472994, 64676653782374360799078390068335336186543667, 276104975757019143605130454978305355868623154, -1310099546235016585492548768956614571978630, 568093973108382261887870144145335295094, -96129687473245900588705510501679676540, -105461361788679646767563573194415128507, -523987208910372745093199160300326181569, 22267540087276310244991444841827904, 862966564623632626652704689928771072, -42801640245338884043298320699634240, -107870820577954078331588086241096384], [-303862576111231554058133415982129135115863181736957094, 163197859834349827142406404750395912519765417, 688566447349383243722890287770258211869635851, 4817348750563595565346003075325740111538116, 599233239437950633673409897737811804734, -150265115554820400639439485407624177640, 8855575296162106845172764011385288520, 140236631260330837786551754152192275192, 296874411141914191868162593175334897, 999723169499127440552611970491865496, 85954507477261630899543048431925855, -124965396187390930069076496311483187], [-1804081787214263659248728297552251462064583273694490710, -30510663339422615741485256155169347807851365, -125832419074565614921445949907122626829928121, -3803454433707508156322370732566502250559934, -1336402302918437111081024865840543844435, -57179414148555894577123653276093013545, -87233338339581786825085077544071247040, 2608942754428285525296169754756907032855, 565076301983302923187743327038514960, -945613699568282417286633631835694720, 341639007214669112674286265508988400, 118201712446035302160829203979461840], [0, 1834607352559415832590499565185408356048049054026, -90804764252087121135167836585247212826206494, -1812133201033415301103776290401087505676, -3303890933917750780272735092468106427206, -72155775566087369059179030280277796018, 1601203188262234066802259313010011200, 2941910991468925204752199785705165613566, -1429700252395805024611998936203091144, -1054289679362074997375305125146562000, -505729765001766016438095340767159000, -105428967936207499737530512514656200], [720411677329855645069824243890322818171083827739191122, -235779837038663972553521242801085129514767881, -1004315400094042705863402885724055840041735464, 2549500723256681883903426461762267131929754, -1097019112915538081006547191256559081412, 204106603356062692363913968768021168650, -19625567520321667878156297486171641413, 284989685373755964079025246900012630383, 391628566221845460380955461973379540, 1791855013648903870783529038463248352, 83823344757866238266507166082736748, -223981876706112983847941129807906044], [-574083475857435473095899097936107616979489182451428246, 165365501059948542706226763752736987876321021, 715930601913423068576903089493872456763725719, -13335261789466279443115075785060902472087084, 1131079552601196354217409882329145449062, -83327060652082317329547806942356017720, 114846459271817733849598863876686000856, -1053730669396572834917731426591355858376, -776170247082842798105650091346231675, -2510397705318033954668153943532350600, -231185266959044276886065424202343925, 313799713164754244333519242941543825], [0, -3447821387374458663591894750616815156535936584554, 2525474471917301704048259882479849485743493500, 41192060838289126117495119142171145023752, 81988516082798973549122289944835498864226, 597875297661836613583999473520098314856, -2420949498756865649925535245015261792, -3705020336795214341779566121542661591680, 11840987001757886950810370562340825212, 775907083306109150170046217853510680, 682828083019827327498388433039166516, 77590708330610915017004621785351068], [1077756701623034043593161243580026886798086349483831810, -424919433926982107437822397569361833592746080, -1821235759928438805730023695821047044950991016, 15866367699602155169948402133491266087026400, -1861878681905441929107662599281975816936, 350500549971627573740270438965768529976, -86576963496269463138101747190527592984, 326050586106230436402366453902324048592, -216568535828413893030890536994253808, -881499638264984395702631669885456000, -53190540522645421784030789129285904, 110187454783123049462828958735682000], [0, -3265005844239551598185739780344883530384023992749, 824535763933140022772205967329597428833488502, 12573629756221352979542221419564528580788, -31768777436500635166463297149502809833959, 106073961087942287083265245240737600732, 2083431429533456690226242656446258000, 3430787794671142570170222757511681032808, 43225819812341999102070652035693209534, -1142409780312203277612298120892440500, -635098835414584500317790476200808550, -114240978031220327761229812089244050], [5743943147475535510377069098134142397703157741585955914, 1030546925869298740451384299882638388324364055, 4383753594168034380721524939494453975262590429, -5227481408008942408865986619449879330932398, 6465065961651774294757474998982161064275, -1134840426492760094700295929208465246035, -589518771746920118958030215411096852226, -4050055482337979330536104261201479596593, -1071594921100277563977131393654358924, -171565920000921269540502292282374432, -525074590550081202642284303559531060, 21445740000115158692562786535296804], [0, -9383652401365807293435399346871710036529066796879, -3631672088653862250918659395311002515179141446, -59891948133630553148823481502468916836404, -331245454366138127901291982703044428999141, -798049477445320583253073557353530708124, 1092216917197944008352112598413415600, 1091899803264866517148204725163663640280, -29079085951204053894747645040106948414, 358541351756644136212465347615352500, -237200094123821588466781614841818650, 35854135175664413621246534761535250], [0, 1672856914528067420744290670336755269778300518666, -1372347900257815659858116190219021487681998900, -21083698490181979949007737182088782940856, -88590184038755522434402766056048767019578, -89410405542330010021386326335072223928, -7327800855773408220683917429090937952, -11145535153477673538230973235548545519520, -1615911202986584492739838942086622596, -1180569591470354274319354081657315560, 1713893254796316627739043949107002932, -118056959147035427431935408165731556], [-15922396497487001719867072630224279298247875272305822278, -622828492990824740058270469760553741879529553, -2629052606806395000819237102288472667773708127, -17164139082443932768522578413991497782233342, 1710746665499110415555818620043011422015, 899239356115486336541571496386783487929, 347513639488547769301327708648900630930, -9239956573422360530393166448324444406713, -4099989623557378514982275865542832012, -5785566824998977202033311695173196064, -1688396885216253182364055951823091252, 723195853124872150254163961896649508], [0, -3602856474177551359871189285151264476063179768333, 13083167001772240514213198975123557932118692250, 208054160649296709573515579681653161790044, 44082734614461567416069104051619791100957, 2565286790676030854252639925313748067732, 3956072429946521655686750396885554416, 8737757336121802760034819944372052856440, 62427023278421825180107190500652221914, -1360109320085117017584482420261534940, -1125029039495142115680135841247542098, -136010932008511701758448242026153494], [-3645709462755012468417079768498586093841871916457396574, 1096673432997140318927630787676090849674308859, 4669210862930859847624898751211015120375906002, -9754858155136054837162278810480853727896550, -19546628389002290500283908185303554274, -701240385139260786765995913571464557988, 1079187225888385246348848271898352474045, 8351379492490249852363019893805811994335, 1681664053253522862863388662267612648, -6297771242299833448265256238182595136, 1234442729270501021948272846020218520, 787221405287479181033157029772824392], [0, 12619052560093567721918585956711471786386584157451, -12450760000319132136537999722706070173534512285, -202301511675072918619324329906256999341090, -461432786117948099319127824987867854385935, -2783188171218753923653344996288409491465, 7269849118554906220405611205967178000, 8837050816877687093432614657398062393075, -6374893442960589402534846731326238890, -107499188909898313498067609435962500, -1828212198529716386451209562435390750, -10749918890989831349806760943596250], [-32132947949468442674471060201661817161999449763793654630, -144359824749706254997353493597171544944491911, -594244896553631077633035045672966316349055125, -19081021933345176596216948526617026584430908, 5196508224975128335191932533114304319950, 148043938049347813023944010099117416328, -458983220429678160703003588536626048360, -11597796416101800379896870022835099355496, -3032775787191892617574471287067339359, 2755412244383954179261808094537527832, -1688601158869943444991098649442265169, -344426530547994272407726011817190979], [0, 12356056397751157353627233784803027356233576273204, -21249573998951113420181619931952255638696081600, -340776041029035695378172025351450411160624, -313813246224385692031098640876738534029702, -4419235922365063146373253103315306899062, 3668149506710323683461744281811904112, -1533206960040609360164315852397414093330, 78251031641781633360068344219728618266, 4665772843294075515962022800095209060, -450460092348173369269233790443455122, 466577284329407551596202280009520906], [11042717795386922031889655071132148515326134894908129706, -533643401911601946389445910009821113615644331, -2335777113586432697292451209655302497599972657, 68464791380249510385892138829634553832474356, -3320188993547876792318594100459711074266, 1308819378023698693072230723965623765944, 1898454888931324232197953657134968753576, 448447575055365744909777416020815733784, -1075262481411736970347237035641684099, -6630016754019818623950910921448009032, -123255193579629821176686585230341485, 828752094252477327993863865181001129], [0, 43426040358121539944285807671040203169571021230336, 1536417305814569084173284025532872341068239906, 30833212188686190884323515117647019246964, 1673592926264145733917089145163184937403858, 8177050314741099118220276198196062636, 13888914946668813182777574285570389200, 23827163591522161675020360128530840222104, -42202423545644790412144985840887635538, -3127748260010429174231635506325996500, -3785003562668246213117557122025196950, -312774826001042917423163550632599650], [-1699481063533147180807097017475102751297161264130957670, 723024567460212810627089925611009125660218527, 2971270827254668409425672512477912448833006837, 100652724298621575848087554106598453666860194, -1214146673896066266752996117657283612725, -1468694036009480959862705169428638728171, -1423404470517303542815699023536981067730, 10143261520950949888477281768671552480647, 1006270288190799102187733098210241188, -9618198410420286813677756989658993824, 1104272544746667476948726360958807708, 1202274801302535851709719623707374228], [0, 39435892719466732199953341258217290942761735553686, -5756364698130931446441835960760938708486963390, -87557299923263457902546018658228009743900, -78690356159621019041453991884151571841424, -461359419695131689323656476313345484044, -27028624558303422781661391759715060400, -40983341103294942203954220613948635193248, 95119556806663355273642798684971749614, -7462859262075475367800507506710260500, 6010870213368308158635297189257739050, -746285926207547536780050750671026050], [27786466003509279290489434693308807098950786783577599034, -2299045075649381609516632657980657075427759287, -9825578773531527515791681264505879065586172597, 57525289407856125366790979684749130844471748, -16617562013273620014678686974811768496162, 4240760128613870627216010762915637817208, 5272253701796214134197356209902978501224, 9656083446302404111599998828469558650424, -3233176834116358772990724708513807535, -30663047709656992506152182651964011880, 299852064795382645139149061490846975, 3832880963707124063269022831495501485], [0, -63225187284499807529859979754951940596259428731842, 28620362666528526141108326728910747420477250750, 453812332309748318791480856883581215347196, 791151564079074684233922149532559944389308, 4872059801971958037040901717674902850388, 44632017961625204609206201904252739184, 61787005691992366607107931262104336284760, 450792521411495996067371392433849622826, 19835216135710173431863003179410563140, -9174482876835283809115250158122128482, 1983521613571017343186300317941056314], [-41194795627425373258266071654129100264117052917716217334, 4010668047140090694381832675090772460309952351, 17151313285337810447243095236253357785300801277, -111059401817794586034606524792456044537280142, 16191039185542773895433112126663726354875, -1913577977594404438197730601094745803963, 4054899358600635899284827192148744707574, -3444748059253784290585755355762874153041, 9833378798610676824291493396061592156, 43594162712496898875453739254718696608, 2192054229774282232429887994610877540, -5449270339062112359431717406839837076], [0, 31060625349534353172057986514564213378652241606796, 5266714965252940902183712805589203600719327552, 76285332163533730897467207155541776624688, -218954652462712119771076859828374443782554, 33603178050485470995800398751123894742, 43396080570130306217798232191171053200, 58188383581323256831246232639573862550578, -574469441801225833081303326876798906426, 38167003716555658463949097843734289500, -7032319770877010708054648263419334350, 3816700371655565846394909784373428950], [31045636739834271832065539336703645531157430065456711034, 6601079621414700942632857089289359491802615383, 27915568963116367769125783922138571088968359937, 130607504684121343185395313606745776064860322, 14180716268999054171683261681774790616775, -7701246508046094597467582688690968449359, -2410150911978104451055607954232067593622, 29389381499979284922320845276165494342055, 12253072447737482207363473054129399612, 9609631944524584464165162347218330016, 5525934227335954574671413880363554180, -1201203993065573058020645293402291252], [0, -24160841643595801574821304117976038090612758454814, 1188612730162003293910821857261154093529058750, -5136872169707517315484228139471574665988, -4449466896389175190126765136864740717895924, -64120996800395270242179399024562055064, 11410984329062684064084577486478645328, -1307376885296799444335932287743568348780, 391490155890897829993173233034661907022, 34002935196996960545626377984392292780, 547547437434025038541493426819567946, 3400293519699696054562637798439229278], [-83487715436562437799175350005846719941356736819417996190, -5926247657827001851884051850098714497095546677, -24599325557443067844464692526680102933396844574, -579776091244499963283691343938388502483458790, -41712015223798042721354844105340102519938, 4643036449365675356538178990059215089884, -427882651397240688716587759694705103267, 36557503896246972346936011414980009942079, 2105783190673526547512997338249102808, -34540246160163302405913716503337528256, 3211656980346969674126105950583146920, 4317530770020412800739214562917191032], [0, -277010700709395369967695416191787013714014348832487, -50255365028715983313651391753140657543061531325, -799753766818056017993571804860926737695178, 428734452162231959297476394285067584385836, -10369703078090722785100086870939770897214, -5039085170546809224819526666581797736, -3333617892152429198505611782525418343060, 511810243883578007253010043880961989177, -46811273258687549472325428984586037430, -3421356033232052641027661231813154309, -4681127325868754947232542898458603743], [-133969104180094332365385593590390065064481496224978066446, 7675033903775555649729287845526267439388901611, 32842628942306384015404297659345668617760435173, -233572710219826856161739933567863189353498660, -55793542847263369807198135909599972226, -10970656164353438709875333451956520863172, -5931891158503000413875944491265476450380, 71769289624629123711905177323080680772800, 6712857438568358762599974167889107787, -76696643667996129566181733184537249784, 8149968948533937479186345407978132005, 9587080458499516195772716648067156223], [0, 138667526893870678568872335930203610456337268860069, -91340485127889610740208326545822255462288230750, -1411356194181823694644935456450169330078852, 6210595536021556546063228239292151183425559, -16565992337912018933400974053115175006956, -43430654660622321023701030061349209488, -110662085247769381344417558938743185778920, -304845970925575649875483041914028312662, 65164992636128435291213299006832695620, 17374162928768423785046587416020571934, 6516499263612843529121329900683269562], [0, -178914505233326262774349177956333578900555052844979, 35137846095453548663652753889105619259137604309, 588703047278293702892146575817839074490066, 3633460958811870606394865706298232623561479, 8763576272823973834788272996635196423601, -35450910731513040874158217662295126800, -64824118274839017289174877751120897625035, -1237049472621339070664605139384470305174, 70544421051397622994186816477248362500, 15917169788018022517958236063298617950, 7054442105139762299418681647724836250], [0, -103171353799469362316777513632289293397921561175504, -54763258331151832766393479479131270251293964902, -902855342394060493151940977963616049448668, -5677480485688788643075430372083657697878534, -11447285683747234594644196632864079546820, -50487455576509855138857467439976831600, -14640772065992859169497424379713076708744, -1649962302305890558678801933656836441866, -132775470352284639539889269312381818500, -655683141101000169274560071243973950, -13277547035228463953988926931238181850], [298394948375886636170280992138826289789473597142764735554, -39733186453224088122007567910165309016649642709, -169154654912626079550522264213045128118984673198, 339061864233398139776246424898558949726332474, -137444118968147637693790507373692622361634, 47404020707239265460404826760926998404476, 21279728415377807247787405753832328934189, -75219185479571996531699705035789019430769, -38237602031714381985239355114340601816, -39746139055910900065914374105786778688, -16634667324862759738500029175558627240, 4968267381988862508239296763223347336], [0, -76919941013198894805864853115409641769966745785218, 99678811616030857608839451315911471827531607500, 1652063351533246934521495333390321620275744, 14054749092429744441315050375060406859383537, 19382346666692036985209216283431555947657, 65131098893962369574219530592436305336, 127902069290293163213768227677472852435515, 1470983115261266921128967555873788118989, -49096973614205269000156049509572741390, -21192472084911119293570487599066350473, -4909697361420526900015604950957274139], [0, 553189439171653510552449530580476096459130267811531, 20119480904814264618939546322020392590593795245, 263587861568600133288967566656221509333450, -7147057013809335285697034070904617078682808, 846692264530763750053691772657318307422, 102532994156511054894169221865796817000, 152049767507754865764621486771500671143924, 2916550755377164140739081301759172765543, -47748477088304130089359124565745610250, -30408096247958176732478217923023765275, -4774847708830413008935912456574561025], [0, 598838729755992386110299613604133373867246640094356, 330137677272115468228325492159923163112217659784, 5337092737650526840181946238463291042704896, 14406030880399595573375900640948872247488222, 67934852216495986580552432972542340926494, 34325407788167670360963941047235850000, 96505561838939719160647432044575037962586, 423077208932753901430053473972889676278, 47826757886423839720593350955442141500, -3798676158399533618181650166264748350, 4782675788642383972059335095544214150], [8183302563842109261742273543376010782492041802469167282, -36827436975526136417056850139312997050379246905, -155961433337583482693970912352092841675372077360, -508878514936349313857675222770473902634081798, -259250039870545959042976422304044547140348, 46922451682806541666364745043879524645138, 37297289655106206424401456634343842506963, 187359525883806065475131262406707082717791, -34301836320921829513104585339634161804, -416545328557121475077724183952253202720, 8883164874359177435805468827198744268, 52068166069640184384715522994031650340], [-165340702113263899647174717985762477659759107765978433526, -34614673776630121267411321229106319836800779741, -148129029652293865262593099581370801990482189967, 1059654710077382844571807823519015372729920972, -396306729311428719661131437653167807861470, 12063806577027915562923820899294460448928, -22896677603562282700950447682928380066144, 551809705897507354546921885345903460257336, 116743348564738373959182167543953049579, -172757610063801319262248652730123847928, 69169024911356769433481624567609265285, 21594701257975164907781081591265480991]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_3_b_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_3_39_b_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
function MakeNewformModFrm_3_39_b_a(:prec:=12)
    chi := MakeCharacter_3_b();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 39));
    S := BaseChange(S, Kf);
    maxprec := NextPrime(997) - 1;
    while true do
        trunc_vec := Vector(Kf, [0] cat [f_vec[i]: i in [1..prec]]);
        B := Basis(S, prec + 1);
        S_basismat := Matrix([AbsEltseq(g): g in B]);
        if Rank(S_basismat) eq Min(NumberOfRows(S_basismat), NumberOfColumns(S_basismat)) then
            S_basismat := ChangeRing(S_basismat,Kf);
            f_lincom := Solution(S_basismat,trunc_vec);
            f := &+[f_lincom[i]*Basis(S)[i] : i in [1..#Basis(S)]];
            return f;
        end if;
        error if prec eq maxprec, "Unable to distinguish newform within newspace";
        prec := Min(Ceiling(1.25 * prec), maxprec);
    end while;
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_3_39_b_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function MakeNewformModSym_3_39_b_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_3_b();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,39,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;