
// Make newform 16.30.a.d in Magma, downloaded from the LMFDB on 28 December 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_16_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_16_30_a_d();".
// 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_16_30_a_d();".
// 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 := [130260063600, -97534740, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0], [-384, 1152, 0], [-532675197440, 16403968, 8192]];
    Rf_basisdens := [1, 1, 25];
    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_16_a();"
function MakeCharacter_16_a()
    N := 16;
    order := 1;
    char_gens := [15, 5];
    v := [1, 1];
    // chi(gens[i]) = zeta^v[i]
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    F := CyclotomicField(order);
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]);
    return MinimalBaseRingCharacter(chi);
end function;

function MakeCharacter_16_a_Hecke( : Kf := Kf)
    return MakeCharacter_16_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]];
    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 := 30;
    raw_aps := [[0, 0, 0], [-2263092, -1, 0], [-5743730730, -600, -1], [-159778906280, -16338, -28], [-365263418066012, -22190259, -71832], [-3131906337423682, -871984152, -264121], [76701464891022546, -52463075856, 44591938], [930784015965192828, 304728934491, 54410776], [9033495800860376840, -1799103026742, 2919191612], [-766102382019477455986, -80385612729912, -115598280245], [1672949958465829410656, 594734994358584, -6292289440], [1234659734413519574902, 7337101164464904, 305652603251], [-153332709951433536451574, -9343067341309344, -23731897324], [190322014268324477209860, 1471231204774149, -31384877239888], [1500657847342439720835344, -126832636806353580, 52738811048776], [-6612558974522236587088826, 116449457340015240, 537852482667235], [16357190794503471104379316, 2648181191916508641, -1540377801974112], [-5189624446225033813715154, 5814337683725775144, -594567654618113], [-156998793134638765255192948, 196808256112191087, 7964166949093784], [-504075594146759985993396712, 16648730720763368094, 17192755212880884], [341285502672928565199618730, -88005097640409140688, 3932966254774746], [-673032744413117880978302864, -19573797134978895732, 265411751002526056], [-3684458396148755804665323204, -54458601206695580469, -527400934801870720], [-15763981762300204807293347718, 691354259604314758704, 971811855729881562], [-60802682332911673408316630046, 1341710403747186721200, -1103580828188668342], [-46050184739164511919598455114, -5546001938765635262520, 6252627174234245019], [-117314012246822222645314885256, 5294859075599229556950, 5685271482707783428], [-230190333797320341246309575740, 16085837020994061973365, 11432443919163938776], [12139959433266686109736212894, 96669969409073754120, 2238534532283951779], [195048768138369247820130130610, 92706780607801608334464, -736885272458828240], [1270538114345977334255539606912, -219387633047384077993248, -79602454358934601136], [3721037090448931047745365297484, -380757760371981987631137, 167065253415317739688], [3407254901734048214947171142378, 1057762099785391570447584, -567698200533160684028], [1506312190919705974902746856740, -216038641148348851616979, -630300666157413224048], [29885070256208866824815908213542, -252202094084361201618264, -198661026163043743937], [9530748173140978398960627616904, -1170985786132779218679126, 3406441587859195457852], [25828724396951177519169238562830, -337068774609828379829016, 1170486992950734345735], [71009546199774305512415055584940, 2689021753490214299496087, 7083478643520162708240], [17547278488028464087521916487736, -2449749316426977350203578, -6020289289000234086156], [-81851997287053865643455015828770, 40445942823264873492453672, 10870924692869492831647], [-170123899311355769402636983534244, -2752368167143025179672077, 5687771636244568194416], [-116681118609094986368742254586682, 36733451450504283428953704, -1136011790534590338233], [-927382949794815492759355664808896, -16914028790381136210907824, 1235593300444212225008], [539587237736361410368332185917122, -87821026357576600597058256, 93362252357247543573722], [231853197114053781771151582461334, 63201153461369661748987368, -74845642317461959090249], [462643190628455397190801523245976, 34576256364062989005010302, 171922364366655074739300], [3893166480187383745587054529621692, 359967011392572664810269099, -206999687428757821940560], [7404785116775020028884714390377376, -263563233433611491139705720, 489366502119244468165408], [537530794506906720662561490176364, -670553912478690243018707961, 13123846013893907651328], [2831660866353448578155751665836854, -1812260906822472551722004760, -192775439221953977707817], [13227679210584231043756103150452938, -254618410052981650681759824, 587570564242364413572266], [-15446461664836113591331590204510896, 767435736895561135433563812, -670023713338280373520520], [-4919047192188307697166035279256014, -86740651274982789318240528, -2921034526647477266487646], [-11695050920382626500906362379646476, -988107281183767911842672079, 2401934128984540421287584], [-85613149566303714248494250391036670, -1146747720037231133874393600, -3850636880053792280189056], [60520503890876411141099666329809496, 927161186329179296970627054, 8513780430467395947930228], [-82323213516483917731553312376148546, -3780788672427396630909979320, -145406592835538492083717], [-32149449750790668094168348937077584, -18835637130812081701608036900, -4822914409700288925362888], [13877634418234050027665452922610598, 15592762103401161336703828104, -12931760143287191484868893], [176875012159745730553725325313933882, 22189152917970007982829936, 3711602687803718849127794], [-71887296604091886737590517630145708, 443179170440135750698081257, 6447720838587919273950808], [378413162059498526990863921497237110, -597712328650800896087447448, -8828282403276672251609561], [597597905053900379135342598030245596, -80605646950262680753169300013, 70211172872230248637230968], [491241573206382633764600071621432680, -109945215185951480455358490174, -80343073880434599309684228], [-309451696473198049743207278044539174, -66062179502781497464077407904, 119185293001161040051454772], [-136061932232283574280478152315248082, -34773999085288261111276332600, 115341065751498825855090443], [-2850734229993043218104729692228490908, -13636000923469264036641720195, -87623502848753136064206568], [556648372090816791179014041769754642, 449519048054620050790076144064, 99215275872526340081907976], [-8227366719721999044157172013761816044, -210046346923452196011136083879, 104403998359340201719408720], [-2714490049529026087989851146438377522, -1024242552558774904937316811896, 368077593491484227844165075], [-2101551882598748042802150168983501854, -644651318173402490783493086016, -272636649365307747074311192], [4886826815529377157114049984473769080, -165260379111757519202306084202, -260194523709253452122871228], [15998697601516999058352571834522010320, -1687227949936197253520170006140, -799517950494869641544168696], [-13869488010755480891481534769000623994, 109634811923757624561030592584, -1207171791781385043574744725], [12423977019103800276257372267215779700, 2414701307274251315873947172625, -58938246500140063137437712], [21325758528799511906830795645263960192, 1301816447483981838202377957024, -1008193584598483721305091904], [36209354318538160946416704481837378902, 939306337049234873514264292488, 1812403209419556122164645379], [-1814081563108200386623926438375696322, 5124949778712762743797230960648, -3499214360933678468853773085], [28350971481283354626304618803448537170, -1773788188284649418318276202384, -1338716093917179928497832974], [-50248761151829963897511770757113188934, -6125101819971389626382106607392, 42917403655700615261068868], [-58539312344961623895588855515107129940, 14157548232073257291711554140503, 4063563667210996172482578200], [-97732256878414603607184651738717478666, 5375178302877818041552154649384, 4772432069821472077823740431], [88335133198188966674509253643035826576, 9836018038815528642203186941428, 2246154461093568146342251256], [-194768975707605629483680867989184465934, 6565452082663136483306005740144, 729855476349150451461711666], [255427935173143948984172826000161907432, 7040481621467900603393770314402, -688770945077205119493862404], [-162299524162554232948265288280713599436, 22847884855976186553772703798145, 2568184541220892486368300712], [127075394047552100097090456909229253570, -17266515781283021664421229670864, 7409471764447356583326087738], [-45137634474317209882596281701305825494, 24869089680035569210511607138528, -12012535679994198661177475516], [284845513681118732489283919266910850942, -15257134326787390128771840765240, -13311325864817676038716177461], [378927061270311128173213343601323315440, 24251240831301744901471369004844, -17942144341448818202561490648], [-424740590361936096420955594817428464196, -43807422512751020335894916140437, 1254547800001771739820678952], [190119394046387637791360152285914836640, 59743196168561106255381831476808, -37146627553337538741544689568], [1005651801309100570895535658647791909368, -62249572265204964953862932710026, 4113799727928594410573493364], [-267751676291644639548586048699660959676, -14078643586968517335443781854955, -86134182409803596809052941184], [595424224874651703355735487181218206492, -162968250122769039893140868526813, -22156316243286248265332389120], [-178487446462833895640809098988638203480, -133372416222118689282914931401454, 104116556294978258495038519340], [-531351636135735913027241427868317365778, 8660424285289136438592379614312, -125102782398110536314359029161], [372643854032989802271266065896054357610, -66063242645577311948456166456480, 22441419936552314726365055796], [-291545715399346750233271404956519192156, 166499844822862830459276741549261, -126287686994725158153112844744], [-1347211211491713698556088351407877183602, -37531950340146385463466100695000, -67737699887547778135306814625], [786219007491034710192260168647752952620, -602212787046910126576018241757129, -312600455626106543582982082088], [-2251820665768785181130815266652523148706, -922267718324564912151408818810136, 268735664815294838627772766887], [5945838820216919531208204590280387668444, -505705388413375542629565006451821, -225131142404914695589509301960], [1202282691026193377317738006684520338394, 390644294966665640362636731701088, 163395317014514077968771694260], [8723958108671125163061808538336478809012, 635743004368810255659027709968993, -303853484474535965248184322296], [4939604091116623309864845758411432846658, 137426059218336066007747985146560, -73417273247780177865686741656], [9578755635246577755232313686714183044196, 1395206012762927323782782558375997, -124503240941341411994938274136], [-910415332296451925735231362589192031982, -310117590961678270622222391798912, -961843099524660810463981070832], [-13272427830795285719792798956138560224312, -896032255371798129939239117969478, 211078798621184248592607456236], [13891339108686766583081635232643815969402, -326008075744865343317613783470544, 350768237924604173184941471066], [-17369206764518416068377202548875626720224, 2361648012827662164827254315353384, 104803783456310513038910050704], [8546433233921872729353936132479636521654, 822743927665523051433355106441256, 7253614697206501905773591791], [-24409604035664555012093594621155882506166, -1522437917869626445432004367979536, -453278127914791848684792529502], [-12441529715060490827080717241262928219708, -2588740808471857631468163638214411, -38074485177693331250077482168], [-5229202221619720229373006857300256219352, 1118879887499460758402799089348082, 3164119887058867796778087893676], [-41533380859439211208771378907837530005118, -1302660525226695810681960937550928, 53088953704666479897107810058], [-28236193308928247179363600285211240577204, -220229620408714529422647426821793, -2234091988328746810648984118184], [-4806582992621519947928431503515862377768, 621165418557375166626199716612750, -2765008883855805689325782907596], [-8033837222851243747325183172159260165826, 4955804656383891314811849113770440, 56011681247375022164423024619], [-3194806929390061998430448166012251514372, -4344212990378025756455558828372037, 3985241989161646710043415350944], [77168945371725742867394665330159358046502, 5100588892590606817422834049017192, -1464104283766786912369790479961], [117859940974068734282946035829155097658658, 4911342223163547339448640466336048, -128692709940117210373504318246], [60874354520866391975005623667534954778614, -424232051314210193575381071789432, 9649655265574085049437590597123], [16478855868812149704916689308008090087556, 13702618763982143229844799744078181, 1020436425617027897325170673920], [-78657952246367933677992419815323692387492, 8529189777589509483983024458470771, -12883503548227438542520464671952], [-135210810408420845436899740934561042792530, -1534310301015357586315976638311768, -11157546742826145882424132528433], [42295274621601387250000590084024111531414, -7444379280096371091953053955023992, 16239008275761466672502091555107], [68396197909234735857156343581345313831920, -2438089481887213882194067554009876, -3312268672042689193119843917240], [114103948961247251132625237266155243753800, -5039541366490937123644715069187942, 4637912303798277120372984559212], [27141569988600161793631649829409886725966, -15820590284081691402296252229268152, 16796682105239808951862155653083], [-188162561813699384083023749857044624965780, 34782264159677130439258796740071303, 5772327334765912108256823698496], [-266677398809722426751107506250106651175688, 6950535000870264678824663462256438, -16043746204092151395896269075852], [-676819066706933540873586641536382487728, -22244037724866402129089995936246236, -2028706433443257163657113138856], [20839563440517345838774421999637102460422, 66999466523657225355429468433876776, -25770348374707680084387320579473], [-45627435300746016448288326437780932869734, -16360190854562886820941554272830624, 7763305526899186430673710496756], [13037719382211386328819527000670542788610, -30038994049933663967291206301326032, 50669413185662903379417828840282], [30401444515375794267162577667171580037334, 67759428261667210854285668945644296, 10709541346501029429874237536307], [433634976318147530244698559352865386137468, -127886125668565679903503848327572325, -77124181484502737972363507801584], [48189199008060700862279034945100590391438, 111288338674617922881429679011513960, -2334591043305178551419185119785], [-323505750342699526177092467939200594152694, -204040430782109208581809722223705248, 6347846166137371376952880111604], [1158983577285439865351488377130669472805380, -75419075369765281245698331914988219, 32312522719901206892550157771176], [287164892134685179025499209110959761850182, -72521049937887555901327036671501240, -7881944537634646274740033805717], [649964889987759257837262251366789874281320, 310641638215233457616261723203306818, -77374889822363451616830615968964], [-450375685884938587266956104961623040819532, 75024417688890019828094838160369185, 128070327612681606553928666565752], [-584121516578463667416617735876944541693394, -123472678990052593588886733035805336, -89526259822509964249131547814729], [-3190372523867986458065447376789672592574696, -158764631194037848290500210633091618, 69712862987942375128027702708292], [-1520636663557912794154210827375000918939418, 141453141609207669113945891718101640, -105466375051309776504991682582109], [-2303625797694811146984156649100617072590726, 52093631031084955694064748202055264, 74995827016718470950774809378004], [1641709193444671374847294417819964350562324, -219192040587708719854415898452115495, -206731983629839413789714376760528], [-2195296143897204022702088939623094120827104, 352073451371445954362425656748114152, 119342803970546037588681615350848], [-2061643336695913457480856948999892311264098, -171442782534119042584001646118681656, 123298574695380216313628446133099], [-1719410317875591837070930922320490052014670, 310282311713653561519442341213963200, 121976239141106402101081210173640], [4607069202504865059856436705616494868860828, 51245586414006252312885271477043907, 9000444670148371541622425644712], [-3251437164737836669035665471124055749242328, 364071090070325877539582332913892786, -90153081120181106475482925878020], [5416311990109760480896519885387458336040484, 1144182962187822154243975556322036333, -263107538406503165534295487295808], [-7474759348556700986921923743636436736368592, 361135222214711573885873029303448124, -178347687488743391196814626256488], [1271068509302951811345597230652495263813000, -287580813582453857258324426753721366, 698721913171496982476256528883548], [-4123174808851305635622081400024591031692766, -636470597198715899344921779021586896, 93938848452539004243243678065850], [3246040472915612592106570792583675644520586, -413392501544472906669493019228567376, -463515884141148578328668879682678], [-7317615163057253961644056945716904905069602, 634245774480092841462084497245568136, -890836997168393907096240614125549], [4701292901043689175204124665820280909179484, -257085463599245481946727718278722509, 542329275022738194130863633347224], [-13532171418638214423866863047021505465850022, 917228599226168282733659935992908256, -345344102463924620878539797436060], [-2502518787256498565270220159937362789284712, -641191101861444992051942796642277698, -1408940357683977284707703903002364], [-11532986001529529900680916579108474782428956, 1706346837808630604126832145844329437, -341080177703176634653690410870112], [-24486342588252547248093793712069685599135342, 30689681165165593721797231718742000, 389327485176073311931701929654402], [-5884851145605502564321954206641596357149624, -741435309100325519126493447044252070, 173415032395312398696948303677772], [-18805789030944051644454272492638808299103072, 340764338577178568027265832467537864, -453947484146179809626383686396176], [8320714789733271801332164181531894325495862, -566846539207427123701543147752107640, -622207729156084370121109177445085], [4478104538117479707315211306316958544432434, -3642484488709806295770340330564995600, -1214214200475257935514731968148414], [-9559865366871910060121662468960894074898682, -1850228372161073134589207504795975832, 1341618583584327431552976581728039], [-29407465071846713148244604252359971822561548, 984353508534240603409405424278543473, -1956710596665296563399345627984696], [31313330357009159459716444595148215328551406, -2456987607423463169480800711932944376, -54482985603291376788710218567677], [24921787266725270044370852264485272612238168, 2072973794642630570684058592165771566, 3480861443392454145187263975266068], [3502357916279451037191808999825171417228138, -3518816493219705999465764432757468048, -2038933338545663578368758653694190], [45874054166818070123006506574169706708778416, 1917684235459487238709251698274367260, -1860853217517737100270808094196072], [-3499779130903813181785997085410378490746566, -652576708602326828845311683665311120, 5551435650572294614578227643812690], [18318081346562370033180227298547991887349844, 4010155169405205530758614942612003369, 4636462035922922580974544080855008], [13753648325833257469478938681070701593085814, 2917413017856303667045234803828704328, -3302166668199554342234427103429877], [38495679141342157866769092530811075855046328, -752785546600281597950189169504151194, -4929085698103745147148118756825260], [-22608962202538335879924575447449051604146082, -1214438980800006800162839378114136664, -2909508244310838628790280515869169], [5288800472906794774961599374238864292723392, -12403929047282218710040504542437039760, -2990717330754639683638202232197664], [-101701716581599417682766312617080239649675636, 1146031054081076569213870701804990063, 3513130253410352545921476299809152], [-3685541711069744166292328323906274747869418, 37109699738823795079837762615736616, -3505839017021145827974792688093809], [-2290257081493368121627109878459542328663382, 5939970742823321208146767728617202288, -974792592842499294377600644523566], [-60335667195271959357613301328524560977458064, -9163585333862091893114178628152446580, 7660429260246209299845901865085912], [-9217545016359993460135446255258896022692890, 4175648644802414234221817011742241960, -4105448121076400783641249883215745], [-88296019063179387615094240696505901682693938, 20695392806355822282150956196182858472, 4052045145733880447966747013808327], [72353870945122954280735434358770843872991212, 13890384373209343512410737288053189159, -2368183903274563749902981126623824], [-141833985188167147405461754569784651516319926, 7835457778216396532886336657393153504, -2179139632642101607753142441319772], [-179139660473285254575603450249423946548778624, -8479283214241365056201472087484079136, 2575687816446925742404356003636352], [-117451061164277132171329253776811069152348542, 13263031541984479613681511201875751360, 17579773224923389709561132158079560], [123840747047127447194406583528445690816948516, -16022371967967361817297631508560053715, -150467328859740333058092525265520], [-1617348997391851425791444867167045781357572, -4154506186708294433760555105069495237, -11454859262329829936765771855397816], [354218766684459284036420155927118263056776718, -8690341915315807726727186666300042424, -10527541761596641943672865971817445], [379494061605142146586170421789874665035512492, 21013962378382811586516639547781736855, -905868384391540307963542856906960], [172223482143246585817794304762816998607102346, -48913130400783314208145903882077221904, -26856879056149411860463792910103262], [61242546305523897226102591550516662791017970, -13450828829802595281341362913564795520, -36699318234702861175574426964744752], [-188620199524856178791671166495142680648034898, 25025079153698417036822657755745458152, -19813333574637201892500781946787481], [-141027699257311663252313582698178357232764478, -54100440236333176117829409335699490048, 17651505854587018490882429498069152], [229585387669854229584594872243129812057335704, -11635669698037308977624698781593628034, 40439775476377455027831538302580852], [-624559870941332673216371632503486127057794, 87819815379892465399508626852406295912, -6310622844910226947527948279693161], [-527442211257033892269762448347716158173261328, -14868789256252957485101801633343276948, 1869622484787257203569999007191560], [-688093030093579471683599613460959955923441562, -27238506884190969402101707827388186680, -9363430683424897918218880928764101], [-941442753904477286329068062774735430925376158, -31910586285478964577025246994934142464, -10136803856165470567408248248473600], [287231136257197236785469057120977576987370820, -51948711248152608578485866757867135659, -33119637959340431498643550112327944], [-179317791164128454916180639162774805304766738, 61744618614594636962536050186846832392, 70674149821389849512736170272837923], [143650061618135458948248241382859064687650560, 36792814000179952833203720132345794752, 115006318397102118668697873381849344], [-79138669000834341334019319081905504850954548, -76215676604136849308067985762777292097, 7234826695458114163971535087422320], [130570951586944358728975469750192045906551914, 22161517041155256026672117636173724976, -84718699092713367085548854333751686], [-1862831718021054825777339970535578741109362012, 51807056874088859679996532680886516749, 8956383907774909351263073127169960], [-770720292675824196986989855254854355797615150, -59683289182710773885341839145346845968, -29598116290168274989785673028771806], [1285042042132982304441080802232609509843388838, -115843075699404744183364761508012822296, -80503557410357431368687151417728329], [-870770091209060338273901810560115511638950392, -39668190164524832478036555297794242422, -41154673882666870399716200739022900], [890156632886995388367448647761646863998136148, 2956800807863783342370226921233181929, -9569535875515142153474585615201368], [1291058308268277618040057451686546014215582136, -143604710775615379568324617351013844186, -79197434958770364392684134839696556], [1914471145679682052273456384477481144420957450, -58196625022626572844087794027679894432, -36475845074133263021425599350308332], [1195828784619286941284515936537018670234118160, -50814793162348455007468001696984748012, 44844380707949650984029761809928568], [-124755533213608201883138077342281394982265582, -121817716777663054240084480920728158608, -131983630173632194152716122107742798], [3953530590723511861842674727791871999356785864, -29415530743338436119425428627085931270, -2735767682307577523963511590263828], [-631673570365178528231262396962016307906660402, 206753817560102219349438054986896934472, -32599292239026241507466711637622853], [2998216359554795432590800325868280418569557430, 66230991327619842319733502329741612136, -152731686926315375594073211945516633], [-1838118473525142255572731704498474991357370328, -206085513523679419942294505942066815182, -27468030183575285752393388716002612], [-2609171677122438761956395362223991492876326782, -608119314203343075395962225118177475408, 149376314885975505270523562501780714], [-35375057334058672647048136256110611075285456, 429419194879887679455791159391903868860, 85128878336928352550502492806565064], [-160369833853038983793290628593227089607049476, -427646840950063337338270577538910053381, 6260423080416539966084742175039960], [-513268336213001556784096050102733106175102426, 79827687552685903925412297085961896776, -82440302625373336223287020089023285], [2247184871272656294697638421907614967701850298, -91260453753716422340386091234016733392, 348650748394422346022155697681620794], [2508474787705561675892285976240713683315024864, 641754143177869935885499158285334278360, 45025453745746004298309870117160208], [39056354063153830200348951328342067598808888, -659459620255895893707908092379728688634, -497257172854438900744291584012015004], [-2556026242662992245942193453026068490818500220, -157152816453863797138745365516607247195, -381861165194730061922454715271254832], [-4490956206228901681702899551912596666375372322, 362084683041691476164037826692802240968, 198094819632979203341430160497803435], [6577207603564154168736293593185216941825120348, -122011178982109351912206040280913788493, 328075815564130052751711150196478184], [-231131415615506441318417733854682874374032576, 338076786156341119309820936122253404176, -465370206692326174253637642542614560], [8146661105321949294357967605154228107834670634, -16104170063186703252517178654755170192, -125640979349695691387572771298553582], [9062158222994624931694467897770658531829696228, 109091116075258563917509579816683052893, 240046223252879760534430735108653920], [663423572186864203843986847996798525037255920, 46806734097645018333748064154250044972, 441190323672707060030466456637922536], [-3454791366265392281627726270280259286286586990, -497119326839240242177280039403013768080, 669481031748018545801432540545228914], [9947350770051400484015081621802321601861890918, -304397003159961922930535903615747343768, 374329236059115471052066671709577735], [437534899614255527930428196138323583080327060, -577181655375023688744840249083565372615, 112900018432151384163845464062423160], [-11521163200699425886350216540091525456942803464, -735622166859117935537226800901545721738, 263304518458301294416757232222724116], [-5406485886336509762889517721004574427764191460, 265332702156546989652626988872755781667, -851121233841906204058416273068700704], [13767993334258113356297628891877686936033596660, 331363647424481034828633765096554528241, 735737755377664324986042565799673080], [2705881047345165430207287710878225609822415192, 1201840719831653704821285893251526139054, -162498523630093501002967352099499756], [-18277327352676488141191281417138381497196672834, -1229238793057345261185895225443028579032, 270609571647023484800384256566838367], [-13790319712558919334446734604801777000073754158, 300435515003896995650056818787533886656, 734817970903722208750011319969440168], [-16644928312088987228825499414166445771487598328, -633271268642469153835280037978212057526, -836334149757754628220107014473717332], [9062250985152285893124444971255161470719498592, -92080747825039823713694686808689794120, 1159245158439621920578801457105943584], [2747315564887381186550124311829541931056693036, 1368767615913002308141351415821168184631, 374738057422733467894733298905202440], [10782022684090011061259987147412467916425643780, -1539657154203372301459894603704114350715, 1047727963726648577289011558302349504], [-15570007136135218675265247082451368792134089968, -1159545774848045850774063005340789067308, 289054325724831947441287844710912824], [-8571538908776706573940023650180778177701824722, -219113646935217943102684978506179420280, 970191021455313225789445256972539539], [-27339389632437075588149096851273765992487376574, -1705887218887647854283723341078397504576, 1336127314897042937248612932141616392], [-12512437174061877607601832843923484862927953896, 3402935109329285807067854578512242370846, 441391738910030333625060701575580308], [19080389353213541044063115159774504672994209962, -1936848757266128511567744753715867402704, 236575867013251206307400369353024986], [-24604651473498257962387801696443427960723638786, 351056158600861189954445976590845079304, -1809781626853859636902178789783381757], [-7973991833033030189923178927850981725889709252, 1890974979934365402380577828620310235467, 2751624840621326296340266002484367056], [23988271467366380548392149902140465287947726310, -818863970064722437826997149230029164760, -508773305449491474540153685355956689], [-8149805130247954933562022396862418784787670764, 1098255338260864433362308566254962969369, 42131889380274655337666141953719552], [28054729818377466403681998374864759796021412022, -2126806154322642929442375752972875376376, 710269058822356000663683128417792947], [58757543245260734706222682456671046559975960346, 2631013729417001818859662345669071905760, -933224260690531465036639037461376540], [-5651026616240242295621102866048232911230886016, -1399023576440608842264860456313658063008, -4990343613731176306370227702879814912], [-25491832086503633382797218790135667248468770996, 1243268512059123768122686008907666563423, -4264641367471953939701861922409271936], [23771295227757396565960744393799063228398713430, -4150345715385609504850499327632949692728, -4042843181680247752506589333953062661], [-12763638678410193649901724257962997318104638450, -4080900703799291820841923499862116559352, 2613961995936220182474287064328944003], [-23177687990694567309091073985716756658534469342, 5446144162583470117007632177567230393264, 821338408113759863407540239695534346], [-44892522084405590312879715789578820449878111060, -5996202995353197618801225582090680215017, -182710759011287326415487809503269256], [-31799629851008745612478453495794292283817510178, 5121627422435352537654363507982770135048, 5667119548052781239484116604861524003], [-65372584762072944145812253968298140500722684582, -246979768465018215256218980253773306448, -6746089054973063015503653292677462934], [-38743946991117631302977321427053903857780506316, 6534271305836143886300258042134154863425, 4703579824514158098767415129113189600], [34583098089523028467968521548387326789840256406, 3638059165930941762251786279356977520200, 924069035000412103989650229453779723], [-62375283817744505672946599552077856450827733378, -2720363323919391723362371143697959843096, 1095208113811001593951329631331730663], [-127233320642394075430095625206960987971258886980, 1020037927848581698989179001000072369963, 1087454821818903637801995736797647400], [47551649713311280861997439361123398130629869818, -9793578138812650656060609369693719848080, -4156852885932126331296983856323239374], [-36018494859141473358636570079765965795200377440, 13257583777109284515091887609142681792776, 2716183840310091444881005007439934544], [39703231111802873204829774942727563955852591922, -4149903391293699008068431161686281024, 4616422363642485343211016253550542952], [-24034357937179185515708154304058269113567278936, -12164452382155829480096582508851995930158, -3905671013842134150113232162894492084], [13148959909710886293855356435031491102054449140, -7000500800661738660574936450482700110927, 12159472989166001525126674845234340728], [-13467885763875242673761934508353963484131083538, 12854716234938937898596136545280334287208, -3358257214781140173969217110431300041], [27170232851376036841038835602649780887252950634, -4142725453813946252420254682907175554768, 12344338461411395733721909453843079290], [117880291924213959152615516033328421418244181884, -23069318601364558641216738453172745271141, -8031489822632669687241689895058793192], [82057792672795156420985035586790104919734821984, 26824771821683085520032075567540152422776, -113518303248712796021381388693395712], [104504184096448570880563512880020139058053869496, -14006897754542159471296307295288799700826, 12379960597579841025213616254097104580], [-62051843646392073794634756658289345375649517720, -10115004011549243777709820392581604361662, 7279577722380128770992598774729492748], [41397532857949416368456773230071765128019142166, -10363606211228464744598375333182070177112, 25731935275419501294771880588890219871], [17145911155441907040955967425541693766299045732, -15014193671075385288185986213897967798787, -4232472543909652708564224234308958064], [-97512413964523617909311020953970013096307761808, -17789573614401340790326131970643358263604, -765866016473629230004263218452393064], [-23773853860618654020136391929068919340536910062, 8539850577045537732572477676328278935280, 4010853667181078346282271854773688354], [285150261753050639643688423395918382621515818214, -3452450689544489899030043961574684679160, -4037102203129794950270741731849343757], [-94237958159408149850446401979413076022239739192, 33935110109726807411242441432588199749242, 12164328303281441969874796615989132540], [88736097071326098792509411977012981269255586274, 7561559180656909595193137001527920345536, 11995453757160804700087417274739174536], [-163732945192863978611249883538966131885468270434, -25531480961413111189918890413821765530552, -3471264138314606741542446488957639333], [131401529687592293482968200412867651762521990044, 13937382072731592655915646967551342571459, 10170316226930843870290467477398693336], [219997654392995274409303945334878622264487701274, 29532165941297022826612250421056630961840, 12202070221024038200963433284812143050], [396670860426552351019948852745452063431166844452, -3562312102896273204349442289920947094931, 17963524560765022222740696298131888488], [-457413173847134681992697337486309625785903322562, 20387859424784444805398497616660401437384, 1153707554725369671613519168216676939], [171275480182865001641011089761138498354102263566, 9582597090510498943386353205059213302056, 12870600056354387342643876454275202751], [321087665435824271439710857193856333005816443360, 48863753383437145639270808062276468605528, -2877108745158601628321447265536956704], [106094036808892053243416386799214152533440371654, -26800313272509835177342771503962031035736, -35448131636999648142559886460763005185], [8465061243899424076784676261248396648914726964, -59078521228177331333244270807792196025343, -666476155886217037526759028576834152], [36528606097672297743893515386290186921945549068, -24946582972677549790046724662698490893425, -4995803207825450476563572708546306616], [72756984976804263958767126531188359105829498154, -4491425321416366197490934943779508661920, 57080617694835677782794232999015529588], [756544859456643581859024976413789415021848540030, -12994045937695548823062271685537943029784, -22135708582980725911834626128547107897], [-343580177671400582852299629826323431155218326800, -65171648850831110338272934864637976591444, 24072863392078202986952300494477414616], [240010521997346883810271868981991874743906268092, 33378343991486303564814131320809922120683, 2154404253279236987728542864358600384], [-85082311058052405193417767020969674419817894508, 35297550949907909719871182587951354411705, 3706288876020723115898447568174247064], [70706852366241741968254714582807300765481364834, -63170589307366880936643221773107812997072, 3229804460013039763624932102956294138], [433389426789918437199835802957630716414899342916, 86537486280823903497639630154944863331477, -8104350785943380072505855572696679256], [145548707516470738558301659741160566185899952414, 96238473709616590725602638999742080176552, 32442911989391124074180521793080958351], [374969829617356946303850887436898273725595319208, 100846032857652991421298741683829017493906, -49079381499584956162553631218598944740], [-364853967495013615829699719435258734762678109738, 63569124933184610732194299187337788498440, -57179431739226114586085407704469915053], [938869834276096145675102156710141070863162833328, -97094151104344276399306058388049486024164, -1014576139201326333412325178178291720], [-673874783891902989519887193363136852147567763290, -84984148051912880760621036667726821642264, 2219804065648911022612368232739087959], [200044722348660224941253067461780176744566396066, -33022875960405874638259947443590288872912, -20674294402309239453646564520972328134], [-1162400445192919163945315370632850315528143665876, 115934433268066909154412115088960426880183, -5492818853922368910439765390653479640], [836400979952244126094426709197098011259296744120, -82576794471970417195700589310518054752154, -62761638850075647847743266788982124076], [-213510749980911127659387279005034628441660105974, 39691615718238900204465827413643320625328, 22186122101528879848942329029419850378], [-426995858284395003574415075148121048245881653284, 50142280611043671313373919823041673684755, 47081633952756820129540576557262282848], [-182934546234591540182609575592675610705112631616, 174526346097166921284112850797268962307184, 34988944263514569147298975765905442368], [355684582780535139141151581407619627040031362882, -4497789080950459632640387665454075533312, -26537922195004589048646712120656566528], [-1106623188186349976859972839608064640491965726958, -66048922491800249103359001459031456142976, -81902813268086968287833992921899607984], [-2403212010033946283529302611713051301467028653764, 11632113296577065071310405333345728072395, 156790309858441578827693960082330112], [729659756079855110580088729139118927782994301306, 90481973128635952812034453278812236884576, -75304603818946236290405008901415694572], [803986966999586544571317191544551094829596420814, 281181955045506066405374357492218724374152, -107188943893479761215588441641442164237], [-179766965444110921284198994849759650073630255584, 174962854198625331737521611130638652364712, -95966836801480969849782347878628200624], [-960698746244015126649179252392110499859031366838, -56051999616656349957315946329459126762144, -31689996930644092573010831861973764364], [1224945905271355470254561597416246023273011402674, 107170550426982217222542661049606161878384, 13563940226421738951967242688857550418], [-480275584846122738844937196758394482205206436532, 66090181130463102056288546874393863481567, -43283093291470757994728646413116051232], [2917574051513464391069532570855813504022355326420, 124134267609924579742245452104331159659785, 67100808021613161910057548408897723464], [1451862889504307339410013991744829166474829610208, -48224494004966716742472028964225282322408, -51207106493632906047549429225674492992], [-3414204965223573764601088313325467440942631196682, -79259687928230794012277663985607625036952, -101103804748165092995902560819089045177], [4682369454230192231170406706749329874749333909214, 183975235891743723382658158683672115928040, -30676262921557692167716559677119771769], [2263414683257497124212300022617003640857431579566, -33905291356199604720073749372017453928888, -67185115325269574089341972568958364293], [-861758951200017265440779043975155405488258452416, 343139859290289762495214753686230288726352, -115295823030087886857666837577351638592], [-1096086066445359004444864980187606100144908321780, 126771545544273346341536617882374704590671, 169979079157705180257648494799982310776], [-924134808119094507315765678328418362692048111644, 263779639228450541685897325566351993402525, 269228548813636445514967491505429818368], [1594137803662204093256733234922332054673906648212, 331759743387728812178231168553964755097977, -255734080087490580419423168026486571136], [-1903961615364529333787930339447908984110252753586, -351154585213835712445509701515986778862904, 87126390394162262241879965943870440747], [-977821085529874080979194569799606617950898397854, 310948702050746212994466382701940274067648, 239276784024075302792314614498667531880], [-2450695846013060200580887772341750624078095838006, -78476085787657605979613807985983808063504, -170381969655982666751773967968433173086], [5339930548422214970791020132197493654475218877776, -125291695913993134294785630031086241963356, 47639556100453175837798413393820261640], [-1927767976577240627733792259824956496350124627962, 213864579683178728296761629935007132101224, 135982329666699172534419861657096921543], [-4799456551274355863126286546941225792453925318758, -93514524526734894955001128455482930611872, 253752449718366319625042505336493838132], [-8164538569657369466085266944005200575877904535850, 111350963013417081898812798268269350734728, 34604714460164529933113227469151780515], [-1668488290332846120147101604144514203637770216872, -627660013882305473529811673635940232906258, 2662014775709588432774689138496502356], [2868515627008276959505050067473451749197276007054, 231539011627634289404752022170540887606696, 407420200581831521361128258704064320943], [1401280094660938427309693965471073732562479430700, -66460246267304303130439852073830174827657, 315623811046071673372871269265335946640], [878638647815452513450328982565393717118305454710, -147573973210835047650859211402597540155992, 514357848018240723138020958690383807039], [9277381937448981848830247836079832663894906590212, 726194144303967876560563340992622264434629, -209730180731957370466763047951485311000], [-1125692667793459659697984361181860813110673771504, 531726669764484427613168473525160906350356, 519721285104398758538984527898694946232], [-7027957370697459026878451493020276547672481128634, 199294174542165689002579288727637748873896, -368530106350302084275734060700693932417], [3569211679900936705755437676032469067052763264396, -444515677378322844016715115234432819471057, -563944946941908739070327186645653009584], [4711307605536310016006750167008686910018345662634, 257849296693070900829053682910702329326688, 2529105024549151551059592590522632724], [4439210551836780317234032053065071991843533436670, 71913997523881065800865971471925255500520, -384688451014314612740271102844531892377], [-2755180377488213675570686841234824977805273654416, -1119946072136699818320801465837259602045876, 200730156307509103399529605769755529352], [1100576245439669290193013419948745842576985238758, 1027282225687755416255742003584521113577896, 31646503194370435965884070540349407071], [-690382683393745818717216542874969829994911082118, 290864400256891168969942280880131359334256, 308569582761117910199800082688651344434], [-1728490720911751726279354849058659421691390340832, 537162998911685970818791426693771771896168, -833901158806968310411534810348361454000], [-7829725444106477575825127093430556577466874176828, -36369635844041212668266134033620009714123, 303985209175762317965238444810268844432], [7803620169351227661231062922920273732985620536498, -1205450585820380268104829729157546006923024, -392949012349705220984263915258024999454], [4110852556582028934228964378208409828667885188136, 141711310344330281607555048168037585389618, 275851151804121766529923526109699773180], [-7139808960905011852864378016890055639701958117034, -677922611312820542171468684549744836725432, -155384778317472112107005193148426113877], [-9970882977465728460149555400398953838279232989462, 464846601531768244075765892505996975273264, 637013691318415629892059402170684485754], [961439721300543322931486365861659396166981513776, -1914224716085943791501178686076033956648772, -256935194409518327155219109470867595592], [-9153937890954783619482307168737122355151151547180, 393677426108553554564566308116760256264137, 620871435018439422342051964826845079120], [-3309482157089697456423104524731598108756760090196, -99610200295859912006508044346799535480745, -1173779494682341136382754366954107770560], [-8741342958097530645383612952769771350046097284470, -1244911451448200196877949097812469640464, -573765150078139846903262851698058000062], [1522305145126443235450875476178623790678887367646, -641412749418244922654590150706087553085080, 586247415567896654411977173391286355287], [-18007471976549926306978861953380821703614998880616, -57180128314514264781740662169164096927938, -991617721311605488788002081336191478636], [-4725999019992207642714360967176095901026494628614, -1333299167152366149431702038686161729325216, 957806749047181460938421126479046714036], [-15171601208687163120246586240024197477143255302036, -1179871772148526294519586694120376417470777, 761653183464911887214137956491677868184], [-8609854082355796853803484484287059181020626426812, -905331277961031169269700833483720782782443, 1373546078368052472497194730071904517416], [-5752587762136824040354145320273337046264174204848, -2174489083344260154750358922828480732379036, 629781806412971194209672177471324626728], [-15206109034632893152663989304179976409024966658298, -1758358667777961396247838550069116616773688, 46180977107093109160766028050359867515], [-4657961925747709981123638024231881087601088194136, -260868835744215425144438757923419872303342, 1110569877287678804790655248632164003788], [29830751096778412941343087533183519901320067867630, -1013873610485300074758900872242558687056696, -604300379353197972858923794176865227605], [-13409508590530175238548379214823456161489376406404, 1816031225361598481449145244542866909000923, -1651383873248502968781191745136898116336], [32597646099875396045176436242817212951096688059744, -2383297562873362973385930695897273326792008, -1620004116838544409018203086086170513440], [14067012940262805507833073097625185396884770639266, 1944689644691149881153504659309030554496256, 554047339746667284484561719821490531744], [-13485101327664521948475844192570451686734888666510, 3725762174556604181598873424960369108340592, 1498110989295726847439224206808785295122], [24511779545948650732948554643280885609955208459226, 3900725829543857992363038545186285219836896, -1834347012147758223504903649667214490908], [7571432178977817308262185221138897316578867636014, 2818930418619524749695850587319124720905416, 2030873384369982322664164792174292999595], [3958894207355846808425336454678050190759562198442, 159241944994303907890919180616043700034528, 1679711735435395181749411533862038428900], [-12121782842899327625373041041943742735133337488440, -1313761733479884032350500795945092811127878, -240602527299646906175364575426478481092], [34070271786555213052121675788614418464590103909602, -2845908047117822545463379638996372331350784, -2037057565793739640741634141821845493088], [-34189131509293346852692606659439173896226536250900, 642790955169096309654005497417807406226087, -1795629781467800104141141873563874997344], [-10625166855119123456070278587326472349005456242824, 1906109213275025129882179952956505692765782, 1029343134512730005167129067687537996516], [-48274335662605032607108488892302446887295635622448, -1420308273454301280171205143455403202934460, -596382958852114055813825838676916646840], [50811097710159690664719758308424157423317645840774, -1035936631057145402172514860676365840755064, 152496826640789862989445224355405598179], [-26874126949248732370557634165086321199356224748940, 3833662717682500523945099904895056444731601, 782200361901907784310964646732374184928], [6989220103080299000653828638309802324326883982208, -1306170520295269385799712267373833047664032, 3409230964758509006330372570781853891872], [-41420885956857802972945519472186140940543595252606, -2863472875991877631501180006378446626336064, -111956041005488530102630632196096418456], [-23562271624955080932016943130973914739336697574826, 215706559341764994551793335364478510933512, -1583981113647674377435655453803553062317], [-44380711385913922256366235473877573292978435913948, 851499051783196543144785555636396738355629, -1201687629014114435668868263976553231592], [17908561114943810248027750923752998526449855738364, -4123498053470855815256762112577776123388485, -1742645030377518872373229957789182421856], [15279102616618355995218219692886562893669020189320, 4621350688778519893816792027933973666569770, 701011964738565557055222583761569001836], [16201135648251159042310433037845927611852256223930, 1621932004431189123993540913707381709183968, 1963732138359012666349334995358855829988], [-65634671671781146960207803103637074768012184098080, 61695057947193268322540022519761151351192, 1468793880074514026363617348251088890576], [-12338488368101758977294987081769858156587191196534, -1252150075882487518917213886167810893706528, -318435439835411180558375947876371410364], [54478081925783400457489889711792961230760531101828, 1794546560919203642619517695899301638954853, -3703030206910450341345188556035061268480], [13618347585340228532749856019546387916134803712198, -1556521057962194490520338036444066456286008, 553210716102726402140970194824390654043], [-104625309563091745677926226588274045357762410458706, -5003055372712364435078411633350033510307448, 1364414222814172552709591887726703252435], [-28012195223551894006935430649973038321723628144446, -2586933014142436783096418592450001897089744, -3751921513347210926545894449103737838246], [-16922827892377196257767726545724842208970090007568, 6453647388686174806159198268938940427764460, -5603669504554393092171343867232395807480], [66208757550396570549763391262917980577271438172666, -2640553100492843605922275680070861343960352, -815719573395233644085321962152125875644], [24832526682369329329870898213251336878597237664054, -8101048430401596102663748989903943566932568, -4215882405347636461686813820210131471425], [58279849285796131436556856455580671776338575353080, -5657382064565169219362498791375329689922762, -291749948828473199323977035396661608444], [11414244634973373636577661711548125935366080525342, -11735717977688636013462975605389349558134680, -2322943152054840523458079828636931971209], [-49349679615825967892335365341886666025194167418830, 4547581594638808700938856688695281162172784, -5365091367079643863623502576022196201646], [59999174797544049622392384693293008730973162472988, -866480980923863576741319841482813481450269, 9730975206782123528776731936032072911328], [-41361001418235682923402638922552432818036666024756, -5296975324307705388219667611951956796069825, -2995142018820267919744328397049579175128], [-37524051994896900884948830081549697869452165432622, 468537911419893408628071840914121584179392, 8951849315649005062543191355482548998632], [117222705255387926946134403557911738822082850572710, -10981964799855720862509286889167811709131448, -3938752898857364506088082962650545220469], [-48571028266011024559854104422700433336897329343148, 8878844486255485247482566380944492376013417, -4765174681165189487949878327175170031456], [-3707486008791670377945843674804004239391987459540, -10782624971972228846692765448581152594414345, -2642112848248351215632585185268929858432], [40249961553557392252103816351419626298947365248522, 6316842942415578863876745846477807729587952, -8487567813011073692169436191494029552318], [-86425216275613868832883144857714787759828490473634, 9794052328280405077764465645906772255592424, -620573713903659731880427693672371412601], [-25203820312728217993808385224255057550297629132864, -18832862056377493509854538215836132078912080, 9520542089895821511843833929053868301600], [93305208657916423448120340101442441270621225088792, 7739109714987781786859584257910492295583198, 6877616623845795268946783638357328682612], [-43460879723554203931384586758761965785047804466414, -1215140951313044097687578665105684514704272, 7070411664394356364317405451157052263410], [55904253633364392974838802076540667166271321618120, -10621521244007747014432880965575642336974982, 7124138007734789247083138803686330048876], [-168493203859166661127737937160705570935332280059954, -7216348902499132130607305840527928276743512, 38793906866577600858316501132417082383], [50524778778786374910790678104832126581408404485558, -1561519233039465098419719187141975771696440, 12700753891559831329190548977237292416187], [101149320034113260969752641594765747442065140510928, 8589776703769228559696574481717555262149380, -9697089489636679484004492787426565933368], [-198176320807107271733675069492704220709663524018828, -7115158565777838228125807156482142455736175, 7175848766292753944001596444212246072816], [-6911050389470861049702160890242784848987207138838, -21036248920769717410922955690533801181449376, -8035476134097860982094224275607400314380], [61968759203448690722417794162254967111338722324542, 23872464059869174471642653434099225906031912, 3546977622701881639506037460765082143967], [-211452506387050051667100259734459656958676315969284, 5995508630200853169545284632038840969180283, -6400276324627665480654335928103059577976], [79212852516831999790733633917905737355250416998074, 4302955593061575053455937676421518481126704, 13009725020842857001393440930622642466426], [-135001835086313351825889543685580292771011879715116, -955707752458185588281695914965844807224247, -7083197450392094618696494959103540159048], [110631442954386369892212547941039834801898551988456, 16676241215429574013001546937907357745595426, -6006089969617448545864061566785396880452]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_16_a_Hecke( : Kf := Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_16_30_a_d();".
// 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_16_30_a_d(:prec:=3)
    chi := MakeCharacter_16_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 30));
    S := BaseChange(S, Kf);
    maxprec := NextPrime(2999) - 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_16_30_a_d();".
// 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_16_30_a_d( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_16_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,30,sign)));
    Vf := Kernel([<3,R![-480436149154912885440, -114073987833936, 6789276, 1]>],Snew);
    return Vf;
end function;