
# q-expansion of newform 1386.4.a.w, downloaded from the LMFDB on 22 September 2026.

# We generate the q-expansion using the Hecke eigenvalues a_p at the primes.
# Each a_p is given as a linear combination
# of the following basis for the coefficient ring.

def make_data():

    from sage.all import prod, floor, prime_powers, gcd, QQ, primes_first_n, next_prime, RR

    def discrete_log(elts, gens, mod):
        # algorithm 2.2, page 16 of https://arxiv.org/abs/0903.2785
        def table_gens(gens, mod):
            T = [1]
            n = len(gens)
            r = [None]*n
            s = [None]*n
            for i in range(n):
                beta = gens[i]
                r[i] = 1
                N = len(T)
                while beta not in T:
                    for Tj in T[:N]:
                        T.append((beta*Tj) % mod)
                    beta = (beta*gens[i]) % mod
                    r[i] += 1
                s[i] = T.index(beta)
            return T, r, s
        T, r, s = table_gens(gens, mod)
        n = len(gens)
        N = [ prod(r[:j]) for j in range(n) ]
        Z = lambda s: [ (floor(s/N[j]) % r[j]) for j in range(n)]
        return [Z(T.index(elt % mod)) for elt in elts]
    def extend_multiplicatively(an):
        for pp in prime_powers(len(an)-1):
            for k in range(1, (len(an) - 1)//pp + 1):
                if gcd(k, pp) == 1:
                    an[pp*k] = an[pp]*an[k]
    from sage.all import PolynomialRing, NumberField
    R = PolynomialRing(QQ, "x")
    f = R(poly_data)
    K = NumberField(f, "a")
    betas = [K.gens()[0]**i for i in range(len(poly_data))]
    convert_elt_to_field = lambda elt: sum(c*beta for c, beta in zip(elt, betas))
    # convert aps to K elements
    primes = primes_first_n(len(aps_data))
    good_primes = [p for p in primes if not p.divides(level)]
    aps = map(convert_elt_to_field, aps_data)
    if not hecke_ring_character_values:
        # trivial character
        char_values = dict(zip(good_primes, [1]*len(good_primes)))
    else:
        gens = [elt[0] for elt in hecke_ring_character_values]
        gens_values = [convert_elt_to_field(elt[1]) for elt in hecke_ring_character_values]
        char_values = dict([(
            p,prod(g**k for g, k in zip(gens_values, elt)))
            for p, elt in zip(good_primes, discrete_log(good_primes, gens, level))
            ])
    an_list_bound = next_prime(primes[-1])
    an = [0]*an_list_bound
    an[1] = 1
    
    from sage.all import PowerSeriesRing
    PS = PowerSeriesRing(K, "q")
    for p, ap in zip(primes, aps):
        if p.divides(level):
            euler_factor = [1, -ap]
        else:
            euler_factor = [1, -ap, p**(weight - 1) * char_values[p]]
        k = RR(an_list_bound).log(p).floor() + 1
        foo = (1/PS(euler_factor)).padded_list(k)
        for i in range(1, k):
            an[p**i] = foo[i]
    extend_multiplicatively(an)
    return PS(an)
level = 1386
weight = 4
poly_data = [-54, -1, 1]

# The basis for the coefficient ring is just the power basis
# in the root of the defining polynomial above.
hecke_ring_character_values = None
aps_data = [[2, 0], [0, 0], [-3, -1], [-7, 0], [11, 0], [-11, -5], [26, 12], [-63, 9], [20, 20], [71, -7], [-66, -2], [-141, 25], [-24, -38], [-92, -24], [-109, -9], [-192, 6], [-161, -49], [-438, 4], [167, -65], [108, -116], [-741, -11], [-660, 60], [326, 10], [-62, 44], [-824, -18], [-42, 132], [-638, 74], [431, -9], [-570, 184], [742, -8], [-1582, 42], [-980, 8], [-1042, -152], [-752, 28], [-53, -59], [1586, -158], [-36, -266], [1791, 7], [-768, -344], [-1992, -122], [-1552, 308], [-992, 82], [-1758, 434], [1340, -174], [2586, 192], [-116, -324], [1558, -6], [3010, 18], [2254, -558], [3492, -106], [-3086, 140], [-539, -39], [-727, 547], [-3415, 481], [-795, -525], [-3173, -577], [2526, 636], [917, -631], [1184, -158], [5163, 473], [-3343, 721], [420, 954], [-284, 136], [-2896, -288], [-5790, -536], [-2100, -1014], [3280, 228], [-7208, -322], [5872, 316], [-2263, -1185], [-1025, -427], [4100, -228], [1754, -1654], [1066, -428], [-8599, -31], [-10624, -120], [3068, 514], [-2014, 676], [11732, 286], [-4038, 256], [-1199, 465], [-603, 115], [491, -1801], [860, 1602], [13621, -399], [-2376, 564], [3724, -1594], [11988, 50], [-5652, -582], [4639, -1677], [4939, 1379], [-5690, -194], [11672, -840], [12399, -777], [313, 793], [-3520, -2120], [-16778, -284], [3621, 1147], [15599, 135], [-7684, -2010], [-7316, 296], [16395, 365], [3288, 1700], [8550, -1296], [10372, 1656], [-2014, 1248], [661, 2429], [-5440, 778], [2156, -3236], [-7937, 217], [669, 881], [-3710, -324], [13370, 4], [10326, 458], [-13244, 2180], [9154, 1748], [10388, 680], [785, 1621], [6396, -1238], [-7957, -517], [10780, 190], [-6940, 3674], [3858, -1744], [26034, -90], [-1066, 274], [-94, 2608], [-15495, -2121], [-26467, 953], [-10792, -1320], [-27502, -84], [8848, -3940], [7275, 2031], [-10609, -2221], [-6709, -111], [-576, -4446], [4001, -4021], [-9631, 1027], [6151, 1015], [18663, -247], [23439, 141], [-4129, -1257], [-7235, 479], [1895, 5619], [22527, -1945], [-412, 5486], [-8845, 2095], [15150, -2848], [-36174, -580], [-13948, 656], [29196, -1244], [-33532, 734], [30549, -1581], [14945, -3199], [-2050, 302], [14092, -416], [-13194, 3078], [15336, 1872], [2415, 1653], [-32506, 1132], [-37404, -110], [15678, -3334], [46343, 309], [-14990, 4738], [-2547, -3019], [-8604, 3182], [-7544, -184], [-5433, -3701], [286, 224], [1338, -1064], [-6315, 4103], [-21321, 2943], [-36622, -636], [-4216, 6992], [27678, 724], [6554, 2010], [37542, 3808], [14788, 2728], [-1722, -5020], [28415, 1315], [1567, 5709], [-12913, -3677], [50944, 1900], [-38726, -1620], [32036, -2266], [48036, -212], [-53979, -1737], [3840, -1142], [6398, -2054], [-22334, -4808], [-1458, 886], [-15518, 1536], [-22871, -6423], [-22153, 4623], [-30825, -1319], [-10593, 4447], [-33897, 1605], [-12010, -6060], [-2542, 2700], [-22620, 1998], [-25824, -1368], [-43154, -2916], [39479, -5917], [-32188, 2294], [22663, -5303], [-9164, 10616], [-51234, 1068], [38084, 3900], [-33067, -4835], [-38794, 4576], [-38052, -6232], [-14550, -4120], [-12349, -6595], [-11067, -247], [-41928, 3644], [-35918, -1438], [-32082, -140], [43632, 2864], [-83638, -356], [-6882, 7494], [-69002, -356], [-12018, 7656], [-10057, 11963], [-51236, -298], [-7171, 1865], [60396, 792], [35274, 1444], [44215, 5493], [-44730, -4506], [31503, -989], [14413, 9853], [42942, -1912], [35571, 803], [-19442, 3990], [-8401, 2269], [-27704, -7516], [-17902, 2458], [-17922, -1716], [-61305, 1905], [-37530, -2982], [50519, -3021], [27632, 3940], [46868, -6880], [-111550, 538], [-60158, 6412], [54192, 5178], [360, -8592], [-9820, -4900], [-29433, 6799], [892, -3328], [79187, 1999], [63102, -672], [74656, -4934], [56490, 658], [-11542, 5744], [-11106, 2900], [19596, 0], [34575, 965], [5183, 7847], [38427, 4469], [-12749, 1789], [68602, 5634], [62308, 5112], [-76738, -4496], [-13089, 6077], [69211, -8527], [48734, 3082], [32590, 2900], [66997, -2517], [-10136, -3636], [38486, 12108], [-72228, 6790], [-74369, 1143], [-44812, 12274], [-45114, -8578], [-1737, -4919], [14078, -13578], [98860, -5704], [35234, -5820], [-3022, 1688], [70800, -11076], [2076, 12060], [-120920, -1208], [71178, -12006], [93315, -8039], [-96043, 1589], [121280, 1912], [-123727, -997], [9926, -5764], [-29618, 5798], [-12590, 12884], [32214, 9036], [-63456, -7156], [53103, -13971], [-64860, 2360], [50656, -2118], [-108372, -406], [74418, 498], [-55506, -9980], [14580, 3080], [148521, -1695], [24497, 11715], [-62775, -557], [-59496, -5752], [46176, 9060], [-3989, 7963], [105145, -2861], [129852, -3080], [54748, 8790], [-65436, 3060], [39472, -11326], [23146, -4366], [-11520, -1978], [-1569, 11141], [71084, -8696], [7728, 5352], [-33958, -14384], [5116, -13416], [99512, 10456], [60568, 6638], [46534, -4312], [35817, 13169], [-137947, -4857], [-26398, -1384], [-14032, 6728], [-75375, 5751], [-46616, 15518], [26276, -17136], [-35328, 1356], [-52215, 5853], [-49893, -8091], [11324, 15526], [-30052, -2166], [155033, 4317], [186458, 366], [4472, -5812], [-21941, 20843], [-21539, -9261], [87056, -4598], [22906, -4480], [71280, 15888], [-18310, -1140], [-150094, -1652], [82486, -7004], [-47947, 5657], [-36690, -9036], [63263, 20239], [57562, -3644], [94472, 12092], [-20500, 20236], [159842, -488], [18380, -20528], [-106241, 7225], [-72268, -8590], [-98127, 3125], [-56822, 7364], [-47898, 16416], [-38025, -15365], [33904, -5868], [-177329, -1275], [31136, 784], [162992, 6834], [70772, 9590], [105316, 9516], [-101121, 9927], [-103388, -3080], [-49411, -20081], [71318, -7204], [-122002, -8770], [-41378, 9844], [141966, -4950], [-43198, -18954], [-178959, -8939], [-54775, -8037], [-100544, 15448], [-56459, -8677], [-147603, -10323], [2789, 21129], [-12749, 17221], [-85986, -11776], [44270, -9308], [-36673, -4671], [34724, 1718], [-72898, 28206], [183487, -4715], [69068, 3920], [128379, 12439], [-84865, -17517], [-23722, -14336], [48166, -13950], [-19695, 15197], [-108457, -3415], [-146926, 14072], [-166484, 10872], [-36988, 26328], [157646, -4490], [7234, 14792], [17137, -10955], [-108861, 13265], [-3360, -4204], [7499, -2427], [149921, -2441], [-58002, -15120], [-50614, 13234], [-87714, 18600], [-4492, 27418], [48087, 29083], [-98819, 22515], [-28026, -8328], [-130626, -11254], [-98968, -1900], [-91546, 23380], [13286, 17308], [-19320, -28476], [52040, -15292], [-82838, -26640], [31833, -20013], [-145793, 6715], [-12782, -9302], [103410, -14156], [-43078, -26022], [21114, 32464], [-46235, 1139], [-7646, -11022], [-58950, 16918], [52890, 13520], [-71867, -12433], [714, -3162], [78227, -23423], [-73294, 25302], [27548, -6172]]
