
// Make newform 2.50.a.a 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_50_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_50_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 := [-22129540960032, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0], [-43200, 86400]];
    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 := 50;
    raw_aps := [[-16777216, 0], [140525537796, -1], [41587265591271750, -349020], [-216194632642999109368, 1176353838], [-1252785746433649369332468, 91137694171293], [-836819965534613563067358514, 4871108754480708], [621092982429870550900551569682, 1739956737232606392], [15875567231909255067195826928660, -15619643210757982437], [-1439085605006612159243352785733864, 4915409063054945079114], [-592416623514293044733680736743533090, -1258539531707646397661004], [-3552655841263537981462339761917998048, -3570988206433383718097544], [-225301418711001279949437387717270549658, -602055327296259466320254508], [3490195454420691728125182056067721415082, -3805766659281275448073376976], [11502674894261044960326099135506210902316, -2419363982542791247879034763], [-5922779059522956840100847190142824132048, 193460632523718178971553073748], [-1997970983551376317281528408011760291722634, 1055147506363687433315448347028], [10857460656001525260930220530861696046191420, 71196355039617793489868700297777], [28917896769467699662101416479727376641019902, -159216523151978878395188943518748], [-566344609682748466034371916014123086152050108, -892189809707180435472662287126641], [-1290531099806568447797577542969798425572007608, -4270074720167217369481657486598178], [-4870623502315367233365159216370066766122032694, 6107906828745093409299207863258328], [-8490421111488506781787528965930390777956712880, 65165479882615473142593195435731148], [-12266140357891085149640923506722829525844558764, -304901092061654024351563920732338325], [508443678322954814957678265214310735603346076890, 845058546036583429532028702838343640], [431187091016550420970535450949190729219146891362, 9703653371567813173290438866262450840], [-11943141861673228677067593023180685284611822706778, -16188440999785647867329607557957471436], [-15052164470396038882967910097569495035325695324824, -7729317245027077909968849370774379370], [7038120845310456704825057974569885702602589237612, -5807379594594234047444693110495455291], [76558822351322802245100066194991260224556661731630, -189962132157430516629294383966373298476], [76617462842075774767781289442483485140175934340466, -402057202426149545971454077301668706496], [394402098441169843891599366446552984910106871046272, 6543446750971492229003768477280882812064], [1693110775783116074160762647828646737622502353769092, -3362884393799732779669413907546363678401], [-10263365870841105771409342241580387839343109806220278, -39070362530452010039741015763706727497872], [-31999784071371753028245785195937978595748778996560500, -9159252645678694357136028541244977074723], [117512916081933421590312222283578195316289703588571350, 376237435163678904729691101258296735318820], [-47660163965514422473987923574884182466974124259334248, -584761482221132427119004782473865766189270], [-143714067084418880998626479611377078038273669161958818, -1635456756318272646860390972315767931672892], [-399338440059167055554586608327083860468835148892000604, 1800232999510842139338381378093494330100375], [984018007386007087465473833453677985162189163728442792, -5032815493438965458762007264142699292457786], [-2022361305914408830605204356748798887494712217810738834, 12384354640970884558874031303329725477723620], [-3909011919476295803179297915130026166656369644776417100, -16219311857970669306525287853515320946162541], [7546439850950447745816933566496182201624450892257210102, 10456731610451887625099422544835629711601156], [3762764869091092381812220767418754020232741757938964672, -124248366139809585637179087219743910811592688], [-37383099133607078278039194589917930089626490103938047294, -54005221765743461498679240871429243951833000], [-188159706533989307949112016139119249278260207578792845818, -157638396396072831693832158585624454082543676], [-56795683965532795187032055217349411718459304811192753720, -18636207502554074550775624575321239138563074], [385949143586141163695386531191534313328393081298686254292, 1941688955993868481350268495926465304534647435], [-1506288369658617068161231458807949914110344093521627491104, -6788185637448798948145097020954960871654777784], [638012952492953288884080747207931785862375346000155805412, 6573775310419501961241856676479126090277808327], [401843481411904741542962361573509940148885682193444375590, 11047276811329829766491474855384375384558032452], [11010673703020667905259835964932193677474532480892583280746, -2704206490739783069003809540288762889729104488], [-16425297512597342176675219444690399798785292127654927439120, -8184092432432984442280823381538938022945210012], [-10598006794469235018151200982795637312109054613505229415438, -20213449776541152074737753466652469068686886600], [-5919418990178550502581139852111670805019164608259562271748, 128804517706509721409189329715810767785352254465], [125722107998147558871693754364873556867969915042506786156802, -102622167400420650423036699266975278234960094208], [-79606458447335171867400729496956890882420871865872431724024, -467785424348798915404708095979447371806238881874], [-102625428321304752729008751313075751709376959970876579778610, 651539666444203168299569845082628851913314841204], [-755694026112398364318322242834324823657865196961131180280048, 110149218989720085065984057199857800128865084764], [565068196482241453063451218014124772371671004329265995238742, -448607567833810311472574158507295364897212239212], [860919681305017374982921518705863517181459480068281850560922, 1102695304040625795386475775297645745503066890360], [-505070391122597836841280299194399643667304140253726322112484, -2821872698328956906140328011711548908801964603879], [3130590840325384628053009101181466279605399676798178531170406, -4752612484476124244331245785150887911110141467900], [-14570459866327181757775287403328560179363038034472823853858508, 706060303833362329707147768597488678710876798035], [3142013665915975737434078372388165907439642437305835595478072, 797905141810609917917422408783679793583411911426], [-12849485654953643547212360065765437915429098322226851901223494, -27488576163799356468706556274907438923651492890448], [-2111894865745919910489441222236466977237271850758340604582658, 39843853523573600135816129417826918835433021704884], [31870673000805765294588400427430441584469341714017868666216012, 131980786269338858919227176066611916975034890974093], [-39011692669443692688295527965845957405234372398783508890521518, -177146419937558890459223510331158776881351787495200], [-144139563062657259568215358822785792661012116691483870671103908, 362207905413012696622300633212095279360230111874601], [-235521532641137177078150126493619210926084770688921239262373090, 260831522628047168229809863938479711092690432538772], [45656360361350808985119760183403720537844792171651807724903266, -599390089792217978532017774989737948852480824686752], [354156823945352436080828537865337055278317119477356254714113640, 137112527471642109979720193044785177800498771449686], [262895977879312272028348112030956724388396363316111823639038832, -309815836594784320189883641344306319825836274208508], [-114155020786490385517771728231913193166515316014929834043740234, 3672021710074649076605453079744288162998975602526580], [1312094872571311611904490258206505853219493191635189718377614460, 1178560487456193972506606800412256274363792028024481], [60363019522733201400451510165078326137755217173884621191565696, 6869049751946366292317850568456461408059331039783072], [1312504520930570286023793928326610953630821188372719129281828550, -1565512849650672123601426024593958361332237931708268], [-715640150618774530397461458156529438172281432012995020568027058, 4479797903721859093514766506056449918238106053848276], [-3382262701625231864311124882274075614543207371425567655564465518, -4233817680323427398681371032481437162354750023105544], [17934718008149632911516296994443931117343352961842133250578161690, 877453840353723085571976331224851506714696776303216], [-7512228383887537123987839186515692919642713912235506108886653020, -9204396116293622149695718676117705375634540647853513], [25042145737365637866225468118196009370552468911737492810211838182, 8623787085290119368306299899073754839311579113347940], [-30187636445379345551274137743450087795214513898668782992394882128, 24355175010829111150278916073430452129781343593506100], [145746057868725080729152281710764072873615985268343593446944946, -47907149996495043940524904801915822143501675229423368], [-3223057158930607777027501925712717993726575874723835459213220680, 8334023496185852198646963866921701105329950648553186], [44988481229212917868375418395765907138383474521719964893687569596, -49007179928666288268604234875897897773273392167124047], [76348390546463623667483168014517025274718807178361159978518705090, 260932135491794980765070332929454053207629740878346968], [-85889811360348812366358303319180932437286783114462827906307032758, -211297067112816615474616294810158820898572539447042960], [-40939742929281996774043620840553142047593147034891835852113177458, -94083438866823936466171072148758979061180435519146700], [-135116883848533532738370079556696014650556282971554763633031868464, 414096614728537843415195396746823589750244144253687148], [33041248467017492102711797790314262950411368742115169702570599892, -149160823953063454456806414885164178073495320270537621], [373663172006381068315574309763426829708284143665778025277016602080, 236612083172689210670462131281084564381784085843007240], [-578004033868681462875758549024954214109133038205348591985702064408, 1900727855820327729928560342863351626669496659858801782], [-290291706870146221722286525347500101816571580406606514142128121108, -1656214647044652403915111055074576072855334283038659899], [-77078230402719921193381252461947044442843450792894217168091729420, 3847597693438244360252393808288406215555355664102611971], [551703774521056516612252846714855409382976759671520117751644761336, 1204517666772152444111754210566897122692216570216359442], [457083714237491828092929646031367329577593349090864197305676053950, -6102262880469122380123827661271855854100316545048139132], [-190063799599202383157516868035730518266324898638596670765106547318, 3089887015092998455517753566366331226721130878977870000], [-587769197632996740136719111290600497135890577547333712268126587124, -940495838986670738689598700221481131592453906164178723], [8225562611279713042948405892464229531243632526787462440619783238622, 5599627743125549456197692244660176478869918172100579172], [6946181187292482942662102840971730432198441337457929677514697127972, 40503199887223554507288207393472616816654567074197816087], [-11684117194410293316552466220318443054522623846914064482412918447378, 49609111839475030734077219193143570665343456771761852356], [-32614696072855907152146111799830611826524942288724213867762058026444, 11738375327475127759048089497652226862320012915426573587], [-10688619205226783609994480540167445097713738547523949403867445100870, -39880881415083708966831384325935668310443334317264558928], [25263794137287807391934789853072908251043282832555782351321600675132, -27128762570561861275032785645846835626824890345858509295], [9171350244883054840496139784986793618555894416170855702404225066562, 181389698991920624573767684910331733399315170091486937952], [33486944374110218407757266247855908961466905099948560710543812063052, -201206707742778796202765612278727555360181984838467645171], [-49298758512330840843657526687514328820345239765746852576684508219054, -118386472641632267884746976778877285657659463375308860992], [-13731722512936785585387631288210632279055840044586011926048510541480, 315130293625995994686322763891427611263892567294164961274], [-45057988826644242741533002742122509889027045098241809535602979416358, -387381789673455244686390981697746732385594074279658506792], [-7938401342678075906749711110635455131488686340558197895448962681248, 146757439548787986206717229833657376646445054610854976552], [-122939153322720832282404086570569714073226562388147699428280732844634, 424500840435774106163582978972265950251741393755132877284], [-4935437383024429941232228460174631689405284984437426305712732294678, 265042851066841204481824846017220150829967143820046555320], [156688257471893623362001370783098795278845186535488805449152985760620, -184994069494283800469546159107664135507904807489430098555], [-132915580798274669771773359039963375931956963624407203512782386586248, -617637598688775010126718731220668057314700121439377643534], [-118009204707191724912884283630030814002814669484393793043027666106238, 459136666319967131469173634264443316253522404097045251480], [30007985042853683130677747449711782542127107052943710594500320093316, 1076856802931826494631393862793939571489639285763919231487], [-436051229409744499828548422860351571815083974470145007436804237206648, -1853779839694017962956910830491473481324630714710451824562], [-53124185662161837525942915604751141431340776416861934446338618349234, 379777334941537645378710984488726883751133988054159149748], [-142832889459964671256667162001944704873962644018355887901426594093420, 735320493173824789003212070768629384094353150400800293979], [892456380357134458341367325616017187186899064297684503769876614660822, -2221711783910304557356601889525524494646786002308370342524], [2227560879570976711576157043328362499805822245161856637251296301244066, -1120725462404501529544666190354193923162260463788908179880], [504275861251120511350775400971680593081933011109911756383978502133222, -3248195194702608887812036251205851858986301779281035199596], [-3271406147984052707624882754572983154760411054060974227719073407052884, -622523420297035510669822924880277575659432233597180988779], [616300255362303450167300704155360104749484472580048560020475636357812, 8856751338904133395230667793990492604029616792891513072915], [-2878504912628369804399979440032097716134729970891415556373402513565058, 3331346757015156193995831907908906383964423864600803667108], [-3938569832097574636085891224734860344752400410111968766305372031302650, 14456466926252919158380526069690508179439629967616101549588], [7080406046720858176239306086594427514764074477676243051233375975002320, 15902196886547520403790403997039679303561067247392705932460], [10350868805962925833501930939854944024428432737260956983886878109266392, 16693693649090381381355120398404047210002643782632661121498], [-9730718923767852069673153153138635439670279366210854136627619528778594, -11163380393080277390137876364741120821684424277878536627596], [-16183912091351618736800317547119858543716544733849755529580744212051740, 48538970905110564053800292265738385457316172004142419108679], [-14765364953793076982573623875791375867889038347712431411316569897758744, -24445361987769552774033977685286035294872315086695994420170], [-19856023689387618322833756380677308300571820373148756525565453069267728, 17877986746664174561191113170341693302757681539785078699364], [10187943753032850078869289457505218454753357572353237746082830422254902, -114859494794207334028600493336530523324112480500289575765148], [10631546325902395335419306778738851881679022787120895327746100406895482, 106702355818119957899358471976140361714857940967741172305328], [18024139041043526802610627128078421878506455317501939959396581306929410, -33610439065785553961897304309314528538854625456953331827112], [-1832527369811692702267124230930772626264768670322858830638494623739834, 100010772876988268725289394901883484435378194964680307851220], [-73461329979025061691491037950986530043022308275996616867333170665634028, -5785362767971336138269974203107852695585927461807664033157], [72484916117438335068966310008412755544687664924815822666545012152601822, -38358667277278889493856114008915403689265798892210814239868], [255628325923334990011048359688073802351934095894620795477676251888942250, -193784789417999165179703463151139528662339387890614629445712], [-18776398194840950295980234145064552137448849568218193665163528406131668, 258426899566957561286868250351133996423343253511414457796053], [-170671354878291627857687733072444021947225130771796301106172271444544138, -298293270915450483967420805870612716591764183700277203585164], [-281712051775368778634535827849047519038389524410963747387044484941007304, -546742171110727511904819375475228928709109060856475683885694], [-174976691003169172682701211869024033503530107243760127975845746675696068, 593157975300067000048869633096709923527894630951947129836561], [310641875282794076401575255005468493665936880432153981032737539972942590, 494951184554960368437582677294324502119225587347168839921412], [267447627123001749648508191777608202049758813410300716636217267956036680, 1362528471389071999113251130395282769439774218749157524380638], [-73564161188457112452207691753491812285438160204220706927573986483074154, -2081129900447754859807412999329226607206132436342831973068396], [-1162777499257298036987249267045454737636016886492838792059325211291712038, 558767928465945451538217197494981428854263271653412153097264], [1278928173696553789655423738753779438570072828895387211673407075549608540, -134742813943523793652479417427922709129933987520442239423959], [-758644256491010498370304204139383484902446613496342501575440615577770144, -233467926907505144355145309920284426889393027043694429202648], [-1686397508158562851881061287434538254705677119672837420518295274768262098, 1621593632801937010816472170358600539895091446879978945906100], [589427464422235662714515003866513899457160745936942784024680205775198322, -5363721121526013626813286525168717779078467242884002621101600], [-687094146099702971267578480819195643240679061045595282665543729175143564, 4564388081385266093442187236893511765288656050153341126112515], [1572729993557533218174357468573241495428303414066494173398022102305664632, 1621273501067223407570817728330809428382295307154924256326770], [-1980501483017640616288427016645571797693765256990112231815157975888559988, -1891250393004187674294863447297919310854065748581267489823651], [-4173240193011630423228183589701441843045498981505955680763601046499473008, -2501515129822616659664315497946737141107277437134109948437700], [-1482488080806470786236034470695991077053334664844441141060360758785725800, -3522330525764899221574782856290634292281145367145678839414294], [2413225450850017237795385955543292962346722374783510247053263344933351330, 1111596924397537006356942423783458879529594835323371922015960], [8067057583546963108671555925346264283354857492883515828235889311374493482, 3074979518325716459439977281658204683830371431630246563549720], [-2662371907691975416089120715934947129069729999495523608953675472399904658, -2212007520044792590495861250409527661022971948292089822297324], [-7334800018550187534235149187837226051663009873608711873243112374671936588, 5494200646942891587244757415461349652131041364464678132607795], [-4289824788945384237408121256775206334559609456576839734537993461714511814, -3540748669665898739746027173655202207035533135642587610847248], [-2097425806864943429505944612006317513711739067869329318776115203624803128, -4647482029186281091444918953175802102444464843961626228372290], [5537116782341849238928196950515749975336965321205684820275255743411734732, -10525102170752745846274763852394061923509081679216887607231795], [617430172778607532372473548010547394943342635471139110773614156163909842, -7950076692107210759183393383401291643954551229070495385415752], [-58327625870991566588971117278914007599830041828561223998291793426091304, -71654694698915357652583408999222474707021719307266854569096678], [-2878597078823847177714188677336673101512031298388204578249509913983686688, -24798177354909171168530303403233032142585568863302660880558520], [1985368526054080026247810383202751214411257614913622790477169227190747942, -64837985165557407912949097484711212437026199138007373503508204], [7004230479433662583951014719643464422736576876447225019784678233885839090, -94841792210216526637739321015602749273903158929322708080895304], [-12396655227692296725989007438757070336783802029659808732631681419888705994, -35772481189715902513695551346007534703173163696019950121308028], [68808016807338241613432079620099830305954704583626391635593537146697410300, 49734869852635309762428695628046425611113275259886826103705761], [1297432891761735962698190866827165519267486809103945852623435529936954302, 33744573315084597978004973770135701591621593769366397780229844], [13552639163270430473221011204884950260802180579467671427490530674350968072, -88890402183945508396270957702043600785596870278233990174484370], [-12147598297401163423980077221961945099275751092374550607477303573613436534, 65674005533371943266722176483179429548761954426097193438571256], [-119860076957186901362814742665365785704168302640493708967916379775510775280, 36693179497338133348550932967853799973595635029739256727225116], [6246847210872654328986046931413767136914717683962928953396416268149011610, -371382465410334166830868254941559321330137368607285622755910408], [44153644046841853982763191809803987633979476214958314592248377749370782492, -258159613037243309414034333085098130712643323953815504638325447], [63773942694199831959002414760553425809820174831381407308742142134922827622, 256019953165542396668671824182119907942643732846289199176134516], [-114496028145961885426531487388771659069747039554304780396219124708484331224, 115355108569513359952484675791716616515736766617859823417414246], [-115465508940646445394184339036244728803700761721222330830373152463844737810, 219029263206852788525367650018173194681758261864089900027988004], [-229960057189757845698582332683859469385081182689376098603370876365030638528, -288628235523281478249409613913535207320215916444279180078294672], [374117915034125640710783223488856726041144371029518169013072766184249071172, 64642055425219421773583687805136864853469229809693197952552687], [-107821855166630571362637382990713649945205961200061426170404094858384133754, 883149365147713942235550501638396168574101388461459193432593508], [75183783575174489237449000335000106329988893467758078155875499634387570122, -703151808622042661572891129904189635013659450952916581653780488], [195909454815786577149211854079576325976125623099415905720932167909327213136, -1166396208096216797163469830668064500962548257109372784921543668], [-154264907111199230226589414205397089173485144145342453602513301441869803370, 796186848450880639669131398648861640977783869078203427731191844], [426110230986577044085077282855147919339720993880069374626841817722921667102, 669145962040597852495565908792929150369888401938418592210034116], [799292009631215915099459137667926796108482808552993916097528995347034344036, -105706724846272245780714946119796862013591910397406849490302681], [-572761771075987269413564358213255657479270944652785252222007640253362329110, 291559726709464447424762099452591813134200121805801318994268912], [-489044039965171053043783622332215411713019735229143776994153088642323762048, 953176686344531953686880046357419681384951740792061377470273760], [405096519287156937941979204749632176042498089875931190606676563326279382146, 2173936944335888244110845102041820778018496046840227700884486624], [1466044072739320520099813811612340623618612487756694230406388202010989302156, -557337706496962777669812656676188810913160899028571592850371363], [1084549422679211436700411073457195255647439122133129879224490412426225721492, 1644090489437503900800296444678377602777323048044046698400213307], [-395635856759657558372388424847306222002276094631623328844187361266375490978, -6316473372393196361796588922678915290510033068870456525563709580], [1915399274369012024857341983824091081782610858222194707624796846705868804772, -2650047251112177059545476740802720725216945521416951622366181097], [-75691906292593482696171340379866738385579581650362245033303508392225406934, -3397354969933499433912064660143255031265505014210071312312356168], [-1282395459695624763963906321784455215667830713449803975591715801696509678158, -10133131878998458644604238998503409351111003339269904769217621312], [1101941929174580264993158083444313037642518491006140179654932454080053396606, 7288063619625190641901638860210702197237441528192951859704305732], [652022153437194718551569900538331511964153189444869113979023291877785028802, 2928801325217982624644545389221204593123516128008488462275889536], [1485541922224370591294278641119685859476592618242971731900476253025710740936, -4998664837210102058298988348207384089664772989069775179440756546], [456340035973001416573811305525953918573167042683079670350467817454773013390, 4584127810708177659301049729138530672336789694223770012734807812], [-2698709572687562006452885845390196987798254668977960435688094649864862936368, 9652111848968887465731948555335401759924478501582539781063365932], [-5213134251694053394715523259457533319969635893742267492922261427188955349738, 14044351716238421152166683013783597397927566399764714512165657396], [3914370014206504086676145312301803756548136565564280985396923405728931761890, 110791598418861859599726841314611295773805972396993682087315968], [2165469741331110242042077477796703793517816038267830136535875806776484799980, 26651314666426318971936757759368214827004541179367042070793559589], [-12596745270237720197291726532560879297853469708331268523650092003026419370818, 28308109146951147467215626194448334501726665034829114371583795796], [9179426166496352254112823861825117601860630611610658913879876752349198869760, 12094766630475415128324416673891291377859213154862178107237221056], [-10657963533276344983264797490992468940067778753866254025614021928794642809084, -7587575070235355896920122846724350760543366002423898370252467969], [10777818598376087923725471164884891562564314398989417738234555139317421722250, -6780331982936574742742529925721553842757431839837287081758342568], [-9095876190626347816475867303279538860970136083807646640756983779901161264628, -12518575685464952363724662125249572019513671415424767619496208803], [4643257608164874890309093571970157020379875260419913534230990806092048786962, -18370434538684096479496993117508920927349145123035915622291504840], [-6331807791643091665934215644834303504467332799074551766699739810161384288938, 7853621829016350861180954740499924692506809193286926753690242372], [26684895743956704323543314213320775702201714603003347171482898078946227571736, -14433021681190036319899873685595470162936482517757830648698950198], [14216989955248142608921084296896002486442152778587351743111815970701055540252, -23941830328777024243622658879194802191299482720067523835811298343], [34919247814197442044699177314881194124492001344854535928500847217541776058920, -19774006307712520147638078111688285693786768866148299026064946650], [5978007416625103621233967072449582765155597534018566515191539054529244053162, 64365020336300259075574046026897704554254201233420588494542380336], [1063890617827943027925264294087784087235284223186181565934122052539771668272, 37556977247789183615222008406558191951466150880326876035193618004], [30413936303147826936593718626888081107487461253396041031764933805529155494482, -135114500129545983130001655055496832387896175025583300187549362952], [63740031606114276371506622890563347438757291643012567416041134716836180010072, -101817329710911479226044791175407220268145190110750142189298143430], [39540092499017216927992367937790995592850995462075089857397109850013106788126, 132380282305472199424883343216013468797935418655081691301715855092], [-65739887286921740644248052624766174127799144193473713735138250697558580660058, -102866370911946109729774749131240749853627063963709274654885515516], [-91249512381743620911254666489180185722834964689714402215949743964982117949320, -303960485895392497540805244805434923033041572157836270470405350734], [44435646748142556817108301542932263415535703556790439205402088994116255988610, 222131171040820249333890947021442147043492290447081772666334808600], [133857820476083596919598296084903790470795515409516782291043029383563704408976, -448162245507658611816604546958612388176461489517172988507036765188], [11606616420529417332213813905392448252873786522792038340904507519194468774292, -467087376814901905012000036676493402692637968482306381073276183877], [54229925178081585623908603625088734402269434013316112224898485002418751898070, -144194943794104771581310060840070513679424112651996486966739697932], [172292638163066740288782101835549563777085914810129739926419280306154720540186, -438433391876977328757683920037928237001683647325191004975325884840], [168667063146033471896683595272988527781124465026976657677596303105338634891680, 262974646929544180790862670861312998322435717333695035788031241048], [16549447679800687194939511406312725594160845345688952753986906093578115009192, 1114431230960932604611543712195245361416201578430670708443378898886], [-41794267101393249284168013860800662892853341091327967191876471376658520987988, -725355362647380643739408618429082495247503094949951031150787000683], [171828189963297379481267696017185035741067559738726113556194522797972562049646, -116787256719391673940144658503681975664646985686555510101201153356], [-48600484612390989453405675406437339316404869639926849233546537071558813243980, -520433895218713053379014205086867005802152997983789880418109578893], [351545308673275949505085138345078260726935204091629654839915797718481482108352, 526997930857262256244080357745971054122374621908581495916070577424], [-110663787695871678970682952510036591632698888444235460656422019731540949395638, 298298584074261398410038909079150643953087509476675202354957683448], [843427990222115454318999140950428820814429658274007647541682952659063989914316, 16566175114589429409258549258196786804702017302427309608024606541], [-529915032922706373065336847475723830139056197755729936442231522752040798039088, 479608548852065449726900612866872731800576166566399425792914230636], [-646194604325937007453572115168812856969226050346768053139968567497701435983150, -487480556498393346954953386796218135023958916501392415996974604808], [-451529042983049144629685669243474388616590174983364634426764602765833031527914, 1403156516771904503364642918638388595667760348780117632847941576196], [-529046853057062153570704490868077223983467259795189231968459422265946088217380, -814720821456090560647794715799672213995347829617731175252326048151], [334862448822933784206473406629279123010139442696204843614753582068827882754792, -996032598139166289140959936813952193740216027978415666927690817290], [1223229165063304487842557773244606466045424274382216714929400259431936573920756, -708093808151021442029548249169433440757279498883862160836109985917], [-12937801097801891996100270202576692706946638964890369769627611911394776401668, 2686543029937230339188501801932539571034686649148672599817537862497], [-449617932596355835162465472157239646403817014052846182969208705521368335446264, -979293067487995422153532924978683354654536605528148003698160295954], [-1303345360730230722613352789350955570768321716917082418946398840241432633470770, -18057829967193224568433159933318169057608016055898239715608037404], [1785314746160280900073744212071493728198609534820443125076064650616576287209746, 2069020321530138801478431193778879858833036086643693932799175060064], [-1758956769115236845325178646489978168326367773317444194682906163826029696168680, -3100554451488666575191613052796853133726099681688051976321295666678], [-838820307450711252934222090981684820760613884295668561577549888638561769336288, -2323639790912896275679002505275643964901533464770138748223429688072], [-2380443241953415642738586416945007172982404863820928789228936097713403893330908, -1291533050199258679215107271437471756443878269480954940108383373993], [-1294591439942603116465193424061169417895659964943521269903054575806912515913940, 1175769074529992726133101812100438813248142517532040496472272320181], [1257798977954711353999585767152202254641856950560916603785434815925681250428976, 2814165690160688824348543513979450281161795930267542420754083354388], [2948075190934972217011500216175081761416062720442941183440647193205465275625982, -1591351700973316788372409570584463530542436284615019440290061530476], [386326517980621161351309677218295930741140216385857124102367191519919769422402, -2245545852670502164243178641185022509932267529207255109796107641120], [226087866317052324292630120762613332622714770812829652371444292718989303105352, -2172067460297056113555206151397422300880918114457595524746325848098], [2089448115912502278619892334276082809906141507793675666870008034213379096152010, -6892050774934918603072847127035296462518885914992967234203813533480], [-1667227753625125330799179796488170102777070881659187370215054775815304991114994, -8034884328658734484031582326395778711923875094720333995419735475628], [-831826246424015433819987926266500459096479753796518627476253942653929460944300, -4687068076372568537265824745997222868407034132260123199260140487509], [-3785063369347577736650726948069870140239284895645713224466288015049051732540778, 10814926419290898930355092364408751684154431674621533321739536121188], [-4155280419385415606252145450575105448824155528181220298370862708371218938213028, 6263053326859600756104750001523914841133830707384067587793540812329], [869894536358398866249602540342384978105836413134651114505138244745743682637222, 1849530712727942649352893680300392179280555104674970435717086788308], [-3603177351632733982043162127994461212480121850309913911835234492447628298715398, -4703227720989122846720120156470284014861974660841287563875882304528], [-3248560449040742017156014546215648539042084027471987766878245290623511061760384, 7354391473509449644165499017617629410054486914123803889349503794784], [4505508326411193719399648726997566196854655614043495290707756821040201330974852, 19838370064541934219172480030077387112484329820386175724073325188191], [-6930234545140740042823092437572635839611237329777251457621265494880784004467770, 14340908384608362177818973468816120446469804417185546462170434696372], [2763540449068068582361673105606722318209009665665202780495785484260920068611166, 33747575273870055116929164627459813547787128795144072353855746395092], [-11110129526297074455125509579313426535949632271559493723924274236873477657054558, -15766266557992645598038185141695447582235553406905206456793660626024], [17791232579714990569237395246490877769800228743936823624327390443518388568534180, 17955428417381896489451361902948956357689446202929045536381064895351], [12495292561239865030109326778660828742534041567871668626169547357564659669390190, 33143157858661682454270543641197573688318877862317292343248738676436], [-4942349321904128659828971659518332014688179062879791205996014074057424067515078, 31350954315881095496781087174588595946539856210963360832798605768088], [19500842236562024179150379569983548418400976977823316808239314316078811222649276, 37395249663473760800318673865210803031254587345572058707996879838097], [4263744701987636762761558622117216571318364003963251090227037955329146298777606, -46026515051495475207390397710326097634682251034602193280268166815116], [-9228924614496541683247977919442183497340186825185751406297757615146051079381618, -52658776257290175342558552775811667773653049903608759046072556581436], [-3769803341369915187261436579199642858064306500924510345176377521354736161502508, -7661184843434813461495685545096298827684047173169167238157727533269], [-34720391888568798771876158970577745884745615056000562690066662160370277639799974, 28751296208998536194401014826943307053683491577424948932567666633080], [7039545777290333334170197914033332168683673311972275612855669168293259438107360, 20203667004275456714146268530928946143221864491354175494347837965320], [-4330263319400254425795369842917085004559036137148485268081084847844337888369678, 112497263452758496069767576488333607432583107667592766160705973753184], [-18862843137658204737256141501082203365618726635140256086270942863312643639348744, -160900791194821339104812718581814051712856684294340819253424541749166], [-8101947219853623919594412797846744111901540684937787837882860528136917630723588, -128914287515637737722625327566108572030750306110195950181019486619359], [-1149294993140731159567458747951411199178855348406642010989224883617684566699330, -56055768509641018782251468368562473750011961371499141398721997033724], [-63235219490061451275636271349704196292441847602490260215330140546824136297501558, 120626273235912102138145196135872459722628794470242213811521004510808], [-47905381171647382290093929486192178831693477742905938861863933981722075380227308, 151646276039875575703854279521294933631922738973062591668558873653595], [-10623079576756041063791369952756340806603490611906826936810841182030667840466144, 134991113235605786872606869088990439647405375052326396284536545361208], [114870530624601885810729296278405113828015013106780339444785466996393926227868712, -43176885020243088324174358108115657513766864616804415885036718178842], [4108301479167833516290990899094431567028703099080601535185188947858708056091192, 225861214707908719764796233571749010806340592713873636357240884745026], [-29494531152647445107229691668283772388418984294261085344460061980274863568817018, 87584505619655299727207609395723106132773020980956807477094687676708], [48286072462366361930650154830582952216704024592228486345006318693368053216726092, -222447665101727083943680424727102288439583475058675657301661311817171], [58852296814849519253209458657251780029530851891238989725689989754017261690090832, -245840278769875815317142061772152790584417958949275769926109351740340], [147490865766556221023348947504765017708728362591358144080975892753917441694700626, 97804191467669693549423189123847839621936605552119034514020062904632], [-38444008815834894976557013911664120240945212554614032707372227230976558101020778, 632243128393464023796500530982384296554892029251110599745078187689044], [111004575471754471434913048492838158877485827389598106625149399477869002117781080, 29466638453765894139909765248608521377882141810557443484802364018810], [-47290244957559676529034744969455557362730444929209492007703667258375539005087390, -116483288393525961351248185728318203997159877567526419130394064186656], [81358489398160998639105852459681377937660031508995197572944870029201942406639662, -298965767138292217750703312739184514542685822687680541915222281468428], [-334003519019379647933118128024093024291881691290111132807458377643765466496831628, -51139894309059928149195309747291612120558502619357695926288844277949], [166989436712802222797816154878144750856494424220027805232195786294493072757740026, 416184556812684824930510503727016177881199438927501609276240510876696], [21473195641217505304560206424248822911671229754427819820668152669583256851315852, -1102130607628549297641038777540227690815135831507735866052516630701379], [141529522406519873719556134881195193862655258917210538169644665674895547966422606, -212164472392189356627991310540841615029332775687477276908844879749836], [522813528064496432647894999324627379138396181202435727106985205088940366759199070, 156357736582387570993673724621896284163579976960294231983165489009124], [42962568567815710064646184433082464963824505270125139141032267759416087698613152, -1582900194966341631266977990249854503988914135381084817833533131905640], [113900657802335163201148405674971236078367446770100583090691293009609963875134966, 192929505536628375599848320660471448151511936715634745350351755924260], [-154555551939561855440557419027765890908400233538479967778364992058737688869375300, 328502520369768065784578083900892329787238690265970923509161710568049], [-400243065337659507273199540827550970763619111332283795084115324165043804773621308, 1383597412764331929610806212115880130870565350421469335710197801904367], [-9688453805893158056632105085148986305356851643437601370645542679319033818960054, -673882871657066397498437702069107616469736149393848126952611357381712], [-143672802447961192184463530631157833819352017987524397028436236560184310954037618, -2174786407763273740166762319190223972418249474584888151180878857101756], [330574560074275641221548002528742528211591146606270901384208106889167446082938320, -1060487134848342097014601486480897978432652066386626086610126028924116], [-267999319192190391330017118022762110839999636677237800683182762574785649229614124, -1817361967561167997720370448336914640236783907473015123754647635369845], [170920519579557455376039585750066662626540347080140080946263447042534457651267292, -365033673315923074347526960296263379918757027290549246891949322300055], [-753144858573248106795560636150207522702990036555600251709291230675444679993540638, 2153945567068295625452272571681598329721325367383664998904936735707608], [182035014814896240575737752879378621763171337339349590811570635823259014591256812, 559727237300969116988605575199240076408899067242457754403821319291557], [176850074350468882953260922584947381951542231644072408397114285563796299495146670, -1278411563945491812976855911105611577559157085442236230014967382294492], [-935823297389609711283134767487561790304784949399474257288104603364528210849381640, 2159067057774614517395365032276473977820051659251515772782736547905234], [-460111037364459657921806526476965935351881850639481819271992768844547545923230394, -3762599965395737665984304945225748371445925865250442545402507632341164], [-358026471675698736776459064759573651198132115249008335984655744751837069745021424, 198265518065951844057383442134702151165918185318095949895641383065756], [-146340304616295491596542062395974902002778657987364748680647706153567557281365930, 2352997093802590638446342298262757937029937507883966355780238384065220], [1276893228925367499506778473046384392184846631240045779044771606057845691291307042, 1184460831883434119955327073149715196914716056892058629079768398886104], [-2569808895420937994747089254711324349058038428286521727417171969303353745526264284, -1181636977871582576943043983033002119694404642264296354375421443019689], [-966129739385596727362516567855171976045116711927239077073965847576815503806116568, -4425946518288434040766023557621317768504638048021797704839359651588250], [2913088276932232686037647428079689378811431524583679206755391342411827299301221290, -2998430538787246590593262604740182299729847573655905091100513330543080], [-956100149387313301604725369799280232834370188295258388047793861624910187197898700, -838007613448033315208830234953096903332997889771306613291446372504845], [-3541209980484670471685173317955228731637213937658348298933523076187244692067295168, -4081740312287817270178037022424999267429779048870724920538582950292752], [-2653312671975857935068872953015748630679371615166280371337290003401310042539944894, 4631112923700682056185912305548632871030734576798549064048877313958912], [2052046498513304094012580193088892600556485207920988813428851886403870120514248530, -9076496106154450629114153297303336403884031165612996668618977905538880], [5221131751796879307554285869831325580677398481673067400403967071017589651072386132, -2023056118435865902946532836224486014121342625251234601852341828440213], [-10036397262426558921249097662351008042527080878722753135714157800417993454961958, 11438365807776529864349066152249482973466966283529911187130105274073392], [2393719136299344881964968120701184669700858413646952209460512609879418017783501342, 6480520064466085553705854785076980042688093078710717218397338859498516], [-3914947335364595866492197721015098086681498477252936778769141514819827485287695264, 1238453437694424306886943131124546062233887057417831941817019574672296], [-3261401319750743455372875027652452463842613938572972359681850289390314433039114774, 925122209603936825186364009565327808925806564561268222780825818539440], [797616048156053298519759219285219988877947279063300334309148887734722972910623602, 465994981598291979332744252485030316387448825251326473767530568743032], [420528380673820715682906654196093019205539335436701117981715859488815209372205700, 19547403488655348764821198696679773520254596543253506568155262506755679], [7404919060871751733142281646891029762043040779726981001963089525195913640682213276, -7974669273351698124128744736365268245255310713290475272127580778279815], [4176412076578224962158597734920097961323786346524103454172504385311281807399724192, 8011595763410104749965751489835623210741394929500852103561275924231640], [5498723384335574803699316279588827379973525799759111836299412860847567755524278246, 14718704401249575005971248686000606438983408608554685314401455048242820], [7382406903922141529935029483660012247142703058259591710684918054565592113686716782, -22482318629201540823138403333755651482524988888030696926133602136895420], [-3613793698691460945734354359396471723467157578318376526226536646247507349877095298, 4034502218912702589903393081613583887290790044633161426779711303163124], [-8564771316264321898182189566803358481436026574589350507490110825884892370592919360, 18033210744214523735755534371158705584950968051864564540169178198188240], [9783422808109234670387493693609889133643191364815023237779207372531408143043269316, -24395886837265282273361909377292070331118287373307149455618916954400273], [4543210452741849892078442324214553085956400026759667236976190888959672186099633612, 50149504950188619814169168081534025412817848835722181727535107449652237], [8768387204648317711089109086779388348866702139525993641551715539698285557128716252, -14564072775653348234612078820149482025096206631441175091855523099730039], [-8283838148975787437229138319175689645973502327010421590931644046779727028577340770, -27352398910250972313335213776131488819589389476169222988047367267224268], [5628054807688627987920593491216818317558215160721803865473348399445888126583769826, -8863389486447971439818052511699206163114767859104766792146705824434848], [3162789629729337210468921247046743803477336896437622843905015604566408535505842282, -4295627526450519858169336470841917876346195674723713962439425751114568], [-1196044942796104162102375021707234224956361268919609769637945020216561296726056208, 52543444725537172125120043666685609735620053478867464099772554957417252], [-7012087226884935911015534725327050622204624873216160176799180217695806180697582794, 60990200431310179365296314784265039530037330235316160399372196258121220], [8536951960817436542808256659613436914868984278829872512910967165745900844681243002, -11553313636119374668788925229582465563833217053177106900762000841719632], [-12778900804606388823363633361081844867241031750748507823834851196377646533827770810, -7305440649223914426137602017720637416990501782278326157451986064935404], [14265722549185659967077465924123329610044658858038115696789208483668939488283554312, -48773440277494498618930045315691032972169848928654357401849308065101266], [35079639535722797578806006029311458735833459537933332978443658976886777913486785246, 21260934676158741451143039758019652716745118012686735926961330647461412], [-18190986871135557888561416876443668995255605528237346155374965341200053525845391580, 8643785242094374255824669172578361041254995127401582907817405981686391], [30188432248082957258404682291665287724428630958464143839171733973847296051371386982, 34844252249052059291552943137745629989862386170761198891409696675827364], [-22939648006031480264070640970460680012636877700782343009049176744581527427626491348, 85470548348736302543400507487671996104695970667857047606359664403610453], [30496151285535582853316622877524168895092140671421087355191375012721901862221941552, -48601083808577946148160123216161506792081132099010850567578935629896620], [55467147252081364745056377546964513831988597719225034439606233899153432822719190902, -8844995683708161485709281232357722471180229564295681031217622842495708], [-15726022818250703626652947320799311257430385056668891952972786953135543575845033148, -69092647033059621150177526903758952491652806969458006461733409314314641], [-36808742313049842480298650243039695634762837947916117271232306266230951079645767478, -93621888916888469227901245255029021557040600793123061552338074198691536], [-9041769490534768297727295933636635914759694497028181600283183826687487367601211378, -34750517769295117880476980646580487600763062618101891770890928313625660], [-18271122598726365988461787914734897530736707397641229192708725633289660644281940144, -58917617186858750858966025545384964491558236810633381416378278391003636], [-13649486053195992778697839583317919962372539759466335326614479473271332963479755370, -154775419930484406561812024555737059502687308462547331593139091936044892], [37298021069126746395304273712709435430193092346111569673837995552243744230665844186, -38440329217463701197305029998216178562331486365622495237834688718125704], [14211924005287262043886709415638497345302492835303118567355534285676623461508881760, 35736336804174996358124437746739590317213543269857956475375710225966952], [-50992440430303231048609314363109890902323774462934475519966989241721634757683068308, 158909479907940266477163073459569317286252057412107973186846665358156965], [-32030440544888329735342146395520091505326547024583015086556123371890538417042260878, 49742499386975013087634640885002208553506471486124773580847517048203320], [60894359153157182068496571826757692759222763618197645029059839980480544288040825976, -236259864401776874649518202742292154536641460163831262083659059728872718], [-52251968772470731449108015658255749375938978119714894810603676576260605095670278458, 46933394855001488482625082385036034506823757866767751938408571846751732], [-56953076497633906623701966024022599891617662093450006549825162678696399165950073078, 335087672873605637678584922160226415819837944971656352148994739510639192], [-639749146689804129027739297774878377321547658173868135397412438661665418145632368, -222115891112824971222534418269955502433902181223909231630072869326558916], [-66131945447921504463024949730437245562613588353445070571795995729673729928232400740, -197458203446240828569001187009357907837181833766037756377220822600302055], [-79714808374760142891943925986578107919421312873973831578246317965133424989230667868, -37787505029409728144551509030363743537423433137165643003488285114830953], [-31279561955485429892764802098681709173390437530102745347477855082262182092118305494, -482109121062338483460960109883576256736396478549748706479337232449991112], [62401901680295853025456650218635620546143467727023539421558672430350397989387797102, -476701112309789374749458287612150039620724564184628465689665739511249660], [185701155062854216544030702492861509856720279137984501934007467414877272846332156616, 207581334149462927887583617697273063511836273598299762266858616775637758], [-44453212800071066878222828096136684860024734702244603173904316699373525830726867878, 510818992664184687833752073583946365157895809150368379903684204521275568], [-228473546892137454398627272533438149145017927672457548712099588869837355178267412508, -73694512716993150686945488282147388373515127980742561818954388622909401], [98166883012932750173592759536917235547919506858605069516741858860004807875722238700, -532621190898741850134065152648495593980018668358873314389518183055708123], [-341476808526850782951910679039274118614342813296672765511026938262564728416630053904, -168448105485194365325694624175456001155298717394322117944054990501908892], [475940551718462808431180793043842641856870584292646790978674208871726337937108852790, 2264136153202229109240402496482863307573084378338449582106548788505908], [-211314367909928298694868027674594951618122370780038429717088846300849387192129022728, 58869151068146310855808508357022694170387237891417033304405731581264274], [-57061900082492375899487708587422935242591606237957013647918151842967706334698798658, 124227930031099110850080727613306630154738265866687949747545582631060020], [-497274891873541486187541658225634170720224185720513334082720658239365659403002401260, -311100952685252130046202818996595284104332933468658458655146864596464453], [24151650671044412012742393184597191444636515903010533080421946154550553778604807712, -98311276593113279411190162424731665243849418621941719956791452070048520], [-438111963011857257919525150607365763036870406985113233413239517670003893299283447774, -694511882549617429358343482739656634312505829622127561702645370134417536], [420120099573748838140719137921477364972045991258459509947793705512488216297111548210, 570255345499930204885183749724174040645513650583716322344388399437543800], [-142211361711798251992319911335464885164496436294165413515109019751368279553696950598, 172302730854255846406033770232202212182784465616527509964282687288809456], [-304810290505026304585627261699645775944279742269089338077597542214393499084603163138, 280573897232637578220549378969888637442497430169551676471622199159558196], [483322592500944372750505285296286548864186301185244887003257594798993510857044441546, -882342905457197668316560451660007825257365199562048916486288103290675728], [-262867769012629111130624711352609053876293370012956603586557575391367033013864302248, 1044269905487350007302393745376461483556287712542345508682434488070938298], [35056616937679871361564777281716184546034197684642552681324813583980658933641165922, 3149919846263767258567740282882228213131916633420463706813991775040113536], [-259324942781476405009806645164890416433316221826268063672599215047847234843425136540, -1539965544512399937267448160213665342269373096723422024374325547873372185], [931474844902404696371996378732777104513119078437030295296075434619906766214785824616, -1131423128027830299854409953144618266349042174504693735465863207179680106], [-535879552414013407861730534381517657908373509512156706570615511211962677911914122128, -427289438688323159164597629871397623894261778782532454236864759244252732], [-1306880072546815948499074090838690056034732945282872744180001973991729745871459594058, -148019538299867118255831558640644856117096799105780429723830078630001772], [768616640445350286656857782253827236195760618569199584594365250695547015936952124796, -1012601391985859163805964953147602174877929523339425565541720123429064543], [-1397917354972126361612460512996503109658967763942492560894037384289163469106800600448, -98959128193685700411214766087435203681814669604937894122932809541703456], [165232008219764436370481301951343081183872396580952738244708853490305447446406658690, 1470664834547702629732377582282122176897039205873723666159579211229987680], [268341074108677404338113642769553559061506074245163655459856465668894364322070134726, 2041636205058278416999944029736464702015027950550185400189042307250763604], [805780703454208477720343406176900176920227925026452759684217602419498866219670695820, 1808424912795794358565633853172931926111974247981964161673051842883866429], [941055509240408914500522373595122350125702702326915888492292700172290301566061571732, 641700885871612022297641247956676658688628869734702474227754416985692763], [-811588013648514787188409794595964611577489647304391998927753926172350613814988701288, 3056970257738687280264988179650206618792236390561974825940796240175781354], [1344739639631251207923104859527835739371862003272725258710562372847975118933315795226, 669298969316326313431066708112575277991623509233176896305923118525693936], [-165917306221681642085048201901101922462247066658586045222007892933792822872787478880, -5200982214679270132500749827074822336135622375950147000535472318592294120], [-753778263860253917822240479334847966519068975389277794396639039408082353911013204950, 182462904931918445313010109649820115955258600515721348702805010591171184], [840872042683795296173775159433382173774995578409200946465587631002471639913617939372, -1908731436973935114169928118279117033618022881492581386589880831309998955], [-1372741010669702902267504922140717658590004270059362643323798944076084073204314123018, 2320353541029196558851469986017775228714308922830061394056627242438717364], [-192625317014720931651505120804338206734739749096824054900510236437089993418061287810, -1947098831935783050059519967128388605067457012233763244713238200435720812], [2182552615724183853751998656384094639421853098882177548416925175651002052684754455746, 223534342510092939323169293267220699337713229401516947408882813558913624], [1140185966343323990760609489080498050675627370129274020641551947180397047420783663312, 1412922435374651528524818444251939457557215862484935881985850711872489388], [-1877881766332381477186320036024458717843871012589195426380142003158613438465222933158, 1084723562725479682463832474322749357964458269129076825302115463025540208], [307085020549154673934218005122107049361210586519690889650018179919306188517831880230, 6189328095870272278253220283598519713927628592002311228996547685410896548], [365656046420204441002067204387452857893140949100703520680250996318536357543942178792, -2834036816264089972034520530714632550192883536340432617230353467684140554], [-197850936557842836516497550371951658409071868025815441815069815707847782946746822738, -4717579669951028143079481486279638526051446904805862587862745656018514300], [-1791815858417226313565551824784311582007896504440847367072551064585669644533076519438, 3531287984620557559204082282430050601730514905945063157723358247797399672], [-998904383115767664586124257068145434263110541776869003617265604670113742917906400524, -5977664320591069305712671574217180877668789578868790334248774472679107005], [1291490907195986548050868837652477325675768380755444835954539893137206800086102011140, -5951226027118088375399322510202798995566613634709216977138688410349690721], [-181093734549865888022716296600207999198311968945244945083664247178425899491880161774, -10296246119084810887260738787136659290403226895908232162360535225402529952], [843647808860676422429870354737631281846574971093384565357567988773489348407280217942, 8281594318267399270205575024238381663522888063712685589047925735117835252], [6179698157239409022144079163613611065425646640603936083692368073190233807812979911196, -602604498545752892004170286699507954735299059264124489764093995815845767], [1001542433180300284887062264442351591796884077665249902173243992035131702399926589732, 4396356953154694258924180470696500597991152980774393137646335790438463031], [677686182103487989846049830468188703450261965245676078547758252395255159269470592682, -9302648865286164777814859057022468488116428855675780653011833568223548872], [9053779513322923994828734604799372948679312004784902148277712112242904905469785963502, -358210000565127739381220265003403962525826033247156937207615727071113148], [4846313708102508951849035823955048077443885276420842199873938336086220621379293750080, 10085208176176911441704321407201653005556184251802895671910463202658466480], [4342661845179123377154645088912122234403683018540935116382272017415598037553646750792, -10410891713926027134490051985545207262678264472477161145090316273195492578], [1329476399330684143902327053735583646757875079094134210576273476563961123558445926482, 7881991903955737124108849546091074400552292234854579496270441765747039224], [-1920728537305102649644486349171802174285722223901534203654886908363454154289655977384, 1239612003016622257775511221710959644249614230893524539165991958254286778], [-6530181516962048542878135099681497327482690265790782561749420481930829411708937455330, 14732433509914098001337063836984239578747835218145099656564387844878069412], [5895763870522354865902442330556409349793545841257450883528169027741301837259595864742, -2266902812751267842673409485181152584528461955209087771215193733296958796], [2629038353548496708432330885564258721313667921692687127261733951227058947867751568752, 8144216702135436136576440039378366282293188069527733946481550146097629060], [-4179014569387040207982856419157253110483162316140469382713405193350721538874689513860, -5709511160733915229947399050100189053170568343075344753092132535173290975], [-5016356927260813527742659883326692162019119612951116608555503689699927336858783480054, -15406947548266917889362259191672446440703322453133421372255405093957026896], [189959968642664392255232499373080621596504831518007339932662812243626654036357922382, -20048679724442482068688692769547333049679379777659237949446143393577409052], [-17930818762870049895210055408685104446038938963768975029810746065582880586243056941164, 7612669657263124494110790782689162081264873837841997218443923222268224123], [10483123167753065809096472567635058149616918033675331987495050989859853093368234712090, 7219859871237354789170076030726308913869051296507746548090073728741110104], [-6178487218632308819042006644461657104756398005010172138527840895502041810312045100388, 18532265044738351824246151188445904695628451978084392042257703839256017401], [18665155810152545883560293555427279124034894849880498960296932957322953989825930702520, 17782973505729285258556825357383094879881705232393012394782844176646108514]];
    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_50_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_50_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, 50));
    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_50_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_50_a_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_2_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,50,sign)));
    Vf := Kernel([<3,R![-145448711312147320422384, -281051075592, 1]>],Snew);
    return Vf;
end function;