
// Make newform 3.43.b.b 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_43_b_b();".
// 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_43_b_b();".
// 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 := [2517175751433570113519145367463712046356978756810178560000, 0, 8856020548466312086094523118699705898743155916800, 0, 7347696986799808047021630608244043939840, 0, 2571749156180178266268142478336, 0, 431067677694832840128, 0, 33864221333, 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, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-19269121576307887418046958757786396919856923697814754167044356656704970102116089270944252559360000, 836645730879829627085011114390282600182410254061349342110614813451012916034516367673026150400, -70520620504672063163660845216105550439768223518393061246809529044547226996473585131847680, 1859153386838603299625840443876940382345530778042392059575340355813588512451067904000, -44389528417698185146157876480071722888187130804021414514437825046324719728459776, 1041500458269398856784233676123042328874293658895142977890960254396225868800, -10701277953909495438654035394142256303001257881650564701422371618029568, 229882902791498794446605433878738918314578483377696729610034795200, -1113900164017988060282169746369874054005797404462716620105728, 21504486814043046739769305051588927826130594923434007825, -41577674811524981976219603072286413304282364921856, 716008074559832683824085574728382899143011725], [962777860587460004449254657559421754934546954762479219182796214992430155393835297084358833628774400, -10876471623857580415615194350020872825004423616277722359664541770655391224068991748938714316800, 1042968389862077110300093992316863737137499873307875257834480628489994056865197098417520640, -24168994028901842895135925770400224970491900114551096774479424625576650661863882752000, 577063869430076406900052394240932397546432700452278388687691725602221356469977088, -13539505957502185138195037789599550275365817565636858712582483307150936294400, 139116613400823440702502460123849331939016352461457341118490831034384384, -2988477736289484327805870640423605938089520283910057484930452337600, 14480702132233844783668206702808362702075366258015316061374464, -279558328582559607617000965670656061739697734004642101725, 540509772549824765690854839939723372955670743984128, -9308104969277824889713112471468977688859152425], [6146849782842216086356979843733860617434358659602906579287149773488885462575032477431216566435840000, 9558075577765280675849067182388848556475006166635855781242056693612316753897465202753122231910400, 22496077940990388149207809623937670590286063302367386537732239765210565411875073657059409920, 70803887649246572828486644327019925773759347822682566590183578998868623278165884225454080, 14160259565245721061624362597142879601331694726482831230105666189777585593378668544, 43774709674664189090549977795681273158494037939140172838094205172928535456160768, 3413707667297129044930637290731379760657401264246530139753736546151432192, 9145135128070819054488881431897097139864721101325993232475573316605504, 355334152321738191230012149091989823227849372023606601813727232, 746564696238792479895279495798957661244478821870938453295899, 13263278264876469250414053380059365844066074410072064, 20335570392257914286318932239200394383028706374383], [91631967127108492541849407323648183353733005353625202574781765389718977410169918233798636503826432000, -37164453457432448659112317035469352630733011648540885001249537342095274004260740457612863078400, 219658709837003743628645710515848347751892835119763658648558246760611601570337389543759544320, -307661629037304142149535692062575772822172269718432151281582184136313193523798354165760, 109185928380940913919064963459409108805631867577114080689312448687198622793205284864, -202155439928338055493321004844471229178185689292837661809772912589177203694592, 20323852363310849392230658087762857319808614539031012330190905740958728192, -47729221169473302886252410965499606061496685782496761977400920827456, 1526525487557487092911893188838151861717160258745112269713859072, -4769643956006458749304003755326541795268601331491085196251, 38238185435527594093424129623103870290310780042893824, -170580365123106202619697575148187627694741092527], [10389466651006942512435152008434428196252333001933222568587671343057284225368807706187739452796200550400, 19359057311437358600518197783391631499040971513909712816588436614183378133066376897673504279756800, 52622798930570597959617522866883949737469323966047737873966328798932793896052649483876308090880, -72685748410222708571540237925885491512291032526728652754755233593422513157344366491074560, 34046616265093424857242088482446376787428770700227943524547779422840278549795969171456, -56039298712236194923726627790195981506672804397360859150161707898691701717783552, 7564620760996548314173880718367261137417220412353255735809814037476038279168, -13967329152962075659094614705281651512833827380555667267180117248684736, 665159720991672350216617950996297854690460600927213833855543973888, -1463263678801515711648080220159193675661822544925407653076881, 19970270516311665560303218755730402115044417563525789696, -54771765511621461337150682507814440413814867265037], [22370375486620085885601317764736183593743561116546343969977227386090210212351624126812008381826046361600, 263053125890374748359055164232873457179390504590182278347456160824787149058131744855499504772710400, 66937472893444554505592193367824121978094566618764021451198252826365834267370182553423472230400, 1182344645653173486297970262349392528860204504633800908458325962498866847088484148114882560, 41321000173320978402974307039261958617386219015362071112097333472334244968404206223360, 741507824967982162227244394101440912400367568472208660056856069568159696647089152, 9718941297388713335450335675641936057042274217659952670680198225613129646080, 171924939904357992157827555506601518162786163506675746106005590573654336, 957695089779826120806565440763725868675503258071396735410724321280, 16892322196522444152291058334735959690048064027845387872315231, 33377954365303008972866079488663642184920454196058511360, 593707631860832568074165713123057320418793277905187], [25440644610608507992808867146378749052837691910526962810630182574947006513276654792982218475303233126400, 968314785131234495988052404273365128476329584401514727854941424756110171940293356261836641533952000, 87324763788049039781313990327803672310040996778916204268187070527949184845245132137943625891840, 2151726496172007462284659328689410613374864611052145255598652092267617123066980008984576000, 54781805057971804610743200811141954328016505025770289984192693675957554650048000688128, 1205400343886795885477511745500849377126912377701812733178682778670305537547187200, 13206612992727993918022244217459567708506548871242127481778220860570369327104, 266059345320894168229873284402802183150825384728361486252036360885828800, 1374681457867141344009160057626130303096391666707207752980090563584, 24888626399482186962160060818252425809200940515939894202412425, 51311652938862558894073243555356283098221082926718778368, 828685549245238993444798097537813787598248337151525], [-716566085282089637169787396641503404507195602098468285833864545322230412353922932182511748207512177868800, 166374205927430699154864671544341409619975210856698200611548221533138470239117440221348517514313728000, -1954112631013572730130679891312374131495710800669504483090203334166235387765273932000453061509120, 22606424669887788093541311709686090131785883547030556429828537692593151018262716247598694400, -1281556254796052150366438832492668129736433458088753855573884160301800281054415907979264, -5770641403043204240750249630715637901757724590814562684269260947414353784907258880, -327537606543773102179234260988113428907184888877261164198843415033366134259712, -1144836754782957463934654312882914637569198049545878313467346673447000640, -34935795959978880581548780162657612885062806866503444822605846771712, -17145812554958631333251745723239393890646732920135507327651915, -1304721054419771642996028034243883595006857116276076550144, 3321499668346761320641432877170968438845756462403745], [-4994032924780166968519391522377410419525189580285532661319530953636010037565453244216297895316142476492800, 36929274809820339173795973062584511813241305758879795038601529947819516777470916203086110799796633600, -12963729765900900336934567112638188871532441697702022500781071751326452867245819336678397674782720, 219629828071897282926333534864924151176073212895810313268014020040183257482108884550806405120, -8356488615010330840911984691939881136721876498432030759674968979606622554712799323357184, 141234223075594856825252685481917428465847741626534212815566471015665909070136300544, -2130377181905327710958180024222381497780026654419466806837533933968059188641792, 33064776339444133025776047447597767289512139376950114798596598638768908992, -228237446145165749982777675132042281579128916242542594014254622502912, 3278029124745347131068323011499889402418221358378204804775735857, -8579514285887915752301705821976950826181796395694057795584, 116285861972091488232520881089457233932455609943852589], [-3046881969780288666090979932090332308958273133795294792094800561302258417697093506304993721217129958604800, 6293438764161030811873999502496875141765572867071830471688062512936420326759764342133270661953277132800, -8239593374725585195608350246902043995853727563000819990987746158771592049881522023052723586334720, 7708149347835886100949651091977659297675152779011247761606006290443734140960863580429515489280, -5356555522680311065214574231464681637934590752597090820021996724677089342065390978596864, 2740576899022231820125515272636213289101843305428590554129022627957188408873297280000, -1362433560869660773127512291890556514873907536817375831363229421728737529823232, 386188100777416778539570923926377087597272875530181188363480017783939823680, -145110631793337154874748614762000526020310350973404415763193838692352, 21766002492287023597239581040128439594221750342767672378693877555, -5420579091875426215617010707635105869074095307425032587264, 356381699534851828987465031053582930581600907454025895]];
    Rf_basisdens := [1, 1, 584260756024723560983810206053201765835708183188728989009059031994815305143705980108800, 97376792670787260163968367675533627639284697198121498168176505332469217523950996684800, 584260756024723560983810206053201765835708183188728989009059031994815305143705980108800, 73325898095472334460819553972540382258497512950392694403747368473244892713818521600, 18847121162087856805929361485587153736635747844797709322872871999832751778829225164800, 194753585341574520327936735351067255278569394396242996336353010664938435047901993369600, 146065189006180890245952551513300441458927045797182247252264757998703826285926495027200, 292130378012361780491905103026600882917854091594364494504529515997407652571852990054400, 292130378012361780491905103026600882917854091594364494504529515997407652571852990054400, 584260756024723560983810206053201765835708183188728989009059031994815305143705980108800];
    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 := 43;
    raw_aps := [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1415600433, 546, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 17753465, -319, 0, -1, 0, 0, 0, 0, 0, 0, 0], [-3484551832576486, 2088211, 7269609, -43776, 0, 2, -1, 0, -2, 0, 0, 0], [0, 49145482890366, -36128316342, 11832000, 1777442, 718, 1028, -34864, -5251, -160, -118, 54], [8679988994194456620266, -2526457929944, -8823211090070, 24046553596, -46410, 606762, 108628, 350636, 2210260, 0, 3094, 0], [0, 2999828807829131742, -92808351668512, 33989956902, 44034003830, 33207366, 49411316, -1645733072, 85523798, 392064, -5810510, -608850], [145182667260166773459823010, -2280928514406054, -8002416954343434, -16239260875162, 1204695000, 1754614052, 1507894226, 17058291504, -591566159, 0, -80313000, 0], [0, 4195525869706692466680, 554393358432307124, -175129490524740, 35829571861200, -6217967392, -10389795392, 325215631744, 92437992418, -1923045248, 1537040800, -237630240], [0, 465158882207736154245791, 68468336538188979883, -22442604097895268, -3107019848106607, 1781225699996, 2606047287496, -87558370409504, 20218037266588, -98644874240, -298004510060, -9535827924], [-6881892586629250989047715853558, 60871895192575971253, 214163520809421325767, 1054436753268964644, 17575875056520, -560039824666, 62826850794809, 304367587341456, -77985939892568, 0, -1171725003768, 0], [-8403586546360333723539831612646, -4341502826940417268032, -15350796330444042069618, -154083659964611695756, -1147224466397430, 709751122075526, 1495376796337844, -8001184842502572, 716982118977796, 0, 76481631093162, 0], [0, -137962734572144979791493546, 317007103624425227442742, -102307151706973992240, 476003503180218458, 3332201172163952, 5057904007928992, -166555980273214976, 76656839077038016, 129094866532480, -628248907297712, 25743641595696], [-5952950288265313037330178903248974, 60391079578213528049494, 211234589830248745576490, -233964152571414647314, -12193538678218920, 53354696834508748, 29749695595994814, -11520006491334608, -63224307731705243, 0, 812902578547928, 0], [0, -8104147961526088327050190556, -1734176859257761426232704, 559323796396438435428, -8679787591094778220, -36035964299863188, -57395269793864088, 1842347824281923616, -477030004569362160, -6410669871719232, 7807744971718020, -623968609369860], [0, -297968128126403594797016062003, -43651087223626635395807083, 13945658576369493147936, -1352153054275877229365, 174573546472649824, 223340934823913024, -8110215537000890368, -8416008518164080640, -53104198053048064, -15846292228276960, -17586106070937120], [0, -4217485356471820856927444607868, 582333256429856596337913686, -187187079432817514870046, 7467275152588221196376, 1521338410390347432, 2234006006409130032, -74899591903765044288, 125392125689081984691, -76773419213316480, -258228043134309000, -1094020055997048], [-7174032742821227395777085932645401718, -355501463907645893600549648, -1244302842706707437659810410, 510781833767305299325156, 48437058855522550770, -31992110279623562754, 13600507913042141940, 489266905872790738980, 234601456300132531428, 0, -3229137257034836718, 0], [53132335005691055520754942714300298594, -1120913394115414062094816280, -3910467383180821493717787800, 14937752220813720711330194, -145531142931902152560, -180102202802075084000, 411687524239010044424, -841144812229456951264, 1005542665722552135999, 0, 9702076195460143504, 0], [0, 49389578554267735423131618455452, -37674490910694322221738950604, 12184888964381511637216800, 300053436186485261603044, 297163179186065982476, 454462166771310525096, -14910872129452188616288, -6878058424666792836462, 22908718978296143680, -56896572652534862236, -1193379332316330852], [397058197781571023087869812134116423826, 3280692992661194063874867672, 11490388035091419196017626064, 3061257676619224100016576, 2717947185744021197400, 1493785573145332913784, 896754779000055476328, 31010356425734460079920, -5324890974763942919976, 0, -181196479049601413160, 0], [-1373068715835525084695216595322307385430, 6570825699588406131735118261, 22832398130112600958987937239, -181594116454872905386706972, 298419666492556434360, -8205279857677475665098, 5404396381711399796377, 5647393503969399558128, -10228256177485751906984, 0, -19894644432837095624, 0], [0, 2817466845177598516472381443331214, 561053824895424388915053613526, -182589866084204804746165332, -13735223874601441436956550, 7435084304841654436822, 10892678290689733318772, -365679794125003490023024, 141617774881816790039075, -406817900344139221792, -1251229547034835410910, -20623419216894564450], [0, -21189348675658526009778876212605172, -2502384238912033572397468017586, 806659567113682128101165526, -8886539857208235565867656, 303435243714976337558, 879181298416607844308, -22045343921738502036432, -518288284825353080117386, 1233537559196257715200, -178781570463177691230, -287293193915171807682], [90847596953520408251894090268135621628514, 2733409080949240405653983885692, 9605205622447098730788653785166, 35295044962788716074330758884, -510858224794529008096530, 1752545373502546482481834, 1182596564168929798047720, -1093015391063789804007332, -1954841182929232003983248, 0, 34057214986301933873102, 0], [0, 118628878167031412114347327517141205, 44832802530956295453533196200305, -14496979514312279892578302020, -308095181622213449256543765, -231179499778531807271300, -333386485605621157099000, 11280971020949315465969120, 8575619269582007912036060, 29950577162620239061760, 37512953627154112311860, -4444044142408540793460], [515981270552587307070476762165755742952986, -5044563265828571110968124170665, -17561903005722186170516584052491, 105286946690297193520256793096, -3065704349444029222671360, -2239071657562755811836070, 3864525954390297025753939, -25780204113111259831576064, 6160339525320869681191746, 0, 204380289962935281511424, 0], [0, 514139392551343531139918266979288128, 10163994052911250309617426344710, -3524898098768274448130426802, -2665234400032532198562183100, -2010587231711839766119300, -2932424015246230063292600, 98669818234559048178136480, -4260678488768757024263717, 148990241798512126114240, 334578938607330411093940, -3965803930693712338740], [2147143507184118225111748331523685472487530, 19475375225524181729953847827632, 68668449415778028416329915727598, 491413870325748135364458128756, 7025798886941418610750650, -19688359808399017153678090, -29124110939914105416190780, -6273433041424758156403020, 6646467780920385052494580, 0, -468386592462761240716710, 0], [0, -133437373105572963803039654943619224, -586721578827880200052078076673540, 189717926053521721437059172060, 4219158836397935294650803520, 4399161668843438409798620, 6628846181001508265371720, -219239830250104071951817760, -107835431185619613793975460, 164727745651236111239680, -804326903610962978814380, -37763827644838500776340], [31425771082036276055358278196775894907628554, 167000144968197048540642400597929, 600589586765811060753665111133459, 16383778266679926228112694735084, 82102037613680784120623640, 529229198994977572823129678, 383428678918551526032354845, 2133527340491624622918200496, -203162758892396261966394980, 0, -5473469174245385608041576, 0], [0, 39505171803215463295512400863533122048, -8104787350477589188872223983808086, 2618046021089644793918277022050, 24124990172259953275500383516, 5945601310257160087956964, 1639984529319446987210744, -183730607962163872289582752, -1665268125558218869290688483, -14230194955431045573983680, 1595808690850000317003116, -336217034496761452633068], [0, 98856946068531430999125052222416075930, -33467021114238432772911077824211434, 10773666148548253151728557566052, -301274071556091567831407350610, -270687729091620920951065148, -405977897957279104660586248, 13453634465227943750615343776, -7812537568962180584927027596, 132565921147949684179328, 49317478857549869880579980, -2638009379988271544434380], [178446107368743451585411008551482344882395090, 3661010197986990182033339112203152, 12843738812554822548594823712572176, 25477949831400048054373010484786, -178768201178208534738006240, -3847884848406333222075940480, 916641152731124781881016176, -3838038194961810712641571776, -2226121282039156374015200465, 0, 11917880078547235649200416, 0], [0, -665294073185548750743051811490762192155, -1575245003612353943415134641688835, 309887926780827865490221479120, -2158530748440923120260244583405, -1587826963270211600693125680, -2378421325906357497588965280, 78899596874256443228057616000, -5348260264092561033545791920, -18575382084611816872289280, 286151040244584502435117680, 4218395625776497820392080], [-3001150486052361982620650051233351132372504198, 22820383517218585832466024033303307, 80072550701213396506516598184414017, 172248779754136253620865895260976, -6804568113903008982712449840, 17986023066690122529256760066, -3248391589054754994567262601, -57917354873230079083544753504, -9348835264861178502311717562, 0, 453637874260200598847496656, 0], [2397342137236187326806356663530143076140669194, 158094749415359672029725180946482856, 552352656795968173208180729141944682, -1262160195891761661180586598203396, 16635486009499459483405952310, -33410987297534653200920393558, 22992926100986657616912890580, 182256822201333148763646101164, -162721802965066750824027988652, 0, -1109032400633297298893730154, 0], [2758376610325980524198646306967160242202871746, 166283768627468360983594865944161006, 580354636968310028993676391094351538, -1957503251352878335238472022152274, 29876841261738916421650623000, 13360045360443073198898301212, -85882105293086392605126595786, 146339615644007235489481464240, -135922356497043807163072037195, 0, -1991789417449261094776708200, 0], [0, -1193877972243143336921048140215062100128, -758814542214111573383345654500948388, 250763253296995282674389186468076, 56150595516087127637748208131720, -6769683457320620093285326136, -8783374410090342987948597136, 315619738953816912219743369792, -183311290863264853415101327930, 2506247117033919504715152896, 714986183207410700373738200, 143777156847492949840296360], [0, 6789444937090031138671993109569413555095, 1363466965177406636545517529872311871, -439930716247147244134680786748848, 2547513372664857914019577530705, 10854451352615353711999367312, 17488750075556858069004562912, -559289787674733832982212025984, 317853860778473752990873726384, 3465834697974949439228839168, -2333495292176476230358521680, -685804750942263350936272560], [0, -23520639384571951261951606392048762825044, -3041200965784202724124102605992448582, 983838700282917189142312070147742, 20843239646634964100117779944568, -14285584181832510418733846584, -23069557106937888919815930384, 738702280023893708499400131776, -678116188190521374324270722187, -6292106876260481027575955840, 2959178420451135191995595480, 2160112943035819340607935016], [98552816566036784815025268413683940234320131962, 1742299069428658036175802721700306712, 6113937827412113513715784024311121962, 13696847192567248630915590739590716, -302171607366476882320309312890, -52703891588542178026978453894, -99196467548551744578307468636, -3333247221823709866850748382644, -782799382438080902283346672892, 0, 20144773824431792154687287526, 0], [0, -95590950200846675409175622266982342413356, 9073952886646895871347395422316052312, -3005740591749599964054838548908340, -721088006426413039900113713256812, 209798969628851819883165314572, 310519402512797686051797609512, -10360146126936413980242591840736, 2617542834745875961910998391276, -11485040394211576505800429120, -36966394610377968067912715932, 4370281823496879185121686556], [-48144898547005455869290200981602725547110749694, -7084550235027233582073906769564549256, -24854618326528728643277924919137404032, -49563439246424887092656682902881184, 1359444154021129647007379549640, 1606127929681533933780654245448, -3096222344217184589308642647960, 9280013612262687154638640355856, 4970318241514152787907419043352, 0, -90629610268075309800491969976, 0], [0, -65702573900097326686208165549486393884891, 81272599812477811908807242589776189577, -26276276745953526545607209682940716, -474992315998826105641611904126165, -100520976248565343248859756076, -109969411131316311230067787176, 4349479173284348229728299460512, 16573372633692297641501897136468, 97797267274582804186768203776, 4748394069480142917369742780, -12704029675036003432145582460], [-308986981612774391618701598527773887636536229350, -19362751393586225738348793922019099013, -67848982811712208120239125722888352751, -51582723622096010682492394748566864, -1426149041496772235900288917680, 1460479440276664138804171434530, 4279080567391686521281873589927, -4528079648207039624815028345952, 12348517220922153776811878879590, 0, 95076602766451482393352594512, 0], [-2756075171356154760574604400799636200485275969918, -49249441002355349159246349366305266772, -171663252238474099729148201244604191244, 812018209733646968856138681206375354, 4754511108690473650761104384400, 10244649656207257795455468596344, 5724649418036278231900274462172, 70189961800922645497019282241568, 42389659495211480341934444585587, 0, -316967407246031576717406958960, 0], [4185776873002861489552937711309469709220328960266, -382424716402305201899315098215989938883, -1340863690758224996837457109733095604337, -1856832882214344718750716228314175084, -16206867738408945693527289020520, -20063957192452729617745220876026, -5059236875211950357347979686399, -195492481874647876406419528258128, 276868772678882089941780356521264, 0, 1080457849227263046235152601368, 0], [0, -8117010822582589849344761375311994862249154, 398896147562984620546029481877080546286, -130059572950437646251694525906488684, -12869810713032126230894944344376710, -93979248684959674668355159978, 341808634366264492082359360372, -2710405614232527793392371625584, 83393313326864525148449058201103, 913603829148453618504439630048, -163041323954071582530530177630, 48654876940827092000603174430], [-6403672930006266485752899507889814236125552096550, 527588760587314624728229662210622349752, 1845676625280853655232205308479433450394, -1746208501358885292705232288854478244, -5292828716997503872617379574730, 33487164397828240711411704888330, 52208999871588659012596718273572, 83918311227631019235907869773228, -457443080959102608158808879612860, 0, 352855247799833591507825304982, 0], [0, 2177487946899624098704674147506795623026384, -556085252445279862374379781832752368726, 180179510551790090689169405690705406, 6788138297141710065289150710063620, -677748731677015712195548462722, -2644758562574962804437965624572, 58356119260832082388869940104304, -118256693208381402897741849249346, -2878597081491944292931644311808, 747464377764972180346239283930, -330463815018877050320285402490], [0, -14167973383023668939735679163345081033066212, -4678458330792528779051265406983224022736, 1506007951760780993619308659586514636, -39812521494297593714495248167171636, -17618545714283711577845978390092, -24245245198604178680205020685992, 842707173126967908546461391732448, -1026207229275232144835791653337016, 3814378534665225031448914811200, 2371122053076690238789023563740, 298142495898999223834840977828], [80693732423175874383573450813469312587398203974242, 861741116764596877692123112794342424648, 3012812796082029142451370902407610581096, -4752943730296900424213238718533101936, -19564296910903730794247956395600, 108690945474733086560778205394304, -80532907855803705851061452193848, -251930698728092379242673854228512, -683574799260950086493399979885608, 0, 1304286460726915386283197093040, 0], [0, -12085304484607003920869946580270407093670030, 999347648179765874250041742410093063850, -314718253820654143850025912663851820, 90470004830873067016767857379181190, 104228045425330619846586390819370, 148114038297299200386686829095820, -5055272461183879227986867712010640, 540967350154216249225222399090845, -15175121768918151423445257430240, -15893850795872796507928526143010, -142287554071813803435674229150], [0, -103228809662262737064153236377301137450565292, 2496463289068401818784145746582745888264, -823409065040504612263409302137494628, -178254072351389976244155449005337740, -41523187565008808721481857725092, -60421938495938254724724412311992, 2040189138612720413510575059438304, 396864345459469384358739672643900, -759524953310011044698316908288, 6527188996075900659271071070420, 3106638877305825762281807686380], [0, -47548832438461715575488640734645905247205884, 3289467506128142430682027211271652160836, -1042367185454258314645378478530446504, 161388182845312657595636603433742860, -171478570457165779932895808363228, -266501911960168817947209988171528, 8658140740256026765981954691849696, 110534382767336375590925129073818, -11165619120505021121018616876352, 35234515888863629580597905412140, -7570124102640271683926546223660], [0, -59442474369686490926087074151596845547529601, -24524174478129368952078377374961530073913, 7918592857612754561664670063219393008, 47790412894531219487622045742419177, 52818717192413092999494050135664, 97903350908108245420644798437664, -2911537578334919720056592841123456, -4924028599862837418207206220606288, 35923466699066774881341137318400, -16549163543133268218150620280240, 1977444683460244468641350599344], [-343388299077151860794119410739673727378159979884118, 2569746644630788872593131644859540573533, 8990964643880212713658200154778589175215, -7310490592927875295113913889344080396, 271934323554032168001195835851480, -2495738530587665437298401688906106, 399216906526707973928727705653025, 1076425382716878624171251248085040, -2192238721808163254685262900457088, 0, -18128954903602144533413055723432, 0], [264705485746750566054380827294396290589911687580154, -24652431769455915900972047653595071529216, -86576122926132514432033654663556860501026, -263892030317976379447631485825636527276, -3125950380178680320716221082461510, 4615904520802733299245864797000918, 3111209136174806413959242793353300, -21046371084670193144141104657399884, 14447646153105728222501341005253540, 0, 208396692011912021381081405497434, 0], [0, 584826234203019534458489515662374215193551568, 120629634390598429833748215259583878526054, -38724797672005601860155359584991354670, 1910040355804798622249459474180219196, -576759376034498939655424116140206, -884319660343423298098802854259876, 28980811220196286098805764079314448, 23052878686842832272250889613681682, -54097204606366693266535216459520, 110841651052687192268457261285526, 6229939289259721605768300315402], [-1915206323923654688252446360902577525433070327230734, -19992770637500034567939212818901678784572, -69966240892587555772518913700131592358164, 40261552898804776053072577697493044026, -394254098612874942078668017555680, -777144506518339381428977689499784, -1957957563114232067917420977417356, -8714451438598127926466233423402432, 17310818769581620102656193156492243, 0, 26283606574191662805244534503712, 0], [0, 175208499487444869069531707792240082258653573, 37480618724370686111388249783316183054945, -12465568519016161200217497459507452292, -3278716852415868049625199863222846405, 2147994386161895622220662512410620, 3216384707418538218990775103014920, -106733387004324503467150040852654880, 14980461082537193022474484720649148, 37373209596993596631617472913920, -385527201518904880007165653662540, -16937183391629388691201540142580], [4622682256885847246219550935181157589902820036215874, 26425676118999504145636649171863791175956, 94266753118458223516061099504045132937660, 1796947666106076247278355559080226607594, -18289252464528767485429212972137280, 86873050650713282827421307177552312, 35287222828457509140528295570267716, -29102878830565127242900073997712512, -6187597664634962827531540400700357, 0, 1219283497635251165695280864809152, 0], [0, 4423458587264627691170179699237476748504297156, -6096369323508526328887092871411236694612, 3203239456734630253234287335843696160, 12386793985124959443874728118828552252, 2620587350252218773805515749259028, 3975923834753054407109280546385688, -130924408329029352666884036344264864, 6463535091222743100439365207830654, 67120097748638207277816092807360, -495894067011660592585259244774148, 44012077249033684921387255831044], [-3550234913320498479298590254630517385476568963696174, 227133116909355225667648947576847387671436, 796126211353822513785227848999537692803546, 842520499744348428878685618861127299116, 9453472932864818477191672458073410, -545063748823133776550366523113258, 790478303255619128259580994524320, 97461316772909252947323854538284164, -165800719435882266017348268605675480, 0, -630231528857654565146111497204894, 0], [0, 2281607884573252315990458160293855891666270667, -21761276225653945574406389534573517782005, 4028286924416908382464561719953134584, -29969191625712335677749304437720973075, -6543393463115971802258524895709960, -8376467020051794146180642299326960, 303285126499119039001623654328912320, -23823294559527885501601103414942856, 2683582744970339032729119471836160, 652566844602897492971193552234600, 114454269948845824325510463135000], [-28133495668326673675454392363079997850148164947777838, 1336611819902018054602565292655620480431752, 4682428510700021056976365849318516991487432, 2329212922887631118374815007502429521986, -2413397127865962608516252057145840, 125093867849668998049077805845582176, 61103195430465688921577979964190504, 222683608006367557285367994791075616, -1020530649781742448462775367754005657, 0, 160893141857730840567750137143056, 0], [13689511132927575325866837594115113758918363153712194, 61204598549241261464989137683206114630708, 203412965308685906071848397365788624125246, -11274596813032904320281174389992641668636, 99523341106506663469569053841073350, -155163182341129079025325632242229534, 139033887654117250214194741036649392, 1138042672253473388792668199010017420, -372901536433245294063801394600674584, 0, -6634889407100444231304603589404890, 0], [0, -24244938378444799360909772311285553749928937486, 4796388933293366709013075113415617203897786, -1517596541131047763448918925599368288092, 292613767544590278426913779556691820390, -13467568311580113266378813402077558, -18301820813852521839017379114393908, 642268544574539449074537378857059696, 933597382690294808072188549517292805, 1879396066516865009913251418304288, 1607351134657488357833700521010430, 1392627815196093597578683677160770], [-190138988150766210886861374935136261831656823381278710, 454450103183901662104051094976611802978472, 1604705532499670807813463887501669334696226, 13903893005496834547651283462544597083596, -31582966602685441062027560475827490, -89390340653567575287101680494264510, -12870098277387155784367664365366364, -437276796555733385688518126078437636, -68186353405970259524679669120919580, 0, 2105531106845696070801837365055166, 0], [0, 8837407170083136695468957465685205812664136272, 9216588767018752165142316165463470091920408, -3002788596661514342809892887635508924008, -267867622695851726546891252402642458560, 52410095651601480480187080169900056, 80020331815044241516748002254319056, -2628813235953283795052961620038370112, 2101708093598158223045068278803544408, 4719245106880073890705180238145024, -9910435405416552224797173514707000, -943441956781907049179143112590920], [0, -32792491317394540555505800708197468009628705308, 2519165263180011274269074835791011762945876, -800603122056911343761651529093635986296, 127530967417922384091193191293236329676, 45973279762725930764859860722288932, 78491123934717247343790254991363832, -2433104323869985736863227169241716768, 663777316241044109283714744063268546, 20084136927347834484521340677772480, -11770881234783033777842336228573140, -161637864612657427391344262078508], [-137850297938500057421530476559164150052021295072509846, 2754005020227114406468048888855891261492645, 9714710337521905724025691097951817410229431, 73978034191517814057385272487094444623524, -414325224899813917895057947507785240, -433843244543953124348081280949314010, -1781544786357886618417369899809902679, -8223050111237828323712412145148528816, 540562444526262345259128008839279464, 0, 27621681659987594526337196500519016, 0], [-47938836691019093739536882912898805930654298027227654, -6379212574375477638463773134726816869720568, -22241359253983890501253772471990918653321174, 98914933232172748676925214744701993415676, 275183359935145862252672380866675990, -2983620625916785270615090140200656886, -1950499825121918504977759376778301068, -4077750004822134485593350608917163924, 7724944569826011635178156138557457844, 0, -18345557329009724150178158724445066, 0], [-216931600658824038671099511963083811904394761697873710, 8405035816392515842889883444317908562059794, 29403333168509610616934555564236012001153838, -28031435856763780579404021544948598491738, -601641014655001226842261082571682680, 3919565766205680334304811348834131396, 2279570148126881652819670830910056650, 2341967712978431126153089968423081360, -8117675164441905521536976041219038767, 0, 40109400977000081789484072171445512, 0], [0, -121910246966265566253162398397251083884662519436, 37693427207152745524809178613481932438552952, -12062176409290724334515765245317587503476, 1103170908652077041631870923546821839220, 747897153732891742242481000581094124, 1113750476006713533138838498878302824, -37064482759978795192565417609466254048, 10186701686686313321879007257873722588, -2603861390670390634470172094133824, -132263739426056187502922585517003260, -3437663022760432291267273111054980], [0, -358658699556510955151649566988680994820138380527, 20180299809642455952274408270072712542992049, -6427384297528091455515667376567810287224, 853723732827123703206595447321475637079, 166593054715968112650980074023691848, 270355761791201253695327736211828848, -8590780619689640007634464608253880512, 4678690831082505244879845789492059304, 36369947850425302429236069185928960, -38191116739042472945881501149760680, 5540500072996409446132546622985768], [-1726457508987865666674036534492055252444062500230720726, 24825312711901414561902917935229187521038752, 86956228666684664814583894158710498348834502, 30855794264115894203471862967866745439684, -122790945272869154448601526718376110, 3037699044208997594275716617233164734, -6818458167273761295263983043347980508, -11851684932121790371627985041990232604, -14715650044219974076737011027670093068, 0, 8186063018191276963240101781225074, 0], [0, 928488927699905093219565943284292621276851082810, -197467687181319351789751566700918575150216360, 63564369657051153826424475403817247204090, -1590042678602828115708330920466268386190, -29782786949806573340839473086481830, -28107550206239788111066167822947380, 1267967968709751252675232093225376720, -40983849195087573138048091250004932470, -5419754454537643081408375974209920, -3719764917129004525836274143462610, 29879919336826030848417129460141170], [-4164692195903170668336904941208406200244815300936713550, 3292638549045323056224120913399698534937696, 11764963534594347890684875344866425132563048, 243872568150282965235990433047903036755568, 7766695656763944976384429837681655640, 3687623426632603059774580097543535272, -20536265375046037454321419616411891440, 41835388375532766910252925209072639920, 6361966464708184633712522344812514576, 0, -517779710450929665092295322512110376, 0], [0, 1294370407239337275012483058849601009240872440794, 83748878992273835494262618141822589296118102, -27108667274820316013240228814231073420872, -1400547141883157344641241265972141756778, -4287879332973772833775763835377780166, -6270375524749810407358182178277946516, 210816632539518074189928945289705327344, 3574824629967102426596681634614613267, 164675749949381123960737354922783520, 709892869948013973382446864133394190, 84115195879676611595325937611994674], [-2257208524972382602911703538955858719704452728418068518, 16423802820867818844066832168499405081491432, 55714358164739030060277796573809814351514594, -1856092739213426661393185608845843783153844, -27905028916302990780482253774191945250, 9650295117466147288227830219167607746, -334786234487324618596076443532132892, -275650572297799007909883311164654499588, -21760499811722448476327311126684750172, 0, 1860335261086866052032150251612796350, 0], [0, -2734073414491884349685136668622787205721557631812, -35091226675951575603296867593329288361324016, 12952990184597175294621887364535663839180, 15267735490001545348979907828811277210156, -3730556235307229728722725031761555116, -5710977697173624589425666226141122536, 187271188670481384964637617550928606688, -20426051219548862001892596776454323528, -293338806725067301349335448885193920, 716810716881983666267025492476454076, 10483805228010919082790628666935492], [-4887924327813119192255550100347868895940443461897971454, 211634400542637170373289947031084432522527948, 742526935262146725545727575574921271249053414, 1535530459664037668157261562109934331519796, 20077837322579140286660572664731350630, -6511285521625871007959629489447968814, 96995008693865505126998026067678580200, 392272672556412370169974263826168968012, -204495382186235374156237345807490922032, 0, -1338522488171942685777371510982090042, 0], [-1315760499705058631256335376368685396593601916903192390, -219344495011423226800079911189045849674921101, -763890597790842794129350782708131073498992391, 4293167570772038711616492090410546571932992, 1219869462635416034933353081078764240, 45411397715763579959229715516935353586, -22384624620103612447310233074820687233, 13084816994437598620929450794297374368, 243161520153972483096948316302202843278, 0, -81324630842361068995556872071917616, 0], [0, -465512653094962695536447902865355690891676358122, -929760093483374040234961671042211176614942206, 298860114829534855186522726344536320500912, -9218010847359528450566858875444869418710, 16370380414831510469914753050208387718, 25073737300024652702721327259704904468, -821433125971684010927556780839145030896, -139040483508811062757780041357920172935, 821783238302996091743358695326358752, -3189816390187482322277480008095366350, 334555385327695323696929828667638670], [0, 6866769026785110867894768738233975881687207800410, 1467083850801583869481057280872798191223514740, -470825592654956507658604981790889444508530, 25805614005382482017501153783636961002250, 1722581548203718118145255780274042990, 1057934365761078392354121996385285540, -61929963938778392954695459023906280080, 308702297964882122788841835994357044190, -3210436336458905141296775162893582720, 229487487199259999113441361962512810, 109892317787490254264108493092752950], [-42941706807583378120682165164337763449654990347438774126, 143145839670537725331506794356325077276936256, 498837452912571026140345648008672023069360200, -2473820735933543576668542194394924259264976, -28187099484078756854285934068235016680, 143461808977814912906323458255329637672, 176523659826781344541013609562853217776, 209000713893774282074634149885038903088, -244161910279711212832400279859420596432, 0, 1879139965605250456952395604549001112, 0], [0, -19711219564441200630432973842807132387216217577869, 3140453049157065239761213768848730214234389663, -1007647419427649422027094838380170141938660, 54362619608035030087391978212853969918237, -18252967397808655470143078287846793572, -24315298949510727069802150799470131512, 860265024716258404691349082815875962336, 589079713859045844641103984645137800924, 5928987424576642121596101446827333120, 2193743689021410764615336768932637332, 36974385317665826506339358695897644], [-20309382512299588686460123417588303117087828551363702934, -585327123781135392542141506702685616786836039, -2057080547422014344024608104570638894076618525, -7805851246004367175079716401096697157049684, 120383076790721678312215687677880398840, 159499353977289289927112640150771373262, 227351811043664927370435463362725500973, 1842110359329980263452583581190602443376, 67213610631014491277269361377108745980, 0, -8025538452714778554147712511858693256, 0], [0, -18094282943247582948457694201057617741774369278958, 1350365266912413041725468130781518940652653582, -450327402930064872034002517899317380384824, -144988303968119032934799416039056181592130, -25003375661646061474148932712181006446, -41727321530245118515840602599800448196, 1308483935590366389210647285160901099312, 208942908085504715666999920560574247535, -9011992898984414272192225712694293344, 6050383750212530335926494293742214550, 115647620684427280192665988990397610], [0, -38766276219610776134298131565241966810336050491544, -4857452447140744253241367243502120414426124992, 1551037926262426204321735029440139666576552, -168059411095765184718152203939404963546552, -46183160978272075797179945274227195144, -75080321172831972659233993797639205744, 2383892318580311121139519764195271889216, -1148402072819034979498532976418697644192, -10626024840938713184713802884936044160, 10612927310429011174088600662377666920, -1321984703050066191302477497351805544], [-46926504130886785532052997247475644141263375575234673126, 887243276248965171063886213437398924561459463, 3088685371337820871673093253674061210940592469, -18641839886515221808460451122578075157881336, -77872222072968140543151724609255053840, 448271173432024753423798132849463117066, -151661070490954818173972413262545222237, -649347632694159916464294284690028876576, -889997142519626302711611680407057322894, 0, 5191481471531209369543448307283670256, 0], [0, 49593702504816751980685895615456844787494688680244, -6045446359113288174973074138998361065585378978, 1926498202601068198323143962874145996963450, -257009719929428179907321194593290223691272, -134254501035148460298093932007986879288, -188236380837931782886224605154213983248, 6472143219792812283442934224866439673024, -1675835212485985729798016775550581241609, 24843336095544357780886529642836280960, 19560539626979287157855208592600816088, 75761294684805891284740059902487336], [-115064657159490120015116265901696512006021830383427796670, 7540788139574808541736406018172880903960641516, 26372896156097689541588341294600886359171970932, -32435961949555227371998101187977688485590662, -267750879308752461737120797665422917680, -583923276067047045809307197134276215368, 376487686614416183625209793988296112028, -2562006871787489788277519745344997751648, -6163932511148045281467230216939120577069, 0, 17850058620583497449141386511028194512, 0], [0, -105916466924286858965203162412910441979629071236388, -10258930190235541347108708087083706420105200100, 3293209436735518229049272601242969021390184, -141506344265653525520202938964485288187500, 202436574517173542086778292291353815100, 304422692306532736355583654396124374600, -10080248409862741702256529065509169970400, -1463896873162480140423863888743493085546, 7231667334244958646738025831019348800, -36716229527032535959604406677478297100, -2435886447457650843240356020809894900], [0, 184541053497919837038049069463416186911781418891467, -4595604890938575104478413051205471224198352549, 1534771183144083347737226509537406686146024, 518859006402068178394302148181292775362701, 112081508055997854482257561761090527272, 184774889532888909595316647705620266672, -5828786820307700072138263514651329067968, -624486413877051870809175712388360962744, 34367272553396970899759108259837881600, -26412263437091520480252304059468184840, 584761456497724816976499883931081352], [0, -177307093809223467996185477666138736219010574611718, 24366587767868135280704352721578779189818559606, -7840913929369385377096966310145744585026460, 177794071758873020316158670832074489797454, -283984261385727160509242394376244527804, -472769652146761778089559319586446949384, 14831306717480762384013606606871601226912, 4122426814437536531353410805393636399028, -88955179589693787789675866543741939840, 69188815063429415993931297697623654924, -7239464760521924362237558165682660172], [423390136504403792022419871349088196562690180535900103026, -4724867643052406288624680571410887282661743378, -16530678730826338491605207307557485367657523966, 14019377784272691092676362006578285943036286, 1845854435538105430598361704253680411400, -2486202049195423573607353347644305350996, -2470887884205294757676284940777098572522, 11399737424882662303143366154189037700240, 4019067904853744533850032363126352979549, 0, -123056962369207028706557446950245360760, 0], [-1256721370075975524545632401650124734402324337861251670838, -34667653952461395555839266498441584294973909632, -121485177045402136438461269674861886338689630498, -98896935369913087789364125917539740062833836, 947828625215316029372394306089951021370, -3978023194265495727672802816855905906346, -6007482767186201324063584858162668657196, -6325136751441674876201550611063742802764, 27693386261309869225909718848873464749092, 0, -63188575014354401958159620405996734758, 0], [246405037599288472192054073390617543667881028788484225474, 5301111119023380180203746881329021762399589022, 18306697040238181181894038924411367719999800402, -264107086611037737481185216288185003190187346, -2547336191229393530725003496608839157560, 8573586456204946994491081735570170673164, 5387667914918222776925037649727021853702, -6633906864498421465053878630385945026544, -10463893415017693669408756290046260284763, 0, 169822412748626235381666899773922610504, 0], [0, -313893683129967735470831642631333931841654213511437, 86251034870576547084598861678641979357060125207, -27774358449836932269397588901093106608137020, 423356331837394183508071121130317315818765, -1185061854923550403521210517308834175996, -1712261474644667200732428565903834885896, 57869739296189808883746514883473445045792, 14008451499563421333330768971723667259044, 154774942129318084932774245111793331456, 194117307079632999937798822955029337420, -28871471334990345107829891257679168780], [0, 1310325946952502135770445116304273544468744807190386, -267692503287232459690706035547653235649210473634, 86992229992333111016476970887243380643999416, 5866088271930489402574312615699398599577470, 155618762342586379878747094195718433682, 298339165526500625755652729261560047932, -8756981282398628077176639929599014207184, -55484991486951726127266250178093123783497, 149336669629710765062000387640066262688, -50450128773130946627151391838185695850, -12345766857964488030978248382546137430], [0, 291197784656035405671555988694001058592741120973774, 173410192840076127213449926512895482477980532602, -56464827370379089895909643871385132155012332, -4525870518934945344982470134945169903782918, 2413163637036543899340061185730846734004, 3428312015024516687340250750120693383704, -117069949193346522872280392620426389819616, 44154650762118708700190599717303831270532, -316403419979222924144263143831562357120, -364678000598730774400438541767944820900, -31807549650329867996449683104396060316], [1081950998341109519352719676775430830201844246636662292402, 116676886559981867074606351957635628445670132100, 408744458758252345196949646623212743515551668428, 204448080225206208964530991441425825228259770, 6937226361361448114429635011004962965760, -5509829498788821008005163465741910287080, 16421215936220864445098073191579476325876, 98092311259539678649373260029667664615424, -98996666385888827061769976610541456735565, 0, -462481757424096540961975667400330864384, 0], [-237837284181427578686515376046110542172946971826343205086, -39040102560808337755071805217044435488357638076, -136496368136818832292226060068832662856418865930, 210509946452232780034483509343501521451658484, 4656587072067502657775219075470851814110, 12598888279817675281492383341000719102698, 4256436894913483275995964656988751016112, 68608950204733168942791547224780909638844, 25264171147527973018635510332008554912840, 0, -310439138137833510518347938364723454274, 0], [0, -2954874912399775825415887261533383796962888849729920, -440690162267505821687849888093585586426074950506, 143993656399699468853765099294208430483062750, 16745301484434077385496699937979170678240740, -3260577333226404809942590014485846502052, -4768070993062462232084851303843843807352, 160150193454315696237173395935902732849824, -103270266293487973751112597208201724104157, 267196160820293146824303458201815371712, 551248184655240542681391697607267040340, -45904636460829380686291010063932964820], [0, -2376462898394245889365738554794179378866363976454812, 147752035246401585360000003431032432852827533804, -48517133728410494849480556046996101823323528, -8904980535668466080071621882425838389653300, -5605483899862490940160559245259918579912, -8203104772216531958882464975941806112112, 275779460305588123399258452136817237069504, 13125871751733379075535406222727020757400, 122133716640112478238211222557514994432, 923640153590803950011651398495443800360, 172775161320344825040378517216708128600], [0, 256590520339810000714262370825875344879226571525160, -1347662479699957390974068412804374905007253554060, 433932473728965400912662647281085712318378540, -9591857855176004640679195112667190585704000, 206929009421665249491874457968108863280, 485579815857721243592918789030122434080, -13130054288394968361555117352755718631680, -278628278706127508305488096195471297037150, 480767456747024013716568311768256099200, -91056999338257727284706957160319638640, -95557612750200677538447483356738695440], [7165761684883813221006940094057918685022861918949943843122, -174147655180201700418371711819989374463038574952, -606844720196605174796124747438941154094880317296, 3039175987420650543123276153119420935983077184, 16936961681181608749861072034475145100760, 28761039316204618249389153926935726402424, -984159955173059047070687414196216119512, 199549728553910909403830713850189774191152, 165471975006618836378875971332311997091352, 0, -1129130778745440583324071468965009673384, 0], [12637020850559811396920494498553184201810348446929854800714, 448449084627834612464060271505853949591086290681, 1571805607243274146038687444388519075519918558339, 1604434090776328894205963007443160937308359884, 9687699068251447630834140237776631931800, 3723320858055752627613041388656774431662, 5107951042839719014978363727593443988909, 112753753439899956492077999269165308113840, -323677088505507118444750537994272479896372, 0, -645846604550096508722276015851775462120, 0], [673372679747903228566842710164175125579841283995760345626, -164651395264071400330371594128842625961948339264, -575670943952731133506906509237407611124920049514, 889600079987753154332966210442474315527992356, -46686306182681822414508255536160503127390, -126518312738449373266204896347544591850578, 32101797327428424012471412456340298909540, -538515041146947113869246277903701125930876, 175175793888766166359423758763171418111220, 0, 3112420412178788160967217035744033541826, 0], [0, -5538739968781205962658732019950774567696201012065068, 1869836428032362757620189503119562813091268134258, -605070069082572269863175199716051123787412278, -16391180562529566020665260847651213115504280, -4209531463679841968272950300976616856694, -5673441010604560414470595070628833217044, 199310424383236821074281433430135229401808, 375639847925574046991256231108349606351978, 1325086294373906268262349515301946202624, 537116538438970045903067992940143549630, -61913545716092247901648933835665142430], [-2198064714793072316447685630455574665262782610127401741550, 675572015067633372698387802290792942184469439152, 2363577001651698896340972549846168655622854992064, -2021757269581086273687189189806329350535285294, -25523684104526147786835263035408905104880, 116134812251205169474469862394700467514320, -16790146736182819838431578938367923154448, -177787059087327177628112978443206210864352, -529293616416794637038569376657660295384465, 0, 1701578940301743185789017535693927006992, 0], [27066774577357700374917525776478451268080156664160476501882, -393513765698795005993091502191474197356598814145, -1383841789815966106806222430135983688794488595459, -6150400237187455589478091124620577910097025320, 68736486654189670417618533462855305489520, 168869335906850438215714514416921142935130, 164392106701882698898398968191546152847547, 1198765713183350474272221492121137564623328, 25702695919698126550737071677970678384890, 0, -4582432443612644694507902230857020365968, 0], [0, -4282558165355692646370743564583597807135161525669946, 2413480897252606963948081574053025091181559100892, -774101070519932728452330246319515872693094270, 50353756099728195094617392436130630040127798, 25602255801652671750407485221802667808802, 40798020789452818797892305913625546277692, -1310809279797385109058069254776983362715376, 580701604285331605743311707494846936760946, 6004743312933985161550628475339370651520, -5441079726279863051422815904317994286842, -646896785257826431588143326090871918054], [10557278091287537547360234861200276432144416200257992013186, -17486656363727733190738922079458939462383442906, -54448224632679357214260843705583519185153709654, 7016849836972015151423166753021915385869759486, -63691436325608738136863209929837573665400, -318953752485605313471046690897326941357572, -92545718278759139076062715256385356918994, -1153697839564332720619176862694440906582640, 274188814603578565179989725929538665531597, 0, 4246095755040582542457547328655838244360, 0], [0, 22754386434389100660648383769210223028566706507141344, -3853441674699619721541219541571917558346793360596, 1251208799422745301087422635941606411283444476, 73440008328243549393566685335353789416495080, -2441855464057217168589205252297809858712, -5850028820999624913695452294611499938512, 155151236426195481283071903925267101845824, -812977697331298001972684014505454052861586, -4441392768615279087850232921555134650368, 1236938875370322761423652624357444742840, -14169921395519556697325486579828053560], [0, 6528100033746466766323963276350150015009157276979187, 5382417505439604656234557857778855448013406115727, -1732167323019017108511005644610804700354632724, 37743416313160967977404073787398445122753405, -64545826633095200315002340366164058663956, -100919392929764119708818216591621522909656, 3271376075209764109142224393727699732978272, 905025033345447751865523523808434227167980, -8153173649923617569732744719882947267584, 13262633223488914238947131282575456528260, -741268233085737203413211048132407096260], [0, 31115727280820916827777000528279523157431053606545092, -4598319125221335618275477195023260528326107808934, 1470566425852143907202615383084233728893933014, -129875197628502464506426111143671721048592144, 3068594549968853218878479828720759062672, 6262317821867450688229447138155784098272, -177039137744152502349964228061159501964928, -935975084881704216800401626978802404425659, 2369911675663723480987317085349430191360, -1240691089285990225830847576084368869200, 796477470938386974634770493576054020432], [19099123038151544088292163092067219947031456276583058080122, -1223078800105362534995456374649873925765437221472, -4287258945594059382404267450592985388825433474842, -4781000628761768471086046627085804557558760316, 132784971106986681236967876922293571565490, -543030084690768410520379812527837092792226, 207586556304943968694176285238862219779556, 1226549733210383675485045102557281776734884, 690416875191954069565939692903288593321652, 0, -8852331407132445415797858461486238104366, 0], [107371178480144279966538929688819781458321600571563143557346, -2124353722031436070251094046487890033110720871588, -7467847667713351449225585969890403867683301533714, -30391907062883075095300297707044609800894434524, -151840220326474851394586289826057070875410, -405737577998368150258703792823043993954326, -329695646527511030818189496104223178402488, -2613899118383433696119862941257272473688484, 1461029512215556344727407296130055843573264, 0, 10122681355098323426305752655070471391694, 0], [0, 66724920057088392930358208956749603237286633709059021, 3245992651307352318797276539273371735505682342385, -1068519439906037485936973367253796887981682220, -202305219539362965860718632036585208951799485, 11085969440478024808224461708084419331220, 9651578205192489886134888509158639720920, -439424854348334639525993932650319914941280, 725521862992544519985775067942006972005620, -17622955783748064006613698385331679601920, 227035847644487781744740369334582482940, 2812137361406578824122207186649721207620], [0, 11049560136354725874651423584328964873564974727032034, -13879647216030234186405389503920809363185885629838, 4483817273652622922051325659603365876093126764, 34047900678268738930648572059129509353178470, -69444904725481137334103471975786650769206, -97867508325316659097431583406286137464756, 3356835472908723310800663508028682157932912, -3110379439454845617293980081712514339909727, 10653147730083917590751324301300059988256, 10203517618994385657544124100997585683390, 956891385081513423958236408561391139970], [148701395564003096493927562487379547370801606846496908006882, 2498767041815960203160781728003869365104704072498, 8762805200307409210610383599729326392942889078318, 13775904058753929414627839514488732540028746294, 66099271395175094821151654452171777505640, 727177460325715034942914635472342225003684, 990865203584031498705445784649139073942826, 3383120435724563999529553080182772503446864, -2364085457131027081401130570871805261376343, 0, -4406618093011672988076776963478118500376, 0], [0, 61073085118057713301349587337686623707288847326373575, -5223812581612931998863608852491768143122006713405, 1733435789150106643477823071350181743953769900, 480518749453420194069593970699792218099940745, 123042381722522673315045795893711073446380, 193777800905722906832188258608093494928680, -6256897647730875839699473826882563657989280, -715595757076070113479508507952289941162740, 17626611227004716135329214783957335558400, -25848866139107913958176923082266530569340, 1989856177899161358842691343707866707260], [104242633868041129495244299191887335180424422017512657434970, -5417377164416318644703195721626271664681226285504, -19100119703717358519309497836901965378713948431106, -135590690115545509845247521306065878823999520492, -239219364624169690560145108095575465834790, 236942641951106401306299120635945495191862, 538344007331573666442219051297318314887892, -1126406862552277109522742879344287626547212, 1701939814954304100162237399510182776370596, 0, 15947957641611312704009673873038364388986, 0], [0, 242078125691230449060784811304887555550264420629403304, 29250583437394455269088209503855788426682508153352, -9425782611196716899568130550479754004016498992, 111484000508435947320486778078549856835374392, -174307467805325590522698631267984564245976, -265323366784827506274367930972889502464976, 8713333668694858822594271340461159001209024, 5495121219106993197958296736891207121193972, 1356084208680034807871070282901139923840, 33909054657234430240810989765394901037560, -8791596260783863495976338774721864958456], [-1069555039400639474412236317594609546747932668368717023442246, 7559106659259799247930791517208648655869984767359, 26578586936106227584046402651428593865898173707949, 114016256262402557861808175417757635772839046264, 200295169863248020827927871963357865912640, -5004753823397764285493255440216522463498102, -522709431708837936582515045556637186026085, -4007161954210310346213421237303546603241344, -3051226085383451988300652624571413637601510, 0, -13353011324216534721861858130890524394176, 0], [-131228346192674676191909445212599503420425111802878347305334, -7984457612119322826758588172940147793687998260872, -27966140357627097389963057719141158297250388140854, -8667310204597698776602382807442719791148831364, 918374789685118799609869715699757535236870, 3144354331967373869799214852667308661782586, 1715473287484495201895524081908186916865924, 15942723761724576029610934116621209354930508, 3786418500880075114392553051312430070159268, 0, -61224985979007919973991314379983835682458, 0], [-14912927241507754051068427674123276568414320768640588517470, -17557606821990198482409876294679863692596443745248, -61500110190063630121379071657107353017806992726592, -22492723719658613017349323218459739098844256734, -533827253343870992295869865898118207896800, 1279351236666590817007716202859161108997600, 1222705334968689767729580147159706762982720, -1720276077503513768950996134982231085584320, 12487042685034951883925111551301836954881175, 0, 35588483556258066153057991059874547193120, 0], [0, -404417735105077958886881968319341919566754388047931592, 12535431842102314445110854044702137953785809675212, -4289100207051551918321697281152577355831347340, -2373301805563237102644669550427540820410041440, -47379604401274406195957635603157017560336, -74072197751687793880596540687774813911136, 2390804053763865605312329685113971359127552, 2601968588040298775432784689912681397941694, 3396478780793091679045804439696672608896, 10488111534210804289268857257116748972240, -7795645868985132034437639973850858832720], [85180375520560782311575163508307943594183685048913931169962, 2535078408668322656256217202015114345545601557057, 8560286823916765087500220812431533813102588834475, -327307965986929894919470979811674074889494788004, -3278855734438169041421589101584021165983480, 2864828569489366226861079885803483765269486, 887156821143082341044744658032088899242485, -28805186279493793313549639634289354329277040, -5573425324667192324025011120679808345018652, 0, 218590382295877936094772606772268077732232, 0], [-495378494455303383837524120863419394943116862207881530244486, 15001742615005835715306463995492496667711493412296, 52535941634834750319103713280959435043813094976354, 7229488864075672471592194529713848997286288844, 956484210975847702152444348592426767777150, -2932724947262343428111903176494587306894238, -5079567766806467337363448725872179510652796, -3335721528921631540883868272596193296872900, -8770299195166395830396265640377010875874812, 0, -63765614065056513476829623239495117851810, 0], [0, 457303211851044930203970772361648140864997077426858826, 71422329166121815949708466375077866639129838326658, -23332067836041576012557274395819373874595551560, -2678195158817556099781677414306501500655928138, 470163156227706184551797070252312456904728, 619127275567998153559750645911209840631888, -22049608684474504053335650277270548067073984, 16542386079582450437449811673847590343600584, -165705062434696166191949338220868675454080, -53773222927878517707420127521336061326648, -2172195196582282156445219088136706634696], [1220318902063431168326488900604045455085766320906321414227970, 44591747965919529632902848072395610253190665646056, 156129641550132508973002468419426343937882277482824, -9725057309012803196236731037312179816085691312, -3096711735240465366663576411901926032681040, -326722130067536358688593275331321883347648, 17772744944914074303772124009300566710555112, 3632308060307865508887175341870166004415968, -41336837742317541183623965401295361928662984, 0, 206447449016031024444238427460128402178736, 0], [0, 116088552087873540030914676563381328335826477034932125, -103203761743546940793294856809093072630372782333207, 33323118084209696224128643318539289018986406284, 339971238676162237984450867241536148429130435, 1229829736627844812906451378990980208152396, 1821294517818300161714216643967770801800296, -60806906257620764996153006094942498780453792, -17461962090730348525007654300400409395637460, -11159567808984887723557764470779757261056, -212716145527653947503527089768425340297820, -16222441477306717817163060342347999035620], [-450868613224467082073727092775305177370523994370745132933726, -544681168252620902476805148094905770951093773382, -1040950195411528815268899987646841582919569249466, 896324834065732072510429765164635666528298704134, -7190758526697573535946635230382604140204440, 5873678725401129185574214704264593186668116, -1849258645295036808391163457536470444077102, -71170575537504194497863791560710909931571376, 21439369300202313279142585720585801608558801, 0, 479383901779838235729775682025506942680296, 0], [0, 853939378043286414383587713244279773871946590610913799, -538182826529288661392902241253532199963435814102373, 173876479853174551380579002758464339101987929524, 1585251675542786524865954677516886026232060665, -1938849903885474325910788343612812574344076, -2788921428478719347450743261408779122828776, 94521078726847715447774014034359956476361632, -118198817120630993865992874798692711695793452, 247643133678739072526195973234112556792576, 310585449204937281214186588197661441820060, -23371406782905224697148132767586252745820], [0, -1643227033306192263697685605292059948265557547836729458, -281924132747395016545343520276440034138171173808474, 91885991534029148137999018776743140875342707064, 9039599108317032763117510353539673312919017426, 1992325388061364029128025582223730286649752, 2729852524764563719569855986998412544835152, -95029757651996696571486172061749343055845568, -52639325513486289216230464968766893660014424, -528919846455453469481476613310102385407360, -269779950782173501776950425017524227590840, 23293091781730694321154271552338326386872], [-9359590508123356639969441283113394770197146748515539414389838, -170290470900663244614418033506614637355193331665418, -595440181366048943443191098522979820902660434000646, 864936677681991583377411259059928143698084165006, -26802987494090833426806988095928438643491800, 23322168385007338224038654071313551664692796, 19610212193888349232858837879510467803390078, -210847879666942464263674948748135586892143408, 150888919763953692041796362588234945609200453, 0, 1786865832939388895120465873061895909566120, 0], [0, -748010458002470798096088158714586271327989708187837703, 197349500791342875867545238276292039018326890148781, -65158197697900875756033533716581166783051507740, -14325404107969579415542917117961262504825446121, -453664315400493912389756197388656263484764, -549648476637826047445477596555461932995144, 20653058397956302852391756701822705798816032, 40498504262623113367891706812109805475061508, 153805040400358524117044518635034594579200, 26286891634457268733112245468867040024364, 81670721415126050156032912599360145662228], [-524496344818129318624601977921877946861558735157470721740934, -44362683557258616303468184450132106287144563132473, -155883703828877401824656389858834562454210038512907, -565709434493456772290291046740520533225133853784, 9620929868572565766912359438438798001380880, 18600589056878234947299678930465791205490794, 15514985199647067555913169918216919523047331, 147764044115612540881632085038975369865670432, 5259427901591779196168549561131639145361154, 0, -641395324571504384460823962562586533425392, 0], [0, 460559649789448277885712916691109498841619026437423056, 195137713617512505190978139151600148727655533311870, -61724598676859945900414784906755124966304832010, 12372972696347508719098283706172846796559036900, 1655915397832608695623685225263169191211740, 2058925978522786561532181799461116191663240, -75690172994229210235787221894368596994480480, 45144497347249646884057093650848265432182455, -911477991601498498216057238072465400293440, -151870288699100765186755619079025052582700, 55477950709548372431285864949784943222700], [2886547508937453399296403246132817146880519199513224649416010, 79559028763835417865984605410627048852389014603976, 277249696546919022402450005594041389827838561956346, -1374189042952549944341571214760028874728168468772, 13309742677777048770739925479547123068618950, -23383442062815497052398248638697237492108198, -39866921083780779987945283848024630451665004, 32642091082948840433258423556634156904475084, -68415160663483567962255084970635665118243884, 0, -887316178518469918049328365303141537907930, 0], [0, 3495986651770790411920745825438438162597806995110278148, 433463650640935205127542138692357647515533242753124, -141453186632650866166314014108414238962792880264, -15552809784880027985100832202128555138914284596, -2417760054308304570967987070172034336259932, -3881365567249611941106424865821382373479432, 123602878372510134894224099824900593585899488, 82977721719929731901910368124499982612418634, -63111415236313056424720237829158491010880, 569502941518766647250798961260690030274220, -373881053544410165525906499242893121108652], [15546108015815892014723887671516089331879484894264664716607546, 281707628707231417939537971338809931652009446930200, 989940091180158485718739280632812464986301474655650, 3657014602026291694236768830384017806098435270796, -73091390166477832302467123712827211502188690, 12034772411275181191195666562001340287783890, 31542419602799256495557066506904192708973556, -670412568081200195302854862295027831616593636, -112329769442147084243773148612598325011578604, 0, 4872759344431855486831141580855147433479246, 0], [0, -2522752482382023276003578885777489344771111695364048402, -776398723115812265393575856773880272589793151945566, 250848810800037528171905162195255233382266118892, 2360266411544957766235234328489062207901593450, -2522712134163898534782983752993758743275252, -4780644043346253820911651436618347315532952, 141318524328256409402687212034639829547285984, -169352805367465306579534168923221066216437220, -2505875814002020124784327678269762495558528, 781703879008309500483193698868451310668260, 353245805474825191089104029876435649041500], [9821559846313327741559141541814045835301830659950936010305170, -359140075451871524944614046938323256226175481685526, -1253531654562082525339245166180259684391323868536458, 4144357497228001927714676516979815370602406893462, 48329687546661631162060940610505684616752200, -155133617014993909959903374918157759089916524, -36343046754838029873342166671639645933144702, 265143102451278668146433885965720932134666512, 341667150104826599336961602785211715415872073, 0, -3221979169777442077470729374033712307783480, 0], [0, -8161956022850633024447460516869907415682659197067115564, 1911091167460682074544359878425612650100132766139528, -616624828835878054685003523304007970082027085892, -104133359962119645915347306745967351195336780, -9545321244203401861786789933576855339715284, -14206482246483938532317451177348012306690584, 472380472134992885211510473423764595684677408, 365633716915836501934494920557584833358077284, 537498792032535767162357113566276745138624, 1724431232475663951389957942691722970169540, -333699543830106319896895121516914268553540], [42742098200934244931971913312850933799421236239973256711845034, 66945591399813622373682374246060503075604769301144, 234501356833948481175404825129801877591913499396842, 92916650270407689453851287750855261486289947324, 17099329879080863702442237922233353030209350, 71002022280996133042488889664644951325525178, 25776008514036454414045206025930148617855396, 296967204075693851635490128523285449469371340, -86464182251551246565543517842009302273749500, 0, -1139955325272057580162815861482223535347290, 0], [0, -14513245330729050221395911301291571320448457046247672832, 1449449166073539648202450573795303688569276016207084, -456217472706302039390149264153324188724528082460, 110024055629531540320116069996479662490975123096, -15467082063534058459732599906502486597150236, -22657261149349179334761946684566328356851656, 760677288018682994665925537271632261871965728, 243397344731705215479995985958637769867920612, 851751933528585461258612980135227427545600, 2601986895928154444090109198920079766423276, 42749017726337981837078478029403566097492], [-23074926484235879500560467876047247846806616745395569218822814, 283099628384822891946469891817343089678599657784898, 990086895037565678425283812402444605109085899302798, -1234036228014217207839888501117922203812311408714, -144322123549815470810939447225466667286578440, -46378605458998920251890479704006447794941964, -75291008773889709430547230223755950156171622, -1669046283214896141384567301851278354430385296, -69591103696923864341485254721131570969759047, 0, 9621474903321031387395963148364444485771896, 0], [0, -1496569247934895601721181167616647210519568529834611780, -3789533111543757228928655083500464685471202806528932, 1215960880183166376688610862056650789714434547464, -68140141835463540154422921419535828772409671820, 451712751329189290277530077661913938371996, -691835569848608406169487183369925136656504, -2188675843369234443437156998782008627500512, -781290115956141139031453793567585505122640170, -1985418612801428990477423978237480615000256, 477599128436048490373762793657421297786900, -605403475287329523952502750720444477655060], [41248130403199528564084464278167744459444523708100771484962674, 1053740587775133443629070165423760275501110452804766, 3698891591981312122914639247353314740794768219774050, 9512793511287174754918270594681580386551456891134, 232849174906771244081728080466263771222825720, 477109114671942239794560590049191239887019612, 286737559163991387180158610173748606796975206, 3425645817048991703788504231152578919953792368, -1049184895273951647650750404682953540203362867, 0, -15523278327118082938781872031084251414855048, 0], [0, 18834981295953670858242937796862252251354428376841315076, 3793923209328860362909473740126723883971365755511568, -1228968249443049590385764360593834368022004491500, -38131400228819623257354241631940443562148436908, 43379615095407298907906717618607877661823468, 65300508198842884599250618404392188966292328, -2159826814409903398313556283564842855452243424, 931769632128696295499161838001117313272610104, 542222038290622760888824408424695474088640, -7984063379088878793448926701312994884614908, 362300439297398211232921598075347552751484], [-70923005898914596350419513764188178645902938791945120725669190, 694341314298257748335855287618958458675899185175207, 2425223396914960380156530047222265246743300961958837, -6237927081950357652518539577593443442632357903384, -15836965152487200206433179176867432234027920, 121018056107583492497337646047920917027949130, 438753572855049442950703577771471998779291843, 836988157262312936293126373986817105799448032, -878321164847120035100591276141146090551778110, 0, 1055797676832480013762211945124495482268528, 0], [0, -9652042500991643172732661810578183413342125958239158074, -985139129150953083729696942101922034852744556877692, 295457669271921119694683423788140861421641334842, -213172000501670318695605570410193440040025069562, 33810310242711275061639129473123520682150746, 54607728726097121502808762942870543319803596, -1740041870851047245991128982041908834979794224, -80207298235936357337027252447992543220424342, 7359809357653625082268774011129864946968960, -7615245879944420859074040866007838868417490, 731344125283694631840467838955614357775986], [-23346557495557922451868562842737833124880283065279031035879246, -1417303646711824772913304378345991444050837082704092, -4984259968299607298690050413745320546414710105923398, -22286012795996080785498340499976332101008460143796, 96782554031203763200001513671224634885621770, -1252101493757797715101149151568705706120080674, -533309099084935714809841655650709812353113176, -1331537640809390760080817023423634054992964972, 1082143901719482581789033885038748376681780256, 0, -6452170268746917546666767578081642325708118, 0], [0, -31571040300489883129789241494235677641949020084178562381, 16036108407333791206885255033767094339247969187700887, -5191083546372484043516349650435841858745296118140, -156714916550586193031029055374326301806501223987, -18341023717232622448462737279819977816773628, -32220256016566948667142499635226111550151688, 985023211915250297795309067616306640650712864, 3281369653093572144357424517685041929189569476, -10159395088504933440861270926713584093406720, 4999369014993729923908713092799550808987468, 305785857743647971481927305937657625875956], [0, 10034793484517719115955112106810379928495181259959386384, -19256978917517112438348863541346730874081877315048398, 6225364582787532646695502346944767237319051114074, 109242577264292079566289220649339222889473766300, 38695586586998873760946069771655427505418724, 59035715124741847692352788351654277479544824, -1941860958910452770809432879942441653505453728, -3881605042277806109059092908080576551641803647, 4870368676072106313683221587034272847872576, -7181587322823645964366331756685709796613780, -1840409012238548023378595794213183862466540], [0, 92742534802428874829211951553271342534418885587557282662, 8796035870991865765719929528221783935316853690760778, -2825921899662398626399874159595326005042256661828, 110087436167791746238550817484303816867799683090, -96432472511212034264425073957337256693248804, -144666197833707765293993930763280921569973304, 4793954274831347642264572786581521110377869408, 1505314280359915162283021565429102544264578028, -506071571967763594575456911789420755641216, 17543979437055836165628098024647259479625300, -568838473450883207130119351929737233401620], [90533314968332462961654316708911829610783017341653283424642394, 4446147113018135747994293299172093285261284169452855, 15583901349457912684957602588134217244676193891829445, 16156172942936965944205803447852698215170568195944, -614793287717840753359646187355967868135861360, -821346302678432268781939079569154633176787830, 36595693633729307597174718113364734231010259, -7019046450132949337855980754373297419700553184, -2512434461709069493725162256235060226580037886, 0, 40986219181189383557309745823731191209057424, 0], [0, 120811404182224130938390687610282896495382524942102216202, 21210889201944091427787676782690355120708714866757586, -6819666086838574206842023809717136723986012425100, 248505949325256495165774547513228643796221945134, -7087462997500972640984308897394521388449214, 5066662427933198922668289169326326786081756, 113991093995427015187742243615942852089944752, 4366295268882934271617500056239574233467302033, 28153023794981639008426158243615616578066080, -4691882014221784857062345971677325395832666, 2745710856018217586287480055913772152625818], [0, -22748029695176782239688472533862905604533235955383904754, 993710488440635969907011325386486776877335615851056, -351618215119902278422398401646711740059055846394, -253158778817223173915570297563619398819245565690, 325729901792024546080609171750067825118193062, 486246665286797409414699085118143325946921012, -16158665961391481882277678924754337315087480784, 1283079251896335607860114118290415868322838518, -654208180247441471555332467062280911716992, -58184968094688868091065515796519896870712110, -22643252796430728403946874311732925137010], [0, 26017309144256280297222164850683817027959706361897291324, -15917298398694511277168127713217931917695312190955604, 5190508701418167044104036625293611745262843572248, 536829566219394022226543634415892000060647486420, 106099881691113255200495157846178631584191612, 174050559318205610804292258436981715890707912, -5509883306409304152301547742484126981718694624, -2998505791998712998020480131265034930266999970, 35723149922403403206212363597941297534325568, -24291563428639153236294320516767433916126540, -3269349227345526432788433095027367791861940], [-779855203573213892234438356904692580214855031345493939543023798, -2545421275681367319817570260419215775544713520938583, -8988500036553607026668350792395154139719570491669597, -78273810001862402304927471943303886177999411572404, 954905689498723386342584146396157588307815880, 95536039349570493809653937222728261083661086, 265473014574033817177612805797424438562804861, 10366520101384616668859237842058384538948992784, -311608800401067617504511269894775679371582852, 0, -63660379299914892422838943093077172553854392, 0], [343399438054042744910279437866204574458632346443003673640578074, -3810067596013411857963578251523602021493374354680848, -13352500738834407950253289677930844547324542833692618, -11857711274881655075487103393824633230258975093596, 136175319891841219034643712593803481540180690, -1103701801461607801329635102549826058186797026, -4230493726518648288717444930007377635971287628, -8175700991602123944611159094107785818419529244, 5094089944658139714584607586212180260266010532, 0, -9078354659456081268976247506253565436012046, 0]];
    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_43_b_b();".
// 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_43_b_b(:prec:=12)
    chi := MakeCharacter_3_b();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 43));
    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_43_b_b();".
// 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_43_b_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_3_b();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,43,sign)));
    Vf := Kernel([<2,R![11927338605868521624476192285007600722320157488318930112854941769672949760000, 0, 32379014273646252739308711808142940235130807576123506779016396800, 0, 20728660766445536533131756421653571789785220031447040, 0, 5598138135795917283343597186373067472896, 0, 724028168539084355604430848, 0, 43888030847568, 0, 1]>],Snew);
    return Vf;
end function;