
// Make newform 1.52.a.a in Magma, downloaded from the LMFDB on 23 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_52_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_52_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 := [48979992255622025570313, -23954614981416598, -495735060514, -2, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0], [-18539821380123502730388, 70872137420108946, 93063836718, -252006], [521672957126789442477814692, -745977194049162568314, -2376866094373062, 3755577054], [-85368483888402915793673001576, 113767409889319937410692, 368681755057133436, -334830962412]];
    Rf_basisdens := [1, 77619756584545, 77619756584545, 11088536654935];
    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 := 52;
    raw_aps := [[8189010, 1, 0, 0], [100965943260, -6677, -1, 0], [303528278241889470, -2170290676, -86148, -144], [1641583011037813117400, 3775025640302, -224454986, -736960], [88079932556804440296061812, -2258744929721205575, 155930790349845, -59943070080], [7684373873023169509005725270, 75259059392487711692, 8796829725936700, -3042585439120], [12038006481650529993783144532530, 12255426143012515938504, -5095661844231778968, 4845742691513760], [204394663679275560421646988276620, 2124440541270860939912967, 56753234257291972779, 115731936015363456], [-13610636332198937100995628129936120, -14461475023857043187640214, -12389154917561681692734, -12037007883164961600], [6131204426544581117460509786781594630, -207048210308571615609984805412, 6860449691666234300068236, 503573784869025810864], [-18503770158222804112145439779853873568, 613684499640754530993088441400, 18223475102548557265212760, -16220737088676132528640], [2305824949798639880168727422591913359390, -150878264925728963101541218971492, -3495228469703684674421287092, 872547546976920635083440], [36656643110476033857760106217580202912442, 88047773471776991655435351448400, 36875231474282940522710198160, -51278649474682943981346240], [-95813350937665891157187569478965077811500, -2433519305317220573810480493456751, 122396309690061100119227982733, 99141362429343987675872000], [175810531448644045480601522412226231551120, 37928834030368804068643787838811060, 139825165067107394696235046116, -429343531705454470213104000], [-11513470364643717882218407170091149879773490, -268705933127253227427758592929868132, 39582588497972893561470898404684, 28542078088409021351369096880], [279791194896048154663202989802317517499126660, -19189099540094117649287426395814621299, -254297031497816952595502617341543, -227087726192527724243531085312], [856712126576374588949825635520456633200329062, 22365653775104757948960377869771371500, 507017209685682084577503158254300, 693764800522141938512593410800], [7718784151931059540204651925534854542309569180, 202404512039116857776998826343547798139, 6982265163892347357596037818343247, -4782449624805253053986118144640], [99222658304294643238062497273492611378290834072, -2469555509950714331452499315707938449250, -30919436244008243090707692577541850, 25220537681985866051121719246400], [273295412550601031920690023140987208867225794330, -1370406108793996461565671852125492872344, -130990290750153410063929040138106744, -3742289954561874867619972854240], [1014280835507090781038634491738875996068320407280, 34027028237638156641671910291492098034668, -257616868124178018393073127074548164, 328943806453509639526762819823744], [2628633525253521325293902650481864636951601841740, 5157805773519742710658857852482801241175, 1462715793589079977159684285059265467, 305415235523443064335719517440000], [-22694431195047244885935488070971013704210361181110, -252924179992759957986856314866126839571736, -11523358253239508129245199119441318392, 6000897023407252756613327353000992], [-330447014235876901967365116322533681504830747358430, 1964124610613202353891256947582564896118120, -318943538544377500436128990452727119224, 347737602286805600458017784601120], [834977525226242072201267454700979331022861644756702, -1359239716510680596269071722971665590552900, -421481683409372849426442493804574295060, -253174918449554656605990198674750160], [-630414722672684175552972433771383030363060139672840, -874536935565849489175337289576987340947562, 640357217152806535936881243408240545854, 631941983257621890755381300123558720], [-1092057038473814863921946409919262679355873577390700, -38438440617130375735374482908593720655100703, 542162261733523062253945930311002615709, -61298903525316021319517676370350720], [566951078316830777949327488854193897386554118523510, -129412642610878807798943409474099222569008644, -1681273326922606902085982558904560018388, -774017479632767325879533145351935952], [3291697593827038814408631423230695353989795981996370, 184079992164913346234011244919687603939645632, -6258509650624175269097993139012249522240, 8431222211136294040546402877854836480], [124362414033187381911085487491510517160617410807679360, 5129053582305752618581726888637958168630473376, -155211181961839263315805714799280017480160, -56712138957620534481010517303628015360], [-707911261787751656087603024756670250901203420109116068, -5228560168148412881847602672444988122747994325, 42857545472399588426141457593476324645695, 62024287823926177108100069276101883520], [1842879632217843772959103551297677016602292132422908890, 17377561286955957204972548407766418647984723728, 263611405762035174640353284586588701029968, 255486305572941708822476187202101376320], [796467592638722696753714749276623013275365396506986740, -61812978248132393984327040407268312655891501831, 1404825931268040176444898660294800882723413, -4713635940634608143951033662577813248], [13111672435949037656568176344630965053787613029013978350, 60496696343449618000087973453329671570140472140, -4946450684215107288109465031389027867996740, 7393201636100054305496002268959888729200], [7395133681015487007668870514410184148783699818673839752, 195028797919405376199242245605815274016299115850, 2826751897996886049575142685332871544883490, 486450370226969866979208093584465896640], [-75775391729799215662800735159811514434988460818104483450, -44361436775055068827799936879642928758867188468, 19013643465817276907103334926176928317437564, -12202837075324414227690857532647378024080], [-45361452412270989139031307616046033297119819587745786180, 1297352878306474881038934419447561093312263098627, -140684796444294717035962540733836234553322825, 4771387482586006335891172399243564304640], [103813041293113440589032856928173283418483568614506468280, -4421456590720929133849013542223359517966687380666, -187289683027997819023386571984754063503930578, 88434184478007367257670261937912988386880], [180656500494625517687401968908840083875567464221921848630, 14399661299217590861451584281230694008702875082796, 91164788831298671744671564464330105220717596, 390329242882130748748663735262602424083440], [2941981385266533451848682393791334150680262874557370844780, 19764777322760210098131367909160950246877479611903, -474213616833540065184189921499963201440904509, 231136265811986005565678748933660865392384], [-739387138901412451461894899987253701398756015194346832818, -31317325883829440128616848264838046589230947524500, 907681885480033951595480263344497007257060700, 54559306326427144103063612160340368745200], [1327862621498516346472345946688723738690940777757278473792, 121195586410746911841287972610676645065391344115600, 9436244039027383348680254564368147605103548240, 715945563308462000868323822099946194000640], [2096908777223777790011457805190597117401927598187241808450, 185221253544634431488555303288627590614294335868584, 1335612963715889791850229558659123765022522568, -291307691329403867549087424552765839277280], [-27901422413951301524254909961485348073137701128590591452930, 48392288736258077703461234146363597225766948351340, -1736635784535402893981938193549651342102176164, 2123424924533567675800579702971795156534000], [5513722827512575540871837219256390326013401905113040587800, 515096258294016918798221313369608255434855872942270, -7832431010269498884479552800477290109497773370, -8153785007873795618715494761021418771179200], [27617258337123946542402798444581015652057709859558071716812, -1071905130278734781467626734334455467990803086694025, -6512753805377949350793435484468919160253118885, 23415600285856654019413227625810281515344640], [-134121768565611724119585400187340949545655746272261875143520, 5768136283545146752575271211273186853141568103816, -63942212540615853728219435863304538339075082904, 230191681387639417776368304643870086551452160], [300107863994339425215088989956820453763192432053090055291260, -1229859632205928102833042550584327217077762458247629, 320188055091608191188852413919441144241081610535, -521334523041847861425851450186536409697669120], [-797584415845202776990950728909138364872901053665891586007970, 1650251690450715184770979585108250841584287176089708, 382881531144543147647999960669377869237852740956, -127780974707452552906408912831199308047694096], [-362772633837698981014610013235909924508131284486656995010310, 5797804423350052812655635600411911588583429564302760, -752972222970880767631497273001276304426723694648, -151760512291801461493110339045998616550368480], [500647398970166288293260689768995571512334241674130525420240, 36267971867119119405419073589390871853568415528334404, 2177019239663931068203396829720177725085244098868, 1311841751372498237501691177059377149079416192], [723731796937320362912666533140452157741182492877160782444242, -14969645192691786867877334618567481058779225166243000, 1630884683033737454938325712352541516070041741800, -1067462953508045096962735028466506747278895200], [13153022169523532348216245304438496620836377189349746115725252, -206192872608825953279175199695850756134257348543347875, 2069957683645926599587988905826192590419431094825, 1832268733884802281374944514832777114518899200], [7820517318888918972498329358020971478771280611028394413077250, 350666043503137055113241371853423865314408208798205952, -2845203221616812114984236048284999973827174352896, 251095610829273649115144793342910949529262080], [2802485211692919115162586482792549027464268621826739252040920, 280020571617495072872706130433221421056572712473064942, -20322238177789437284526566282079771506614027186890, 3657336618885766662765117102169762914171762240], [-58163069158296255881857270946389244835376144945404727126658730, 286601283305725823934411701876457702246063077132108892, 570111779315475998876143777331205358511169956364, 15530998791978244098106533167192791593048682416], [53637843784666840364048144082474283166041277498407808022074672, -473710289386033090690563147406942323953570795441540100, -7409552057566405348037399083391080086377574500340, 5759482475884038139163726895142878948133349760], [-51345971670500016477639904112984168552430447889912926565670290, -762187148542767901395173873439761797896955434161257444, -90228534428313826781210176652088558478649845827380, -24601365213385999954586910188508361164409445200], [-83952011180828339472511728695321596081511509772827498182099318, 1122602010962803526776628811535459596739508713494147400, 35999279307699501874265321227180396222024788393960, -79738921631427798208118438631885601687471801440], [180071931595764669592713873228100119755706676372594817173800740, 327654895742392446610261238780204941048809342177279605, 44626755677838807254836612744667452308280907967457, 69409291687192427999448131269178335680437083520], [-540719754407051035259204764663177827994598671423122524773274850, 1555327291705908653581706863946327171262263152663774124, -269699216899123105916196978902182856229231973586532, -125603861119114041264512367046874507524349671440], [-31737928594880511507064914982545945034658590117113697774330900, -42688301176789997615041990326762882767362917771370651713, 805207786101006082011006260159674208371669284794499, 433734302511170450636476394635157018239715468160], [1799418957171938451190011944111398721872435750869183279016772712, 42276184270279448641404717275358100385508136206434967650, 428488932883521147450419656932699112572096021237210, -54163669356568453100081437185800649264226117440], [-3648298910076359652225076862572351654379238263097433465969252630, -214796109740403282561215307900059313302431814243088688, -1116277178617723831654693784031803226425787978422000, -180403402549032896112119705605073793584704600000], [-895842864584016596020214038992228208239647302505957040001231770, 12776723163207403296258626865447438096637392939450582364, -1436498653803916140708981917198361998938871028107508, 36944380090529216472829083529046845811281602480], [1426274306773117169588620841491215436512956285617918406400820532, -245613729966558926953260851220438071112373446169079961175, 9164517431391540995846707688034393089515216823432005, -3300626846515041980054725421855330481024605384320], [-6897643089392638611375384218449062833923210778058908604089309710, -185480807720200409047427864144486322346831608801083806432, 8124458679905123310925098758159445084496319117522848, -3419962730914783148095242940649699556591921842560], [-31219115634500091332240074757597988175171916199957072420358410780, 678838046028612372759446792729888861293791044750906605445, -1129980080020432665451331176276379457651308785026639, 258584798087809807580340632712295166008911156480], [-15109121903521146913818204612135025932079926907200542225187221050, -703094093958293883050571820549801040602601584036611889540, 7206725768861675597671350946209576314756748425446060, 232157895825782963883306528563388427713544259120], [-9119355918458290273960367971934491396690809186516772921226919390, 730579724896042565477154828390439250632114363406991203488, 50850087684892053969460581992715803809140275756522784, -16431548470864435025895138076399122783107250019200], [-41353721175459853706306942026750469059534727361080854316274360840, -630389342510023552336338899153720305816733219436912711594, -24921410679033467756744707713090845526235799815922178, 5647139756307289747579512406536116161527267379008], [-14033460191648436773497444655251730327390770935724478062102809520, 3486094666095556764229047336558800665868144556373291402724, -82539907287038564958044171299105681920710374158874028, -3707889668083171172836321883891917549283351274880], [286339103058737897382144733645923644580107062470962342708349503630, -2738290902434799053525900964333711996436545301554331907524, -80768383139734733205621721918332576765088676419580564, -52767414374783053304537437674224102710066803935440], [-314836139498458863190123445399415885854607617511685453890972396220, -4461931595959929265901820277331247601566636311047568538627, -62715211319243591936618072631912363407348934351503799, 130186146108031293201951425091367067089581629624064], [-451739176877245552219946432337592560039544865744467691793580786560, 3044930695132869298478539373634377972162633111972877871520, 82932396912512933459231810124467486997376473390150432, 162942899765604011390600072025434617374234764098560], [377750568657890512271229816254886200489292823245341993397434268990, -6102191691887724646182758943090460897974889470340492219556, -504425633097779318824871792054756306079574257753517812, 58828763548275913738845330529002561712891013253552], [-999721469056844352738831394853373226218109200442365626871911442730, -1535911391932839255532561378371991810258411558260182374020, -260522104998484572677027198778472171727767598067156564, 284474455863775905521513430386580571038468805781040], [1999604147727698254133538955044650149267458099583346675721467201202, 12387132590874286210915101198579755804420863390054751889800, 938903404691644818621220856924955784800335130619239720, 274979768869588815333673215173331614909099185525920], [1512764142922433478787741092781569035297840556847779918061557529610, 56295492597504770742263165932210245711194691935110781067536, 1001567552669411592645970688328669767492576588571686992, 19467837994955684227279969988650353907700511065408], [2264500940186467920364387319988612394910469818525752056767455973820, 31689911340769300782058923489473449145943941807343918867107, 978515985495569640404177178725499616501038600846475479, 1613099235410447102050346201330919851429534138176896], [-463650107971326882011158566827520128357003898300238909405298190178, 40014125093873515313752284782083940036715369145090849853900, -1421475160387385128939915006103440868239358896276851140, 1465579512480789483766333046651789978153290424078960], [-5970575690651206574350433683947529152636023627680900485858934230768, 17596026101625859378701078149429782058494198067156538801300, 512455793139059894146778250224920779334037302057034820, -725366176790485901862737814744706068081810286500480], [-9416563929840751471172339746653619947226352300103984004307932764910, 190623554144954439122848799362334266744586332815280220904840, -1829032435808624049500605974778515821723992799058181848, 1994846211869948479729899749044984037322348390487200], [21654991100280082286522646010684115184850690741038655757919609726440, 34062563939269632156460864799012333478216529512977725899074, 5132694453816372233034855384912833550549197905408377658, 2197483581310789797314221616163306676983393037506752], [7028277912353683595472016457039409017845071138426887678875586948100, -275728253466792597912951062453592143985529138064749838114291, 2012312451043867771153076986629422075096856503767555353, 4452626716147091039650219573891901283198585797182080], [-15411907225724155227313395901039177558808887531517778531381332994750, -355143702332644259736744386042942477993911750184465462225880, 14124539722064311812338112049869806130396718517612249160, 6726399790532344632791586192043428192816982990037280], [-31411142439493092948321845449875256202011885438737677891519916034150, 793273685799451176429460649678757268529915283698290927038992, 15769907092197728832022692167567262185003944262673661264, -16473555903851460755686500775277647424016930687190720], [16874547483869596596344064646202311433384875807203645747949427143062, 396823717928858161896364124874523585560610291697454746355100, 19561999275156117759151670632393807659113461821684952140, 1851147687979063440940185803451384460167557469989040], [15477959127835404665284797336319542776551291853099566658101738609520, -192987104540326859781210090186337707339394072900125629799028, -29731758854139910971792511879477017606551098673170269860, 29071989132594558291717000338119548800157430535427200], [35287235438053274849194348784681956237357864214143307458977797899980, -501968951620340494667239875032339553731138972267535347520681, -5334795842883236073146796436177429481281989285182759493, -18208218675857818837928070881200199052026130658646400], [71621004349146261802089009272345159214499023636744301068612631166880, -273441334093662604156899951948397790367440552555768392676792, -54666864325367510122012432222310422478537613970423001304, 29914694132786506273488894030785513575184026109074944], [-74244065203408034302200963697906738045110309188783255722121223450760, -1423207317610074681440922906237172928915025791698372588491402, 15352480449404782222937847981577821400377398348284149918, -79004451645147188797350773302195812205189148273856960], [113146454270275972518715825741634839828802286896347999961110942684692, 4346932691602374754628099317763798439729822848812195206233825, 175290098512921237350911660794368855410963129047093096605, -2905048037857824163243873595394262349441661511710720], [-223732305114327855365093237512978950042797671301708029012958570118100, -5911120465112394362544645794457802697368766670476088062849425, -51398187187495726140035707429131918694553462614437684365, 107238386984406584157052552440034290960329449913692160], [98118389936859398279079796069511485846730880638730389774714946504360, 4911844383594560964008045903224961601317973464238077862528498, -249932483273707546755821153872969862038673708862863516886, -56804114198638143588554151964967538231147327814148160], [450805186132457465169913334708623060066672483695821815375803727852710, -9725481300205617158472435232441444663297509837118111047966004, 501785627350567598477684205477022911762884357615505706812, 128595645007861330944825330773874171845408275284325488], [-295623849110327838359261625974855298679464900439390878631928153223078, 19433992164876456212428437741677912858789752059534078942440400, 173404498310821072624169337937697893419089037688411103760, -148254912021935886257889824827689453700942647216200640], [-428417419786686698401502113688601291480364059120194981852713680596620, -6554555576235488288877596213412353448305222424804448554597639, 234839942253104695683085952226244932378680566422772365141, -403576725528704569489618061016465789285581453830454400], [-3008869312799453427373255252459405877700321900074947884592714542513658, -69683172833226986114733578622988721940245868645042812419559700, 493529800369186827755745893738525699783821429261914579420, 695102492489329286409715368687104592453657736466235120], [1785506706363446077813756882709520554974832579082599685803909316642620, 61008831372441146625687851053399075433619323913479626881180035, 1698904226056182591932432869722357148418833670577997095991, -762502289335670100169278587658664906078583564925558400], [5402799494677338859458371326361698122445144276127105141494921361268150, 1177845478300400091163999055567234796962543096342262482904012, -5358163034335585151654101861273700546295105153972173423556, 3117664370774031595347814207814063331519446662867770480], [5217009667579414700928440550284627454597524689072222495150011720247020, -62964923977817809598950840578283828596474721771332485922237313, 386298069708236175862754623710948667174432622535708666435, 849796757944218984260295011768789025128563486992293760], [-2720012119076497477748135029989135628227390815580280939839802530027030, 26141058106688278295088868353794569254513451306703216773246672, 1623784746454194031239396429952074747908826996045451559184, -4782637669191358440302462543407354004372717343882600384], [6866709863818283439322688088176449533324918364820844685127106088720772, -89212411388330821072341437990194940780332599698060464282102675, 3805926450383771838702098333407517721247685631265215898105, -6863214734139192362117583321143940825040879710705358720], [-12352254887011135197499957094586347196927957422199454339130895331536190, 18547039443301681252346469985555733215655040967864141706694816, 10809935327636618298300263903170941771805384750905968996640, 5454639641203053730865011912940118535797395828453911680], [17197615863999673895554114276185291623703096173899448101841186037260340, -420923474575649792122773841354048413371030357229480404867861207, -5877125848199417030959367526776684636457578336911188744507, 5751451725554797372667192262483300846280540260814776960], [-13159395534161303668913264959049021013847424572129705066068355256686350, 82131150015794251414579959438111702175579939623314587424238144, -18311617006548179681571707725550901318222837092583441531072, -8585784052060668089951451869281227463019118736799650560], [13337064112320202391830365691718868523388700588472199271741805186528200, -221631003267433734693758235808603707214197743604660476129452390, 10451092948558941909844806119324563835361183645581661141810, -13385716223184621102073694287153566732866633826413628480], [-22565998988265428921607110164346174320860681450615635873411852848553398, 562528731347680776941950716830178104050255011442292707395233000, 25932059618296785194020991228692299939636475216873931989000, 17324461661870673325548145721577116312076233121256148000], [61015047845092708232749250967902823340029004593487072560989837799975200, -443069988904005533646730546050731451904281672627101415489714328, -13573214570299002958064992890997596158709471592313310144056, 13836095652047038605705517421314014786167771801606339840], [-13550105478381438404914600124687827315254931215161408256831245332912930, -1222139769820526944460676472485173563008821751191884966217388468, -56721605803084393320069915509618371334094319351051935515460, -9869126769492277468327098133691572343878106463900132240], [47319643520362450460642279231634315709863175797914460556172667768241530, -197385752079724375181934576983545387865277483929673480796397176, 13000768866521265653312432535543873863455489359729630493992, 4639526777367040020830387122197289932869919884035604640], [-124728439258078805654774628590314872745352928209601903391327221535439980, 755393142388634587745351750882982659608653194125817478453359777, -17965908578749851587989392155182208822035476188239272871331, -9432798258131461512961430978910208924623941021319478144], [-52647178081277581705331121418703704816756418032609174141557044169463768, 389725956327379128884209376208296688373277859090119271179504850, 149806244169169708088278578645914024902786497382198726282890, -41908650672658511116011870783852539664595032841102800960], [270070109304282087728101122186906001777682106106770036906777897430330242, -1023373372345259817158304431399850997431487878630987314341429400, 192075319020199879739309247272179944642705357320743038792840, -12470063841589281274609436988222502295557815589178465760], [-467007652755791779865951598448857192801793490380872064051526304942120100, -4121328825899342820783307758460172863421020410957147133867095061, 18088237135249614384152933851589531838530417083917678827263, 28853386528697452472082995711721968751387570621705230720], [418953982391818595397603722937942849064570231712882158793239395590220120, 2287100584311783244359206267602111954480566048340809323441247630, -107321268003563173037374094252822852722983492447369375080874, -112017011335896837536546432444488138435122265999343824320], [699528546768997561070457994028827824544204948583506845440509830277181910, 3612341668380821822471901589632324280308599170309554872644161308, 38922024230520670139636852505347182164928547309901565551564, 48414806093141693421089873471930457269618205662147905200], [446241241625457851374516574195733084936995287034460416550868429271547660, -430335969488477399517295248552618829643467335417184806943720889, 124900235555263876031909061444123593996829868160254545412587, 75859371279281711964211430035765601066825317196579977728], [46153966539498368497067124396376917401008673146738177589652765391758062, -5492197128957656996909641688865909054305444292330227213638398100, 275439356929817546790923289246447748968026511103556537888860, 28422609183548058842442125634949802176912313484285662960], [250575209672805748608790672196906513276920584712468044342250058904296930, 178466107869233073128498868675431008295226244087150395775632296, -322101990204089176679633503046120261523319643946760070588984, -178426261848902414458139109105194782489476763138483030240], [-843293862577007209668665340237800436339571264438453162256290763773883490, -18458883017158480245367923733544713664189202090784702302560265764, -242432835792167898399838569387062410389583809414589355605620, 106233000373297049714572010172354577983018344797361669040], [1740696762032194177801639034194041820950567341729699657377568914775609940, -3223834562999368710521721571211099264397748588168583946312832335, -608607403930519079271050192305097990451982058636219867766483, -500551674885482236254285651003310948705853162507762626560], [-663639571276534042988194499030740434369154076656752888912200056793506708, 7623294179794784113036988424643106335874431208700379387248782975, -146298417894584489398176513118554498990160809948357477265085, 524740111473872066564960103289943131041658433211695901440], [944326553748260080081047248635391238026459943565798399451372787604176102, 39137296564100978663877220055743353421299342990288301320182265900, 679059488634353391694531788991524972251403565577829493701660, -241117765662700982739178791816394493035463872573931700240], [326623292467015697667208353492493684620651164045087337889375443056826110, 7589904243948961672766034751822623184937679435951779875780497116, 1807807542937857793624533878224289088798176241765740598651532, 402178446178630409341357186022061551711609893447421636528], [7417453514716031200944551682764832043362440495368867815820522413769707120, 3441018167440493882159287297045214716036567090370164007735697612, -233298758719768972487705649165236877030061016612719767489636, 492998121039033300699291188222083504243837736098013367936], [8995301376165391280914279605625954620867423343048051128761860587615560, 38933651256067033443404436851450741941204816882857438133240737146, 3579217403116825869720677701332119435934333933904826789533330, -2514062444872454548852449749582341797286015552686879630400], [3521226926963200092282520387001319579764241517972676217054119039964459590, 89891345108083074614556215862009026394844881555922140884000376860, -3330932246397112045180396282298912397215450183434960407406388, -1370313996242452872959599991792624204385878924331320387920], [-6972106555469953197596372664849044929646146882869571740034623465199741060, 145849824685243666864642443720225428226924533690251368799152025779, 1298908647504805130761976589529505012376380973509756538163623, 2545316336039943212025584528867717263104219457071384732672], [-3024847795765219435828301281414609834958118344119077518063824124982136200, -14533631135968544052499041890027998761085517038472148332995743946, -7832165218441462896647245197490647049869560044062697111557282, 4764256903450064524129932083470762821230327229648340799040], [2803260799486201447799155502408469361318515295303956673544273525887443152, 26499057231482923453102503065399722050220144968301052672610104900, -2045802681187551978030947980392530968688462260502817433204940, -7134468149887867459538940330290974129620163602226038643840], [-3488145556591757075225577674564408052389628937012793941513537724261816050, 75162370200820348669723908423336036093300253019876346583944282252, 2082403040574543614475290682381460621661421058271171509439484, 8493331967036976712607928259281821567506002375567785301360], [19392677035694072490339742282459130604463113964964456375920598400006712362, -102540759260096145974507087322160219986110129916099500973576612400, 16973736324821130904650661547545079623823869762124102785025040, 315867751715027468970198628826718540433509423777123685440], [318217372856879265734034639232342559399749848562044403806410396053824770, 29666727163095578254567098381240749365191564190166802196097729192, 25438121914894218961150216455882944785819499355253570261950664, 8707809499095668441939042700720367482869441215662376330016], [20387111715405118016058527233082614921598257509056983079369905028657296830, 331782493631376269628547072760085730769826551692982077528491339036, -16651269925435979918815040402129172119135669449753337771274804, -12610594792521565440818252750161195549200016257628446442320], [2338889898308624350028081559774728216341981974895543892451188990962713740, 403348103245157684938249745216006230829686258505375820925225761383, -12326724004772783836426854789348207119214669154678606674959477, 6336920958468805866030506572146652670886661067179061684480], [11571252907344968286391954581638626604785537974334589912379200175100894470, -899850169147691625085884343693986471502938671519344736612372277940, 11549456340803690175962690878182147040777110893850460800717756, 12791252455310363739900427948102961969249792568092464291440], [-52428359389854926329102644473801373392141938001679668695267736862220037190, 1289238450773975525485868236833910797282574576869877639987209364176, -31033931691873318731108676365927899428958044909767634902420208, -25884127639802191643362118694703106708544971157622543599552], [14807558461061128418327075543685306970528150484930453181968823771636269012, -1226729240153273749773284740066331660263085094709777782294538556175, -79958126068367215840940438229059181352079798214661183601960595, -12290751528270047315722811576614699164754152805162739905920], [-85178679266098231523877363169122410143958381135061925377654491170199062578, 573900516289752004652114183580948126473886029473567466640317559100, 6420030810228088722381245319861839689353540633772248279416940, 48533648891976443220581674857599889550094656277557218177840], [49427422146152792897487937823857052754885731032448682040354548611844082280, -2460007760297468153868891958865790946977369953775715732723929720094, 36871183121680760124544275080234565309723407611104807507498586, -24491829068949895714103039559419270811079618976703940682560], [126922007087420709738569882302201837120986147748710892283181329657299965060, 2538298862459249624259560211352385127284232168655286171943710277741, -72178881822572972775052672765421286108026739904164258190972935, 73243360189498589020048447821981315925680443742328536977280], [-64553624648100954082150874182433771975708694177513990819787198170692111770, 964377910012169050671971317197194511904706543801255647295675317068, 136134766869512522356698547453524231454064332582693894742557116, -42377940373419714608236475375524165077888396953444119064976], [-48805824095884875733754732403935857794328593029158711816540728597295430760, -3149235569488486669992314242697003321129161263897972625378312025186, -77178200472475614170006756000155400189669817448676767392842202, 23707605945912738603685087718122239880092051053930454196032], [-57208685568077716024895184804757827438625030495672844334172121075616993490, 6481179400440251436732497548726521752240754426567706826384894786588, 187229401552458902690996857026425971558832289824754913118064844, 71134717219291834700492897018319923185173136882080182314160], [-505427266651945089193214141725482412013508865319734992755606793680379309750, -4399725528517684199220918964502043994538588727122452544694413271728, 134169638869764889620457248726103113502431350920623853108158864, -141774789183240360576277346014990259216655453860389207842240], [356506291588874456339888441976915417511793967371628098473885765616305087460, 10009416474243467319382563591633016703937583321619401250198099093381, -11521036405863470610987984276652970781930096258593705187387983, 156066526467421823120025816525348925168955720607539110339328], [-453627657121831811548385663741503477487253268854883021167581654574640243680, -10849641297326835515027429593679799765887314054820960197888105801368, 37255863002577191179556458482495851617253185300125288191069640, -158272057153572198955348139514785833169425343406989598551040], [589133238032262160255297007784308682818305580046960745833527693653378792310, -2313218421190369254194098917652026552766244741700218173448667527524, 164401312066830369883622478395185556859943265563404050009305420, -368038727178491867753592129659036613587576811722467412192080], [-172654663568253730699836842902223208067074287089186728462626762222349452718, -8640296960241397887551120132283999998934307839334751252186452293600, -55251116517338784747741962276377332304282760425267754512806240, 132011257182973032720287861223997906736763208129752025887360], [537690855617123898867493525994146672124685934253056373718174951365037319340, -20810796769867761339394241831886053798901156372601009797545577935505, -13473129698859353492461488810468437994333330884453117863598733, 275186375276375891842468446935757625894499780552430058696320], [-468907599882080346080722052193392428167411504034821250265137003139415635160, -1577422800791923579814042087031604446028168843989571638988372373422, -463583765614011499271462682207468684442161329124269943005926902, 351007645791797619447866577182120296434203492233305800030400], [-1922020027817153915069823961923112978287898648703668184720527001466491135500, 8665233605214887777105907315531571037623045823546829146050801659257, -1386124202573247103888641098329801953220711475206021317675820331, -367711623810248377433593954192319230480066640890425989862400], [1184913223375988076382314825056727342842937827110014029023746940205805761712, 14782723972004503417984436762118263234186381044708116636666346222300, -1110089837819579188798590767911707475894541054392413446071826580, 226813985425469232075713272226846177599775752455568498485120], [-3052853889792156939940846561435482630311783792956658080945789372085644073080, 20252469316512548622751030696619321373815979367346507252089259343882, -1083281178193172081166394979471346857626116250609305891397368606, 523270361749393215074114806982839351021299537808052301971136], [3943664107238839841241223659745919385222066678447152356022058205026014204130, 76646751099226282413696628620396070545255171664286055532630889196328, 267885254324040555265819054303813187097650230062177835292861256, 1109498690715371742861839247170294816245425366668798107278624], [2865056304463568730989217929962261412576194457511250514150941853505895397690, -67237833251364911490535541901324457206783432772180042816213420010712, -1384013865978583599397332496925362771877059973925722516413058232, -569458676101192730760065843165423153071065845628138951825120], [2715266661580644639318690520831890679746096242993347234424150054581300274742, -13008847577970555782403455201989660975793357849365834673534594949700, -1249619195036390999133187248293247771896697055611792858748437780, 167527897022227229682635189494382467585506063746172184879920], [-463979731517181452007598374191549717477758695013446369131452002336817989780, 79332206801996413529259810580686261497143980286815626375056926202015, -2103163356746508063009941073008229843632986703021018675654694429, -616388829281280804379381575059637268193640803785449756416640], [5287084136336384242835588185754349043938554279974446162019673995474000162410, -26887270689526913892813169821059417502247288906232096571453785346672, 4616785338059086997253147282514114499966542671929572668220284624, -1921577651957876499600479589369928408287729159141028005808320], [7694716836181880919418276573088450907073323096380663044867038021314316006680, -148722719744842224343295374087506721659423775334214255435876107429506, -2525176117308520971457057112711632332905736397026748277371497338, 1936634715459373859232767209576968721914912281040760096873280], [3605613595304439607843927527610114992590832068125812637007600011700094830772, -172283714264078584493627204461282865628442109527794316645252499095575, 1090467104350734346028952791179144647310103878649329448376787845, 1481820926203086009136284096538629741956609146943796291217920], [-13141185809310460454659307005837184540525736523138134801718656872333914562190, 42090837271452251951885278913307277361855250740707402692044254538696, 6108461613629241637464361887056472112511188829713627321123787880, 2821941469429206390925002090935587271690601713098629817975200], [13760384893108706740892980292476053492450479167669024786526227010222729607240, -61587519801346975894330887052220614292773778002946200399251290360390, -7920690906812542824223288607537954108846897636137951285225221678, -7424209942395432514650526081060700844556858413005689002077760], [5939393032514607810273549342682063369516563678700042583036833496449445938592, -77072337671788565973031005553974946751834576412868624177155443009400, -4649104648991959672686691413675810584281129893712665926383230360, -4718950615939451876977501003739677609847006162406895774536960], [3801600154049993304036426967283252053376707837792069194250068586808387589470, 386158597690521582372452406371417799897648369412626630846014041521500, 4379681989103685462164582061436158680494490707729708850375121676, -1172030411838739240822687452375952762796876118458875695634000]];
    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_52_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_52_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, 52));
    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_52_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_52_a_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_1_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,52,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;