
// Make newform 1.56.a.a in Magma, downloaded from the LMFDB on 17 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_1_a();"
// To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
// To make the newform (type ModFrm), type "MakeNewformModFrm_1_56_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_1_56_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function ConvertToHeckeField(input: pass_field := false, Kf := [])
    if not pass_field then
        poly := [325546600176957146615614350, 190291401428579434725, -149272663100531, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0], [-6, 24, 0, 0], [108528021030642975510, -426543633953529, 4282464, 3], [-836337412779145122036366, 179490703370972877, 9065764896, -1119]];
    Rf_basisdens := [1, 1, 37024736, 18512368];
    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_1_a();"
function MakeCharacter_1_a()
    N := 1;
    order := 1;
    char_gens := [];
    v := [];
    // 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;

function MakeCharacter_1_a_Hecke(Kf)
    return MakeCharacter_1_a();
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 := 56;
    raw_aps := [[52155630, 1, 0, 0], [-1705367672820, 3242, 1, 0], [3599234490846791790, 22664368232, 356196, 384], [-51382344022665141493000, -102563980249724, 12193230266, -2885120], [4873037178384487062015510852, 215102134622583803950, 1038417327392955, -549682252800], [-1112492713237757592621718345690, -15763435287132298484888, 93123620513895140, -18025859047040], [2148492767931094395959785238693490, 2607598394611566077804016, 174744449384205398808, 68245048336369920], [84871330480512876027274926121019900, -131762769552126437692268238, 3128029118693301919029, -602771992327689216], [12452140089678440379427613113361403240, -86973881584752122247592632628, 886283399264651000597454, -457149724345183603200], [-4578480313133877209704044688323155145450, 40910138515587031878799760168008, 1009141119115510841673214356, -131584324900729885858944], [57017422349786438217215130958682316131552, -246669591457898206173818776713200, -849769506279035062181057560, -151785253858302228992000], [-8034472279265646050800772432776522324791730, -36582941433371041597636940422753464, 216823875935523592117876886292, 201723044671629797932663680], [61689140751802862810151119858380310265328602, -1029440397282576477125646508985668000, 12295062146648038895889048509040, 202779483125632877394086400], [-215066516787110025396427939420659049730619100, -2012617316098362542972057839045168898, -4923537782157440555052444274813, 486942102566914552830515200], [1068830373190015692623170322282644562887828560, -25093817706812708447268074850191446184, -348470212617007946242687546118916, 264255458350472413473864422400], [-122117388005565921679189270186160776658297426370, 176972017363893178475498335584565401672, 10352021647943553942954462191575956, 1743018890994316198347051864960], [2047421908531428400884053191043730011170025812500, -11986904858835934183743946068402786855994, -199889699599995745850807950141466793, -56446607028401410431914631671808], [1755979315493900485269318889012618560959811117302, 9898717152645474390886317818296634319400, -840538707707757899854365454228867900, 6120365329781758082385820988800], [104641963107711935079060884193095979523391575636940, 318651709793738216261789727397174153117066, 1643817700611051588465408589669500593, 266362675300472022800508049976320], [249496394401972151384668125306306057250935709319352, 595241057239684740774139108968350826161700, -28402644561830017776344960421636016950, 18705240456592097867396527382438400], [-224748399157023979003323080948850976347170075485510, 6417933576895125888177619175380715297318832, 3662839240118702979209883554452583544, -11370615718209172162405121831719680], [12180255285000561075908832575268280155269014406788400, 12496138450138934009447910551552272042429288, 759629302776637110036412089418742594276, -429840055377724830674722804112384], [-17960189901629349973809580053162559139767505240422980, -263581395636867477431846573528026282986909038, 876623740479464280646440881803299750693, -563120249883499391824166033627136000], [391996803568845825552401628648089786953691259067972650, 249522514658159562480369002367214882927687344, 21246986962756528028922540394394270998008, 3650130547028587103131347189908913408], [1278433132883120190053072789325307823812851014309570210, 2485747727698567456205187739235635290298818736, -179446583619279895738352390105615868363016, -32929386832711897231807388272296968960], [-2600474675624386677565965015803910673322880851057126898, -21964605508365952157045365396905674679308286200, 555976843250133130907723257049486260927860, -170448320388351454753361402234544412800], [-6699764681871032050055137844836158558547348450869257320, 83384877213234770736854355680639913851679250612, -553690936344572574875517751297668849524494, 9745828085599097666833460339561597440], [-37522062228618380644775689489945864729470103842425468700, 8431317813597836749800169600682916305455542366, 566236352818038629088048210988556353765491, -11466895359635322161600931634007331840], [1748800589574770791498289650867053187213538296094404550, 413868842702869782985801365618421136989633308936, 2493344646615427599828997900377092275104372, -486234585766076545834524426091570309248], [-135481754156530810400540086039264726615017799153707633390, -596035530736684826329922751082159805140573103488, 16927077879446954484508173563105326497314880, -2341352605163897856194875681159781591040], [1517302610611745724721823411389423971516497138327550481280, 5054934553761923615088228903529158085709020506816, -32241413443146256659262725250920772183564320, 116497616673119453724418810698093136250880], [6004877956716626435780471517474153160092084672309452269452, 19195891255984535663637773944010479765204563300650, 734802261140670187148963271465557628642269505, 401106959557812370296859922656398103065600], [1007241783113689122610887632068046268187996647023703566970, -203225718386061532331641044313770244642119217028384, -1620580260447194194482251415136625535249691728, 245334658808340674640900711822532669309440], [-32584281855952912894134904473501570826869562643008505962300, 92417734356687435547286153817747146185764692800174, 3174868506393097996880039873091728311939126523, 1185783293002542275496887826091759480096768], [169567830777128909284668920282988932762507618004508686121950, -15810996750796823196311890274878670483867930465560, -34435064481072594437915208400697004651516049500, -788634009896219883685967521747555308078720], [-64858750907508185436848433645520354556032295840043262330648, 2356699387739507357943989403474193682335674242821900, 5472857495233676795452230333014108117150380910, 6517934833510207269489458124073510657062400], [-161980779239465471093920027424579789792995290012149149695850, -8900559817567967767052533159433235002244488551109144, -41770914974665789343753485270749013268703182044, 13666108374407514607437849693126886912301440], [2435379324173606501663597772782327623358169645411676164714860, -5789006663286670405028155636059137015743719261391878, 432388787754936725108205606268377200327746657545, 145850047153972164257948773926654988842977280], [2114461627447249790162006621445791390418654473521562732702040, 12239227900281686017310936790478220107434621389361236, -395723727590402284341551666863385105333106295422, -229465354553575504679528385008936581989834240], [20857620040997866145077510661528623695987594955537757538931590, -58957585356928868213856153660624030292392930766048088, 716509543002461492548835977631478949169028880644, 71189337154499904161254528173986012185783680], [13004123133043393076366832994050541620328115045698534701246300, -71905164207882566065459399266996064205164581661488702, -5969321942440844598538894067631712445955366930339, -536441172005616882589110082070394319738865664], [-107910620962554562060423650819748008856788545676836039271788098, 308371663863946956051763535599400110334342039589945000, 968148660315606289379293295005804001006882679300, 149956114555467857266906377078250048584048000], [534170217555230910973579297417036971388571278831155006627423552, 423522918593740975434942783492615361748836923692293600, 27671174006471166539382241222985504872228440122160, -1222026045378925782498936978502715695399987200], [-371862696732157802705694570000154504977720677509923006736373950, -1573754157263354333105299975318811875243995306910654928, 20815179823493201443214703696710812348829989462712, -7375593670501527179555180947188930236746914560], [1067990871731476445704343088121321025290672276592589640243028910, 1267166202796730410771796886833238649539282184589730216, -22783662992328203988769002541210275909236727245436, 15315356433225876529045387103379453082124553600], [-289555812494918475417613606956043624522802565597531360019731400, -1655482521089814544338396605296177178688154114252324380, 10973006854388103209254674447746052667764741950250, 10092386232834318908796917550986989207241341440], [-4687208233430170726309720078457341526490430231363658479166833348, 14565011120217663623899257937219511146295446614336212050, -79643214984834522971182624833347789960664911541115, 117502496746419003963848142955804720747672115200], [2060952023191056484036024002179624089078121001088259244903633440, 23542254977573183684082454046375379374587471293557637232, -3059080716436447992038521887820496054226131710179496, -69581708482486794730611609143137600572659118080], [-15563428190463061183226418498091658474225163135902724819619230420, 59565842098581316398651868774596268405757696759545815706, 906952119275833362137921838723267952790581046593305, 1410880530589353378824000396418737017148184821760], [20118623904263158166976270853668921835513227951746447761294052750, 243900039519567671440110966478098874258978786359275234728, 1645565594868267554058005758732627257386162355056516, -21575350045808886313212143671989721240891224704], [58929596624263061513601346843188427779989229826368723228512230170, 326450491795981648207560053588584296787506040225458058032, -5847665228851513991992523394596496961608703375916232, 1259973687315079021802783941267043494635777373440], [-113093674054023399853937740959348751933089625146415937620766924400, 231631035549585506736010706357202944351026583290841488184, -2217778859175421362524086648256551773142379932411092, -2764228850688101789336303144209346618277753664512], [47279315537666872215350647843285791497934064617744819314723821202, -970657926782949095803772785755664876454056085801617034000, -18422871759142994946303017095873528419607829349629800, 6490978340830019280319492788513223427260326304000], [-323669097049466236371480781177133465466256732421115131810909912748, -1502795864483148246497140851719915780212967346090225721050, 22961417534186856590953217462619703617390063800898375, 14850074991210132266868712335140783193897113702400], [-1028371254534769240599438817042363615713101237058638189045662468350, 6906216610205151100660511599463535030936966977680829474816, 8575007713328844472356561326141354485091268767671296, 28797590679415712240906208830204723213478634536960], [-634343608444612372774724544091067516054913039318239973615745848840, -4262692664064211659518987220305838921768765195895108021628, -76611059303193509914931025474012668109396440713665990, -87392361419705109307776587470175071754664255659520], [4478483430548113908521100377322459858722652920143468918307298464550, -4886491885814838410747456491948721379576810990662107445688, -258512945965493104038598580456187895774312345026978156, 62431939059317505011731121902900348403700303782784], [-351402356258867316935263325742144897759178994876798837179533647248, -48550809231545962950721255625312137780092917780586934582200, 49956368309630652937706690041348076589920966276494740, -57304107010512319758409014990661990813179157632000], [-5374419597831172223614796139150311557307462178632045986866307268770, 46817254247589053085419850615536828718207119899358062914376, -312199984366077221461217795540976812300267743979485420, -131604522893942938407892144498069306817158314089600], [3286954303588554373032120057355009886471060660179450352994385469802, -75227952699337402026794357538928563241959319176729472067600, -713708507664009543414960978570131207306072850175325160, -466441600784749268370097690441528605151851412780800], [8488100149457672709070911118334383861678236197428371082757103424820, -12603260321789959345359997320293847475282094700763870215818, 1092510825755555425918137636274514380954740958150662863, 739189226081412263521560434706706311178755568675840], [-33914336707982621448927086515050501459121574787356160094725620291250, -90697466106119774517777000853382203693743205940303461737688, -2094751920056040821166636476777310819187557611967201468, -150688354791273515188701018324596290996301519882880], [180265220747542555470353685100924920698495648297442117229417689863900, 259502132882619438068126919822068014519567739304417645338946, -12124997969696018670492359944356953233413546419077868259, 561788471159551418476210003480858636450007477099520], [87929709304586190635835074835710943098936402417098480673476987226952, 551213674651759902248327573180690899890693964975677488740700, -323116349125013103194710778871099589106210345970099210, 2674593750433381991602492109080428054882982008460800], [-186805669438052653626658861526443537290776529935404790092683144689590, 703203009180542861675599167680121246042146260058602157652832, 28306831031571211213868246000951605277010521225140406000, -4840388191446365787131477975072527001702840451008000], [-401874865605046208472685343125447019093458396121211310038815087897610, -816125589630963456625326095012625804194342885106434763950264, 19463247907418829416102355280077843116291117651935122708, -1242045682672453976524735450465315728496715079027840], [-160059760873044271057296368417756711834376455475430797550310561841148, -1926135605128890566706246982925785587636790284128135579932850, 62981278029129448689941031224551785525430605282776323595, -37645328247058935431210528488745287223689437923456000], [-1243310009971072921142524739231763233469565555074440605865629535374030, -8232026888037565238379039446934737382995413808950756734131264, -105096719096586598435953977046573535958697131012843206048, 18357759973026677704112495969182396934553330561786880], [1114014299498196754129938740137261345232289124403963977346980697763060, -30112930620893193387222712494227865392156222052925132191363754, 484761290423758320272983535203782170146593300216210561279, 16200365949481027928124007915398864985320665890498560], [-5782584769739304338471711536308749370859489581567432200180551680836650, -15262191282044856108887770653417182343186906717452939872315640, -414813399271741826097317026887733813761519145690291796620, 62267463722744847531699043464365570984067195870517120], [-1348242109134185470536310858621799091477945395529384336353176538802270, -528008949411400818796963389619743404152636607328386306892608, -74963116509955131792133603713822544533488364458039978784, -113382468144092543053063855600338278947604559451008000], [23553088258721689612615024686118072623811302832142920127655959626306200, -22773914372322563506715100426906334814411869406183214063529164, -152234059295475972204913061501006903012802282636535609038, -143996559211852650766879262421664544931175232883906048], [-1421292136164768348382224826158725194710968131714060570334277728811760, -5671389656839807124782706631749458063349617477367094298607624, -1639951704525493162025217615253778506272533449166431550452, 485936273726859726165059152844065986259527138314122240], [-45004450634145683095831474831039514224731648755108499638659904184612610, -263728527231850511432570545174728269976607715079950164418373368, -877338583882180743591801998366730309236521105556378353036, 670991430406302128454970857868444196433972230206875520], [-9705716132382704036879402246159819381781826461972811039694004738649900, -313690118079134999495805697123049925730547926775000161682937882, 2348077332592839253025514518244545935378570385149557057831, -1762220737387235493011584792668821151294130406425626624], [33419432636536725507187497988149108858494954988453444737203282266491520, 233851480723923090341799995902293606213341677516839591212219072, 661452045904782467728365301040633786466277289880516208608, 787911468373011595958063587249620374588137599331000320], [-68587681181621753020855459852153726662563165810926462470199232356300050, 226429458106621419952512710786248929642081195115208346656455624, 5876408689814021025608233785050562483108415792943751704148, -378905407191092999933356724132688598694271976628552832], [183975942955252932446808695160528815010786590687731124580147410244627110, 482368068996897810627932233090566199717406519975643069326568456, -4469385397378233532852737568345897659966239967797581576716, -6646123516098734154594043055094747577483453346427246720], [-41359411436951287860318218918214193031766595913889990346428247194429198, -1727074305387506749207390923876753394082772369476762325790195600, -1875563623017163602793913817297316847707326687423803953320, -723332882149809308724882178589502873706075252322246400], [260658073780391264426505463437792714523685956552958751882809700669487850, 428670768876723952108535523303700279507968905827821073825813216, -23298061774727699009466210895100376524499212371815660919888, 9615503882145672161570115226016630834458886119749632512], [-189250222088910860806778442578849320994819570778307666108147150503057300, 3256501229080526694095457678097797351056398908637621866728028602, -47148748203607262447177560264405802066604121791925050018711, -5279739737676205360514997493968706215474598626278593536], [357677211983535647549156912336352272574828792856243021587304869356599502, -2545883380804101243167207341944960448000298855721394481243807000, 123725637605113953857639422871921728923037976141669087736740, 3171267582089551535180517131574215680588535812543830400], [-791958273744387586194061550223865475353555119405874967588688402643104048, 2510409499926969055119050522447850618724954585653188256957269400, -73078775086067145440106665940597209035000274024467547755620, 25072291671208700758628980196592426064764712852670745600], [385199134808521671534491466316471549747425654341319493923755740161263570, -6527845201489071837306469002678803571578432835539915463036697488, -98444723695163192158262439744626845741958812776141805377192, -45183339793434299673009957642705494348637554904085651200], [238305360655109985372747788481189656410434287271922498344851079807014600, -1101225976950483998350360659848244962651614225915288638726954596, 15048529513743383074616445370088766489773297685928380309398, -18851820938625271070070884851757634707881739152203049472], [1875382923145355390289177863573241829063174492902453878439557783948490900, -23263643528386119913543016403501264902664533663900827855467957818, -311146587516117329659860593114790824905208850380499703149993, -99788066782293323430027795222266045116503719876850723840], [5469411440138579434441173776623918476140123697943410975290956703290474050, -22276111774488735000415399404205959384557456923820122461693596880, 96840057117201425191246654570813367857793670484506286468920, -15571113944119704038269547317276216013557368309480303360], [-2932853388777640747755481121499300437465224559895853027096551542736612550, -14303991702950561643732495158398735046557057582641459333514513184, -594315258010732434720764667189566569831611664432665624637264, 45643760144839433512948450185314251885171096727857308160], [5829324783797848826450216038583998365090190993094770654350623116450828902, 40603622519596424312237033456716852099821659339525011874871545800, 1313717214888701683609670962248594988889057917966284027211860, -162083781055323603714004624652833338795919438367160988800], [336758885150671285989716701841827577817223980804922494757188239445053360, -44870365427222178069431120776139132030956389842358924262576286168, -6602062557347921420309234751513188652771644968110170010940, 158874175649538914077179115494059415457726033698590540800], [-16848107346327275235916958292612157025168666425302352380918767611029765060, -38846613872797317106740960975545478550704874515042631186471235694, -1138853212888281913228035155517420444219824389909072693139547, 221465188675955261518137573119605128354376754604493747200], [22089815107174599894383889126250121478159766349932119349149575263520397600, 16794163698164851057281266113337046971903313777919231903787135728, -2493632036908716162189195944891016865076329428694073937003624, 335767646274967024558984439928610347646249379898255568896], [45673079323528795583966256104674600027025395676060268496290070915276791320, 452465529840758032454646702659186628847527650164227585953110203636, 509543033521697843920758893943118739386788449669440931969682, -390989014833373420339700011849133017585305257153199889920], [-357792414651449392631358829911233290434016882906055111659277041340424348, -472807644235303404372837734857337605715569142530346420106631103650, -1269563246940513350727898597493395320212978895740808978747405, 1143412004712908608775828491647393430053538473022787174400], [142881879992703139628657515405860689203296279713659731258292942065083279900, 343681141529298529879602169795051503430676195992350348296592263650, 5683605153329312284512468318779254884822447242166575202437165, 434066368633539070067278699098395713623371802901963571200], [129710829788311513073355687249377362591577824082522520191882085427869523080, 363490294122814060052333414504844503858758911041860068109968099132, 2100023281161833106018196486653692981679128045840706397312806, -1808031156191266476767681675590910926603797466847854686720], [-3410509742931617927313501185033300942905768006792393335938973646717288650, -871956187442924198728992680327787103660077816246451772131040022424, 7093758328137781631283659813907585130545941101850956156428132, -4181761237639855145128074375754663656922249622127953251968], [-67056509845570534619829435286507214882386360646114283972815858520565684998, 130657184276607247947979076087682889172818721496664440368373429600, -23556599363711024891191538847330278787578608261373467816300560, -1350446922536410533913020964415085896886163800028623398400], [167854411958690095620396241154284848404386638338642199801750876826451580740, -977568171057390632961109521093167837346518019671873128030962346578, -1249082287220211480765981155389657222949879285236921286713221, 13107339426728805422795943829753045994756283976420218854400], [-207382536826159076358381686959706644768622105628497567841059381044733323498, -2836930758642255286293397385626726770395704618965739628498376240600, 17983095959375277212753637149903074625924522886201888600157380, 18760903971089777445128828697297917704947566243311120905600], [-1053606201994417386047497849522360136680332526070913513443460149964917841940, 1017587896761826317163961747527854458502894472387237819205563382266, 35784802811081444468637521254903387163696787324398793092633609, 50197151203979462314592812484508597523994576199991045196800], [-1368895268558837495033382655158190307374348717279517527677997336958651782650, -261541086577176476020198096857207307759444313937599878934851052184, -85947152388434729150736019235716543805115683399890936846140444, 57247119973020064864623225599805089159730584827418601701760], [-3793467097800397305580999774205732717587432802505037824021210207946803976740, 3443448780753236103136116208836653261727544461138825679493824175042, 179966481608645857143371341733795387231701709225751746654698845, -26685623483192123952483131956655396095976083867440726574080], [1023865473075917964095961408509282791468665253278841247694591308630787141450, -4614362436649232764138946619909924237945211983663516657721327541408, -72926704632753190439521827776198054898463445718354155088631056, 68270558245012164125611598830325674973706902823087032646144], [-1729563660879722324409352643146782210648662361634177415291109002155732051948, -6120730971915546893679176772473406030311084051758720457732837939450, -314657911063219387498246366582271033916104007904043184921306505, -11604823367833629723986325726663738725121007935823378611200], [383323008970942601386308312614496122372949693561672880614910373370806305730, -31466903116713830353490814426295655667294891289216275654751911822144, 510006284825409888214245780233649028470920508184960766406501600, 76701068817404474062902749688378724465430164131796997084160], [-8965434653324366651152614996126115123710872544103472145439238051074822115580, 36379436914291816007530782154655345588709934133113306983362012528206, 38529832653564217650769549957105471660930166415440978522870667, -94000035640643196929208349308718093997780281373499731143680], [10617215871936550099272395623794830712071905468788769791989246242751110374450, 11617743353153684752487941637958432077215415421857437072050796881792, 952337134199068762955951299120275772760529762151873005404267712, 351955481531578783683471688509868987909243504508294520391680], [14657799237042638309457472766347645297852552105461399719523414528205685346600, 9574732285051249265312445573351781496340936497714826984715795818860, -1181543050316097241064643014376862903933349014710108341125723170, -114115688611207134342455197126191784864531684375153376186880], [3791302658507520490424023625407428440623394138797109905182516772352374377002, -30913530109695050075001853079476474256555054797732692486380176600400, -677335071117380245927420413740179657717275354798457515467451400, -591482225966122973155165241244003803629055345187422698668800], [-6928817514744616296957403877446601634015406758429455452209867712426405237600, 66177210175795640297002943290527149488423527700901233900973111475376, 119105197452075288721142773124886195947781424168080987395878136, 398195817608334198734114648655108635167633956266450569799680], [-27541618726527905066313615269978616581566625661066101419698296784264610735090, -8239187843807648630482759474936023729559422692400159749088976464408, -3457841863543802249145080111807167361651318766296556241416304860, -445291364309740757435137907638976592911748292600175428490880], [-2529675994293768610771323721693992810164641202044853408310337057657324958310, 137542683548728270549054047331030343931696820179317937132344376189296, -638040945832730477072989892992223568193052156981112595117302312, -907520796029185307953537547481702754690729096524099633073920], [-17249093745753017379328428349028473738410341882778041820428129230419065686300, 240865033560783330872937614941364322932822674173561529816834759513822, 3736645800325971249901982093916598291023816971769793670131852979, 895051901543403464071497688949661708151540583218334161429504], [28074241040725958201335132897265383311074278009682161672151040422653115295752, -156204384847834031379889177829166399930277903396438927434587522362500, -2737319598026264259109424279469837737581883860650552524667583290, -685859976183257772796914606990052610452046490640579369382400], [-91957339172428978881068895597847006731121982512551280178961500885496415107198, -387237524606322946887846767452612556907979641916049883804935413221200, 4485554240459880373004805568135343211783542149599359028510464760, 1093070872136227323999638629232449460331398546608873134931200], [45378384446382886998494602112163400569810540733926928820362073688854807573900, -376148402965839948131361854982430094113802109381120478099372778721878, 3102162446780670214897339742477213582612845650348368453281484417, 4800402741176800743775445551506866885405003304254576632253440], [121507919625445618601422140470493630613877925434416474767827079217564757744760, -548394671238931777570679202966645010629098838315517566464387528521404, -1383261704748176714004131244979684096695979232784617324458790886, -1091441535732864453675975218967757652975207147904535145725440], [-86150589892674238159497785870024240391666018908652307477434301368134402465370, 640190438713270432808423465929911011029898519283736991771289784891592, 19699933155137296914035312634388480347249432935757643339799540436, -17888073711274595012993351271090376591622457410186016720000], [-1603537047322218920488760512715733706953019711065729015233001226653117524100, 262635522223180503273832156436968307500783377864362773823418903391666, -17438443315340516277039723340975013253656407294587538384970380683, 5715395711651992215897623485989335113890772996551517863923712], [-156284941801497299860017164469517071608332338634830635649519445558123563339298, 741377402369665675423854879713685912844208100989052499433861136082600, -13257114800938502996844390185998939578904941915214152615514878460, -7708606463879103580898276178581966867521440468552660874486400], [-150366433502893979112376774260799876744514170936826312294537425209033682103710, 2031858707008576874329310779102444849273666081908271299230968422467632, -26872757840257843021214160433630039028736575722135235815024467016, 3306850762303568793705458370446726371881346115741434421413120], [361349127118039776514074303880133108855208418761334856353005985664527111009230, -1503415746400232446272126980911586058753635577943401102933397302083384, 44451485344716306161413802747755883589293706259992278094212105940, 1392063703571847049590740359934964742433987178550419396881280], [28554316924847617727065345981200435707039866441446111544862798358012685805220, -2216720808773569090788913212182740797341440609056842096944903593484098, 32828396597355845846235564442184779945936461373240966393657812963, -6799325506536061163708313743392282678066833167024330795089920], [-300557252546990357751912587779066300087098061196286479687325591504444817078948, 2805063572723024249976460885135375859252423403957685868589764054522050, -51934911469147778619118311703369090451173448776671564537281953315, 10072213987862069332207557331643967982008411584348968458803200], [2039356771881104881646950624626138862508573287090498283163869823034479784246902, 2565048912005220032253335406348914004342173950633978439832842720793000, -39266386838197870356654648556128706089784085665339340813344641660, -14348627914951470754650758248590767816696484097570611039273600], [347956095328471996201010889753945754715024254686307842861611571025494296581550, 4945196762584236471920419467900392835441924550879657946034704815671496, 84919333599895633710205971886054106144812714926274579256958343892, 35840610127893788285536742784782679855768137358710604607564672], [-1040287567911554058192721237782032616395029022784614844596902283299232372926800, 76263776579626771692852312311694769492794878664138172994948401131432, -171774614237097410467371692396079701702709773534297918735528721276, 33965175418334333445633895564767117699299458877296352029185024], [-2643731602153519045110826606662176852193827444100565798207214318954652556837720, 11887880835704043455457682925953391540123710552933814555569703783810476, 190314625398237795643044908712990947954191275567945497272496447870, -75097422345728436413730253142954128299555617129950118548083200], [1569378564161083706407225352665851019562837543360517878923967372424207674909270, 1209163416058538316888382196407442174162745418278691860814140485864392, 75766382941722336269821551627496101416064816346919802600352085588, -42948896691436969340976814240257544970921306377445902162547840], [-163441907867363596036989821142334191151416548454269477019546029174584240575700, -166485534549275024092635842230701939357896925396934949996812970033766, -285644145362855480852276694070121454318526418076366451265515430247, 52972069098969716793947321107204615612640558410470414693900288], [-2722847083096239191436849928512784795697087296760569756032109285816738787322600, 4206911868738862284877972698675022068084229250955791543840893493611892, 632491159948810461825673215959576276211276400522321916260491923922, -63859552637130159960289847310880677727906369226030509507960320], [-2221167006394002381731886495386828808499327237179547952264256190128324700532848, -45993793033848273539868351945722556051587956663281051197084159321779400, -210414920879195460543948843380997251742715889664011260337409333460, 48704170111219678286367890401365987522666100543378638130969600], [-2985034087265904883111840883190022566183295601051871913407647906376103886546050, -70206369421871877588123742034890162602782353131929367224944025173764504, -301940307261735784559881336168818564518620216362471057237516818844, 11120687484691400626896616519619699952390672683789433286312320], [11043327268396864423222808478641820646502607473670640906649320348568620006923402, -11177727984678117557856068533326214926855533787926375206022179486794400, -246399561715398002084890359463113097356807799605597085023038004240, 155893201829081125710816163802010437981493820734843669756172800], [-2337382878383740664054825496345106959844968367061764699522189782377607125789950, 73176999151471761385125760843416132913578158600819873268496671559704112, 1031088476965220823331537896009624505006157139065688162506112770744, -346357354790962730232272108489228711874804083279566559047375616], [1739465602758187854910190857762206114227770709456737245477988114818637461479790, 62554194463928445607658040976092519214147294700120149886667874578401352, 84487688998639753270475534824999075626422874020302315260500278164, -152477292796810874267749100793377514540719907484564584571866240], [-17493705866255639744018255104361146098742993762806666371416126228384163124408580, 81537993231105543970665742658492633215455231674563106533417195781523826, -737596786535697883166297597039030197992873335456976207100156297003, -242815864071299575226323057679244852541973673536568311798282240], [-10308067548811325735314510849856334400290334436593889276436228883812007462093290, -136622744144718959054655535204664341686772659381287334028026429739899544, -4581669571672095040123843726976078294731573803748202234339793809436, -476170497401855498474109781751790300491367824207590568209096320], [61073391163184375740643724501537883943863491108443444467955192755056725232658650, 337062751061906711320096122219139697365862227084513979338859867741525856, 3300262154243745286846090795916709999194756260048801781983384108272, -1503169226546404011611105825426301320694996049298829663769118208], [6308542499927676661049382041333800127088945392907171951378967354296937252937252, 166191538253218255828977819057469785205122310871646493750412178743557950, 714335043055391780621299239059705831275227804212345724649879452195, -2685411811016373709850253272241691391160662021086934759420390400], [45389647709336141133890909822715791647575514003599876599337905558595617810256702, -499168303082537904447845500863609190619166058190178397753011521917335800, 1475872566978250046437231271387537984404440874204964593218888588660, 484721322586804481118015481851636174228735796531687529523120000], [19951496353033892594611492067915684176343720515449014153744937247692685781236040, 87790732638198669081829917568745413314814337991963795518132107947115612, 8603148442245592927215804642914985744002033244492566530765110766454, 327036230538393622957261704054979195483467176827491662746170880], [-11972990409477006953069903989461056326509958555644403744660431458293136834935020, 569801558173994915015301509238749176336851062536439927078414074640697606, -3054457600474775176999925335182554731790658025465901305181459519625, -2311574037096553473592830762449265665325958921146414831751971840], [38161506507976313188657367790989216444953134266691041790595776401294442381903350, 398672600004341564263124624531392152850992048484963657706345434712253288, -8102132136965769428050514955471834587642349149447914599421460024604, 1419208277477384146609680141377175014832673594391221747317522816], [-162227032148330747285887329338671599316359880921337496334844328822478520336829000, -1391013304525355987718966566772717513185514702740271148204961671341665756, 6194227080161881627450505683641671740935258085199760230717363811018, 632837867767271835456467014909714542737699260860890146986551808], [19354037064034042227755294548419249436843332060326284918796848895654631494508830, -384574717227224462262929837601555420061408891067656442415985491093336248, 7866791391368996529529255692662899519833184760146652026106944655636, -9537042042890477444983377372932958967398698465874775473021361280], [29241085581326548143495640265242660576030896957345752878718362071578487794519850, -1181394032628937593305368601273802083407628559340176924051812847162636704, -5568551257007825487607213207990594524904494073962695532514556955024, 4094123555568589424707144093543382861106249085999980391656491520], [-105594667889457880667936528329199512898703306155951348132964236278117697280095500, 1058644728104341666167967901358687433520975392138075800398093528071942486, 2768358038733056300007984784260399528720128985912299410431340339967, 3318066562971953000292479001551512332997595653679566063975831552], [-132003437856755418491863431161298679526534269750755791669992859133579986975775840, 2422536989466898006655808413566216173366435130458894873966008163915337392, -36409684367826765338757411634302823173734684789038174509312068234760, 3792570552045494344607892002567307732125515674624006527953182720], [517100965719471688433459946954513565417957560036796594707267534300623526563013830, -1332258119220129859177417802706317337478486135778536080090431942129154104, 50752073945213125527795748801056617522956913815059902229601536736340, 4008875690635946683002612146911545169592568695312332467723783040], [791360078410750596635698131983912740202334561907791278917020850820495137106870802, -38709312824442051858116687022838658946893707532837365787476058287387200, 8528790581032832542763858178649255059143239457435752604261366041440, 3959543453096978317006036532061995468071009843777666659154560000], [-117055520474056239394117565362491348568536911446818295917900355594707326165825380, -1821447033990848773346900115967252762213103702690952899848836988715436318, 49472140750554466503852982376195186081838468444672656640500615726253, 26295436713464861411382913081137049380117448106966139074511959040], [743468582079742896771677336635527836977840598666050369913824267591031998167584520, 612584295453181531037858113842272294057191833179891554590407813516150396, -16407525206527707566462701893906532290618473486769455021739512793018, -32072289661600130026050677171140607576605350346825376084162112000], [1054535243538596722018343506100524046857526428065452227313603433326742652910005700, -1431759540898088955462157453446815644916170757295686589446105847999788114, -67627151252853834763208167025148501627874307984217971792204943077509, 32831032321627876676375469921728566934831358060017199193136128000], [662485563633046138825712087909388703458661897008830108645478410403269994241082352, 1341185319965188056436185718553758139972191726397504493171637381364081800, 116162187532847921370707093923497494496750166812403298524206106780980, 7663994856075975592276163099519951514356786084249451588407270400], [-280253300798861569934261946316535804546584034599084639489063880280617002637042200, 7007586429542875095006991313690494412210207126935937591797669833686471052, -34843106791304603702253849235842148320373762993391051733596153913426, 86070469610657777845039719988184009526124253890923628687124350464], [-1412879074211502632790563709878482249033696651973676977439801792528937209103816350, -6312525576781013656230282176303325086019009736653631363166699521041247952, -63113562199806078701581504274667598641520993501290913796630765980104, 68393246460373861888498894698609469261100679703613263726404039936], [4216478753743220178936758364818869406576072919579325924414960001791962819989511770, -1877495609482772427742006019436298744354461409432407402615342900456425424, -166804392992915914613372264177595605846679142775982602597329891378248, -9102920760114854783739028493807424837820231348254263473246083840], [-2323684618631846674251124743428572435430514788320905489632634946129411870148805498, 10992715907178667530837675095730064123617595390379953354053238590199109000, 140535291456920136082360921750898488137148607774321219506048962144180, 142150252634547077021420230557638027072424682517122585021903228800], [-4559938108820609269397656842675384816323984227233586179000572965523895306193912740, -16185038450400963725330159307194691460498399784339076695086499309954805374, 104471431523102655582351430256949448549814518267718891240386980818109, -62325195575493589152076093400340671586279870008189558176416814080], [-5034833877889212798450132683721194183729082516897224566668817999032420308922287670, 13484323063442917110743951858917971739267610101250945279413178724666888672, -288458994737200521316640012861883035132917964249297080081027738098384, 12764051762675512409991151133672727962004629769230143121541173760], [5573310435502654320748250790487430811825001041856334575830110263835321440984445240, -2548531914870352011485158042148056938558434185148091782415863965677963164, 88711951747182816693017992786238482963497307746746489444342079461738, 26539849387734617201325167904256985442802243365229885367941941760], [-134442235867659492669540150203126674013238853205256672479661182214231232291572348, -68462188430844882390160625860714220695685034195129873917928495057914560050, 356328519315876529020605435055687912064083505352286847266186470100555, -197471191733241178264223248928260058311922624604895756643023564800], [-13958145941759401982864572110249736551816411599944082011582120857262754939229979470, 28578842579730946496253619559229388818287486505403319044184270438510702576, 134295547994020380055087529746356418326489711149838539466259212036120, -195235609676896740300332599749758053358014338472654756719197280000], [-12324681988394459649906438205430522574336519154264457780733647262180459374568737880, -26409824137993783256480240876529770983298393864502233221896436651338625748, 850995461962939899215267260780642416356803382922203774626255320004158, 79471281677347040094396609422099321803015703392618847103841082880], [-14593226934609844890126762406590166636303672834859288858702711700878837631884724448, 9156652600223802287426990534054719725734228748765099283261238502623372400, -102391862517769733811036755403658110383149403644224280131189596278440, -380958895170481447640837471308710536236807689703981828053809817600], [3342650718083329927315483219826108959872720216120297901259845919052265090078740110, 103918013095357219261400556567535432027748501596131451896378171737240489416, 652064582615390539000933421332620860760954566878377081226320722973524, 127448530216625872003886378673922017610740795328626705861097724800]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_1_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_1_56_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
function MakeNewformModFrm_1_56_a_a(:prec:=4)
    chi := MakeCharacter_1_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 56));
    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_1_56_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function MakeNewformModSym_1_56_a_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_1_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,56,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;