
// Make newform 8030.2.a.bl in Magma, downloaded from the LMFDB on 24 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_8030_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_8030_2_a_bl();".
// 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_8030_2_a_bl();".
// 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 := [1388, 2436, -14287, -17806, 49353, 48388, -79890, -63620, 68537, 44043, -33875, -16393, 10217, 3165, -1900, -263, 200, -1, -9, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-4, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, -5, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [344274665371602070, -218044026178024810, -3853629647903613676, 3127244755625591552, 10817375807991639982, -8887864938918716648, -12066538545176504503, 9802479332703309879, 6451066205133237889, -5321431444591112515, -1685623549305064110, 1545621783813084880, 175689678614282352, -240093375209630295, 4196398387883617, 17992642377892825, -1829047994384574, -461540381624216, 67767703269323], [57522920151092322, -109683999941140110, -671551593523850225, 1284067887242840180, 2208238538690460199, -3457327076988766834, -3089662924077936893, 3741636168265147766, 2137905924757903123, -2040915187917304795, -759293886794764662, 623020664935530527, 131861973015827473, -110003180498292848, -8281369604976276, 10547153500587325, -370381254330593, -424185699767877, 50630052638212], [304977081039327422, 572749823366703520, -1849969278868735331, -3386200950438267341, 2095831201089977810, 6760547362112289872, 1481111167068662677, -6406569444902143959, -3498938180013604810, 3414330698132732743, 2041932300231603969, -1153838640643625854, -520137757020581049, 253115387929776351, 56123555563441991, -31776613488142648, -817566705574623, 1665474227812742, -177313727903810], [385112694063467830, 56895231626467904, -4062319619472367228, 1155556121353730039, 12057502327232884855, -4267988730186030875, -15720637772997710776, 5411386613391953151, 10643436601064984017, -3502847447286564085, -3947967467767076349, 1321201035967726273, 786804273096354387, -294942816649205871, -73017026724538451, 35556578692171072, 1067457298155204, -1757289921571220, 180707121536345], [141481739842397824, 41948543187362648, -1476421741857246556, 1737283757101114346, 1999002300765653128, -6142632963029006402, 2340312350837746631, 6637289161386080289, -5225985194999967611, -2913706569760999807, 3311818712545587714, 381420734027553856, -951237276959235936, 85741378995503835, 123529702428607693, -28518355699180013, -4677278383371342, 2126250099756004, -187046570499115], [450056685971050898, 381719549166996556, -4826059871666993303, -997716900791892905, 14503700024022309248, -354529966492831108, -19097171245233324467, 2371301826252860343, 13019442257136659414, -2379354798586710119, -4873494582387198855, 1145424685650821264, 988191079157380581, -295818729450298563, -95268980193765529, 38816044176556868, 1906181846145771, -2014465387386478, 199422333353506], [-271173877669587878, 97252565481551060, 3375054409069307021, -2474695556966677747, -10967228393769351437, 7724333910488621041, 15099732646720254755, -9075453858322075833, -10511273964711378593, 5399031921639471008, 3902115469933026549, -1841774213553957773, -755575182193119126, 371446109160217413, 64680973088016400, -41001173088474143, -231033388022982, 1889070473055328, -204668395194571], [1915931615769778, -142460742911687256, -385387455575350897, 1347661156488340979, 1973479196948448564, -3436752265005777145, -3625264049187407313, 3695360919986239977, 3079051604823160300, -2089937946939639246, -1315528579217468117, 701700799538067486, 283523942468175634, -144626362341102703, -26811469029011869, 16733442992079219, 200828455194863, -814908283378919, 88141905048141], [378983067491770858, 344884458126327884, -3678775171845158002, -1626954965148382672, 11949942655653332698, 2376869868707732887, -17955552886676810950, -898502344381930698, 13966417645290300604, -759150774994407175, -5896813044614868540, 836905206374923726, 1336620421453371411, -304461867691627542, -145023275287357724, 48474452496874237, 4006034675112768, -2841938440979513, 269915381623373], [15578359166866210, 7580132412691114, -437051403902960670, 211833884566188009, 2250678952906410976, -761297357669862713, -4289355055114182239, 1060259039041748670, 3778937125039004947, -841761953649657192, -1698653466570678497, 411311671591537732, 394913671407158125, -116412043724817898, -42675098815703659, 16817935178870461, 1032129142109091, -945600665621253, 93524537835642], [177112305531767554, 88392750804068876, -2624901258638514130, -172262366523370591, 10749933689944044970, -186101728292982383, -18573635771452756933, 1320296595139900590, 15669158218445098021, -1932658671597026008, -6927915966275822439, 1267066623942905602, 1608814341703530915, -410241211393342356, -176015712085932995, 63020477436189709, 4670135112051207, -3650350764170579, 353037342994262], [-241598324807555192, -250483038850930136, 2377886858485232662, 1000265952470454345, -7436375629403471659, -1211330927599255329, 10655251783486461969, 234780707290912976, -7971847715108751644, 589488230410150038, 3267982838716931709, -507326951336781899, -723954769683912741, 171792510258985088, 76971523571758580, -26419688004122481, -2043400743394654, 1518332100275248, -144967756131270], [21725368230805266, -229861114910833352, -763009136103245645, 1968215908875671143, 3967442057212468607, -4862970742421685071, -7557497765747525586, 5344968114777729854, 6553291837500947322, -3207399300370227501, -2854157122966359203, 1172201476817415999, 632146897252809814, -263609998575206724, -63028458125406149, 32696588872638296, 937145544465880, -1670891983134690, 174828361439158], [607129024872538562, 967405796552558206, -6476202794540901323, -6443205707102733899, 23122456789069359998, 13433577279653527748, -38152982159858021813, -10540251563429677311, 31935385298806960094, 2436901544615426671, -14280966115401152403, 927136883649285980, 3397385355004093485, -605415309481864821, -387019060792266505, 113053018902722006, 12095069929418247, -7110694252781680, 655027066204972], [-387460878357396996, -368001446724494306, 4226034000091164387, 1412593728633760119, -13905329644636565417, -1548503094023485606, 20626446329394644239, -204643879778015419, -15799521068882191827, 1486398070726977459, 6572397183636933523, -1105299188237222633, -1467427772448728915, 361553710014794715, 156374625196583464, -54969125714346792, -4086203089293762, 3145155503018187, -302250125901244]];
    Rf_basisdens := [1, 1, 1, 1, 6452776078088694, 2150925359362898, 6452776078088694, 6452776078088694, 6452776078088694, 6452776078088694, 6452776078088694, 2150925359362898, 6452776078088694, 2150925359362898, 6452776078088694, 2150925359362898, 2150925359362898, 6452776078088694, 2150925359362898];
    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_8030_a();"
function MakeCharacter_8030_a()
    N := 8030;
    order := 1;
    char_gens := [1607, 2191, 881];
    v := [1, 1, 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_8030_a_Hecke(Kf)
    return MakeCharacter_8030_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 := 2;
    raw_aps := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-1, 1, -1, 0, 1, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 1, -1, 1, 1], [1, 1, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 1, -1, 0, 0, 0, 0], [2, -1, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], [-1, 0, -1, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], [1, 1, 1, 0, 0, 0, 0, -1, 1, -1, 0, -1, 1, 1, 0, 0, 0, 0, 0], [2, 1, 0, -1, 1, -1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1], [1, 0, -2, 0, -1, -1, 0, 1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, 0], [2, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, 1, -1, -1], [1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0], [1, -2, -1, 1, -1, 0, 0, 1, 1, 1, 1, 1, -1, -1, 2, -1, 0, 0, 0], [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 1, 1, 0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0], [0, 1, -1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 1, -1, 0, 0], [1, 0, -1, -1, 0, 0, 0, 1, 0, 1, 1, 1, -1, 0, 1, 0, 0, 1, 1], [-2, 0, -1, 0, -1, 0, 1, -1, 1, 0, -1, -1, 1, 0, 0, 2, 0, 0, -1], [0, 2, 0, 0, 0, 0, 0, -1, 1, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0], [3, 0, -1, 1, 1, -1, -1, 1, -1, 2, 1, 1, -1, -1, 0, -1, 0, 0, 1], [1, 0, 0, 0, 1, 2, 1, 0, 1, 0, 1, 1, 1, 2, 0, 0, -1, 1, 1], [0, 1, 1, -1, -1, 0, 0, 0, 0, -1, -1, -2, 0, 1, -2, -1, 1, 0, -1], [-1, 3, 0, -1, 1, -3, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0], [0, 2, -1, -1, 2, 0, 0, 0, -1, -1, 1, 1, 0, 0, -1, 2, -1, 0, 0], [2, 0, -2, -1, 0, -1, 0, 2, 0, 0, 1, 0, -2, -1, -1, -2, 0, -2, 0], [0, 1, 0, 0, 0, 1, 1, 0, 1, -1, -1, 0, 0, 1, -1, 0, -1, 1, 0], [3, -2, 0, 1, 0, 0, -1, 1, 0, 1, 1, 2, -1, -2, 2, -2, 0, -1, 0], [-2, -1, 0, 0, -2, 1, -1, -1, 0, -1, 1, 0, 0, -1, 1, 0, 0, -2, -1], [-1, 2, -1, -1, 2, 2, 1, -1, 0, 0, -1, 1, 0, 1, -1, 1, -1, 1, 1], [5, -2, 0, -1, 0, 0, -1, 2, -2, 1, 3, 1, -2, -1, 0, -1, 0, -2, 0], [0, 0, 0, 1, -1, 1, 0, 1, 0, 0, 1, -1, -1, 0, 1, -2, 0, -1, -2], [2, -1, -2, 1, -4, -3, 0, 2, -1, -1, 3, -1, -1, -3, 2, -2, 2, -4, -2], [0, -1, -1, -1, -1, 0, 1, 2, -1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0], [3, 0, 1, 1, -1, 0, 0, 1, -1, -1, 2, 1, -1, -1, -1, 0, 0, -1, 0], [-1, -2, -2, 1, -2, -1, 1, 2, 0, 1, -1, 2, 1, -2, 2, 2, 0, 1, 0], [-5, 1, -2, 0, -1, 1, 2, 0, 2, 0, -1, -1, 1, 1, 0, 0, 0, 1, -1], [-2, 0, -1, 1, -1, -1, 1, 0, 1, 1, 1, 0, -1, -1, 2, -1, 1, -2, -1], [0, 0, 0, 0, -1, -1, -1, -2, 0, 1, 0, -2, 0, 0, 1, -2, 0, -1, -1], [1, 2, 0, -1, -1, 0, 1, 0, 1, 0, 0, -1, 0, 0, 0, 0, 1, 1, 0], [5, 1, -1, -3, 0, -1, -1, 2, -3, 0, 2, 0, -1, 0, 0, -2, 0, -2, 0], [-1, 1, -1, 2, -1, -1, 1, 3, -1, 1, 1, 2, -1, -2, 2, 0, 1, 1, 0], [-2, 1, 0, 0, -3, -1, 1, -1, 1, 0, 0, -1, 2, -1, 0, 1, 2, 0, 0], [0, -1, -1, -1, -2, -2, 0, 2, -1, 0, 3, -1, -4, 0, 0, -4, 2, -3, -2], [-2, 6, 0, -3, 1, -2, 0, -2, -1, -2, 1, -1, 0, 2, -3, 1, 0, -2, 0], [0, -2, 0, 1, 0, 0, -1, 0, 1, 2, 0, 0, 1, -1, 2, 1, 0, 0, 0], [3, -1, 1, 0, 1, 3, 0, 1, 0, 0, 1, 2, 1, 1, 1, 0, -1, 1, 2], [-2, -1, 2, 2, -1, 2, 1, -2, 3, -1, -2, 1, 3, 0, 1, 1, -1, 1, 0], [0, 1, 0, 0, 1, -1, 0, -1, -1, -1, 3, 1, -1, 2, -1, -1, 0, 2, 0], [3, -1, 2, -1, -1, 0, 0, 1, -1, 1, 2, -2, -2, 0, 1, -4, 1, 0, -1], [1, -2, -2, 2, -3, -2, -1, 2, 0, 2, 3, -1, -1, -3, 2, -2, 4, -3, -1], [-1, 3, -1, 1, -1, -2, -1, 0, 0, 1, -1, -1, -1, 0, 0, -2, 1, -1, -1], [-1, 0, -1, 3, 1, 0, 0, -1, 1, 1, -2, 0, 4, 0, 0, 3, -1, 4, 1], [0, 0, -1, -1, 2, 1, -1, 0, -2, 2, -1, 0, 1, 0, 0, 0, 0, -1, 0], [0, 1, 0, 0, 0, 3, 0, -1, 1, 1, 2, 2, -2, 1, 2, -1, -1, 1, 1], [-1, 2, 1, 0, 2, 1, 0, 1, -1, 0, -2, 2, 0, 1, 0, 2, -3, 3, 1], [-6, 2, -1, 2, -2, 0, 1, -3, 3, 0, -2, -2, 1, 0, 1, 3, 0, 0, 0], [4, 1, 2, -1, 1, -1, -2, 1, -3, 0, -1, -2, 1, -1, -2, 1, 2, 0, -1], [1, 2, 2, 1, 2, 0, 0, -1, 1, 0, -1, -1, -1, 2, -1, 2, -1, 0, -1], [2, -5, 0, 3, -2, 1, -1, 2, -1, 1, 0, 2, 1, -2, 1, 1, 0, 1, -1], [2, 6, 0, -2, 0, 0, -1, 0, -1, -2, 1, -3, -2, 1, -3, 0, 1, -2, -2], [-3, -1, -3, -1, 0, -1, 0, 3, -1, 0, -1, 1, -3, -1, -1, 1, -1, -1, 0], [4, 2, 0, 0, 0, -2, -1, 1, 0, 0, 1, -1, 1, -1, -1, -1, 1, 0, 2], [2, -1, 2, 0, 4, 4, 0, -1, 0, 0, -2, 0, 1, 2, -2, 1, -3, 1, 0], [2, 0, 2, 1, -1, 1, -1, -2, 2, 2, 1, 0, 0, -1, 1, 0, 1, 0, 0], [-4, 2, 2, -2, 3, 2, 1, -4, 3, -2, -3, -1, 2, 3, -1, 0, 0, 2, 1], [6, 1, -1, -2, 2, -1, 0, 3, -1, -1, 1, 1, 0, 1, 0, -1, -1, 1, 3], [2, 1, 4, -2, 1, 0, -2, -1, -1, -1, 0, 0, 0, 1, -1, 0, 0, -1, 2], [1, -1, 1, 1, 3, 2, 1, 0, 0, 3, 0, 2, 1, 2, 3, 1, -1, 4, 1], [4, 0, -1, 0, -1, -2, -1, 1, 1, 0, 5, 0, -2, -1, -1, -1, 1, -3, 0], [-2, -1, 2, -3, 2, -2, 1, -2, 0, -2, 0, 0, 0, 3, -2, -1, 0, 1, 0], [2, 2, 2, -1, 0, -1, 1, 0, 0, -1, -3, 0, -2, 0, -1, -1, 0, 0, 0], [-1, 2, 0, -3, 3, -1, -2, -1, -2, -1, -2, 1, 0, 1, -2, 3, -2, -1, 1], [-2, 3, 1, -2, 3, -1, 0, -3, 0, -1, 2, 1, 2, 1, 1, 2, 1, 2, 3], [2, 2, -2, 1, 0, 2, 1, 3, 2, 1, 0, 2, -3, 0, 0, -1, -2, 3, 2], [-4, 0, 1, 3, -3, 1, 0, -1, 2, -1, 0, 0, 0, -1, 3, 0, 0, -1, -1], [4, 3, 4, 0, 5, 4, -1, -5, 1, -1, -3, -1, 5, 2, -2, 5, -2, 3, 0], [-4, -2, 0, 2, -2, 1, 0, 0, 2, 2, -3, 0, 1, -2, 2, 1, 1, 0, -1], [-3, 0, 1, -1, 1, 0, 1, -3, 0, -1, -1, 0, 4, -1, -1, 6, -1, 0, 1], [-1, 4, 0, -1, 1, -2, -1, 1, 1, 1, 1, -1, -1, -1, -1, -2, 1, 0, -1], [-11, -1, -3, 0, -1, 0, 1, 1, 1, 0, -2, -1, -1, 0, -1, 1, 0, 1, -2], [-7, 2, 1, 0, -2, -1, 2, -2, 0, -4, -4, 0, 0, 0, -1, 0, -1, -1, -2], [-1, -2, 1, -2, 1, -2, 1, 1, 0, 2, 0, 1, -1, 0, 2, -1, 0, 3, 1], [-2, 0, -2, -1, -8, -1, 1, 3, 0, 0, 1, -2, -2, -3, 3, -2, 4, -5, -3], [-2, 9, 1, -5, 4, 1, 2, -4, -1, -2, -2, 0, 0, 6, -4, 3, -3, 2, 2], [-1, 2, 2, -1, -2, -2, -1, 0, -1, 2, 1, 0, -1, -1, 0, 2, 0, -2, -1], [1, 2, 1, 1, 0, 0, 1, -1, 1, 0, 0, 1, -1, -1, 1, 1, -1, -1, 2], [-2, 3, 0, 2, -2, 1, 0, -1, 0, 0, 0, 0, 2, 0, 1, 1, 0, -2, -1], [4, -1, 3, -2, 4, -2, -1, -1, -2, 1, -1, 1, 1, 3, -2, 1, -1, 2, 2], [3, 4, 5, -1, 2, 1, -1, -5, 0, -1, -1, -2, 3, 4, -4, 2, -1, 5, 0], [-3, -4, 1, 3, 2, 1, 0, -2, 0, 2, 1, 2, 1, 2, 0, 3, -3, 2, 1], [-8, 0, -1, 2, 2, 1, 0, -1, 3, 1, 0, 0, 1, -2, 1, 2, 0, -1, -3], [-4, 3, 0, 1, 1, 4, 0, -1, 0, 3, -1, -1, 2, 1, 1, 1, -2, 2, 0], [0, 4, -2, 0, -3, -5, 0, 0, -1, -1, -1, -1, -3, -2, -1, -3, 1, -3, 0], [-1, -2, 5, 1, 4, 3, 0, -3, 0, 0, 0, 4, 1, 2, 2, 0, -2, 3, 0], [0, -3, -1, 0, -3, -5, 0, 1, -1, -2, 4, -2, -2, -3, 2, -3, 5, -5, 0], [-2, 1, -4, 1, -5, -4, -2, 3, -1, 0, 2, 0, -1, -5, 3, -2, 4, -4, -1], [-2, -3, -3, -1, -2, -3, 0, 2, 1, 0, 0, -3, -3, -1, 1, -3, 2, -4, -1], [4, -7, 0, 1, -4, 0, 2, 3, 2, 4, 2, 0, 0, -3, 5, 0, 4, -1, -1], [1, -1, -2, 1, -4, -1, 0, -1, 2, 2, -1, -4, -2, -1, 1, -2, 3, -2, -3], [6, -1, 1, 1, -1, -3, -2, 0, 0, -1, -1, -3, -1, -2, -2, -2, 1, 1, -1], [-8, 3, 0, 0, 3, -2, 1, -1, -3, -2, 0, 3, 1, -2, -2, 4, -2, -1, -1], [-1, -5, 0, 0, -4, -5, -2, 2, -3, -1, 3, 0, -2, -5, 2, -3, 4, -6, -2], [-2, 2, 4, 2, 1, 0, -1, -4, 1, -1, -2, 1, 5, 0, 0, 3, -1, 2, 0], [3, 2, -2, 0, 4, -3, 1, 0, -2, 0, 1, 2, -1, -1, -2, 2, -1, 0, 1], [4, -4, -2, 0, -7, -3, 0, 1, -3, -1, 1, -1, -1, -6, 2, -3, 3, -6, -2], [6, -1, -2, -1, -2, 1, 1, 2, -3, 0, 4, 0, -1, 1, 0, 0, 1, -2, -2], [3, -7, 0, 2, -5, 0, -1, 4, 0, 2, 3, 0, 0, -4, 2, -1, 1, -3, -3], [-4, 1, -1, 0, 1, 1, 2, 1, 1, 2, -3, 3, -1, 2, 1, 2, -2, 2, 1], [1, -1, 2, 0, 3, -3, -1, 2, -2, -1, 0, 0, -3, 1, -1, -3, 1, -2, -2], [-4, 6, 0, -1, 0, 0, 0, -3, 1, -5, -1, -2, 0, 4, -5, 2, -1, -1, -2], [8, -3, 2, 1, 1, 0, -1, -2, -1, 0, 1, -3, -1, 2, -1, 0, 1, 0, -1], [-1, -1, -1, -1, -2, 0, 4, 0, 5, 1, -1, -1, 0, 2, 3, 0, 0, 1, 1], [1, -1, 0, 2, -5, -6, -4, 3, -3, 0, 1, -4, 0, -4, 0, -4, 5, -4, -2], [-1, 9, 1, -3, 3, 0, 0, -5, -2, -2, -1, -1, 0, 3, -2, 2, -4, 1, 1], [-4, 4, -5, -2, 1, 0, 0, 4, -3, 4, 2, 3, -3, -4, 1, 0, -1, -2, 1], [-7, 6, 5, -4, 9, 3, 2, -4, 0, -3, -5, 3, 4, 6, -2, 6, -7, 5, 3], [3, 7, 3, -2, 6, 1, 0, -4, 2, -3, 2, 2, 2, 4, -1, 1, -3, 4, 3], [5, -5, -1, 0, 2, -2, 0, 3, -4, 2, -2, 1, 0, -2, 1, 1, -2, 2, 1], [-1, 0, -2, -1, -1, -4, -1, 3, -2, -2, 1, -4, 0, -1, -3, -3, 3, -4, -2], [-3, 1, -6, 1, 0, -2, 1, 2, 2, 0, 1, -3, -3, 0, 0, -4, 2, -2, 0], [2, -2, 3, 1, 4, 1, -1, -1, 1, 1, -1, -1, 2, 4, 0, 1, -1, 3, 1], [-1, 6, 1, 0, 6, 1, 3, -3, 2, 0, -4, 3, 2, 4, -2, 6, -5, 6, 2], [-8, 4, 0, 1, 1, 1, -1, -4, 3, 1, -5, 0, 4, 0, 0, 3, -2, 4, 2], [-3, 0, 2, 1, -2, -3, 1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 1, 1, -1], [-5, 6, -7, -1, 0, -1, 1, 1, 0, -1, 4, 0, -4, -3, 2, 1, 0, 0, 2], [-1, -3, 1, 0, -1, 0, 0, 2, 0, 3, 1, 1, -1, 1, -1, 0, -1, 0, -1], [13, -7, 3, -4, 4, 1, -4, -2, -3, 2, 1, -2, -1, 1, -4, -2, 0, -3, 1], [0, -2, 1, -5, -4, 2, 2, -1, 1, -1, -2, -2, 2, 1, 1, -1, 4, -1, -1], [-3, -1, 2, 5, -1, 7, -2, 0, 4, 2, 4, 2, 1, -1, 1, -1, 0, 1, -1], [-8, 8, -2, -2, 3, -3, 3, -3, 0, -2, -2, 0, 2, 4, 0, 2, -3, 0, 2], [-1, 0, 0, -1, 0, -1, 0, 0, 3, -1, 1, -1, -1, -1, 1, -3, 2, -1, -1], [8, -3, -3, -2, 1, -2, 2, 5, 0, 0, 3, 1, -2, 2, 1, -2, 1, -2, 1], [-13, 5, 1, 0, -2, 0, -2, 1, -1, -1, -3, -1, 2, -1, -1, 0, 2, 1, 0], [0, 2, -2, -2, -5, -5, 1, -1, 1, -3, -3, -2, -2, -1, -1, 0, 2, -1, 2], [-7, 6, 2, 1, 3, 2, 1, -3, 0, 0, 3, -1, 0, 2, 0, -3, 0, 3, -1], [5, 0, 5, -1, 7, 4, -2, -4, 0, -1, -4, 2, 5, 3, -2, 1, -3, 3, 4], [6, -1, 5, -2, 3, 4, -4, -1, -2, -3, -1, -2, 0, 2, -5, -1, -1, 0, -3], [0, -6, 6, 3, -2, 2, 0, 0, 1, 0, -3, 1, 4, 0, -1, 2, 0, 4, -2], [-6, -2, 3, 0, 4, 0, 0, -4, 2, -3, 1, 1, 3, 5, -2, 3, -2, -1, 3], [1, 3, 3, -1, 3, 1, 1, 2, 2, -1, -1, 1, 1, 0, 0, -2, 0, 3, 3], [-9, 3, -3, -1, -2, -2, -1, -2, -1, 0, 1, -2, -1, 1, 1, -3, 2, -2, -1], [-1, -1, -4, 6, -5, 0, 0, 2, 4, 2, -1, -3, 0, -2, 3, -4, 2, 1, 0], [3, -6, -3, 3, -8, -5, 1, 6, 2, 2, 3, 0, -1, -6, 6, -4, 6, -2, -2], [4, -9, 4, 4, 1, 4, -1, 0, 2, -2, 2, 3, 3, 1, 0, 0, -2, -1, 0], [-2, 11, -1, -7, 1, 0, 0, -5, -3, -3, 2, -7, 0, 6, -7, 2, -1, -3, -1], [-14, 7, 0, -1, 2, 4, 0, -5, 3, 0, -2, 1, 2, 2, -1, 1, -1, 2, 2], [-4, 2, 0, -3, 6, 2, 1, -3, -2, 1, 1, 1, 0, 5, -3, -1, -3, 1, 1], [4, 0, -4, 1, -1, 0, -1, 0, -2, 2, 1, 1, -3, -4, 2, -4, 1, -6, -2], [1, -5, -2, 2, 2, -1, 1, -1, 1, 2, 5, -2, -2, 1, -1, -1, 0, 2, -1], [-10, 3, -2, -1, -4, -5, -1, 0, 2, -1, -5, -6, -2, -2, -1, -4, 2, 0, -3], [-12, 5, 1, 1, 4, 3, 0, -2, 2, -3, -4, 1, 3, 4, -3, 4, -5, 2, 1], [10, -6, 3, 3, 1, -3, -1, 1, 1, 3, 3, -1, -1, 1, 0, -1, 0, 0, -3], [7, -2, -1, 2, -4, -1, -1, 5, -1, 1, 9, 1, -2, -3, 3, -7, 4, -4, 1], [11, -7, -1, 1, 2, 1, -1, 2, 1, 4, 1, 1, -1, -3, 2, 3, 3, 0, 0], [-7, 5, -1, -2, 4, 4, -1, 2, -2, -2, -4, -1, 0, 2, -5, -1, -4, 5, 2], [-3, -2, -4, 6, -4, 0, -1, 6, 2, 0, -1, 0, -2, -6, 2, -3, 4, 0, -1], [-5, -1, -3, 0, 0, 3, -1, -2, 2, 0, 2, 1, -1, -1, 1, -1, -1, -4, 0], [2, -2, -3, 4, -2, 2, 1, 1, 1, -2, 3, 3, 1, -2, 1, -1, -2, 0, 0], [10, -3, -4, -1, 0, -3, 2, 2, -2, 0, 7, 3, -4, -4, 3, 0, -1, -4, 4], [10, -7, 0, 1, 3, 1, -3, 0, -5, 4, 4, 1, 0, 0, 1, 1, 0, 0, -2], [3, -9, 2, 1, -8, -7, -1, 5, -3, 2, 1, -3, -2, -6, 1, 0, 5, -5, -3], [-6, 1, 3, -4, 5, 2, 2, -4, 0, -4, -1, 3, 0, 6, -1, 4, -4, 6, 4], [8, 3, -1, 0, -5, -3, -2, 2, -2, -2, 1, -4, 0, -5, -2, -2, 6, -7, -3], [1, -8, 2, 6, -5, 4, -4, 3, 1, 1, 0, -2, 4, -3, 1, 0, 2, -1, -3], [-6, -3, -2, -3, -2, 2, 4, 1, 0, -3, -2, -1, -2, 3, -4, 3, -2, 1, -2], [-6, -4, -2, 2, 0, 3, 1, 0, 4, 1, 0, 1, -2, 0, 2, 2, 0, 4, 0], [-8, -4, 1, -3, -3, 0, 0, 2, -1, 1, 2, -3, -4, 2, -1, -4, 2, 0, -3], [12, -3, 0, -3, 1, -2, -2, 6, -3, -1, 5, 1, -9, -3, -1, -6, 1, -3, -1], [-10, 0, 2, 1, 1, 4, 1, 0, 0, -1, -4, 2, -2, 3, -2, 1, -4, 2, -1], [5, 3, -3, 3, 3, -1, -2, -1, 0, 1, 1, 2, 4, 1, 0, -1, -3, 1, 1], [6, 2, 1, 2, 1, 5, 3, -1, 4, 1, 3, -1, 2, 2, 2, 1, -3, 4, 0], [-4, 9, 1, -5, 3, 2, 0, 0, -4, -1, -3, 0, -2, 5, -4, -2, -3, 3, 1], [5, -5, -2, 2, 0, -4, 0, 1, 1, 2, 4, -1, -4, -1, 1, -6, 0, -4, 1], [2, -6, -5, 3, -1, -4, 1, 1, -2, 0, 0, 0, 1, -2, 4, 1, 0, -3, -1], [9, -6, -1, -1, -4, -1, 2, 6, -1, 2, -2, 0, 0, -2, 1, -3, 1, -2, -1], [11, -13, 4, 3, -7, 0, -2, 8, 1, 3, 6, -1, -3, -5, 4, -7, 5, -3, -4], [-4, 0, 2, -1, 2, -1, 0, -4, -1, -2, -3, -1, 2, 4, -2, 4, 1, 0, -1], [-3, -4, 1, 6, -6, 0, -2, 1, 3, 1, 0, -2, 3, -2, 3, 2, -1, 0, -2], [-1, -1, 7, -4, 4, -2, 0, -6, 0, 1, -1, -3, 2, 4, -2, -1, 0, 2, 1], [-12, 0, 1, -1, -3, 1, 1, -4, 1, -4, -9, -2, 2, 2, -3, 4, -1, 1, -2], [-4, 11, 3, -3, 1, 0, 2, -6, 0, -1, -8, -3, 3, 2, -3, 3, -2, 2, 0], [3, -8, 0, 1, 2, 1, -3, 0, 0, 5, 1, -1, 1, -3, 2, 0, 1, 0, 1], [-2, 6, 2, 1, 1, 4, 3, -3, 2, -2, 6, 1, 1, 4, 1, 1, -2, 1, 1], [-6, 3, 1, -3, -1, 0, -1, -5, -1, -4, -2, -3, -1, 1, -3, 4, 3, 1, 0], [-5, 6, -1, -5, 5, -1, -1, -4, -3, -2, -7, -4, 2, 4, -5, 4, -2, 1, 3], [3, 8, -6, 3, 0, -4, 4, 1, 3, 1, -3, 2, 2, 0, 1, 5, -3, 5, 4], [-10, 0, 2, 4, 4, 1, 0, -1, 0, -1, -1, 4, 2, 2, 0, 1, -4, 4, 0], [-5, -3, -4, 6, -2, -2, 1, 3, -1, 1, -3, 4, 2, -7, 4, 5, -1, 1, 0], [4, -1, 8, -1, 7, 6, 1, -7, -3, -3, -3, 3, 3, 7, -3, 5, -3, 5, 2], [13, -4, 4, 1, -6, -1, -1, -1, 2, 3, 2, -5, -2, 1, 1, -6, 2, -1, -2], [-1, -2, 3, -1, 5, -3, -1, 0, -3, 1, 5, 4, -1, -1, 0, -2, -1, -2, 1], [1, -5, 0, -1, -4, 1, 2, 3, -1, 1, 4, -3, -1, -1, 2, 0, 2, 0, 0], [-14, 13, -1, 0, 2, 3, 1, -7, 3, -7, -4, -1, 0, 5, -3, -1, -3, 1, -2], [17, -16, 1, 0, -3, -6, -1, 6, -9, 4, 9, 4, -6, -5, 1, -2, 2, -5, 0], [-3, -8, 0, 6, 2, 2, 1, -1, 3, 0, -2, 2, 1, -2, 1, 3, -2, 1, -2], [5, 1, 3, 2, 4, 1, -2, -7, 3, -4, -2, 1, 3, 2, 0, 0, -4, 2, -2], [1, 5, 9, 0, 6, 3, -1, -4, 0, 0, -4, 1, 6, 0, -2, 5, -2, 0, 2], [2, -3, 0, 3, -1, 5, -2, 5, 0, 2, 3, 3, -3, -2, 3, -4, -2, 0, 1], [-2, 4, -3, 2, -2, -2, 2, 3, 1, 0, -2, 2, -2, -3, 4, 1, -4, 1, -2], [-4, -2, 4, -1, 1, 1, 2, -3, 2, -6, -3, -4, 3, 6, -4, 3, -2, 0, -5], [-7, 7, 3, -3, 3, 0, 0, -4, 1, 0, -3, -1, 3, 3, -1, 0, 0, 2, 5], [-4, -9, 1, 1, -4, -3, -1, 4, 3, 1, 4, -1, -6, -2, 3, -9, 4, -2, -1], [-2, -2, 1, 4, -5, -1, 4, 1, 6, 1, -4, -1, 5, 3, 3, -1, 1, 3, 2], [5, 5, -1, 1, 7, 2, 3, 3, 1, 8, 2, 6, 0, 2, 4, 2, -4, 8, 6], [2, -7, 4, 1, 1, -2, 2, 0, -3, -1, 2, 0, 2, 0, -1, 5, -1, -1, -1], [2, 6, -2, -2, 4, 3, 1, -4, 0, -1, -6, 0, 3, 3, -3, 7, -7, 3, 2], [16, -4, 3, 2, 5, 0, -1, 0, -1, -1, 1, 5, -2, -3, 2, -2, 0, 1, 2], [-5, 4, 2, -1, -4, 3, 2, 1, 1, 1, 0, 4, 1, 0, 0, 5, -2, 4, 3], [-1, 4, 3, 1, 1, 1, 1, -6, 5, -1, 2, -1, 2, 2, 1, -1, 2, 3, 0], [-4, -5, 3, 0, -3, -3, -1, 2, 1, 2, -1, -4, 2, 1, -1, -3, 3, 0, -3], [-5, -10, 2, 8, -2, -2, -2, 4, 0, 1, -5, 2, 3, -7, 1, -1, 1, 1, -1], [-9, 3, -5, 1, -5, -4, 0, 0, 0, -4, 0, -5, -2, -7, -1, -2, 3, -7, -6], [0, -4, 2, -3, 0, 5, 1, -2, 3, -1, -4, -1, 3, 1, 1, 0, 1, 2, -1], [-5, 5, 0, -1, 3, 2, 1, -4, 2, -2, -5, 0, 0, 3, -3, 3, 0, 3, -1], [12, -1, 3, -1, 6, 4, -1, -5, 0, -1, 9, 0, 2, 1, -2, 0, -1, -1, 2], [-10, -2, -3, -4, -2, 1, 2, 1, -1, -3, -5, 1, 0, -1, -2, 3, -1, 0, 0], [-4, -1, 8, 0, -1, 3, 0, -5, 2, -1, -7, -2, 3, 3, 0, -5, 3, 0, -1], [7, -8, 1, -2, -6, -4, 1, 5, -3, -1, -1, -1, -7, -4, -1, -5, 4, -6, -3], [-9, 3, -5, 2, 1, 0, 2, 6, -2, 2, 2, 4, -3, -5, 5, 2, -3, -1, 2], [-3, -7, 2, 4, -4, 0, 0, 1, 2, 4, 2, 1, 1, -7, 6, 1, 4, 1, -1], [-10, -9, -5, 4, 1, 0, -2, 1, -2, 1, 2, -1, 1, -1, 0, 6, -2, -1, -2], [9, -1, -1, -5, 1, -2, -3, 5, -6, -3, -2, -1, -3, -2, -1, -4, 0, -3, 3], [4, 1, 5, 1, 6, 5, -1, -4, 5, -3, -2, 2, 1, 3, -1, -1, -3, 4, 1], [8, 1, 1, -1, 5, -3, 3, 4, 0, 2, -1, 5, -2, 1, -1, 4, -1, 3, 5], [9, -5, 0, -1, 0, -4, 2, 8, -5, 0, 3, 2, -4, -3, 1, -2, 1, -1, -2], [-11, -2, -5, 4, 3, -3, 1, -2, 3, 1, -5, 2, -1, 0, 1, 4, -2, 2, 3], [0, 0, 3, 0, -1, -5, -1, 2, -7, -1, 2, -3, -3, -3, -4, 2, 1, -6, -3], [5, -7, 2, 2, 1, 4, 0, 2, -1, -4, 0, 0, 0, 2, -3, -1, 0, -3, -5], [2, -1, -1, -1, 2, -1, 2, 2, 1, 2, -3, 5, 0, 0, 2, 3, -1, 4, 5], [-1, -2, -5, 1, -1, 1, 1, 0, -1, -3, 4, 3, 0, -4, 3, 5, -2, -3, 0], [11, -15, -3, 7, -5, 3, 2, 9, 4, 8, 3, 5, 1, -6, 8, -1, 0, 2, 4], [-12, -1, -2, -2, -6, 0, 0, -2, -1, -2, 8, -3, -3, 0, 2, -3, 4, -6, -4], [18, -5, 3, -3, -3, -3, -6, 2, -4, 1, 10, -1, -7, -4, -1, -8, 5, -5, 1], [-4, -1, -1, 2, 4, -1, 0, -6, 0, 2, -3, 1, 2, 4, -2, 2, -1, 5, 2], [3, -7, 2, 3, 1, 2, 0, -2, 1, 0, -8, -1, 8, 4, -1, 8, -4, 5, -2], [-1, 3, 0, -4, 2, 2, -3, 0, 3, 2, 3, 0, -4, 4, -1, -5, -1, 1, 1], [-3, -2, 3, 0, -1, 2, 0, 1, -2, 3, 2, 0, 2, 0, -2, 4, 1, 1, 0], [-8, 2, -1, 4, -6, -2, 0, 4, 5, 0, -2, 0, 2, -3, 3, -1, 3, -1, 1], [-5, -3, 6, -1, 0, 0, -1, -7, 2, -3, -2, -3, 6, 5, 0, 2, 1, 0, 1], [25, -5, 0, 1, 3, 0, -1, 0, 0, 4, 5, 2, 0, -1, 3, 3, 0, 1, 3], [2, -3, 5, -3, -2, 3, 0, -2, 2, -6, 4, -1, -4, 3, -3, -2, -2, -5, -5], [-5, -2, -3, 3, -4, 0, 2, 5, 0, 0, -1, 2, -3, -6, 1, -5, 1, -6, -2], [-5, -1, 4, 1, -1, 2, -1, -2, -3, 3, 1, -2, 4, 0, -2, 5, 0, 1, 1], [5, -5, 5, -2, -5, 0, 1, 1, -3, -4, -5, 0, -2, -1, -1, 0, 3, -4, -3], [2, -1, 4, -8, -1, -2, -4, 1, -3, -1, 2, -8, -8, 3, -6, -9, 4, -6, -5], [14, -3, 2, -1, -4, 0, -2, -2, 4, -2, -1, -8, 2, 5, -1, -4, 3, 1, -2], [-4, -3, -7, 1, -1, -3, 2, 2, -1, 1, 3, -1, 0, -2, -2, -1, 0, 1, 2], [-15, 3, -1, 0, 3, -1, 0, 1, -3, -1, 0, 6, -1, -2, 0, 2, 0, -2, 2], [-5, 2, 1, 2, 1, -1, -2, 0, 5, -1, -5, -4, 3, 0, 0, -1, 1, -4, 0], [-2, -1, 4, -3, 0, 4, -3, -1, -1, -1, -1, 3, -1, 3, 0, 2, -3, -1, 2], [-6, 9, 2, -2, -4, 3, 1, -3, 7, -1, -2, -3, 3, 0, 3, -3, 2, 1, 1], [16, -11, 3, 1, -3, 8, 0, 3, 2, 2, 1, 3, 2, 1, 2, -4, 0, 2, -1], [-5, -5, 2, 8, 0, 2, 1, 3, 5, 1, -4, 7, 7, -2, 5, 2, -2, 6, 3], [-2, 10, 4, -5, 5, 0, 2, -5, 0, -2, -3, 1, 2, 3, -2, 1, -4, 6, 1], [-5, -5, -11, 4, -9, -2, 5, 7, 0, 1, 1, 3, -5, -9, 6, 3, 1, -6, -2], [9, -12, 8, 1, -1, 8, -4, 1, -3, 2, -1, -2, 3, -3, -2, -2, 2, 0, -4], [-3, 3, -4, -1, -3, -3, -3, 5, -4, 1, 3, -1, -7, -6, -5, -1, 3, -6, -1], [3, 3, 0, 1, 1, 2, 0, -1, 1, -3, 3, -1, 1, 1, 0, -3, -4, 1, 2], [3, 1, -3, 2, -3, -1, -1, 3, -1, 4, -4, 3, -1, -6, 3, -3, 2, -2, 0], [-21, 8, -3, -2, 4, 1, 0, -2, 3, -1, -4, 1, 2, 3, -3, 4, -3, 1, 2], [2, -7, 3, -3, -4, -3, -4, -6, 0, -5, 2, -3, 1, 2, -3, -4, 5, -10, -3], [-8, -5, -8, 4, -4, -3, 3, 11, -3, 5, 2, 7, -5, -8, 3, 3, 0, -1, 1], [1, -1, 4, 0, 8, 3, -4, -1, -4, -1, 1, 2, -1, 3, -4, -1, -3, 0, 3], [-6, -11, -3, 8, -6, 2, 0, -1, 3, 0, -1, -1, 4, -7, 4, -1, 4, -2, -4], [7, -9, -1, 2, -8, -1, -2, 0, 2, 1, -8, -4, 2, 0, 1, 1, 3, -2, -3], [-1, -3, 3, -3, -2, -6, 3, 2, 1, 2, -3, -3, -1, 3, 0, 0, 2, 1, 0], [-21, 9, -6, -3, 4, 0, 1, -1, -2, 1, -3, 1, 2, 1, -3, 6, -1, 8, 2], [0, 2, 2, -4, 5, 8, 1, -3, 1, 3, 1, 2, 2, 9, 0, 3, -4, 5, 4], [-2, 0, -7, 1, -3, 6, 4, 6, 4, 0, 3, 1, -1, 1, 4, 1, -3, 1, -1], [7, 8, 1, 1, 7, -2, -1, 2, -4, 0, -3, 1, 1, -1, -5, 1, -2, 1, -3], [-3, -1, 3, -3, 2, 1, 2, -4, -2, -4, 6, -2, -1, 8, -4, -3, 1, -5, -5], [-1, -9, -7, 4, 0, -1, 5, 8, 0, 6, 2, 9, -2, -4, 5, 8, -2, 1, 4], [-7, -4, -1, 6, -2, 3, 1, -1, 1, 5, -1, 6, 1, -2, 1, 3, -3, 4, 1], [6, -10, -2, 5, 0, -5, 0, 1, 0, -2, -1, -1, -3, 0, 0, -3, -1, 0, -3], [9, 4, 5, -7, 2, 4, 0, -5, 1, -4, -6, -3, 4, 4, -5, 1, 1, 2, 2], [5, 1, 5, -1, 1, 1, 0, -2, -2, -2, 1, 3, 0, 3, 0, -2, -2, -1, 1], [-1, -7, -8, 0, -3, -6, 2, 5, -6, 3, -5, 1, -2, -6, 2, 6, 1, 0, -2], [4, 2, -4, -1, 5, -3, -1, 2, -9, 6, 0, 1, -1, -1, -2, 2, -5, 6, 3], [6, -5, -1, 1, -4, 9, -1, 1, 0, -3, 6, 2, -2, -1, -1, 1, -3, -7, -6], [-12, 2, 5, -6, 3, 0, 5, -1, 2, -5, -2, -3, 1, 7, -5, 0, -1, 1, 1], [-10, -1, 0, 4, 1, 2, 4, 0, 6, 0, -1, 3, -1, 1, 3, -1, -2, 4, 3], [-1, -4, -7, 2, 2, -3, 1, 4, -2, 3, 3, 6, -8, -2, 2, 3, -3, 3, 1], [-12, 3, -2, 0, 5, 2, -1, -4, -1, 3, -10, 2, 6, 1, 1, 5, -4, 3, 3], [-4, -5, -1, -3, 2, 0, 2, 0, 4, -1, 2, 2, 4, 7, 0, -2, -1, 4, 5], [-12, 11, -7, -1, -1, -3, 2, 6, 0, -1, 0, 3, -6, -4, 2, -2, 1, -2, 1], [-6, 2, 0, 1, 6, 2, 0, 5, -1, 1, 1, 1, 3, 1, -3, 2, 0, 5, 3], [7, -4, 0, 1, 3, 9, 1, 0, 3, 1, -1, 4, -2, 0, 6, 0, -2, 4, 4], [13, 1, 5, -1, 6, 4, -2, -2, -1, 1, -2, -2, 5, 5, -6, 3, -5, 8, 3], [-6, -4, 5, 2, -1, 0, 2, 1, -3, 2, -8, 4, 2, -1, 4, -2, -2, 3, 0], [6, 8, 2, -2, 4, -6, -3, -2, -2, -1, -3, -2, 3, 5, -2, -3, 0, 3, 4], [9, 2, 16, -9, 9, 6, 1, -7, -3, 0, -3, 4, 8, 7, -5, 8, -3, 6, 4], [-17, 8, 0, -4, 2, 4, 2, -5, 2, -6, -4, 4, -2, 6, -5, 1, -3, 0, 4], [6, -6, 7, -1, -2, -5, -3, -2, 1, -2, 3, -4, -2, 0, 1, 2, 4, -5, -1], [9, -16, -2, 4, -6, 7, -2, 6, 5, 6, 7, -3, 2, -5, 4, -5, 2, 0, -4], [2, -9, 1, 2, 4, -2, -1, 1, -2, 3, 3, -7, 0, 0, -2, 0, 2, -3, -6], [15, -2, 4, -2, 4, -1, 2, 7, -3, 2, 1, 4, -5, 2, -1, -3, -6, 0, 3], [8, 7, 3, -7, 9, 3, 3, 1, 2, 0, 0, 4, 2, 10, 0, -2, -5, 4, 5], [2, 5, 6, -5, 2, 5, 2, -5, -4, -5, -9, -1, 4, 5, -6, 2, -5, 0, 1], [5, 7, -1, -3, 11, -2, -3, 0, -6, 1, -1, 1, -3, 2, -6, 2, -1, 3, 4], [-12, 20, -5, -8, 0, -5, 1, -2, 1, -3, 8, -4, -5, 6, -4, -4, 2, -4, -2], [10, 8, 1, -7, 0, 5, 1, -2, -2, -3, -1, -7, 0, 5, -4, 2, 3, 2, 0], [-5, -7, -2, -1, -10, -3, 0, 2, 1, 2, 3, -1, -4, -2, 7, -6, 9, -4, -2], [0, 9, -1, 3, 7, -2, 2, -3, 2, 2, 10, 2, -1, 0, 0, 7, -3, 3, 0], [8, -3, 8, 0, 2, 6, 1, 2, -2, 2, 7, 4, -2, 4, 3, -2, -2, 1, 2], [-6, -3, -2, 4, -4, 1, 3, 3, 7, 0, -3, -1, 0, 1, 3, -3, 0, -3, 2], [-11, -6, 2, 4, 2, 1, 0, -6, 0, -1, -1, 5, 0, 0, 5, 1, -1, -5, 0], [-4, -6, 1, 3, -11, 3, 2, 5, -2, 1, -2, 0, 0, -5, 5, -1, -1, -1, -6], [6, -5, 1, 1, 1, 5, 0, -3, -1, 0, -3, 4, 2, 0, 0, 2, 2, 4, 3], [-12, 6, -1, 1, 1, 0, 2, -3, 5, 4, 4, 2, 6, 0, 5, 4, 1, 3, 5], [-11, 5, -1, -2, -2, -1, 4, -5, 5, -1, -3, -5, -2, 3, 4, -3, 1, 2, -1], [11, -2, -1, 2, 3, -1, -1, -2, -2, 3, 4, 3, 7, -1, 0, 9, 3, 7, 1], [14, -3, 1, -3, 4, 0, 1, 6, -5, 3, 6, 7, -2, -2, -1, 3, 1, 0, 2], [-27, 12, 1, 0, -1, 5, 1, -2, -2, 1, -1, -2, 2, 0, 0, 0, -2, 0, -4], [-8, 10, 2, -11, 1, 1, -2, -5, -1, -7, -2, -8, 0, 8, -5, -3, 0, 1, -1], [9, -1, 1, -3, 7, -3, -3, 2, -5, 2, 6, -2, -6, -4, -1, -2, 4, -2, 1], [-7, -1, 2, -3, 0, 0, 4, -2, -2, 3, 3, 1, 3, 1, -2, 6, 1, 4, 1], [-9, -3, -7, 4, -2, -2, 3, -4, 4, -4, -6, 2, 5, -5, 4, 5, -4, 0, -1], [-12, -8, -2, 3, 1, -4, 3, 0, 5, -1, -7, 4, 1, -3, 5, 0, 0, -1, 1], [2, 11, 0, 5, 10, 4, 3, -8, 7, -8, -7, 4, 3, 5, -4, 4, -8, 6, 2], [6, -7, -1, -2, -1, -9, 1, -1, -3, 1, -1, 2, 1, -4, 6, 4, 4, -3, 3], [-16, 12, 2, -1, 9, 2, 2, -4, 1, -4, -7, 5, 4, 2, -4, 7, -4, 8, 6], [-22, -2, 4, 2, -3, 6, 1, -3, 3, -7, -6, -2, 4, 3, -2, -2, 1, 3, 1], [-1, 1, 3, 3, 1, 4, -4, 1, -4, 3, -5, 1, -1, 4, -2, -1, -3, 3, 1], [7, -1, -7, 0, -3, 2, -4, 6, 0, 7, 4, -4, -2, -4, 4, -8, 0, -6, -2], [-4, 0, 1, 0, 2, -8, 0, -2, -2, -3, -6, -6, 0, 2, -7, 1, 0, 0, -3], [1, 3, -1, -4, -1, 1, 2, 4, -3, 0, -4, -3, 3, 2, -2, 5, -1, 2, 0], [4, 0, 1, -8, 3, -4, -4, 4, -7, 0, 3, 1, -3, 2, -2, -1, -2, 0, 4], [10, 7, 10, -2, 3, -7, 2, -4, -1, -4, -2, -2, 1, 4, -3, 4, 1, 0, -1], [22, 1, 3, -1, -2, 3, -2, 4, 0, 0, -3, -1, 4, -3, 2, -3, 2, -6, 0], [-4, -1, 7, -2, -1, 7, -1, -2, 4, -1, 7, -2, -6, 2, 0, -9, 4, -3, -1], [-3, 7, -3, 3, -4, -3, 0, 6, 1, 3, 1, -3, -4, -2, -1, -2, 5, 1, -1], [-14, 7, 5, -2, 1, 5, 2, -5, -3, 0, -6, -1, 3, 4, -3, -1, -5, 0, 0], [1, -6, -6, 1, -6, 0, -3, 1, -2, 2, -2, -1, 1, -6, 4, -1, -1, -4, -2], [20, -13, 2, 9, -4, 6, 1, 3, 3, 7, 4, 2, 2, -6, 5, 2, 0, 3, -3], [9, 0, -1, -4, 0, -1, 1, -1, 1, -3, -9, -9, 2, 3, -7, -2, 2, 1, -1], [4, 15, 1, -7, 2, 0, -4, 5, -4, -4, 3, -7, -8, 1, -7, -6, 2, -5, -3], [18, -12, -11, 3, -12, -4, -3, 11, -2, 4, 13, -1, -9, -10, 3, -5, 6, -6, 0], [-3, 3, -3, 1, -5, -3, 1, 4, -2, 1, -4, -2, -3, 3, -1, -1, -3, 3, -2], [-4, -18, 3, 3, -11, 1, -5, -1, 3, 1, 6, -5, -3, -4, 7, -9, 7, -7, -7], [12, -4, 8, 2, 1, 7, -4, 2, -1, 1, 6, 3, -2, -3, 5, -6, 0, -6, -2], [-4, -1, 7, 1, 5, 7, 5, -7, 1, -2, -5, 5, 3, 3, -2, 7, -6, 8, 2], [-7, -1, 5, -1, -1, 0, 1, -6, -6, -1, -3, -3, -1, 2, -8, 8, -1, 3, -3], [5, 4, -1, 2, 1, 1, 1, 2, 0, -1, 1, 6, 2, 0, -4, 3, -6, 3, 4], [2, 6, -16, -1, -5, -8, 4, 6, 0, 3, 5, -1, -6, -5, 2, 0, 1, -6, 3], [16, -3, 0, 5, 4, -1, -4, 4, -1, 2, -7, -1, 4, -2, -2, 4, -3, 3, 0], [10, 1, 0, 1, 4, -3, 2, 7, 2, 3, 6, 6, -4, 3, 3, -5, -3, 3, 2], [3, -3, 10, 3, -1, 6, 1, -7, 6, -1, 0, -6, 9, 4, 0, 1, 0, 4, -3], [3, 1, -1, -2, -3, 2, 0, 3, 4, 2, 9, -1, 0, 0, -1, 1, -1, 4, 0], [3, 2, 16, -2, 11, 10, -3, -9, 3, -4, 0, 1, 7, 12, -3, 3, -6, 8, 6], [15, -13, -2, 1, -6, -5, -1, 5, 0, 3, 3, -2, -3, -4, -2, -2, 7, -6, -4], [-4, 6, -7, -2, -2, -1, 4, 0, -1, -2, -9, 1, -2, 2, 0, -2, 3, 1, 1], [4, 4, 1, 0, 4, -1, 0, 3, 2, -2, -3, 0, -3, -5, -4, 0, 1, 2, -1], [-9, 8, -10, 0, 1, -3, -1, 3, -3, 6, 1, 1, 0, -1, 1, 4, -4, 1, 0], [4, -10, -6, 11, -8, 0, -2, 4, 1, 6, 2, 1, 0, -8, 5, 1, 5, -6, -7], [12, -8, 5, 6, 1, 3, -5, 5, -2, 1, 10, 6, 0, -2, 4, -5, -3, -8, -1], [15, -9, -2, 4, 4, 4, -1, 1, -2, 6, 7, 4, -6, -2, 4, 1, -2, -2, -2], [-21, 11, 0, -7, 0, -1, -1, 1, -1, -6, -4, -7, -4, 4, -7, -2, -1, -3, 0], [3, 13, -6, -3, -7, -5, -5, 1, -1, 0, 1, -5, 0, -2, 1, -3, 5, -5, -1], [-3, 10, -2, 0, 3, -7, 1, -8, 5, -4, -10, -6, 9, 8, -3, 5, 0, 2, 1], [15, -14, -6, 6, -1, -6, -1, 11, 1, 6, 1, 2, -3, -10, 5, 2, 3, -4, -4], [-5, -5, 2, 2, -2, 1, 5, -6, 4, -1, 0, 0, -1, -1, 1, 3, 1, 3, 0], [17, 8, 11, -8, 9, 2, -6, -7, -5, -5, -4, -5, 6, 5, -10, 7, -2, 0, 0], [-3, 2, 4, -1, 2, -4, 1, 0, 3, -1, -13, -2, -2, -2, 0, -3, 3, 4, 1], [13, 3, 9, -4, 12, 6, -4, -9, 1, 0, 0, -4, 2, 7, -3, 0, -4, 2, -3], [13, 4, -5, -11, 4, 2, 1, 1, -3, -6, -2, -4, 2, 6, -5, 3, -5, -4, 0], [6, -2, -6, 0, -10, -10, 0, 7, -2, -1, 3, 1, -7, -4, 1, -6, 5, -8, -4], [22, -3, 2, 0, 9, -4, -1, -1, 3, 6, 9, 0, -1, 2, 3, -3, 2, 2, 4], [7, -6, -6, 4, -6, 2, -1, 0, 5, 1, -6, -6, 1, -5, 2, -3, 2, -1, -6], [-6, 2, 0, 1, -8, -4, 0, 1, -1, -4, 6, -1, 2, -2, -1, 1, 7, -5, -3], [-8, -11, -1, 0, -1, 1, -1, 0, 5, 4, -4, 4, -2, 1, 1, -3, -3, 2, 1], [10, -7, -4, 5, -3, -2, -5, 3, 4, 2, -2, -3, -2, -5, 1, -6, 7, 3, 0], [-9, -2, -11, 4, -15, -3, 4, 12, -3, 7, 1, 0, -3, -12, 7, -3, 7, -2, -4], [5, 4, -8, -3, -5, 0, 4, 8, -5, 1, 0, 3, -3, 1, 0, 2, -3, 3, -2], [-2, 6, 3, -2, 3, -4, 3, 1, -2, -1, -10, 4, 4, 0, -1, 2, -1, -2, 1], [-2, -3, 3, 7, -16, -2, -4, 0, -1, -2, 1, -7, -3, -7, 3, -4, 5, -7, -8], [9, -5, 0, -5, 0, 5, 1, 2, 2, 2, 7, 3, -5, 6, -2, -4, -1, -2, 1], [-6, 6, -9, -3, 9, -5, 4, -4, -2, -1, 5, 6, -2, 3, 1, 10, -4, 2, 7], [-3, 19, 1, 1, 15, 5, 5, -9, 4, -2, -4, 4, 9, 8, -6, 12, -7, 10, 7], [2, -5, 1, 1, 5, 3, 2, -2, -1, 0, 2, 7, -5, -1, 3, 1, 2, 3, 1], [8, -6, -4, 4, 0, -2, 2, 0, 8, 2, -3, 5, -1, 1, 3, 4, -1, 2, 1], [1, 8, 4, -2, 4, 1, 0, -7, 5, -3, 8, -1, 3, 6, -1, 0, 0, 2, 0], [-8, -6, -1, 5, 0, 7, -1, 4, 0, -3, 6, 8, 2, -1, 3, 3, -3, -1, -3], [4, 9, 1, -7, 3, 0, 3, -2, -2, -6, -2, -3, 3, 7, -4, 4, -2, 2, 2], [6, 8, 5, -2, 3, 1, 5, -5, 1, -1, -7, 0, 9, 4, -1, 13, -1, 12, 3], [16, -9, 3, 6, -2, -1, -4, -2, -1, 0, -7, -1, 7, -8, 1, 0, 5, -1, -3], [1, -11, 0, 4, -1, -4, -2, -2, -1, 4, -7, -2, 1, -6, 1, 4, 2, -1, -3], [15, 4, -1, -1, 4, 1, -1, 0, 0, -1, -4, 4, 2, -1, -4, 4, -3, 5, 7], [-6, 14, -9, -2, 3, -3, 5, -5, 0, -1, 0, 0, 0, 6, -4, 3, -5, 6, 3], [6, -1, 6, -2, -4, -4, -2, 1, -2, 0, 13, 0, 1, -5, 6, -3, 8, -6, 2], [9, 14, 13, -6, 9, 0, 2, -6, 1, -1, -9, 2, 3, 4, -3, -1, 0, 8, 3], [6, 1, 4, 2, 7, -3, -1, -2, 5, 1, -3, 3, -1, -2, 1, -3, 2, 5, 1], [-19, 7, 7, 0, -4, 6, 1, -8, 9, -1, -7, -5, 10, 3, 2, -4, 4, 0, -5], [0, 1, 7, 3, 5, 3, -2, -5, 5, -2, -3, 6, -2, 2, 3, -3, -2, 5, 3], [-17, 6, 3, -2, 2, 9, 4, -6, 7, -1, 4, 2, -1, 6, -3, 3, -1, 1, -1], [-21, -12, -4, 1, -4, -2, 0, 5, -3, 4, -5, 7, 1, -2, 4, 5, 1, 7, 1], [25, -14, 14, 7, -2, 9, -4, -3, 1, 0, -3, 0, 11, -1, 4, 3, 1, 4, -5], [7, -13, -9, 7, -7, -1, -1, 4, 3, 7, -2, 1, 2, -6, 9, 1, 2, 0, -1], [-39, 12, 6, 2, 8, 8, 2, -8, 3, -1, -5, 2, 2, 3, -2, 7, -7, -1, -2], [5, 9, -2, -10, 7, 4, 1, 1, -2, -3, -14, -4, 1, 5, -8, 5, -5, 2, 4], [2, -11, -5, 1, -2, 12, 4, -2, 5, 0, -3, 3, 3, 5, 1, 5, -5, 2, 3], [-12, -6, 1, -2, -11, -1, 0, 7, 3, -1, 10, -6, -5, -4, 5, -6, 10, -14, -7], [25, -7, 7, -4, 2, 3, -1, -1, 1, 0, -8, -5, 1, 6, -6, 1, 1, 2, -1], [-3, 1, 5, -5, 3, -7, 0, -1, -7, -6, -5, -4, 0, 2, -4, -3, 1, 1, 0], [11, 4, 4, 7, 5, 2, 2, -2, 2, 7, 2, 7, 2, 3, 8, 0, -5, 7, 6], [7, -6, 8, -2, 1, -1, 4, 0, 1, 1, -4, 1, 1, 8, 1, -1, -2, 1, -1], [20, -15, -6, -3, -7, 0, 1, 5, -1, 2, -2, -5, -6, -6, 3, -7, 4, -10, -9], [4, 3, -4, 0, -2, 0, -3, 4, -3, -1, 5, 2, 1, 1, 0, -1, 2, -1, -1], [5, 1, -6, -3, -4, -1, 5, 6, 2, -1, 11, 1, -4, -1, 9, -6, 5, 2, 2], [-11, 12, -3, 1, 3, 1, -1, 1, 6, -7, -8, -5, 1, 2, -4, -4, 0, -1, 0], [-4, -3, 4, 6, -2, 2, -3, 0, 6, 4, 5, 0, -2, 0, 4, 1, 1, -1, -3], [19, -5, 3, -3, 0, 3, 0, 2, 1, -3, 9, 1, -2, 2, 1, -3, -3, -6, -5], [-3, -17, 2, 4, 1, 4, -4, 3, 3, 9, 2, 4, 0, -5, 3, -2, 2, 2, 0], [5, -3, 0, -2, 1, -2, 1, -2, -1, -2, -1, 3, 0, -3, -4, 9, -4, 5, 4], [10, -4, 5, 0, -7, -1, -4, 7, -1, 1, -1, -1, -2, 1, 2, -8, 6, -3, -1], [30, -9, 2, 7, 4, -2, -3, -4, 1, 4, 5, -4, -1, -3, 2, -3, 0, 3, -2], [5, 3, 3, 5, -8, 0, 0, -6, 1, -3, -6, -4, 3, 1, 0, -1, 3, -6, -5], [8, 0, 1, -1, -1, -4, -4, -1, -4, 1, 0, -9, 1, -4, 0, -4, 7, -8, -7], [14, 1, -5, -6, 10, 1, 0, 5, -7, 2, -1, 6, -11, 3, -5, 1, -5, 3, 2], [12, -11, -10, -1, -5, -3, -2, 2, -4, 2, -1, -3, -3, 0, 0, 0, 5, -6, -3], [17, 11, 10, -9, 16, 9, 1, -4, -1, -9, -3, 2, 0, 14, -11, 0, -10, 4, 3], [-19, 16, -4, -3, 4, -5, -1, 1, -6, 2, -3, -2, -6, 3, -6, -3, -4, -1, 1], [-10, 22, 12, -8, 16, 8, -3, -14, -3, -4, -15, -3, 7, 10, -12, 8, -5, 9, -1], [-15, -4, 4, 4, 5, 5, 4, 2, 4, 1, -3, 7, 4, 0, 2, 8, -7, 9, 4]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_8030_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_8030_2_a_bl();".
// 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_8030_2_a_bl(:prec:=19)
    chi := MakeCharacter_8030_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 2));
    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_8030_2_a_bl();".
// 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_8030_2_a_bl( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_8030_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![316, -3030, 148, 53435, -87262, -115990, 294985, -62143, -199819, 112766, 45667, -47124, 79, 8590, -1563, -667, 225, 8, -10, 1]>,<7,R![-44544, -906976, -3463648, -1673040, 7864248, 6107840, -6938816, -4584094, 3492340, 1367589, -995800, -170508, 154378, 5315, -12628, 577, 510, -48, -8, 1]>],Snew);
    return Vf;
end function;