
// Make newform 95.4.e.b in Magma, downloaded from the LMFDB on 18 December 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_95_e();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_95_e_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_95_4_e_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_95_4_e_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 := [156250000, -170587500, 265040609, -94694312, 118932079, -15924858, 44944653, 674257, 7535295, -170465, 800786, -15807, 52787, -2209, 2369, -83, 64, -3, 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, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [30261007846303385668350373249954442002962500, -7616897237322878990977239207825185373937500, 10793562719242704612787436161613956468600005, -13585974648338148849534498993529518967886567, 3902967431532915934976270024520680207670670, -545349840213322219161519222726616789280940, 1017114029147033039630405210812205641358161, -28324290797542987349664662091028856486265, 108626168134320940363142679553652132194055, 8086586884637104263813892098377206357300, 7913531802316329126548401365685721550545, 652229275923568048943772923723359649255, 314878372097536822205001551891346715595, 46594347870122055366075985712209247335, 8397341052946617783481277536008781860, 1340801074290510075526296539056313054, 62028122991558612359765455617876065, 34842493759818513152139584736301895], [460745270433811220941863186106937558355431407, -43821598987879305271668223868983526890212500, 60340529793864750720120030002643080905708399, -27678923342531160810126744459713284807807812, 21632832300270807216383573128935250319546942, -5003179037237234081856744530351872119957520, 3128447661050063675390774277076007604656536, -1021945524629562075757647692917689791027411, 399498927947755570775558993810212976564345, -106479006948451298943808261767348628367930, 27728326125629252735783758769952764482715, -7812057825254212315000498857889085955555, 1501879814273508627023220887643155197705, -345251092942853862392001908861628354315, 44344860899834620074823968064098723780, -9948466960721044299582566530065526091, 951146649329433378570402339684884291, -131713110511195638664044625090479855], [-317760758611966316828762053644313452840210487500, 506712141892508411244273444103444306600128801833, -59418942370357207311626664168692206246572784444, 239133273169532480594853775976936972819896967723, -31735307228474851595498192776119129763301321346, 96091714402252727131754383516022202413564950261, 1986349344363285894717601685449423282205631409, 16884222587857841886244094569460584911791377415, -513757752259572334334101361313993795949050205, 1839688166807838125583394742395969904120933782, -46419726031166009992566309543504384794953759, 123855046043406135264454372820985776455893019, -5930154654975260007386827782134564582451033, 5630099443869584929572246769131256075151453, -217693105528085856781925185117901408074671, 154161008635678851967456842844543292242668, -7698173055110543974805834389192839768211, 2420880627704270853468029859996355360237], [228981859557848003259000455466749624877378836400, -82670620474412852971611509572033561657642600000, 114344344544618719261923138424647987459184834976, -45772269777574931310089626393825125232052733715, 41002814768741940607988067508679324361332354163, -8832228221727101162001944282201550961523583881, 7062687835241418682131037453596188787620219764, -1655571202926104454730764758447600133593936446, 814354190445707485866964811547043960326711419, -156075022112036013493453882520354204081480114, 56601211462499091762917672653494448641335474, -10962019293174915185951119412382778737320642, 2782587378416395981380468199440413891555913, -447367178490813495562253079530419670838184, 79982745794289932913507869662012252426830, -12494801242346520706397709613772499667965, 1461878093884152164094621821500067578244, -133439095683898369686949414954932335243], [-1250163420388285822145003463336214067483125000000, -6543391498622131125929889583101388971904697411329, 561801588283345226972461329201226880798051760272, -2932570692526509598225696019372883573659645017899, 190935683110949429723885217284366560524463777498, -1193469422266486554429116669362972939742887103393, -52214211875510599578333435239140027209902895817, -207074628219251705916073441517654342171523581395, 3042941281706507466188113768874908792709027665, -22483876245588290592488854727826035819506764166, 355771509363746584787920056512218965682273867, -1504312009799557503888603449402659523866484247, 62254492487478732535801019470851733545488429, -68293224760142405112463234316533358956343889, 2380666373779016109523243774931594030970723, -1862977261826180645888078168615039809842184, 88962268137213637094842886008669314161743, -29389503106767844197382085557117847808081], [6984763196592709141330357114124059859954531250000, 22493875759000465465516365074028501279861985116008, 2569698441361976832926789497028596063790156668781, 8443319395455617062275855765594956530316183266148, 3025906412642562221191956217872288167168131161054, 3816928585459587912254666028272100011501869525111, 851145316911486839185496829052223083144928493934, 590931725420307706213945981867238915611981163165, 74309474301958921448818957071895587545623550045, 63699476596820753231891883076527930350733948232, 4775489827048081126983584492881470493278959216, 4063584147459084523803500631618125039691294919, 95807324986520469381373913748282326815540917, 185917246461618372572386831175796619899018878, 852686694602216127307694679358910983638729, 4940083020819236174354968028393755323108843, -128591210323431629172250415548539137045311, 83867300832525885425465226212186106498937], [-242340895866668584049491502777970442413072772520, 170851491699852310562606014777600106987695700000, -234017823793626506485149766372082034442815307432, 36459366883964723846331661162386812662809958429, -83599787513649503866568798177482211462458418773, 20594927018986321823514049653953308543858029535, -11650305071800248030117601484285407349765731020, 4509459458643779808166232575787431124448469274, -1382032281503260522192946671119289191495884853, 518961839907791040291279963974548282761824886, -92499334285617456455708194236322681682833734, 37146356760934871895088965354362667826919606, -5133624813600520005851519914995523182011687, 1687805836747150680935496792273610028868352, -153231037825132459332357013029785239555074, 47332162196758514242981205977153290129547, -3568260201186429382809325520181654077316, 682609480686852698624855587333355795189], [68824662292507793688335421205027392583317343750000, 36038173336305164892611504413908468291168042266522, 49455987289826904532237465122111010692015889702679, 49590367273503649341243159587288449854098151295282, 48788552929009818751900623213224734993080766020086, 25526487770385228415286351331444353626232965603399, 10739322253503542798194835905599603671800616055756, 3503833616422163140892445675219852578044153917485, 1110250351708651484111157671348505921388707840405, 360325531715833725363455989629412580422503320388, 73637997319665894942470955965963413958457585594, 21089088300576800586691115676969064279859226371, 2746479168201451519844343834455692092331430053, 952686942236167385318751556838509719389212852, 65546735252866897384690108556166716533592661, 23946541109053557721404564399691765775149537, 321396788038788696257302971777458085011301, 446345746130798746509442936397140463998733], [238246078695177649369751076893013422656670981600, -129310395374460950945144617027115100817420500000, 175858490549949831955787209005396423303251755080, -14787360571732416013537542839594046201447655559, 62723250891846066055613781166121447723040622807, -16979366950869138753181291571535730707231569013, 6750424944436977680445935280805600978551818452, -4048145568068071343374846364628719970317734542, 888370439173432770103308582803793616713069815, -501629606463278806885672174909399649849084978, 57983646703788202821203848488022195868991266, -36756569752675805113150508396279689162402882, 3773631742169547688867287359427687439493621, -1738879643237745244667884238924482834444304, 117182430751446275782063445512543805994534, -49497655536030730700483846496406080397537, 3261014213024530305012514525920542797868, -770400899147401002229707993216238913143], [-12629087991840038361468978471133040178456406250000, -14514312292359255505580698398613144312991265421452, -5073544450508817373147931849912571601822145491689, -14661791064720190943789041379924177287951798872112, -6836094266619190000200936278509161858696490235926, -6678426924693075956816702843552871611224323598959, -1576741920988651763380854376522993572067672523146, -1041857145262565859990983735763060142652683680885, -138611882865906635717204636967281769543024405605, -108753945131977970762333611822686648170895236608, -8399649581986126712000152636481912200979048204, -6830009920275836786015681397366408893994473111, -182869365236867286317884209604101099427651373, -305262436247733844606303669808778630733643482, -1733162849139990792193926398770015849487001, -8004411930305678454842789498191464455261567, 191313774941678705396879514267389217805759, -132621577846463805764217681371812891919753], [-210106412235920245607181002265975893815825022960, 122342400794706881732813389057394378859672000000, -165879033311335909186882241241921423007158252720, 1291491559705308231393944941830892214650060199, -59103481866130840410526695322961505680548395127, 16592416894434586801949182022721305879935035813, -5656568127374719871035071171806782326719927752, 4073773693140940903859727751969084998606685302, -775471403001053719492282346194804708742421215, 518207446354828636194706174659395847561358778, -49676296200407383285899888293455352584267466, 38047102109854753593719692211644467477797482, -3466997782183061810510378657303179889706221, 1818303587130670266172660095453564187345304, -109262472678723614579366473901018664277734, 51783972907280036053621934127420966411037, -3239927577014932456153434192223112013428, 822205227915444067121246547489408092143], [-63464863459772784359258276653047016118486406250000, -53634191463282260379390091082952291159573993479256, -24988905292776339573575360155732029009856134232617, -74383502823661827807854912520379049365349371510736, -34250172994274673434161670628567140456761807835978, -33812660706843348412398091091130144929703971697927, -7873172509191651753402928425808304493480787880138, -5291249291824472993347492425629241259195567270905, -687998635610922140663163926614260511865427900565, -551706741690416488585017822517403717400861013424, -41478898398855378499111815816124144407427045912, -34674572516858353180423564258890840684390706783, -875409390100873116632338185881312941511469469, -1548463666321818837390847323617782531644659846, -7299349509681600969469536973270821518788953, -40619016527878836670359369698282258190157351, 991990905569550426241428439346954589834827, -671308182347426036716019697763516546696609], [1416404442684150150549145012545715203907535943360, -829411315173206234136695764842093059649356950000, 1129100979755209142239730330005559103088808093732, -101927197168410227935513118938769725899293776015, 402777858164401668520578971694727762343319845271, -107627192615548923028385125114184791157978320937, 45375037600716659482066990115096450249277085408, -25384856284677538836201211914217391013328334602, 5836081758368243297501535726612483027728666783, -3118928200009922068476343290917349984742805438, 382141225123816969125720508018365827026116458, -227801970389397888109646545854308930059961774, 24211898326778814651730878381509390711555241, -10726330981982856564550029072228793160179948, 747740178930851218472268351435128079187170, -304688565097988341056198120443037461706885, 20323344728476234227301455424909381424228, -4704066359121310524691957943820847524671], [-999656010155080677327731902261895537697592607620, 600767058712467599425719037259302409652743925000, -819870863760937782128485144626801947914475307558, 96726632948978173897738101776102875275271312021, -292623741712755336517905053030395182382027426382, 75706581437944405876517654219682559396975610025, -36074038521410767576279237758514319783871485480, 17360766041349754266310548314311226369453988786, -4480573204433189935570705620537985623040146127, 2083612539754080988886575130493846865546951549, -296054191567610713699706983546408815848178601, 151025973763559738040255403175377056772116494, -17717489989856116245145789950025699583390338, 7022576106443981342373677472238602843959698, -539029347701241959902881279141880960411071, 198441539510887489334412456833775091100708, -13797029295653569945048287648223810392109, 2996025410515169436083935773391866897461], [389769161575508719098501570627496523988895781250000, 372712598240310179155038659956404361783853065014196, 182089691611315732806453196467544301443477082990197, 417031774080138606902477786878776700162362500695876, 225789293678465558863282102761384453788372934066198, 193384923775775126943080483676733976565255865377407, 51165874777100751853691367859506555162523574793758, 29627865716627637063635675422635921528918249485605, 4688260194809927962672829654165783899801088836165, 3081405265799419573558792281402689635546206094184, 290570257236817915848811997218306494532293984292, 191570675439821157753423570723918513293849062703, 7647273204699267428445045928157293381868536029, 8560875364958223487709325434895637373458286386, 117512594053982121931269053562991958352890673, 223073036985081971486957170481822738769575091, -4283334350284298600771427903375620450770307, 3745877183180794412148066499488946436386769], [-271649812373561959879288849570594106626935312500000, -246664612910233412592304226018826834938755222059507, -144648882578198216114460014133223448418273611870574, -266009915719650226259696930924564287040977170844567, -164598932310203652463223058254056488192037924667266, -125956311991225748531704129214637968663320479996144, -37414716491080006974340251339022961626381768965661, -18876939287462652690296669185300767434083790803035, -3561406419475161186022739327329986081925152538055, -1962162664243930289532308174049673547490961251328, -226785035085042139007625810944234840831441146814, -120779289719717521534615546185248072411394994976, -6801079020663546523729903846254484363008327443, -5417974165911238351573192629032149618806963112, -129297863693689564453009036057535833583762091, -140511652316876680792106953688541336174002597, 1917746665076551344939927720413797428449194, -2412107563636298696353208586559089269095148]];
    Rf_basisdens := [1, 1, 32695394072118168661037769441687380404516839, 32695394072118168661037769441687380404516839, 408692425901477108262972118021092255056460487500, 3923447288654180239324532333002485648542020680, 408692425901477108262972118021092255056460487500, 490430911081772529915566541625310706067752585000, 3923447288654180239324532333002485648542020680, 2452154555408862649577832708126553530338762925000, 3923447288654180239324532333002485648542020680, 490430911081772529915566541625310706067752585000, 1961723644327090119662266166501242824271010340, 1226077277704431324788916354063276765169381462500, 3923447288654180239324532333002485648542020680, 1961723644327090119662266166501242824271010340, 2452154555408862649577832708126553530338762925000, 1226077277704431324788916354063276765169381462500];
    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_95_e();"
function MakeCharacter_95_e()
    N := 95;
    order := 3;
    char_gens := [77, 21];
    v := [3, 2];
    // 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_95_e_Hecke();"
function MakeCharacter_95_e_Hecke( : Kf := false)
    N := 95;
    order := 3;
    char_gens := [77, 21];
    char_values := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    values := ConvertToHeckeField(char_values : pass_field := ISA(Type(Kf), Fld), 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]];
    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 := 4;
    raw_aps := [[1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [-5, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [-2, 0, -3, 1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0], [0, 3, -3, 1, -11, -1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0], [-16, -5, 0, 0, -16, 0, 1, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, -1], [22, 8, -6, 0, -13, 1, 2, 0, 0, 2, -2, 1, 2, -2, 0, -1, 0, 0], [0, -9, 9, 3, 31, 2, 3, -2, -4, -4, 2, 2, -2, 2, -3, 3, 3, -3], [0, -5, 5, 1, 3, -3, 1, 3, 2, 2, -4, -4, 4, -4, 2, -8, -2, 8], [-2, 0, -21, 11, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, -3, 3, 0, 0], [-63, 0, 32, 12, 0, 2, 0, 0, 6, 0, -2, 0, 0, 0, 5, 0, 0, 0], [-13, 24, 0, 0, -13, 0, 4, -2, 0, -10, 0, 12, 0, 0, 0, 0, -1, 0], [63, -6, 0, 0, 63, 0, -10, 1, 0, 2, 0, 4, 0, 4, 0, 0, 5, 7], [0, 13, -13, 17, -69, 7, 17, -7, -2, -2, -17, -17, -10, 10, 3, 2, -3, -2], [0, 6, -6, -16, -52, -3, -16, 3, -6, -6, 28, 28, -2, 2, 6, -5, -6, 5], [69, 17, 0, 0, 69, 0, -17, -9, 0, -4, 0, 36, 0, -12, 0, 0, 14, -8], [0, -45, 45, 7, -9, 7, 7, -7, -6, -6, 3, 3, 14, -14, 2, 0, -2, 0], [0, 34, -34, 2, -268, 12, 2, -12, 4, 4, -48, -48, 4, -4, 0, -6, 0, 6], [-59, -36, 0, 0, -59, 0, -30, -1, 0, 4, 0, -47, 0, -14, 0, 0, -8, 11], [21, 56, 0, 0, 21, 0, 12, 1, 0, -12, 0, -27, 0, 4, 0, 0, -3, -15], [-72, 0, 0, 0, -72, 0, 14, -6, 0, -14, 0, 15, 0, 6, 0, 0, -9, 14], [-76, 0, -5, -39, 0, 8, 0, 0, -8, 0, 45, 0, -10, 0, -4, 23, 0, 0], [0, -211, 211, -9, -160, -5, -9, 5, 12, 12, 68, 68, -16, 16, -5, 10, 5, -10], [14, -32, 0, 0, 14, 0, 50, 12, 0, 4, 0, -29, 0, 6, 0, 0, 16, 2], [0, 133, -133, -23, -114, -4, -23, 4, -18, -18, 10, 10, 14, -14, -17, 19, 17, -19], [-417, 0, 97, 19, 0, -14, 0, 0, 8, 0, -58, 0, 26, 0, -15, -13, 0, 0], [-459, 0, -86, 46, 0, -11, 0, 0, 22, 0, 43, 0, -12, 0, 45, -17, 0, 0], [479, -50, 0, 0, 479, 0, -18, 9, 0, -42, 0, 9, 0, 4, 0, 0, 26, -3], [68, 0, 86, 60, 0, 16, 0, 0, -52, 0, 5, 0, -2, 0, -2, -8, 0, 0], [0, -71, 71, 33, -354, -1, 33, 1, -34, -34, 107, 107, 18, -18, -42, 2, 42, -2], [59, 252, 0, 0, 59, 0, 24, 12, 0, 8, 0, -8, 0, -16, 0, 0, 25, 0], [0, -16, 16, -14, 333, -35, -14, 35, 8, 8, 66, 66, 14, -14, -3, 15, 3, -15], [0, -13, 13, 87, 415, 3, 87, -3, -34, -34, -22, -22, 14, -14, 1, -24, -1, 24], [57, -12, 0, 0, 57, 0, 78, 3, 0, -58, 0, -4, 0, 58, 0, 0, 12, -37], [325, 0, -3, 73, 0, -13, 0, 0, -48, 0, 69, 0, 12, 0, -54, 32, 0, 0], [540, 256, 0, 0, 540, 0, -88, 7, 0, 42, 0, 83, 0, 24, 0, 0, 22, 1], [-164, 0, 1, 143, 0, 28, 0, 0, 28, 0, -111, 0, -10, 0, -24, 1, 0, 0], [0, -102, 102, 30, -297, -22, 30, 22, 124, 124, -8, -8, -12, 12, 23, 32, -23, -32], [31, -318, 0, 0, 31, 0, 150, -38, 0, -46, 0, 98, 0, 60, 0, 0, 25, -10], [-457, 0, 27, -169, 0, -2, 0, 0, 34, 0, 17, 0, 20, 0, 32, -7, 0, 0], [0, -203, 203, -9, 233, 7, -9, -7, 16, 16, 90, 90, -24, 24, 91, -14, -91, 14], [-654, 0, -288, -14, 0, -4, 0, 0, 14, 0, 119, 0, 30, 0, 63, -56, 0, 0], [770, 67, 0, 0, 770, 0, -3, -34, 0, -32, 0, -49, 0, -64, 0, 0, 2, -47], [-1531, 0, 10, 170, 0, -20, 0, 0, -58, 0, -102, 0, -52, 0, -33, -32, 0, 0], [0, -32, 32, -10, 875, 13, -10, -13, 44, 44, -109, -109, -58, 58, 32, 9, -32, -9], [-58, -259, 0, 0, -58, 0, -77, 45, 0, -48, 0, 92, 0, 24, 0, 0, -39, -26], [2126, 111, 0, 0, 2126, 0, 195, -9, 0, -30, 0, -324, 0, -38, 0, 0, 90, 14], [-268, 0, -398, -10, 0, -54, 0, 0, 136, 0, 64, 0, -28, 0, 2, 32, 0, 0], [-1006, 0, 306, -42, 0, 52, 0, 0, -170, 0, 16, 0, 24, 0, -49, 112, 0, 0], [1476, -175, 0, 0, 1476, 0, -147, -10, 0, 4, 0, 378, 0, 26, 0, 0, -42, 57], [1378, 0, 201, 153, 0, 12, 0, 0, -86, 0, 102, 0, 8, 0, 61, 29, 0, 0], [0, 136, -136, -138, -1722, -36, -138, 36, 62, 62, 315, 315, -42, 42, 53, -20, -53, 20], [0, -200, 200, -54, -360, -20, -54, 20, -82, -82, 218, 218, 114, -114, -91, -48, 91, 48], [0, 414, -414, 220, -450, -16, 220, 16, -20, -20, 73, 73, -38, 38, -34, 104, 34, -104], [-2430, -221, 0, 0, -2430, 0, -261, 13, 0, -50, 0, 13, 0, -38, 0, 0, -44, 4], [749, -193, 0, 0, 749, 0, -201, 19, 0, -74, 0, -163, 0, 102, 0, 0, 52, 98], [567, -386, 0, 0, 567, 0, -128, -31, 0, -100, 0, 346, 0, 134, 0, 0, -86, -93], [1454, 0, 354, -122, 0, 40, 0, 0, -120, 0, -48, 0, 12, 0, 38, -46, 0, 0], [0, -42, 42, -30, 760, 75, -30, -75, -14, -14, -49, -49, 8, -8, -50, -57, 50, 57], [-1322, -257, 0, 0, -1322, 0, 111, 10, 0, -36, 0, 58, 0, 90, 0, 0, -150, 1], [5, 0, -211, 99, 0, 104, 0, 0, 46, 0, 254, 0, 22, 0, -29, -55, 0, 0], [2980, -634, 0, 0, 2980, 0, -94, -2, 0, 24, 0, -119, 0, -128, 0, 0, -4, -72], [-579, 0, 787, 17, 0, -89, 0, 0, 26, 0, 199, 0, 70, 0, -57, 98, 0, 0], [0, 244, -244, -340, 2075, -45, -340, 45, 72, 72, -67, -67, 172, -172, -89, 7, 89, -7], [0, -1105, 1105, 45, -3453, -32, 45, 32, 18, 18, 43, 43, 12, -12, -47, -45, 47, 45], [-1672, 0, -587, 67, 0, 63, 0, 0, 26, 0, -184, 0, -98, 0, -18, 132, 0, 0], [-630, 1138, 0, 0, -630, 0, 78, 84, 0, 52, 0, -744, 0, 0, 0, 0, -36, 10], [1875, 456, 0, 0, 1875, 0, -40, -23, 0, 110, 0, 524, 0, -204, 0, 0, 31, 133], [-1844, 0, 391, -627, 0, 24, 0, 0, 68, 0, -194, 0, 58, 0, 18, 37, 0, 0], [-286, 0, 71, 19, 0, 42, 0, 0, 224, 0, -251, 0, 192, 0, 18, -111, 0, 0], [-2766, 747, 0, 0, -2766, 0, -429, -6, 0, -56, 0, -167, 0, -74, 0, 0, 152, 29], [0, 445, -445, 265, -1613, 35, 265, -35, 22, 22, 156, 156, -54, 54, -127, 170, 127, -170], [1981, 0, -575, -319, 0, -12, 0, 0, -138, 0, -45, 0, 144, 0, -89, -209, 0, 0], [-1297, 0, -508, 246, 0, 87, 0, 0, -60, 0, 11, 0, 18, 0, -82, 107, 0, 0], [1643, -346, 0, 0, 1643, 0, -286, 11, 0, 218, 0, 38, 0, 48, 0, 0, -21, 29], [0, -788, 788, 204, -1190, 108, 204, -108, -194, -194, 306, 306, -108, 108, 131, 70, -131, -70], [-1093, -74, 0, 0, -1093, 0, -218, 122, 0, -54, 0, 216, 0, -132, 0, 0, -19, 38], [-2773, -744, 0, 0, -2773, 0, -336, 83, 0, 18, 0, 749, 0, -88, 0, 0, 134, 185], [0, 873, -873, 559, 2957, -72, 559, 72, 64, 64, -339, -339, -160, 160, -62, 135, 62, -135], [-130, 0, 684, 202, 0, 105, 0, 0, 12, 0, -605, 0, -38, 0, -3, -159, 0, 0], [820, 1446, 0, 0, 820, 0, 246, 92, 0, 102, 0, 222, 0, 120, 0, 0, -117, -8], [0, 643, -643, 437, -2885, -81, 437, 81, -92, -92, -110, -110, -140, 140, 18, 132, -18, -132], [0, -1548, 1548, -90, 3126, 20, -90, -20, 24, 24, 283, 283, -326, 326, -74, 334, 74, -334], [4568, -260, 0, 0, 4568, 0, 414, -4, 0, 134, 0, -436, 0, 70, 0, 0, 187, -12], [0, 789, -789, -439, 513, -99, -439, 99, 6, 6, -487, -487, -54, 54, -223, -44, 223, 44], [-1691, 0, 2113, 41, 0, 216, 0, 0, -160, 0, 999, 0, 152, 0, -122, 17, 0, 0], [-1400, 0, 871, -185, 0, -120, 0, 0, -120, 0, 253, 0, 156, 0, -176, -293, 0, 0], [-81, -995, 0, 0, -81, 0, -349, 47, 0, 106, 0, 380, 0, -216, 0, 0, -114, 222], [-1305, 0, 2269, -49, 0, -18, 0, 0, -120, 0, 32, 0, -170, 0, 49, -209, 0, 0], [-1333, 0, 17, -41, 0, -65, 0, 0, 74, 0, -410, 0, -126, 0, -51, 100, 0, 0], [0, 689, -689, 499, -4160, 172, 499, -172, -258, -258, -303, -303, -104, 104, -39, 59, 39, -59], [60, 0, 664, -208, 0, 17, 0, 0, -398, 0, 302, 0, -140, 0, -122, 325, 0, 0], [147, 11, 0, 0, 147, 0, -55, 28, 0, 194, 0, -661, 0, 100, 0, 0, 168, 59], [759, -905, 0, 0, 759, 0, 627, 242, 0, 100, 0, -279, 0, 110, 0, 0, -217, 217], [0, 783, -783, 379, 1872, 63, 379, -63, -198, -198, -300, -300, -162, 162, 62, 372, -62, -372], [0, 1297, -1297, -289, 5924, -134, -289, 134, 144, 144, -511, -511, 416, -416, 226, -239, -226, 239], [3182, 0, 1, -435, 0, -168, 0, 0, 342, 0, -809, 0, -96, 0, -55, -229, 0, 0], [0, 1102, -1102, -842, -4454, -108, -842, 108, 64, 64, 211, 211, -204, 204, 70, 62, -70, -62], [0, -300, 300, -80, -5411, 49, -80, -49, 54, 54, 793, 793, -324, 324, -642, 175, 642, -175], [0, -581, 581, 143, -1728, 116, 143, -116, -628, -628, -717, -717, -186, 186, -84, 33, 84, -33], [0, -371, 371, 227, -1879, -20, 227, 20, 142, 142, 989, 989, 16, -16, 87, 285, -87, -285], [-1663, 0, 843, 445, 0, -225, 0, 0, -302, 0, -282, 0, -58, 0, 119, -6, 0, 0], [7266, 0, -1929, -317, 0, -145, 0, 0, 408, 0, -1084, 0, -96, 0, 297, -138, 0, 0], [1575, 0, 57, 301, 0, 117, 0, 0, -308, 0, -1357, 0, -372, 0, -148, 298, 0, 0], [-110, 0, 1483, 843, 0, 138, 0, 0, 196, 0, 511, 0, -200, 0, 288, 273, 0, 0], [-4702, 7, 0, 0, -4702, 0, 1431, -4, 0, 356, 0, -1440, 0, 118, 0, 0, -110, 23], [0, -202, 202, -442, 74, 116, -442, -116, 160, 160, 206, 206, 412, -412, -134, -34, 134, 34], [0, 765, -765, -279, 1081, 129, -279, -129, -110, -110, 1492, 1492, -22, 22, 311, -92, -311, 92], [668, 0, -2005, -209, 0, -59, 0, 0, 60, 0, -608, 0, -472, 0, 193, 36, 0, 0], [-5765, 0, -173, 361, 0, 146, 0, 0, 208, 0, -1452, 0, -78, 0, 17, -475, 0, 0], [-9725, 461, 0, 0, -9725, 0, 421, -122, 0, -110, 0, -860, 0, -46, 0, 0, 71, 95], [0, 2304, -2304, 108, -7645, -69, 108, 69, 460, 460, -351, -351, -112, 112, 433, -37, -433, 37], [-2722, 0, 845, 463, 0, 89, 0, 0, -258, 0, 1686, 0, -118, 0, -76, -14, 0, 0], [0, -2086, 2086, -476, -2136, -130, -476, 130, -394, -394, -1249, -1249, 178, -178, 235, -424, -235, 424], [1770, -655, 0, 0, 1770, 0, 205, -116, 0, 550, 0, -866, 0, -366, 0, 0, -351, 61], [4775, 597, 0, 0, 4775, 0, 997, -39, 0, 310, 0, -907, 0, -106, 0, 0, -83, 478], [-2553, 0, 189, -637, 0, 242, 0, 0, -464, 0, 569, 0, 166, 0, 3, -313, 0, 0], [7594, 0, -3269, 311, 0, 299, 0, 0, 62, 0, 416, 0, 352, 0, 124, 48, 0, 0], [0, -1769, 1769, -213, 7073, -186, -213, 186, -128, -128, 70, 70, 334, -334, -87, -225, 87, 225], [0, 137, -137, -905, 6807, 11, -905, -11, -246, -246, 640, 640, 312, -312, 262, -184, -262, 184], [9326, 0, 500, 230, 0, -258, 0, 0, -48, 0, -25, 0, 106, 0, -614, 452, 0, 0], [-11517, 0, 943, 7, 0, 298, 0, 0, -122, 0, 29, 0, 176, 0, -11, 307, 0, 0], [-7624, 0, -1162, -194, 0, -168, 0, 0, -332, 0, -429, 0, 16, 0, 170, 186, 0, 0], [8717, 0, 1182, -532, 0, 424, 0, 0, -246, 0, 297, 0, 374, 0, -102, -26, 0, 0], [6956, 2300, 0, 0, 6956, 0, 594, -10, 0, 52, 0, 1013, 0, 518, 0, 0, -222, -336], [0, 2231, -2231, 1293, 5167, 47, 1293, -47, 198, 198, -550, -550, -332, 332, 342, -266, -342, 266], [5485, -1559, 0, 0, 5485, 0, -1013, 27, 0, 28, 0, 1313, 0, 372, 0, 0, -242, -60], [887, -2314, 0, 0, 887, 0, 706, -189, 0, -554, 0, 894, 0, 724, 0, 0, -103, -731], [8020, 0, -217, 15, 0, -249, 0, 0, 738, 0, -716, 0, 300, 0, 478, -656, 0, 0], [-8278, -88, 0, 0, -8278, 0, -82, 63, 0, -240, 0, 35, 0, 286, 0, 0, 509, -33], [5971, -1973, 0, 0, 5971, 0, 395, 440, 0, 288, 0, -263, 0, 158, 0, 0, -471, -37], [0, 1755, -1755, -1111, -3713, 79, -1111, -79, -500, -500, 1188, 1188, 168, -168, -78, -284, 78, 284], [6779, -822, 0, 0, 6779, 0, -1368, 34, 0, -358, 0, 1097, 0, 358, 0, 0, 77, -140], [-8729, 0, -1815, 673, 0, 206, 0, 0, -350, 0, 1431, 0, -324, 0, 667, 221, 0, 0], [0, 1103, -1103, 1831, -7518, -136, 1831, 136, 6, 6, -1046, -1046, 118, -118, -91, 41, 91, -41], [0, -2274, 2274, -1686, -6836, 169, -1686, -169, -222, -222, -351, -351, 380, -380, -48, 89, 48, -89], [-6762, 0, 1535, 413, 0, -90, 0, 0, 124, 0, 1097, 0, 454, 0, -276, -207, 0, 0], [-8774, 0, -2645, -1653, 0, 117, 0, 0, -238, 0, 298, 0, 152, 0, 44, 142, 0, 0], [-7768, 0, 509, -277, 0, 210, 0, 0, -62, 0, 1968, 0, -410, 0, -35, 507, 0, 0], [0, 1636, -1636, -710, -3705, 376, -710, -376, 210, 210, -550, -550, -62, 62, -408, -328, 408, 328], [0, -5559, 5559, 95, 6984, -134, 95, 134, -106, -106, 225, 225, 332, -332, 363, 23, -363, -23], [0, 919, -919, -777, 10036, 159, -777, -159, -450, -450, 1539, 1539, 14, -14, 164, 600, -164, -600], [0, -862, 862, 1014, 258, -616, 1014, 616, -212, -212, 141, 141, -572, 572, 312, -398, -312, 398], [-2261, 0, -1140, 350, 0, -607, 0, 0, 336, 0, -1810, 0, -62, 0, -497, -13, 0, 0], [-11248, 2789, 0, 0, -11248, 0, 1033, -124, 0, 192, 0, -2681, 0, -506, 0, 0, -274, 133], [-6463, 132, 0, 0, -6463, 0, -24, 13, 0, -668, 0, 1253, 0, 232, 0, 0, -559, 81], [8141, 2287, 0, 0, 8141, 0, 259, -357, 0, 104, 0, -265, 0, -398, 0, 0, 241, 576], [0, -2719, 2719, 607, -1063, 248, 607, -248, 350, 350, -2268, -2268, -188, 188, -46, 751, 46, -751], [10085, 0, 1997, -549, 0, 72, 0, 0, -424, 0, 1587, 0, 226, 0, -21, -539, 0, 0], [12093, -2026, 0, 0, 12093, 0, -926, -70, 0, -30, 0, 2202, 0, -224, 0, 0, 37, -90], [10896, 0, 925, -271, 0, -847, 0, 0, 156, 0, 922, 0, -504, 0, -19, -630, 0, 0], [0, 1480, -1480, 1288, -5909, -99, 1288, 99, -430, -430, -1040, -1040, -792, 792, -779, 793, 779, -793], [0, -4633, 4633, -801, -6856, 30, -801, -30, -196, -196, -200, -200, 622, -622, -392, 531, 392, -531], [-9442, -3652, 0, 0, -9442, 0, -320, 104, 0, 280, 0, 1622, 0, 284, 0, 0, 206, 116], [-6493, 0, -1255, 209, 0, 447, 0, 0, 456, 0, 125, 0, 136, 0, -220, -240, 0, 0], [-10486, 0, 23, 17, 0, 182, 0, 0, -164, 0, -1608, 0, -62, 0, 378, -123, 0, 0], [-5971, 2875, 0, 0, -5971, 0, 631, 170, 0, 340, 0, 1274, 0, 34, 0, 0, 412, 711], [0, 3285, -3285, 917, -17542, -324, 917, 324, 44, 44, 3480, 3480, 22, -22, -4, -367, 4, 367], [0, -766, 766, -940, 1884, 346, -940, -346, -390, -390, -2377, -2377, -154, 154, 489, -280, -489, 280], [16600, -977, 0, 0, 16600, 0, -1249, -330, 0, -576, 0, 102, 0, -346, 0, 0, -400, -99], [98, 160, 0, 0, 98, 0, -894, 886, 0, 360, 0, 3977, 0, 326, 0, 0, 214, 324], [-7886, -4618, 0, 0, -7886, 0, -502, 194, 0, -8, 0, 2306, 0, 740, 0, 0, 736, -492], [11294, -2301, 0, 0, 11294, 0, 427, -536, 0, 276, 0, -452, 0, -310, 0, 0, -94, 135], [-11637, 0, -384, -440, 0, 163, 0, 0, 32, 0, 2627, 0, 120, 0, 189, -413, 0, 0], [14569, 193, 0, 0, 14569, 0, 917, 418, 0, -408, 0, 1069, 0, 410, 0, 0, -375, -417], [16202, -1712, 0, 0, 16202, 0, 1648, -600, 0, -508, 0, 680, 0, 144, 0, 0, -242, 540], [0, 458, -458, -1492, -8979, 196, -1492, -196, -414, -414, 1449, 1449, 674, -674, -999, 1014, 999, -1014]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_95_e_Hecke( : Kf := Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_95_4_e_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_95_4_e_b(:prec:=18)
    chi := MakeCharacter_95_e();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 4));
    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_95_4_e_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_95_4_e_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_95_e();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<2,R![57600, 917760, 11313856, 54024192, 201280848, -10909096, 52596908, -5576052, 9422214, -1178326, 941261, -115225, 66830, -7757, 2840, -264, 79, -6, 1]>],Snew);
    return Vf;
end function;