
// Make newform 3.38.a.b in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_3_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_3_38_a_b();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose lines below.
// The precision argument determines an initial guess on how many Fourier coefficients to use.
// This guess is increased enough to uniquely determine the newform.
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_3_38_a_b();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function ConvertToHeckeField(input: pass_field := false, Kf := [])
    if not pass_field then
        poly := [11967042111800832000, -35120319927360, -11777633936, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0], [-1, 6, 0, 0], [46478406852080, -262552030440, -128691, 27], [-211997370590, -161070, 36, 0]];
    Rf_basisdens := [1, 1, 680, 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_3_a();"
function MakeCharacter_3_a()
    N := 3;
    order := 1;
    char_gens := [2];
    v := [1];
    // chi(gens[i]) = zeta^v[i]
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    F := CyclotomicField(order);
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]);
    return MinimalBaseRingCharacter(chi);
end function;

function MakeCharacter_3_a_Hecke(Kf)
    return MakeCharacter_3_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 := 38;
    raw_aps := [[109391, -1, 0, 0], [387420489, 0, 0, 0], [-1024957187485, -503509, 1, -28], [1651450994333561, 2985430279, 405, 20404], [5238439959104483494, -25492139539658, -1387870, -26831288], [12957972542954522468, -498690534219638, 14789790, 865098424], [20275455917212680653668, -26353299406777634, 6152361370, -41466582232], [-136151458982912994090730, 796715087148526350, -23805860310, 691505159016], [-1526367003914414384785830, 16703658020546342574, -178310885110, -114016465995032], [1042795786305523252909251869, 1432216050795607682009, 23642784642315, -2583712585520436], [2248950858193844257902084629, 5612009939301782791267, -144867143474775, -6432129197675132], [13879717300315081469516668814, 112252013259244061456712, 556310835696600, 508236733739231328], [-217398580924112878071094123568, -507784175229541162587830, 46408136639113950, -101394467803539528], [-127331171109060152491466161918, 362804839182047655895066, -106767768332859570, 3642447885337803640], [1074436613707912868410028475942, 1231079724119381440385370, -580153156762703090, -13645452734161870216], [-31449396800916146332873334113959, -45994053298726979285158155, -1922334687103569825, -404238011298859733604], [-330688652496101807694118365037036, 1537463989441527609469844744, 3830895234533430040, 2473609781841771034976], [-302502872724717134703259403765062, -708693082443589444495964684, -56929543616748524580, 1420747322310305466352], [4053205059669128206938216773545244, 8728387025419117914977143432, -141284681452174591080, -11161590955262845809824], [2723105722730866472094170445878338, 1052360919727666217127964726, 1190811541333906256290, 95621566548207531178568], [-4868115412632775117960399140742486, 22526465026601809599120381888, -1931258942984142532800, -240391948876287701760], [10641280844956268153613266421301001, -96745731974977183431164545409, -13130730494566677192195, 697013417669266789971028], [-115741094599032465668541140506418362, -117167985175143074994142956898, -7483273123675336045350, -123925770549016538675160], [-78643159278633303657299793514352122, -1068553835718768620834353190572, 24286171125385435544060, 4658924517849731542284400], [111257180254790089333124236247566334, 9393264927293519395603225642372, 738612157412045943293580, -650193078994195426416464], [-3888568048341813766726384265472410175, 6588470416149526900970006636733, 1315960357122933362467255, 12542688298956200947267580], [7552197145045310243703862720186831751, 21585169988927125022791356538345, -1446035650990934603880645, -18792399732066003132483188], [25871523635993872405735777331514631368, 27805994875570065223686198358116, 208768018741776406402860, -1682996188141780479764688], [20532976835503803290741245757250798416, -15909889307359571147232316525794, -444403251151122718563750, -116355544018656668194018776], [54154251846100206279338501949768904334, -117071935768757616202735738869052, -6879861153253032560994740, -123482235090137836562419792], [612654564288326038915711732796772528383, -936963983777121539807664841139319, -48445210489937598047526885, -822668544133344652979752692], [698026090795722778146539654398543121556, 3000697629475280435985740627808144, 58282761770352328899700400, -4925893729393472239905053504], [-631263132890890553546281120801658947972, 911085979035044528325768075286046, -201299716436919114511683750, 12875906311351949710200121896], [-183418563262168095438833275607976556756, -22445811377774508701126611006976, 93004456562229401725201920, -17874979707514143207645353984], [-13551971667228352957195602567658875207677, 15725078642836130964352715943822043, -1543292668984830083670524655, -39101493686446916883868798428], [14311015771326766833010264670386200869561, -19164188541819032011872375799795241, -1660388920419605235471472635, -13222341349849627285382243468], [-31721546575989928013295358352766183291082, -34715531648804582791399595933102984, -1250735028227994383929174680, -48017209191322406817501840224], [-8995425652335819297381504773523463844854, -37698431372432129506141897971925110, 478137842011010831770561950, 410537464301987244234626034360], [14046916933789502064525450147016965959456, 250411499272246322261462142644093384, -9677188737669107246008643240, 266320791117304005439942466144], [26806824899897316220711316963874904514575, 427247200406005238516975358406802599, 1565810979198800704759897205, -810567302373972880140887198924], [204596536577420929388210866408433882506108, 741189182783025481863260185706861848, 19540371422647136805038019400, -1432102960828410502660937837536], [49796320805571270713697256356621302767040, -1002251486742115623831150669668102442, 33792834187177270952189077890, 2326776892536823283288049377736], [393019828288550478606467435602685593545896, -1738685828948313267607845846814469416, 61638215000737276949930814600, 848771341572446124108697129248], [1278459444883721674550563758908479211641250, -2446724252849466482113782724872876896, -54655159141757971481335403040, -2317758657901578249073178459264], [828137796436773599772484231241095697691101, -1936363254996855102882394013254271071, -209585702654185371264694457245, 2244237149918774304071386344748], [3278271046933929595271923090429281990597971, -3266249501203702264902520204555482339, -51428763501273600888907473705, -2753840408876130154188290372484], [-3101296263152686527607793263703240451010468, -8855038474214039215047921837097563560, -852050064229513935448159317240, -5453458513108068487720857314528], [-9195058307909520762270402051178636404656725, 16034514304122560762915425565615825629, -2124740051189465203360302844905, -75994169443331023080702468812420], [12833606600669186884582109015488428051150778, -55514861778981305052092167176319511654, 2372587754181367030105599408590, -39476241910742769360470388212360], [-5450576672070110298461854017618239532594796, 33690059965814570914487397747405555154, 2071799032747984745960131315830, -95901293043835023753319846039784], [9101741151544038726981854143939729293477334, -24690199942407535173416541013171429292, -4681335502157138090965825229060, -181328778710950108486942162051984], [-15244964840335990913142427890159663636668196, 115194783163515492053862238389107722164, 5801836909342206326613951108380, 70967982124265313336514258260208], [-55053459565826757145475312817670760966145850, -121303526616386737496570697506295351092, 976017845356366497065449948260, 81404053568940560036812905786640], [5673854232779358931064341444797754215366710, -227520537163451470028916322097704137322, 12068828697036109514263537664450, -361309629652623216797248239817016], [-156815881585422116175020551434886208990301662, 418498159686899681726862710425688406496, 183592141727712389839975497120, 764671824961365128850839108207232], [-171781174624067442604830204507192081243267240, -570183776938286462525982750143744196816, -46492499461223958289026528045680, -2002188827216261171372590991240128], [260890275227371091808338966898017090440668381, -1140293594733547176308346485450517167799, 60267590516889169368314648071515, 2922886557918419617526880863457804], [212704053140928976587301592494661399919300323, -945717692961541663927860377137636402539, -96783006515983711363947740721345, -2330531621610392383720830461142756], [-434490576932852574240370301202831408654602128, -1620750381846246355227137359768783289210, 69054906437059437049740853318290, -5165956021385640229613998538693624], [602780250993431109907362885525318746262749482, 2380944803905664769480614014721250535120, 22645360980363541049523287415920, -955501671777708144031095760473152], [1738839240751570023205853476173573343912863836, -2005181524171351778252030335685424889760, 168362080174188111203377004040480, 8249826317911521281483035611668608], [-432035984472130048271374493607897998213916279, 2697908433818470447793947259450708007285, -211261320288917848687088093980705, -30705595394428517518373181875300], [-430136247861913221359481728779412038825081876, 2140477487117627305656147368148057840552, 387123681616701296745869562814200, 5064448637743454495078800847727840], [-13755367128029691983561065008009659759924021492, -5269954733921930950216558506932671803764, 1098376698945888915093368571694500, -48652323477198071885362365006372336], [7641759471521186820730571214039062877215263466, -14669419941337574389433636001930309390800, 590691335139003358344978652433040, -2481334708774744832838247251492800], [-1637218977710890340961157834806869690978023215, -19557719903044510482477069467056176281307, -149557317502325064294593997934865, 41992617269732257843216407173993948], [5932809040547787420600143012437284092449192616, -72818292366624970332230786617552987704476, 927948624109569309995023290351660, 98465363748188147430626739365411632], [8728907480077985860743906689879811633583899314, 60720477554385300985177118548138003183072, 2775814608529298536028935599561120, -252091118301661027903958893684020608], [42221706913387273119501490579530427946418028302, 49634521472946077500826486692302578806110, -3073847414544688778141162008240870, -260647774256536532730205364581727960], [58709442300123987234925518129545379774094257818, 64602533071592044072157495960423511897268, -6627706210947158717120368962439140, 506211605347671339143530220735205616], [-26943018620465292510279251458598766028655720866, 77784250911702205480686124495668387600548, 1917341086343115325876308383805420, -727104052545918915944008784518995408], [12160514131224730511340556113506697531484419842, 105041497795185736742398608753913483112342, 14963367574809830127095622767460290, 1047437585024500077872364236898905800], [-77612226883873149395535503781978184827849384787, -260282725924203204724135793819704487821349, -9245855348038302408423710490171375, -428672595689871715677850476241167836], [129003163839942630588374916406170286360981181402, 260490901715584164370511208907852791988396, -32913742108870844755319710870564860, 2049550424110707234718888541556134800], [199977167996861264922881552362053898669333284206, -39236330228054337057917618176369697708514, 36721815695944684114976032632180570, -1148287523956682949181674881598817752], [-432091494947146282661592998283156246950175299968, 617678348960109928104135642122649815542016, -30125788570385500532116552986809600, 869607197381400414440946430604254208], [-261895265476112270021148209315769880302862707677, -1330072780227809133775682487450408870050837, -2436758015034716286088066568017855, 188710953270357109976646881860249828], [94160254049427854310574860739619725891818284066, -879286831374475790661916491918296988243876, -78451392878078878139619400686813420, -1569114384188116981821944809601450544], [-317669730529181947465167848518487292481021262280, 850828906056387209691652894230265640961258, 138743085428171229157118291853303230, -697070474675846559217766629557430472], [1130867301895722381702114185290257234948754945886, -3779664883478135114373496543353869448102404, -25532488702393783858430896707714060, -503037110720048675770123933770911408], [1393835832183031511211580572234956822798959683058, 705358198041437126265946014806687206845538, -59885256460053411948583297156640730, -11257959531303037960892648988509680680], [4026486961679287341715019404537137233958916414832, -2077458356041980682395678766365200645850410, -104040483262122434360949963193250430, -270581805513293425482032042115657272], [-2455434805283775570556048472920250361761684192358, -1975156977260282278416952837878681660872250, -169680333260628971237966258255391150, 2267290198042173190158126299370444552], [4856692118972386529469614469392046971861598044090, -2058854487191976177784696633390819540342536, 154340960101565198994675806841855720, 33832678019096873580199092747675111072], [-3009838482099358986682718244668533129363006296865, 5998604217154221069265586660243378316199585, 446713978041893143505043659452790115, -20756020558983779219144638556368532180], [-6355560278537295488446570272257500078181622830498, 1100214200434498779118324474508864685508846, 208558449072249842926804421543389130, 20540382300836123737971869113787184616], [2701281296529664831651223580841030249833243699916, 5111433015269972042342946676748602321591846, -851996963865504533979313057020648590, 36454551526796021127226320987153975176], [272771363726702102889171417418076430969389026166, 12393302869355760593694509170118434860224404, 532254492551074087459403030923328700, -101819726319026200565507286800898901136], [8442369486554461459479524023788748163017247208887, -3766452722928300649259940046441060858494625, -369191326883165673291732282913218915, -50190390839210472994083006392381737260], [-11026074337048241565126548367160118938491318520837, 6464466514905189765436094072240477153399677, -1498376599756483907030912893632784905, -72394454846150390087509520673572946692], [1707262749711993483516573435980412138667034638946, 17242610457115122213638413952843823061043234, 1440138147531288603985124954472366950, 22029087989659685844768344696887029976], [-4339280212521134833005517240819336261228345098630, -65093037321910844270106094940207702998026090, -418637743282444440223825010344359230, 42398864857313911943391479505440033480], [-28651533087140854626978877125929432430267560585743, -20103465883810125468964893802069242057875025, -2381159754277608855250549289629475955, 86070217357052406231394924307885668500], [-2282923698141765584753962275783606143958836844088, 75262209930144054368588971319178321176226020, 169223983199055384516735446866096300, -180099099936277484730630940732725355216], [-48433220488365423988555005123512316364032997461484, -57195009298541423598654020087521335914226944, 1423005349251656307356426444939792640, -54760207959347421350399178366729952256], [-2887083667021391563803044384781159893896895547158, 36091302081167639344750123615303940151024766, -2628051261000751204598703416428928390, -312666495734633172573125276996193090904], [119919047819832964828611520457533706468558588981529, 63067563851569059663867808488554703576596829, 7551181948985082302034396814280637335, 16543729396433178455284342331522188156], [77046307928258455697145253973435361661413286063832, 3694824623730956656026025545205294981696610, -7026378506908216077002208598166796250, 1163139323956837083784874242919822062552], [-69270201859118710429465011601450200804279525609490, 145806797143140468602759806079164852679815854, 13576133669487232772363642041081621770, -310163176383516720607803283843996968216], [-50607772933951969939180700881155250315104966542584, 205159900699864277579352485889793923062648214, 21179045746786488512135062942359475650, -314146094368839675705444648892845671736], [-243715965363500411088428147570726390593781235915586, -454643782073177900908923751082989384527938378, -31139019550645115703124095314622363870, 182249631038687008885493238593088925768], [13124067036596318001357812114575960636225904920147, -466003261394935224531535297254844758267618365, 66410048584516336996366392708347048905, 942303611612693038869891978627827631620], [-357454562938862509250613523813651507859261281869738, 74171121893348292782906000734064885505160686, -36302361954423950680525725806070128950, -1326297135924622800217390033248875953688], [-196728649032729200648157833182585338375069309393472, 831855419975719605017389956417094314336112298, -56047873108544328464712095913259103490, -2444183383037165566988878709875234835400], [-250037135125998137219288213558815525995154223019736, 506953463129430590604000891502935345579628372, 26780411305470376603705860061886424060, -2489088463040197799991583654320667606928], [127044053315376428492755316954327850461363915314994, 1980658583973594414324802562890138656938857872, -81894479240511919319389110977152003920, -455446737381103653421703533482599770944], [234058520999842031377751106881861473488781784904912, 372967189013732358957310814784593585309373180, -3481321592054216704890017874005527820, 14131609477221326212031000344960262970704], [-1498105413131794120821205909654247434718140728378066, -2258637895868441596493140028426252609798709372, -53740859691968449424475223952087444340, -2062662963390229079944238991301204827984], [-339701242343979247431932362506324311757330002713786, -4145309869167017624691562784896714905309019486, 24733088944651022642983935103176481510, -7831433080112468142742954312369372719400], [250830114852497446318841730670491948562045618382930, -5174334027135461495135767913292974390027805272, -27426973800080630899407271211227747080, 3642348893476183797839745795335340686560], [3073266939739374925857383629316803927613627893585847, -1805680265498665460379462837570640143240481295, -47188981033374786096480836677524247725, -9376713704122095829628334748957621520660], [1172820385363022616814260144740576631114663814438466, -1208611526953187640814562284994125117937888460, -335852831672656520315196730655381212260, 6294828687235074480200907497935317855984], [597292925775346825852307863848530249323672966019586, 1422159799585640836772691909520989877231721544, 454369518979682225538478190779256459480, -5190686502615505364386035020332945934240], [914236054580616610434398247176910815419622863122644, 4729764144889416503919930604640125369028017144, -93589673831789093001091788289404819480, 1993269001861366643008757434212203905696], [-180978140338400989454397950229810531266753305539847, -10197896333519278334527862107870741205619911049, -656097975707708232361120322297544841755, 10740337739814531036977014473933608728308], [-8101331236694807794501070411702352805016690419910412, -5073865187204122041676066731648382687357539714, 152364914146674059426346604169713384570, -14106445019852198156507587195373264455000], [-464257978889420539022010190101947635545635857962010, 9663889008484644410118249721826043791832221614, -412181378710550908743236231005832258550, 57687089592704747590676845720427069916904], [5783593475956577085950359012493884429589683930759578, 20642911014257638068261899536463479773622472286, -609989451760141665644777099416461019110, -14246814504342395401005821134951786154712], [-2833601796678355909202561431936566270376063885078837, 8665964600715893570042412271581188166801097067, 636870928473317035482669896013171904705, 6775195750119282616335714945403920992996], [4654590343145302778848407244322626581271592821909000, -18107970200263478849732915351284357603044845300, -434232436371314495275588910359243768540, -24587954528304061463824411709509059158000], [-2639733400320539883451138622746379045796318838749538, -29856675500236933554270414896840991123912480920, 316680681944666673859864933655128374840, -17608767116404097682050418575751450536480], [-10007801900927832873190677663001534007440181639673310, 29991766851807236207396752372115459922348459904, 866042700129425863862231396910670915200, 43996575836470776286602415660677863438848], [3095636098469801663361548601203777645482653643916183, -29655075765687382066694810978492304312220470409, 521421682098120016834744762640181672165, 41797420474364639620201872717197896455924], [6948519577986294323676845040425728183715397855810554, -38234058396422067237486511130643598472887689502, 749047076452620186262509136141949265830, -30757279937646113136806686991895149610536], [-32473845059632646748217008752443985783530891910489158, -16588372779037435083741342725909817641306253590, -1335473536052602642823163173875898195010, 114343450103137814481462766504345924509496], [-2386055783209468601557040102542628217583675648110687, 61932154700068454780965857050040603227419698261, 267597794404767012994771534372900333695, 191886217922452239126604174059503718869532], [-6872756245867993021742090902304547282824251939021228, 14245828749732591838768170821954196678456491122, -2913328188730619731386939625191832994730, -114969888228833755386465347455337821887848], [91437509051236078813295005728910064609328510846390598, -17240245716158684828565674044493358430788582182, 216793384115965836309367123834508629390, 222418076799481248015341318166695182380152], [-33438729245640029174319120125833881853235011569584695, -60674463888608405409498068020826174492115717497, 336038399860241065085940886881933341205, 93050375529074328387077766564396964479412], [12642410429926902525590749694481194706154668807252956, -117948454925549803695146814917243159026691037470, 3196449687995497481453381443872355660710, -552871023404845133772347636849843773209128], [-63521393533375713504882412896512162031857222172034528, -130712366339754720490363975966842766394355580668, 10363123497619719034110388653687933888780, -26405557650280658607246755971848892222800], [-46286042585495920787383142788705447576309537481421212, -106185187104464968858962859151006911782924961628, 4574188600812726082822209786246527221740, 150232787267648789299861767672804919964208], [-75758512670086847605381952034198310438980347276688511, 33362907711459612590164529304061131016281761767, -16602403251910610644561462287446026546635, -462551649893691798498162757961521307005388], [153967470785576341147951901998435500041216755660421540, 124995654534174162659975089530249137783233539858, -7964300358057844977403926090815595961290, -315537884248626707413466772064279365130728], [-27855680272851722707610484293317483893341395465134868, -273883065703611363256534919906972527495547490850, -5994414774552222552826198500295925881190, 161632574852580489474478977941767747948328], [294493121180818739310251747207255188819322767255158122, 298796547980047316626736340635990372507198554072, 5307507605103077013656739667988332845960, -739235974970856546710761412743461109504736], [-46919986294663817727035573919314012453157335275245419, 316178074411737748494091153526289067436486206825, 1573254499675755373484728403930354604475, 527140547014326815187585784071339051943820], [387114411593694744521740808243251665358383191556870938, 135845310512349449620769557550803394464609499626, 9806036517330748366695789606404276280510, -814741193768094040352813248622583891176648], [356031780213205839730506323179827214003974663935898907, 456588364974519129493663474115632229066691521515, 21772995856674901412467067907806648320065, -1024346043425504910745831766626277224863516], [260791502932175523475177940236054660535726596382313516, -998730358371880090013383992351953183746859848434, -3932134078194873140054872491459977782230, -4289834799595433898890679370147040808156312], [-36532607238084082763449010635704287623041031745901646, 536281320350644680637792103062113218913915975402, -19850181051799568463296875743262548102210, 3283714117573449052187929872326752757313336], [234471998142997479554767980566060512386781396217804485, -347584644376090618267437496664213527532614221527, 70980071214324949133420787931006927432955, 4535434042589086252722097589325088609406092], [504684369788408457972544876672529358837552953284013, 765607139321865786319461467008124910613311303907, -5195400660057735256479674641480026081495, -2882345633755200225519737206256214360841340], [212340878970241302357054780555992359962190551446753872, -1260663573827584345704821717128036631769868523540, 51637833740604538403867963339209730337220, -844003515674049800822693308243381358047600], [-109174694329758893243800151310341209603440147918729088, -62491969174209154201525208046203755995019338498, 41266115042668569885997260747181272477690, -782342169211718608578862188088019845419864], [-1173091616008443366552222181507393894484384466571124194, 240238348621516623112828334831041276273252053626, -42914016222150085274575149687524859568530, -1602920661043172328425917632711464475188232], [-819840818319792918021493331065234051556394873965850730, 2931880720144629781080597674942093414273825486704, -41726778473430176951789361191021036479920, 2859876208153936604512017622580159607522112], [-883819630844082937071693421509994996257082184068116864, -509154618245318108642061274962817890594975604086, 7435724562954316969419308369409920947870, -11227897004224181943130118766802468823617864], [1145209997310180279892153387868840717912623396185330134, 1014719629379010429018367199243272890761358303574, 2094511113481651483996180277015568172290, -12444658344469412593992437167489215866729528], [-1140473548204677455619775957354424943934269114252397320, 412585568852922173979237584580404946017452744104, 104328756897899713955500507564082432484600, 162879690551784545659817627751050262922464], [636196351905166235475767312372251340263035266698679666, 2462484075825562797651421233859236623314170081004, -175762360155632308899178384584689511302460, -5987877696378478498133422451470047400286576], [-464859239935881158465118569858415507612462501597534758, -458747660191523614817838653171182062929494820840, -289450087048887550353659890185773783708600, -2066043810703775021695405423452955751430112], [-1176240665832654155770677250135690157282017231406136814, -581168672430414953260578380021432881602856756590, -267025544170936506105994136655858239247690, -6055007144626871630458740530804599447176168], [1358321185495571897467592125324604233621770584392007448, 1212267709988904508709475067727389879609767943776, -93937253037908176537469052556207749580000, 19756063851606562357278339401431725003782272], [2189972103772309406156756001740342314164090724726803758, -5920711636439303825461733566972408442302864822034, -281825789876618876368689569132445832267830, 11181201299590144519788776884224356204740072], [5798293316076999303050270446935909357820762236973640916, -1314772593013664075313466176829976533880711353956, 161936233998409868003518655134189486397140, -20305618311573291400102935728059605817573168], [-1217687447858220449626190299927134061206400216476620227, 9074789408203762407372859546853899885116047338803, -197787829938544902769871716393181944069095, -22663690791093539108946989550539354549790396], [-4368202268612295255989150542889911655922228470371375424, 294330970559948067446731220497347228378536236786, 295664146971276650386601977786228354015190, -6327410924582201421190986100532090074743656], [-7140575763702765614639363872740962824724764787059610374, -4885438114686010326260982623264112590424566281776, -793175411253145722714342319117812430219920, 209210578166033106485886214071512941668288], [-1351788136268561770671161932168525837600191943022797809, -9056253600652912758751386545686965107617228525401, -612264878319368156973564378917068012152715, 25243555835113758311278068597074112129368884], [2416189897186368831119987368327203094988657073140783516, -23762941985738649044008730223895246831941292107016, 46984714950221807164432189613303572641000, 26331386209029740433776945429362555892672160], [-4158179608256566033023415231494131200505374921796123896, -26118334500143680949468773007326175149827031143262, 470413793906462909310705461893562822953190, 39521069451651878422259997862813093843181272], [-1289397152626325444563135336332239469796747048507872913, -1255332675734865716826210086591243404633328185055, 325567373214560593295161528918219493536995, -101306011875419628914594448992992228877534420], [5065344160312601375556831986627965441598391002709676098, 23835025525026073424881843941997485342541097250426, 430308981779011588879822659468313803635310, -20208124167733532635472262638161995257869320], [-242360111939419747832813127217908640515524542276704064, -7061368530858731869235013081095626115585972154526, -2098477422621580205081023128534728235536090, 61451278717478209209689471431787715413071832], [-6502307724620182408520834281257369924755663945620995968, -32004698300733602620986433982653577876821066473704, -856992412967395008120671299174657568042680, -25452244612860172550777451733983749244310496], [8300643894696668605767059474367561307928335790645818577, 53275605464076255299164122848683672835305650013575, -2105599251504772854958919799469066608297195, 72053163974400514296010148925280431528572340], [-3332129846050473488998173809132363871613914595282993366, 53797679570418293892340800138802907665844914748812, 2167520422661080812065745234328795297547940, 65315221823145515003487655856768911145445904], [18570479261736392420885575741923500010595722076958436326, -22708716059872743158169780502651228098842167484244, 4859038011438614729478591160173103266231300, 108556696886375226751116961187795292815503248], [1507120637463753633023634839235462832749669772636259911, -14592615710133765716555863130327732582050225252265, 2684069065976075276140933838550369222616965, -85410148438379938992060976378117418955567756], [-1902334187535293944784062623719040008739005587957440000, 68704052773769829657887058858414066215512598203260, -2256001397958206953886152867705202288567180, 134262892176615247702972468496123350726792016], [37627076965962410232937002630421330620586219175944216862, -88904883228728092859662040417568409399465096890320, -830116956601040075989398005539468850279280, -220239623905453807369526782982365807267138496], [34055293745397692211363180797548545429481916700587345732, 36244601347531621541542581435099833051840129257700, 6845763637127658400396111415792136923056300, 168194254854845507090212200015048951479901488], [26085483575965604440312695482489147423856467819115575210, 46775577627885475124827172399476473790512174888064, -3269356372920523529397890940140423809065600, -173426734306985694390938247836727681196702208], [-5664527883039244952095073292675068240849977307367757411, -153325855654150633698470348571363694631769430596341, 3681606149371582626422350445890930856959905, -22360648400027847141567231179932636831381916], [-63886825724097635055859341581492940099315179416575482070, -63959762155845022208959398782897329986268499530800, -4889285920595344545465491932278452767569040, -37883278099118397418335322994357677258854464], [25595606444777857827143459066241060615643254488937211772, 14907929302788822819941639904619890915557911792960, 1772674245762187686519342717231104702531520, -356254961603708411243823840842796825851533568], [33642143982597196510431857928536583673437204329954336483, -104756827004180042523287093032214573096552300387509, 1224845985648966337019237316950491159479905, -23570281004001752311624208685161975750627996], [3004122789103354484392274198489365883111854993816969727, 205484925601366073549375667782371424181831761974641, 10138954916760345174300118229434097378695635, 94881194479306074863638920482030871836545260], [45036760230970360555263862380167956641670600236680643110, 61717545406297854112344622736405311043179310414680, -2664590470938931648867904187967417572474360, -585189178805393276676310180954788234756044000], [35748476006886386891511743959743812419175157797047668281, -26857623567037663985680921334224962841220220952001, 9230242322296709623028438996228482563663165, 153978554503646346573275101291947012539971924], [-17553480793331624089137371762814741039351317296553848178, -31407138474201294374899569134721140591860198311290, -411220629621165558701831298901209010446190, -829599149293603754847578126107906687985262584], [-39553569107514297757328232435449455592564909606397054388, 49394112221310001325383217515737978571345096389946, -4626028871455815860640580551441077489892690, 1108191228047292124261019661646829053860061432], [54122875387304541672546605820045275996422179160776827530, 78408090229774127116777838291703129616909758120928, 18123845574853404862613961433116017550969760, -424517054868191436384093072440604230512719232], [-94812640851915459244109178008382198683079858936462906864, 38159004976196216404948755763642790809294754928960, -618412201355647041151760059626881057227840, -192495037290322319198639311946930632085788928], [128177251554809232457934011114533000195998545377247140719, 40415525069725663251661376535427899245065105045199, 4084469094805002062869626225770810906900205, 561306167142080060001777439534776458350853652], [-1256779895006350037650158018963887187211424812870965484, 162321159363918182989937046993590107336465562759274, 1125120598579391601547802102908459290139710, 645510927150535823657374566195267451560883512], [31578943698768358874370167254800825419623051922790800972, 517151553931869551826896230742333469981637954685176, -25289615234410877645727297294038062859694360, 918508292405178385381713979650717899874418336], [-84847833191451479759845843407640207856754579634517523730, -296251809225471118511927902279423623682033807282820, -12287014372689148460809758931257470652970380, -986510221203809696978869978977197961673546928], [-82488896077655590801109967671643069161072135920306278608, 904791163088152791732150691316845655604148694668240, -32525148978085678870119267842329744896552080, 815869872553889074379658693199799524001759168], [-17088170361785355296230786701745352697660980789975757190, 756470194171681576020474694781803562488319596764744, -11913585321724427846949275725235631291603240, -158731346571106456703218763317991831204708256], [-45401584233545121330173973200430499314689714285219905684, -275743680899999911450789182546445318156930888160320, 48743026987901903697509015198444476917199680, -1438405008634326619900198706643543261050432256], [-116819105258311589796869380911546650119071216439888739068, -157801218214307375285319955237030777844469286983120, -23400765966003366383714379960080005083462000, 1525738259591418542106238917920476047745402944], [-370413029249614114762203020012633623790099358904081300965, -573334729960621988571299377310538429977060156343957, 27194508894325266009397604428189715699177665, -408542333256186933896163390944819195423323420], [523334910398712005085652989697006954085622504774791288916, -97633609392538150913894465494634110951556372606736, 15620695262189784145273112504981280842373840, -2212734970883548043999772715120804127415185088], [305581166686726320932718250624029813240384858420537479378, -294712588510159472731998178514577594879546508575688, -55417417812703864416572447462507312338331480, -1710622680360598132593449447663105859473334880], [-415910212830066430157832229706105405085672703798230915022, -612056141319567172146266126854596781476759744549824, -19536106245152200844738753494044395875771200, 3495605126597387031727788616123901440816317184], [-641894724553670109281362620115473036768407768000555059468, 21234391548352460980677722497015485088598258365546, 85867127204110185704042199072976743865673790, 461861841499059567908046462432722071517209912], [-403805189524267597090060162922464779797263896894525820630, 225228166978048577026432760655086393034188701722968, 33435517161323823964975835839176291355144200, -5084538314987468147874009307083955392199364832], [-90959833814394916767906073182900779964838837836068688748, -1608217107094440684898908362649152478025009185282604, 162666339977015928645322358099134721231470460, -1566963824048821668749932478783333000669213072], [-360181540546541173878430347632351010164734023928763802209, -295271993577018958180725766893791154504770917184969, -109213612333112761293724629658106426021024475, -7217832099367035353345244142565270807045517324], [-138982520974940306286748033990382869941118700055080757349, 735126182465537323875143360804339439864723342810589, 39337141567126808674765431168313635948266775, 6325822198762529330377838077169991016734627196], [-778002266032367501691867459678769014468099386088448780624, 1162662415657437490762814189246477176824322012880134, 163196019640447546436263338907434058387049490, -2451959956700481621535703976800198926979683832], [15273700929387939395451750505752697227229965936298952978, 2385457863975532506530643537537542914283514164221648, 188237381868651719078937511619229553969661040, -2913074894912128432246053844726938600719328320], [-1162422146147887103455771683837730001881958040554920994390, 2788697585290426039989506050584499072965492002064370, -72965294304538581591567403418160406354343210, -10070734285653748902170537237628753937009373032], [1637976062829900135753524159214362300667781694810332069433, -4796664860925291141785340385679401276048452635452099, 98790797964378155759815790208466497221205815, -538585595837834643041516133945962904600879620], [107657860770290781210682965280398625893577589862061996919, 1093822353925418922434316332116628760788070061630929, 197543814943328297596886237104243428303063795, 4327518481324587855765808427143401945042305388], [-1312632745773763499619453046110007257712125866552828109026, -3140852386033264201402248448368922876294456252330442, -32601378153268561224107360819250834912398430, -7251561878247483328007853156149821986146600376], [903254901435981011348355806493692563321862687091812397246, 6891012536265183135678948750545133405022724500046796, -106871937408670680414013673233528219167732380, -9683592102810136849579517826417704914239952624], [1041240990637494469090305712532668607640649361100584283614, 1830142288217726725168827774757807113630725135229502, -127264318489785757842076202795871714443525190, 6817718031200386897426660621992297902806003624], [1003524537431478840430622224406760355760937544604507991290, -3384158332304074250833147921996250966306761852158312, 41198067849546847609174890838903886390245320, 18090396515999014130182151761448080172050009632], [1330424256332433482802762001972650648426336926618407093655, -4799014326097257106059832906265398114634038156085977, 132901745153708154392766480666436035019777525, 11738093239132617977231649207306331153229285684], [17052537492455064518628038307772105042030499310577427783, 5528569232570727777067137162374848264588007402932057, 343113790016917915707160376796542674222328715, -417497578250894211742483778214276142128176948], [-1957785847645536846870524335680810036717606735374750789684, -4077149527359663238855289062225177404783299118313616, 36390541134747962769840127373250523739973200, -17204746918846764608618392130907705452806701248], [-1644509786696688686539255732148096223519569757112969306530, 2341983349609719679128305644400111439177261060684570, -282029858000639656617600437625039754750670770, -10380738547672708148870939356419959744593776776], [-7230708682324071913123014143962828211945189507692560705022, -2241760744252124757115407425972533449460064608542584, 19966085052097234029623646010456176346095000, 1060356790575852798488818072551411204260590432], [3138456346993393895590775115691549143441639869712915362369, -2202811544035765546149248451793727647740901637166233, 182189362272468925050834737034114463574334645, -37325037967859896600209673723890843347467327436], [4163697937912425832437273732090013990787271967647519748516, -14291160183492374068890206605573531615239244471482146, 83877004069163098285912054575292932539328410, -22213480535751691738407148417658763560895577304], [-8437871369847418410002014873539909297127326915882655139360, -3339806828327293698664182968102321012510216201778632, 177556171666271084382156612228421248221205160, -4184460103764577421639877380123830151267797600], [16310710268290607058729735480054948623452019782881263238495, 1226492151190353749265210666453434373799199397113799, -329980762022723299259320261176304770149386795, -5580453774671874301294091954851785540766278476], [5243294410001314300510476108962430846475224215364179947256, 6016804631622993913170179078827257720847029007670734, -887980338310300729230974124453607398033696150, -24684643190808006204777968700804040797668829080], [-1528297309692212596221740253097292258125577659743970239625, 7055911553548186492679591607330848354659230031749385, -187457518351920889640253884277219155379568485, -28116833248326609174633592591664797478589820148], [5262492448554362407209124500773584514363975480322484471568, -9111443333690322033098632323344325458661376290002302, -1959717413224796395648788435186775195454078330, -26183211933709630111683257512841288653024173736], [-12454661660617340516744310519219227059156011454014643352077, 10046050305886185838377024334623150386379379812710277, -1237765124289295541281048677519939754317427185, 54537195947469472824414643811300651231291734620], [-15838551871202154226382218245440516304607115150754932549322, -46046977237212451458624784122878294560635757640420754, 206401061499521242046514147460194317294109770, 69617722364039243278923758576732494152024733672], [-8296783872152939763353780772942401195829952285336845100546, 35000426928234277964031537488801524047804601165281544, -1464855709988571469305085830091467813143518440, -89989837522849096408189906037526836551347286688], [21403826285836066511445794723099538627762240269066245587470, -15345543650127105965753289490239058719040872908801716, 985604807932923609911914621335031536420863460, 53056867490531777829460971955731796817185508112], [-3044633569581698723949798084886065960484136267494016086054, 51810877829474906219580179268789952334996229860645366, -647075277615090989105737367769887395706364190, 26186775619134489516813558290796623030603429704], [-3390680049325427721084246220028671283939222852914370721997, 21004037208591280415256573069292189742146328840271901, 1144445259606635341147308583474739774854317015, 166502602407637115613946578867239385780923885692], [-20128537591311328895426332968070804977891383263798776427416, 5142702665026437795892511760176788309939647212811012, -753803204623319649144834921597180519645454580, -117659658156704651146312943063184072246485816656], [9079709798055478456447534151831424148272164234142153825056, 40665590175074766231063879746567783307029923243748110, 4068951713511236545797016190893009536190468650, -15578284609051562107009555965703200547715100824], [-420789578138286923917151038803024187945807997934421819234, 62845239369534013594943794019197210451452639290785766, -854319682190989113275528272559688822916384590, -27312689555177777375401702161666982564567309176], [38637249217065960385260624084477475064888684447098593194147, 6828730644990071631710474181912827119388125974248965, -3446944630499825919928129152080637374247911025, 954892879217086452256548509302834985560684636], [-5681993847849451827303118655531989759500008015458719127470, 44848241986490909363052115236427968895611059952193368, 2392277015677006832792662121386500250426655240, 122208857442305817869933673399505403129206658848], [-9260078751685436316535137473411544383935323278903662802770, -14846277380103413349367867202061240137453637885059666, 2568277290566640161162158888052295001664806410, -230558533182594003493506765042427993630458425624], [-23186663387802408578516306008157175420864129311861105654590, -120607308995124617265860454611479895383767181903971202, -736274985926237050547025689071525868922301830, 176900011747343761617692596213640844547295556264], [-40944418405325387279687822624905355472660506624687755748266, -29172736223633050376984691679431370355533696599700196, -239396536277749064029968008194841265218191020, 284682421700340824653916448177837863068358171344], [-11061981222288972976133364544043323552029022452690533493709, 17768016229735515841253429822621242156431319367624555, 2292068284104868694666919479327427358036951745, 35370082369158230423728541610322714323651891940], [-9113859710502333171650510100065207928893933601614517270254, -46220769696576020043981045925254716837078107690630214, 5543184760470630070667231660664862350609734190, -142433882673581699081992721111107156072840768776], [-2753959988232936621510625943335751897205618330203983306998, 123601466696341292217323402098870493755312942425413070, 6871587579072717795090494116095567438170822250, 74471818184879543241516727742581861241372247144], [18398959960839813440654734860051897595032734299320985813318, 164961707289208012445746117392312145747779756973195582, -185143491456915881662712887058477757260302150, -25090386897504741204062921211477245750234125400], [61224394472029784742542160156958023885061215103348245981224, -38653913408517129748446620817744073264198018672544748, 7616416712368254385831233134710207220959480380, -13652079930287484595869571161625455192909061776], [8462555908528731262627030910071659766320861321619356107393, -108630873524664012286049763734280358848615090366317633, 4902610073201305027519838440846498893347348925, -331570772264436052557469060803124411833801168044], [-42018649240744866119513642322981548654776446981453283165618, 104220416059679421767025847665640870198377330860319312, 4139175711584759860980406999560045574755310320, 680376647596154453880074319560552991010621669824], [-31064206375322513335005296822259350008234489697217214060766, -46700444485245211883847546222516957676676332251317072, 3059429760531076524133693684371632296866328080, 643300627649383080351937229089468189331877578304], [-111869943590246126984487763844049908662091333636085802639386, 126781472619096995419566371070935249094863868844841154, -754977291329411950419049123099871791512625850, 240188475972106581472152414901191693272489018456], [38531299490051021494476429228075132868269815628223990869293, -167728200540515120726215527133899961121690230411836789, -343852627116361219410622749281915074537187295, -90463521563357240126867211457593626585249990556], [46444889191789565967465181968236234558522699518081680158816, -98631220593304760121531647286018119696103981874434556, -19166175101747310129579021853829342744750415860, 144474038218658214550967338656905044903492812464], [-12351163448377380473982643791330053469706625955212887178200, 107873151478602007871116642934972805268160347540111300, 4051864401002775381320169420996183083388433740, -458873342725059267232481298351169127346132735056], [-63187286975605123447437177476403645714363455557979179681004, 201002998275659371617821271350757973048860738849953020, -13610628921203854374645711996652161532590679820, -591739986733991305904583623637721327404618689200], [141570673440822683425481154760733646536555114441136349548368, -199830192497618608757846359662942015166646078323497554, 6348912000382962370801752877372086227162862090, 530380343094496138459568813346939931511816483560], [-100442508580601789359086076978803178163379452493684704310178, 118285033702196881666388036764876721213486021712103940, 11316494834895135340290239599207687938232030220, 349543080029303371565871843413357177473284222640], [-11610885133202982028123810834885539078283628958670522941422, -563011085191882777596905584512358232040058402448291354, 17764507813332996618973849776277549199149840050, 104517009983089294471898340864105848739145186440], [-102575156029772030114674073783950077688730135445827101702702, 304284439749469143888832389507713822194105474685614168, -19266085230484025558196502854090263183263724280, -412140786783204778674830681390593501381553876192], [98745281072810095169896970177629869087084320732345276836461, 409581262895084920957676388887087481735980173252100985, -16113002471828144252267462473665758187321857045, 542905038591715897584728991236272041811500788300], [-213580512932895294933108880375814574138079668081369991250544, 435996174121626600112554644180948819727045283205257476, 2204750760012902278774920302600945282346279180, 637965979697585289825221252992517201314741871280], [11535697981109086892337018169448924767226733704870418842144, -13761075445374042915241505451669291687830526294440298, -7716939928024890725785573234476662893673652030, -819622365729314788632343259804366000217099344184], [39845361539031127854633199131424975243851631798576815539912, 529529382196996678484789216378076341076571610807860180, 30798167254439393868645092262141220281685381500, -366299928471749483475302071343438254782828329360], [166536830676299288412537810588171705989362223025514888135717, 61908494799772320318529860236993441951020792477458745, -31711516946797722362129241174627843621084334805, 1180823188108565706080626179341265320876014278476], [-27430188583183225557806624978850349700337327192644034599662, -173852482818922979507752749392872973782127434965596664, 30162724416367403110023008394118915930727394840, 362470499301381649585717752536882620385053771104], [56552016097166761906058225747702732975781850368450084867743, -781097270809526210755745029272613067548786024128948503, -10771724455151727693491852332456211626092199365, 756737816065641619121214378391065862234857198988], [381806734275998177951177175719959231151105100996806510479884, 291684646094540632732390868434397903666684435431660632, -2358259837097706655659035173156645919103432440, -325089621214549975374274477098904059725744196832], [203211388702057593251157507544069176022298710989690616867256, 140587425094026224692098087662603589975423878833219246, 11412893483705886924791775495843280829690512650, -131543444154841575059347611191850905788012073240], [242753672484365648744572416230539975232255405822882805945086, -559098138292140619241669066892792444274641174628878480, 11054003095442976026284763068868992342212037200, 1205254709994857690546768556049484640226609222464], [328327488792857740178368950885761986482393433309242310587384, -490823835535452344227283133641443752123301080562444038, 24191604596791378371387797610875302750300594670, 1970684144309714704103330791183864461491146781176], [88051592272736055572261861979454722043077669999904645888232, -244016136449427722505925284251940555383862663244899908, -21315522184462607852419352085940797040854583500, 986871468062157571685464157273812605083518867024], [349194380262147542681937846393778194901246924300771351025051, 1121313142287424122802355707861750606965676012574827451, -6975203828415049332904184729018795814384500815, -425680885285029491518574424421906227135831992156], [-585183286163204263355055667579314051524723480720874447774402, -521890144559998812620971891274005603735205801821772484, -65530524196514604255401229352664749314359494220, -1076121890743160420287459942296082772799566696368], [-326269103057439633181332709263676734401710411742514928737718, 626906746387417610581300064234773219850304364091609506, -69893730913446595963585143484687316966312249370, -4538724945414228800496712885669049830958429537576], [411948388304378913978900577729702531121747855495834900374739, 914494265356176808243300301728173172739193745373337083, 74213081968921445417850452376143515798362302065, -1027262269771298772569446237687961325837186667612], [501914885167882680905704285123559114760777855348943243047458, 330543884429455716160320234392211423786200220660578716, -23526926172343068244524821264025684376526945580, -1235517108234358674112069730844885810466542492464], [-135006313994766970922718018928031584695282709271012952697336, -997199401958783438998548544955463882902565544723465908, -50422785512103138500152306576494543545522504220, -617455750600374495965366681257069039656271672560], [-535733227688756270306498064216890774130096205932402525922630, -680830038506235369971143414752036423748658620927784576, 34279642118548251637989716756274601287478377600, -1973374752320449294654069754929149857823618825728], [-231027190115301865427798000789430752842523607710842782220495, -1073024563740629160044840201148333789427700198779092185, 110254845245829109946917590419799109245978715125, -3645446003797182614286711415645152705721833603788], [898017568971956302245719995246718369302502488271274084402770, 1474636441737186972432801656600073670647283793536014688, -39848636218878601933792749886388211476135355360, 4889301034047364734047914062211873509801074109568], [-827174780707092559548239164804517175568172917828252639509409, 1137877315017124133570457570904112287423630464650137185, -90181116307289549984609789459989358182593983325, -4267661308425878224748050404760765750489670557140], [268014890667724706761897482477996464297086191284800531577858, -2322986966200846666225558128305508163163222771949797014, 94756872357337519545165752294075952442713959230, -474122823073541965533083005889868441488850623176], [40272035364917854616345959795882263580043921932186921302458, -1048028534002627357136714931261366863220486789536916812, -120614634605413218420004802653991551982543676900, 1402691907226958871065478559083301513513707219184], [-844605945610189219027845759935246187786218714450318182404046, -151540866554965785872677553253705483451626738560649288, -144066534371709135581680769760525830922249637080, -3646094287998428861965028852488569133881713528928], [460555591623966371717088041108373790131274037121639280046384, 2358942575814975376939408577403488842047024579410360612, 64031737965796047991371911903599919614228853100, -3500180648159364581992008393961150527563444889552], [1266075399531956088232880230172684485974224054629480659796858, -2272734917562071436113995473919083105710002511850235178, -109882863001102450257162538124931117172383174270, -7077965666511932534332395158943499142914461225528], [2497886764255434496993893226760208863642932655446085207632895, -2038114416786211109800154076755558570856752643696939407, 54106471588711288675516243569769396951320986835, -5079148174724343950589094469853711576164621599508], [1324428670922753021255012470436458905142532861877897329172190, -1185629823186718959192997038174832303806331363171395542, -236938708344365727254562924839074508869410846850, 4170410401099323171092403374034900336266445125176], [1746521829814263448694498044500038202157882951430471029649546, -1557195843324832227123345837209439552286513852252740596, 28371548443453590781503740022890781489569524260, -17579485690437418778205406224150438350946685790192], [977143201221882406044752689558463776052737485748830865102130, 753434581778888639882416843721010447427564613228554378, -166510519643691037681977266452656122494662698850, 702297381886782196718545463323590304475896825528], [2339220022020442975439745653969372436719241300908061452191772, -1593872799115248814117249408426462967705497692572512300, -63772133822802508438361802791212717801409786500, 5517553754388825058517255142214054042091500254832], [-1128090243913348511778183621658822484895009232109026287731794, 1656307962513361029343970831217506955085349826996765060, 161346614667671221136909336949074218295260050060, 5047631562835000064048616752835912534151882031280], [-3058450879543056244358861112561144007997149189945123697030849, -1555314241771676960828736059742487396758783963361333121, -74494672977203374399175366243573870839768138755, 18956994114531163046193277041336262184958112260180], [925619842311045926277815579299073742716335135259264151020849, -5669630096600066162998947963124162588607565200195946401, 370540860668269124665324851141686531452568807325, 2780781789964192875618531670782314316571357456084], [-3088395089873546023499077535060621018630688380040251169942882, -4850027303987565261282325326030106520343380827132751772, 364277830179844114930355574645594634666534663980, -8543324057008306941863281670692092021905143605456], [-191865832097130607405299174367034857180232306467880980407509, 7918778061636224760107920176645765173298092786797068139, -371324131214527017135810194866520467120271103295, 4079492775773613297139474345599131689281691456228], [-920074389649259527211452008555350007633263339109174301302860, -5077410918143082624235235270468912681397077127020551712, 231903985170637397031498135654976177299534808480, -3360008129832983381886843729969251851136057863552], [-3278397099752194151526729481783604860622843068718073994259250, 2035836030140945744969238621164170246923436346020154604, -120226868555680254064213314520105926472127952700, -15028696911488630579268887191425094443654456345968], [4187257802857152404854334551670160146005169967654159396336364, 9066664256991046530636744095931964095902740045532567872, 189625453482515976883936776602061003920554138560, -5512052324552146456082497150595570842760162785536], [452062369680024427640763161483185357452881391743578328714870, -5237188150707514025029146489504771844651329333042399896, -303280040505895265889996213088593126431103973320, 21520738717262593112599621482158675402145341627872], [4368101393107724351634462630301439721944939056158900068855015, -6131501898923513689628695547194505171072195332516446145, -537428657791865778998842650909063942830977111235, -7682112446739398194592164467630352565143829949100], [1280352372865118314587657171310851745962428536428634113332927, 11666746426781375957999134239528486537271381945134002665, 923293445691009579557735972550766693452513293115, -20831609568082483049040929569347779363873600546420], [8364646901092502352503412702026590394174569285215206757284801, -15107634249768394478234477936395549952379740472261182515, -29061580778107977212424734192897428887432899865, -37446576462702326327386343051825627638191352301892], [1399188260940453929141850588612066772751904540483209051202842, -6281408309775112779855232288416077372457105215083420078, -1005643368033077207001281499577599944256799541770, -5328135723560384184440558086907914025440543155944], [1796001584591888495579055383503510668289259998082604651547490, 27786500710568081640981830883381242237290374311037546898, -314549015840780104094937670526415032947194658890, 786701575443448670978950641566546574504052400152], [255446934482319575583858038736579965360029848571085435467586, 3931217625220645013476401365598923466306998723397257320, 937301029720283555896871709620909281401414233400, 33657493240619951490470831161587135501501159937504], [1934784030003063096325311937348115735468451246547951320561243, 5577112537696450993942057963247011253549498061840603291, 215539338712014810861581359037113487604353171025, 58770830023831364774653078460398933698774213308196], [-5061934284257902918947534477411681581727566503458523415268715, -20142508894057621938070076522464008593569041128140701165, 864920518059480703428600019115087567985404101305, -20229959283543979033840078818730458158576818679868], [1393725775982181053991033436289522803508234784005943205877996, -10451347835857801734194675054420508697335386006451461560, 1031051250448805396018372012047250717288432095960, 22797484709705549303326036274246819749221418815584], [-5499891972333136626133325751759426858371646248071320573032206, 2983014784811157259872715500726996595792427853747179482, -982554366999430440005891509213210167579064125810, -49845947141900750770584246601474712078472026255240], [-7553835455644336867827647690056981708668761487090350443534858, 18919547738413808737489756963294174008487624653669730380, 128866821786441193461298592456599444758813430500, -9576275525249323821833418151335291328797907568880], [2598446703610567688133370538707191980607730807248024401409254, -3911009108937734245263425251056674861832566466445474858, -249918177318861259753362347300333387536778337150, 6124066764157473942779742813803938867729465800], [19059587612932998755356779723383578912359805289900032410802580, 402314765760731652137515438611403536800184190325651770, 585589430177794296102474669008031722354956955310, 53227953095834300277653181323682290108702323847416], [-7580570911142818461748969184168843145903863264837181861243794, 18048425811985375190340469862428284541726458767759933146, -2008272938019635982078294090523847696200464608370, -28375422587068023214900868378856935791836646665096], [5878028130819205131542975321010558268794111144381924371371874, -16372709453395119018050292562098166022756788983558993612, -1596323405642586859357907522624686609124078021220, -13655877479165762164568287842105647511024519350544], [-2804331016990217516184010310178336016765284645545394059522936, -6886508291713173012292790986496655645833060412069824312, 506512960548694700601728929309734729324661745240, -178829205970961325798135342126121787801709885923744], [-647180481031060764224055871024589924685927008226536354549663, -47936256654473630747010702608522397729093747713719716083, 1700127499634674330106594025127768968293150778535, -22445966594870030232054088881588029228311663393348], [-24288024301653009800238462520276902399360891562117800534545044, 19100231021086061008506357118002653293871727783942386534, 363164911182386515616665958586148415969632572210, 83938434037399697506444242842803615045417979084424], [-16755250789217799769988803662086058787084250529277569866987962, -65968430400416196781111632411048290456907572052728541458, 842578224770591307859672693571034022012534915530, 39528343929232639534122015435558015166062167242216], [-15489286911281087102240820690462290307548264949439127355710020, -15394509850421630097316351735415583705908501432540390452, -80159497552581975786137426947783401409601718940, -20661308163451196804442600594894623269085370210032], [-6515303002194252615337023743916366639780022326370764763609102, -32600008742790795694298768217756991457085228540057184872, -3810460944415353830100750295841651771513332136760, 10789137216018245987654520764733445578039150934560], [13214855130357344504869898989619536462191590405923417041391536, 9386334586322314120094932704168017290637225790772244676, 2915120049495286679207600122978477444800249083980, -24653345097311253345400464233143473658097396848720], [-12949911620750728659382600272635116732195563548083274094471058, -23889691355403637548552901930564398892667610045745632670, -1300414751026654944265154781084219637238899568090, 98459469943866225913244303634877666338772663987160], [20478844138124952233671105219646908706884071838018557793565186, -34512810431138872948904468873400896508222217161572166080, -209127453677636970195543265049003825501581849920, -133805068501434469532628751436308138071762092520704], [-10643309061710060913543947831009955534213376536923816799796410, -37327844587853644996498140981596074218248390042989099860, -161085627729918854851410810286674743545856774140, 125597470145405024944072575732519882966517548683152], [8214300586647462207289664011826561893952978526786566349936572, -24493810774468442545413756567393108818871171861676762760, -2712278455347894627145827512135778840564769439640, -168940176425982230300435143465569667759567374363488], [-2817275218240524485983364883167387606969943050273734566503758, 35128585373834187768919666588388443089383961587364608200, 3933003363998298461517628934264164305751924362840, 31118798053674541338826943250499637016085397894752], [-1936504264589578880435723527375224293579897986556465477151379, -41919120704441180051694745790024376451787528478520047031, -274301829703822637334371030580889830739109267365, 233481780545380550851465649047219461452989515582988], [-21900884113779364212338322106084613961272796059222347037470315, 56076430222859810542657129845509307072645885722920125219, -843634968212890832615703478701063233290057441815, 69940143013802472287853132006957474514666536801924], [2230836705413307459518924210224072144327233858072735674455632, 18235811152078720929170646026553923977985652575157126666, 30653929294121170004906298008251001777128710430, 167027498460816030865261133076531581105065159960760], [-4056957591247275030769088327366356672266178684949393986163218, 8534535451929034677735256670568440925665060076060490980, 1565286093949207277479372610530198287765035506860, 82347163612590185130544581478250778858374162128176], [15083088846876545312019385474549797652380601737564461598462998, -27774493214225875324236791738894080962431283269762068482, 447123535417280099743842059814562368008414919930, -151266722087639638177119683722031255559478661489496], [-10565258340685422180623153485404261772628238949099877191724854, 88140859989376702336900733691939474187391675395434810370, -2352131997241651188534485597435986350359865989370, 256959464966148173887019146334620963833715834037080], [35216335770294952563009756743287079615213805846680603839775856, 77582569835075650640273607849219858891196576969067008944, 4404795793245535529598790102484151462567492551440, -165167676698175931913409644330495001942466578896320], [39000563019201749889562404464480378859912498974328204051015747, -109078692127112083172693235248147528548152747117549902229, -6646934202947478670763282087166524811838155558975, -239725832331016716716897106950359402458711387080988], [-20270268859889961585326969675018604255560411617156194670681288, -138311943982447751122997839184369387375323205004805136330, 5049000801600768126052151465116368870410307218850, 77279497185719612187680163218564658872047165501000], [-83011603175713054500483417944556721212584561048105235438633, 144481580095506789433623925406331378383481903543444935535, 325877627988971054542352726003504635780567383245, 197160084942401982136553445581378479511812424554900], [4903218017152591637804785161893288080085500144210903593615275, 31949754899028356921530300232365086397251566683417636285, 5631118882190540235819470726303145520393941845175, 365525222979193646366430918238664338777556522246140], [5256128916780556751633532917923342335674749344372719185597448, 155218312406015347709887660787154341641622523852623038652, 4507175578428299790057537322235733806478682293300, -355232005279858364065348646660281371355827539088816], [-28039576919591162680505933294962282203704559538431058574253580, 10071701695511577598672541813658110015948263208284663608, 6676414352583129204052530961788291048427196051880, -655702499915745429651815029638347455106450456403552], [-5358327929949494405200233832837240729115409883319322696277782, -20433444197620601405502919734986983357324080389963834334, -7945662323079653631483442535038224969285061062810, 90889032349512183149101666068592581236562257203416], [7386521017306434886046595545481207945535395035692492859285054, 171798090809717502168453550049722194134539228119627068784, -8595213259226721994517570233250700651784839019440, 476428122452712996329081928618333895471033014991680], [9738429838225934891702695032606888088701138839265383243104790, 88070961864448670412675414918941822831541503629544423084, 7120401328789587613695961504447635339084317892100, -312570090222930946022039745890124933297693754816624], [58914717583982443500980502342861127953793679637173409899671682, 101318723282530379236541681636690840465016408958591276360, -719813706346575248729441553752400955672673193000, -351722656026525918224435160980977093351978916098976], [60158235643890095581930755374597040200720130571072845576137159, 184828878465313888902141401217389243640620329915165621617, -14052551471167215297336141287026571864329042214445, 593019358109822165997222728919486242645898744217836], [-45247704330742141930685865932940660300628689850002549934791994, -22691523346194414807186059992046738216676729757189794080, 7022256669195841843752835322718819138961967268000, -66297862991741580736756765178703333326922030992768], [50639452851271281542366980087582641192054974166109045101218864, -108518799348704464210741910831528844235396153356513369478, 2459946985232712289943791972167025405590344773230, 600162623884414631995860509778042620221281679287288], [-11555576580152289545775259519154609215097243264904611238749447, 98868340793273304533048109218869383408245391562195517413, 18299659212666348041647004992670943447153595372335, -134558876200285226797035059414121716234588229878052], [87362793745300295781529944783621821326421816858095268097153203, -217801169936322499999538859728556940347990382958202404099, -10854402710083337875815005287122887228474455460745, -427295258909865140877329235842295139179490183145732], [201974814064801519428826617838572605426362291969090608444987937, -7241525285579122612646384563601496599418841615658572619, -8332341960741592232806493438798727269198007326305, -354666503312466089655625418631281674444248533640548], [-97933783866352600985315555395091553932711044169327720608862498, 261243794558208933136976528627992532141648969486327095702, -3784699555253500867292906975828431984114327331390, -93299584500828864004308792774910732227214709113144], [76278253922937129572293431266991232644032956484268826767323060, -322196719731325490481277846817721656157276290616190386702, -7436104722103431218300747445180621758096030101290, 89409083052188681111128280926111605149506144408728], [-106149990946092322375679036457897231467895413484916266928540312, -286367546908502880735069338857073529094358334623526699644, 9002243074077410814006015390083013161118723059340, -485274939134412291547253035335220370847533960476496], [-134557029938983851424566178466247746567748007283749842532293130, -76206371190076059669500984852077757365332273714089180662, 29543141388046321830800398861675318486273110201630, -751952318861414763916936334950198301901447538444104], [71631003006844758608600078185944623313088129401460370271030269, -112518205819364789672591650736053910296934008974717055183, 20178707402612817333584913030140850694575568089875, 1250472208909758789668700608485354962082171399107052], [109797554220774326583873275469252626904292590098074368811357826, 675745941769650321185884064271673510587143823765432569074, -15356027112921105220917603268863976803924083301930, -374236631181297586958703898746120874021835341732712], [-13634216352502400831139412033415268506866368015918656647026682, 131942620695844197004925013853991503809782047869066862596, 4880301465499626849440754041887141704385038939660, 1543575509391206587188335466455198670599736876717744], [87089023600716507436918626780938921481063787335423260951492369, 339225314595950280013886383635222091846368151933974635957, 677706297270286559727381731664671188492237474975, -824385826280047837245501971164199269153216584391012], [-177994609650369731310419389645910525972501740189814468394765433, 130647723583496569318247997928378813993224529120175585041, 5769601129932217381415707187817493668122129645235, 109492134248350733802343081138007864473862527203436], [-249434722031251283814663308812214434582053568750066583798710378, 153225418059003232597372924857569959225797306262932495472, 18696986939575356307103158565763466895684690725200, -823801168795248570675692568171237572927775791292608], [13614504144035351249169619686447788002669375070646919570889506, -109160500887959307276816828709854472721775105224185486760, -22092566365000150532336476337764617262659742897400, -1756859401094963654117880916474424521165708369728736], [-379791928117862548274301892296220445791733425637663828447728668, -443509673565758731586656519858108460308651436716954899108, -12190966873078538366360980631471082066380476300780, 635246701442739766823641144780832111785119701501392], [-218123078786672629681119843704928979360806318303985102776943120, -292041392508453719195888664820397800565469322956249531652, 8909051692175429650187523468250018996762853034740, 119041391431724866905036713855690266983278289427792], [135539264960869888595185291104405647991068833222543782323520220, -133426468245601786932526698584766978589691234662149872762, 20705670334602766236711149862679676659519434920850, 2986363421666229919618086273440019985859780309742600], [475682750855850609062213776798429098153043047374424878860308, 785065578114419691815591126852734362164175896341646150532, 35225726686137141867659695465803623267083335710860, -674413276428535968060053348604756354776883688206160], [152680180710443030719568739551278027346139926550012585660106070, -472926540603476374655716969998341920212404823636881154272, -1273159594005932664016637628163858614282140710560, -803748395904881941523026157123269794453275522830976], [68596231329944419806930149385057607630758086297158487883786742, -1004608513069951338625958727570764581675412917285839712940, -42126877031855895152235086114101104196007413234180, -107413431360337086558913156428780261803604143437712], [-266800094083890322007361577945256023425191954304459623619425096, -342688535723923446483556591808882812397041707482589967208, -47205227460560308325420645677947468264202187073080, 1233260232724303139122911777478281023836396752207392], [-274629281085677580610806940943923162154790345292366091853661894, 125265150305547601758176343332748119784638293241346864146, 74159067185693809797296489219028767591330186985270, -1083465063744748258465453129390530368112036709673448], [116657768813245595604792525339810848398048818511995307269202160, -860578029517900456488067278975677917628210343294231553932, -47779262120501754818404775713465727341761735141540, -1825828799741521696250035431029910255396637932494352], [-26910007172629798243377991163224216676017820734432064479616062, 103870415366586711492914495062604775290387726424866024392, -33390923182567360103301269628050049810210948544680, 1021336094085024770012449703397291756145306583865952], [-55033727578023120541616821533364969748980208988000642851481003, -798979899787905311267812126613774317893263482483231231695, -20299835416869153087353622478641841602802190632685, 1489756525757501083047531432113884848391248203491820], [-39815969011964963802535957070656946542006347413429547924009043, -88426363639510973019360488751317369696705885732372546829, 30289955540660396245928537993307028844746208210265, -1300573087281554058256189301088592682319350749907388], [195483774175172798034262982419763737649599257044098285555718282, 1112437557234867837926093762605095181051845016756432828080, -31152894041788200598756723072221423953426594292720, -3835292844983104280485570561693909104516557572653504], [-145187954885292377939219023647007656903898426611529703816841534, 125726144738000218820333285034556541568610331380922561874, -9844545969607004451881781877224455592034240380170, -3340129683194538323050731267493128692893471418577640], [-214599479649677696002647699245378844753437732554638427108407442, -1902898141583790328595141011553873978396904862469027104242, 12470113587292847961372216766615865599591762637610, -2135737330969429090693412603366471136280270411952280], [510643695595361562284188570303294737632134375173044002614094232, 18536195514391056804975660554680007191828659159464932376, 24649546845383087482178870867650688698953387286600, 1026245131091865522918662057797078124087579179333664], [-258440979521020659849893253965804646403666799101436107940332847, 2094119941153417823261612634932947333690888151689926077053, -8307749516627397334608434533701556593299796388105, 5325934008225932125423520209355153499854832957641980], [-268711046599198540745800538058697240266618478762245056155579447, -437841290925892298502014647689924230464836577103388606809, 97512893708312875761222450481725455219860598589045, 294011849549675861322934025910200162558791374407476], [-674817107237721815214917655961916167068673100398087820761274740, 515307379761182965187501795544450112850151126817492956498, -40280170099524341022702099113107563882950436051210, 802231307834995185495202840279281675254593258244376], [-22997840294937412163300646322441328439438068597151973052647850, -698052849810568366375727253681601370689874907201614104370, -49748108537447117471482090797208007586581270784150, 6143214256868845359042518511853223653494985532649576], [-190381139520004337744972174789314779533668529884524217319152728, -702593119268422643230223232393796823754103694115404550600, -94398370233953504878208753573685361072474670657880, 5379927397813878807156949067491773648403990789854624], [982620273653075555448292771443818060457758669430948156147789602, -835656817554786320863524754490375724085811030476520191104, -95646873530862751556188812342008169539119872040320, 4419122180073825037982983057411655254319696247814656], [-86409466565738444962769992017087495227643707074619439349477136, 2473806430564668068319368523667748499524951299801268730514, 105267657723486449894602512364851950620045062630070, -3954932290482485784257201623945254359179258625434600], [1284376630630824704207841864198051057108392704667577650433594326, 2688605682830098200207731958718213963213134844704816925924, -7563887703282926100047923579870317980897429773140, 713889029259433369834245674454004449283965963420976], [-1071442898201995344588706165238538002039300992281986881007036713, -421111998245721890560787608211348768564266462298287159825, -117002174954054437736033380087010662100349125737395, 1026525491625607248049636329828883720356368264337300], [1026630406029881219554594527712363169192515793794398448417115788, 181964422646569446251882375918014788068185631671618507342, 156669538347520392438058009851481519748073500204010, -991531419755091994082926936993836428811136427419032], [-45477734654140514602886367268790894472522874521448839119828551, -1144733217226487312358535750196815886609364401680575906153, 182077956123332196605857965361760280230661386497605, -4174298757510639420930258958336279628043111636030348], [1799713438730788287233642425467912192833508356997031081243481362, -1664005635842542021654273116754638205784038111913595370160, -76656667959371364398793815186351833538643681368080, 6311179142058316539120163661372980335035340737790400], [-1782797158024507607778136580089227908718044559081706817647819330, 656620451478810290626613781856333846440862035744023521270, 58760237258205992078976837253278467320331502577890, -2342706156822237452423986749231703028505875395723448], [1989139142124528828040930998901538970435552241894556877812251672, -12350503156646676841199106373646304435264501484125176624, -97073098160290470290106518715044341274108653466000, 4327911573566040528106267287652494249634275517369280], [879989098613907635925487418202103113083388600040317794803495985, -2300325420542867051572019161589401221152099021273141628617, -29161698890372268040802220109947389349660660931035, -2565599218985659599213167880288318027861795387662348], [-2001476770518320235711883432254898812687491326582855147311006112, 3490035120908875830751330501535333247772136743167586025206, -26550676334093144677613094409591824212427987187230, 7364824920994582294847545780685423127120972022347592], [168590061547967303347425718806493738472624056295186663322714812, 5206125710582522270039944238818090589059141970805819943776, -91474472767649828406694504347664611156031071452640, -2162999419331269764838208205552357226708234600967040], [543718543349814871546988870436883951746087042493124530463086330, 4366959028778706026702088308042603323899411806393425423798, -62495119737942796597659653495940598656198112474590, 885369186596113048179253905295517203850030878043208], [2395229063073716337016633832696076580217876201916236304284468474, 1066054315226138855376137254895468708345058620684725916104, -232198900485553027890287039153323537342396369485480, 3795918335739785297437708895619621125909751642135136], [-634047798987392034870216861731234163711628831688520252243136785, -6475747126796396498412221452826975423610453318583398747201, -63530105290726463224194072913399803665496646240835, -3317957979553128147106599874953344371574849147093164], [-889500906497177451855185716169352779082395111389073580300260004, 2996639958023706061149051172409743793293510997122747672656, 234633885816873332946898298203750257428333410652400, -797282039115235306866316040878524925659168951712320], [1528577735286296253375474658739648215928226056080347826957236110, -2465449803682347500360503067035450797016554149069048658602, -29907801605430118012948488761222143541358507245310, -5243597338678829221952091622838914439615973025748024], [722938270710241604738501743942829278511387870507052102175471444, -2760299856781260210890901326802004713693677751954926619548, 232863139525187310260437920863464289934686791324460, -4310367535841378937596292002348462276662279550789840], [2992366320184099344978647256192771957192063051344550290893677974, -3313573554864778882393314449032798996264305894212198758652, 31763379428626300941830756818228394753104082504460, -5088926243822469929232905988213602128649727436068176], [-461981931003303652401447991324338130312376532160416136286665657, -2606855647767185675573958247879381743606460314428887645407, -79544907915663067131954898940349030096081433175325, -1626410038286048475851579297863132591599649863875796], [-2353389658830868031438244010645720371908143890856224337586930992, 1658395946662684295596187464422831784651643166342658318538, -135805433704329628660958674761618147276116097228450, 10307558406144422288601041041390115157793006293619128], [-1282143837073825871754706076104824444476892006660844154475446530, -5815236639925463774857966005550360129367544210993189391682, -501004477770685783447463041485608694857098345093830, 5423537298905680449757333934122460409820090379769256], [-3779875142919227207622260360402074168137776244865409300084689997, 112411647341914598933595459237615567113035274678572742731, 253388198922414195682427496846857891716755312244065, -3873395740042784129916895934481300345030443075102364], [417116027747550336732280553392326357345991611346974238202151218, -2923462887896437593621525027218445287370314162447153714372, 154230507099956346116066216458754586637545732315060, -1279179499008549106346408497081081977083681292448688], [-486436408308567604337004844828235817613946552516660006677265832, 7299892324293501992947858206436592297344629076798953146682, -65898557277304536113837773639537312068419656625490, 11626050261686085003419448945315937950465972530339064], [75497493780451362147253004700770020590652067841091468195876415, 8930553797438056243121546570325527856195909296076226403353, 271885893140569345982953870460892216267964703717835, -1451605610037795827617887366205479494335614431698484], [2422551439213922697729601655254001595250572279581873197400350680, -4594794988393913745588983712844852489603158693897549088782, 248753684231647227099900022589339764182583371567830, -2629354979944200460802712583192344127996663836829544], [-4527249214388878862781952402850087461108498505461871218037607703, -4775392754229239762242084425465095298744756858928817725483, 141115188906215798616529707066060540075409848650495, -12570265252022496572344753354617244526690987214130148], [-942243341828865668559705476851559241051434585712746943079438243, -2425277876444287196099696982407066873782953465326393372445, 540971439129155523584035309294110114349277562828585, -28734832547172838471944492502602987056657245252435068], [2678721299489493291610454078019128507481844531596616470230510144, -6566576529195007689549164607574878278139324465409983957458, -514476450215448545081136756491678664849738459733110, 9529251213113645234750788155800759484390483676145896], [4247960626598778455239911295759539208744095145835494732434890424, -765891875477746804324859518441322399992044893997085240758, -133459283724381066243787281878826823787831257524770, 6165476590114328749390665267355191457183360227144632], [-1411746090090746687742541345049769623729570320894681843559542426, 4969795892350697322222403741738521408833933383269845383198, 170270811636589804099685636138332867215273210021210, -19694109553749127018132599368574460157873944273399256], [4210764009375337707410227765749315788269924767069409247353398622, -1415065305647798497617693843172595479168156698604161791498, -61458090571199210773371441891958340933773536835870, -23147698110276571930570018030252903410306930502230200], [6729056443573214935630299850030815101421065050463990410411578626, 2814471931635862592804034503378045284411378530299977082320, -317074450113011381672533778521451078683433045147280, 7314996357354303137099540618681912149675060323049408], [-815891262406617475075054731249177948412251777901101294859690513, 13849851954302710562259910985369812994867156208496812212495, -656320702882669506477710903832929003356405287926355, 6152381098260407465708437553230551338082729691681044], [1473781382157658565239917967340659691068500228397477453401321422, -2715354713107109480767071273837433118686860958777132648354, -420994049613546359970712157451019491431078179754470, 8787639205861970897268001584449393002017046788175144], [2462232499036742051790759733358993213724939671009284313095217762, 2397516940348094805384109340285873283032677535652566325490, 1221845132044471990774380948448132559703672744678870, 23637413321634549507672198804770441843853414734849176], [662394725713149676494281246490810870902598919438340503059948770, -7281126811217515276917243174994932868569406301131305414872, 820400819693714184151030910646748352924414056485240, 11749902970257906341525907745181274666124481297084128], [5458313925397171483590769999022849335636657827769215978409368861, 71516959043048102058732654636864846714272873597434254249, 170686972576444007055141313723963859880142975644795, -36574922264439929524623261203166046656920328719275380], [1416967369381919479122707529089622576825284147252369599551500344, 2144934424286563023873891845349411726123346810287632588104, 406777613767455771273581690379017856427616468956120, -8581848426357676061460122633977157296729652370930592], [-3691462892394835498910381692216280456691623007144512773966910299, 8030365324875048176030683625657646500594211933238839036859, -919910404817632337762480887281656133063140081448015, -14527550935006856824836382240436062103656464174496604], [-3242809351090492580856790315064787542187385689178790862216577552, -5363888094743763819295506613154863578808469078401423870414, 709083265315593499257249790037685596920436519148950, -26097870963649030702260955684000533633955644119909480], [9561241540176988071413622564392195227981411879954264988172230734, 4545640103141877888897010282267522335476781778878172100698, -699340518563104016833718875874031296049675547910130, 51718064971397151305375967679071774246271772924892792], [-2387065531776421741688833040658717527276405939039412772922712921, -21358249813763935929102874294873894986978288469843953540801, 344471124194952061664493734816520996812100529749565, -10544558248993231115064789583295571360575097522974380], [-8542808293943782932778138343496524253287931838522568655085905778, -9332273426135128384826785128691157223819112192240691800440, -1309757864476053824872799815303535429855112840365160, -10824019272423615809949605910527729669104028850888864], [-12818107105763521912327760709102044990539613441989263843111890180, 12598620748928940898911832465820843941417869045578381765908, -415562444334647825911157213116584154007382067198660, -31565196852271316574514278586260410081305425847886480], [3182911176798777125231957757233658232578034999320506438440955322, -4183912423783601727695808509349028536606433612967938678158, -1709923431151825620187818577103902523721857832900010, 25749847093649469390208178789919805860901610345205400], [-8130707032164107284143301385637156627862995282607646647641663838, -8638924466548388808484659469483685113165196600092343749944, 547412908908827517618683264501594822514688297966680, -48741151701528237539624865356061550385418958902981024], [-2632294222965399473978715600981212433124488708560011887262192211, 9431190760112409257381654821391182531741349155653368998777, -114232194383218196362465328750123995947833751481365, 77397253928116419204524073687696734198209639325571660], [380667143737387259154202723391216331187387207919313709791899490, -15542235379174322132179736101660074724578013501431618114846, 306388478814192821464355349040815351605930138045350, -108528503919670503550504708699364420596640630480451112], [-12361022004789603257904000463254212384237876980312235307275424978, -5997051377993270528210553886607180779821821578377931818708, 166088449107297640976718058307955663007657448041860, 27877787550934662673465604834639717936050106359264656], [-2462906835151491128020426664795082786534191125478232788076125314, -26165643176747443665073138381738686957656314053514487139666, -1256727832064919043717822369288499898275225963242230, -16824433398899473569079581255050214891608354198131992], [-10238500164995218211386498538932520160158769090084937457698933030, -2110354771821626579281908834006203675735412232039028145970, 750479569630125037235822997300846744164963229112170, 17459852850741109033201536858630446779048479038433384]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_3_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


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