
// Make newform 4.34.a.a in Magma, downloaded from the LMFDB on 19 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_4_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_4_34_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_4_34_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function ConvertToHeckeField(input: pass_field := false, Kf := [])
    if not pass_field then
        poly := [-173679864984, -65185566, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0], [5562320768, 542720, -128], [-14915325889408, 6776698880, 343168]];
    Rf_basisdens := [1, 25, 125];
    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_4_a();"
function MakeCharacter_4_a()
    N := 4;
    order := 1;
    char_gens := [3];
    v := [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_4_a_Hecke(Kf)
    return MakeCharacter_4_a();
end function;


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


function qexpCoeffs()
    // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
    weight := 34;
    raw_aps := [[0, 0, 0], [30830596, 1, 0], [-17960227962, -1535, 1], [1513669971464, -122346, 180], [75872552434149900, 2215839115, 256840], [90990147405786254, 6383188809, -3668535], [31012396103938905618, 1069301430158, -184208050], [441629268725027245076, 11850406238205, 320516280], [3893540454005898244632, -94999163347438, -49295676820], [966525417159292942356126, -17291424904695515, 1814914414885], [5272320248888637300025376, 3377924000980200, 1180388959200], [11595145155737265872635814, -1038005378158598451, -52265853646515], [-224618239797424041040432854, -641632766910683060, 448924689742540], [-519266481320726513547062740, 9557870528390708475, -210366843981840], [-2408988973227730386529059792, 13537930853481011508, -576631108849560], [18022985977071359477975101878, -27337706038779017987, -40829066390340995], [67002079704819449072250834492, 666090201638246978735, -355142845670518240], [19719571713246511440197765822, 1142218528484940792945, 864805591092629745], [-968108420181063622534356332476, 615496127347910563209, 745104731828763960], [564448800295060626194861784648, 17197502859019974862070, 4210979720475567620], [439469667150572579976854626634, -54054230675584759417386, -9892260507865032810], [14348919094716278760393857983568, 142300104101330626711260, -24410580389385198840], [-23785361294126927678715029762988, -343058681995418243539563, -30337551274260013440], [-64819207326188006491266698624166, 681643623035032521390230, -173934093594165766570], [188739554673130309076372491493474, -10244667144076928632724346, 872830367604903077190], [749633322224352461945408599212006, -8488630544282800406450395, -340654759598344399195], [299402039723679213653646298965608, 3388108025976295045503438, 4425964287054609567060], [-2502421172423920678641415661759892, -6686741710876604366677037, -4360388760133233368840], [-1947777726706378304320038713286418, -35609821852859818540706835, -6061905570453646985235], [182043691851649895594833550605938, 21623239140113239902535248, 6197663233067618828880], [3462647500692901198199659084333184, 572188476577121122528386864, -42191845863688795163760], [-39462292979528772385573752116600700, 983053362752692952408636905, 53028520999116031849480], [1862228976540811046626075796913546, 372788266763660527301285596, -195360974260726585376420], [-212262818960507068643467559387702644, 734342477675604384839237235, 77366232775015679111760], [495583740755994610646224954232079894, -3488621861699786372181786655, -871421575371440157805855], [82851441735187575201068744507232920, -6356137307626110021380015310, -1691409775194447751565460], [-414586335018444550957324701221480674, -5010716096082539804717018199, -2043743043490571285908695], [-1339456339967315218622764090737383260, 611658005053120670361818745, -7416507790705843911167280], [-624171277698463631379932302951721304, -19275648061834519631844793074, 2020889686241516027127300], [-2187918909945880275603362170791132882, -26423612806426963052178103887, -14157085516490098714971855], [12336123241584551955182044351923360948, -122106455626487950863376010915, -2506588068772321235458640], [-7932569856444983907271013939917387210, -219703215215951341131363792615, 13346518003478563796053785], [-1345743931981416597154773923667062592, 152769159726988781900997446240, 27804418277042505746513840], [-32649246431267837352824032862454592318, 272961942619300415059936275702, 51620785532716622660516790], [-35584130594399613725450250294542838714, -482942494484490540210638459959, -28517710221426423198462775], [3781253215359810315146979977661316808, 716473235016960123250974823110, -193672007427357434500225740], [-63127905674918707664180147931919807276, -1800072985539903121472530079835, -62532645670470180125241360], [-604587149222608247898576522382364534560, 1234389137063329404463518204120, -557969854524452947848682080], [-268452876320063572655901782998674278172, 1269174167820603126906191882553, 244085066258845749542250240], [-68708145506573027261903034810480375706, -1859547889378085339213454076695, 1746949835014089513507350505], [401662228157862034955803190671083435498, -18272597207679981027597181411322, -204696654774455029940012090], [2088574070877323372705505271383775005936, 13931387660524568574429608701140, 1570063711319253099940881240], [-379064616773314169559089109794890157326, -30029550980066616999585935241810, 180055988279022925357607790], [425103813528309690585816134295274741500, -55682043211863190733300806376225, -5476167986259416462408069600], [1775434683662779760283946349447341547778, 94422447523641896307044506051968, 1050543973533945723193545600], [9030859353924822989972430169716346990344, 16511075409780886848120084322214, 8677255118982928643971079300], [10119062956325746076360620606861307868558, 36992637785197680498115929481045, -23404158172592684202481674155], [556997281477777664888765348595912373520, -157883806310332876001571276707940, 4443091691689069995626535960], [-309565172733964563045872553090425102698, 89256924185070096755409083159997, 42704681787180827416648987965], [18229488735309864039038820846003742428186, -89589860999660438430914121601730, -30160762221937231440044924930], [-10667910837228328579572080711182468471012, 107510104293565220747480901487743, -32280149046763977829703592840], [26002838416725485727678399061879444066470, -140885233271901055250780215715815, -44089583702978564562241053415], [-42275161914182174669867622107890559253196, -272748235172111023524171307234011, -84961799032601817016209377640], [77126399630023853132425964193697026194232, -933555278160242039727359349677030, -216397677379319898431430336980], [56043748983299110410458660800185589347386, 55600496157612694447959380589996, 41637935889919236445077247020], [216808265956096664122054345591667077039038, 581898732722120723778914094827813, 100671425796755139926929731365], [-209955713428399759429795349943258204931252, -1057494812923307010082686148323765, 394337868003870992024756648760], [-145476550253786201193030105417148235134126, 1929723914199506960088391181521464, 99979079556491254648880353080], [538062657365883657891542921489090370750300, -10507647103317139123709463157781145, 916940628556604324583010248720], [212410494157864354997443130975884113536990, 6769423009948654339071425110030365, -1798091731710931833027498808035], [-443116904533564952583201644696770895397534, -11529949076578814810073914577111464, 1176676701779572052199384636760], [-194752306436428993610817729782070277003416, 476147160046308630764597263598670, -312325822956427301102613468780], [-1230154459190087118585290578823068417323664, -19376427922283532111943279771899324, -505174407854690119900304185560], [-505907440311264338568581084147309510669578, -17786274680865448943807190903181323, 6187549019930431030693167026805], [748646206789345674833442325334684730220412, -23241169026831415969418471194957425, -4822533039976376249056912750800], [-3100409753148222487691827830550117169405568, -17424120403234915581685019968330208, -2985093702214448092974943169600], [808690327747490379011241946752224507651334, -122980840480787667897568700104195, 4996255864455019014379341051005], [3415841247115164514551440847930837605783054, -40436096180696158178068619922444051, -17843197325661885793044663270675], [-601054610126619221391569797108961990072430, 150404457616941547818632214962336350, -3319469837030782253617121799650], [4443044504041318814771162821532746756145306, 102998041591393793969396803046258460, 1180026976879731505893736360860], [-2764534912717068181996090822231880926561884, 9996897219105983120575503664848225, -3944242378500516757738122371400], [4094400126064836930826093871628155600433446, -192728866757855763538316693430102735, 48858847097996044534872505346865], [-8231984327895742153289376945444231798997584, -134701297035165968027075099063475580, -46048475556307619734170068970280], [19415389669015499772111037316625611359726514, 318910352512145053483886235748404894, 49302640123404954346841528132190], [-9958313271273766930331445108890093904471112, -353841009442563644485665601293833670, 2869894748326733252713665012780], [12923503058070426244577775930637756693053372, -284643775397419003120930228155240393, 80701072148345606355942949758600], [-46742800607288406692123870811050649863967294, -220585286325344361048521081931263850, 110851249376753976487078838712150], [-15199059152370711700757626889334928085342518, 997159728715327610910796262505559452, -122546901310421841324136154418660], [-1351810495032940329136590710474472873128370, -447406062450081358022175789160983035, 194390526722093022613915323234565], [-37706284059620311799740617785459208189458992, 173637974875139682632601342797350908, 96789236234246977062642928656840], [138892974402941848121628877264359942219513300, 63446643976550279785800354697686205, -7147133667366925615869797749880], [-9901458442280894002066263888866644057564704, -543376516362648263787678263099131560, 346674046331079936647058358403040], [-286187908936755917870618119194116837281552408, 228596888599784537328874282494766302, 215437415473868153250251521268100], [125880960137838686692425696734205004869125100, 356111547929443069955119391673950075, -895222223297931110840321158076800], [23017392082368765735370332675741636344964596, 3915529419585440682027002888018744445, 224128490357806289437830052965120], [-92491678814375803198450115504664287784875016, 4431294321468213599207054530482352314, 34716625876466049538246216397340], [287886768894322113809867288329265830128030846, -2376058923555890840202598513577575655, -943295753872754377871352514154855], [358932533540827286114514067499302236446084874, -6474513655493575428489763720320582100, 337152868690002099565389678473900], [342223362892041840199057175334522168967187468, -8156150423209882524264532633973597157, 673915897456121107721652836846040], [-377913429263650009010989902255734393491113826, 11917103887328896877754416120199241425, 2497875431190793816565750778457425], [658697080864619417636916508250335939382237732, -10304380870639020056815207628429796543, 436158361683466125249115069002360], [-1065614815317979405180445023378962667144379730, -19087975592446645262527488904686157015, 1013353396204292419717020547868585], [1808884390844671911940915346966028221718513204, 18020814640263573126945208834477102629, -2984523579824332833647766847744680], [24335128838070368474181250848325673289635130, -955827802083775853982436441978738900, 5639279539201051518391390154845100], [3725596563445463231613869220786456766933803068, 6575894920522684847135977507925573175, -179767385436594222302621198722200], [-2671209029120866887842765331762415045895614, -53963230963799344327938546881852724264, -3003904276644826690423007349620520], [-2983758927611938757878028129322262802717221812, 8771957961373280068189569038438252123, 7129029225941737810795943027263880], [-5267190361809339435456869949050392853037515694, -7399503400521431284941940085135353744, -3767567899686563284780442623749520], [-8703214707461620792403435446954760545962892200, -6563342896004114643782688772283122030, -5377778607339826290774207286034980], [3753636709987844512137098480665917612191417690, -16913398501264819608842341704428445930, -8485830970969251573411447503417130], [-2238373276787854816281362182754837915037836704, -99826277222616617172651424843323141144, 3046481952902759639065158093255120], [5814639493351845317953641461547803461449771494, 43400661395676961810029390479079842769, -10517416071626274641731952591953455], [5440781685154496024427609277789295628924131178, 76592034998691948203686895189605918798, -11305559253841078340249167275314930], [4790745659461594764620038370569897570150003820, -49563195289088343542757540062173319805, 7804033559516338773380350839006120], [3192931705057707318257623501227933023077133432, -118134323882618385797061054973034515110, 23722572594645695774471601421699740], [-6566048616022881276802966160236476454267591038, 23148232470561582281220763876662347590, -50272799689354164574671966216482810], [-11358015295711470184181325475597000717011910012, 115694560314642861088069981959025508313, 26476443077893032602544748509448440], [19490108663953574410403879784112962958318112904, 275219310122792762905885389696482209734, 28755688918877054809526878663823940], [-15686646895361417587564126272532459046806042866, -8086274864627656426203274145616022171, 12257044231170909840199997020621925], [17727526406724384155459715331615775704967741076, 5089181826600749774504849452984370885, 7284920070068052073998465367216160], [3926855904377426113130043436378539493057140758, -73604667578058427513947948751742427015, -36764723678833476221813658483828615], [-12399956644846060121065787328218534588742382942, 372650984705880288283440887574519230838, 44902223658565618889353676513965110], [52942731069397485684817242738478511778846489126, 365288330421174836679408988907207576381, 50685219139014479950899318789844925], [-34945138431232987537152653389363434553087568724, 92827692949724324188896232078900786731, -72776082269139003856547609963078400], [-32976853354546586727055451266987763734185175372, 606443356688268712109991995570194923165, 45288042414510336264370489612310640], [92567319810381300287072244999370858189190987070, 285201310066881772448165674774236956065, -47731805840212197278420320824762335], [7934857908331036802135255419557428611666587206, -627171482934760378621162469906876268195, 178459738901100359671811529307351005], [77641766176335870593914181755040436552508917456, -1564412241241386006324730112609498690340, -70102177562779503855289056227212440], [87666153341704770684776196608614526997401634008, -1108479181037498485325010023602196141262, -378899131421616453243972335922770340], [-54123676949455576958481444369778027858561111714, 2195335283583870680836086966938246148501, -424568893559755932359888285147235435], [-41834480732458980324177832611408171134038148380, 2085562042287632172865328835842710484985, -68534969308906572024536654649858240], [-119006772020764384657009209655423028203352135448, 958785973864899206725679234024486038302, 588673450586062186220419169042397060], [200568119888955499917756528525728708992140218096, -1711348852769180600454765606530802827340, 117341243576664312010021496961253560], [-117240878492737140739927499601783048787162299274, -3178035876298501588156797786979382189199, -69671031042833592820014222071633295], [42515163758227166153334146260353562902789139962, 995702577304294730626052330225871422700, 110936013024233160382937656123214700], [125457597390378205327775001109443943671070037762, 478688230843963090694772144678871937910, 534592771012083422667973668265760310], [-436592684088534407400802680519997214556503427450, 2495112232542735217075477711728120013005, -203923700677560953908632038790693555], [569735779534940929097492331311731876310455533332, 1644245148022134655698849609307140009237, 281939468966966841053646958046128080], [-301186465828288075129136648154342740328445654626, -3416663822493230885761325120828222518311, 1338388502390603740306912410485238105], [-287619051742191135140885896563673663898495167446, 2321332710109518058078544511387436481900, 1732075597129179649339230598116305900], [384903227992892909084108914468666356598988801324, -4722410569839246989659539615340439461485, -328194164165903385650619822213008760], [260102827852136674929070298376485740919545898166, -22572777030845219409509817952537415222155, 464319581964748975276650054440870645], [-1278541919922811682308649649179421681970790941384, 463287697277386982052040099911339670746, -16546885853447163499110657026500500], [550194633794109275074159121164276617465833406780, 5056892621719001503250543968755245399975, 1926764432010500404530807922931334680], [904597229889837242548385584118086627017591070142, -3955637631841199676417436099287025251015, 792518379003221501210192096513843385], [-158862294905765299645811796910499140532986617528, 8456878237353303943072654245771890764230, -1339490071599274927067592530050451820], [-1925465779225509710610043802094317695571414349610, 1070191336989818663048571530021922338685, 4841308997552416220714874500743819005], [851379040791562163181110891378976498263678900826, -12556284304554582704410418134762588574964, 4500299394983083582624883134771444620], [-137482676706477346785198320360743698215899788964, -4902885821885445991994972323640006721465, -6059571235133465765097887273377399440], [-2804610307976356262853176866594508191439411545248, 30449224713045349966807134528873657164312, -2085242273114722547230327408976555200], [122951233633347281709089431503544037678892323822, 35307912947833882127128386803573030387877, 7061034197655070910657737524030532005], [3824766403907196774515209452269014454480944566642, 4311414588427566357353368300054051525240, -2142024402975907896049162377239425160], [369489994020246762424870432419772913907191830388, 22902182822671181465682207454678129417893, -11006376285138067496100470359831278840], [1580194942402354473715484182438594886378174336376, -26448578322993062612464690385029388686934, -9193285993125026519588942235222709460], [4894389298780754133124130961888493301641096789388, 5240562292428778649264259788565953529123, -9749341795886529224619757914146041920], [4137687992020488280665083565667349646617552902032, 55263100875038294970057140958045500095260, 3856099393496308688014415797903175160], [-7041817220139163583806601261555580728401308641896, -76604043589899939096660609740909153935470, -6630408154577420914878847509658540020], [1193625636185814690771525869942697725876981312418, -27206878270056968518181213792025739015530, 22167109290048647546745625233895677270], [1894422997080268914370356855685704929015677833386, 53274853297259986106615837885961972644646, 10831302966433458128643384323716272870], [9040652971486117697863816463690790062233349590062, 55199609255035113526315381273432440593405, -22255220824688949981518350979729147395], [-1725063879088446110631346706924527470982823794764, -44382164700409104188360820850861606472859, 13669333706638861673798817914374054200], [6420114524963951639131783927599834929309109315258, -27863251168142911772084850605563783033092, -7970196081652896112740706774610262660], [4097611056211747765306474943370041476214239723976, 7728639549333037535188090117273214232486, 314106018493518649403295817200308820], [-7852960649632570788774494387052167442094541476404, 224811881462953687948797110620785978421395, -7341413741329169049853408510989235680], [-916505823664193337871014065420973160756193259054, -41411590952528884211366265104407464616114, 59929584540365762538091981910985605390], [-19405783493494318240421493594466607955709129980456, 53974242530698341683603006153544985754834, 10927699326959628377906201688940257980], [4357951116046661739422183069643049727186763578336, -46722733243400463255755244458358775951320, 72018792993976795145115525572104520880], [-2783593940064686004077465698140375837640307702938, 214731057670089799600685348734178648952477, -41540534030427722976071752386087344355], [2883923704743787001969764337835569039042505086450, 133914507992471673193489507997773712617230, 12899918548603906723190211184155188430], [15606358462528508370314485058370665843877815883126, 187798133930441632438065058941761698355641, 60031070399314273252990606696069825465], [-14826681459703898929386129336947049416476449082884, 103499287609663694752577215399417206381415, 22077722538002108439104062436316633640], [-17773268906538985199242172290214993403775473029506, -434615458779840226215357821783932647517395, -47988657061844358422241850998643338195], [-31587849238577285049260546031334107792368630222328, -638593691815726910618560818596417393265530, -106188833492362528090011629158065765980], [-4797809808048469087600799048350801886647146672886, -646067443423226311949789788565257682377506, 14350039911399172284742900713736076190], [46508839817286920847363331617431011925836083755024, 64522376586428336737273938527212647060540, -12194546497203182256089825436571140360], [-4668578256166587046976107411160474926159818723558, 37994910891830833325427234148768052678750, 26479376309170219603323075224126078750], [-55620059993626670532920724482738229616488373061092, 415345688373023501707129572757810809203175, -110981875662634682105972701601347447200], [-25413900308328020796863235731322132434593676706906, -265175761070254684984966178581795922248395, -158747491065314481043939243570069029195], [79131536320851817580594172092151488877765403179560, -25459982043220049637222487393811891219250, -35994802434635867703832424252072102940], [1895372207636421327517931738086583169838686540974, 1047708676604485175003044432090943402510145, -82621785165772093827063895024729397055], [-15308803370776395919549167373802857276576488025024, -941873766687798123064055169418846333747344, -110956008295257475265924795652239460000], [-38031453661870954223668176229479272716366852889532, 1597142714219098499485907378440135186877585, -98845964959417800172183881815247168640], [70517570085829188353203190628800272659464512026566, -1082757363266732239724046496943104731028239, 293249532639396511968885380807027462385], [140225029898842425607502179674353745977892745467210, 119311392814465345320870037192762160528670, -73460762125026054382394016473659160610], [130175019134159058355119639172341211980956184365136, 371105600455591812330749464910631087144076, 238162057072672510804850045601266710840], [116447396125172390048412830337928406335442480374230, -523423617188038191403606780908258456268255, -346990233698771987304792370568150687455], [-173491974099383814315405526700427568737197289639202, -251929155032908409544557505875107131789207, -247755476096554733762564759295674002455], [154277115865582613936843617933955562551238802275428, 3284501104243804044816356063240449016106633, 387149291516636197033777054857212690160], [-169635070053643129775783062689463254985109149147798, 153054537510328338349261847236624939787580, 478882957730412251322337731533512590780], [-111506267348361368665475665566062724075610164386688, -1362862686595553598493623750793362063821920, -67693837494693324081410780678210062720], [-10760374534153869376895971628098893962025377782654, -2788608035134305515125589799959148587389704, -817054602990325975077370951481400973320], [163573946730899873597038631735818502791188729323148, -3588262156429571012905096752542625931462797, 467335621391762910362644577188915694160], [138207808105324925325117181383747695016936214515860, 1978696630937986886157862090988486533667085, 281398553317225133195668724953163448360], [-306924215472546831585737659066179586079372059311330, 59066953309072914821627536670425987116245, -30138120176289045804363259956220614955], [-207399050499154971027277638442374325841368380609372, 2740567406560968066425338987890683216977433, 447478052451219476828939619866270760560], [-115066574713404625821219052791023643429352593481302, -6918514673203779415168375828035597934679602, -1082864926061307670206223840909789809010], [-255864007865093124181352172287695620394163998897486, -1441555906822283226000540879063759172890960, 154341399187062167696006152951417022640], [505069229478092009404605224785943282392609173139262, 7301264740090540799612599998835872857451657, 262288649515511846149961730467659117065], [622327050629961592283501005373388342861756389579970, 1956088004412918589535199226290795470987360, 989751532967692768515352145891187928160], [-805956473507406828764902886532438390337171777379640, 187905824632686096612448677726552832885910, 2008019654161789675471664093954565306500], [597533756184604947979190643484494779890797283592526, 621735097785331956510607252896519135674745, -655340231642549675275730678595081640455], [315159123225079843759477722226614769146725362714832, 2649862806215896860807574946605985302257180, -1860337321628296350120025923411724572120], [330335136721131474880075249230835964361032524638806, 2383144402378634599369274743189304617302501, -149065500185941051423779350088931797915], [440525245656876331124993163868662959302770197782754, 12309224881359505247359322358501743117932800, -31792949955028857485463650959526611200], [-749478356483158264983737531294823512495906591115540, -6520115483632214351785680923540937440740205, 659943130843091300226998147617747981720], [428376398160672023039967797616068153940417608470398, -4220417186233251183601928335447165225786867, -1875034825875652262284449635885287370995], [-170425761080093293285198090960350877522612294236928, -1454332302376509218890615353397392106392000, -2376721239102941022996630259083012576000], [-97244978281893963723712927399275868116448717368060, 26180720392934263037966020232692554116110705, -4273554096043451921096784091467285020240], [1000447961508652310337028233638597846892787013287434, 7854779417593012467750198083689126995128630, 3628315120581268338906465092368066563830], [2213651770913702556678150421778288574585763973590796, -4962446158081677752269898928625979134401525, 2939410937617450336446453770527074558600], [250115716172652267910291165671821272681700336532242, 21190337652679567564911530119393463701986222, 5661835891482485849286523528903196504430], [2905808487610902869464880072725331128970747815905942, -6930873183121010372345152399556479514191255, -536139594614823378856880634503510594455], [-910738338061249380380387099505209199024541691750632, -16319385426366166071999773032942624843901022, -2798331704795022752098566519734878990020], [-280558134612891761111393659176199643190493418271972, -42489900302151621670666873492848125002358257, 1352627480132910504384563739735347832200], [1599759418852913953611079471698650450371358138415912, 9054520990637421761616541889991867037225230, 5709824008965638154526423645130048094180], [-880799228917614685066003782337760602436405397924310, 23095357331573705271400859043412106858234700, -3080365692940727348835484653945205173300], [1521367637902155487414333030472465156480079989580080, 20963844377692954316927188123043814373992420, -8030672342842615013097241407315499971240], [6062205791079629736159054335060497247255922051228498, -39132537873843284889730218113978710298655330, 4128221287285624988930114595724410757470], [2042233147135429724921691762469701620034173692913496, -27599943381651717181463500195555200073472174, -7059286783558510610414918526229853387300], [-689607250803234014040890510495494760786174448911394, -20626979934509644815103347462709310792852299, 4608822345119353199180271152816464597685], [4270596424302583536000186848563795813031628561202406, 51834693604702471846194847378043761490282265, 3655422438108213258681354296642767139865], [2749383698992487902335465112442289496982435318919032, -56947107513277661425766180796949320304870470, -2168801633376479116579558221558098062020], [-7186536051720147133981204834390225888751523676878462, -61861169728242326353863982649677295355118490, 3803558438753245476088453867341482991910], [-7170309312648627862780745096822420273131826720196208, -7675682359658796340083573933230109123064308, -13960783633476254696654025771965462255640], [887639301387040111635159665778328901551808051949972, -148860841751284502127032108681042420571548643, 13869875168941870565130362188894571854200], [-244459287312158811275829880075225497874803670678762, 16937601388785326070889046678384418405349845, -7761088176320416243246064582667967229355], [-9837527559821655156600535279708584291171792457928550, -1894441145329183396351324957426021444679370, -10518087224317633957454411324321913739530], [11690874562854768416981816476999523340509413633322400, 10831091198938135162475718158676064558022200, 11354205101018912958728925744372729317200], [11856660549485330198899750361660516995652613897452456, 50255687656292160859996998222383536254533886, 9371068816264688198019631581672111630900], [-3816319462402479095921284890477664403329568710871124, -72600807686307551246503926597160886826293765, 16331699824696352248371192194939209071760], [8671141337353892664623753869637666339670358809574958, 174553471780899485470487198881893985583231973, 9183914435457385109413894674286624541925], [12456622037817242369214877445029577866874921869330868, 134246315862071105569812044784993055998509685, -486975766633490969296017587204842202040], [-4212997160474380255696525035880956967330278152145472, -154523570299054071856233931650565317501537840, -45142582630787030787701788992608788321440], [-9779357057406927743543886144187124677624002405103926, -62560101067572641782385115922795428721424930, 62512166856116500571351617676068428019870], [2551948644506037796984766296305731952722938118762444, -205858446544167914657015400300623008454520621, -37389427203021774558787138877519330449440], [3332220014330123637875493463313280561153136559344080, 118567938331257308034125809935876598192608700, -256100697553607595805166086045375712120], [-10608383511978504499193183753376784403692880298888238, -3482411696119263159884648288987115204820770, 51595325674146781559819799951735325622430], [-30270705061506589837856748908589188809643346110012586, 53581636423264319696357678029781159088808089, 10353030338284816341586592899299888878745], [-6044025893752316770405916097394101897829021749249060, 189561655748842480944170084793949557224308815, -2730976605999152279339725838992973481960], [17561298974036486328936805710271775170543201707715560, -271084851584750134584731725092966260213453570, 6023008049911565756012957353485391145380], [21231067081709100632039017784762984691501276829002228, -365162013856662956510206215606641887700790307, 14624246011371256823815020395748641967200], [-9121029028567365028571207385723630637491124882222084, -23338544597298653601761896567037018339801385, -15389487087686715250969367786351404301160], [-9225892936049957201906150146955223334296494465829880, 71624508072617743776009299624356332094473990, -1615043246449468246153058197414408035420], [-20151266668708715237431369774678764510181025549245810, 97549238628747006438713157159132256568963505, -67388936145255772276083873987019458521295], [41689697994115573624529465118757256837296232813832210, 152500898600394688661986942507987495351392920, 27313576611652439359774911477421752607640], [-23776879268371600594905243864459955492245034193725416, 199274302360945884465116948215755957588358210, 9663632613014605589422235737608200648860], [-33207352014560358296106625983273945540117615825572320, -454551233611801495076519892843208502828657880, -30552572734303103725216007390181050175840], [16536760669599289634733066038430865706885056685194788, -332732407920122498495827619590277700103613135, 3357238260612869836210035389459075332840], [12779508468222345889399775416114750029491251152156716, 203520527253157433791311149643271710247367115, -158042210067360009344392146620111980100160], [16310179140042529196086604225060552183549114756817456, -14807700160903242111259653770945950050626844, -10709398282523883627126178613980844520], [-42133896081500522952273012574705102311208695537796930, 43702851390552420971804246385319974322495005, -49312654668422380966036426495984972216035], [-44995471466029948673822536350868516137624810334069182, 76874651277012067305144095426083518219833400, -125477212489691061201824975562798942438600], [74546658022557145797929232587579729181152274226922568, 28726530579643651680748286173240410035145878, -242474429509139952390077856581934574656220], [88399474962199111227572181970521507382801578883065674, 168943767301405604712213537269841696887549910, 64858892429252051899426556808021841532310], [35412981985595774364454978953023380000155630961480398, -454513487850775053055058326074907137363236787, 32621638330027435274972831836839803381325], [85547911851426117153189315380601232323465408833253972, 702607796265521256666942493668963077011800485, 73065980756798399273297119262424801295760], [2861884734138002647022286817618226486459787544576982, -68476596587702971382250275142867600220740495, 80993731783582523509670708403540220302705], [-35008719639911669664354216918050122403016112181842852, -1214285958056861434364953072001291890627711977, -13275243310482225024241538823336317986560], [50121108037363472677597879246565196562502550111925734, 659860263414678191463222114013648819814379789, 202764179120023181988181989832468140436365], [-25607088965902200354230477371991416194801171442597510, 966740968776772457593462082621699024117286780, -278603088380114202433931940429095111899140], [56871321948065706457077099956646590820498531297535616, -1077446496146510798631766784347046007252987744, 189833476177657771735564051020230969399040], [-45318333576649451163918682204589524486906950062319996, -1090760476831793769006632083378375241269042911, 259814973722648409383767190337770411352960], [83643129988465219008581699774407706651732202845731334, -225495735650164564653391189183517772567176955, -141718332784181310954370430864317476556155], [269196314655944137289927309454206421988723304662242590, -1040065330682418719218577023991065681285431315, 25534307844906787608949109205909114644205], [-83454149814624279043907330553223840534219227010257246, -419397084973027353537946690306811834596273466, 119567292636287142240829555542869564377990], [-74229069672646627553140985125075992754945794583134556, 1149706716640750554124194879219842223790807425, -213367725893707693423302403717957314916200], [-192120971897835006335174961671975920503515896148127954, 1481621244063507642887742110855894454004410605, -92699299656076048449510600194000154898195], [-60354209618023253687753894076886837470295931493083718, -1911372924934003196894416391798486426795606010, -594805694618387509189920363054388525924410], [-140863422391800148480168120121070911082260006044683076, 952040919584007014006254379936062987381033359, -69412394098967962250601394792083987323040], [55158834317423444837773013173670747817937005527335494, -10159515694211171165958529384984132283029131, -5691794605173124570661020007956295628555], [-35049006388057560645042775469485007848702957119329458, 2109521275554479266348289477152598760819510825, 685619186490980650132773241097886187206825], [130397225793058948185573419157619435221816553063383764, 3768125219334679017407877860055581850206068989, 124741117407407996402365985716469225629320], [180620993394236814887460847092408525441229253249681882, -3274184602615218286559598541417996151914892418, -244804636013452678948741532037477480407490], [-40039770161685014749166203134895843902107709518676256, -4648717087327370513103224273587170298329144120, -537335509362382074623487599145685709815920], [231063181953952616769447716098398278461244272405300466, 2252440502062390181611341533024266084937648856, -435398833306019260598682009081998694801960], [148648992433101519435120418982463720019350868399313144, -2825399446418144099132920014960462522255297126, -562143405406653723004760343168299717416260], [-81357545393971429481593525385006927701578022598470404, 2630083892694157907105704755442767735786520471, 893626624273580927349807293755695265689880], [-26234310342046536453954263563202091576659849921595010, 4341187075981107872078098128024026836326367545, 414610485431865236359945024486144540380345], [-92643539613723670045863961816975758649450627142991862, -200515085615768319834399927818709340505312970, -106838168785908593939368126081971636757770], [-189317621445079692796466037302551833803172440343227628, 558140271812231372681129131185784880375453885, -1269872033048732692752694577109413825824840], [236895304133418016485982341397877868584116018424852256, 3091441600594880342300626950450394495311412936, 1321021822364913681430611601082160822918400], [543299051317093493906629850980709337701758996543380776, 3105126453471651372080546713993748134983966270, 695667528278269030375265501775036756620820], [352725003026029905620382718441926853845704377787769144, -15082088892597216025318615670907963932728365206, 619686019387639885624805507230617605239420], [421737303821359604310923223233907590129088414896536262, -12369325732050784489735138523779228905537685215, 887599506540366222851868006605984384017185], [-149186089714429624615481637744493941879717213461089972, -7065284920769460451844446173310248867115688157, 1277000478532947595938585674912768283915600], [507043845785349108120821462503269295434114525528427344, 5435744690786769373763323622556489447414210060, -1247235208530127545239593905808498298540040], [-575625638579516244256449102785310005150961705508616878, 3061633955096028341077755066324778478621641902, -1144663233203950052947738966988073848045970], [901929918521398040821154728162638996913339729236602070, -10699597480599215358383043430230310615353909715, 664357475497345449705466953643282385287085], [-433712731154220440080527094328685443725699854918334120, 4839286989082776800213301235280782752589625250, -2175056506200333038850180703693069968748500], [761884669987311049232081777294959859368815377706730338, 13469018061292475401988127781336977722450783160, 1463817808642589222636551875651299954533560], [478609713827527836320149998837406598541847733605595118, 247560087769218600433297255505796630422607285, -1764108679270222402316063259111956735850315], [-19952398989679827368153043903121753412155774377051276, 3477228502821140300203503966482064375196052629, -2114534052298871001282960312419901454465160], [-86121703395808559360586605978120896647613522970333574, -17467762003324384963155800005046574091110003034, -3066315279956133832572887523061460965222810], [1208954424991229009726155673093837496939597008178696588, 9113198286448289871065714881171453582374132075, 467026526793649746651926866769724497872200], [-1585129545965295586117147577053501199461985137496773618, 278884249096923106177534112155910243287643397, 907136963169711238830138908320863472368645], [294954362612473617166647898871925275044859613828607518, 17315371104785756896768466922174490559906821745, -5104868321405823122211576279253700908829455], [463037014439591038470479806554666367430790776041017248, -9113631060845642559266299892963972836993995960, -679799471314844996810689506490831675923360], [-437094362561011829471472507903348478164003806488108746, 23347130060842658316286923870350342297129815649, -312070199623900620852303184810234431702175], [-1182676583989504036985002826158882083001291633613281860, -22540898966876147275572005324302209452910012825, -175349211899045321897232170398104879376200], [385667823373964717157048887392184837056590920453101508, 4742468526529565596964923094779481085121218393, -3067048993229527644999500534941381038117720], [-489752465567081991998958340102368465113345420182663990, -7281508304658433758874708273423985491207786260, 1846720565660789629608904999636493853050220], [-1380077239767226625237932022793929447226730174035096498, 15213103353908434092499397727694293190371033417, -230180553888119600289820410140429258777655], [1194227239966491861664066978350659702445125917099535312, 28992905730625042974353790628423907701280405100, -1722391303948799214984268200345734919251400], [-707694674370037896556722788636273036584930971323763756, 16343858340449646618796705598628305386006338229, -1042785479686685175131470521690700144178240], [3329674245901587712501045772706663680689852022848306652, -16407226755394374468470721411876190150994639505, 2469493520197281967696099837087107955732920], [-422388913320303276129000286142322361233819460541433886, -29992920062851264102269805224028821024040980906, -595133683140188426311631848373305661938410], [-270696608702450837619177040398334096149728771122390548, 4467594506645277931330927020509478465994208707, 10602030484303969691781015785783352229235080], [-1196897609300153984673295133739531044470011104055889810, 14812458782936616318071743423640851463461761345, -1581852702599849058272902242113560927425855], [82493166489442746208317024635865337063213989938934264, 45817938474020792548811237660022005216416824170, -2704800505754147799776518343008770439849780], [6110669754726029532779942378842990518719983094841219974, 16992448397129230839947046528128087735239315629, 1949140505659040259629512776793840295665965], [-4122306219949364712129654111836762418792817322185212912, -45506328420907932689883498615972192356160464612, 2173276815534278990665096553839069017274840], [352942876390908996519164104726104179618010623115521430, -47549562902648288270147446106389927547124788535, 5107809527956750238513892697052556154021065], [2223931804934621173126357494505299781509577379286695970, 97683721230738871968861199890208559716355307030, 4260301384117454037098846802340487072086230], [-3088211612461165127991015660538730286330542012471541724, -30410955058174565546475419839534097244138216879, 10967720623388967454243519258578853538561160], [57655185392442515622644258039337486264135601127390760, 62250772839464082446270760710109507745487355470, -11744008980676044548240723451075442518056860], [4924434310452482281263677498060018829427638060346172714, 55403547444427702279265507262883699380274519590, 5459550100734249668878085676917944702025190], [-4901934120845327097482162335623581434286540965271692236, 43482859030791362805439291887208859464756607725, -6326394464847480478832676628933406193370400], [-1384102934391269687751373706698044344083492912643909568, 4926448256576641746769962662258990460220158800, -14543270009323929672448891874927071967147200], [-6122351911925168151863538240247932192866692486135803838, 42057155934068995418588266745126473877383909632, -648672656875049191419508625805950995541760], [3062487004840244116384940196843410152153101638928974418, -29625921274371913501112297074082821134503113680, -986401885262216702823133073253746678204880], [-5540989304110958833537172549845484691448784715787611052, 59449031296118560703636984324586634015962649365, 603617495314198187459005108842691740003840], [4131379052093718260066789175702072372707032412687892314, -29012775163375565510883699287863311629293044276, 5464340979831664264925383208664954440874060], [-7321990325853222572514811969260523007221259759802020130, 35118141169267844467472043114741268415162695165, 18611722126006756579519281519272179425280765], [10059264728376314717031230256736672387950026155833122912, -102247534374504309628290730989965803844037802968, 9767420427989886552777057603688958649693840], [5649903479138699955798352309092636259940857203249430890, -11790427031126141197618017836403998543096013460, -29645805351267603592427228446159941797127700], [-7823789523141344068047160416169713350654778310919730574, 48947079971283871684409531319455806382546252670, -18238031954890186543246450901222475339790530], [1872344463577549107103655372493663595672725106796927108, 11251546005009094456665660566477106689156622465, -15578187721704587983849982530682996975398560], [-3373729775587325882001156697360846162984113628070334820, -115109683180072688823572205458309484341830325745, 4762929780263515589215795918845498036940200], [10847317612414611880986595239348147964312157158269489312, -165382316849879217479379388714206392879582433048, -5344076239417327567520550681063288308278080], [21857774397395651681595964379401230305956890034909825062, -39327889994346396354792236932251133165467321863, 2544524491727642505295287183657112157441785], [-10884687877411864859737885449350040277890768811429373650, -62502678408338515155626627205713664335457265335, 14706116243359224171282955438535706506744265], [-15596533180477675555422583646480638204108880525612557506, 43722628693838620327940054631005839342820674229, -27146050478581884110465840791888387684599115], [-18040275171680683601121363571724092865350357930795435840, 161386844259217283737378803430404683009937715440, -17232112946349770552630473976836329820080960], [3426261495542125848874444768564231701912886287277537476, 165640831225921774975085932071753887366407725321, 25162719698885709109123454205612546863819160], [-9220304507054359110065569400019278552878928266441592116, 146541083449866754538573366403614358701720083635, -32825352263940386516873747017701563262243840], [-23391970288398176891030184544496147812009880667415163172, 130213372226467419471105161828784587244791616823, 12663510902239429466581865393791703334440320], [7036991362378056316433700269093658950663348277046464350, -250024313210776375941839177928459669689016025275, 10646408628430725779306379854324515684390725], [-2763008356394875279411782874431075536999188767717968670, 118721674166615103775138120965586860903355397080, 60618702792856916874659051568267442111005400], [-882185145787408909276347797474024254789429437016576534, 19334922823095469023977926795601624642857577550, -72635540793306141674390120381897172303390450], [21625103800732488879294101130560698044162622662945895664, 208731756764634620736550491200330204384381695524, 22607889845046327828594179707840955888472360], [-3573632008233227457065102915200141446612510156385355146, -284203172560034091745524462749238690736548718311, 16823048284412231711708594056788229175586585], [-1190545176983132588712160892581563847570698894336199686, -138652712991995889927743161325939604566506990676, 15070931297999411765534278137529362975996460], [-1036015388627318456303234847941328106085772637177422714, 300133703140651776291538430013699403605204199005, 40258333578148352140160446586381378311082205], [-12524495337343473191545734112602503906604685434686277880, -178482807960186873635517218782802001993942337530, 68254247906549297692414060098375009634498020], [-33890605323003919209008846279386137459008978135092904034, -341001150997620695908639902933881118740521416319, -41443882340875472488470512206058621840001535], [20596427063473189342579422324999687632008052362368880932, 189950192689866000017057611546159112188297601305, -93610655189296860734577283862684381873363120], [13938442028352489940039223054712183541223465713814309030, -505847146829367200953908458857134233514464782335, -26964174248793860350878338780130315353076735], [403512816161950306300684457919679871235930807712353068, 136602302405761551310537545180813583575731668563, 52443569409457363278449328204298582595096520], [-12505818367782769840689512994838080642384294100864752336, 256705203759081576672412524330200469930027275300, -27548995216414543698497518722380286261284200], [-28321057306170870742677810650712011785114314401872457034, -67221741483380625038836035882807732209670120479, 37640240279093238569502310144373437348633825], [22780034198361914729736185789097267624919183953485613380, -165015970842380910530076089456346484938871015455, 62403947820593532754604810227409241225096720], [23257850030136049699906445722366091118129524054694772298, 160732311006489044261564457137312981851664394828, -142158243795927369733601096303189159234501940], [-15856048662352238102523369027972130382808389886638637618, 247771510485863236615538070701488085973399947945, -11987280601974160083727989466427419368343255], [-60499491839449680275776819225571766782038269049338729136, 361511342771597557331508484260485459119573885884, -42904780312384684162452956956871100693831000], [42622098832165491890069144295372833847536967443913344726, 426317339018992980233425638774578909967968899905, -46820660912295357607751001200834410190312895], [-28852663812313469678424327625629498679178941997931488166, -349185333681121987962593909737882068694744953986, 147678597019183499182162212228410265832636990], [8965417105709803357528898410159029201456879701400658272, -300440959379148749937640780041673080259699959960, -115772317527863555111504052775988141294325360], [83614525565966928921270861096727726741354434214879660908, 204409083818508144233117079541110285196140506795, -27565143680614536319499096321504778330063280], [21603196834791387522139974483939029446041476331302357874, 290269230436710241639403974006183010782998396014, -86604646222482605845181505818471884805781970], [-2183772927080895415846733743931508059093983178740837512, -136226155378899904254662469542316725516659261142, 103556261041941358855317901033048273927352620], [-53775324844650125291262396945522625183884009105853727482, -475731228222737183505261146452727639543029794987, 38192378721591030718913915638285620069330645], [31426970928651223762449592482835770830404137179114869386, -540689819894048182198230750721323168921817958090, 33126465936263642529946618325021766959640310], [26217886896418818950226364914401822918125330020121582992, 317792708902046294818455460435304843253847080252, 7732655383646231078588810594887544744827800], [37881001148774953883303785271330322379283316047172173724, 635217195201363077525645537493892814404874808695, 166965811513948564202934828374919598486895120], [5295346678397969379365561649365048547534911375282524580, -1192886814694613000569691726185758882001822856535, 86197569774757827531432581554188390476389440], [-105083036296119504208923235334202927335355544426772101462, 516161858023550474656726038150450092834799089838, 47560550746597132790317935185903408924596590], [30041276068880742507627716898947115917785710998351419950, 24350298021383967192447680215278415823856938105, 135647444748973675639736309756211637296682745], [19083324773332294767797581741078486402342234290217658312, -280800591210862237216466040492015315024106982538, -287135202218196140502538398429035116757304540], [74878724745787883617721073015528672190759706329041334490, -1764403671669971625235489421171085781761756306900, 168202797505709445929266105257081132468029100], [38690579193114552518167544827980380905020694022361903588, -1252192120977593035936939300964291067223852739855, -231309565180146595878108676464208589737524680], [75211180999039274639311759410861699548930883129603693548, 1016564917589973549932303098089502965665682862275, -196320272105490792435573706408105683703236600], [-38952068498672027695511645123506310353756954671492827664, 1040258585666757242523270996493922968665386790916, 64590720913204064338193589691512087072915400], [-23624443852732198277417415518111881704925115893715254410, 1724168617620945744618869505276160576621972577765, -1667569902541024644124192885511247732404635], [94701901372886745674392868227849945175515851511029240824, 151793369795699985263656111707468277599989201370, -436204442704485418224270986564938938817328580], [-486025480922633301666784886844663192623368338773932930, 553466228132831219291446922329224147716219334405, -431835562270019704277869172548456154293149435], [-30439043930862022554335063115546868186264519803460909548, 2631501589496437620564839834888699660064292484565, -12711575485243906379700918175759250451654960], [-70085069656762763882291124612150768230551677065488125408, -2346411769412251212183111525936415228651442962200, -382143124143528483056585354306700421404823200], [183665712347531835379965779704470788304020390176737447458, -1277843198797176430779808186244808746174293459872, 310999996247597512112166136095735684701197920], [8786417469052631256362663678037428372407552725468906546, -890595822480567300041066030550481770554981661250, 358978892997831593879916611260729469981882750], [-175330970586037938479369961921336110554444626354337858246, -2705167007074311959129288721694978612119342392196, -277926677030764545920327458143906143082642180], [156595876140220553821952823749555954615682524713937349822, 1132860252209523618997348209445559962418914647685, 276536239452300250305359005567803128599038085], [-224694349620653278998595903859928029903738915676119302326, -3421235900988054600849185527671582860262810604036, -299434140463356233213116534362666049238495620], [268357005950906413360149897198406931888237007925743815768, 483202439349805635568352182772417064684725542818, 400885078231761223779340001840659640337637740], [-36215155616850778658879250981142424399112226223713167774, -2278988811076423133247921972630942380527164616864, -11525766348683199546342994729692470598674080], [87953377617001315969728333613884924552800908675900596836, 2183447962828026593104861174004718007000008755385, -206024883004596128312877297794570959260207840], [-79555933664252186686931391583226779971746135906425229208, 1731062452577369525624441143284430722249384539822, 532475499645610582736522241107081010240627380], [-229625707975931242674429910217342440488233845986026662288, 1461712864888194062601362949453965746902493067460, 177923323580788046046586302889367605024896360], [-185223421655971618226250113132860621376064584059243207690, -1623690069166785037998740902366764090014769628035, -87983479281196410587926791474714457828157955], [-25026251124572693412045876250308595259024157786693367684, -2102835578928030037916012637177374857750959413889, -804535101172618543517864785755107540889831840], [-10087196742232809806098734137103677525521243399245960576, -5050117495594844515072849707503534457806066755776, -13720066438263295917636276621965101968490080], [-256347358278834161183068588213237951533130923732981962110, -90301572154859477633086325736619719614832005160, 269968932791644509180175283173627556766004440], [99546016323238378431491722919056692994680042964938075654, -1080441266873249322569110254909339789301787783251, 642680049017185403820126172998777488719662125], [-69827608022027642663479668048833550494292333493536459636, 1862544392645985567984505282172118393316739059355, 523953302750691085965933055722831757907514680], [-226602006157274037255529671088834120125883866943987317100, 2095009332856866034142617726775854412636028809925, -17431018282919383870947904008499750501586400], [-270119429505243197339107922443159520882426542251019436904, 1498275161355162733845628092753811181688333026850, -286160286982154896137432946006680227991924900], [294259711081109911109079989085792991835882518100871457178, -2451193268054603376671888590156429884900152075652, 610555214758624846882763763928889803587937020], [253252291265772450758937747549216643551329630219521766048, -3027439879694270245251312219695691118034722597320, -322797232541881626684925169799877180013403120], [379669169148996598431158011740955668870586418194084981674, -4563810094678561685278779244641068911925493954660, 650333065548213157706031962393987621520230940], [-90725094365111839929399973547704318829332971175339565908, -1178222920416097491967493887342124782090531802325, 985155925814242421441630886617557285926604800], [-49726243889663203294842020021704332737213887299497837514, -702360135386909158225744992578331759678247634555, 257361044869048548590761166020880267163722245], [-160667136883882554597090488161807868104034166247060845250, -4368171154146565965442832271960449358721468641315, 471983381709884725840288236116049352430309085], [338671384464992678392548280251574296638367077140864800450, -3960059379995646299610652998949928720450701111690, -45608530311453446336401974083483978557828810], [34503490600156660437286133443630159499413979024298331856, 6033066396011314140453731246792768889577546636956, -217560190662217481597307573822068101930888920], [-441646942060026221543670310040353173992557771701727776294, 7350614408984784103120426807993969048633038990876, -878373526974369828403382818259006972143159140], [342178918433673917930946025056559880155560960977047577190, 3950965037685883172134714821817057790421699367425, -653242081891529838830133842927070584515288575], [208439393922489577924420302743099411027551483287514943720, 7279361782908609410625115442841866632274330441070, -1189759325286676928092074745191182777907454380], [-671068420330377079224986371932268590016400552237033544850, -481978966984484177949805871534005598415160962855, 1293290992893036290103824963498269956506550105], [413699834550944278842893699435520465593728483738386636018, 2921547049237593409005005284007873940664165087870, 1621058367898443640561736522611297201505028670], [488524436707265031271362602985422062500501328463936876276, -8695683870715152250492770235255031811744268475619, -144384013401216123270589178101161207782032800], [503776136595965251498895302244555064480843151969670433540, 7880354646435392766526057476145241448440158582025, -87244783583201050031642509079136445196020600], [72459613620460333254620987149665937578883615716479356178, -427058092348284013031567494192556833298352159912, -1438957575627967597174387776578269739362052520], [-520430230353008022928331682281228404710455208643149563754, -3330393882926102264223921089324844015962741523179, 596008837014782052801752853006048171963366805], [-19333650586205874844067034457737288973171519204726783716, -5599104088219201452142360016032919268519617312921, 1414756450099198017092013702971665083310727200], [-1015670569768431104187121539557050820902507622035080219868, 4309984927065011459639564512483587197660585837385, -1175051015269847289064577404926308415659667840], [-605965447399164729495959568620798609123678463841614383062, 5446519250715766687371749186926397319132788097198, 2423608421578577610869273342348705650328792430], [-67024263214215741416041983861334675541427414930997843026, -8548084811970028455296376151813294421563664726455, -1965799107847992388661072189278912573121721655], [-1192535326394629305878140733305321716484858644568391918784, 10259875007022848866725411865717377594448383406960, -712051965535992338022182105001176348138668640], [-1115360164398077867429065567292387775014853281282969974456, -838285708308191162574409823605230341386163957706, 2913186943835750168813273134722325014082994820], [161386747373940480234358038469480490986551113688571636050, 734511711462940312846076751863932906978867297630, 443151160469209240626511278878758272115575070], [-1238440223812091565949479390626993812984641866900907348648, -4830074075961977641206728784297731686911618355118, -1767296445790878792241253059082505551574406820], [789771964743877833525090097884573290832922267455891925470, -3660915737522501383736126747622516932011970580575, 1709776562115827839254784497385356036168251425], [115660276327146616101770532511205308639390489461079141094, 7776547669396676349807703094781277927949949597189, -2137819842294009447385136059512873965885655675], [535410746851420462611244788441085226820814185019559319408, 17906883375717649878383337853805666041113459650948, -2407172738165196861598791870907943650255576600], [-512201119884191899311687933932763799342718382037885982340, 4213554404746461484924097839091308112745869053455, 821774416542364657748126985494967822486911280], [351260618518000198721023445246494338182309114291009915018, 8661986672465280064911937293670893051395883586668, -637822715576512823319966924123009709020355860], [-901823612559666615072436513620043242890219338377765152754, 2629874010864853213473546227404573126461512038961, -2869694228887535050447659152573528790720685135], [-902332373715971281362200134156052057563218108212664526956, 9048532552457880670493417113911331713463040990989, 1203230211769093330146862452793423117230634600], [-599694752686888455281792708845029679777637915171172927846, 21669151620438192747869803188625198990960489599990, -2038585804823749073917807271752986060135886410], [1360313720058277055617235714626274409331193022419742577052, 12397859743709580029025675150623699819383859731455, 1453374271144924480947586700050572324538376280], [-1222894451643477123048660720514882619604209865597163018824, -21676018768679582222553244714861337683050322044550, -3496306913971755689478218217988309742736001300]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_4_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


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