
// Make newform 2.46.a.b in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_2_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_2_46_a_b();".
// 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_2_46_a_b();".
// 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 := [-200169772272162, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0], [-1920, 3840]];
    Rf_basisdens := [1, 1];
    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_2_a();"
function MakeCharacter_2_a()
    N := 2;
    order := 1;
    char_gens := [];
    v := [];
    // chi(gens[i]) = zeta^v[i]
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    F := CyclotomicField(order);
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]);
    return MinimalBaseRingCharacter(chi);
end function;

function MakeCharacter_2_a_Hecke(Kf)
    return MakeCharacter_2_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 := 46;
    raw_aps := [[4194304, 0], [29930608596, -1], [2198556995702550, -127980], [3951246596735649512, 28459998], [96691290725273580160572, 2197121767533], [-1156261476574537229155714, 239553473871348], [-3285097925041825670434556718, 91984363822443672], [-45008853390981772279823072860, 815181673524211323], [3497120396287421645432063920056, 63330158869140020634], [1106766682196729020975676376033870, 2316369863335965338916], [4825106582567761296615013748453792, 28166368124641663980216], [-95506058079432098038714071500167498, -331442167032255178924668], [-929507879246117534945881953126590838, -26407448956304181459234576], [-402005660933954862207665134841609764, 98780044686598158287729157], [18056588704014783590196734505887498352, -84528223427163453768432972], [-333354661823145176295086948620652822394, -15244362926107784951908910652], [-73355567815836153804862715533115890260, -121994292233304596406795040863], [8405273353210090122957800700872024307182, 171361651987693952403443573652], [-41424615146384995182608658811788684695788, -1709442129973791229354053689841], [55010622541032018007367056102523377582632, 7701769801631750571438760588302], [685418337234558486731837818856502862490666, 10465969521625322663200552001208], [1685659319692822783764543307380180760758800, 19029510442057484290496978810988], [-4767757416088387337648315651206362018250524, -226488859858862133946397235482805], [33545881564751503340033678118205319745712890, 452588863618439116012402732576440], [-414996343788028930522907795669326522026373918, -1137337241819867460004705416739080], [1114334559652120086844995297626686242869519862, -18179691358012858925345493894128796], [633400958874821071213162573242891083483809736, 34095857430238525903762132113978630], [4365173297098430385124955039444619820844013852, -54895277903898205283827151155685931], [2712153571105054740273743868753039104225848670, 110904854395186844388651177442126404], [4238773965282471555255724033317415284572066226, -207480772769310711423933763744276416], [39371882346047852414573127026045815634009900672, -3537514823951156609494833181504873056], [-53111641328715822988220571628168856061130332588, 3274026171476196980261282304176338239], [1074851240963984332647329861631634532459795592042, 1509652690618560840611113400279738928], [-295531652573905185625639322750012594760850234180, 32102980215203401939364437169844054957], [-2276347000787223929830964168389828714764489937050, 78158560607733953321095552262191582740], [-11560043162776386971086966476070431921940760584648, -13545184165629346053164963866102241670], [12657664902311193557635540944461710001366409670862, -34489259402754925156661849797479467532], [50212485236128657253156709342333690666577036656116, 772433247423208437802653412403521152855], [-14029222374332440702856999085463837540835585367288, -2110808431957125523017035400099108623946], [-109918796316982053993496758213891333497025274483554, -1396156076682476385253564776113618124780], [-335498659234360655482009437411383073315223405363260, 8777123980536344679282507430870053764019], [-39894007742546884490869535127188664899827948689658, -4091799659986243411517657109850119894924], [-232159332374224928746989561493306159221069860079168, -61432952007275737943002657860800255000688], [-423033495639300241400132543675987478763945604536894, -9987948412338657058541459423416738395720], [3469526052002830613166342268043026855469265984662742, 10840814092233281429263718448765277722804], [4840996411986816566499310277786208061499248563280040, -83174492140900581915919636027949477912274], [-24082625547583865172726284560053029868801692444065948, -90366589630806619977300744017062739101845], [-28748995999205377820879242370638602653203434725397664, 1601695142661830629159481480630800768822536], [-89864008806571033491591098383790741240883310708744908, 381623203423593395440920934048567934508807], [168241908513639974547179410881656591138755169458773110, 806165640168131438433414394396885506529332], [-118631681088910069929257476169672561168171248607495094, 3282284303177204271404310127037087800584312], [-506889029270285510396913764766602327033822277496370640, -1071510821582263997585987713194450672822972], [629729420908141169849221227731051224738492741041380402, -1271403462793496548886764013486901069475560], [10806199589419592658188124578781068417676016890342252, -19958750203081861670204666656071962095848975], [-393016625173627289364326689746418028155385749834945278, -32657320500658000495626119951518880656048128], [-330631529194352498472644977676087878056751053860613144, 21854603873344286116176335124382876478888286], [1415376843726850731756917508157711952842391700202792830, 78738792931390881722373664284617782172140644], [4796530467511934537202086781601957638915141226195727312, 8473330142659834930195279242718255520338044], [2620714224481059179094713344165864583277504557719786982, 44510649562336244487624770328804125402400708], [-9879692929476051659958142428517381976751980810057155398, -181094098104489877500860194559729905237683240], [6639512013899707005982987297899216897093803648528424716, 155077982542458726117682322486586389349131721], [-14679520336766442826726504216287387374802310778571166794, -182436473385234814065006792376378663036459020], [-21116603093510743397410960845466039399659387159344779708, 254970192236566537901987541947124195718373235], [-75460446473725672204771868066947497392072270351374122408, 2318666275422097022509502496234004522983558546], [-39758948411727529257825547538326732586443410846641196454, -1349100905015948575365844413646269364620136848], [-204741479810255112023759859406724500793227663948173784338, 1884619916895711927376152011184900558795468324], [-562334573309263945852869499555509198251331187508770084228, 2775644856294699279884927853291382639557410013], [-802044533555325247891143291299238648329397689768027236078, -9329036193937194248456228727751875179546443680], [377268791092059461848616081323219559096914181045629584972, -11427634715694608224888538365041477706335868839], [1644414730586780537350671627973357795184958454757792255630, -12821804093938204679635359656749087914355526268], [2901322664232548256967242840692707581790321384937430222306, -13020421013524509445806987122896218854997948192], [-2504096360414916874696534018556589782957494288955576191800, 27118128738517165778605532129620439521317312966], [-6082684470571773827422526659936009078164804967372537810768, -4892137877023502762000264662323283935154618908], [3669968143943327710529171160339537799384326960618087247046, 150151406573516832543137858096386197844005709860], [9203693865076586060293959300817336152668946871116574128620, 65099538833956007159837278046507149018671048081], [-2683886098837743281556119164297036209877175010653449686144, -86307720111042823459772783185057256313249779808], [5418124172740266802610134280643228652365204056147092984470, -51059285007416785836250741382858390190491787708], [8621964573491787803447614518487848812999528473797045159422, -739293794498239067081527802853899648140527118524], [-18544150717809466083216796706941272253020481866603844618158, 262585239804686516534594082495760224571130142936], [33182446897460996370521178825309104787251455952845415118650, -494779060669285567928244210699663402459735781584], [-9363045388598769723051962936994423127818051394048600159500, 181707025665574164012112125812262372707201711607], [30851908321169250679662402814704655480358531674005479234102, -969287066284868115346171769849313784648299202860], [109544173216319430472386291086212238207010965654307913888752, -299140225370800017866606914600889596552042067820], [177629693221396410329127371525731308150017701000086846123506, -3906180700614287015584370959081382245063781209128], [-5904172224874836358682876477103974975175949663146919438120, 10120646409393523847463101742286110612064720568946], [-173645306128866733038611977736971724163013672445646453325524, -5629376474815623341194839667640692096037587096287], [-291649987290434646028960359919384679239187981509480994368830, -9732155711393774895622804203615941020916415707592], [319751426943204141203689787809540864229180959902190803862442, 5902544116927673392212871619137844054111111139120], [201876724416743239858241698262308588833666495124744457002302, -2737694558496738242302002515733562004705572640220], [447085609987567177666640681379102485533263993577254428302736, -20663458954957418548380864380193793832214010973172], [649390425880770007927331148906571200437705507549340788698212, 21434587361667719677461881725180320917682524281419], [-824226312557112483680575227706817287570193645954890438281120, -12875645212778718436371222356539614114698923707960], [-1782595370149843632283775274631677131869941414108003963761848, -51278577266062759921859041483981962995719883610138], [285219511925259644165817338288935403489094536996981948814492, -91588829212263667173533227569192433264212209636139], [-1523915202571069513299194058159246423783727737385078719140860, 79300562617231698239018260625523668955744316134051], [-4087887705432920616238588619295766074776236606842116667767784, 69119836900742503222316673055143449746129519006242], [-8986566675512042495209440029918227472470580246115261034297170, 13087918229886792642461943719990171574391144566708], [208328293321247513024091188515796918876483731181162295879402, -331754105598292870856176465268388759772925773284240], [19360530746232651711984717575708628787072440965160968744738876, -29909334800510212984172146506277957905798863914323], [-6454470633446259584579121983657178737717556061119209762231218, 214229513451822144805711974104058106809658442839572], [18403303507111478774464068994946548888004183147180301488753012, -422935740776970820039976432845164372844960157327913], [-24581501775659077661998749197415758412277224891308549807413218, 181084292448647513586213686757657100215577779450996], [52817138813646104119447055129041475105253996202422385049283396, 136456722655900461742411745905881303169516913051187], [20757563183214093884962902342859581178685556281771565933346650, -719352608779316287773403024532819393399858269012368], [-1791142017074643535912510190697961737518738149484866114392148, 1972543221904640426697661603695658425104688773561985], [-57308765914179886912874727156677850315953727359332592999213758, 1118714619848010306963949552048770392917770885603552], [-272800195948159285388013474846967682230465572943225041939880068, -1374904344327594023315337479497407264189946382590371], [267604893574187734685205669721031613988191575654588260098283026, -539113833954387150154895236920623712849514547564352], [-139121282262539514531176316708164690287768644051556896364172040, 2295207071588845995055605170063878242181361147382474], [302397862461403402164821579316076614236683449583284051009129722, -3421968479217707930051388529897405749128178857644872], [-195958231089230821092186708221122975994812464815811300324720928, 1908489375706204920760450941805388869818168459442152], [-231953901046440858353980560620879632837523534699450277066430474, 5453569288971189836887794797064314852057163539201364], [454500485497839297368375718853455886625360906783917862097862602, -2440518907953745111905664665105242652002408542262760], [-626855171564391352860094751311968971634496392609009214342270180, -9713882640904332754086734301028883773465279444776555], [-323895600392540669613523541602278248121773855874495198139983208, 25535051055549928766182271343075943927353071563404546], [351315192078676502066051937042479638568895072822181465401193602, -29130056593055416612498650423640409587889853821458440], [672152365626897500686748434950300370626350007123893156110794836, -551766720316977665011865240825000714636771703468033], [1443182440618032434990759744511364305037025441310123656586082152, 13328682651477284320506750038023251274509728111801598], [-1069441606175074076342326301637770789552241237363288170335374594, 20751019508171611299159466599570160829704342737351588], [-1728067874388725143392976320662937156657316882432798839808021980, -12891716676550838195067976174332349698684647609398341], [-887828887174202383505167960419113594737739869636605805285000858, -11756131049500616772002944050886764479115442281046284], [7187429947193417357542617800463751753841965745227492229763584546, -12053742714967797762119513122800216207805435818736200], [5207464753184494306148101786813180943426701332752869968397901622, -9170739693911005830008646184343766123335047894283196], [1290698297171200803675694484779273931233503177111985239426394716, -14598789070527308415616401339880345110321186371981019], [-2076025493241705048890105634605672608716680220191134977872332348, 216065964772681683351655598851570724784506997494728755], [13806082042866705654215884658936828157373262563863523014650855022, -42127375989149725364972484119531923637048630371090092], [-7283026287062603101674107763094899798303915771642836898842960170, -275597177848503003619103897663757261626093206215816252], [101877200409758559050798266140856021470402917239805648216664720, 6090785710762541655752798186832900113107253421227340], [-22910655428318633775149476400262500655036747668822975263617580168, 287040719260066896871865469153736678816137902915055018], [8878278857874329923838463110565047880261958892003033380829686286, 605615622095478482901321172217624550382856798164751844], [-54677451914530687271593748413239005332991096525900718853710801100, -265041463623069432184100451090737959906693349416809081], [25389267912555757741188076730182594184292940194288766204100573256, 553410940819681551284481405800056512185173107796584870], [-15947023402413139109464317593499287790617571154589849290109787088, -704469434273913744231028980261454827452647911912237756], [12806635481304090156118605523552490868301079516370643399933284422, -1126887725354292525946638766449413115276574395944980908], [22801296734280787731588755182054020316637013512571836945845156122, -532984126748941182154731185992347597796525376741265552], [-75299214167841199675928357835760075271471844672361537381561619710, -104855216348408627649389409621432015735714375867540552], [-40746997080158274445015151437508740161441752864332545010542424554, -1261356602202824517760203192794087531073754313562135420], [193468184950632480765956759390481851776866211725985082659116361892, 883683704694327309220728667857699221703994189658463963], [-179829717526270575818324037503279713162122552601588836919580034738, 2914714590728396722911070947331388182916029101821329332], [-417631022393616741231895014276208251315816197635120904464224830070, -682845164299094850573209755555218589571276752378011792], [52597812088141583272263083840525235300165522591443878646384330972, 3658602473396062295302464345579528830896789622402724453], [-123474836142297678269736219512562194110493632192555060700567566458, 8306295372209760194049029625352619800969955247090032676], [-67754328132100227744853409835380540384792735530568488253766935464, 1083288942373881278149019147584462132316859765934629906], [-32461707095217780387500928297707171326325413114399691432066667348, 3608367745613127961313802762587634424852918777273900161], [-19428865248839810329808003482475563136579265964035310327912137490, 3758461380467516283749702778230639769678389881960540212], [-616558673384358681471668799222764630547621818975446218191293454040, -3342625989560662683622615854780820400805557777670980082], [-7234473799000866582778359021741215056068114629165418197860315354, -19650100749163770131901365873862178609750015378391191356], [-330242164540403710368669812602077903799668572894834808003842376198, 13084297357193320898843242301702909272889622971479367664], [279992030301087491436378563964576998685708731219857173761126170700, -15606779284394458968747976756421790894210768294752058279], [-812627566909978590346294634209376592034221607175363229006431491104, 2132526248952717356072615884629066674578423657229803752], [-248466590174037561689140589748323773010579857261316623046260370338, -948998315162653064073520361178311283225283527151234140], [-157793386320863855172183139216654603943101308680151492511999768398, 16627832171142761492069159613533148457180017760864683360], [-1916661503285973911884644020718252344901563929048424317198433740924, 22815000276086266735222666023969168047961438404316215715], [-234790078015244401700006012261542272303692462649873761201636890728, -65220790015601420036945021487256922765393052843650940030], [3522640517155086774368925040969251742495468740841638678663942200252, 37582882092152129007706829056625227651914064161033690669], [-293830387428068036195384257907251689427586725165451121800772758448, -38443818833075676324343539441011187785902865486856779940], [3990722001441305416144324223437994362755905440160135287038426703160, -79935970873115865326233922066918685658126211183227263174], [-1722865638630507671937776320277441769682523480260930722004706869470, 133234585011865966056130489136556634794538639387285203000], [-8988821136197835500752062862348124258275063434058427530048952434678, -48809011487340324879381235207000221017843935054373016840], [-2847657005114632709196704389294147379724857364196174045397874242658, -134544377851237083100661865308176780557246098705820047484], [-655774407127861482423564950958346909773939244000048981468588439868, 137102335100639116997227816773721655963305320736841850195], [1880915348269763275944726672211768539412975572396813006620173685466, -222722688168926020095253066593066933373414481702562297168], [-10536036540142251609786275226493469332821317646267433242095373557848, 149662610546723005856773639324716658320265922702573610990], [-7567627868313071931606950787351961907075166063820378493249315519748, 74574370048491142552814571117769630013010937818347117085], [-1668750838386753389230895395294375813129173398960036815383561630318, -17139858060182591130331586392446790148185716544707033192], [-28437334939395053003986372634107281802932506882513248051452127678344, -29890385813790270688795637751047240690909882727739006998], [-5453820785899910900484714834562805123206980935580470582821553196448, -797528736199285586289753509207471136272965361351568359160], [11798015593167012202004260200232693873980537125149950193354616130422, 458653082605157557070007533854987101598666134532078987716], [-15102340071386367602768011706020447445245847627550537412732421971150, 555064535839568461384217423313200445167721702824380801176], [18216231012719145831709020176450739594401935768080220649813237202246, -70280532071745047830537564215561282986899841589855734028], [36638739483417157584211051301028201239504256647339818187886037258860, 279482791846136652598621270333940597824897028101076416401], [-25862386217399787889949922496615641554827905769450209816502121907538, -1163367984862863099252721641587519864503126245138558629436], [-20649810016294387607990570057192084450688807149377497656749827335448, -563161000340862065134237793944331745981222693500344995810], [-57011959354777723138444524714270598731467847372515542677538713760534, 580511370455202172241173882017686062568761218922476462936], [-58325681760706563784558064430521136848355939630882930213438508655920, 70973897558735498507599953123940452950393250859977655356], [-84295193999289094197078734865852027697237576479075881167459065420870, 792877992293105864349377542702857817558024491380078303832], [82277312126394023196585686175807569739767049129797022811148776424972, 1434253096476609491647250258352706649402786339397379867113], [-55277214315381948804162467722495359463491707273932497778110316950858, -1865087941644931559869889744319368350115527661790003396444], [36557182430801825889498778746103173444741624272078282986851939819656, 584253930134343775133833262833009227774847714972310218326], [26150957121770368018015079320067632192463934525759032194795430720030, -3316714745219230334266474903949756522359633420101921488556], [127279156437265348856632212083579591335676307886849217213501749520192, 1246053934948996772708087622301421708018577837764029825008], [292879394203958967075169211588616589173923003650355561025644585888532, -2075987302313577385824177482328414628037773561607460140433], [180971743655946248139437303446251215224166409195531801752644903088726, -742669442063000589115031749213138002367629086896506350892], [158733631752417013116217560269251873700801191754500757101137834577962, -440967350461793277610818546565885847019636108615140171688], [160690111635858268274088410164281027688042977763592802621153955520016, -995553157203808448404150423037869348554937076147762786388], [-167106385927478119721034794827661257057848975610661686526405351840730, 2874494662019449121146722231177006906011265521370168342804], [5305477858484972248865101294244512915472311884643034667124845702542, 3919531926565484299894006434294578142779368399111066430196], [472758203367360289322230888854594697593629480123909917582996399141556, -5512996674238814812790624605791669930197897425242407279001], [-157600224439262788534759408331543784936281661704769661263716313166390, 320346977868939946121783579466660659015627686514871176112], [602723759052635677861577075769470929597423034985908708204424763431552, -949983614976797893015577888573104054986997955434498728480], [1028711734855741450511239355433386930566873067823751561408288200956546, 6393801885520127706532656399490880470285640361149442194784], [-486222435796819927106055286979918010181285588911964087362635250132804, 9707477160450070708566992421902992694644336746614277804717], [76321863918059721776866435313391769357400761403683917781070131229732, -35147126366543397162358587050453436906616323140631698156133], [469008179675045895206624976431359145090107460345929206527360228125902, 12446644187392718232416384861542382687936508006540187257060], [-446452579112341861794838591384624469193918635971571888966497956957708, 16937483979358515426235972797488723518270335658455214989783], [1426817105358647366557339458006169552056469576095884049591373850475786, 13911187243331948307296449895979510711117511276262555547672], [-2149309738984518337984671813453795337530024381073178277973635917905678, -11978450669094939614388531203578191882191628673500602075712], [-156465865330355741754739891468566342839565814647170335556243769022354, -13339668766972907016693627289575297627610336980350261832588], [-1214754447825084624274776924746764724363096368659959490898326659140158, -1032967446418110545195787731781989026885782955697841258624], [4153960808673283797007592085713771973756938838006202773814578042252456, 20648814766671389915789449026345729677944345871663088901614], [-98865321878967345122521901937673834594241082039823681530149672932290, 81234331127854097640122598527663121354986436954449310151092], [770595184139656876167981753042834995878505827238095042751136330073232, 18840443648301222892599343016347860403377207746959898028492], [-1928054631636121636835513141690313718958607267584291226503042350728538, 20244922623144250804580509182864742447457255785423609452516], [4422538513270977880167361025594007867287925787684764492332019656086370, 91373311505037627849779514001349115483337742642681188689408], [-2630429450587201613283190750323403157836485886795706924456496608814180, -32161495584485681625467340269569970106116865343081767574731], [-1485114879105022614205654033200334968404235591426822293809732768802898, 29001341968480792545876851376464196229224576412269771566916], [1718836048553685030871880441712346546824371989557093207229817522520320, 66360966840323967091058984957616221721205775655124106732736], [-5030481259042786644679025717725145583000008176909715241295327509763884, -69548253994763175956791724890972142958315113153620930120449], [1805157894656589042269499093536270003377561029329397751016453414267370, -21662109738073038472541124513720639466771992336577676194248], [-4954554148930137049342997281778720213677464001025502046679911727081668, 220413626847635754967935225530494510203686894315305018340397], [14782091529590501741853364158534255612270985807794594809510816712611282, -33983875264508593698827536433679321067360520946170998811880], [-4864069347475210101470505783239364686058051111910791539475453895470618, 228385492702827413371565300243415164442548585298171507616692], [7039718045221466664271483276166109489516830184307616324992782039058616, -194275765396888315693081263112215996011143187687500602919398], [-10982033697276676478511928280383579008483620482901274417867948212931828, 100457751206953651629849722375884910321631455553676047243657], [17154242544284207202513388545393346672240146114873123207629956180938120, 132013746235246682678599147598483404167897789804585143226390], [-2476887598103240517097069870496245319661115050930140785568670159267958, -435271736625473482199037409617339350356247070547205110178064], [-17380012336105101917238712982070936822345654372603645849408791878557328, -80703783555859127545825147537812057605802800516044807904076], [-4697082901566451863055793919859061599141235246956335805984928409136878, 431513366539443134028774592431930134752370124765010365495768], [-2280538645236900531009485493257414327005836439756535871285115152010248, -264667602969042213674136339581196141981935351312617717073910], [-26878370671750883635624270689350516675510407786841756253891764649749874, 134568915077981866840375013953177421297977103617596857664612], [-18730864085722473526228637713067758032900419958357648196116149110403338, 40311609503830564581454626686669967601584536082737574621684], [-24733681536507533032727256723340132413657596541546680758079610552966760, -386106306727403766049787906195609760125377247302937320387134], [19759664401450489751687436243378647857656772686343298484529702128270210, 76717826177221803309719212446242194404076315377459739430520], [10581415714996509207498910180713842078049334338711209309557030675140176, -2307569335679222733272072254532880216535783904126046984994788], [-55668241361992652886406165672739987246731710614925699663757179279093468, -286052292066652336458933553787674164517650586789107221946597], [-83826080912978243891697931594002989170734145660649629897503052635645850, -40731268985373120326693734557962756070903202369470906784092], [109834455907114322741752719269074921295774849374237207483976715925530426, -784705108018565312394378011873562085961959978026977612078280], [-165054310672691157779109658389955953347470918308618377224103012350691040, 350197164483890179227647642624739994628688580623001458455448], [-3628764106422811270053881667577529774712435062316003144108545465588728, 1353083006079795362127913355107854345903263003979639312715446], [51490121853292725548222144278827380794313487751373023510561002573226332, 3505196187645870849119928344120906930278858462780935038086437], [179540776060785789593873642709939427499561503699853831514174002274809246, -562614261471394657642823562436452677131683894345403236646236], [100233722266987131531900772399764021767498396668134121242367822587142340, -258909161296891582678173085080185597511684386138671982718573], [-61025812565411569267080855493104672534719038251777349339149664775841088, -2426074223418846665480825692670485682699367222809810084666736], [-15936732872920302208136517305487934727070216171965946140993431914683478, -3023185785759713847418176525501886767797535997504730807199912], [39060819039118102743829790311154515387188078481578394939669860932517116, 6009397081976646718093578160777626174272283528925425393887901], [66475344582944657107438586257252579312483788389138707183205845079232912, 108148141484701825294360766052250737411943211387033981174796], [-13131826121266139584947519722018270852181709520917818662316300870072430, -3082276366290060443320725545598639504170523997963731548342568], [53608521434816950941552571994367912837611620272344528101139882498420646, 5932673394508535166402517044442313966764941405011721768897396], [-55188659256076964646266554282696780230530807544990143721913478953273140, -4219942767799799222442546813619160731760346079191698284107111], [45094174264949439568073902933134670627973856741807787146277684632026952, -3998940598015516468856356961647940754252090043769437123494810], [147976799806417305134882916446725951618608471880299081067779653519040516, 7657925343644801149630610150574432649688108599826298805662243], [224250593789904255911772132756814960472577042323134920655170130494516332, 829903299542426930356806748626851805461874164472038868136017], [707602717095061425862368081654782045165181192929971744392077582886974696, 6395236403876505262787077353035142921069006443890650064968606], [-378289219111185351607318231296167590299124408894676166745414296110964610, 1017960011709241502255106184096398077467437131813959172190996], [898077607994449770861895380717500424667609770800752325157667660534734546, -3651880964590850135107304488775446516136197830808904139956256], [190066717555639441030323496897438072373623340920984174279662226084787640, 4872667090568750555708039629995649430932345241434316264881242], [-259023973809530091406295265026504292517723507269301567558095711653036128, -11873054955553219865013426091238111485908324095723667562039752], [563349988055175540673486710138101141623256291111360719452292058339958132, -5514780285189296531852830461532288589304177162026191915782633], [-602941744530744942200082721638353197948530669591784450032489388547436580, 12611823490128979809605154532255997749389147034004495174165061], [-307760185348813813636138169732463031430465048765751467198839463692489104, -11205089935207450936378748220999697176608460159894439641352332], [555167789706974963635223593043916065566051888879487036903729626625960942, 10258711658150778531687779266033085411295833856079261479739524], [-1182540213120467674682444661835154590161921940855776335311669714170295998, 11517057988877771961178304353271750982533102198348461475772000], [-1220023952497312076924443879225879785595047318112408050578786297960378328, 7873851090591803319886254285949204030989826934984175114846222], [821803387025068843350687744177109892488190167622421745487138796472007210, -10969721768749175003893059638576904264407538287260804514880840], [861889106416126551307139733693195668517607399495619608207540819519475646, 5071372297152491550279690324468734359200511327089862305806532], [-404996424326696952128938013959727021562264000686914498584674182530298140, 3476212269986201229769580995255386275583340139122863655004811], [621227892275374486533575502152161799244696002297982013521678604052381222, 1858863723493985668384736182937416781058348170332759085662548], [1383900920493429921199536068838716683168996553898379653059678506090084172, -12023663878233139844814365529991221548343718155149611434567591], [-343982577310012442359183335667090122460624795772195074387444935803829258, -33959527230733792485041139449722530313759698637073404013973372], [429707075749783359800809818988041516128299670361051677267526581501306522, -5519237548393577304841688544818526977781641457015585316150608], [1514944911026302650917712477332234032729163463146772871514667742394446976, -9880904806517724378256859653449265395380589742491930461137056], [-663303233766540662141233733836292762076502643437838717168755570459425708, -65916136181753376230444404058055262133060201873540523107688609], [972127667979392365282030669973708463507243436878836887179794624871084950, -28592513143903140242827651382051588383066736550498518803427868], [-3269904193266551855827325451597901680490729978308276147677664178150033714, 67931875929668298300352178803524927278240196804724544092810692], [689266594430114422409243652980861652915672366602059421783479620767180322, 33706446034076361796164839578448405126078817812326714891925496], [-4643707402370151980874296923221655634434739051590811677050232586529768460, 84499137717793645720079730409146180586361704063914728289311031], [1263098213349624208283079424506686660420371428347497737230538239326945950, -65463491095417942008792803537004288463182603038876131173312444], [5565531172931318307216796516813016344183415448134158768760092229353756122, -113472320479739551681319144674951179630984585632708869414201992], [-1867602083710937729423117336647869711221934048244276537929372821970451924, -4170790078490132678173220490039866013692887481771417750708223], [-1889578995628597960369916242086408677548499542628553858165750674609724714, 167810053340245929864007601127624147701507544964439164524690084], [-5014460892569845961513748428673530622236562169564620858522931691547916738, -18622160151383227783131177958127687712333511755410323759515276], [-3353377487000168371509323238598934821785643281175089259922668084650844828, 116412272751059814146651871245213250778097135098493017495018251], [-6711194497952735385639532484623137705548018836934989564485407658112379014, -180444101047068192734429584710154665114129346990429691328561960], [-6633098386496717668284612936860821990556557909279692033528503014362785440, 94473550669540839351053355840959186849150361897802013139789000], [-4551353346093800390426985223921787823354078865151925000912362771446921678, -75918647876195850006134522408693001760558534776712775292699936], [6259928943103460004260421966452498149007064931162908583986986141891962136, 29637546940608056246274652533555527486172266698610061239543394], [-6714182167982381463955975435534257752301652825832369909552254442723325588, -294006988898821333164890830173468127891602634773780439438232559], [8838498394459239574373374379082273481100939436664152182481771913853901230, 216054886105091938144047172040300518459644487180513617658386996], [11968591535624608815735207061777828527439177080722721173461278132373177322, 14822554975023233075503199805589090381886112661092899968041528], [15505059076084844102449851481732020211692188574461563603550474680055999652, -316595533464708446570906497657642592762551909227656848146437445], [-37515710779248170314692290578514559960185280791084506663346212142566994784, 66609991509176075064916553257912211229007598934108681705934968], [-2206641989198344014464727562546010207516704549714366297603819659490244728, -456965760014810495692100567077266691547297376907210155319418922], [9871160625882900104271597246498165273559256758884542894796569323382288472, 397361313698935232765405970334780362151767076048108768084644306], [53056221720165891048512103070898138950454804813115776189087961661947054422, -158874829468929896207168326329876018645854281229098992523617132], [50711452907169550426113261418726652777463716954195915261548325064510834812, -250244924284072513577034114762657695422346373012053781479468931], [-31613684906192980514745396225053185052912456031286204179178452874103044848, 223383009100133423126773740726765348399655584353029946982817260], [-18506147267033232902053911303390390193823552381625810167999525408799323374, 819718856024620859970819593031897492793452115769601961241964312], [47611818940393110089979250571021777296131858581826617759197128322357437222, 33596126564153750914502896952051658151598768245894614853527684], [-22343535962037241487138631483896732107073231261275739774127693759456154120, -976357428164291616522677167056014592490963410180403688227844790], [-39908228268123520875568216407294029736228647576539304782286536798728760350, -523726477070453509216827314250661017138154624500549383110912416], [31312744855635350164417686630235564720021524705002182084041130452949772382, 601571618075202715006949281020842266457122433745493092720213732], [-36295241482445823156904829969294094140631588289869846899292494371494892668, -908560264374713333845905985905296813207228129801002738296962589], [-12214443539181564102968109362052098523506669225362084444690835655509717094, 13020612521349089770323276062761827989307322489322351124345336], [37088700462839764055627460505836044622990233436859746989492417427531407292, 907983242961241863783914321683045582098615674595851117282185101], [-52843571195639482025082369342303996565312249638349772803291221035917786114, 1317987924811220177203442295743369755688777540570035459916756004], [93089697784820328670912974488940010035340757992094550621343512277507189710, -368812554488090076491334337287560054391038481326272030370819436], [-55605016707219672881450035868660031901321567187534840597583384959000628448, 50274253473516578357862335499471678081263986805737993603509720], [68376894164409966679090710956996286574408942557402553794988933084318794246, 1888739457833026708231953504174808478446275323174241173709994260], [-115536378150688471903688262324872334935723613150297177049798122561162293460, 984156098165603634322588828966722859240278041547202282713971169], [220911754964000164458206854751419241631232101068480814853936852446304252052, -742112205297979982886166705295815563531574433280626639945685393], [-74442030591507934560757881971236866577558899114797983027219077838024805974, 293205738494367854531548666849800493815461400838753479773586288], [-115621036172064179904235064344970996683957377740351852514539252552205835458, 632193241859730093175604717061038677902433893249682818277195764], [101061016153439456218036718298365235908806021304497796165668214289781558160, 2069243241391835306648404688046413623140114529341352332218016204], [-120670455706254981214022308164543190429119930574699862131204623445325591964, -1865315561019173923181836255733641917451545409385482902380310165], [19138807216968620741545325488662071397866147261864307556429438116298715852, -685313716512436944636576012838348447534083053495408884009375335], [-106679819177934266370927886338905866201521962151388837375729580824239653278, -243980794341521694856681539572092231520543187819997621168878792], [-57622000703421717699576595931920173530211915901945051005416223673795505508, -1000087640057440460904470590263551515158941013902594936487840843], [271440888149068036562607384267075579612870422792377044265604054469643632350, -1310341545631330033749140547086695325757174338949612157976683692], [195412673220486345349951471855297268811433635678321683511712691749979583000, 4745306688261394162845994914044793880073938412143897304681789154], [-67324004125181313651983321235634414408500311617242022286118694387186647274, -2596106155558747659318366561853096875808896273186706736132981244], [15950981628422038181605641556395819732113225950745784321255990317589237456, -2579299562382909248949833457288127509682623533400168558903133764], [18669740730802808235136823220535724810360919828165146963033011965259172070, -733318976440275989213646728111853845670244847886415231903128780], [442335615432452705854068671994686221780481303960595445654891074398850566562, 2584931731936311985299025518370125847239859119009900803046757944], [-365967562553266015504819800829849394387239936916498102873494935500432697484, 1606467081105151363210767011896632821743274239220200694765786391], [22760572366563127596908395297139370301778477942879935832163218980728820872, -5789434216916480081245049341913540959159032391353368584759659690], [-26246536168720241039913756118530694373544978850086715949729972704887489910, -7956875230877649085778744454152636215013084009928967951170902280], [-418709588673102587879083378393619817786879851475017446277302110570950989500, 4212845346410032409054774859575115947656322383288001795970672915], [321843003410816939194741050852490325049120932097535134992141024032198155072, 3231137352146080904247894405353678210371720776739444309630290288], [-992796546910657121007128403313417725595077910244351382841672729181890981054, -2263555582257271929386303211070684781809667034578099681720552448], [634786513749787036412761616550397868562532842742916825533654800370050573330, 10837416390677058277692782313343999919577453783735506637793137600], [-629417656428860369426734174093119852265653238857905965787073946160763344668, -14913612951240711366432111525712525429918816230626205171958249653], [86995873923972419415383761814618013933197302440761658427096599552923172602, -13194174212480942851896222310574395867331675529661238378117065488], [-158479697697984415521224027544151691372686704024683157551545437478467577458, -14080260374619227058977423381130470309016477158315058881478946044], [-333674434416550473177973976665256375364523179865724684389799603983749116704, 16505335264464523418781834938890916449426460050152728390422995816], [482341677592432332589494473198098967966280157597407945295242729956158333386, -21612252831985277371530629264429778888061066905352640175148955280], [24589323497585717706971753823491207259102916543901729777269323987276623282, 25042481699448742299398180793784347355737018818159282053722324312], [-139685087455249773093113282447288170627446143362405752471067665923473375660, -657835067160034666761058164686664881527086765884913789196265121], [1143474486861265852244069537856486907182920824236070788958563296837549930636, -37549773770034211185777683006433013591010537249028761905337881815], [350763094035457994353378194701139467271030320188461281440531176596449116192, -53431366147871524890609682181673651798193890441414373981798539240], [-1592048354266390711776154727400450536788841214260507782424679138014597253834, 16876492058149553623577395210665791563012177911320704941026961780], [803015128437200177025001596859332196955080577261441468967686534111295366302, -15364564643834773692663442637077715674449971228355541150419495180], [2353521377557967808865049933707242070714266118407335633799205598003090793582, -34679571778314089628155045423874228916680115831276271606857420956], [289471882991857564554918131184323265452806347201061591686687421446831112640, 57494947302818678302662426951283231444462203349102292615619220560], [673708990732413033897236946097065486069983929528952985470132028317300166036, 68584603979250350173771781594722579832054507396544490924311350127], [2089039513608915908879542487747302377244487521770738603181533974730399323132, -46007218392037978406743150230848500889943848163069181733669419683], [-5267286210056175122555225416341892778030070283543254235576892373360990150708, -11500069512790120259789791152935008418852508997348015776139648839], [-2680312355838552814000691528067294857483870460268981563637471752141388990450, -30909476524331236181352881700523810452847419929337879071135428188], [2394643539658826848155551940153718009190437554124789929775016522628685174626, 38194494221890013991461645400900738991343331946863465647806586592], [-3678458016977129735257229579953837401075420937545212747892575984246379604918, 15573692879228634392093157681959255085502732513794213549871799832], [-2727104259251616672448871749047465513904047249622280847015940207627443498448, -18592714541214279089168021175745199251249912920644673880802098428], [-777894635089370871848509480998948284476150933541725165469123578519155659194, -36436556675105937215017254297879905136083134457093698013404299660], [689163931868560521178453187639826615496858847982858084036533531251095160602, 31710010367577758903556352775430679643303369823540942074473688688], [-380151964384777440713181206320879918146894326332937074814619771244746499050, 45322654535848070063297185463723044315566217790380479434545936836], [-423306810284663880287388631604606492002296784708017984819466895096987812888, 70145713097949352466575201115505079196960131528995863672222645214], [5275838330521516681810692101170704956488461236604362692725313359123851843406, 22859974772596952456535023453360258218880289951859911325747068372], [-10442288933059501574455091343979134707494122374963292438958742436330070055820, -653671835807529861181498725850860011640489707918448509961286089], [-1453549650983264875052149776422051989487396415890996771448593806791535115338, -35225743143983803104659262866573767702924246752063554264332326636], [2816797256384313945590698848101015710152271577450294536590331218909599545052, 146258089517646546633332689448210550369458538354128914707619107813], [-4968940518906642407085537598323979391090204556007270953254827108318400162448, 67362792665141560611174609805450369712557226190238337147101708980], [-3060227026642711779456021000355423505591547852880741883634248440189196141178, 142245342246307525044509268144089944499803011755997404144842323732], [-5353873317576538657666207661432501623666839765631418748920336793791355306988, -60497825433875364660987037180211626577810102050225395674813054481], [7247394128073816500696860349710940082623167986522251570736342036717389415722, 27510313403110423298613495568400501272372452673611257253942818544], [9876802849718301382308229543132256552531296798184979095901210967286824013502, -24337558953420495699991353371610339861287096436777500050263946380], [-3111086215847736096816490340004056923502766401080951597006678968339206324464, -89541536205061672972897050705216008649929604532549576285302638676], [-4934044046351430618352512043832501396607336994340777190874179448857445264090, 82404990989502987808447207103999367655344220789794121490886137748], [514088176664021898770768042828831099767932717041805523353228892416217700346, -69902461384834709700077805381108964579612488380404256487996303144], [5150872509020052986907338215811056685418226403098360923181994397662970010080, -154856176149679408624781540484073443254779522193352937010101090008], [-10483787221448410351842603334499015811379654537240044770198451284016668094948, -45985008095490466295500388275216755156447990096721530623331417675], [12036238035865755893690843840912846617199321312983965498665256539230003034802, -250909256299445044971913851719186708758708453022922686410233160680], [-10277859685959665716375369230756774028479251705601468782626593675348895582824, 18127329331779607751069785295470659785611243594541153204872783362], [10421858506942806268139571031028924203507785541242857343913463886104754801302, -202432975413549173431312594588607820211608537114500092278060578268], [-4316887165300322507935453649680385032621590899674571968469068522102512999318, -53262966316618764219094679723803739297468981630041664912557228488], [-80429012199781341369771243695865991352851394016136091121910746918168370608, -455267789236832536786941142247944413657028499163180151367102613156], [19849769306554551257056368002076064263453368611271185426970591498161165477260, 55100483288343326316801054865894321959430966601796401020715461065], [16789612808825576369563190636852476865933007578045373883308771566511693234932, -163791052813302205232746653323703435662584581438731272352633118633], [-5346332299809524605338226472181114404666449246270914725867705432250176274934, -292009581534232330483664659434023181802132667844432131760616580712], [-21786875406630237407744317716671787969549495953097682404966105389683946544738, -119760156470149095143661183480855974165676181744834135306818032460], [-4354570211356267201290818112309372842427170038336443099106695026826603065944, 268865301977514615967287180251871188294405594310433285568311695918], [31028480576243436474438110773104633376729031047494012697295376534274060922, 722336271681060911533107838878720696059232739071919418971417796208], [20987805386761280196815313717392648459630071017719285853952679707657255170612, -286544895356828086589375009703624310006772758856908078899790645401], [-5567321966810817153271771532570902002397054019145037879216368999016509223780, -482345948814336581135523618883214628770688414141773994719416353483], [-6369466620384494907874600085872131812262502180548799707908263337401175023824, 700990885487487410041845858404748463326790775982517058839234017348], [38400020046488045123463719673749264568336458155648476526273566413779909702470, 564416063584880961501959040875335590851243590767702653840923238628], [-47013680160399792671889686063504720746540725933146539912708109818233770202088, -485100250983510262862146812653774471228293559956310335201989796446], [19983036301860345454549158353320119772533071975965507546601585362268533127342, -679926382385611701833003197991327762123616424021236057594772745820], [-37638055841572893265051009234818826900386124636252079893292213977972209691740, -582199800420725468549898001861597896702155843442372904066233980133], [12270070401143997163926267307055817848046202141309373974513433500182416667552, 821169034209764598142314131695685350714235534419535757926898333240], [5775158410600188433677988060397707961928422085066693581266103186134815375266, -1805504701189719001779984655512722056519820851709861814317666487936], [-63841595612244285267834843559787534938003672042045857708703228421383350088590, 694357312237078241253747462054522688385122351372593135600141696600], [2293204803578710330615223082218281276228544954032053957973876482536701790042, 440440838770563137885864006933449383372372393841920356101960660656], [-58767360582878505318698479026136003658168624937616556412459662461702463139858, 2864649867565765932557982451237362563411734479739190294717808036], [28623673809541480578777603250531972501537856256029397274491290579503935435306, -988773114128189915845355136081491977135232401148340512367448830288], [149854278036906507186876997857640196616513277432762111067503815182562459055352, -285707371235247232362176682603848756972240578354675151828580744822], [899813660496696395947429947501099962463950855120997541742148341808201222882, 260988253451718760211267255263786953472637298558370420992385293696], [18738997060087654656575450153047147546922459781176372026584227935799329095860, -1780534757354786937032317888950425054196119609798945012762227693785], [-29076873673370137203550557715786004912980501724600189361600737007495643821624, 1880545277349481909692122671411265842450183608861375009758014495494], [155675596923408248034414913952602080760840877856779326789219012714479959844272, -1399112263506803094941174557502294520129979839192279636514158718812], [-2793589894803340786277202402546852124616178756222228551342188182661034933818, 43522387792336036883035306689122135611651429322485643071703136708], [-10395407404466565745478070777348693878379746911347253961278750243595284308244, -903572061676697247435885895920541857903263267136397448541368911983], [53956079203740916821083843319173427063721106950584202774822116988675975112832, 3616923957634474242354199824470121148291829963929755992048822206944], [-47602052379081949422250801676434670105469507629474291891178585120992409098110, -985093384507206976118325964838168388856768458953537050807381765920], [5449783851112227377766778793235384762673491989869871092614016184840326223766, -4002693441813891887912612746576777393369126405126675663538429294076], [-87173130694973746809894188565853047720760263978087633150037314565174262409540, -2617620117201807288740561017102153972178399860455604863297890381811], [-124023303763655593206208567163056416425416327838294437373165432990192055053788, 3197060283031758422386146446545600071792473673162933627630104904123], [186491164526949479860205512205095993388326870094435075662393505057103641952312, 1883460497438672886749102806412199122332426973780187284127203522874], [17407090774104238019176175517146893874003466734142026913187662719109183106106, 5434440456076102665721343337288784358196114700808019510184650734256], [-107140511717588422892926974048036179763294696562638673624626830400846856422880, -254923858660955210915551312592513239213434953509041063035359314600], [-106192813479994550161145510222520796095438522184429476073657266370376373387510, -1689840723831958068639865280780769397985766686440728973541192688336], [55994559240724703175312229310373840257797499121263584897866060001318232117852, -999316531554829009355237840443488638561677900955387816140586351835], [269828641037407797066701226359259528050005387592534565742903163643501748736262, -1245123922028091890607014512127206323661184788596020346162711014556], [211015649540790728944624165715945977933240615053521827232566391943345497525870, 832392656115924458113736611801198338903998121210832268087607380868], [-22315745067009554814662855260108549885768521600326621959550831661341543176254, 5861556309387253627291359424979384231420621739203315726724861428664], [-90584455231367403268214770685365715593559353261098845896673893250796609858928, -5955545868263667742243796806336231328109947123230097887150890108852], [-298564123444505767860126423903457769167243105713438993276417418834957698064518, 4778527375449605283117614051610387130369759495514855861045417114928], [-51684011832936977071881818258546718944534476815082943826635424448507260318090, -3319510864156710737375892961529677648101510596971834125525169893612], [-293177058864641541402971685378930357803432752247157072471705985631338093281208, -670784071947446165656579678868886257447732909182456317646809835674], [-171945022772791371247446402013521688369950328584654941854524150624112943798818, -2084259882905670587154688516583403810426082174274019659787002102220], [-231062579225501899069498278103699042876007795283930576927252671824101552685518, 5039160548933592893318947032763756175548223520309649468358526235992], [233964555932193796054008668596296289651072167415120992439939154281884215218436, -6146555490412996976603429646927265113253422016314538188643935713565], [557902292117102710912720749062147038375012037077138228890185777591459984148180, -4022984170167821488649220226229021011768522102498415708986241951841], [-180375844190539846730765606178654118786093908843752044209173210528345768951854, -81439683572879792419457743560416158088239949765241991989381088032], [-6663525344386046501337086306276355924417979875870984798707713737290451023898, 4443129119493896014359380877056321356974858023665534131335247831972], [3372901882363413963910001223812067549804964458776862254962933082932116574476, 4600987020667040412553350565935467879621333906427090121954665125673], [91668767579432959542543452838257820908927505277910810360059424760675271589492, 6754785238266680410118566695977102485338087974318189516242802242551], [-250154805049982118032324440629658130795852799910315889186618594388714546654838, -449376210974758697234667670617466126807277451363797032875189672552], [188406079759967397102427337692581228303034588728770229623267058436732986961182, -10463848333370980202832333574034218461272999013847147083969035801868], [608320849787820433053861359859913949720547817176891663159526059494469579670080, 9940300983064601129487431234960176726567513709791951913773849888560], [42086188869327592266204113104703997843341345524793426157197250271940288557352, 19787820989750685638891483501531872359029255211054321673203316118862], [-738383917312639763494554858911018250349585009157687705252656195048493087006958, 4801301743024727336893355309420934177966786994252197802206680829144], [-661221391739383730159756075144962514377078978376318087408503902962843800731144, -5489706105904598852071485370809123593127817152459393684677676487542], [-921994561379216232661655117090512061328662295875208194412205904309157965412210, -9969923819378119180550050787521518642775158924765382216365439176108], [941140711509035719448778183224585988423193237033274559777914013386944363529462, -4996230736457707932776986845407823797681517524268644022955398288156], [-66511772002074212221464923749431715324003546095527847939782341005190339710288, -31157800874911285547715080294973820634891803531269411096225277081500], [-915336842878717571136270972561411503038637082770553751507346787274441421808660, -9410906474058091126638151942646691125041987348424463183606284732655], [-109093573724396221771669296157691281497302178903773512130162654956520117788054, -8917224804664720989362484702866828619989493751572950266156536748176], [-145311005783796863346422177586434293357647674318808817293687954464630124199938, 3236397479910924332044754457745369586354489942222674151199896036628], [956800756236933617022335660855125296221656081486262042936266856266557579206436, 10699452015343129766685826538679825665861610029312742884107047942363], [947597218777127628108890188636636215204690219517689953780433173567538586940730, 10958674309024202114739347610005078999954230245818390434874486092344], [638276841138624239473910794598499474221736455844191017767900531368540098244492, -26101092968766675096445085753728825199264557331356486065659756735319], [-470856179981638935317151659289529770564992038297990977711878259505888157984040, -11994936994922963911562953073903197233947148675425602419762544206606]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_2_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_2_46_a_b();".
// 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_2_46_a_b(:prec:=2)
    chi := MakeCharacter_2_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 46));
    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_2_46_a_b();".
// 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_2_46_a_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_2_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,46,sign)));
    Vf := Kernel([<3,R![-2055782063089446582384, -59861217192, 1]>],Snew);
    return Vf;
end function;