
// Make newform 2.52.a.a in Magma, downloaded from the LMFDB on 20 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_52_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_2_52_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function ConvertToHeckeField(input: pass_field := false, Kf := [])
    if not pass_field then
        poly := [-126606928812, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0], [-163200, 326400]];
    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 := 52;
    raw_aps := [[-33554432, 0], [93645191388, -17], [-611368722926141250, 3761100], [-2050188635821214401576, 13900943574], [-255958429648059406321355148, -2340849353861403], [1194883990443585861793055318, -296801475256649844], [-19085377687353612109491622739406, 65544093400653633096], [-68058684644925099511205205657460, -5277994092719957127717], [41180437741872103922349622373989128, -444297502206389836370142], [-16716924470592148185325424690264303610, -49576169688559697864340324], [154417538084788721732287669238520444512, 445907895561266444933926104], [5261815369640729098547922928366741658654, -11809650286721199703964807844], [98460758230634235875099564215722521074362, -119531535483145757138237141424], [-218092666155246549032697598127476025466412, 2019911377803696414091029094749], [-2535968500556205067133142921130355356262256, -39763451581148950912422769249116], [52764657756353028127295449968584047796296398, -384511163016322873722374493429924], [-552743976487805055232775349597244410806564220, 2865826328438780676523019448852777], [1087291510293755126264845539315777485563762022, -40329699924199950584893606049207892], [26490128111387312844229550704311840191019684764, -81993649099979211556162422591732033], [35919397461444509256975377025769111856228807832, 459745401263555314391048912669627718], [316994831379164369730195053671030269248866029338, 1194308948909694566830657288030391016], [993847276396685470538873929154181442118324810480, 12675957744198110837618428649034846588], [-3647482487706285659457509685697570972752118367412, -37105033379322740827082575574224869525], [38292395177910970869491252613255156745959875163210, 482129878378525277951897694897742440], [-149601830419785986943713299446753982641231883377886, -1484323784155011673474003508231586752280], [-1886028901537462528376230062268674439175363652748578, 2248053011741224105809013280727619772796], [740010042399972424404192848967781370564160470523128, 23774048344398159440495071786979571007710], [6315707104027916759620192252686624009873347219726484, 26910366836067118894569787941763333528557], [2503158715739582272851986896433748875939757716311670, -42322048890692895936708944749486398692676], [5787244709442655487057592483766817670917478102200658, 125570505119029990484082325598507131585728], [161987427137051664175550489668625220354571540084828544, -2996811277817499029113775075648327612944608], [-792055527540511376493446746507261449134689458556182948, -1248244302987575150472635361335060834781009], [-961786529906935679818772530135580928580020270837634086, -31957038524430448924844137678841941232077296], [-2194967346272136857505540303163646649000476377053887500, -18430286304737351879650306553154965135067483], [-5420443338983117340934933337878161099924137995016408850, -370565706260707182071867740358366245258804980], [-21353729792486740224589858625731167434571340703099331448, 95048690693985376383649839926704259714147970], [50624248861697167892788885420466034181090881830600029574, -396458446413041679721726134049148172845444916], [209628487083753033745521856973559923221717046684031471548, 1159280367528857990247675199005329435377710375], [-521428363355294772784313953618871888066330342095827761736, -1548727920172366614341997481743900443587360818], [17599361350716539578125774203810976847711724296689041718, 8785531798953583307844811877775648594557212140], [485992728547484022747957207720326565993857310702833333100, -10039296538668117038442708790210749054404753421], [3762113708005022299137388487361457932949709322152751632462, -23965132652507815163865240189260114979762006996], [-13170167332707287490396412590766773391281185329845320499648, -2183324224184453392608328518513487880982171312], [-15765552380472122247435414515509216295853210328102466487742, -118679451869222953991993325725226368817919767000], [10850868513413704794346081833535390763935463151104943385854, -134352690823606613412546774377517173987991364308], [16486014070847926755751186288857600858080429532926081885720, 149770737739489256462815768625988729058767590886], [-40756547607550284060207677463286151707540693688063686254388, 980963691078907487258211691746689385063277775115], [258729507626719445299079005337479508856382591034174480155808, 2831007184171143903930066864408313852098232766952], [-185031565322785863587678438244538127335038934201536233305476, 9753824832974041579268922108343710778878009332631], [1013955911317973379453697141689096407105282940743453541462110, -4681483000257724037614453144007951329904008312788], [-1111795818959256610550599527878175855089664293594341229842182, 5672245728021767621088526986806950330267952386344], [185366888050406767256347111843976762570726233839217943578320, -31744807070597553349598577203276155109213357994252], [-4855316266627685946868028107763107431846444910632116633440558, -37432341557131732966657041424530028491821052569400], [-6033170179946000823534291713179555236188889147297415834898748, -50533122571504666998581081085135644683129390476615], [-13894513036865456360815007752994650757673508379638174150085886, 30156137055885490083119664777735668821223168188416], [-15947246492817481648407732311033118224494050303587931082326312, 323343006455972212689267163538254871305732528093782], [-56648278269858603913525435987062255764901979231568893482642090, -312807578759049058554594250578614707761271900920036], [57301555518206223036007599990333225461910755505471284944242992, -404059369525831058582086321509628970332006927356084], [114626450151411480452136697344712651141053667550860027915175534, -1217299053704420145583754448189057398108774846534436], [58720218870171423036984810761811313492842183344380444320659082, -3749350492279019830336609780426113076610466536936760], [430410779364907950088208582041378064454515038251700147566229028, 1142370606434608682200739949069668434689881176075377], [-417811333750468650195794135984558193663883926996512284869411042, 287240071018472810473781383552639912135992651470700], [1648732717943849348920311286724739393293697344503874848061688044, -19564947939040277652166273604975359427137893030218445], [950863269686985114121260792686392102450464563495869487950924392, -49312390916016796170618688642574488591394158429650246], [413293778448706104964588372633871182952335791889179872225990378, 57617916159974869592248908338868859052632691368346064], [-9157915269084965130546992446378151352810962580481875395016050586, 8129679542262192484571317746386595242957147329547292], [22651751856827079685871796646072511461805066646696103188615761972, 91522099565942218538037781712905134337923114238588437], [7820855622805076697512607850494857531993636037076965567465768434, -108539952125794828816720996367781004313423383506789600], [11333949017071005624524847945472041278195174652059588637943581924, -70791561021449728074408875070206518143696985385877567], [46076629653035404805560219341429596147938576652586746761559643590, 134907940249238198735894530505639252933707905482380092], [80277504716086157332811947552873759244211963941385535286011748898, 585628094599034334095106290063088970125381877679008416], [-35572917381971032599721817955774230700746447652126868980695007240, -666418789714217968527686623834680420079013598628854114], [237349141694233779060782363078085045382214831934922807704762507344, 115080926481208824716380247025873700761575405195474196], [52527679248867062788312674653703291582805154082147677531636632718, -3441942065457151449890322512487026219531270847594964740], [-335210261579609982066714002597205447535514108824305401877371593660, 3175317126556370534909368510377780260466597534989030361], [347292439695397412557972045160746382125411875668072022424845245568, -8297381413123802841099234196003111276204589491270784736], [157015792981884280408963521306226485999271692245837956082764357950, -13331296384634905894992521982873606568982332692146707428], [637425355322302989401295013261690810591650886525784619065558325974, -9595245861924366822999077060733463805626704958305265092], [-1640160481268116613104334681949982687411419819365311043610130448718, 25534536091216137588084652604118485262882233181308306184], [2934268420568490255916615099655636797022140779130789641427895987210, 26862115010413102905200971711003263338896909204768409616], [5495162745237683272100261174115346347665049863649525757640634706620, -13829731416930873902876764328963890054787982476048607033], [-8373695186873690845969994505466207658245797114869370456303747265378, -37864754511627542039938583161754310718342681557492481140], [10405972501741632416192922400850355672442622658433524269284802882832, 84232228965748482850345336132565416842597241466400432900], [-16246157197903992848108246417204779205123976465354257859983635014382, 24704808064123227724038807318004960753629334779903813384], [-29499473261502337686353627547924755278983664896683069241669301482520, 117071541833234496000797490580730953798579481077947911706], [20447352900146122704493445126837482554519024386368383450904910177028, 270786818507891105101818657936977323292468326780511472681], [-11566080125786599585140285913224567182623654477667123139346126246590, 34188840714059425854958094587054689108753011583694990248], [37208187075815787270577740506812661417607958614956812540055529629594, -497030746294344569107653478437595318145976517971288676080], [-70484004816417950165508599787103059039192999093647976512004393708138, 11840594570467106548353455093500553097557423374828868700], [-11707280387947949537950136099102743948703988730170224805879933042832, 86136403546039425102388372832671974335876149465913940636], [-18850750665243979388880807084972836536207400051852123137070672528436, 67892214541906743575113395464113888453210582192482939627], [-196914606212829406783559659605267300596860193693975699526452376643680, 317340536958689293262520152472710273255920654969278358440], [-96997463465843605552941818795455274179487226077069492725114744450696, 948191830435111141969598411144791736959042663086347889726], [-387624547917280596814966552256574739558136120926359131613693365090028, -950263210988493703926342851404993438322406007665384885651], [189016977576531612076792792922358417063088883876787930714253441925420, 2943411725367847490484840424841380456623151429052665799331], [231098767597265451281603328789783468085801649092923940631442634276008, 880714505271977717919870322660643275080887825037873749514], [-173611976940018077761330297053077613492242438028889959461034737391450, 3509118466260689211945302297845019061822462316431863024268], [1143036853311505621737668140711794374058496111202330940480031047647322, 6441410474227088467080657356519742136557700135329545826000], [-2788512281262769605937689223256342689052327256710587320549471579091852, 2561760043650037016850932332030712849216323740377939839269], [869231866480585299712216251957776600736997877090502126225301511722502, 56304062369807587345104512545684826336291260754920061459628], [4812222293957781150595595085575051598975526748029786983651557809946684, -27654657132523026285393554723393158867177833420343203322329], [-7800684527312939854671279746777119471614011171953490024762279528361546, -19527473618086188181668167496893476233514400469827788497012], [6114442737381352483636467662604347130488203003783043401117185861506028, -134971325374220652385568154876235693856628974008007577628941], [6317043675045068130965637114779074111814178507911198836032000681236970, 82087454210865270363361240441862888417854494859201026163152], [-20035110286062050316572259379212570772568454070011839348318416935669628, 52447257405291249013233940855921037862738344888557320059145], [-33763041979728581979412626838558510130052155313881985745082661090577726, -21723365915590029357153366639562178280344332673134165870944], [200883991643076715777913742563600975592680429748988457867387690953524, -352506952753929938272636305579075808142570423662754228221803], [18802971691861038171008211860132448004168650848068949618430797163636978, 700801146852443236863921157603782536586280665173360216049216], [68030232274481547704882491828797254503565401153101243883054860972417480, 52522442692918007958970706550720307763174732655035474733714], [12563219365184255083235123886907332539021506659042826109564505421920842, 326841576544362633390353617171826163380851916325521349188712], [-93355829582110063517121699410256808430202636112413447127686123953741536, 468164128848132310273991419247817478098172408657079246010696], [-10867128028065711230558817567744411944434061420695806727437484592932642, 241821105261177728067758394781765979665066518016323626674188], [86258997691880482761169511117397823390459711248988942707443788437943674, -1246819366586796499340576275558035438425554242135372652398840], [142787734277131002776995441908342278960763566648220542991265887433733780, -894133935117273441036065327766553174974173013860469879964755], [-267235990800271256084788649914260213180060183084583223725019985526358488, -945653215587108566882937835613696560758504110918195820896406], [31198342182472500475247619521005266200208274232986051254703698771821442, 3238298560427281664771092517347040598401356793086977305420520], [498435424595769408583372887556758743064337954886337564918683202200196188, -2525647857021071649325706406744415006248299936275593272685201], [96014846783861656840525161504637292673201031063326824094700805140902744, -4704941455804889123655712945914010184284554815501718174187146], [502402344938161707538545905950918262026805616196986284855803185465546198, -1966409353591705585822241293761718411956183418139226705320484], [-727503260378043856811642853265363814395522750459890760328714559542049780, -505284852496056951944181193462657955238463072704289054808421], [-288265078473760334981318416983144289795308141340794227007810617236752658, 8806663355804019517839699171409172820950882213812127178914604], [-9139172681388032969120700760280260544431944006348139170514683896023582, -19453209764103081385630034829459162193047176226110840886918360], [458761889058694117179873125444052423808700947349614981770288396930363294, 8616874178563047238467980121847625697679056597458604227437212], [73425534769177972876400319894079755297468509850043381893890786520102228, 2670693658170712837687490791407312566699615699647798122439677], [1425221704518039177553500117358628518533866686873945688071212296368458092, -7313170388454821488551595796307241638909871298659340583585165], [1105393924337587746648651214417598980430704904648971758974578949531226342, 38074624291619360519564168842890402084343267913285408733420012], [-9508254890515480446735105676151878640930073800983626062525221486533870850, -397560688307752065256200754885855490662681043086927801536612], [4792495875866784786807487051243892772880185922867013227206609335570068080, -13179472949423121661438550553698536179114207647515034077135140], [-158407908818770559226496886079519344352040263899308757241509644777209016, 29289603407280031676299659352380827540224563019614117829956594], [-14446090262226379842763612531984535287210806195732100361690313278793001402, 14982120876177665983976322367005309857630598777102733540694748], [-8445223581035982095530517604256309296471311764780426712443979087041961860, -17875690010050052449867356979300258722949244436489325795211241], [-1856740621573588578668791918383711431064986437255041313361958616402086792, 202012991500883918320530386013183247683357126396953371417862910], [-9755244710497870742073636804559750085359684069622476380548425604035367728, -34004699538844082748930944262872774201307901123125375121934604], [30916209126832754718236868765559266076994540945588327905006815057090796814, 45218372608484922618695528463932567920676734879850118129758796], [12680278272708998133232687064675866499184069080398871857435138823185013802, 23126239653912327416741168249169417606232437070984844407292112], [29525754252826240890937525696112626639820600937891803482035257601088044290, 118107637067628899097873578903132665277164557054250504612909608], [54717601505919006643353318074247865049863288611418789301497606446711888318, 134806994666413404216158251255079784309490941752784615125285340], [-21581973854808702854858667288338369184638915370405330555615791917869586036, 412668145374327801082842470227426874356839417815100537440285499], [-113332654959438984825969667585814398055161108662334426478560547318225071866, -195623491147110155848165475628257546486739638863748835229913844], [10240505462558124715175497963608918215675015800491280950496308630481208250, 251475682051119641347877141719785492781629471201470872570830288], [96851320048910625975362088016996311763544079790658641874610540901084439252, 123101621098078894973255032664956328011893066927054436327458237], [-49859504865396853480772404406144983922216957236399560394130292158206133298, 433584532718159896099928377194723237070105351004914839072882684], [128371487766937339019159444389804901799602226350669407789583615899873480808, -575298304507523436561165788493214437096841896570885522266910918], [-65698847301996216467987218642705650357112464695451102412174096403228890236, -60402161490584643852157911815426300105921530260173536475006967], [-127847162651507753077075466420575170465968215419047748692075989568759060890, 2709731148449138210470530115032617025070178984954466948767189772], [-271835269864394035431095604000361299114923088795699080906129892246279717480, -229289087455595871279755400648928885514760226398682144266825402], [252515527253037112665588235491366531904186738107286413156349734314075214638, 2219691562704200418933733431195050215232859905406000981073691868], [-607890995255316686779875502524583004977687374048421059301309438806821584566, 1089076057226035543053348204748671519024258834133082598490581072], [-924095442183550338863236096401988913127736820033936640520088060884294778140, 1017965936657600170423610150091435216693812746481693539906850241], [-53776569731804550231225056310874725843262594691519482925801907803069410272, 7193721822182806995697717865981052890961470931728532150262421064], [-926243216023746190752113062117195676594507184242773624992612814575710199946, 3331896499245038772570908571833301697340745427115685176646270300], [921206258895717023521386680879806647259368800110217011023983308614018521682, -4687444170078914717035174298943878478475041409528824201654098400], [-841396216255108707221621508104136794802154563764509390787450236958854717012, 2875588821872865511438767684349208574521913004303374955086507555], [1958048879866667048745867658020494663470604991454333843707085843631627788584, -1853007976759428857672239077252735046409347564070602723511418390], [691398507687979365587102391041641638375865577963176215090458599126501872884, -23694573091756945277130098166726874156571294729484074693538472923], [-2779762454469000808280718455508548334296162231496536295121169395669230270288, -19227793684638419173844323889919992055834790991176400054876457300], [378024902695015914354258320500091636558531316196414670652475022113973265800, -35650761095256865776142429468835867019641008731650460103354629054], [-3752299299010301429991132267333588625589809522901431985317392570613439174430, 26601629333025991468429222934542803993422622735253106281752494760], [-1070888122031357315118292481155775737253690501129320797357569707092897607366, 61131014168059145127108221974878136031710994474657431504958817960], [1861170848441699278156542462203083800934453993037037015896383304736075360822, -8626460888162350116847587072023629533493873983072544876661132676], [4924763499678499329223775795774179624073248497036882076670088276589135021164, -55307022344337310980241395567550089472179086414131588905141222765], [-1324735089848406472452974539529837913251036265417513092229143798173313294742, -38169326623944628831057452885110374181415883504141215043105397616], [-2589621155527317812228147338129066491480992077570676087968070577046236524776, 19938533124890112227123587311545241432395755329878670744540664230], [-8486813837346486609512638979027396494767244311565389547264923537157448625228, 82892821939225179294460822595425553192788187723267650034045874645], [18697967211315691488296031025650255052311355473321119248536301286785504139634, -14132297882299926418892162251537065885739081450106031612133801656], [24528542646473810070204424827357421482901145895738157835466054965775723972168, 57464866323430845031224156289875402024873237161676084397866667314], [3564397468504234884898149757414353480644569460623713818193963734849988812192, 127359345877155135960200871844667502085131966381612482705204780520], [-24542653999123396402867709465620249786819668398178818788282291010756553393826, 148364762153869390930622205045101836321270960757982059419319037468], [-11229304172204056324984764634255848124980309016602867701220583240099608582190, -20781846921914760559506952945761972936729222061380202235681208504], [53412262606702157461184408765875178514838004855920259206902730365983097432078, 49659995116456953391298898936669379922451912862991094671154770604], [37666870314736399305747846955453501077555988945317513786759222753706354421700, 54073884350219014165436477235866219799378383978384307675210176601], [15475071718579483845945182278928791581460150317308786333752892936824964978342, -642192907784834506739690517309367383602362496141853178785498450564], [21444121271053170331713603783234471665568342138045639182433688097669176502232, -636030690089143313407639918144560710717588609398637462129484708330], [-15723086192602172878198269689304042207420290468139004364606615071505863347622, 29070166675049302233491408643451756226418919960197128916419068872], [-27470340068447920456229795023951900616148981917090778760179641596720468499920, 317570132301418432057834043553560394464427369401417691728692122636], [7556846206464155324127064721310438184349339720744344172938950710265626410890, -590936786970391938727995672026573001939035358739873530149388111288], [-188426468581775993597141942336483701951954000418646557216622661590119738738908, -140952571365272811103984026270232180446780272758531042556010723183], [163592552659287245017796524911999425103761519011641197448796867967120008230942, 413549132903312507849081141773391484863354814438577198706830850364], [128038219707828993295331262076273988459032777194519212057187808975851664760888, -415651308629102476355488937969697055319603374918961140595400284178], [-110202152453818973281635273329479527862084298647697133536221944939042457634890, 1634352819769996143057742295978859014951432488571705081572550523564], [-34478944131371379034735971798494893759373845455902842736383312392479669935936, 1268993420639441034680677571973044409067826847898417238026240198704], [-261562286076039385678651568240155816870094983277035878095985490390304972853348, 699274178799599788379482438504446718088994805097243218961960191263], [65356338197708706838711963486643279677878088942811402660834394196202363562878, -1798623917326896571685587953888583475587445393862226984805335735284], [72343976191488676858702146415542351381529828869856097790515628861268639959834, 605333248349751565130658231096312413802005947178260105024117713096], [-269326571398891372195110280273537016673499691662562147072791814319916861726992, -884952829557829192905033225980095072536928498369903625336421695556], [-534972424375087578412564047366617419678791806482010881277962057468193367333330, -187852665653666484572902429062585850656147095259219592203183130356], [-7832821115563682343471708739084216578057157358246678061159569746433643979066, 2685241330001319371549656332241060058926703614715678241232770952908], [488249112931253415423893715904815819489224340647060420294123975963298497970428, -2005867275575022806462639204223561145779999930537509048990503467657], [270620708294389882383711909700921968964279756048595954436818386208209231826810, -1632800984833836062977167068879448933620631512198843489516519657328], [1868887864786338846445783565420683237271151094394102689178825950622744122752, 8549471710737415087854379243810414199675534313407502380518705196640], [-259915290046365243487735634200994004640637720464615921215244524331794303617662, 17359168365870816017692430889436147847755606584701891433200876287008], [-1696850614481584861157233768837848880334729665142931527367583476019966832578572, -1057669682060271283899776191259844010695943433938352331760040691291], [-2899323268513250831031296435622897673531641301333220799719700900043399963194868, 2432228737556620989300170902875963815616080113712284434486737103483], [892657314618295748222560020447417181305969019443564598006241835745494660974982, -528603010672469403055669371483361660659289700822643120426915965220], [-2412427853384973190416366082351167900610606486436326039895096445640802316141636, -1790933303669285375215481646950587891474418230495802234157915692121], [2241725054869323936458378894323139336060804543669242637025102644438587895751738, -27026874909483982722921187545481715591180317627476336925560106559736], [-3673825946531691772393492958914942979960898264856226698468535425932834829835758, -6912744212245453385042983784095192263758266350748639978929394368], [2020666802882259777583630499180251884969545509111899284430260204885273305487078, -15181017756332218802361102030200729671698945978760715894817745735476], [-1049872982195856611360545798818326780760383331908880147041987305930640288619966, -20365684077660462122798797387994989427375310955401343424167380431232], [-1596495597145310974919990114610497206649630228495551865063232641786094240247272, 30408463487392926336124498446416933203984522610620062210587425648038], [4835155447933658230827856733289343772003268892255419797593170783789251246108310, 51670452413912116887165527897598028177079880825752453232042898887372], [-1579009303839451496016896083145285850337659103198362626590121512613512189061008, 55637468238255837853827443527974545916424976415722777304509916272988], [2520152705843086420747895382411134611908277423874857685085443730365587880242094, 46780824460107366404297467691927059856078938612813169516449865328828], [-2545762762475468063920296570706954214374929252800444185666580041114468425751390, -12069536126690973508726127758440082208123256193455574044966064369152], [10805193544085114312291985966172101735474199571192700522110352601242890084108820, -77647041586542539680242281584685244835289281978832322369709577276211], [-4004906714064809662051341362426291422602407156355831354982801658600265722666586, -22371445822584091220553106132703864121746924968409897856681734878212], [9512698974511205568630508915259735888015014318007612486906874042312375108919040, -109698980836208798458085409217111829829235842613267665098879303974464], [4658684356724709032440849078910716363824373386856848137998790552396074439307228, -235830527039905130564752496125882758140198016887119686242623123111953], [-2312276653041776266493173928623135691314490603564737391250692248525624297347750, 156869841117036190447577338420281890729832089606865834136747223834472], [-7938557235220794254173033439496751254277486182425565203718723254435543962116748, 202128895915694203941473174126732093583621089468169491888754183314853], [23576654399586199661376029520514143136651096902349611621136874974429873349009714, 3987657710284124015777454655306833758870299421428920472622759246280], [-8006775437049441212545393047927008095478597816047323311897382397679953532200338, -185337692222275818693167668216854547231250175415045796907492436185492], [-2057231536347374994087021065341264263057482654851826813530494756659062532543992, -118244444123568716981834386728971563307543625218470470625034855631966], [3303971129739311868041492154700424791168186023578403181233771196658510088995364, -112970671853873579863419259400406403930267413915582673411948844697039], [26989444074982991719126062592032951468539159725379351207546602939685999465415480, 368109658653964277229696238847799712756163551420503690122877478258350], [-40951236338847633274206803242314649973781996288028407745430136024139239273788998, 174155338936155881115981388090928164918993935797168201516694693935184], [40656440128383417689237441738590168894394681022984311465654672732666284163628944, -6866497095240668424453120101405137829505309574203165521423671434588], [89828263509373320593106009645824722555537676262180819667537531596870483855382002, 55961897611956389186716512300734954363601345996589727215982280669192], [50179653454694955294234998876496992472973750819958854047812245785665267214068424, -100100028036992289595886341043475885187666862148972860354588569612590], [90973510864906810362844422053898132867204568928366069348402044437498324320620998, 268192507612214097852408196112302094808988427667382769279352938348124], [33726567485194015529301739811243515975269221733097168268798163679743050079975902, 6259925778808154023854104731048561431914333526831974179987151374956], [-115795752904310080354434232929995384216979368203526247642015552267905097421502680, -99960519942478723170731418933726235643755182265302354373114133711574], [116412153551737585351277696615685160443275697114893492024609916073021654731791490, -316543849629551048481915317228694875485932500725662454461811381973400], [73826944422022606310835754217512479364834674805605189319872388478437276530396848, -292249679346929542994347380157483910799259519367639400751104583839636], [-131488319417093597714902971859648275364703589716291297727958568831085599699651316, 2564184722571717489519676256730848423937734502584850885234495489146619], [-99233221520797240963960399044375108213989058476802809165948809038484013974269970, 161355919995711483236317243474162856747346302349236232979322639725308], [-194828050332207752219461696033096767038514868298114210684545794566693523399273462, -2478433866917428590816435142043520007092760084959208033455999046381080], [-169648338431209920091236377959824598460894863111794778772572581073881656621064480, -594409231571734506514134129005049563092031152477075955563708453211592], [233462900199959247271220082439300979851632158163329420162524438236215819620848824, 766928714563926262351346524089472872913767756663669783778271641964238], [43011449882279787310623203875082431718917430103085359343667661677755045383587412, 4736940945411972446870757231878998435821806117480403740622594612354813], [48520584573718551885837913879491647952691230822108729215001089647000804342083638, -2909686770349388791991226383662803245430619676831196030114811688562852], [325687237405863600383848708693550279470051357707091757879626333873764173895875180, -820585270121948879268535817486550201969813772769041125461127174267693], [851902448578170567380715844190455798593229509149234707530054755102626195690601792, -1105256726346196941650042065538983125313140299285928203348839043815344], [-300785027178382084225574367846286779853587942370296096704800626212293066047307878, 4570182217491817495492796333597611142173346159140916470028736939903432], [234919563861103494143438417674451631064225000963623004605807973270333230788872628, -1155206507307354977379649256187853164049710333064253794751532428474283], [-130923249795886547852357672426731526037777446502725653587120070417397620242035856, -11666089047062311648371056899750812608249995308293596986377523135210852], [680884743723905818687837431462086644694691629668986778829589793349081381720481650, 3561534753221128078275026481542019498404823514848998582284393379425032], [-100305076627621137649577213681459633764868543651675903869145183937797145145483602, 3829326257816531403830419419765273601170258787477586295641142148094892], [-122083083422986545288815278333165059909732909666322136374671035188653572868958620, -7879879370159835088824381764849941831308078891598546859283035750845311], [361434487266619298533272227794427594773674298393515702907216597427949580953230712, 12341040035155399252844261691149121986394459818712456614231497155238590], [1385585995294182864018520610922506026020407410384914319345413304884781160421977388, -183072698166134180366292371030591443742708686117258725320070442832349], [984372031511272421458591904684739565276892514098257527151624542637990374001444292, -4544692564998639243467978040215006766278131956933511830381412239607527], [-1832386395022186116130979780914765631086186735302532006567754983588316573132493352, 15231777961704633664822164795306773564990958295737388802551320182299542], [-1016769626692036203526376418727926771779824463774242900850039680616975261274786730, -9890437958075715557008628456584148529352386571408851112934179005245844], [-1823175923874040527730076941171076407896065840915474415712408689526962893144256462, -4048477600085421586895421500837514237345004368051904518932489672726112], [2507911225715383670747065350946423378412007298572331402229657601253734798848879880, -620640463539646199012706216663232278151171223495030928266265405435678], [-2114749972398672287155308798672862582150782621901708948280802575722406613573179296, -30561672135766129349655195914736353087305247118402304480657407454887336], [-160497027866733901182951913799718040893440057317832867104268441330621101986198468, 20334046498209908749512943625032640641585455884004853134704902667578983], [-457341033759827797035204756866091396591078223152813009048909219694933204656905260, -34890234754420464732675706668744321924391162664981510431380535832855139], [-3047607873341294449624075471600039033311724642036373049878566793322532122324634992, 5211034635901240049939279073782761965442373415608551710157492928877156], [853071942175693750386433768729461401702402165394222044111993372967115997154705254, 57981239039807097108938842810261728305760423096072540800530511942005692], [-1382053944875244639806283017055729156806395719442966218124832236709082757124014398, -21358347632674487148070262693112833143393736282500045463722629607315680], [-1077451204031898932752989628896173469807761993921407401263357764628896533314943336, 28972935677236530940806296409777555250182419700454395389784590857938246], [-3989723932981878243614695611954554182716507453117622725228424678789939413598215910, -23202635614378725004808454025371384733674941784451195007462849736243480], [2902964166699510204501534422419502366372185239369155360010916945355657897320998678, -36424919094561745413914990869798254854462712731746333794459644922569796], [7038201877990515453346310901376094528752082070577245581518270054922155739702484300, 35467653042161540538974045659729137638933488363647520428794420753525931], [-4400032477419209544499239530259069313254565025102704644099944257881112251195229138, 33761671596761742179039300424739053981748883528937066728037746239738572], [241703381335423266320734942681258820000213738688526642791708496699198187913065444, 86545190299062999876362370266416686505000218837104333707755684066335937], [-2272642504201903559871098128563146899927375421010409669135564975643873896326263586, 72818650419985194999175580707402521710002397224396271461719839978052444], [-6115050109894582244178417231242849518218030010815143629068252570804219120596998486, -60201191329748808389725615919888741850793947216385666080471428895141744], [-6039630467266369871860496487535433746366203057482292807237614200464379019289150592, -110688313137539639426717430383424815381296928764195134995911132869844512], [-3535093680180698644346583015150551983971092563683773698154175780117302946729463716, -32722888461083440071865678672568688863556606754062161743779839756634417], [4548699555958404817432016508016891298041793547733679384399038016328973603964663870, 131513194005050475022806880502925211199199725172119440217521751272464252], [2936179158885589097734051869875884924395034577606469083004530435510182497838428038, 58229720763037341275954376669466185330313558839528231444078730945420284], [30928692173400496819677926982306407365471189274501657705706992171301902090686063074, -65995862357171943054149719994829162791373478805104477328709567074784792], [-5689451068439806426930150317520493795887195737547313928818237626968278920476442180, 130661010939376736983572159902313838811016325319823142300208951079490311], [-6576999669777660764799090970590925064280924454104165917279959098512380694194009290, -254999016777640685375655838694002193581558975375820932127041415985680964], [351895381145654567001013623418778104966946323887008026597559073161341966989222762, -22365306685244958068543275918493603683940728815552106213313476771351128], [-40973509521758740020344140399735744169123755307839939255428093241941425122805843452, -109776982462933174352277056204279172214979556782428728396308200596921591], [-34085868911314815291447364385561122245933713261976641355150843987328003958838380802, 109144801337763072395422958448811553884259456409877077742385109217496508], [-22841897587296770270475231661470872459731117495739058668544384687662351159591000938, 198493050688431373573499697498884224022502619098304279094965713266068236], [-42116137797207346486956905509644233957794354184275217116644909689882012836005383476, -178937617760193060852965119208374796862687486336545943258831777848974677], [69093851397709942496245332076914182133074695748909054920603795819768078959503685578, -195852008718007561377109047647731626548447563470881118599029327770179640], [11740215277210616587236385887248315309668750759195244573474503818972721879347566240, -487264962676000285334475250395254244519956644895026051162687126347406680], [16685532304312135582424049715242853018437153886570783611593164133640385600995114194, 136197344881602371041469183032294116975371181101690295435142435671445152], [23532412781457930476179124080051917628274343557751209213396164975951895210751937448, -226095569219498046413327903411686070973651184322368734999591009702991542], [1485491433687976887064181659082636924952057320172801625493737686096350974443266244, -555310446872906058369426585181331355167747990206855745866225136367387687], [-88579942548481641075610297118296208848911712641894235019461663490666217888868065370, 14486438858618734354416828428367777309619732400865962804062443473193996], [71045264106024833132140488930752996111735086772740950016048431473285671988405726042, 244233032349119204569833344073006402003578887773503298264547678040689512], [63882891621516429196284367885720659438335067174474810071111466820210479715214755212, 881712448964807730929846295485785814317341639454837118317608844498345755], [156176392132392774212465561458005146035552367626813783258315676944372605116451355488, -261950692028080967639025665865127013179418211182139724827653327584107624], [66569574789039423391059501181061964308179059503608482926085320240090886085282703672, 1543579899417140709473570366132231317421362520503360878032869128016583022], [-226282115871831741446828191313230115858927671620646101980286319974557062965901460376, 213800045676759907306704383193032351655886258652871407087434151383486458], [108063076418084630267945416610079012728385005315981324174840020251975651279910501502, -1468824797017583017098652154473875105751081619889940778630020625612959668], [-118640107405669714291263013475601282657082295785840514264672041292862172234327244236, 701250157966254064799148200187184981701510760327501722598593818658653877], [197281325881605676162174672228073092212433607041321722008448057207549073487561586672, -316280219428401909931445816532625777806106788865003413118988034159731460], [143776556805303675299501524508410498125857519674868703470858406511586941987443776498, 2619991898663006762964242199828904010872698870041874231422270836919874504], [214661917399134167595692877888041343064403008530004689177690557734727087460783611694, -511336254718771800977498849663515362823501475278051748759910197451709668], [224006527503170559879875414824847227989340111739533679700896550165942999082624389320, 484718255905080403925886350220711545085601284461145297173892572652302610], [164703637926036565360817397982333622161511440648034196780349243986183979078242784290, -2182842896857010980450936688884545205298766257922328266577226931388337376], [-221532842153310440964736229059732628421800360801799540196865189964876786968031974538, -4534547572990520474030629680299739341771117865788091266048120612517137892], [94566616094814576458052348418377757382281688369489442317913747635272468392349183404, 637717694352335544761344658249798830571687884402676843226651188738241123], [-46521473888565924684050663410702753866704977236843757537238969899550672875919858262, -2345248861930931300631422907519753153218425634343403992789799730883559128], [142052937889336543792316763119506790795083357776223016435970501896743414548332884212, 5034560219703895913295249341440901704676837844599411543228986017475437189], [-97480459926907593202015392723145781249058803003602978264988143468766752170620834602, -2678951163401901888319062414125680070616433846966581362942433046083040932], [1011265856492504685190519116565679160040761487888798182512281354665104144793480311430, 3765312456068281676543589796332215484923874024646191403757813223701317164], [1008273285337907608541860112225318488178236570508248995381885671416940221735961699552, 4048341589098864065708023871723431650350506969091914169799507095922482040], [-591770629258727774813051637359929222763120011925378099677363533659162353881243452082, -4336068738821784411396757468347498121518458202857683886073446897485521780], [614209341458407884975747064061468955242067714380023852595557794880520238358153815300, -4652423028072475482372730777613369218490009867010659096226458776855767831], [996177857213861149062497641466138076788958874533360986761848684106345507013039167004, -5238654034884380556477880631198420241905010542842433163308600836261878369], [-153765773774352343012180004680492392313580002986531268784483051968670423826167211622, -2149419852752483032395995592978562479583587216362990058439709531865317424], [-804957744167037714600988860698996199255580360640038893448622766106806242811781591146, 7671697342314510196876992984964220333254653912211025202202108588042995852], [620904482812844200820163373330510920855688799662761757288268423936844563504642445680, -10403977368428926529641694413303377948304657647100843666140235926214400676], [-913238262216417013654437174293532904453368707303306021447029412868002147925867000372, -11807447507618099714923690455028084560763458572750488279675552121363173365], [-25569285072496358869427806271049388742844665956950014102587270875977572358437925788, 25117620472438867887855849337004842974539684359633761671582732172794731905], [1314365776715975700831135754470641123283267667599706094487548507375218665669840757154, -10679015771699404135388020193854469365440202083921694359037272264590571096], [1893951709354067970126328213764045031628478410962593711649185208821700182759420123924, 12613583162695024580398266450069997697839850683062283708189459986400006221], [1086218729241423554333879115873721231529071308676420247614150206463353898939762141430, 19603608990144813760757404460174712539787195572400258017188237076438879148], [-477325936170111853436358079809956686840818200230340014305366340006648123062442479960, -9061172801929022221994453445660276045494079865403334922345542939364895286], [-807687721627506449404654758826047117171740514743123129214203440216529781510875266882, 26015513625752302206609139028751869427888780515105450479422184612998584412], [-433613955760764595324103398083070485521201376455629556560520443928337449363085365712, 24377347214821062472925633071799519100374688148761178711591075649031338892], [-820845054634420182043344938880398022362986976085765414080728817439470171089893889170, 36274786743600285522150688780381796989474203089755075028229081038213431020], [-1880106758007762242923041172192117310555701871949218832224197174023204547588566749598, 24565857555299177991633422365045826615208599286052620006759716955692525736], [-1243270939449739863043351582156745771501485022965202048025276545536162806344975621572, -13653614288983167049163933496128143908230292910880066771103177492877962393], [-1471456441404961890002022264616464751523991496254619766297791855858193217315457897416, -50994174362035475524702176718839058177868444060356530591390990331519295250], [2754460624231544519021597355692776659378793992704347517068574083025284480818445274810, -7529160509574784158680700365805803915632929449699568741136809452437006680], [-2181497923065081867636314908103607657019131975838146332571078694603092448801659681300, -56259660974158801469280992747075522575801103472873038878083129969784704045], [-7038479136672871934599302460730412677219856627152364356299446833983409358906756387648, -23537486364905144154396262245037000294992295900934222814890304505403389008], [2852230781972349883039530076618572144244342396245961981927931315330906621432224502978, -30548327494472408872990455623673540114394291513327220683724518919640278016], [6507304029629643528545758034371331598498568368707459004697603834853302613868377840370, 61164052955372012565434148141784083266199410948389787479093741589938470720], [-2328360863588134318445256689138236172038268498244026295356206030513567689570632854708, 72915624231293051235729944193264412927673170374176292894120759962575787883], [-3757546849098158987901976243194996240976766297031160565649706543940474016932895928246, -10395480279552202423018925513578467291824175988883824315693479261878407344], [1499733302034179559582642093471746129408272674441330554727574339837591750748133057222, -2187417411867062549859819466278925791848231928358555536892398887712859716], [3301431677634208959881500313816603208350621996207692789095877806707465367074839401248, 33532109183297197977384625416745136765106585344781493813276632678300309192], [-4067420392302127420606384099871202708055905835752627274298217477184910802521566348422, 63345737062386731087652720114963143097014551768181901140185151410082838480], [-3250725280985659859866236547693160031090706597481486781847293550720469943879870268078, -82633317218083893299993125307658354762469482955754976424220476126838180472], [-15410295132233906420727342646877679072346672097373814294296781296860968601026541025700, 27807362919041423481948065100588892821650576359348290953812762038526152399], [1623410471043815362561718099923324434819700794189955424332079932804460537859356197028, -164018998543235036694846886229441359367551432637309718835652720744523303855], [8276543651543143561928759203100684114074932238828405075680781363583300756000979531744, 47608592337030936145107959750588598121944634762292602742563056793739457720], [6948502744210419339902217715657509956737422042857857106817235509760051754707294378398, -240243838658421284959370840222212154714576563966428921189388946617183498260], [-30775966415999018735449657250627274925754799027355470836267371313939355537623123007178, 5716326054210764188985731775324977121278768994238258743628921721757323020], [19045189981367498888981867357287346193085884555425981390887306019203998282658871110374, 170792117170561679154333278640529509130232500083525630694842692203498253532], [5368575157342746591927356926122903062640477365894884534317532170559348708753215632960, -355462091110950292820058063019246166866565326737873951506009560610352798960], [9650997362095127828975323311128957737588938136993211250741002342420698211122784149788, 282356045455300222729862111887353739303496219554356510025501585177937906079], [-14628887053792032569671371222351563254813719294489775956022113451227272100339432621388, 159223399023796628552998639721657410231723065676090392214763385694468611093], [-26593641351260974782139347986515121730643640808825482209850211044791758280155958978716, -96599194212036497050402992777004444655366199629778167472804989718518087007], [6674810907600203897210422800332901505106483283477069655956693296474573789660430284870, -50978056174706865704125556220844775091919852818957543622824773802710185188], [-19236204192953744686185970387853524844713765669686173875704917457623759159635202801502, -58835896877596291956313617169118048256743767292702925515833149473269973856], [54680079354913161546275176339334240163256259861255324149104236229468656058007684053242, -50136000955771874365372853868301233657646821317809835465578578423040037112], [23429234744016324085786957591659624780477547869981515105524641651740311022895870148304, 269861302816661932014229302835263756518935139795716428503538541245455206836], [80977483315641621923905377917423310447621027918619933822768328707160428305895540633358, -82517419283847744572260110880304512743447859951207660222047487566150735060], [-28881810684129818434356540941843811873106524622756312784633093445492819862600251560406, -68713434482110356688626235266662386749362653528385314891164195511642372656], [17006059887249433697891540271475968321603972239947589551721177234170638622247370955710, 610222137542928522943436149210112280708763251796827864713001382394035837596], [39551802340737812907920028006961384353440802602924090348378409261874728459038731491032, -411874146094412760625202023341903365950690969684345923939795271593708579114], [2979280448723720405471416211259349257477853594126329046845102031361667329890427142918, -383411960646918162873079199989799426516538179609037485958508870590062369556], [86727929682566728939157906395221673957614944074352047616898690843126488563678949080380, -521441287125661753702639440432602212019760136605895493143339377260183264889], [-140225792807010574407811247651290655724608582825239808588050873414784427106070041639138, 62916582548181851343254046433760001053426329212447213198049901152279881036], [-35740859734036944556137047935866020096311658535771664731942240942648907060900251859756, -376306256568067746099472520860225327230139855074376398326094613410202093251], [75238328478236742146395563568382653925903399327730514600971792250957458429487111588752, 422842220818525607442209841424523018602304538350783993717369782698213062820], [-53235898326749801887714822237959798520012541476296162488296685290455695054624206567986, -19724406340031467965947158526862795133316607515765272392179155985719399284], [-51340564713233768220599263009036321690131422273741822708143916976625655757220930967908, 1214834738068389587527448571313647125221631906471979897373958686481291911071], [-49615582443314664408248782523380180737823887947539511875948451330205461846386162463206, -1179751588945755721303583360360042704591679472409514275045810623511135359408], [-46667296009615286344974131496434560185521845358023027340029493260965828273698627031018, -1041856531864938567452834188240584180189868638077813557472656143727360541940], [-175782250744106150217744102793269454381225892998056637813069631433439320546999373595152, -604209241337243551554774523066777584432287033952531549133490017462562827332], [261282161557692333251662287425587900653901739239077774883591022462946820304323489070, -510469063013938330461665131741854660661655355938688904214216630029782850932], [-81724885726262868138121557192483549227473858455072881229931907090135691131772140830902, -584242418175522824700559433679441765248686855945790080371454335425153738808], [264603399772187034357374410052233510297606759901503191207218089268854900267232454174240, -181266748022797300041086715466262926816781514215904166715003323701959121528], [-99113559245017627255374406926063294507630912936857311660457772454143575415676873620588, 611936635314568702919198428345390912544095888587923666681403898838539777485], [-113472116862639072267820769338404171839908158919497528553292237627947912205601594462126, -26482475737643281108637292599955371650024816292891908296567178795912374840], [163725819152852563332247816389732429096356165661352843216960838865311489564347206103848, 326360001536958689093502455897263547713250150877009693341010749590882062954], [-69883258770969836264300350904292243984136781915498996585562959935025549702990803646146, 332488051163028646900917425746794488433225797978586585131511225218669327676], [-238215802316044143100021543370939777943639126029791705864799199145153695246555548335398, -480409660964430642411826293594532718487121471301260434693298025491823703192], [-214968009949349888932336923651587280644261083000871159746227690663006045812284871132496, 587338670893866323692729169390196132887164094151752559229767104568045209772], [-85650021729837554527620466028340558195434568740146767633426195260117189937251605869660, -661902398640386783958870288333121253726347154041223269295210953966659767055], [103774327703985345681984010653128759453182785762545503580262889136506916020062520275644, -71341500008844139491617206113730124305192806179796403155885529685833667289], [-39556754938134550918896099992335302702991802158142285756541498477965207339435397950662, 306475810101779580897496475353359016681110169074656498320878482977515872136], [-19388404512978852984584972773966593792291780937110658424474684274125733268199878118346, -3207484774847043960034838779509731642726971020799786486528653603335907340980], [246483030335541599712669547448095893509423802326357940942660675080302157894331368685848, 2145596432146350110039769827272243223102086389484439090458013915485481414886], [73679809999624350920469395810687630478542556729262661719476470563170938711208138511562, -1152121431430648042117238460653963968468420553052465948980440921823008143408], [639294637561414536686805845161713713839493080282479614842546620895106147233204836048252, -1559390223916165374977201766953154111558703837077527728684261070674785657609], [305274170818760844409508904272607257175939504396457837924198557059715754998966908801300, -8539843224684371166017107500457575062456949925993005093244571340701671237683], [261046763709198362352301260905706382356528138263434982689520170592412361319291150578128, 2003530566176569568155541132858956513980939820049697060645917852421341219316], [-547338068737229339131988236589250109173772022878630001100911584973949818625341558050290, 7359688987267815706083377089021046681952370484751885466283217825262145353788], [-880227370343124703711241454726779556982148481397474376163475691791768466310699207863128, -3124245242749139653189986924675108675213734266756062067806462023902839197814], [1145655760400111902517156948062154256026661563462897479898973738171886228740512464611494, 1225919259587979153522923687169994762485591276999323708613053284349019458460], [488541737010629668151531154717517444544146974218017646287537557879286929731846239352460, 4128416999783872736021664057503853813393803015978298666694880939809055683707], [199230806279567170351877875924752917446893212647809280510768948613504601989952489501792, -4711636890452691314928406836397897376645808629647362267313551349457853357480], [-1107187433076001941380953348365964188143955306973366820815506820261787126391088589229982, -5117393779647616038159119588674928872777411825405779134676712646694509849472], [-1808313589536818012167859942003845371392363982150283359474907822574048721117383708320110, 5674050132739519596058360113284021266002144041553661058060759057068875313800], [1108709882584856581236630056770659210880350792449448691757254048910427588669472237933034, -11407173548776243268718293081961664685381124345833403175320485490205206306672], [645561980372764665396867982502070066399406127024922790338417398953180624802684889619302, -5085177105314516799753799034468663409979096102972285190851056389475821586276], [49096005778284809394396030193095345367013794919394239790088198713039379092784357134618, -14315894045902794236640847091485001463292666765539652535575844300438530356336], [-2519426909575327635868828129340950334187229282372178142331946025043551752106380016166456, -10255725659276177296222133314065369730839385274705287257157072123287283406766], [-1471801741761870314874298386443332970819403931810686229412370981495128217813786781377246, 12085235471041241567080711058406635911069866673938668147047325299304419686528], [-1163162538489950108455993928297597606306668239563552810503636726133782687128428118809860, -2229215561486987627282953902003965325676322939901612307247942107343308426185], [1841141249827326034825312017582343342093781614955084965728429458993029938896909055900408, -9362416932948016977550782294694089350001522111792405523910256509033842558242], [825961136456876024997558035621367523711254860724578915056196555963514649025336139148112, 14633027347135783088814304467477395125888984146639561769241599482937107604692], [-115273366068205716463401879374064672714253696283891136648185834079550586556564236849266, -38751840098496401626992547072688673840534122442805596849263790587867350673316], [-3476755100184217024008200523015536954396306802898357505143699414564093434930182918332, 33906714825793034209025742510673635110325745239845178747100690781029234376409], [1400510250672942639138914211361303968853362206517191398570405408513774317568399177828224, 7324318729051445761214568171737720879396444465718630025985201242989826269792], [1264666580201198277357087400093171518214024911585497852039373540859347005300608905537410, 22625584920999569454408644172443808746394670599483454928692335614864846405280], [2945606483229552828527982630104963518283176709147001774698258228853935132928291221165118, 6054902885943142263583001918056967374423858813007182489715320708188696802908], [-1797380821023632860787166031121763921848428390811902724340809594001346854975457939127820, -8348748482900777863212765118164347693149847777534367999779173827440503732731], [2983927669436040531307443667331196875301292246203061201380175935748698458429843760192524, -17319287485560018834037638238047103838253758110620679799663095069282980678501], [932170559264826776222320698420200839643756137160139571172911471365295441264219163204232, 22074462068438675348612230128151165700695727049941638310460011234889013171266], [1385939873445388183011029904380041810864475454339709086472535885760342130174162173200138, -15140439262321506562282389935663720950197696248769799839882546324321768571248], [2790785445314826724292471331256030767350551953068365760507710711408957926956905261645280, 8697009947166549943476450390025959325832526717142062694556330556456238585080], [137671557044743705986569667866736953930883150546848726291269969081712678837207208315450, -39118989837150563365629353247292697591571669955820140461605365936043031814896], [1316289934206811021137793995354797499694344423304191215264072945552184391257935411694932, -12868831767543211779076074419963888836160632983489816778243684399367222702595], [-7126029924650544600948473141252009545419453444328701971272967013682475871357574903036338, -4130187124582953881980980866608520627557092084723031248888163456309489482564], [3255286593352171369199149857678614429173748835380322795178116080964348041914342561198310, 34223384364615732237965027546856459426129475220664271081186574768960247278268], [-4660081881666541544746293131835221858904374831321634560458025849219121865656130976483262, -13734561253348261435905250234781317842116802378589419260927330820768325522392], [-5470620520046868517560634340173708395072271809484294535811387617517060389980440717751696, 13931093571394871730656887879914938621607238295696285066878505069194976878044], [-897981374001616778175969348450781850608233045664876729734777672487640513434013338355766, -20247417371634045471693219841213135305995816336298705813489687125916011848176], [-5593453777649618469946071274724577275840753913605131797062478279476901463650047203930530, 49720853230422411633700949126589116682338029691504206107076670183372890092108], [2221432162357823981008033514282574207016149900083864041118063925537393525007184940772472, -38719684040454646744552309015536198723767385566060359077230035382036640276546], [-6396272973491966945855491701232940392818385068517555039030174932239623617660638451058186, -4348642441200489371475138905896425947743205435394249156202648100349455790900], [-555157780412173896031464558209680527907034741092953094687588581874018430353160592257838, 11376118550473376577836077727081021513892654516767259425558122684138185251208], [-1223732500171475429600362379358311778922433825864461814242841085339648172565067457698772, -16362286371536923137409177309120719672481630824715569582877061403247656173085], [339419728998564705707379327162339297093487281484453944284717790307480724207548927197660, 63409264448756409243445260201558778510313411103289778243077303932057358429839], [-5912615890835639728970574364534862932531610212559696695199443370213976792023383489089742, -102794803312487403356620674019950902780715573141161953463961300694033124675424], [2915360790620666368793319844834302550545064394050989516719283119787055181884568320697454, -22591844884588772444148122903244096140869725126829650557094489105293303413764], [-16395847078724021320593648384364276975028119514008975691706537093646776972835827389303772, 17605946210833267635153165264167156065011195502036414327791831520581243961041], [-107249016509308630705746500376849557550495575352758201892404128056152427910903524560068, -101493896522117364439957837136000763318510669350177571730561580657964731270841], [8551029313211129100512166292676201370352625096935522749076269468570083504191300456556474, 20016515635790266447548303589444675057157544826656882385006433388139692631944], [-18756644218474901646642261747828381152359719447610349160538784937907718106679603998632778, -13074615336774023707340919158494860049626900024802721336036214761272163599092], [737134443966285311016604820125473907242174200968111336015311996395057174245474966480320, 89664612657148069152862857382837443431090155037749554674557174764691358048880], [-15494102860688931947896461958257610167807734750234494665490921727721347071302107169147496, -81226195444905518552501570757317091030351494347862406787533686600858287954554], [-31403578187655189804937133972381515153500348714379952078199589272587737835301886726469646, 25112955252755175557871544975588846601337517565997881423844516488848998371592], [16371291499938451253985420062498521023244072361170504799377916808267038728963507107970248, 7987228775887917232106727284122825072434973217273133561881042544956019571026], [1167459506066624563476257377575391135330489442077417285571816099493430746642512401497030, 65735737519869358577613208207870676602445490280155590104847225765686428751212], [26540213370831268710801963681166894393589926980937509616896969294457833657119407152104414, 4243805355121470437861837331010777381428226264817337179891163426640415789052], [1566888675400718448600858684897062858821020044983067226639452268600315787957003799617104, -340887306602358894051003125911390032459737925256221073824693189516058308659820], [24760720586745995101885007934345002322434920431045731460688784770306339637407777310075460, -7062785523423440882361899911086368307024784005326103078506091954056527479975], [5874946672310680623994545442919599833701166575001304971374477744286688168253546296888538, 238737180185993977905549790000653670152588643022862494657770124905625576533968], [12920480759300897490440282299153822001246752498525594319204488387392624034762157044367574, 40312190693075477626792353412023491468279608917907387878249382429166077457004], [-16599461372036990378628579639232722108776920644759614079921493973651395724079813814642932, 321319864327378039369932057984198200828796665306153046397434708272907770561211], [-13543155976981690179167327518412659499041195654607956203150841952869831700214262946060790, -174793435223096653582425279365715259374362873415193556338058571316926489798936], [-10123274126212856906816060779589133521747146304079140460027084168831080378449914210438748, -455086691091844061574345165845595934789737061698467888881595095515336444861231], [26078728639378827819738899405175428198869455228859792067235906174059829915980057803221480, 143773576110330172008149562406791563660671835640814344276253910103117585497754]];
    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_52_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
function MakeNewformModFrm_2_52_a_a(:prec:=2)
    chi := MakeCharacter_2_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 52));
    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_52_a_a();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function MakeNewformModSym_2_52_a_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_2_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,52,sign)));
    Vf := Kernel([<3,R![-3889354280891433795273456, -187290382776, 1]>],Snew);
    return Vf;
end function;