
// Make newform 25.34.b.b in Magma, downloaded from the LMFDB on 24 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_25_b();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_25_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_25_34_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_25_34_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 := [34881588984360865981321269538813997568, -596428985476749456366946929757065984, 5099072964771111558047480848223296, -28868477926481009935781561728, 52482256238971860814088, 230788916575056333044, 327807761582101561, 325405868686, 2, -2, 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], [1214920920338756283858239774923458747130576960812932997582326993684782389561266520187318967985104256, -20767096125961643817601115586898852539702171305433913740402483140981690694177410757559417615360192, 46105090298778551884144153666245347707481703849425753928963695923743992683384012558711008736, -63893127332075943347492947254354639172380416236488586599038228365689200946836243279400800, -811297969388174681632196633541323684668638155819826182427767642389866442690765013498, -833630741647289776376520307626757194179527923391041147760564941803985814364528863, -804852790177246796363506523598159471931103052246219060479828292289698530230, -159423176350316643460095565918838986534895868910509751098045796607856794, -518658648378494077386669970768910759167754595018712611231704925352, -2542501861666422636875458665891722608811450284515978174373559539], [488480620357170748443569453532302303399154931601984715271552718571147206585417972598039015132635520, -8349606366075048189141451267203574131701448271300984885784930782236724420584277010974717810233280, 43289633719894773851396210886457803149288783823900932398868098589771596570090764913311562720, -120895205709509964285241481430504910203776994674864696336720921420196512823441496612640, -409398016496676437711959598565753141239428807207081448241821393492625311132008713290, -536884640674275158246470376003216787180480506027091416798838297310398166333540675, -542884463296961821781726948989210918385975813544417833584948412348242308910, -28855150820352859943457345264310553690768409185162405117441795370050, -92578964430091662773159527710145332261559441426807613896337597920, -1637713627754561778556954047113267426892745712480025234617527735], [57499190460988972909898001093079248660357288673156145214132471554150057777270933745172992, -17602397869988680392815510584258974349403567075389290047811579980230928797417920, 185841536430592659286150858163910758996588543649039855194366856748891432680192, -605166894025869031890886440884452473723795696572233574229714388631932923376, 1698226445460750467428729948607952310660277423382434035597877495792683972, -4515745211114080064624319038910462226764205258979663512902953693997, -5058792829803090750014307474768657719408815250728460587327814, -3943066247066617158391113909197424344986666900571471897346, 4265822264646597238994922233564197207475126026742374114, -18087385353540439696435016600902137488422631552405], [763399775211612354003027826960076353647382871313030549667618152349896530999015656960, -1540074095423287492552503547212607803990748895786354815553291130242606846821440, 16291144335573523477599459265194404158891348372277523103631158175925317602560, -53485069570468423756923131319824160731413439554933151410196477106363256720, -468577286395896701159963481124537416712138334006474774379579737956420, -421478099586005072269642181615753310564250009871691340764360685275, -394262457302533571713140174387810899862960195431222937293930, -133594305223094964655718606860219292035817940634750299150, -386882372555219455679889063684110048417795973775410, -1285336705843210524729643378281878967169764711155], [-83640157786918866407937647598216812432867482733178687507464646274827011949106134460682881337506752, -1232491479662913542752046308612160556048516810308515446409693975766185971919912044524352, 16783953900605158101860082247042013854756461411755915206530637841774608871451664345728, -106862978164927315794919899788884457041699497544328312865337810309543238993530100816, -9714197138407605586301575013462587935185019975587492269744334867365358121749950431, -3481148859515721742624833438536244174270587738070304210806143903130214197375, 5444629224707843213117656042861914631099135598430817262271978707968196, 25081035537275447168342436970482745397096180979857951771574490646640, -30676140462600329649120690908243711010527833759243789191549470193, 34379747492280888385998667487104185169026122595610218391451], [-208072074983500005468542827188913632659107884523490026819715906779783179508671615295442165014684561883503640211840, 3556579081183365959548069344740518636125555988730242860222460599821103576360164237384401773045854285081196912576, -21516281085469323550910100783128677496631379593883124231084222793617942355830824907241743685226915871054480, 61681107640495227485119376265530055975271104019415571300885445179863722842647798372490089686219921696, 174352374946641960933290303633573950621474835574837760085019912471123847688510276555535136632219402, 228612221828287611416459246098563036923064141639399912263043266153567728391931201351305939816771, 222009186902617241423148573703279862476798303597741380116240990548204312932334070693662334, 61130043337100168450640805430841076152857984507416405417681521105083337685531841058, 39488972492095577294360084070633115069034155017996656577495183732113701710579392, 697317561402187788024209900366698080742943589688126072901020421955487499362007], [1816983234998303496639166492120214673878802398230854012395269955030296075071351620195470645265271552, 99912699435818983769389373850815809525645108234234643228802087607346524477670737275994413888, -1056518445346995682264349834129158398147867423701972185906079114210604097392927651692813568, 3463467794997184093930967917914850865685799629152367564921337002235081727197521896547152, 219533532951528266582425462931598297409297805729093483626405553473881397060058171868, 27029912644329379700892704225538347872160955076169887783019852988300508119542991, 26152429686932114919216477797329699867373174601661192899578356064256170098, 11179363387188665637038274583827537648815740959386057738284878185667078, 600370920030524577343431254819516707726011788768498351819222700210, 86918392757102939227038211445639973736763806362683033435438551], [-447973527557292713407257560246618894019281532619557427259594056969793330882116183695474684273170468489451607645466496, 7657216351129736678266138665634743779429718320612275519282095105504420574478693656714406437816158478725428675916096, -43333057140990821349273171545815945313076509477005872079451538206302923668530983596816878773786118856126736736, -135698945310571462990601901243572097864937812574791960129155420588801226318114065044468867625617435950976, 376257502939976938159280242660585016592172297112118875155218958057047487636204321111049649943168965426, 494287308026647875735322112119066694816467528524503596100521206638358290871802138516623173367941677, 493765941550872370306185287847110248553503292591279614014213040230138233425897103194649780026, -797908424277404389902599065650525449046814332399542412609972002492748598268743483501434, 83712263287435007455145588405079832098270854845128684852523705695058645906774500460, 1508142917443234033039156202406805315557410525641244593689651637623728832108219217], [2677335340571202184273722784659762885158443494514329935215784221556084625283387844334098441446087367663874303617453184, -45763739269759454565365109854685003613423614707705491992666188628566112520222815483991341798190912246742843289096768, 246870178194184190456676736744989714551708044978528164128943477946647949035436723950042650413582032833009994304, -1723136916575666838441950269971845863550751046731639977087744954007116959085236834052159271032930832018080, -2240409207833954392012266443291257341431613109587034637622588060792990855261177295018364898223098598782, -2934363109342850696621945822124167829852382276896249881365962493802926162082057052739473999909522637, -2960120699016067617376196750120985906542979720868012127026064763212874711634651274924301980290, -3721091127161614875804954241972138158401084347637194972901836036622119204572044896499406, -512542834629281585092202990468924856592040462472225608019450881000300467673891830888, -8949370673841276860225071274720675668680226875064631082325697540220125701635295081]];
    Rf_basisdens := [1, 1952737622531135757361786479773886060552459487523886082163485970130577860347886574007402668214400, 78109504901245430294471459190955442422098379500955443286539438805223114413915462960296106728576, 6546192873855859098014705320452185842377203960191613684897615694197245961157200, 261847714954234363920588212818087433695088158407664547395904627767889838446288, 2754364670334752344130495353087385138981604995547524642301470483666390498294783692321824, 1711730142738786431332813646329064032715225257139936160784012184261640155540480495720400949619655607857600, 22953038919456269534420794609061542824846708296229372019178920697219920819123197436015200, 1711730142738786431332813646329064032715225257139936160784012184261640155540480495720400949619655607857600, 1711730142738786431332813646329064032715225257139936160784012184261640155540480495720400949619655607857600];
    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_25_b();"
function MakeCharacter_25_b()
    N := 25;
    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_25_b_Hecke();"
function MakeCharacter_25_b_Hecke(Kf)
    N := 25;
    order := 2;
    char_gens := [2];
    char_values := [[-1, 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 := 34;
    raw_aps := [[0, -1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 296, 472, 0, 0, 0, -1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, -275205168, -2087730834, 0, 0, 0, -372337, 0, 147, 49], [-57560360375595328, 0, 0, 7637996, 40807352, -3653091, 0, -336003, 0, 0], [0, -10002600394128, -76456864282961, 0, 0, 0, 16868648856, 0, -1499798, 733006], [0, 1520616954030768, -9916893565342971, 0, 0, 0, 682028768568, 0, 447660418, 1199446], [-183672942439030789500, 0, 0, 51677080452, -1240875807125, -35228687358, 0, -318526969, 0, 0], [0, -73151359548044240, -1772691797703336386, 0, 0, 0, 42920072839651, 0, 159355160675, 2258202145], [185375444998717854233210, 0, 0, 45010439372352, 773285103602268, -9499249501908, 0, 1337266709872, 0, 0], [-267209295882364274440388, 0, 0, 433249088292808, -2156008927368259, -113508163550925, 0, -1903411871394, 0, 0], [0, 63192466522757491488, -4572242825320974822059, 0, 0, 0, 311049504638197888, 0, -26888876097092, -10073970220140], [-265124006150905186665851258, 0, 0, -2315959677073112, -125921818372203496, -6116592205133682, 0, 892735108284166, 0, 0], [0, 1818950887215723971960, 74934664551603930674172, 0, 0, 0, 4681959313565541995, 0, -1047042153810838, 533601857683662], [0, 7206485015340240068128, -247377424013762700052110, 0, 0, 0, 2182816640506653395, 0, -6224958331986491, 1338590365431959], [0, 37454807741051846084752, -3505764308751824187175669, 0, 0, 0, 298954782097117232424, 0, -4198948412841354, 8808894819001170], [-51435242498085955636421781260, 0, 0, 4120978175839918492, 20814545047020237471, -3062949321648469872, 0, 547033541408337905, 0, 0], [148577938633534440699323889282, 0, 0, -1716415096131067200, 194687929772033731872, -5708205314743964304, 0, 1217578806810299600, 0, 0], [0, -5822463402181306265934376, -120100317442598679419815908, 0, 0, 0, 2238386810951828662575, 0, 896124675862549770, -46440558273674322], [-1100417067936466348963558870988, 0, 0, -404101472496444181600, -3720533448486495197737, -32122236274030979097, 0, -5349512571233196200, 0, 0], [0, 8951740873731240174496336, 437146557992576665642143431, 0, 0, 0, 43022402230076730731464, 0, 5961738642705263070, -2938521848138564662], [2051639400918547551824385259640, 0, 0, -309630756704840941136, 4593924670028602755546, -314345881084094861250, 0, 110715420677472434036, 0, 0], [0, 301815370063903940963105352, -2969520217917157093306322952, 0, 0, 0, -52211007579811016604333, 0, -43033318367416525320, 4613264806019047080], [12170700077772736926263266689030, 0, 0, 4214570851230464363376, -71659449529309744365744, 5948274823351627494132, 0, -10026730679801932284, 0, 0], [0, 3948740314738234802534890960, -27873106100140682681767901007, 0, 0, 0, -316373913851188356662024, 0, -677227006843333896706, 158138423886872796970], [-111289196178754837165683464625018, 0, 0, -179716120971846730867968, -1430677481977168892677636, 19928433349095060546204, 0, 2327777162821345625024, 0, 0], [0, 2558260515609412894569855056, -48230055096126685325735440498, 0, 0, 0, -7990145985674228091897849, 0, 3854264510039272297451, -372549027535930753543], [0, 30997437705277311300592512392, 183593411303023457894123339128, 0, 0, 0, 27291851631416528576441667, 0, -318733908509230839136, -666278386357891485472], [-248772536600866880727335996035970, 0, 0, -131616844071213352700432, -2971437320175012840883112, -174339360500297042151780, 0, 5690571676455694286692, 0, 0], [0, -51776441275046025854984493664, 78652102923982666865885158191, 0, 0, 0, 35439964465585774275904384, 0, -4226844891844281889300, 723963882313927781284], [0, 86154696332574775379946195360, -390345663948702554276634660054, 0, 0, 0, 5793651714831439818436031, 0, 47589795168414270258649, -32647521104962453825549], [4373245290768466376982178216679232, 0, 0, -2899251917174261922258124, 116167864650513100543412872, 649577720121753980470107, 0, 44268576425168491686907, 0, 0], [0, -1951616795332347606619767115264, 720661965885163792205834916917, 0, 0, 0, 868765953337554670277550992, 0, -182471685715172447531792, 23602048545790377168464], [-52066501723929737661602476720003580, 0, 0, 2544072911906360956953692, 274972215612773711672126875, 1887596880123151900685244, 0, -180661687470153265858367, 0, 0], [581661830748301112975958620613816710, 0, 0, 31611373901840323153380144, -455315879360594753958877464, -10514940182905376555306916, 0, -400799371763955328972652, 0, 0], [-428842162834513505115042545059402668, 0, 0, 21266846014678948899162112, 696346456897828103390988815, 14025020420428467924871623, 0, 323954456287442351747584, 0, 0], [0, 2394064387556451136455720573408, 7022169726807930108301360292137, 0, 0, 0, -224919058637304956407542752, 0, -5148435500842727580126332, -261078452303173520698836], [0, 4313341437468277461508180673192, 337567478978810177958271780734432, 0, 0, 0, 34197372790405793980768523867, 0, 3272800979783024454145060, -1245127960689369301104628], [0, 57535926578673364079703464618032, 120137802864472854359489595810902, 0, 0, 0, -17324075501757101622237461097, 0, 10749369402052990371990847, 1073222116822878041232661], [0, -90340978576871564351386661852448, 106645806892751214507089595687967, 0, 0, 0, -848826297757936034591280256, 0, 4605028890989556201930116, -354340409353198120948692], [9182076093798640340565223318180258060, 0, 0, -368508064495571798791699868, -9800068873631106583581585423, 364803155792982724944720768, 0, -21893131343639413487795953, 0, 0], [-3092977526173130657207640750528632458, 0, 0, 107847318576701366594463760, -35812957446058386864806760956, -140195733971157860847254880, 0, 9182293638296222813457820, 0, 0], [-32586905317233522395185580063624227148, 0, 0, 681802936873653428862458472, 32511302404120098050721393271, 1354187356506916205732684181, 0, -72651858357054275969275146, 0, 0], [0, 56948839738389563966856845198672, 611022257230492826006495590352139, 0, 0, 0, -25243276914142186919955425944, 0, 73146643489997232137672542, 29516778562363292267387978], [0, 264319315679170840227666132696304, 6573041726842021100501740293236801, 0, 0, 0, -620580551810950851422433559608, 0, 172226904964997061463110826, 32680880363683530120288526], [20168714874193624571356307066927237880, 0, 0, -764858412500484932110158568, 122850950619990933362997365242, -1779412130766447201148997820, 0, -237534848587623761993563606, 0, 0], [-6686109060619330889452346829506388688, 0, 0, -8874053902999510928735106908, 197185578858677680916558721804, 2096222027634827869002609699, 0, -996505595378650420512711681, 0, 0], [0, 1075463581129265718627006194156320, 46367785721479451662042009077274930, 0, 0, 0, -3835222614966328669472870913253, 0, -947633673800323662322796547, -149340224797591972007607809], [0, -1550897003816499961922261004489960, 70690471190363482669350757261573908, 0, 0, 0, 3328324449736083460510020566115, 0, 194224834273319444512044926, 249634109992241052749428010], [86556153889699409615397139513967161970, 0, 0, -16481390781132682370511479504, -189890136189069017301186004108, 17440497716774845191677202504, 0, -3773144479262999585292161900, 0, 0], [0, 2203168135949099309066847787073200, -17666567215389085969739544356937245, 0, 0, 0, 2106431554074543087004305250120, 0, -3101381183608926689733529678, 294297410632897295878840678], [-756654047605843737303254605881842048360, 0, 0, -71254877224141141414427546320, -327812926175770535294653467486, 47328511986862783641274262118, 0, 1785815366574667660500910484, 0, 0], [542355830439970828859602853476080807822, 0, 0, 13941780041395377422916438440, -769392610147887192814443418896, -6801630426358474592330217210, 0, -5044664076471970468502246170, 0, 0], [227132204524324217162725993143831740352, 0, 0, 11891907952265103429366073340, -7150150332106362145770322878008, 33576762111857120233775341353, 0, 7293262541176257825061332505, 0, 0], [0, -32605330587567786000758657693579552, -478877038167597323274982458693029487, 0, 0, 0, -64142297084891819198140254179296, 0, -1126685172524070862193974044, -68997290381957021327721140], [0, 9432119215455166784164272469435952, 50154171390598897166208458706957030, 0, 0, 0, 6515204160472387964731227418567, 0, 24407138049055992881438884495, 280424092857204805668264837], [-3994351172805058009546328483761941302930, 0, 0, 47632786074592004893994917920, 922833025615988983850968079744, -78464360517993322408893890184, 0, 39994812477930126323405567032, 0, 0], [-6636360351931503264768423792216098861868, 0, 0, 431260799330929133887605769448, 11804548784108332876434754281759, 313276793331056626298916020445, 0, -31910932409791084786447583914, 0, 0], [0, -82344565101932050933641618403637792, -1580632534795904113713199505416369199, 0, 0, 0, 21628708781631402525952481156208, 0, -77922079637184888749396068492, -868110434338578615026014852], [9317998029748131340777042309269026153862, 0, 0, 1049565717087798502816517687608, 6016467045248116690808680419432, 1135321226445393429978443099994, 0, 15988774176377434957073084706, 0, 0], [0, 30346365684671705774732892986146712, 1855703382133365569220658062253237452, 0, 0, 0, 3445194617940806578863599828039, 0, -99301052960060809619681159334, -6572065874376411173873700578], [0, -140397643135527487784998224042385152, 58946134883512560642964112466350467, 0, 0, 0, -327357329276788447794686955806608, 0, -3549230791187557511949837904, 1150162072648815128146644624], [0, 46225741706068691319516648373793592, -5413038806806198969649881548708671260, 0, 0, 0, -707633704612461191060020011771825, 0, 218556660924348372062190074078, -30462128329067239505350169014], [59630489147595387595172850992976470427852, 0, 0, -994487671302887753147810158032, -119544128623310176565349430025191, 339353290405173089849642497941, 0, -24315382380844773015671684524, 0, 0], [0, 1075171094734144582624049456357986528, 10335223418380385855399731393666449015, 0, 0, 0, 640506290800624282875437652330000, 0, -570343584114907994249670341900, -35390909542342269724776810500], [0, 1212888208455647561405715875325633808, 18974246724923407906044169166056093261, 0, 0, 0, 623163431811315994144585255395160, 0, -95482419725272848772928288906, 4050162870587094507172115538], [-154953245828073594967781811696146161675448, 0, 0, -35854643106039327483631961237396, 287690714312419203531615588959406, 4533567533238661395729888962595, 0, 192852129643805570982174511453, 0, 0], [0, -1798356343181721113327118213741208096, 14782517405766322763239257305241447061, 0, 0, 0, 1682655257103906692258157365476880, 0, -635482573345272851884818153900, 51236869457494843879868346652], [0, -2959261267378093482330602449264532376, 84935494616484652047969758548196646008, 0, 0, 0, 470714962439894983168694684593855, 0, 401672733131238021366595314200, -113558378059633248629127906296], [674721596080825891575792561424293505550730, 0, 0, 71286920766938419379768624336912, -951189136559122662036344030886012, 20724310211435513023799462387232, 0, -1086710151809832111168969542756, 0, 0], [0, 2361156466314203469215027041495956448, 25024543178850679362278543092736676211, 0, 0, 0, 4097685592312126067358661264985488, 0, -1449109395889284535123316318956, -366175341363357113214678961316], [341723692756251760091706698884924413575400, 0, 0, -66911292014898014808384332607544, 584868469062758280467623961249214, -46705198399988165197701782540292, 0, 1417807996311892600997744977758, 0, 0], [0, -10027958985719258196646839317195549696, -119751884608490445488509444063163714726, 0, 0, 0, 14304006691565978177421833741035371, 0, 1855132178137807672607599706993, 627837753303520276967798368379], [0, 2753026729501826525362355838028758624, 273571664464105940880854863852239023359, 0, 0, 0, 13030211113156643546622889143276720, 0, -7786767891266531337323738322524, 1741063842995665699146189926284], [1365768647381871191263925097062716620121500, 0, 0, 97527830543574631989615605091708, -1817175377098179245055868926943011, -171937831220991153301512227102394, 0, -11139193878726900982050519790151, 0, 0], [0, 24714004605882260453880148342822785056, -144494185987279976181352577028043085918, 0, 0, 0, -27744747212711347538288249090529309, 0, 6120275963208836573997422788661, -5816177904229313591478304921], [367350075291024485806743757771904620481670, 0, 0, -264129441790553927607065260744608, -5795790084781169467690538599843792, -43432393538505962552047706245224, 0, -11744837987833901053765326031192, 0, 0], [0, -2552196385271374408099251830104552688, -587726474538556007110587479495492782767, 0, 0, 0, 8223520123865697769050541068662152, 0, -18210250127417126966355031537466, -3263666958703775735502563398974], [1652430772163978751912518080880060679747042, 0, 0, 193526414522253694523876772805216, -6304832319061883510991213342171464, -168035723015571210765281221363488, 0, 2836438586813631558771300271912, 0, 0], [-490165182054820813978046272365253655585630, 0, 0, -354993646544090404387551330364536, -10647156622886054083280428406556184, 137742001195268589536418295408710, 0, 21020137663011447122075485128494, 0, 0], [-8188931211915017780705483813051242034669860, 0, 0, -697728849072879042759213904224972, -24097200909385601603307023876580195, 95714924832001130666120880712536, 0, 22209399693638245901372285659003, 0, 0], [-1417281888605493902301397460039367148137318, 0, 0, 1378938692727756688691991635427088, 8809092489307798520098713751271528, -197911964323330678855032679503132, 0, -74783404530179358239464600235684, 0, 0], [-8482145652234562585687721532700087054307868, 0, 0, 72739791482752303925340424087976, 25106293554605571899540724561502955, -164674623641227431187597150512423, 0, -27993647565227270570542739581018, 0, 0], [0, 228909277568785070114961817440325758384, -1721289144735121359402084084913045648177, 0, 0, 0, -26283102764029944907929566372086744, 0, 4530032062748574068341275786354, 11974480964859885639761152213414], [-5707247196503395633887417781778026030212360, 0, 0, 3132637794835497912291910467365400, 12054955581645842171466192103263306, -526495260055828105873905214605612, 0, 73372501368107224602034038837994, 0, 0], [0, 73224619491413228432412559284179959576, 139037031291792241805158514074438188884, 0, 0, 0, 3853859017515779775537904104069795, 0, 77566180626701453956151564137918, 4847607348632708577776252793322], [3725401682043137577404536008042184590637690, 0, 0, -8845299510436533852683926673355624, -25236425608039476118776786214674200, 675434745449759287425145912297218, 0, 134195520311022970696345123381002, 0, 0], [0, 418552345430460400561314693285490108032, 8529308668898158429298102077193442041209, 0, 0, 0, 34253028747935522374047972382568032, 0, 137974531218648310874861881423824, -2748540164217750161735818807312], [19508329246246961288860847339117374658792862, 0, 0, 2296113511619308336838462340368512, -156894130275697506708744280395862676, 889425926753732757443601783270444, 0, -198726544078149951780970922707616, 0, 0], [0, 384587596014766008308420661807251856480, -5567972704484253093002196166800500964550, 0, 0, 0, -606840881118877112976376862047202761, 0, 93378655580972390205802030780969, -11220598947353777745436312126621], [0, 127419883275095505311218492107224868408, 3840686577782389048131298607366747248180, 0, 0, 0, -1770037334612814657109827031233553, 0, 408160409889446402730338392154590, -22636967592237502106424215733430], [98253782904579262124997076773661236087259800, 0, 0, -12454179446134423976876249511884112, -19924493036109648554759034366509438, -322949808923038130961743323830810, 0, -348622527018517636508635389642956, 0, 0], [0, 823221573537146934145098555732156268304, 17158042199533771716402389876442474248438, 0, 0, 0, 830498831122045047458632660443828355, 0, -449817014584249949248827264869625, 74721628072841821296576874531757], [-176651226153661691083555345315396161375061568, 0, 0, 8136943521871092687534328099424604, -41321454439650686076145892022613432, 5287307924591323244107530492882513, 0, 371101088189089198631010367277953, 0, 0], [111823520634331530075397569841694952183852420, 0, 0, -8355269709666765029059412434593292, 315840494289774366696329272512671067, -12295327751236799882412458001538218, 0, 62845992427378139379676100112331, 0, 0], [0, 1632044375968222356358636457229352281584, 26727695908518187050801124713601525926982, 0, 0, 0, 2268848386628492411673682548168449079, 0, -628302234663212502482758898149977, -141021017628709848852948327246195], [-127329910369924106174561678345403869348868230, 0, 0, 19457488817503751805515733696451184, 382368256601883509624811293891085652, -5417253436438489354477255966005288, 0, -1447084398901065443346012736989756, 0, 0], [159262810524752245715484197961513724791109882, 0, 0, 11127792925389461348286480352466048, 536873821715163989270069550566199392, -13978252113650896423029947194158528, 0, 1252546073215673200809434541293536, 0, 0], [0, -989946571675825883707904680064988038984, 37969193297909494080413129852732150591716, 0, 0, 0, -3280367803219491080965151730046850137, 0, -1496843396263249189439566843728458, -143167343188329471002101379840878], [69090146568091544983999922164525109483992462, 0, 0, -81895501283392982572308600225405984, 64684464438641729434421770096847500, -25920369309523478979208477918409868, 0, -5400462216250217111903202172706488, 0, 0], [0, -423016181927841996285576267600911098856, -144924082126529435385924585219252889537676, 0, 0, 0, 17619836959912168106534450425630163667, 0, -2639170775604167969888585925777234, -179644545739894822228889094387654], [0, 9836386931694186509294852087304186499488, 75297834039366291847244200305100451838613, 0, 0, 0, 18883094228608066715793857553576037904, 0, -819414336816115660666638195650404, 146119584566346751363170816244020], [0, -18693164001075492363602098018287936083384, -55072475098566543127334914406770297082656, 0, 0, 0, 7198809323632040511609361118183884407, 0, 519689725389028979934084736918564, -300683902986988957047403548707828], [-1590224373301731228840944231880890957103492510, 0, 0, 312623999658118760967188311817228008, -847540186257435915550435163644684808, -106821706124790016066562608251139074, 0, 9383938460355961877827308038681878, 0, 0], [-511561306631328311750348125207919268719929528, 0, 0, 72505848340427264394405009408733804, 534811116472926708680364222512706590, -167671941493394980901575829362569069, 0, 862829550539644648794654842629853, 0, 0], [0, -9066520771337267799974522745447699177856, 10408118262369303466309668271507263927697, 0, 0, 0, 4802636352562058712248038678998755408, 0, 7011390572431589435476418140746784, 631674934888960229949447467808608], [0, -19450264292594765176987892164008870829112, -311468594984554555857427504003119732042088, 0, 0, 0, -228445599080218195934241571673057325, 0, -13173479418027132693535134944567096, 199754966458591439741080558411672], [0, 396843626627063060960609221490497926784, 27913132104125619892634141680557827070619, 0, 0, 0, -25630688046838888035215091025104569408, 0, -7533150548843946380078554046650128, 2460949864303306994673024778097744], [2775751559062916494726336973451825144989444480, 0, 0, 315970034376904723645956632346578712, 3472931005482254954478608422361844864, 212511434415740791159503530543450106, 0, -7813710903460875836320931160146006, 0, 0], [68974671929967033953663637537946365654902, 0, 0, 522135074899284981838333101906927640, 6798704189545445413407980963254397352, -178030227631220617429002213806159646, 0, 21715960475180331316673513994770730, 0, 0], [0, -5394890561510497841228869913624694135232, -900253171373688000905329519024333231495398, 0, 0, 0, -4125810898040034849146546273118699045, 0, 24288443577803584641497436889697209, 1334971628942905300941536509756051], [0, -40539416987400695635314352926781576848, 123858981507107296737859513132557496922239, 0, 0, 0, -23864257385399393527438319961965152056, 0, -13773467179590349965254740370170214, 1563625407162907457480916532224094], [0, -100109630036420366230014613923189112618736, 1207827267848890673935245457495735763517133, 0, 0, 0, 28011368901710609356527226145849576728, 0, 7243787454959007225227844887655734, 6550779725218501476530822247515026], [7443170072677476843514765194441463612375263340, 0, 0, 574665655452560393639438815679262428, 1667391801868720572511351291539565305, -6272008224868627394059530589208598, 0, -24753138075229960488298451730888927, 0, 0], [-13884422658939763982451867033634812890618436828, 0, 0, -768183576525773376033830956386167968, 3664276482158563252933445915442473883, -86130923202258283249310861988651813, 0, 1020493851437015870604826475810024, 0, 0], [216046135325015435241720219563206556560629102, 0, 0, -133192826081513656992856471948900568, -8226543887998727296665337622776456544, -779192870086063855397333745975515946, 0, 5470916564923743361684971197565574, 0, 0], [0, -192290368428775907359316621247511344594328, 2668346621382042378559354845529299113869032, 0, 0, 0, 120894216475509401812317500962460355671, 0, 31122624387147505355376423317841312, 6016377143194566965313646561889248], [0, 81856211850874679896925009935657610006992, -670946844514498032246478381119552270126666, 0, 0, 0, 115720504086650003384284303636399666331, 0, -79848691299539298448359237493190729, -9639287219307811588876756823211715], [0, 73112555177199183984207737486627859481424, -2484671652170400064886286884078305538970957, 0, 0, 0, -20223609281875948372877446893555879080, 0, -27093163022139248826498316741558034, 9657752773523493505221930934760826], [8976621480467251060697535166192034584783568860, 0, 0, 1272789876627284005909645802559684740, 4258651204811837157935947920246952349, -698760528180030801815712106468738812, 0, 24031930245721609551002416778353351, 0, 0], [3459465641850525356655618409457337206704522602, 0, 0, 22455570120794907912555764698722848, -7051590997713596069351233145372347408, -211855413568996412307530947835391768, 0, 50490235867747840048916782429086136, 0, 0], [0, 21730335716178244799425468009391238170320, -8228055599128342217245739178437025386513425, 0, 0, 0, 8434304111196631364915005508544698872, 0, -96533610410952295294528106871148322, 2846574860445624500412953112595146], [0, -274629803488010587907528013984180746070832, 2686569316105316929647978680520841288472697, 0, 0, 0, 152062671543605887077610073500554740632, 0, -844830026434619539761317186783490, 26760968586776300870245326918755882], [0, 140003079684214505501912924409091871462200, -2135938157105315534467405058055701280234228, 0, 0, 0, -185186255305316140238857609369812843013, 0, -290168719025546791477160481690683742, 736768240320809622168448501774390], [-13939775408563626253545789310282851861840865848, 0, 0, 5067297727743295482697613194832222292, -12372917859668567633297127141162958210, -285181812021202646951446237627907271, 0, -145881036659531566098166491269344781, 0, 0], [329377768462405744963479172218943818849261922, 0, 0, -3312582132178649112994588468740651632, -10103850782205140612484933197332537624, -1216770186533865713864537868234473532, 0, -29284381060672063996807093408294724, 0, 0], [-54063147863989125939155653244150860665154520670, 0, 0, 893877747605798818942103428092987648, 32448738381904351984728160687357543948, -2493315798896949686693437200910576212, 0, 32229941303434868080889142240168512, 0, 0], [24802310634848943151427672665168367802737471640, 0, 0, -5244327384959160171885688460144695792, -98758454499822834212523352127188123070, -3590848576816357111684924035241169970, 0, -395684409306742596281683265232207332, 0, 0], [0, 527392877985456310760807263624283284163632, -7293422236038423555338305148907174818841178, 0, 0, 0, -1149466336039586172716475095295493079449, 0, -19785689747006327677323490372804689, 83190304252296984707820074636167141], [0, -831631921651847400846975924190681057696064, -22347374037031299147258205111812177837321089, 0, 0, 0, 140164246383549363971553799927945691408, 0, -455719137848592329806772254950617448, 16561566594695505453314347664567176], [-74263757525089788469111862507395368687386951700, 0, 0, -12121833531251361484066090048386975436, 111006587402901321108901027633156062713, 3991949266276494922157132479861616532, 0, -384139091126566341380711573710450053, 0, 0], [0, 1498271746485237422556500210888613271819568, 5174495399509794452580496554099973578660206, 0, 0, 0, 99604499801450852334672767509657958195, 0, -185433687405502993275076522383543885, 73175899580839093880401660339817617], [-100844006775210870716533508084278254167866553028, 0, 0, 19062698641689946111642665282675581928, -52088664882040886539084903609641584835, 3871909067490174303599762642490410667, 0, 548982217541048322900019670799255446, 0, 0], [0, 1034989960358799375991736349974632285239744, 14895573830271027326005994916717398424420081, 0, 0, 0, 3257586313853281057514867665282824271904, 0, -81466521394935403455389294721008408, 106216822887117091094114858418496760], [-233405281644779713257910549806552404089531111638, 0, 0, -35206174635451202021235222634117666048, -368379513462758543813268653216563838704, 2977946108239282583482002885274185936, 0, -513952712791257429084441243471353536, 0, 0], [11904686232090677288523691445558255520771785470, 0, 0, 15191111569160313256150598195381672880, -44859380234734454154907352052390080288, 5321406218133985799338526695899111156, 0, -1794460670669301195619182727209047948, 0, 0], [0, 3527667190996857817459002237717256595202128, 10997171162312008023514279386129755088702727, 0, 0, 0, -1068744725387462921973337693522461737640, 0, -417366465418259402444741165156128690, -124464015064299525933581169853560166], [0, -2546331170733446427330098752841659495042248, 11401935350463914392771424423639921433403900, 0, 0, 0, -1429126247941012102373257965523558396925, 0, 347541185521675340989260536171121978, 366366178355843166262701077324976062], [0, -1850776956096430155470902104426507676889040, 57178472527640217902763725403547367708988205, 0, 0, 0, 1421080635346334153136851162885354408168, 0, -215162210015542534555772465101648670, -519433509276691768789663027941810058], [150308105435773805738597285596327691978722882310, 0, 0, -103746657093544009121545733478603821440, 396645725349701612355942423352508301024, 21063769607675922728713694333891153472, 0, 1858341304987271821331248226364386656, 0, 0], [-177737766758506659268641098585604252700998678608, 0, 0, -33216225182028562355302746359400597236, 1663402468704222753351360422274931963932, 28889082576899312474477679467622988377, 0, -1118412104559721967783014151819788427, 0, 0], [-710958538203200229298516574278739694797355333558, 0, 0, 103520300594118061341929597230421771632, 353761215784464813611850011983347896376, 24135548774409067326537955862846794140, 0, -2761177439284074200265369703534545276, 0, 0], [0, -5183751317451870734020593059151076904082192, -142290681327535883727083553223969681161564562, 0, 0, 0, -4749436323714505194035918097707381584909, 0, -1653973617543985444122281053648231237, 60249652525579917929151976933584105], [0, -14845834103041880634578048711058515005912, -89987891999517543714595059151332635802345592, 0, 0, 0, -3884813404016481588940710048963509514049, 0, 2198242303173169317046793323397376032, 320493573554997243146514813680720736], [235903179327422567822441100897618009662439329150, 0, 0, 105179944863085435326710706586962034688, 2160103544756098232950879809478205327008, -42190211288885152843820409190137228384, 0, -2104924885501184888545187872403152896, 0, 0], [-939821560466986233178112246307359827843689762640, 0, 0, -2114976445495678931953893171835945832, -1650651534853730666267544968748868493692, 23445219654359838285264865949531731902, 0, 1390450376253132043836114894258632010, 0, 0], [0, -18217551100822693085857119595637044693164912, 79386020493501423907436808234835856467593039, 0, 0, 0, -13027995048776611683577828324591066647176, 0, 1145141976865928261412811487768536422, -105489122362765812560253060060988510], [0, 9557680991186468017270222569825636950129056, -116976247767323679907365476399886833729291747, 0, 0, 0, -13112065502279403013414095251639841922112, 0, -8269233116982498854313393469657253844, -18525860465576709297763601136659356], [70099259459789432960360176682563710745958529540, 0, 0, -147328313971716663033592415022871073508, 3684073583950721976867236376525884664747, 126364000567556904153877615216945410588, 0, 7102366777203729336650222964742573585, 0, 0], [0, -11158449901100659031796723222191970513867072, -458122635467244202867742121484951618702388342, 0, 0, 0, -7033539246565121583804911470995294486829, 0, -4017142046953971734628512086324567407, 282570375788667959389935212743816411], [0, 7468421234726125678507943930344617509396224, -299584213208720516321093765634309443015938455, 0, 0, 0, 8398563376193577234933229472309075532112, 0, -8155382711959712706244648298216341104, -581652742295205010817854526910743248], [-201122314795503621498789185988190616958180776338, 0, 0, 184946583567398886327896706621396346008, -1594630920512498979297111790407593083360, 34426686222962988855787032826868365050, 0, 15880200451744545949471009700611498506, 0, 0], [0, -14372796163793867185954717210622262029806200, 70879678646731070005187701445726310044669392, 0, 0, 0, 21938905758968723125604774958696614495655, 0, -2760848048706954568262533990487823348, -1323850169074276718782472406681696252], [0, -17478516401715326840860252704431994120940304, 225495218696060007611408888522347720521022806, 0, 0, 0, -11995836680151705500893084462253834276185, 0, -4479293711999562788202609761528064873, -124553800506029765061468330552231203], [0, -7628038125791753520492236271442582669585464, -263059567822636103172007290076084100063750048, 0, 0, 0, 29730321191478299391511221243971533818487, 0, 5482366862670661379267483690038835828, -1769546866244508094657969935347548292], [-805039191229541594045679411329407284937662120628, 0, 0, 610615493918553882894714999442495142296, 1100900395830867756693050748578915677289, -133608394335505647601507536559970003637, 0, -8800683663033988187485335524907340278, 0, 0], [1420094388889226294440122658412373788587816498320, 0, 0, 88626888262231556345362805907031050360, -3669136682600304138727338235835827827540, 206932907833003779180134949423644941614, 0, -10495668963774369121956911585019497198, 0, 0], [1282441051502889182460601660313605457717514539690, 0, 0, 105480006875825697014613693771232118744, 89749679823433977299193640075910049208, 71623258923809505305561951889376839042, 0, -30505498443039904375772508571535764294, 0, 0], [0, 13543779116636927545584220859965618436926640, 759234648145466415285862480944958134446784525, 0, 0, 0, 4990711365178865193781772902761694962696, 0, 23522300548017643076696719540593339954, 1013057759762909638608032997194825958], [-6663904307251388290326244737438403214080453877138, 0, 0, -785988622075286830695466571209583674704, -5975730521967033402324771918090130035612, -41465835497977980234911154188240511144, 0, -43800243099318241839234604373559918028, 0, 0], [0, 97430480107581538828879078236828122842659832, 1241008724938704450206658151713427928788013860, 0, 0, 0, 19338242288781824264405379955467749596519, 0, -19042282716782189883153595641371087410, 4052047011356185400752275343486846618], [0, 20440092391188175642325484415248992137324288, -503062850495982225843421365223691312339736809, 0, 0, 0, 106746357109577343334240509905041772878336, 0, 34559196377271083531942122782754075168, 2788480731834001982342690861737249632], [0, 70659780247096345835095596222055290547705968, 1523155738721209141594326257656978077024942974, 0, 0, 0, -36233114896233164034127170729777500020725, 0, 37657187218071074803960104170085610899, -1724576841813897945222084134032105167], [6154121304777288520778336793225080964008049850152, 0, 0, 2087277522083067291126713427892541892556, -36995148463504824108652558514754311711322, -303473765629581619221992705837376336381, 0, 40104961112687198174972150578343854917, 0, 0], [0, 41025300648580404505256293776638363559800112, -520660802323309789284806879975333542075333167, 0, 0, 0, 5068898238333770210438518142514908488296, 0, -26012655618086842658818081617552122174, -5679146817347144538735159715107591914], [0, 95801256541547194108522874479445606498764816, 1641965212693662325923545156168467373691124494, 0, 0, 0, -86586900384980267410389153359601527147161, 0, -66423847448749531930429749911198188845, 2471705991862258631030944123761755377], [3749704364889584258438807828891806558398527009852, 0, 0, -224852637274563239214802975529931347688, -16084516181693140186913567692962369205555, 222027168204517018229983826323411320303, 0, -42362113140423611900261983677967959766, 0, 0], [0, -176383755479663386625750652499051561555790000, 1949218136671449983255835929243057529345054461, 0, 0, 0, -55833067997072566537993657212883864186456, 0, -57674532136901579218008065793621618722, 4592455269851289097147684226941778378]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_25_b_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_25_34_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_25_34_b_b(:prec:=10)
    chi := MakeCharacter_25_b();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 34));
    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_25_34_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_25_34_b_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_25_b();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,34,sign)));
    Vf := Kernel([<2,R![164050629092480295701242997169331061238502785024, 0, 5281572959719960176307049186292379156480, 0, 3247828667956387957668094935040, 0, 632956927553415029760, 0, 44090984320, 0, 1]>],Snew);
    return Vf;
end function;