
// Make newform 3.35.b.a in Magma, downloaded from the LMFDB on 17 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_3_b();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_3_b_Hecke();"
// To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
// To make the newform (type ModFrm), type "MakeNewformModFrm_3_35_b_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_3_35_b_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 := [5042460246515433703013776627104481280000, 0, 613809329098098496707904510361600, 0, 21382790524640936160081920, 0, 211496483076151936, 0, 789518143, 0, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 12, 0, 0, 0, 0, 0, 0, 0, 0], [-1423250952868181532781553879867871070838188895673253888000, -248516745081595419090079697918785349647543467769856000, -96589184880043036232672717705317890797525789573120, -16429212943982368694771692507902970357584640000, -1303964481766876975585250068903589849137152, -180540950325777997810512352021141392000, -6254358931783500043872998745959936, -673192836087077207641203625375, -9780550086447533942804992, -813769774277032030625], [2582665674612641208988178293527652787074555394912996556800, -248527315655200253987123117627949230479019689902080000, -71219808228439283328465415712003895254592672235520, -16429212943982368694771692507902970357584640000, -1303964481766876975585250068903589849137152, -180540950325777997810512352021141392000, -6254358931783500043872998745959936, -673192836087077207641203625375, -9780550086447533942804992, -813769774277032030625], [318808213678989247751248890436919112409587916911279079424000, 1539616518526272562891381651676708386847307504258383872000, 21635977413129640116118688765991207538645776864378880, 84192161445796041505267707534414684604591691540480, 292088043915780442531096015434404126206722048, 897092484532198968240742535017828383205248, 1400976400719504009827551719095025664, 3421766662062795928682451024376589, 2190843219364247603188318208, 4368554465180769376546483], [553663491776167648624065597281029038153678423301378015232000, -124401390942017340152318981301124638493389515707645952000, 38755585317761720767651442221005821484027575782604800, -7979472524429858822232345422677483818426462115840, 524845703911167982673063152733694914277703680, -87296349263958934901326162237344350381184, 2517379470042858767658881995248874240, -326572317431689099871307961440187, 3936671409795132411979009280, -397993241367760976813189], [-1155994652306469325727391992423865913636377425311097864323072000, 6870963178207946886759492783868162181535464179816726528000, -67097906120459715146011584958479185672946550166399221760, 444812318984433674832628665616167607060488776652800, -592487084059182078335499676852034290645222096896, 5839496218051792430857984548829240015885440, -1642087562995834802903866852939494153728, 27393982486954866732362799513685595, -1230064829635123441164610249216, 42149854040599894893256165], [15453710206187692216158040725309439042469777100990108925952000, -4352366552121897753159309617622347349061651910799392768000, 1092865698714889059139659795444103738841259102919720960, -284193399755534650182466339036593063723920242124800, 11247348841107330184949388010445543596867977216, -3479798739465896678177581275046022894471040, 34310469311062950501152118564612671488, -15082790395554752557883404871389645, 27372117443529517936628135936, -21620682023656139072790515], [291268148772949878751989541204000538972662083598489021841408000, -24598093431109979691355109838257224789050792450619080704000, 20700339994346974430537389555531766786868079036947496960, -20776260960654516632012949338761102416319246262978560, 180857355393662022056809793208083726783417942016, -252827053233821958857498637709238272291403136, 317644972779510273521413080744538021888, -996329867197679719721630926962053473, -239177749269363147637850251264, -1282883003178340459042926431], [1758229452876134569507387939654538800586866852062262359752704000, 543736505914215842681043947098183728832446980684282593280000, 124944990578125174291516145029466582648057920470576005120, 35332873873566059710041814197103564600804266479380480, 1095204870321044471645986756155128008181525348352, 443834836809686034352400084015315759027956608, 1954125343015237235716980606291682017536, 1983985851105389202691257723814232869, -1359604661424192937691389591808, 2927669529521947263121010843]];
    Rf_basisdens := [1, 1, 2642643401208724260854927290970207869055533056000, 176176226747248284056995152731347191270368870400, 1321321700604362130427463645485103934527766528000, 18351690286171696255936995076181999090663424000, 880881133736241420284975763656735956351844352000, 330330425151090532606865911371275983631941632000, 660660850302181065213731822742551967263883264000, 660660850302181065213731822742551967263883264000];
    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_3_b();"
function MakeCharacter_3_b()
    N := 3;
    order := 2;
    char_gens := [2];
    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;

// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_3_b_Hecke();"
function MakeCharacter_3_b_Hecke(Kf)
    N := 3;
    order := 2;
    char_gens := [2];
    char_values := [[-1, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    values := ConvertToHeckeField(char_values : pass_field := true, Kf := Kf); // the value of chi on the gens as elements in the Hecke field
    F := Universe(values);// the Hecke field
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),values);
    return chi;
end function;


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


function qexpCoeffs()
    // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();"
    weight := 35;
    raw_aps := [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [11936911, 41, -1, 0, 0, 0, 0, 0, 0, 0], [-179, 11341, 448, 0, 1, 0, 0, 0, 0, 0], [-12356977038690, 93855, -294796, -75, 4, 4, 1, 1, 0, 0], [-313697505, 364529872817, 784846370, 666006, -98065, 21703, 0, -14476, -154, 198], [363987432663962900, -2915528772, 9248554560, 131859478, -400778, -368186, 3722, 366890, 0, 4656], [364204533760, 422431919267738, -911303847620, -548591448, -511433078, -25822674, 0, 27758724, -200226, -297090], [-1812808757459254261969, 65559742801, -57730533052, 210993236792, -14802653, -22152989, 10351366, -71552378, 0, -1050048], [180604432160266, 121513681280307690, -451861802916652, -373289881308, 28867438382, -7189823266, 0, -1858098368, -44562848, 29547360], [3431331374080751, -4006854062731420973, -8584849308767592, -7429134708528, 1490870330799, -95167702516, 0, -133211852312, -3113052596, 2104697484], [-1621012426899607307610684, -1292788608630117, 4460185966823444, 570163781804727, -436835090306, -400880266562, -12407207345, 388232257231, 0, 5136403392], [110787753538731400524624536, 270533020239228772, -853486701369210880, -5550984917527342, 12800147149090, 13421426655826, -1141494108434, 5781334680910, 0, 88754215248], [1538011003332489230, -11508464434768784993122, -3847829950368702720, -3626222755320096, 1489541240094390, -69458206351648, 0, -18814055487584, -394503267536, 289727395632], [-962670665992025154476923829, -7147740588393122991, 22492703870639864548, 65213735589962900, -357276023336969, -361724888576585, -7717150593894, -57290220406758, 0, -635552177088], [3763789081773117196, 8412771857380754894688, -9418386530132042912, -3787120755147240, -10428723750360920, 455114206592568, 0, -1073799764550072, 6244918438428, 11742510790620], [-231602313476463136463, 759065209207344764890065, 579483950363852972736, 409943550258594240, 154277185547323605, 9065511052411456, 0, -301822922666944, 32007732748256, -1741492092960], [828997963061045642527, 1016299485356455229770519, -2074104564347713326434, -1711903909972411386, 129591226200490573, -21958255653023187, 0, -30569587147515024, -319088614875192, 417105092330568], [372164466801504663067200437616, -1609934336039347449676, 5070824948717418552192, 21290804310289689418, -89247111346908294, -89872975335258006, 3091069551798966, -3882843461240682, 0, -89409141192816], [6461086097128931658510023128817, 11990413798735370762669, -37609152756425729104124, 65234014652262481526, 624308190638358321, 622153995474783153, 3337531205567176, -20666357759984696, 0, -307742166225024], [-12484178047640462500170, -28601740678624684925239126, 31234388943514982399860, 26514392714724107772, -3981815906048220170, 424923808845230966, 0, 304431298092204808, 8505587069306812, -5041779965029764], [21974456357744885265968570776178, 19712219247128716716624, -60787778239123557260352, 1590781812477681664272, 1440613470265303200, 1322736940051594080, -68501902518515568, -1381983239185560048, 0, -16839504316244160], [128214369966868928496576535639748, -88213694380176218034261, 277394475998108813052372, 521558379890187899527, -6682164741069185378, -6419490038895083426, 227989329610609055, 3154936010979173663, 0, 37524957453443136], [-548638356534905942121419, 264321684345187387941767743, 1372633694749425878642718, 1202010209212050085650, -276237205345818314055, 28304149492823644753, 0, -4363823536997273692, -96818473274930482, 68086692414836910], [-1931011577472786762458522, -5767875454399968877822791824, 4831353280548175156748924, 3814070206022601607176, 186241752180862259672, 92832053486490562862, 0, -19776384314035595036, 336853783286399662, 179290849381261902], [-1199433957400383484372974908103800, 514243254562257864722844, -1724243149415192290271264, -155684821499090108388766, 128481053196203420602, 119074310301108302218, -115304699948229330, -104933296959579548466, 0, -1343820413585016912], [-15232345435013261259024835, 31026200805941347275387990465, 38112354399492839973037720, 26835297930736576031760, 10480275696817752196885, 459036223318381118860, 0, 248443667401087045160, -1356826966510631380, -2731524879404026260], [-6985870440701867294194376022446486, 21382362940888524154623335, -67060430291286445584253324, 127131048305242671641289, 1178520965459054016024, 1172985344863359117336, -53746851291513800659, -115429480786399814611, 0, -790802942242128384], [-63333073854461369776913173, 13875191559138291835125637647, 158458176362003451673761006, 124889923190893552805982, 6633653620795815924717, 2740603339599226956797, 0, -50874381556662919640, 1929913716910013740, 283995113332413420], [-12590302466317206132603742664611864, 56049179345941496641929220, -176762175392939081967061120, -1059876779215237064157454, 3437942094214599552610, 3401188939909353955090, 26706821522955831310, -382828326449780826770, 0, -5250450615035085360], [-84195622993171528218900, -240733948338405058794770195504, 204368220231063703533400, 15356661488982988919760, -42278983412350555612640, -114405819325329561460, 0, 895305206009117899240, -6827359934609266100, -9520501987197478260], [275515625182153743092954169976218416, 380934988958531474206008451, -1194911031556492297877758828, 1973586353156004343407947, 23754498611435852310898, 23165749239431221498930, -474076604991877166405, -7034426750186334785477, 0, -84107053143518687424], [723543220589228791757704365, 305043784667137755175864374441, -1810389216198896449719418750, -1189453429004988557539182, -735109248410922527808325, -23008523286927614524181, 0, -5649316259594139872488, 281770958913268089908, 20291938509623650164], [2909459374217563668300564142, -3272127480880783306330392622934, -7278922697757193983146263224, -6931951281676989418527984, 3014181885552629338548066, -167224831306296680482076, 0, 32958639942219150298328, -585559935404356696492, -294771438649501863660], [-525642068008306390546712897852400687, -2156621531962367143762191627, 6828145311690869887991127524, 78953669822286933912869406, -104596510226080950947135, -110186366053759846022207, 6506470528166540809264, -55780494408826861455824, 0, -798550832525556439296], [-9256172120717714790576605415, -27143398750417046268208035419575, 23158538274918406884294317280, 18833660511237732539885760, -635809578870238966922835, 494892182453972408910480, 0, -171566403790515918028320, -3661851384216961163760, 2652765752018492551440], [-513035411838125574049221676172740346, -2789559838376369147809041409, 8349832922159002172713200308, -584731802784590083355820867, -89205082290816507003204, -73179349088445467552964, -6863203742566255648423, 171709251940996755368537, 0, 2289390457481577064320], [-14215263862403594205279465009729757388, -6588090639181959585034975812, 21123310329205350761646211648, 618010594205236168333214870, -469574958743473957413386, -477305044794414586491578, 10430228071746717332490, -75705016495877435253078, 0, -1104298007277232725456], [-9267414704263524666497171565792579013, -19470391902092048938131745079, 61464805043976956196629630084, 455283063526211400677614268, -1417204328481427164434153, -1364064236315037123509033, -70932975372173955210974, 521199480196172215097506, 0, 7591441738055720132160], [-36180433676596828564285201018, -209929462961543547336363923073410, 90522101436814224394722631996, 72986829021773395320136380, -762350012018619376101830, 1648598583550938001705066, 0, -121343636769707833038544, 14450543966618149602536, -963856890035074540440], [-129425498196649915038113715533, -556677792860836518103282470276829, 323814591518880343618066988576, 268567136943632451160294656, -23726398319619746421138769, 4446303626965361464159664, 0, 2787190663322603778929248, 17053788298515776605648, -36023139279783626802480], [-201339354747926359355905130439, -261713940918013617520033852491823, 503744772117788929123529410738, 403306740919685861836731882, 3654122895260944103937739, 9081410150638517157541739, 0, -643221801215654428321232, -88993854568531110300056, 22489711490179642530024], [44330334530008284456103218500398157444, 62126606483917736766034854556, -188130632758450525281457771072, 9931159561763010659028325718, -1425969070182097903649834, -1180443903284208216656474, 529021642495898307134602, 3264873502215240533632042, 0, 35075023842555669570480], [-97965526647500251836971517320, 2313781411247485618146105468616108, 245046078027875457616530092280, 343181679640029570134932944, -406951577235023413201891860, 6055554014251212885654172, 0, 2776625781651646409568776, -190950501621477493689796, -1229985225606684498948], [-94993758535283223723414977552217697902, 227587611052632411579706331312, -706791096110645001046552880448, 11293742404688283730789807840, 4948085474587042709207856, 5443091364160422797782128, 917388518778375910367040, 6433168431167468325908928, 0, 70715127081911441224896], [39327353267209223431096401429, 217940989201042627525752876302401, -98393268589292004637149381688, -82686826097047212402899088, 11923982356893720493742837, 10915297848609482449196068, 0, -25314552124919070397587784, 638957064986196480349796, 194870871608479996103460], [-416727520827905290331147219704926415450, -73713073717399189854113612369, 246760931733357818277268747508, 21754581373238665216447773581, -19333543818017741530259780, -17471936521660395111574724, -2310749257019056384566167, 18432874902391375137924457, 0, 265943899479620916955008], [-1065709321456304149801665030415641807923, -3983045796696139707716323607163, 12429961126905118940297347079236, -111785670082751943187477703638, -151020168045801453393672491, -155529698401917115391309483, -202280278624304205308748, -50451332818198823607549516, 0, -644218622302237428233856], [-818812982388167006765975664942884924436, 8923469658728096727743947912683, -27731585540817971539540177176940, 415702440026282788933748996847, 364051057926504700154796310, 362679458723084406797057494, 5094119233689366018387799, -10189414747279617110701865, 0, -195942743345756193962688], [-2903368827047200483709234669327, 10848009120384771518695550592594299, 7265316910059942279903062443094, 2948206898562674807140218282, 8024273003876367961813868237, 52584907197969134681998565, 0, 24304838156386266287646628, 7427527535197378211897038, -1527264567251780491121490], [5663143712862349431322216166925163175060, 2394628268838768121545202071036, -7630952195556330689546761618752, -157769182074757286025101507354, 178185499361832450928572070, 182028041185455403326223606, -36915997508942685119936902, 5900897097141641596751642, 0, 548934546231850342521648], [-14093878058203493758020491781710, -2033789497743599690710407215439148, 35263415943678690772052025769420, 25905004265361758108646233256, 6750473311848912871084350316, 792093652723906060627305558, 0, -458881659178164551518127148, -5743600289966001176775498, 6420143609972482952297430], [5629928387105414646913786587148, -44524760847757472007907868272099944, -14090576736563324656815007058416, 91431677860988112988360536, -31693120074160438739514557248, 106087980934473719873022512, 0, -208310216552076165855735176, -629883893237203377808508, 2584864179254726346964932], [-6729555466981556737325524337049800467078, 4299636519090133411640423367552, -12568263712422395348727463767744, 1330916011222169044705252944952, 101799880835859030537220264, 75281822494960806056337832, -57995588997415830825803608, -353482524795996046469922136, 0, -3788294048699746354411776], [-67908403417944312244451176174485, -111839038307398620622850098076607455, 169900011407748723765168522219170, 147313381240702578660049896750, -30207911819954743273082538265, 2728498684897073532983429455, 0, 946364093043545221089645020, -9016898858914014437576590, -9763422726413678797185390], [5654565681471695426117459126504, 158319569484566511490033918984277324, -14147567766546608052015845613288, -11288839390022249122802924400, -211535164605260160717325620, -312855314492658892266774868, 0, 138507860848948440024422632, 20793930721438549773250252, -5114558225584382581546740], [145728275848228128850617869069078, -118255107277205566501193980145529486, -364629100575662496657540010710716, -239572638423950163530323468548, -148098235856767670689452088418, -4978404292470205347602936450, 0, -459358513401320947349207272, 198790522583937889156148, 5435421977204116867869300], [279976863117081595766094633171579, -788878247833668069792899340805991157, -700468261374487162464078915737568, -621649178598391867056180128832, 164068167978704865239392778871, -13263119969912859547065824784, 0, -496313049780021290207434848, 32614959364959554095296816, 472662127030803962777136], [-114007230596453615426202473107885131143332, -192910497165326523799074779392389, 608038132788258926319367506712788, 3159226622668971838678527542127, -10450289642797231771088523066, -10476043511935400181368768634, -381109744832992390499145801, -668081429515440390764739273, 0, -3679124162595487182892224], [-21319216471897223908117644724025196026424, -127405403893393561667201454662844, 397390972140308444403471103718912, -3867592625086939153165323395838, -7933017910646034507586831022, -7572554417499925097812456190, -68548888039989825376162370, 3948044321302372169252585758, 0, 51494784735158487110624976], [59864157578721856652584890753310, -1452720811227118412394456835135529044, -149813082951718134449561755892140, -35857681830971810057219701992, -235142606532280604266853067820, -3845839414911105908198357446, 0, 6135725741687680370328075532, 17690200969396699410249178, -75992720895943263834185286], [15039155400617479112809255924148690646653, -1602997337881687375945567853907, 11322632061909738885500141393700, 8959796853418671624027393666946, -5001499128521323439135737067, -4320946740678551818986593771, -1886638903739617304261201044, 5696659132222695034543538540, 0, 97221769691824517164163328], [602178561762191478104994048532877, 5759250115240564558076407619908090257, -1506586405115898937268549726488744, -1314476130986402239330515375408, 291601265467061834953899768677, -16738484266422570582803695188, 0, -23631839822846568993714346200, 243384701373226416528858540, 240767309566921418598932460], [-926728359830042557824302094425013788671531, 2423796824993508021300863584732341, -7621932727300285190576101112201148, -14512734767210227874381782994910, 159190618395139403595829103949, 154996100511901769238393956685, -977925482385690960140772036, -47716839038462188085846698692, 0, -599216840462519193919306752], [-2723524429499695742897864393686790, 10624893083389827454169587225006805222, 6814060965900975765876426060176940, 5721281221773945657306252436836, -693167515798404761111304426630, 95453981188632493261449786298, 0, 57930011506881811934277825464, 498044390357676802206929636, -772650392522491513871129052], [-1024082901088651851630359192032784223461756, 1012111313001001867435894989839844, -3226017834818796548698991603502752, -67736883576624058482932699910442, 16571029859068397075660861422, 24704503966379284508114801950, 2408989436750018992034472570, 93039129489642764667949809882, 0, 1161924872472983918921991504], [-4161150027985418513797539475787729, -5078419910210372852779181551538127561, 10411363575935835814124495897189488, 7616373335163565867889422144416, 2074585358448968029456904360371, 176089573006345746581536007256, 0, -21324929144796784028038545840, -1681586800496889445913091240, 534132670854205193700259800], [-3770176725108119527106711101314337744096791, 1868854705638072887826720373120101, -5821926701975167226582624032051612, 67001097051940515388083305477478, 191614515561671789623010429161, 172447236568728853453841679721, 12610055638460644542344957992, -200968195997189215628392535768, 0, -2738182713277562309881249920], [-812036588597725776123991539746389204922008, -6599855899359587087051446380269844, 20571228958025322276172627093916832, -220931120114151006241433870056622, -253322710229456133203614287110, -260493980849787602585050849910, 10676470099038357993669370718, -69231973956083729399480900482, 0, -1024467231475924197348080400], [-8154836714063343143510032947570989, 65697429541713683133362150426675302953, 20403781935151336192828767780513458, 14762828173144612354617745297470, 4500645685918282773656446626815, 180973888227765307159534621223, 0, 280324237245570179634131712028, 2357035495176476576469163858, -3730032549738581567913095310], [-2851967689794019648648186605991980155362132, -4645655212622748976064072584279092, 15053386841075116206448883678167104, 660952136203023946112687298519646, -238308719722865751130725161090, -265164395501886425877071479922, -7992918874506763513075528126, -307241877555022853543791652254, 0, -3836525111288667820906616976], [24064739701009319353797036549147960, -102348922568477140413238555103136886112, -60212785123734722871177612132840720, -39546783502602163077724507506528, -24499605708166079091514627478208, -831705970586318411868403130184, 0, -56692582114858555460963387376, -3905133252557660956048597896, 1325767233936497724352901880], [-15620331444249582309944821589524258, -174052107613857574262422993720441903046, 39080991083579458356080130564839636, 32718945858185740627688991233484, -3695720290833011906429380141642, 710518528086486103934783921238, 0, -1192398888254110711886032104, -15629685159306098265577398732, 2619142751411184362261543028], [-5958367825504037484006019799594095628295644, 26333885009756057442488369331778475, -82418924275271703735636829613372716, 399565827417225623588139413290791, 954926103095024181147106928766, 994641987492630610935638469054, 73723365347505922635906249599, 516271791492263283136686269951, 0, 5673697771086632826933077184], [-6762743214719261980774960657463407323405404, -24074999772388714338190637518567044, 74955739831988085165495515661769024, -925538521812586242637824570325738, -1196695407757427457581425564490, -1159383221762415604461815362298, -68806634341155097191796244982, 346957723888976980426717436586, 0, 5330312285001693302801457456], [-7368639337192733200953340419959573862524545, 131967272157955157837106443424146329, -414626063712705779013874620701977948, -275105319637893536929447654513456, 7290184114002405916492894515331, 7249776445963803162437816583619, -16124384915448937198464196034, -466381257345593910955046863682, 0, -5772524005514679150725418816], [-154463849228487600326189635328529336, 392882357958809928309133936863837852316, 386463088095208891403860956445999192, 310942372098672761965875050451312, -1434613867291942064521548765188, 7028377552435729603631237179628, 0, -533842869988630482542362063544, 21152325908074675671883087516, 2829884610423631227809509980], [42650696344497072428485634386225373, -34028617672935770322555762133566574699, -106708982691632085672024696903175216, -89558260793750354607484699617504, 10723615017999369570875070800777, -1672663259634367363338240436728, 0, -553017201066821586158316704976, -25911193491860146928911171608, 10902070356581710037655632232], [7711573178521375185637047484646627111159264, -164528484678455702905223090586279500, 517424572102637692847912224607730944, 1047703526278836011447690037142874, -7889191835238949800768902549078, -8052803656442972222922554242406, 7550383415322915807756812518, -1815552767143784073904362055994, 0, -23373117314860346021950241904], [261338448663684965430737324444760600, 444517660891144792198289208677504587230, -653862461247998454820942140894706300, -519141541346444241442773902971560, -16957934176181275608282725273650, -12357653572574053283875507185230, 0, 2135819514908628280767202976060, -46668537265939789463439774910, -17648333252207990812845787230], [109915227658992576732780106861650647866101594, -192375265026698446624788489773196432, 608120004257076349401390992503825664, 5669737973318279296260522590151192, -12665967012479215974665379650408, -12476045141420956090166597228072, -172801555613672668006452408728, 1943470721892651759265694583016, 0, 27131695865465697785540346048], [-232454273857341786149278989592205511, 675678037912928427650271809043782168543, 581548293199120719647813627492320062, 575358396353824083706181487319578, -300485733689314607947223552049039, 14939899405718013781488674888121, 0, -4835655156698135236134243616068, 164226926286859952802488591106, 30196168912882094010707182626], [205029927554873223549873888829875373017029692, -501016816532792184544774046518812852, 1569682467680615968347707714626490944, -5301812132965075485755471186926882, -29910964982175815367714417823874, -29306934423278239588482432148082, 1117496032496633519750916634818, 7848122260212477916907328450786, 0, 86290079842510825604569382256], [-88854519161367438834391310878257700, 1863382198882500735024262053353394547656, 222245892614879136738352411811130480, 337786807517628765886232411113848, -441901593548835265415984322837360, 13361534796513160441280870789504, 0, -12067388774938491416857078572488, -176537175402172043756290490972, 173082252744867857493394588644], [26237914425289573623664041561380743124814560, -1141496793232221365870504500454612084, 3570478835488047837200281439236564064, -20371516282905599756193054038052214, -46849319163522215678081197990142, -48010250666743836607373475654638, -416639896525967662107462030650, -13352733789566886588507127435034, 0, -165847357603088704184611094928], [77057508988061067148263414988031762528917854, 461879673261852773032047640477117295, -1454119814544800399472458565067301580, -5161852811374863757783882494699131, 18509278821034194487174254546276, 19324741604891339019421333324260, 2001258309770610195599392073169, 11087843615607363554923984170705, 0, 116494683408163504606725539712], [-850254187760517558841528349794912061, -1621763967859136048513732010576792604771, 2127316974510563042882601921988466042, 1682432293864254415646290286842110, 71556734820389233132052735369315, 25539527425235259976826961284507, 0, 22069735604310794554919416934212, -2528351071045487275869566978, -262313555825192353964967178530], [556277241793160944749535606874751140, -1527201526447072325831493504750388712170, -1391752523269306067703591543244443380, -1202678602209978484315661656622520, 234626445153653868013662914057110, -35264722065901839156973225341290, 0, 18330457941993349450636129778420, 525479961085230114881068956710, -305799730918887750702036847290], [-260746306088646505359147986004481450242220966, 597730307093438334371306831582578416, -1828564326368058147619551656540149248, 69168202909513819541213678747383480, 14013473611095908212928348013304, 14277545809156792946275361659960, -2564102853957293291262452639416, 378415924435422308889985137608, 0, 37724599722983533335287663808], [1254297876138142453227367852823450195, 1848707378570659984903481051602904362807, -3138407931796712678069601736763887080, -2038075328072148487294414285992624, -1339235923956157893129435300243165, -26967912978047192749264625045812, 0, -34614677818813546711558689692696, 353435312316511615597917738316, 353173612456933143966521920908], [814427781376643803655032942686248554311198960, 923418081338063651471901427699344723, -2954427653468685987354108216042321580, -77626260688774657407941388990625317, 79577078378930013749436154257682, 78507944594541144054260399194834, -3877460331522024394557294739253, -15790665357569429569372851153845, 0, -152733397769838527882250723264], [-1164884327506216407390934509562798563, 6385389292035427115541819275055754627435, 2914346496886321274599818716818982486, 2722013346718881476731775256258690, -1054800320730028663989305839219195, 92700971603959553678681487169261, 0, -66891129473232364066095785730484, 933842294728404741842520431546, 640682587464698781908339282010], [-4268724375232072648729589687120783944, 7959761269671415691632644417244020581952, 10680422512126325489090120266789219648, 8041208157736325504960366831968752, 1490197497208649325037085110537744, 151918520672889243878056518218224, 0, 45426923043843537494871520328528, -2034244193754731046930506593576, -201756003943777414736243190696], [-244842925909290604573856818759966578790575766, 3796986517188604820832658845347275399, -11816072037614638488545050120571832844, 153930934710841615352655954512696873, 112745269169654573078619842383000, 120612732668288847776346081209368, -4128986607724581015339264408563, 83537035234200194187895968228109, 0, 1123923356947753528246605546624], [1305992432780623191630714568072882355, -38460239686279808948362932376711947616757, -3267234092901699704031180986907843770, -3384415734457537828505568971421426, 2115744358146239502223191504585865, -50685556400120349767487495704663, 0, -45458517798998380605235022474704, 1833557668759746320184663022184, 235579886147165858602973097192], [-634751578815308131276227170349878566655722195, -961771930550938686047689938756760603, 2904082414871284716561853792425404356, -165645437079581918298381587543667478, 3016872046442195269200593269557, -408733255348020581756090016843, 12466222278337447849792134677044, -25704808227324957346582336228556, 0, -489372185970030835850954755200], [8282197609796325377782210127335691706, 27987831988925155593599873033497924208894, -20721829668505791140503646901840159332, -16529539311224896293826092802103004, -329381715255614517155782325996174, -444317102210484795300246739201774, 0, 169694653697650150489103168636200, -1517588852862707183971080636500, -1767242973304431546589381425300], [5724272488124536852703643361799294367, -163796459265315844690473883475388734601, -14321617077497642939433673321537892464, -12285615229145166382252362157177056, 2166250055125860665049171352778483, -325636507169570780048621956171352, 0, 116860489362542219158628217040496, -1468211329154614833949708693432, -1146494413742590612896813039672], [5123338992329819579943402249477023950, 66499584876059382628118206615416864992074, -12820150740813162161416539891537473080, -6103372604503147040115176443825008, -11664324310112430302726946485928190, -201380732685521032183581303925084, 0, 136980636971734734316247625394648, -2396612170230387763967038162988, -1231286507006063162151298703724], [-10079893719423498555738206693009852918534688157, -8269734452661835343351453056690119711, 25801735584215121586099949272965604068, -240290334130638664270363740030585348, -721921352631691079820064028428065, -670589066680711142398125182964705, 21571481661699346621063529099442, 593559810829761506465524949976882, 0, 7333183707282848203134120780480], [-12813087718124329408322063181685919570810543464, 13175477468232082860773813641425645508, -41308913922364067796504482157158534656, 96224748424860566189807979734470082, 699669282726878054537811511035154, 683130106469588126701837947667138, 77623605122865343849625649123070, -106670073172650994894079771263394, 0, -2362739465327132547996223338288], [5238153745800324495624398855059390562374126779, -348828615088075712825724383664009175, 1905168595329399536351648299556483844, 1153274899660891663223245820431983964, -223988984630008952911109694980073, -234234807029229118717866924595881, -33415817434500546806964096419262, -147583552740096680082258940709694, 0, -1463688914174309400965318516544], [-73366953932298915917302598071367200437, -153204242868517548366813459063394014254137, 183560313651789639203514542962450684264, 150641581902329314682545924934052336, -8876483649374019991373546491721069, 3461594460767668234878252081474932, 0, -371600259850175128977186896740904, 11239329107349038844593047188436, 2550591099372483156581955191700], [38968789182238270237203296079101876613, 191333004877990211198789426987746051186899, -97494997871164996022379864902652628186, -87096197346746520899379560204597358, 24372157329719651888057386502623997, -2295602850464873880462425861845595, 0, 807870236726272298841778988111948, 19870417516646317867221821568698, -12929239070944294630748624881830], [-118157532014632328086429327246588666526, -132616887645512306684740234948311332718482, 295629751125386682403795139075405922792, 228605516351077344231539333799711888, 24578982148180493575975184926428726, 4861360596320778074118212062415476, 0, 219637456692099531360111244597112, 17183145899184099795244924283396, -5478589277150915815399287911484], [13569565124523704162136167931536893861680260349, -73862135018336910897546467089015864947, 231331600547198298072643397198097089444, -892740101671039710959809797482133150, -4262091263678667100684313172472235, -4193724541462199431203417662456747, 179811743970237843071369895399244, 941612362953734731572777007000396, 0, 9766674602352524211556501430784], [-28258304410240788068855959899627677922149079520, 129183917604441601261733045914602038172, -406558975879645588274267239598288882400, -1234646829067373467903920099749445798, 7535106260932287538605758390526498, 7491443893450011186023298024277746, -139403684430376813077364419345642, -625927207804313313281922786117450, 0, -6237481068896621797494338035536], [108187646172238212967457349535408459251, -456567992492935574669194904051596782265545, -270691136468363226016528877420024301122, -194901813507217480719515278287046098, -62688780332171800288276121637971483, -5064648251030403954617164916384011, 0, 1657311511609052436384196412096872, 11539681706776210990552402902412, -21653179232189516550618214913460], [5927845328644641745620722185320043804, -625220264421282029084065475330411196126876, -14839371550992925930432940827725068688, 7870210935796423880224422295048800, -54939457616241842161122572890773420, 671319992885313999067051016765752, 0, -1006978887446967974248497041370928, -37501418588060832713876868838888, 18238080329521662288604442918040], [85791203005031555734480874312582542490, 332121775257598085144572620886993871435050, -214651387819121039525204202707059307180, -160451817597161448068342033541715260, -32896922139210990949474981193773490, -842833102434133289042292250384130, 0, -5290903853926585976089423087667680, -2323438780040169415035248077840, 63374190438656527951189482866160], [39035332362991165108912673135630475321811974354, -208726605824436557972713154151424052400, 656485657368620082899448536517375450560, 1418771487065596842476575446622734672, -10689997821726676409115652665700256, -10771977587302368727099751052881120, -144884530529201392182174573447344, -1058373346944058649719270887748400, 0, -11711395082241759712014055311552], [115729441011153378519285277683656953733171933120, 53457577717365332121981762923161273155, -169665936437771228205019628095686569196, -2544078923945625091110631425664836965, 386485291928317205900766547674274, 879729031709809343560678106560354, -72814491713371925305849767878869, 5423330037280397608618879031137451, 0, 70463391397356019665701651269440], [-61899462188981771666439770191128595188037988896, 151674890791810120900972475364213986004, -476340939068323871109372731715177411072, -25004950431963032898937991236311222, 5336605194836606313795139660524762, 5746855689526321728628338322644810, 18225366942222053733856520878710, 4589588022056193819018070184502102, 0, 58607213527102202119028380302864], [-508420629035448079613927034400090556390, 1353100837580769001464015134908198148746608, 1272035198381427201409870465084782765380, 1059934254157698514117399391821633272, -106494346645397138493437424317932408, 20893638968660819295911995408409906, 0, 4290387054780223446806763503722204, -36989834838921807223010612291726, -44911063893277596972435892043310], [184837683390485632286688273144403094010253838465, 357768560695582148246650272636071316821, -1116801164668617704069604908250720204572, 9603232910449160844656755819381608686, 20473269247307142952020129376303185, 19798831814548469512644692278085841, 157855390787324843993791338616288, -7357304574237893480475364898662688, 0, -96348204679810491339348156888192], [-107828313918140669268404192619487159720228973374, -513176403213624097461007412559067418969, 1607674383318060075192996615150790078388, -5577739379579984166621824423955340255, -24996235513734254108475031804126880, -25090842760832446511107728922682144, 74404585009263662602581438677173, -979790454084880252447472168081483, 0, -13515321014027486090385302650752], [468850883735088722958229696200587429420, 528998929922011538757250001084114442879018, -1173005168501658031254952385001798104300, -1045967317838693729001352794332374536, 290190821404037275028724262846230250, -8971216500074936328191364646485638, 0, -27544992396293540748132514349631124, -60866569876194825624452361870166, 338061004459050813177081516854922], [237335486110385303464239272946228916987887306355, 354527049965516381399101943036352782105, -1102884892793948000812416117736841875324, 14926472271208222155920859071042448900, 23459052117275561851399500022850271, 22268002229410179631301742491993631, -1138757700243912896888167943700646, -14410456450743886206548894716103206, 0, -170149983980768888585393932979520], [-1130138099726792406370978565570003405650, -441719957112883263129018270889036739418618, 2827605052738809796183969846885431741900, 2178539248149009779643908611839071436, 257288444791617015712951402425697746, 46262335786533871791665310940957058, 0, 2201976308436734824311903827687152, 43413281398305932967369870439432, -33449550571583546260179547783800], [-130702088171891494217621877562050741693, -1555992426843087594013615359708436936372265, 326918889760670960034052108011872531896, 488344847397282979640942575042431120, -627994672579481392263053094116797565, 5824861124757303608069276244815516, 0, 9587685339085962850180241064337096, 28881785132532971097419174708956, -118952742035016957685048922741220], [-1407633830170552169034662199690729190863, -537193062256282580227848339798583930076671, 3521826707258486742189888422166462129746, 2889412292156186941769932838001550554, -168858890144400680858789955845442037, 60020010264227474682258879661339723, 0, 5591118802802844760186707905077856, 25978115685580774567477059216848, -70890624076202090525373651596592], [-138226960211702977022510474960360713877700817840, -498122964168989995033352832259091624716, 1580339858639437773344354840316291265792, 22817609871113306310758404050952314362, -36400374861935475308950760755546806, -36243833455302871255686724226124486, 3327034076594706891212404080703558, 5071352607643723484725953979980838, 0, 22363058090372007609148075631760], [212983155605317502456366035079728806646252000616, -1162982865034088964818465246212278451044, 3645402347416617154295801938263429529824, -9760907757047089864366368884195734718, -49921322075502545297644443733686950, -50971406232016560335450302063235798, -2046615404399526431897316840745522, -13747553148412836853162595370004114, 0, -150012022359145005400836904221264], [895841951867536936623352824967518726525, 2582318331738904291027522955641811907995881, -2241475010541637241802284167648823940600, -1533681077380214986895900236196026320, -739738066040919545568631275177355395, -22652920919257274562577087534860540, 0, -21326312423959080204050617395712200, 285382335830378081047502372765220, 206320949075402227016495049726180], [-433123783485631942479725879573524389761, 6270636578240934405548051025452650751090581, 1083793621395648956562641645357199044042, 548089567672873308441326173358994102, 895828278882786918729574466552654627, 11158806085600619937555091987754123, 0, 1428148497162589562471719204372636, -484268075126307844235600055433454, 63709578031020479247936685377330], [235544657869362734622238294570994303457240422695, -1022770722451399256390885663178582752991, 3252014842485488947785802174453811028292, 57085860302408618715353521812358770752, -68000966503352233276472701608514901, -68499661456737145282414162107280661, 2478662109840752282954040033630078, -3078224513591124354679376952616962, 0, -71242136197844572277351499823680], [4252700468075578299669957891784162785415, 58551788531284666607032395008068477732635, -10640066599028585332354685888235640348680, -8656028296601293272125533064982296880, 305018815403491749375996002958166935, -189562010016407598262857748886448260, 0, 2843951550571509434740889588352200, 396680377422117258279269184444380, -99969962315251798222031644887780], [913723245536115030257889467531739192859108208328, 1425201029065291688582943903837665121924, -4375820093730236497710493934186733672448, 142294802010866719326422156193696358242, 17750528979338977645456153420585522, 19731080785932988102186554880094434, 7405172928744600433049140295318110, 29474178773649288379473613701274558, 0, 282935972370572922390057351358416], [-1198137542513348852334592267569716228916, -4446298633687014952755373835957309319415132, 2997948338109479733953230370277184043272, 1804361922683244403246694781112475448, 1679222211555184267609189333998557116, 48914926272776564367338006544264956, 0, -18992278060476855920386540317208208, 2225572618377467870490773156980936, -144830221390567788886717665244344], [1081710142461852684701184572650281763310627046386, 4857321271564640575357904233932605104391, -15120092245925487465023132057941161317708, 190767880128847662016588267147715564657, 212717278875802923417390558557017968, 210800934224480718435503135415972720, 5169070446857739184084264636079845, -16184484239303973471232736078424347, 0, -273763521617457854555346163006464], [463243197679797203689879429988204021639811970548, -3091236064850029492617793344655887318372, 9744008358665310728805402662076438745280, 51605052692319124133969341624431070326, -266159731214546035156356260271662282, -251956781382797691105165872436353786, -1241383279498890324130142740029974, 157020057702839800531991321710550410, 0, 2028992833106906293027198262186928], [-4876930497929966746734273417027436357572084667639, 3013034718089189522362143277162986572605, -9491222464307680850528681203004260799740, -41323366463091970857515816346114860194, 131050945720382555815398251791958425, 137738482372110838801257660115420825, -4772269651413010724743566268119200, 69745995896416428260546983621890400, 0, 955362378818326140837058331923200], [-3903194300689429734263986901832878911002, 8832000121942946723313318815994590018587958, 9764761565972720586189227245134573064044, 10034191671422927255617268987778879036, -6081159387806745079160861995040541294, 274993508596223249899496261820106722, 0, -113372659283758915068057154787159904, 1984640119221798298561123960338096, 1018901162079211177240493087409840], [-788256355519210241401655448222542638404084553544, 8194177230414112618540018954170655669059, -25821203545660289524736900406000761894828, -125424206019184764289637191715133139117, 569193288842295785071596350983834186, 549643668084592402274776349389282954, 21259698008643706350037826679236691, -196578933291479701957385048231477037, 0, -2792802965386197542402857370650176], [-7139066115460606188321136221335243301559917895780, 5766996608954329183349417152862488939020, -18332009040142777532510233564476270672576, -315071648337335742105104332264821708450, 482891717907806265518840674408129854, 467892967721283827836129019947094094, -366861076388737632076642366273854, -167495791726210186096577934932100894, 0, -2142678598074633954673093494433680], [2912907157921006117635873476505471550090, 6307482485574188155002374807261821967471602, -7287920491806384736021273625894210876720, -6050447786377844510818053276234255744, 535589824685256025546473923092324090, -221975623625677411781391649690811832, 0, 181293212886255501654347693916819984, 2328248995140026731008587635942776, -2546294033550188998672237152619272], [-1239733678487207356472371252942746600042491071942, -455885883989605797798187403013996086016, 1587623739832102558489342911900093152832, 222091572343465544142590345186440681432, -144557637165619846583882188591868408, -138116639735546509123456701743083256, 21739414046723352340381059106960520, 93510528267540541185122198279137928, 0, 920142490010476780060783835540736], [753019227393830253687773372157411119573, 4532675182884066778765078515803765045245577, -1882240495652464068178234301619531978056, -5831502837746527412734627212202613040, 12020864183011394890717181300663482045, 5079763465333681076003121628678684, 0, -264009808310635386460447121958603256, -1763408498184286589878249481510596, 3436875324823992841889793032139900], [2134613862604069052710932186059419280813776264479, -14490554830148577425267288619137447274991, 46073584264739772173066788364880802135236, 807762872192331913679014029658128741928, -964780935197331751401785517141109965, -964744218821223162194518909377094797, -10782111303630791853266860897071018, -10372985969849369258010374383759146, 0, 5245196586941315323801109145024], [-6220348101735281679227900500609201857281, 92019551040615951483905815245796204524810251, 15562807899362764006433254677826819733832, 13245245697792145633512445439290234032, -2042123423749672104102078784572392793, 498076017444137372283840769718671588, 0, -419154708693585988804528443167275144, 6423201171423937260018943730332676, 3919403479686319847193609892174020], [-11657785313010009234475560668589291403458, -160868089130297606411610739201598109669204186, 29168416438691718463591712873829887918736, 20893883216442274297941826940584812864, 7030291288555292764615395187832874558, 346228384868715579634833432175934568, 0, 216350847322439909078998918329870096, 2172993983690068519371515273797368, -2937770989215486527978573001940872], [4596376522543984653542049647049251239739404184507, -3540653170975249000697027392489988303087, 11524966678065512892370073898747269553764, 578092466514198690708935656817788547588, -559361533504511276918039986658015609, -518927242194015003188979770773065017, -40150122568988219744074483658058902, 410403409176541687522596493345676266, 0, 5776327330070896247008602269278656], [-16501557665932814130907269056922819899575, -139165807016104223949824133622795416583795291, 41281464775143018313765728299958190564520, 44954847311215354827650861396154834672, -32805364975621958307306010070018677015, 790761280326450665066001172696822356, 0, 375121827484258940980984968882620568, 11993403984832851986961708049816692, -6464636705618081771410105733095884], [1552971759524052675865843267900245859960638846074, -19577929497951937112675433312421902299337, 61423372122724953961230846952236261573300, -84989149370945866589776006789114775063, -108589483745446131608597566927377560, -248840549344767376001643556978737176, 900848493351806665087888922992109, -1561896739613370630857424571649300755, 0, -20035866514188749199006570007337088], [68014499639130332176743461005903725593015, -174761347529343599897883584221526045235321349, -170166149012823682665569652442355412638330, -145942614021221807741494912907710509930, 25740688718987638596532428258588340945, -3184468649155437599059568375805710495, 0, 23779172004436060307747684795897960, 994279043426892958241092738370060, -448798554909673353846702180155700], [-367447319226208147252510629298071226007277176764, 11945040914116061026119471035955478404316, -37849421240694095069814485870315188004032, -480083492049767263842415184631536719738, 641169578951754930718938463483691302, 640480674099550315296004394120116726, 123215525288613559038037558386116506, 115539156935476415753915071191999802, 0, -98414978886373631847724194796368], [10071123629479822639980875693627855504198, -211813372803443821026234180559437665767400414, -25201800914445987911838184926071674301916, -9971555059612972222858690955315772324, -28487014797673900344797777308901321298, 232061822133495458285222201321834702, 0, -898791720904483227261876982944281576, -6452675762337730761064597899576908, 11775347399728707832342635161170932], [-21492313253853559864948163864519704342504788946052, 78286184726936252974984263449942456911916, -244445085957832709913949471294191833290816, 2003540701644329329695805881261376090974, 3977362458261948036681957798470757534, 3942061369882187721436382997943490862, -166125998594778505573988216531449726, -559480983397822018310393136692421214, 0, -5043012625680045035082114361038096], [-51788079115427099934264592774178039325846, 170015702755998911890810196212698360382606494, 129579836259574583020911821313532548129112, 85156097881286656710106954214664425520, 52651010195489132481860072913078919750, 2347986285316207485297810780205800812, 0, -995740023898843688582516573206640888, -12687326603629305951384877237582148, 13968602337495880617879819696818940], [4580985025922159758994391573616946863597480790311, -947622617702281449054404120779678235607, 1069675926881783106422833188991171698724, -2715313003309144463731934377603026165496, 1072599850431782238963451638398467291, 987517889137177634563935291693561883, 143878482171987583275241992004147398, -804177657967892294319368728421941434, 0, -12154565899229229199930906672129344], [45924118140160293103624051290795943443824, 327858371504740470728024551844282944294107780, -114907820669407014060648070327424732426328, -74857081388284006020639294147940712064, -48571306239929372426144014159224381324, -2484508087694553692795220455737919260, 0, 1714063877111737252979844515105114824, -1705368023876757351105742146483236, -20121294342588841072194811012551780], [-5123007827782117795675990202699884083669882995212, -133967658519539069275127331078714705503076, 419602302432931778613320430861542109222336, -1584846525687724585801864023042491901098, -7636593752006972956382023407589729322, -7502200379065816257372089019944003162, 149121624454844053542816107360477834, 1646647780084875842510656426841426474, 0, 19199053277308099858562055377960880], [-49520517231608199923029288421037995546660, 152686861681793192682034117955047221082210616, 123889246703652688710031986575998410005800, 122679314123090959471263955068593579568, -64149479082355018452648284692640919800, 4489704184865428756212082722584081844, 0, -3639731032242801659015533337903037288, 33316159783581289283645849626081908, 37777438038960281060053469561165364], [70547757216480126768831622101050395603791085737191, -109539474575583472884207807917481852792575, 343390963900554945966306151437142225703876, -868002949765125136900782145324721726944, -5620244186082622238228583570382858517, -5640330114103450364544527737771608149, 223835764635783197585208129297662302, 21138117984075778973121251594974, 0, -2869418288689732330849166769821376], [160865222022606597787498358084630331034778, -182513748802031193171439545123826432162105218, -402491740610519154132027934895766872543716, -293195251796971415854690326098007412380, -83724707541106555522513692817950971470, -7092481351007090648039309590824655086, 0, 1430443022928143635148390797345688424, -39675205501862586676231685243971956, -10416549355976993115251752427739060], [-65427143041181101035042466825144282113668953499741, -35540292652264309402388139476466045317439, 110140719789262683397987402218664239943012, -2095201938134924163104559071986679966500, 9572345348824132275087166820729119, -217797308864721966579741101165530145, 136492040755563159097081986567639954, -2397055534766807656713861570993534702, 0, -32481379173363728407832609712322752], [-241407148812802767609956869892481742834220, 977177542511699509977141713759530873042627752, 603966123701852372474351188252091173942000, 549262361232871580891677896673366801896, -178173602670342918462884249809138558400, 12772707094513593323980866291337597968, 0, -1671231667688705381652533071423166136, -39040810521627941641576978642529124, 26402416845136863864697747290697308], [77145216356253011084697366005088863016564285023642, -27069216316394138229232951379047470145641, 88035845541742479582272413667324319027252, 4312022816456874595520072637685005960681, -1868385379180990804985489942051696760, -1905833067630386754902515634340149496, -469712252494314867700231027500334803, -886986495216155452489945884428808147, 0, -5349669778485135702432241755493248], [394293040921519052977574912517926651436596, -320508054296015684244727666417034543022186118, -986515230024877829165917126982605517913532, -774567718150883782544638553864237390568, -49737632657780060792635842359136003046, -18729167487546692213796430361902901166, 0, 3788691472784394066260896626678693948, 41479399444251058500844907578474434, -52016703154808439110389587294968286], [-48989733660671555783466743618885647301587142886124, -175470897886194279053378229392893481582828, 555907103311256472583898164181760699641120, 6912954075019222808297374645498540941398, -12857967683967817105586772864188089730, -12712724586722442017205755102442189074, 914265486625761835141732623979410586, 2532688570217084248530216254862303610, 0, 20749013892196441197288251677985808], [57434565492196394075915243478246754157355, -1485126694567611586034314383437796769730864217, -143653794528102129887002565483977478207320, -225867059662112786427857957352180539856, 307177238395797480139951747818473569715, -4012375640206946811889771971050995628, 0, -1772006782507310619221857680313066024, 135406053731272209706430009158555604, -1472356782505956150811457713175148], [-330678988066121079300448095634429735622271, -574721234077242247454607316927980116938758659, 827383552137632874960824909353755682989162, 577650692272520705656394527936608117402, 241960011767260781746188007338848960727, 15598619926662432880277883480127688583, 0, -6054275493380187077006492313209580264, 159372001551726016309697236361302836, 45512707995905033912746797668468340], [-167355413188130791877724786023474386155790, 1041547756213385047908452973884232693065368918, 418729294598919014341768937019101103004280, 308812449511945424278062528930858170352, 77148313101596654889477947512876376222, 12264380228283589161651310999921548156, 0, -11124720886612461223871295262800705816, -129884850746732747785503494720797236, 154084628536508567772242192724903180], [84228395687332281221806671821125494782006010587962, 185777727335121820628145537803870524076039, -598079816530238545858203453480477608321164, -20880095229962459495718293157305590103559, 19616670771142343288059727579156752776, 18888818716418079994500641333353546248, 334856516278538770129142966593875581, -7775494950648966500957818058070425731, 0, -103978864960609041937012320829029504], [-215910394100709742375693065273358967427065, -346359368353589100846129536490262080475178331, 540168885010014892441438218655301510913450, 509141964827027897087914348187349905862, -210072214577144953881850981531621967325, 3591613307866218286899804850296760171, 0, 15002905019075468505005880301142691308, 284765693388479931152980463145740522, -226066961029930804061281033156941174], [791639437994504699791304038528383272755408, 116558883525682449335012381735257692913100554, -1980701472853716860479443349615992828921476, -1478093976442890664368100051675593682008, -313822177261830340236596937154569591878, -34020191123053932653296158652983639090, 0, 3757974392712353611587239754103665348, -100351046301526154254183004317353282, -28012616005845088714627115400722850], [207106174986462299461323844480142356821026, 3362656189246393525980767236589859583161738278, -518138844111573505520165609298737944525972, -497699355393889910589812725869129480780, 226881916737058664342266998808379992490, -8246577001041923660323608815106041142, 0, -5147541876817192419023001560707453272, -9162455208500855650578880504959252, 62807336306383385692036974854486700], [695045743177745416397585392714966246861791146046848, -259288429417423200522435196965954551275293, 830770978700951898643666692724726410019476, 23494813292896321221340393108790355952443, -21625261655227217310491989517842506654, -21363250251090784428932591572081128798, 127084548209413261000896083442672075, 3046640194301093941234187479069453899, 0, 37430200590918983079913992251625408], [-330997654224631139425911487598973827052152503106656, -751690395553217677311193177682628623646220, 2368643251769160213865919534502161803917184, 11422502121512345878920270012448323209834, -40062762770920569254677080794965261158, -40188107108834164951998959786761380726, -1760390099729165064619663467662419562, -3157084150766374263349172233390609034, 0, -17906333987656528188839855970874224]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_3_b_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_3_35_b_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_3_35_b_a(:prec:=10)
    chi := MakeCharacter_3_b();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 35));
    S := BaseChange(S, Kf);
    maxprec := NextPrime(997) - 1;
    while true do
        trunc_vec := Vector(Kf, [0] cat [f_vec[i]: i in [1..prec]]);
        B := Basis(S, prec + 1);
        S_basismat := Matrix([AbsEltseq(g): g in B]);
        if Rank(S_basismat) eq Min(NumberOfRows(S_basismat), NumberOfColumns(S_basismat)) then
            S_basismat := ChangeRing(S_basismat,Kf);
            f_lincom := Solution(S_basismat,trunc_vec);
            f := &+[f_lincom[i]*Basis(S)[i] : i in [1..#Basis(S)]];
            return f;
        end if;
        error if prec eq maxprec, "Unable to distinguish newform within newspace";
        prec := Min(Ceiling(1.25 * prec), maxprec);
    end while;
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_3_35_b_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_3_35_b_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_3_b();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,35,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;