
// Make newform 92.2.e.a in Magma, downloaded from the LMFDB on 08 May 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_92_e();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_92_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_92_2_e_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_92_2_e_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 := [529, 8165, 49370, 96928, 26231, -34986, 52821, -57348, 57269, -43945, 35080, -23925, 14788, -8161, 3957, -1688, 633, -200, 51, -9, 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, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2419075458216744928184444533079354566808260216776, 38603083855726975823469096272077881276798082718377, 28802046341429242845145619235727535984995364774188, -73055219384457235753540568069055285642005306278375, 90124967541444702023321372512130716942485710798449, -95019675872868463614522748883840641828469176054470, 87518472648057778923045316946799322767444923280938, -70522587341466705299261951214850979652370363431520, 52286903258169538367022394398614517400022397933481, -35583827004357279805200233888522728522001756258764, 21763180475632657844931032762891881498366507172126, -12016201019960469497405028786638114415567968706331, 5922428550343324181107566180093448420950133800555, -2590199372970666424746256395736742879336955652557, 1001908077395219454216592790744632624814691377507, -335951656904225123797676609477796997457746203845, 93946679372434964452571029034050291588991980010, -20493414199911862484685392402139014512865167818, 3121944329010074989617856130398370930068477485, -268187882846042131771490741640428884825430824], [7333366195107462798925212631362283178369032071227, 53819932462780574282049720911482791024702677664252, 100471342593404878100473789300068989353946641982915, -38968822636527631312707344741288704919047598464958, 43303475650444697154303964725923576857246500751153, -27554064166317504755179453648844149115494932805154, 17189668366437573730049217198283085607260481098570, -4407376665671039008791896541326802191681469963286, 1939385094976858744060193675160804941591466387908, 2690763180553533438349135201788905201172366678261, -3615019831355309728246434872670114444749271719760, 3242128073785948856818596386981788868655797339310, -2276731288514485295961957850040943503619021534554, 1299500902387382237289164926019921165953892988574, -627621937759911697281510038727818719034696506797, 263925850418050142648032870944062868854613308108, -91827316957188518521922874787437889677935251980, 25720224370486901238742091862009236663566168161, -4850198495437270459511678294223271247477342894, 588603425473937495466363980803544686404290864], [-4862831950390946104529490307850466390470231688481, -28196377278460391725828220264465530943297137092348, 44280399442362318970554211063926765544962753042965, 86682182527985534718697093252358768043634298810005, -117505170653265508072998306606278548624201466341565, 135858968922684023875329562176113117159997928175234, -133866497203814507624789034401186985256613440741965, 116027594361742227213333718067035861863729787501192, -88877063823667817528466272253301397672323999810682, 64750211836836803747354493481955286534924093358091, -41598348071410254927192851864259921811619428904721, 24161483363919816695416574571770641899579573034629, -12536565729299671605074731421339605030163795138724, 5753829732119620335871614448593776929661827017468, -2331867727779298988392176416306060203019164100922, 824892070639550047212625194903365621877150479821, -245153761761310391915985971757825343326774113216, 57989365041326796811415869306912587268903753381, -9589846555568493448805639975682401031119782132, 958538853372200883798073432374878104561643462], [4584207604458838417415386377723389870611482264285, 20215437182574852903108002314807601610151373975018, 55200864220371605553255043307753883581656582914012, 86305921655326316798195608507369046180055768334744, -105907930030320016936659676450355480424972244172990, 124401101414868455643012077549245862889554576128628, -118683269289078218405864723034263922039187004156084, 104109205502545844661679456812040658386876080819209, -78320497493377909823030071886236701171772340293611, 57590138248880596804561168206022986205516016544666, -37284025766520326451289668975555308867863133876689, 21900746185631796923326951434580554859994094862344, -11523121851795273590487339081345847501708069121964, 5364705976223833339546009239870089543376605504079, -2205724917580824978764859036404589593561140567928, 794841016752011030696427928326782453352116112233, -241022402586164638496235860854119278175109441422, 58624295689670665589280389461042824153755878026, -9936090367911955680776614419795302325608369367, 1041491016212115264788332444341197368413664869], [-35210690340482669477417296691265064963655546734217, -148957248325719867666511013524548409368213356829626, 43388032580786210329456240326141607895085474583984, 194147110852559927953133700820401813319444616037587, -258658137219102188485605418186641146947962026925966, 297779615336734036765283874233569341340724158366553, -290831880053265269469820057349913695656491778641334, 245290810249502391752465267445947217211468160874037, -188650978673775485616808250986574389982935158132031, 135238138108326841143895821834676293894015038268549, -86166448564417161091987714082217876209698197862641, 49523559277351970385197263667554671832087672969000, -25363703926319454402895875167164923589460183033141, 11493454722728876097235350326308014541403090098313, -4599704607110626839566414855516778187105334045322, 1600787265943381875852419071531399088744645615958, -466059765589090643776107279113053007142184141328, 106834138052158470815898253640184293766624667256, -17105254205412253026296112446242305450688639300, 1603078268802530394192195824083407124791178765], [8738697238213833004550759889323211414194513712795, 71995223808470108336496380838503721274064214728845, 241893712666231899971248903754136013865651481264069, 119586217180479973263399264453202288647367606335987, -159586347646449610731141878672202960280667760779591, 216208785383137035379912177062604572814113447181602, -224175944114083907541461322279827029688182032438891, 210631827157033641674133539409867895265049294421033, -162213073125005968774825698126769892362638630889390, 124963548844669427301933008920769691700148053889020, -83491415771436353247763604843193204457198231741175, 50502779728267553446999329780380424697787547691591, -27269569541448893352150921897005420319901464799941, 12974256207072995227712882407477497499621662812922, -5439626011859073456087769142570370517712001681558, 2000261409386047864345200510407785477288270105300, -618897735682859778754660841098585190149833666725, 153827198464818571936549760144720875176948947315, -26551758675583354780281000542735128840960445548, 2851767898558267810789177754443999323994051741], [-28121446467643603936420948543813171715060782622769, -59857527425619259762845309226102559228638362751910, 131148631646542014890065171475631990683409090409860, 287789772081839077252269998378642446544056939018053, -366408193284987059445230878937171672037011032498232, 423343746929214046593449528161666499988006362072812, -411819222883316258878511567214842060417300974030200, 354799551456894762971148748568059542861197088465968, -269695950191255549168585398373427581265914083567785, 196064601156714867475163380909475622226097608358138, -126037609709271597810735932286917177794621894588546, 73346202391008294418444713828955245964979219091510, -38150040290707558586072276625108873743588668546696, 17559477867605721589554184545557925295122143856061, -7139794563313811748665882067919476156013288523762, 2536684664297518709332048009784635763961872505667, -757051765579474053426180336758965260136520758984, 179945085788793259906027907985502067410429140014, -29862185158912664741652717333947058114879016411, 3004032679321645707917960522512471400993298951], [1265180044120695410187452391940017310844501111617, -196963086687229919923221160722926027272705593453092, -516299351736125765808477883196306097459757756735207, -29827335567219638640584420582773913760628606302215, 64968554715356561068768321880458599899987897563914, -154027812377399090361700514209693281341022208874686, 191725313183701325214011253100904834520257437913792, -209599736470780868612552187765698444200246513889855, 165373207043534697262976354024846338469281788592316, -138654904730876627751874854232238096202264434991394, 97390945176326151309424527837035908289323573233869, -61701934164418914000350970219107866009977185832117, 34729412752751177353917735729897685513332631548027, -17093142183783721341295405351779008246376774932101, 7383139786328034684851363790972014928387893202427, -2800712611839662463790819121134629180603122797342, 894090880021919868397902332769639649686855140982, -230097050697557016385442013788405188440860201259, 40888105357136385757944956891089611004161983072, -4572921471109158654412938625858893320998601544], [50540810625376783539607743950053415957982374017207, 372629626199539269055058048314559458407169276042038, 753652631624420923510383920452881867579168717322376, 333220500299809223982449846722684856031796046204105, -427582740828095149162283736927375386544022096919318, 576419431623899209041588964731290720442909319244549, -601075439340930467652109660951324140995245239405629, 574602133220699681707645879950207995122715587539996, -438408669776184291045240098960379069124271381580591, 341280250273923070653429090772410727886862751704889, -229229984251185122323446269179442752694360282334969, 139672955603661629954832771508138833147459675405984, -76086290588678616561714191146487451989615370643644, 36496291062842873405442900428940418928172927561833, -15422709516424070101768587107149243893034879934753, 5726473089963186790148295552912542318056145874867, -1791784070532331692967498301643798918902898511026, 451891832952790517662222182026398106486639740782, -79033680884131861496808138492565221632125083354, 8665798874213305136891089560913780473745713165], [-46860376738443341626692173617574276387873830273337, -498114073148980483773240291401502428489226152778895, -977692721823814691656002266332377683536070247961397, -123623269593813711715117119225905919973954766967594, 185749799728313406017049923476923588202935012946120, -351690490417357825432587539419171209849299806927704, 411143836056064913056150611185532279082748183899580, -437568159176217045345445600034578299333044050411659, 339214155006131299397349573774167105769828896340014, -280874515481925074651057658531570628240735443745399, 195769054278997736330799031506343551658076935749696, -123402108906581823657273288753504812705703475578208, 69266154288939947072569161359284590201959270921461, -34042850661061861192370003447898657201689166317451, 14692046175598478354386202101224398588167747611211, -5573698080577950258683574264290086235440062670921, 1780510427166970407169487838765097390224567584419, -459227600457547293566324805582680143229715409007, 81773951796001173295342593430865570882644566739, -9192498961041486019904518540360049887467356689], [40126603351725216714304777568295472009567875806407, 502301292858237315629370176379631087445593288023583, 1144836496489139699576719649701910566878521614716780, 429395043752824530347864517136338381131215884469894, -567143284088631929407539011470235514949577710286893, 795392267120504046466780773527698439080422459218415, -844186253856218326535408111560006621495937712744713, 815120813621678821002310530780873140537148946506118, -625360999385957925569829465179971893113588283609488, 490123809162986365699878531629520537586877314865208, -330712860470103827264744757949613515583026634543466, 202274141548080399985226484571378320579060237955395, -110509023798719645009313595608985288650816427685978, 53124330772812386236615127491260213866434914477693, -22491302339440278322461884067640563072246874533694, 8364305656284096587124901653810245126834619961481, -2620529906694602078831837482849874158697587138321, 661364075205419461033696061742396043506150363220, -115713759681173884620981833908289128108902334525, 12679937779434674480881972155263965016986856480], [59368980548660699353535082746500275424036730391643, 583929959963221659485419873479431805572478903114395, 1382652222559733971906701692440123079045613837784222, 320328903676330079175766455941872358968458754939500, -457446218824286830751810128810212257838038065387564, 715051798158649935725581513238743681433629203276253, -790590514746470315608907714013236932615704638204438, 791963353331505725436748884180201379069781119031939, -611886939823270835326380267688018648629200938266296, 489918396247933372084194372695333429940374309637800, -334907130376141426104995746113527393863890376364085, 207278280047019513406559395265136300104226292364998, -114432963129744667496322549206828225549072363183817, 55482310092845413200773128908861192134547475156788, -23664156733861145047347010038693654560890390503252, 8866913898248349107784039312693534774191351700159, -2798259428569905728809710950600112517710459200761, 711847695566289071490108737272439607914435066207, -125352867614447784736159962624018192333514477331, 13862696020997094137854844293690516405234465163], [-62884668346569488038091434844528454901546757794730, -573662965312250019564991201606708877474203229512281, -1481594209862224006821848475721316115804514860873453, -592903488016179390584395154015940500178089857566596, 794152191009127888871807990839281084226229244451632, -1096740645096490094939146933081228447663925716415346, 1157979292595761231740252590700808402223890452079573, -1108255515724756445783554371286790675877772101244885, 850903152121242000808517400860861422506911579614495, -662987633383045543795288476142736222245371277194575, 445726468621019830637692959935499201795337151809966, -271556629576810259082390311770940487225588551349681, 147788071256341598536103716919323864893272752435077, -70806402895813964191451392738131708071526161911293, 29884800044745121799471254750819091464358854504540, -11075599723942512504426931181252824935301302816440, 3457682487014471881785608319435159973171094018315, -869034857255744948791790933161797098829467438653, 151525255883292666753996812922513758733730579936, -16519276442748266549245292796452195489970725355], [-37068260260421157958512282911594172513685220319588, -551957765954446717855431233298926486761430783628192, -1600254225361117495854284404439191370402101906741381, -747136848768946226839818438096909333099916430061323, 991309715849013649003433868474798255331142368852227, -1334543898382924696906763482786462952083782702005379, 1394714212498674493185849940228662901491660001840595, -1316174966386921121548051339957904371453911734237026, 1009506716444323738110217855384308376467335910154861, -780075528064409796287677646767683306190932873549448, 521827951019710638229450024740193597605664295998925, -316402011036868506033929819317568163332401469622527, 171411404852739937631713553981849017853016037163674, -81805799013779157541196657747065495322255957601097, 34409334346708907195465699321667342441320072668785, -12705178430556604913809720074673116703434590543201, 3951390180482556495631913028612570895883355509877, -988430441398253389217098145821028725501880097550, 171646397909137556562079287977502764172116670742, -18587195836787417992806223853604621733726873381], [-37394141233741815721619738038080462322277785595016, 370487677290555236494726958659906660277865922560809, 1749129107283206592548683994848138502517236503535722, 855131175901633677420311498594080098510827894622316, -1169466298708719503397523872738262414711951105993734, 1560420590510991746293067472559214066458104897844260, -1634309685892957472731636398826150556114173141311792, 1525789693222314057711339650658197132266213926529483, -1175881551188035110645950384048603779585498993642600, 903704994524803018918457256722477909248468267146384, -602648068649988008831346257792399126650836092324125, 363974502981491685258936147630808832864175809124586, -196288428699539739729590659794851856702668150583689, 93277712084690031796794997503334439996114120632699, -39074660057784838932220039996689199903737639239895, 14355030149720401686419761816116503542347007673555, -4440066337807903744188061451419517356386065642128, 1102447389645878054625762389924024763950565862409, -190222979143600953004637453487254491731596497836, 20362417148637639980803102577617340116039944515], [-97375101062422943054299084788483525461536296901534, -938336007675135485106524749773625348206892371418414, -2022196363426013186578876359080543299900738148433173, -846820056648538182836522511222538271450992340850659, 1091513620777200662609672253929220216264233459349225, -1495334679681733663527772071905159594388607327940577, 1570886966870133899899631894825831305409342665238677, -1506740128923577117115745183131009891361640001375787, 1152723126093376664771750431561412090217188327943077, -899545193105610591860778821218828215915840942165985, 605254436581706934498729975551916913068365306425243, -369292446248871270249702830214440306278136006620845, 201358536053198695332971667094807546548290402658777, -96648673416408526212893848770076702941794533992224, 40863828835453727739995634847670511259499677854780, -15178346114001831176006312276277777568463826631802, 4750219019128881412525949064021828348682425458988, -1197798258965877161351361295565875305293005946323, 209434689019556808626505454224788177380848100619, -22940056319909793910817146227091188446753195850], [90736355094196369422169651050388519825888547634266, 1134469337606785357780701440127479956973520168706750, 3057905388029523141898844418292783002869299742499388, 902221865520192811468841508405779286866901440300275, -1258238792523487495138793943268887976229446233040486, 1855469748886583796643550471365620796925107615106652, -2011274349396116339973738444758454143902825287751334, 1968167921605631049432737077504904863661879132781112, -1518969400765418332994409421827001958340277260674321, 1200394885520993885969302117524720386576064691742458, -814279665723004297249291450476811554994266586469674, 500257719132190343620941605445977883185453157267530, -274273453876814023654210452489171726681342279003402, 132206011755137939936280678997951100115178968354652, -56096796455537868280279396455720414043611137553253, 20902817631399911201313969068319072122747009093233, -6559971252918888079731580877360734335025570797357, 1657854668754915865487438650097716783822473066966, -290355358329421925333880397620152576021988449042, 31837714159828791172890505339801929288347608777], [-109785555204651190114798210174679472312373494132867, -1240316925013644847373172969758722928177828713976750, -3447540527731089611125544918514041174439281722806612, -1541405829492138972776650853355847238282582763960106, 2045038021632317003345760239507085839959898427708171, -2772302625782583834953025736600278359102682395165286, 2905443132182412216034848463544684531202145977067746, -2753206187762267213466004325916840101637575102668918, 2112114716575508219436766962330991088359354912349893, -1635755556844155994499314471048072802815012610170839, 1095591117750637641967178298658925975172795603152859, -665087931238250427867881250131211673184238871330708, 360734035111537704924128651871635899880337255663050, -172333501538310941125070011597778903277853143013723, 72550399479065373538599384030838441027577646805805, -26814925928710863041845444712708682593525003761298, 8348556133367197701780901723389122015039929221220, -2091416311779071235079557336874472373469328369880, 363655107514525294900056830187209539987656805797, -39468107657586479168874789945117985792272409049]];
    Rf_basisdens := [1, 1, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831, 20797324654386575782284431044470086324823844268831];
    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_92_e();"
function MakeCharacter_92_e()
    N := 92;
    order := 11;
    char_gens := [47, 5];
    v := [11, 5];
    // 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_92_e_Hecke();"
function MakeCharacter_92_e_Hecke(Kf)
    N := 92;
    order := 11;
    char_gens := [47, 5];
    char_values := [[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, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0]];
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    values := ConvertToHeckeField(char_values : pass_field := true, Kf := Kf); // the value of chi on the gens as elements in the Hecke field
    F := Universe(values);// the Hecke field
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),values);
    return chi;
end function;


function ExtendMultiplicatively(weight, aps, character)
    prec := NextPrime(NthPrime(#aps)) - 1; // we will able to figure out a_0 ... a_prec
    primes := PrimesUpTo(prec);
    prime_powers := primes;
    assert #primes eq #aps;
    log_prec := Floor(Log(prec)/Log(2)); // prec < 2^(log_prec+1)
    F := Universe(aps);
    FXY<X, Y> := PolynomialRing(F, 2);
    // 1/(1 - a_p T + p^(weight - 1) * char(p) T^2) = 1 + a_p T + a_{p^2} T^2 + ...
    R<T> := PowerSeriesRing(FXY : Precision := log_prec + 1);
    recursion := Coefficients(1/(1 - X*T + Y*T^2));
    coeffs := [F!0: i in [1..(prec+1)]];
    coeffs[1] := 1; //a_1
    for i := 1 to #primes do
        p := primes[i];
        coeffs[p] := aps[i];
        b := p^(weight - 1) * F!character(p);
        r := 2;
        p_power := p * p;
        //deals with powers of p
        while p_power le prec do
            Append(~prime_powers, p_power);
            coeffs[p_power] := Evaluate(recursion[r + 1], [aps[i], b]);
            p_power *:= p;
            r +:= 1;
        end while;    
    end for;
    Sort(~prime_powers);
    for pp in prime_powers do
        for k := 1 to Floor(prec/pp) do
            if GCD(k, pp) eq 1 then
                coeffs[pp*k] := coeffs[pp]*coeffs[k];
            end if;
        end for;
    end for;
    return coeffs;
end function;


function qexpCoeffs()
    // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
    weight := 2;
    raw_aps := [[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, -1, 0, 1, -1, -1, -1, -1, 0, -1, -1, 0, 0, -1, 0], [0, 0, 0, -1, 1, 0, 1, 0, 0, 0, 1, 0, 0, -1, 0, -1, -1, 1, 0, 0], [1, -1, 0, 1, 0, 0, 0, 1, -1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0], [-1, 1, 1, 0, 0, -1, 0, -1, 0, -1, 0, -2, -1, -2, 1, 1, -1, 0, 1, -1], [-1, 1, -1, 0, 0, 0, 0, -1, 0, 1, 0, 1, 2, 1, 0, 0, 1, 0, 0, 2], [0, -1, 0, 0, -1, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-1, 0, -1, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, 1, 2, 0, 1, -1, 1, 0], [-2, 1, 0, 0, 0, 0, -1, 1, -1, 0, 2, 2, 2, 2, 1, 1, 1, -1, 0, 0], [-1, -1, 2, 0, -1, 0, 1, 0, -2, 1, 3, -1, 1, 2, 0, 3, -1, 2, 0, -1], [-1, -1, -1, 1, 0, 1, 1, 0, -3, 1, -1, 2, 2, 0, 2, 1, 1, -1, 0, 1], [-1, 1, -1, 0, 1, 0, 4, -1, -2, 3, 1, 1, 3, 2, 4, 0, 0, 0, 0, 0], [6, -2, -2, 0, -1, 1, -2, 2, 4, -2, -2, -2, -2, -2, -4, -2, 2, -2, -2, 0], [5, -1, -1, 0, 0, -1, -4, 1, 4, -1, -4, 1, -3, 0, -2, 0, 0, 1, -2, 1], [1, 1, 1, -1, -1, 0, -1, -1, -1, 1, -1, -2, -3, -1, -3, -1, 0, -1, -1, 1], [-5, 3, 0, 0, 2, 0, 3, -3, -5, 2, 3, 5, 2, 1, 4, 2, -2, -1, 0, 0], [-1, -1, 0, 1, 0, 1, 3, 3, -2, 5, 2, 0, 2, 4, 2, 4, -1, 0, 1, -2], [-1, -1, -1, 0, 2, 1, 2, 1, 2, 1, -2, 3, -2, -2, -3, 2, 1, 0, 0, 0], [-4, 2, 0, 1, 0, 2, -2, 0, -1, 4, 2, 2, 2, 1, 2, -2, 0, -1, 1, 0], [0, -2, -1, -2, 0, -2, -1, -1, 2, 0, -3, 0, -3, -3, 0, -1, 0, 2, -2, 0], [2, 0, 1, 1, -4, -1, -2, 2, 0, -7, -1, -1, 2, 0, -3, -1, 4, 0, -2, 1], [-3, 2, 0, 2, 0, 2, 0, -2, 0, 2, 0, 0, 0, -2, 1, 2, -4, 0, 4, -2], [0, 0, 0, -1, -1, -1, 0, 1, 5, 1, -3, 0, 2, -5, 0, 0, 0, 1, 0, 0], [0, 1, 0, 1, -1, 2, -1, -1, 0, -1, -1, 2, -6, 1, -1, 2, 1, -2, 3, 0], [1, -2, -3, 1, -3, 1, 1, 3, -4, 4, 1, 4, -2, 5, 4, -1, 4, -4, -2, 0], [-3, 1, 0, 0, -1, -3, 1, 1, -4, 2, 4, 2, 5, 3, 1, 1, -1, 3, 1, -1], [3, -2, 0, -4, 2, -2, -5, -2, 5, -7, 0, -4, -6, -8, -3, -3, -2, 4, -2, 1], [-6, 1, 1, -1, 3, -1, 9, -4, -3, -1, 3, 8, 4, 2, 0, 2, -1, 1, 0, 3], [-2, 2, 1, 0, 2, 3, 2, 0, 5, 1, 2, -3, -2, -4, 0, -2, -2, 1, 0, -2], [-1, -1, 1, -1, 1, -1, 0, 1, 1, 1, -1, -3, -1, -5, -4, -1, 0, 0, -1, 1], [3, -1, 0, -2, 1, -1, -2, -1, 4, -3, 0, -4, -4, -5, -10, -10, -1, 1, 0, 1], [8, -1, 0, -1, -1, 0, -1, 3, 3, -3, 1, -3, -5, -1, -2, -3, 0, 3, 0, 0], [8, -5, -3, 3, -1, 0, -1, 5, -3, 3, 0, 5, 2, 6, 2, 0, 3, -1, -1, 1], [3, -2, 3, -3, 1, 0, 1, 2, 2, -2, 6, 1, 0, 0, 0, 6, -4, 4, 1, -4], [2, 2, 1, 3, -2, 1, -5, 1, 1, -4, 0, -8, 1, 2, -3, -3, 1, -1, 0, 5], [-3, 0, 3, -3, 0, -3, 2, -1, -2, -1, 2, -3, 3, 3, 3, 2, 1, 0, -4, 1], [1, 0, 2, -2, 0, -2, 1, 1, 7, -3, 0, 0, 1, 0, 1, -5, 0, 0, -1, -2], [-1, -2, 1, 1, -5, -2, -3, 1, -1, 1, 1, -1, 1, -1, 4, 2, 0, -2, 1, -5], [-7, 1, 3, 0, 1, -4, 7, 0, -4, -3, 0, -2, 1, 4, 0, 10, -6, 3, 3, -3], [0, -4, -2, -1, -1, 3, 2, 3, -3, 5, 0, 6, -2, 1, 5, 5, 3, -4, 1, 0], [-3, 2, -1, 5, -2, 1, 1, -2, -1, 2, 1, 2, 2, 4, 1, -1, 3, -3, 2, 0], [-3, 1, 0, -4, 4, -1, 4, -3, 0, -1, 2, 2, 0, -4, -1, 2, -4, 3, 1, 0], [-4, 3, 0, 2, -1, 3, -5, 0, -2, -4, -5, 2, 4, -2, -5, -7, 3, -3, 0, 3], [-4, 2, 2, 0, 3, -1, -2, -3, 3, 4, 1, 0, 5, -7, -2, 4, -4, 1, 4, -4], [2, -3, -3, -1, 0, -1, -8, 1, 3, 2, -3, 3, -3, 3, 1, -4, 4, 0, -1, 1], [-6, 1, 1, 5, -1, 0, -2, 0, -2, 0, 1, -3, -3, 5, 3, 6, -1, -5, 1, -1], [2, 0, -1, 2, -2, 1, -8, 2, 2, 0, -2, -1, -6, -2, -6, -4, 3, -1, -2, 2], [0, 2, 0, -2, -3, 0, -1, -1, 5, -5, 0, -5, -1, 0, 2, -5, 1, -2, 0, 0], [-5, 4, -1, -2, 2, 0, 0, -2, 2, 4, 1, -3, -1, -2, 3, -4, -2, -2, 1, 1], [10, -4, 1, -1, -7, 0, -7, 4, 4, -4, -6, -6, -10, 1, -10, -6, 8, -3, -7, 3], [3, -5, -3, 1, -1, 1, -3, 0, 2, 1, 2, 2, 3, 1, -2, -1, 1, 4, -5, 3], [0, -2, 4, -1, -1, 1, 4, 1, -1, -1, -5, -2, -2, -1, 4, 2, -2, -1, 2, -2], [1, 0, -1, -2, 3, -2, -2, -2, 3, -4, 0, -2, 5, 3, 1, 1, -2, 3, -1, -4], [5, 0, 0, 3, 2, 0, -1, 0, -3, -5, -4, 3, -4, -4, 1, -3, 0, -2, 3, 2], [0, 0, 7, -5, 0, -7, -2, 0, -2, -1, -5, -11, -2, -4, 1, 7, -6, 6, 0, -5], [-3, 2, -1, 1, 0, 1, 10, 3, -10, 5, 10, 1, 11, 5, 1, 8, 1, 0, 0, 3], [0, 3, 0, -2, 5, -1, -5, -6, -2, -6, -7, 2, -6, -12, -7, -5, -7, 1, 0, -1], [2, -5, -5, 1, 0, 6, -3, 5, 1, 9, -3, 9, -5, 9, -1, 4, 6, -6, -5, 0], [5, 1, 0, 0, -3, 0, -3, -1, 8, -8, -8, -6, -1, -3, -1, -8, -1, 0, -3, 0], [-8, 0, 7, -1, 0, -2, 5, -1, -2, -2, 5, -2, 0, 6, 2, -1, -2, 2, 0, 0], [-3, 3, 0, 1, 4, 2, 6, -3, 3, -2, 0, -3, 0, 3, -2, -4, -3, 0, 0, 2], [8, 0, -3, 0, 0, 0, -8, 0, 12, -9, -12, -8, -11, -1, 0, -3, 2, -3, -3, -1], [1, 3, 3, 2, -2, 2, -3, -3, 1, 2, -6, -6, -3, -9, -2, -4, -3, -2, 5, 0], [-2, 2, 5, 3, -6, 1, 7, 1, -3, 8, 0, -12, -1, 0, 5, 5, 1, -3, 2, 1], [0, 6, -4, -1, 2, 1, -3, -2, -6, 0, 0, -2, -1, 4, -3, 2, -2, -1, 2, -2], [3, -3, 3, 0, -1, -2, -4, -1, -1, -13, -4, -13, -3, -1, 1, -3, -1, 1, -3, 0], [10, -5, 4, -6, 1, -8, 4, -1, 6, -11, 0, -9, -3, -5, 4, -1, 1, 8, -1, 1], [2, -2, -2, -1, -4, 1, -8, -2, 1, 1, -6, -6, 0, -6, 4, -4, 2, 1, -1, 4], [-10, 2, 2, 4, 0, 2, 7, 2, -4, 10, 12, -1, 12, 9, -1, 7, 0, -5, 4, 0], [-4, 0, 2, -2, 2, -2, 4, -4, 5, 4, 4, 7, 2, 1, 7, -3, 1, -3, 4, -2], [-7, 2, 2, 2, -1, 4, 6, 1, -1, 4, 13, 4, -1, 9, 6, 8, -2, -2, 6, -3], [-3, -3, -4, 0, 2, 1, -10, -2, 11, -1, -3, 10, -2, -4, -10, -7, 7, -1, -7, 7], [-5, -3, -1, 1, -2, 0, -2, 3, 4, -4, -5, -2, 0, 0, 0, -5, 2, 4, -2, -4], [-10, 6, -1, 4, 1, 5, 0, 0, -5, 2, 0, 2, 6, 8, 5, 6, 4, -4, 6, 0], [-8, 8, -1, 6, 3, -2, 8, -2, -6, 6, 0, 6, 4, 2, 1, 1, -2, 2, 0, 4], [3, 1, 1, -3, 3, 3, -5, -1, 0, 3, 6, -6, 3, -1, 0, -4, -1, 3, 4, 0], [13, -2, 4, -2, -5, -2, 0, 4, 2, -13, -4, -5, -4, -11, 0, 5, 0, 3, -2, -5], [2, -2, 3, 0, -2, -1, -2, 0, 2, -9, -6, -2, 1, -12, 0, -12, 0, 3, 5, 5], [2, 2, 2, 1, 0, 1, 0, 2, -3, 1, 3, -2, 5, -4, -4, 10, -7, 0, 5, -5], [-1, -1, -4, 6, 0, 2, -6, -4, -13, 7, -6, 7, -1, 4, 13, 5, 2, -2, -1, 0], [12, -2, -3, -5, 1, 2, -3, 6, 11, -10, -3, -10, -2, -9, -11, -7, 1, -1, -2, 0], [5, -2, 0, 5, 2, 4, -1, -1, 7, 6, 0, -7, -6, 2, 0, 2, 3, -4, 0, 4], [10, -2, 1, 0, -2, 0, -10, 0, -5, -5, -4, -11, -10, -9, 0, -5, -4, 1, 0, -4], [1, 0, -11, 4, 3, 11, 7, 1, -8, 17, 13, 17, 4, 8, 3, 4, 1, -4, -1, 4], [8, 7, -6, 0, 6, 7, -2, -6, 0, -8, 2, 5, 2, -5, -1, -8, 0, -5, 0, 6], [-7, 2, 2, 0, 2, -3, 7, 0, 0, 0, 2, 10, 12, 3, 0, 9, -6, 2, 4, -2], [-1, 6, 4, 3, -1, -3, 3, -3, 2, 0, 0, -2, -1, -4, 8, 8, -3, 7, -4, 1], [-2, 0, 0, 3, -3, 3, 10, 0, -13, 3, 2, 1, 5, 3, 3, 1, 3, -3, -1, 0], [1, -5, -1, 1, -3, 0, -3, 5, -1, 1, -14, 0, -8, 3, -8, -14, 3, 0, -3, 0], [-5, 2, -2, -1, 1, 6, 4, -7, -3, 11, 3, 4, -3, -1, 9, 2, -1, -1, -2, 2], [7, -3, 0, 0, 2, -5, 0, 4, -4, -11, 6, 4, -3, -2, 5, -6, -2, 6, 0, -5], [2, 0, 5, -3, 2, -5, -5, 2, 4, -2, -6, -7, -7, -10, -9, -1, -3, 1, -2, -3], [0, 0, 0, 1, 0, 0, 4, 0, -1, 11, 3, 3, 4, 7, 6, 0, 0, 0, 0, 1], [-6, -4, -4, 1, 4, 8, 15, 6, -6, 8, 12, 19, 5, 9, 11, 12, 4, -1, 4, -2], [5, 0, 0, 6, -4, 1, -11, 6, -6, -3, -6, 6, 1, -1, -3, -4, 10, -4, 0, 1], [0, -1, 7, -4, 4, -2, -9, -2, 13, -10, 1, -7, 4, -4, -3, 0, -4, 5, 4, -7], [-14, 4, 3, -7, 7, -7, 11, 0, -4, 12, 10, 5, 13, -7, 15, 8, -7, 3, 3, -3], [8, -2, -2, 5, -7, 5, -4, 1, 2, 5, -1, -2, -7, 1, -18, -7, 2, -5, 3, 1], [-3, -6, -3, 0, -6, 4, 3, 0, -4, 2, -1, 3, 0, 12, 0, 7, 5, -3, -7, -2], [-1, -4, 3, -9, 2, -5, -2, -5, 4, -7, 0, 0, 8, 3, 14, 14, -5, 4, 1, -4], [-16, 5, 1, 1, -5, -6, 3, -2, 2, 5, 3, 5, 5, 10, -2, 2, -1, 1, 5, 0], [-15, 3, -6, 3, 3, 1, 21, -5, -6, 13, 21, 13, 3, 10, 6, 14, -2, 2, 3, 0], [1, -7, -5, -1, -1, 6, 6, 6, -5, 12, 0, 0, 14, 20, 0, 0, 6, 1, -7, -3], [3, 7, -2, 0, 7, 10, -3, 0, 15, -1, -3, 2, 0, -4, 0, -3, -1, -2, 3, 2], [2, 0, 8, 0, 0, -8, -3, 2, -5, -1, -5, -5, -3, 7, 5, 5, 0, 0, -2, 0], [9, -3, 2, -2, -6, -3, -13, 2, 2, -9, -4, -12, -4, -4, -6, -7, 0, 8, -2, -6], [-14, -3, 3, -10, 4, -7, 7, -7, -7, 0, 0, -6, 6, -1, 4, 4, -7, 7, 0, 0], [3, 1, 1, 6, -6, 6, 4, 6, -12, 1, 4, 1, 1, 8, 12, -1, 12, -12, 1, 0], [-8, -2, 2, -2, 3, 0, 3, 2, -9, 9, 6, 8, 5, 5, 5, 6, -2, 9, 3, -9], [5, -9, -4, -4, 4, -7, -2, 3, 6, -9, 4, 0, -2, -4, -13, -4, -4, 13, -3, 4], [-12, 4, 2, 5, -1, -3, 6, 1, -15, 1, 15, 6, 4, 9, 6, 6, -6, 3, 6, -6], [-6, 6, 6, -1, 1, 1, 6, -11, -6, 1, 11, 0, 7, 3, 8, -5, -6, 1, 7, 5], [9, 0, -4, 7, -5, 4, -10, 9, -1, -7, -15, -3, -5, -1, -17, -6, 17, -12, -9, 7], [2, 0, 1, -7, -4, 0, -2, 1, 7, -2, -17, -3, -17, -11, 1, 2, 0, -6, -7, -4], [16, -4, 1, 2, 0, 2, -1, 8, 5, -3, -5, -1, -3, 5, -12, -6, 7, 0, -8, 3], [0, 6, -1, -5, 5, 3, -10, -8, 15, -15, -6, -14, -16, -5, -16, -15, -5, -1, -2, 1], [2, -5, -1, 1, 1, 0, 1, 5, -1, 1, 9, -13, -5, -14, -5, 9, -2, 4, 1, -4], [7, -1, -2, -3, 3, -1, -19, -2, 22, -1, -6, -5, 2, -3, -3, -7, -3, 4, 0, 2], [7, 0, -2, -1, 5, -8, -1, -5, 1, 0, -3, -5, 8, 1, -1, -2, 2, 8, -2, 2], [21, -6, -6, 5, -1, -5, -8, 2, 3, -5, -6, -2, -8, 10, -16, -19, 6, -5, -11, 4], [-4, 0, -2, 0, 0, -5, 4, 0, 0, 5, 3, 7, 5, 16, 0, 9, 7, -2, -8, -1], [0, 1, -1, 0, 1, -5, 0, 0, 1, -2, -3, -10, -11, -14, 0, -3, -11, -1, 2, -9], [1, -3, -2, 4, 0, 4, -2, -2, -12, 13, 12, 2, 12, 15, 2, 11, 4, 0, -2, 1], [13, -6, 0, -3, 0, 2, -5, 0, 0, 2, -9, 0, -13, -8, -14, 0, -3, 3, 0, 2], [-18, 10, 1, -1, 9, 0, 9, -10, -6, 6, 16, 6, 12, -3, 12, 16, -12, 1, 9, -1], [7, 2, -3, 8, -3, 6, 3, 6, 1, 9, 0, -6, 1, 7, 4, 4, 6, -3, -3, -1], [-2, 0, 14, -6, -1, -14, -4, -2, 7, -18, 5, -14, -3, -12, -4, -1, -18, 19, 2, -6], [-10, 7, -3, 0, 7, 7, 10, 0, -19, 12, 9, 24, 21, 10, 0, 5, 5, -3, 2, 7], [6, -2, -6, 4, -5, 11, 0, 5, -3, 8, 3, 2, -3, 11, 0, -8, 8, -11, -8, 8], [-9, 5, 7, 2, -2, -1, 5, 3, -7, 12, 4, 0, 4, 2, 19, 7, 2, -7, 3, -7], [-11, 9, 2, -12, 12, -1, 15, -11, -3, -6, 2, -5, 1, -12, -4, -3, -12, 3, 6, -2], [-5, -5, 0, 3, -2, 4, -6, -2, -2, -10, -5, 2, 3, -1, -2, -14, 5, -7, 0, 4], [-11, 3, 3, -8, 7, -5, 0, -4, 11, -5, 9, -3, -3, 3, 5, 7, -3, 8, -2, 1], [-7, -7, 5, -3, -4, -7, -6, 5, 3, 7, 11, 2, 11, 14, 6, -2, 0, 5, -3, -4], [-6, -1, 4, 3, -7, -1, 3, 4, -3, 6, 8, 7, 8, 4, 14, 10, 0, 2, 3, -7], [6, -2, -6, 2, 0, 2, -4, 0, 9, -10, -9, 6, -8, -15, -4, -7, 1, 0, 5, -1], [-11, -1, 2, -8, 2, -9, 12, -2, -1, 1, -9, 10, 10, 0, 12, 1, -1, 9, 1, -1], [4, 2, 3, 3, -1, 2, 1, 0, 11, 2, 1, 2, 2, -3, -11, -3, 3, -3, 2, 0], [-10, 4, 4, -7, 6, -6, 11, -6, 2, -6, -6, 7, 5, -11, -5, 4, -4, 7, -2, 2], [-1, 0, -1, 2, -2, 1, -5, -1, -4, 1, -14, -2, -3, 15, 14, 2, 14, -12, 1, 2], [4, -5, 2, 0, -5, -7, -4, 0, -2, 6, 8, -6, -4, 8, 0, 4, 4, 2, 0, 4], [14, 0, 0, 2, -11, 0, -11, 4, 6, -5, -11, -6, -10, 2, -2, -5, 13, -9, 0, 0], [0, 4, 5, 1, -5, -4, 3, 0, -1, 0, 3, 0, 4, -3, 1, 13, 1, -1, 4, 0], [-16, 7, -4, 4, 7, 0, 7, -7, -20, 20, 5, 13, 26, 6, 26, 5, -2, -2, 7, 2], [-17, 2, 0, 0, -4, 0, -4, -2, 0, 0, 16, -7, 0, -3, 0, 16, 0, 1, -4, -1], [10, 1, 7, -4, -2, -5, -17, -5, 15, -22, 0, -14, 0, -5, -6, -6, -5, 5, 0, 4], [-11, 2, -6, 3, 5, 2, 13, -6, -3, 11, 2, 18, 2, -3, 13, 8, 0, -5, 3, 5], [-10, -4, 4, 0, -4, -2, 10, 0, -2, -9, -5, -5, -1, 17, 0, 18, -1, 4, 0, -1], [-4, 7, 7, 5, -4, -1, 11, -3, -24, -1, 8, 4, 19, 7, 18, 1, -7, -5, 6, -4], [19, -3, -8, -1, 6, 2, -8, 2, 17, -6, 0, -6, -11, -9, -7, -7, 2, 6, -8, 9], [1, -2, -4, 2, -2, 0, 7, 2, -9, -3, 1, -1, -5, 2, -7, -5, 2, 0, -3, 4], [-15, -7, 0, -8, 6, -7, 12, -2, -12, -1, 18, 12, 13, -2, 13, 6, -14, 12, 0, -7], [-1, 1, -9, -10, -3, 2, 4, 3, 4, 15, 3, 9, 13, 4, 4, -8, 8, -2, -8, 8], [-18, 15, 5, 5, 0, 5, -5, -4, -5, 9, 5, -5, 0, -1, 3, 0, -15, 0, 10, 0], [12, -2, 0, -1, 0, -1, -7, 5, 7, -4, -7, 0, -26, -4, -10, -24, 0, 0, 0, -2], [-13, 3, -2, 3, 10, -3, 6, -10, 3, 16, 7, 12, 19, -4, 6, 1, -1, 3, 1, -1], [2, 5, 4, -4, 4, 0, 4, -5, 11, -11, 9, -9, -11, -13, -11, 9, -22, 9, 4, -9], [7, -1, 0, 7, 2, 9, 4, -2, -11, 12, -13, -6, 3, 12, 4, -1, 1, -9, -1, 1], [-3, 4, -5, 0, 4, 7, 3, 0, -9, 20, 15, 14, 9, 5, 0, 2, 3, -5, 2, 5], [12, -5, -3, -9, 5, -5, -7, -3, 9, -12, 1, -6, 1, -24, -11, -12, 0, 17, -9, 5], [2, 0, 0, -1, 3, 0, 9, 2, -23, 6, 13, 16, 6, 4, 3, 24, 0, -3, -2, -1], [10, 5, 9, -5, 0, -5, -22, 7, 3, -16, -3, -9, -5, -13, -15, -4, -6, 0, -3, -1], [19, 2, -4, 4, 1, 0, 1, -2, 3, -3, -21, -25, -10, -26, -10, -21, -1, 1, 1, -1], [17, 1, -3, 6, -7, 4, 4, 5, 5, -5, 4, -5, 1, -7, -5, -21, 11, -11, 1, 0], [13, 0, 4, -6, 2, -6, -1, -6, 19, -7, 0, 0, -4, -10, -1, -1, -6, 12, -6, -1], [9, -4, -5, 0, -4, -4, -9, 0, 7, 10, 5, 8, 3, -4, 0, -9, 5, -5, 0, 5], [13, -4, 4, -6, 0, -4, 2, 4, 6, -13, -12, 2, -12, -4, 2, 2, 0, 8, -6, 0], [17, -8, -8, 6, -4, 5, -11, 12, 13, 5, -10, -3, -19, -1, 11, -5, 8, -6, -3, -4]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_92_e_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_92_2_e_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_92_2_e_a(:prec:=20)
    chi := MakeCharacter_92_e();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 2));
    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_92_2_e_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_92_2_e_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_92_e();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;