/*
  This code can be loaded, or copied and pasted, into Magma.
  It will load the data associated to the HMF, including
  the field, level, and Hecke and Atkin-Lehner eigenvalue data.
  At the *bottom* of the file, there is code to recreate the
  Hilbert modular form in Magma, by creating the HMF space
  and cutting out the corresponding Hecke irreducible subspace.
  From there, you can ask for more eigenvalues or modify as desired.
  It is commented out, as this computation may be lengthy.
*/

P<x> := PolynomialRing(Rationals());
g := P![-6, 0, 1];
F<w> := NumberField(g);
ZF := Integers(F);

NN := ideal<ZF | {400, 20, 20}>;

primesArray := [
[2, 2, -w + 2],
[3, 3, w - 3],
[5, 5, w + 1],
[5, 5, w - 1],
[19, 19, w + 5],
[19, 19, -w + 5],
[23, 23, -2*w + 1],
[23, 23, -2*w - 1],
[29, 29, -3*w + 5],
[29, 29, -3*w - 5],
[43, 43, -w - 7],
[43, 43, w - 7],
[47, 47, 4*w - 7],
[47, 47, 6*w - 13],
[49, 7, -7],
[53, 53, -3*w - 1],
[53, 53, 3*w - 1],
[67, 67, -7*w + 19],
[67, 67, -3*w + 11],
[71, 71, -4*w - 5],
[71, 71, 4*w - 5],
[73, 73, -4*w + 13],
[73, 73, -6*w + 17],
[97, 97, 2*w - 11],
[97, 97, -2*w - 11],
[101, 101, 5*w - 7],
[101, 101, -5*w - 7],
[121, 11, -11],
[139, 139, -9*w + 25],
[139, 139, -5*w + 17],
[149, 149, -5*w - 1],
[149, 149, 5*w - 1],
[163, 163, -w - 13],
[163, 163, w - 13],
[167, 167, -6*w - 7],
[167, 167, 6*w - 7],
[169, 13, -13],
[173, 173, 13*w - 29],
[173, 173, 7*w - 11],
[191, 191, 6*w - 5],
[191, 191, -6*w - 5],
[193, 193, -4*w + 17],
[193, 193, 14*w - 37],
[197, 197, 9*w - 17],
[197, 197, -11*w + 23],
[211, 211, -5*w - 19],
[211, 211, 5*w - 19],
[239, 239, 10*w - 19],
[239, 239, -12*w + 25],
[241, 241, -8*w + 25],
[241, 241, -10*w + 29],
[263, 263, -8*w - 11],
[263, 263, 8*w - 11],
[269, 269, -7*w - 5],
[269, 269, 7*w - 5],
[283, 283, -w - 17],
[283, 283, w - 17],
[289, 17, -17],
[293, 293, -7*w - 1],
[293, 293, 7*w - 1],
[307, 307, 3*w - 19],
[307, 307, -3*w - 19],
[311, 311, -16*w + 35],
[311, 311, 10*w - 17],
[313, 313, -6*w - 23],
[313, 313, 6*w - 23],
[317, 317, 9*w - 13],
[317, 317, 19*w - 43],
[331, 331, -7*w + 25],
[331, 331, -15*w + 41],
[337, 337, 2*w - 19],
[337, 337, -2*w - 19],
[359, 359, 8*w - 5],
[359, 359, -8*w - 5],
[379, 379, 5*w - 23],
[379, 379, -5*w - 23],
[383, 383, -8*w - 1],
[383, 383, 8*w - 1],
[389, 389, 13*w - 25],
[389, 389, -15*w + 31],
[409, 409, -6*w + 25],
[409, 409, 20*w - 53],
[431, 431, 10*w - 13],
[431, 431, -10*w - 13],
[433, 433, -4*w - 23],
[433, 433, 4*w - 23],
[457, 457, -18*w + 49],
[457, 457, -8*w + 29],
[461, 461, -9*w - 5],
[461, 461, 9*w - 5],
[479, 479, -10*w - 11],
[479, 479, 10*w - 11],
[499, 499, -15*w + 43],
[499, 499, -11*w + 35],
[503, 503, 12*w - 19],
[503, 503, 22*w - 49],
[509, 509, 15*w - 29],
[509, 509, -17*w + 35],
[523, 523, -w - 23],
[523, 523, w - 23],
[547, 547, -7*w + 29],
[547, 547, 23*w - 61],
[557, 557, 11*w - 13],
[557, 557, -11*w - 13],
[571, 571, 3*w - 25],
[571, 571, -3*w - 25],
[577, 577, -8*w - 31],
[577, 577, 8*w - 31],
[599, 599, -10*w - 1],
[599, 599, 10*w - 1],
[601, 601, 2*w - 25],
[601, 601, -2*w - 25],
[619, 619, -w - 25],
[619, 619, w - 25],
[643, 643, -11*w + 37],
[643, 643, -19*w + 53],
[647, 647, 14*w - 23],
[647, 647, -24*w + 53],
[653, 653, 13*w - 19],
[653, 653, 27*w - 61],
[673, 673, -14*w + 43],
[673, 673, -16*w + 47],
[677, 677, 11*w - 7],
[677, 677, -11*w - 7],
[691, 691, -5*w - 29],
[691, 691, 5*w - 29],
[701, 701, 11*w - 5],
[701, 701, -11*w - 5],
[719, 719, 18*w - 35],
[719, 719, -20*w + 41],
[739, 739, -9*w - 35],
[739, 739, 9*w - 35],
[743, 743, 12*w - 11],
[743, 743, -12*w - 11],
[769, 769, -10*w + 37],
[769, 769, -24*w + 65],
[773, 773, 17*w - 31],
[773, 773, -23*w + 49],
[787, 787, -3*w - 29],
[787, 787, 3*w - 29],
[797, 797, 19*w - 37],
[797, 797, -21*w + 43],
[811, 811, 5*w - 31],
[811, 811, -5*w - 31],
[821, 821, 29*w - 65],
[821, 821, 15*w - 23],
[839, 839, -12*w - 5],
[839, 839, 12*w - 5],
[859, 859, -19*w + 55],
[859, 859, -15*w + 47],
[863, 863, -12*w - 1],
[863, 863, 12*w - 1],
[883, 883, -9*w + 37],
[883, 883, 29*w - 77],
[887, 887, -14*w - 17],
[887, 887, 14*w - 17],
[907, 907, 3*w - 31],
[907, 907, -3*w - 31],
[911, 911, 16*w - 25],
[911, 911, 30*w - 67],
[937, 937, 2*w - 31],
[937, 937, -2*w - 31],
[941, 941, -25*w + 53],
[941, 941, 19*w - 35],
[961, 31, -31],
[983, 983, -28*w + 61],
[983, 983, 18*w - 31],
[1009, 1009, -6*w - 35],
[1009, 1009, 6*w - 35],
[1013, 1013, -13*w - 1],
[1013, 1013, 13*w - 1],
[1031, 1031, 20*w - 37],
[1031, 1031, -26*w + 55],
[1033, 1033, -14*w + 47],
[1033, 1033, -24*w + 67],
[1051, 1051, -15*w + 49],
[1051, 1051, -23*w + 65],
[1061, 1061, 15*w - 17],
[1061, 1061, -15*w - 17],
[1103, 1103, 32*w - 71],
[1103, 1103, 18*w - 29],
[1109, 1109, 17*w - 25],
[1109, 1109, 35*w - 79],
[1123, 1123, -11*w - 43],
[1123, 1123, 11*w - 43],
[1129, 1129, -4*w - 35],
[1129, 1129, 4*w - 35],
[1151, 1151, -14*w - 5],
[1151, 1151, 14*w - 5],
[1153, 1153, 6*w - 37],
[1153, 1153, -6*w - 37],
[1171, 1171, -3*w - 35],
[1171, 1171, 3*w - 35],
[1181, 1181, -15*w - 13],
[1181, 1181, 15*w - 13],
[1201, 1201, 2*w - 35],
[1201, 1201, -2*w - 35],
[1223, 1223, -28*w + 59],
[1223, 1223, 22*w - 41],
[1229, 1229, 15*w - 11],
[1229, 1229, -15*w - 11],
[1249, 1249, -10*w - 43],
[1249, 1249, 10*w - 43],
[1277, 1277, -31*w + 67],
[1277, 1277, 21*w - 37],
[1291, 1291, -25*w + 71],
[1291, 1291, -17*w + 55],
[1297, 1297, 8*w - 41],
[1297, 1297, -8*w - 41],
[1301, 1301, 15*w - 7],
[1301, 1301, -15*w - 7],
[1319, 1319, 18*w - 25],
[1319, 1319, -18*w - 25],
[1321, 1321, -20*w + 61],
[1321, 1321, -22*w + 65],
[1367, 1367, -16*w - 13],
[1367, 1367, 16*w - 13],
[1369, 37, -37],
[1373, 1373, 17*w - 19],
[1373, 1373, -17*w - 19],
[1439, 1439, 20*w - 31],
[1439, 1439, 38*w - 85],
[1459, 1459, -15*w + 53],
[1459, 1459, -31*w + 85],
[1483, 1483, -11*w + 47],
[1483, 1483, 39*w - 103],
[1487, 1487, -16*w - 7],
[1487, 1487, 16*w - 7],
[1489, 1489, -16*w + 55],
[1489, 1489, -30*w + 83],
[1493, 1493, -33*w + 71],
[1493, 1493, 23*w - 41],
[1511, 1511, 16*w - 5],
[1511, 1511, -16*w - 5],
[1531, 1531, 5*w - 41],
[1531, 1531, -5*w - 41],
[1559, 1559, 42*w - 95],
[1559, 1559, 20*w - 29],
[1579, 1579, -25*w + 73],
[1579, 1579, -21*w + 65],
[1583, 1583, -18*w - 19],
[1583, 1583, 18*w - 19],
[1607, 1607, 24*w - 43],
[1607, 1607, -34*w + 73],
[1609, 1609, 10*w - 47],
[1609, 1609, -10*w - 47],
[1613, 1613, 17*w - 11],
[1613, 1613, -17*w - 11],
[1627, 1627, -3*w - 41],
[1627, 1627, 3*w - 41],
[1637, 1637, -19*w - 23],
[1637, 1637, 19*w - 23],
[1657, 1657, 2*w - 41],
[1657, 1657, -2*w - 41],
[1681, 41, -41],
[1699, 1699, 5*w - 43],
[1699, 1699, -5*w - 43],
[1709, 1709, -17*w - 5],
[1709, 1709, 17*w - 5],
[1723, 1723, -9*w - 47],
[1723, 1723, 9*w - 47],
[1733, 1733, -17*w - 1],
[1733, 1733, 17*w - 1],
[1747, 1747, -33*w + 91],
[1747, 1747, -17*w + 59],
[1753, 1753, -4*w - 43],
[1753, 1753, 4*w - 43],
[1777, 1777, -32*w + 89],
[1777, 1777, -18*w + 61],
[1801, 1801, -10*w - 49],
[1801, 1801, 10*w - 49],
[1823, 1823, -18*w - 11],
[1823, 1823, 18*w - 11],
[1847, 1847, -36*w + 77],
[1847, 1847, 26*w - 47],
[1867, 1867, -27*w + 79],
[1867, 1867, -23*w + 71],
[1871, 1871, -20*w - 23],
[1871, 1871, 20*w - 23],
[1873, 1873, -24*w + 73],
[1873, 1873, -26*w + 77],
[1877, 1877, -19*w - 17],
[1877, 1877, 19*w - 17],
[1901, 1901, -39*w + 85],
[1901, 1901, 25*w - 43],
[1949, 1949, 45*w - 101],
[1949, 1949, 23*w - 35],
[1973, 1973, 27*w - 49],
[1973, 1973, -37*w + 79],
[1987, 1987, -37*w + 101],
[1987, 1987, -17*w + 61],
[1993, 1993, -6*w - 47],
[1993, 1993, 6*w - 47],
[1997, 1997, -19*w - 13],
[1997, 1997, 19*w - 13],
[2011, 2011, 45*w - 119],
[2011, 2011, -13*w + 55],
[2017, 2017, 8*w - 49],
[2017, 2017, -8*w - 49],
[2039, 2039, 20*w - 19],
[2039, 2039, -20*w - 19],
[2063, 2063, 22*w - 29],
[2063, 2063, -22*w - 29],
[2069, 2069, -43*w + 95],
[2069, 2069, 25*w - 41],
[2083, 2083, 11*w - 53],
[2083, 2083, -11*w - 53],
[2087, 2087, 24*w - 37],
[2087, 2087, 46*w - 103],
[2089, 2089, -20*w + 67],
[2089, 2089, -34*w + 95],
[2111, 2111, 20*w - 17],
[2111, 2111, -20*w - 17],
[2113, 2113, -4*w - 47],
[2113, 2113, 4*w - 47],
[2131, 2131, -15*w - 59],
[2131, 2131, 15*w - 59],
[2137, 2137, -22*w + 71],
[2137, 2137, -32*w + 91],
[2141, 2141, -19*w - 5],
[2141, 2141, 19*w - 5],
[2161, 2161, -12*w - 55],
[2161, 2161, 12*w - 55],
[2179, 2179, -29*w + 85],
[2179, 2179, -25*w + 77],
[2203, 2203, -w - 47],
[2203, 2203, w - 47],
[2207, 2207, 26*w - 43],
[2207, 2207, -44*w + 97],
[2213, 2213, -23*w - 31],
[2213, 2213, 23*w - 31],
[2237, 2237, 29*w - 53],
[2237, 2237, -39*w + 83],
[2251, 2251, -5*w - 49],
[2251, 2251, 5*w - 49],
[2281, 2281, -18*w + 65],
[2281, 2281, -40*w + 109],
[2309, 2309, 33*w - 65],
[2309, 2309, -35*w + 71],
[2333, 2333, -23*w - 29],
[2333, 2333, 23*w - 29],
[2347, 2347, 3*w - 49],
[2347, 2347, -3*w - 49],
[2351, 2351, -20*w - 7],
[2351, 2351, 20*w - 7],
[2357, 2357, -21*w - 17],
[2357, 2357, 21*w - 17],
[2371, 2371, -15*w + 61],
[2371, 2371, 47*w - 125],
[2377, 2377, 2*w - 49],
[2377, 2377, -2*w - 49],
[2381, 2381, 25*w - 37],
[2381, 2381, 51*w - 115],
[2399, 2399, -20*w - 1],
[2399, 2399, 20*w - 1],
[2423, 2423, 32*w - 61],
[2423, 2423, -38*w + 79],
[2447, 2447, 34*w - 67],
[2447, 2447, -36*w + 73],
[2467, 2467, 13*w - 59],
[2467, 2467, -13*w - 59],
[2473, 2473, -24*w + 77],
[2473, 2473, -34*w + 97],
[2477, 2477, 21*w - 13],
[2477, 2477, -21*w - 13],
[2521, 2521, -28*w + 85],
[2521, 2521, -30*w + 89],
[2539, 2539, 9*w - 55],
[2539, 2539, -9*w - 55],
[2543, 2543, -22*w - 19],
[2543, 2543, 22*w - 19],
[2549, 2549, 23*w - 25],
[2549, 2549, -23*w - 25],
[2591, 2591, 30*w - 53],
[2591, 2591, -44*w + 95],
[2593, 2593, -6*w - 53],
[2593, 2593, 6*w - 53],
[2617, 2617, -12*w - 59],
[2617, 2617, 12*w - 59],
[2621, 2621, 21*w - 5],
[2621, 2621, -21*w - 5],
[2659, 2659, 5*w - 53],
[2659, 2659, -5*w - 53],
[2663, 2663, 32*w - 59],
[2663, 2663, -42*w + 89],
[2683, 2683, -41*w + 113],
[2683, 2683, -21*w + 73],
[2687, 2687, 26*w - 37],
[2687, 2687, 56*w - 127],
[2689, 2689, -16*w + 65],
[2689, 2689, 50*w - 133],
[2693, 2693, 53*w - 119],
[2693, 2693, 27*w - 41],
[2707, 2707, 13*w - 61],
[2707, 2707, -13*w - 61],
[2711, 2711, -40*w + 83],
[2711, 2711, 34*w - 65],
[2713, 2713, 4*w - 53],
[2713, 2713, -4*w - 53],
[2731, 2731, -7*w - 55],
[2731, 2731, 7*w - 55],
[2741, 2741, 31*w - 55],
[2741, 2741, -45*w + 97],
[2789, 2789, 25*w - 31],
[2789, 2789, -25*w - 31],
[2803, 2803, -w - 53],
[2803, 2803, w - 53],
[2833, 2833, -36*w + 103],
[2833, 2833, -26*w + 83],
[2837, 2837, 29*w - 47],
[2837, 2837, -51*w + 113],
[2851, 2851, -27*w + 85],
[2851, 2851, -35*w + 101],
[2857, 2857, 12*w - 61],
[2857, 2857, -12*w - 61],
[2861, 2861, 35*w - 67],
[2861, 2861, -41*w + 85],
[2879, 2879, -22*w - 5],
[2879, 2879, 22*w - 5],
[2903, 2903, -22*w - 1],
[2903, 2903, 22*w - 1],
[2909, 2909, 25*w - 29],
[2909, 2909, -25*w - 29],
[2927, 2927, 24*w - 23],
[2927, 2927, -24*w - 23],
[2953, 2953, 54*w - 143],
[2953, 2953, -16*w + 67],
[2957, 2957, 31*w - 53],
[2957, 2957, -49*w + 107],
[2971, 2971, 3*w - 55],
[2971, 2971, -3*w - 55],
[2999, 2999, 30*w - 49],
[2999, 2999, -52*w + 115],
[3001, 3001, 2*w - 55],
[3001, 3001, -2*w - 55],
[3019, 3019, -w - 55],
[3019, 3019, w - 55],
[3023, 3023, 58*w - 131],
[3023, 3023, 28*w - 41],
[3049, 3049, -14*w - 65],
[3049, 3049, 14*w - 65],
[3067, 3067, -23*w + 79],
[3067, 3067, -43*w + 119],
[3119, 3119, -50*w + 109],
[3119, 3119, 32*w - 55],
[3121, 3121, 10*w - 61],
[3121, 3121, -10*w - 61],
[3163, 3163, 19*w - 73],
[3163, 3163, -19*w - 73],
[3167, 3167, 24*w - 17],
[3167, 3167, -24*w - 17],
[3169, 3169, -40*w + 113],
[3169, 3169, -26*w + 85],
[3187, 3187, -7*w - 59],
[3187, 3187, 7*w - 59],
[3191, 3191, 30*w - 47],
[3191, 3191, 56*w - 125],
[3217, 3217, -38*w + 109],
[3217, 3217, -28*w + 89],
[3221, 3221, -25*w - 23],
[3221, 3221, 25*w - 23],
[3259, 3259, -35*w + 103],
[3259, 3259, -31*w + 95],
[3307, 3307, -17*w + 71],
[3307, 3307, 57*w - 151],
[3313, 3313, -14*w - 67],
[3313, 3313, 14*w - 67],
[3331, 3331, -5*w - 59],
[3331, 3331, 5*w - 59],
[3359, 3359, 40*w - 79],
[3359, 3359, -42*w + 85],
[3361, 3361, 12*w - 65],
[3361, 3361, -12*w - 65],
[3389, 3389, -25*w - 19],
[3389, 3389, 25*w - 19],
[3407, 3407, -24*w - 7],
[3407, 3407, 24*w - 7],
[3413, 3413, -27*w - 31],
[3413, 3413, 27*w - 31],
[3433, 3433, -24*w + 83],
[3433, 3433, -46*w + 127],
[3457, 3457, 2*w - 59],
[3457, 3457, -2*w - 59],
[3461, 3461, -25*w - 17],
[3461, 3461, 25*w - 17],
[3481, 59, -59],
[3499, 3499, -11*w - 65],
[3499, 3499, 11*w - 65],
[3527, 3527, 26*w - 23],
[3527, 3527, -26*w - 23],
[3529, 3529, -20*w - 77],
[3529, 3529, 20*w - 77],
[3533, 3533, 27*w - 29],
[3533, 3533, -27*w - 29],
[3547, 3547, -43*w + 121],
[3547, 3547, -27*w + 89],
[3557, 3557, 61*w - 137],
[3557, 3557, 31*w - 47],
[3571, 3571, 5*w - 61],
[3571, 3571, -5*w - 61],
[3581, 3581, -25*w - 13],
[3581, 3581, 25*w - 13],
[3623, 3623, -48*w + 101],
[3623, 3623, 38*w - 71],
[3643, 3643, -31*w + 97],
[3643, 3643, -39*w + 113],
[3671, 3671, -46*w + 95],
[3671, 3671, 40*w - 77],
[3673, 3673, -34*w + 103],
[3673, 3673, -36*w + 107],
[3677, 3677, -29*w - 37],
[3677, 3677, 29*w - 37],
[3691, 3691, -15*w - 71],
[3691, 3691, 15*w - 71],
[3697, 3697, 2*w - 61],
[3697, 3697, -2*w - 61],
[3701, 3701, 25*w - 7],
[3701, 3701, -25*w - 7],
[3719, 3719, -30*w - 41],
[3719, 3719, 30*w - 41],
[3721, 61, -61],
[3739, 3739, -9*w - 65],
[3739, 3739, 9*w - 65],
[3767, 3767, 26*w - 17],
[3767, 3767, -26*w - 17],
[3769, 3769, -50*w + 137],
[3769, 3769, -24*w + 85],
[3793, 3793, -16*w - 73],
[3793, 3793, 16*w - 73],
[3797, 3797, 39*w - 73],
[3797, 3797, -49*w + 103],
[3821, 3821, -29*w - 35],
[3821, 3821, 29*w - 35],
[3863, 3863, -28*w - 29],
[3863, 3863, 28*w - 29],
[3889, 3889, 10*w - 67],
[3889, 3889, -10*w - 67],
[3907, 3907, -47*w + 131],
[3907, 3907, -27*w + 91],
[3911, 3911, -60*w + 133],
[3911, 3911, 34*w - 55],
[3917, 3917, -31*w - 43],
[3917, 3917, 31*w - 43],
[3931, 3931, -7*w - 65],
[3931, 3931, 7*w - 65],
[3989, 3989, -55*w + 119],
[3989, 3989, 37*w - 65],
[4003, 4003, -9*w - 67],
[4003, 4003, 9*w - 67],
[4007, 4007, 26*w - 7],
[4007, 4007, -26*w - 7],
[4013, 4013, -27*w - 19],
[4013, 4013, 27*w - 19],
[4027, 4027, -13*w - 71],
[4027, 4027, 13*w - 71],
[4051, 4051, -55*w + 149],
[4051, 4051, -23*w + 85],
[4057, 4057, -32*w + 101],
[4057, 4057, -42*w + 121],
[4079, 4079, -28*w - 25],
[4079, 4079, 28*w - 25],
[4099, 4099, -39*w + 115],
[4099, 4099, -35*w + 107],
[4127, 4127, 64*w - 143],
[4127, 4127, 34*w - 53],
[4129, 4129, 4*w - 65],
[4129, 4129, -4*w - 65],
[4133, 4133, 33*w - 49],
[4133, 4133, 67*w - 151],
[4153, 4153, 14*w - 73],
[4153, 4153, -14*w - 73],
[4157, 4157, -51*w + 107],
[4157, 4157, 41*w - 77],
[4177, 4177, -12*w - 71],
[4177, 4177, 12*w - 71],
[4201, 4201, 2*w - 65],
[4201, 4201, -2*w - 65],
[4219, 4219, -w - 65],
[4219, 4219, w - 65],
[4229, 4229, 45*w - 89],
[4229, 4229, -47*w + 95],
[4243, 4243, -21*w - 83],
[4243, 4243, 21*w - 83],
[4253, 4253, -27*w - 11],
[4253, 4253, 27*w - 11],
[4271, 4271, -54*w + 115],
[4271, 4271, 40*w - 73],
[4273, 4273, 6*w - 67],
[4273, 4273, -6*w - 67],
[4297, 4297, -18*w - 79],
[4297, 4297, 18*w - 79],
[4339, 4339, -5*w - 67],
[4339, 4339, 5*w - 67],
[4349, 4349, -27*w - 5],
[4349, 4349, 27*w - 5],
[4363, 4363, -29*w + 97],
[4363, 4363, -49*w + 137],
[4373, 4373, -27*w - 1],
[4373, 4373, 27*w - 1],
[4391, 4391, 44*w - 85],
[4391, 4391, -50*w + 103],
[4397, 4397, 31*w - 37],
[4397, 4397, -31*w - 37],
[4421, 4421, -29*w - 25],
[4421, 4421, 29*w - 25],
[4441, 4441, 10*w - 71],
[4441, 4441, -10*w - 71],
[4463, 4463, 32*w - 41],
[4463, 4463, -32*w - 41],
[4483, 4483, -w - 67],
[4483, 4483, w - 67],
[4493, 4493, -63*w + 139],
[4493, 4493, 37*w - 61],
[4507, 4507, -17*w - 79],
[4507, 4507, 17*w - 79],
[4513, 4513, -34*w + 107],
[4513, 4513, -44*w + 127],
[4517, 4517, 29*w - 23],
[4517, 4517, -29*w - 23],
[4561, 4561, -38*w + 115],
[4561, 4561, -40*w + 119],
[4583, 4583, 28*w - 11],
[4583, 4583, -28*w - 11],
[4603, 4603, -11*w - 73],
[4603, 4603, 11*w - 73],
[4637, 4637, -61*w + 133],
[4637, 4637, 39*w - 67],
[4651, 4651, -27*w + 95],
[4651, 4651, -55*w + 151],
[4657, 4657, -8*w - 71],
[4657, 4657, 8*w - 71],
[4679, 4679, 28*w - 5],
[4679, 4679, -28*w - 5],
[4703, 4703, -28*w - 1],
[4703, 4703, 28*w - 1],
[4723, 4723, -19*w - 83],
[4723, 4723, 19*w - 83],
[4729, 4729, -10*w - 73],
[4729, 4729, 10*w - 73],
[4733, 4733, 37*w - 59],
[4733, 4733, 67*w - 149],
[4751, 4751, 36*w - 55],
[4751, 4751, 70*w - 157],
[4799, 4799, 48*w - 95],
[4799, 4799, -50*w + 101],
[4801, 4801, -30*w + 101],
[4801, 4801, -52*w + 145],
[4871, 4871, 30*w - 23],
[4871, 4871, -30*w - 23],
[4877, 4877, -29*w - 13],
[4877, 4877, 29*w - 13],
[4919, 4919, -32*w - 35],
[4919, 4919, 32*w - 35],
[4943, 4943, 68*w - 151],
[4943, 4943, 38*w - 61],
[4967, 4967, 74*w - 167],
[4967, 4967, 36*w - 53],
[4969, 4969, -60*w + 163],
[4969, 4969, -26*w + 95],
[4973, 4973, 47*w - 91],
[4973, 4973, -53*w + 109],
[4987, 4987, -3*w - 71],
[4987, 4987, 3*w - 71],
[4993, 4993, -46*w + 133],
[4993, 4993, -36*w + 113],
[5011, 5011, -45*w + 131],
[5011, 5011, -37*w + 115],
[5021, 5021, -29*w - 5],
[5021, 5021, 29*w - 5],
[5039, 5039, 30*w - 19],
[5039, 5039, -30*w - 19],
[5059, 5059, -19*w - 85],
[5059, 5059, 19*w - 85],
[5087, 5087, 34*w - 43],
[5087, 5087, -34*w - 43],
[5107, 5107, -23*w - 91],
[5107, 5107, 23*w - 91],
[5113, 5113, 6*w - 73],
[5113, 5113, -6*w - 73],
[5179, 5179, 5*w - 73],
[5179, 5179, -5*w - 73],
[5189, 5189, 37*w - 55],
[5189, 5189, 75*w - 169],
[5209, 5209, -30*w + 103],
[5209, 5209, -56*w + 155],
[5227, 5227, 13*w - 79],
[5227, 5227, -13*w - 79],
[5231, 5231, -30*w - 13],
[5231, 5231, 30*w - 13],
[5233, 5233, 4*w - 73],
[5233, 5233, -4*w - 73],
[5237, 5237, 31*w - 23],
[5237, 5237, -31*w - 23],
[5261, 5261, 45*w - 83],
[5261, 5261, -59*w + 125],
[5279, 5279, -30*w - 11],
[5279, 5279, 30*w - 11],
[5281, 5281, 18*w - 85],
[5281, 5281, -18*w - 85],
[5303, 5303, 32*w - 29],
[5303, 5303, -32*w - 29],
[5309, 5309, 33*w - 35],
[5309, 5309, -33*w - 35],
[5323, 5323, -w - 73],
[5323, 5323, w - 73],
[5333, 5333, 47*w - 89],
[5333, 5333, -57*w + 119],
[5347, 5347, -33*w + 109],
[5347, 5347, -53*w + 149],
[5351, 5351, -30*w - 7],
[5351, 5351, 30*w - 7],
[5381, 5381, -55*w + 113],
[5381, 5381, 49*w - 95],
[5399, 5399, -30*w - 1],
[5399, 5399, 30*w - 1],
[5419, 5419, -51*w + 145],
[5419, 5419, -35*w + 113],
[5443, 5443, 9*w - 77],
[5443, 5443, -9*w - 77],
[5449, 5449, -50*w + 143],
[5449, 5449, -36*w + 115],
[5471, 5471, -60*w + 127],
[5471, 5471, 46*w - 85],
[5477, 5477, -31*w - 17],
[5477, 5477, 31*w - 17],
[5501, 5501, 35*w - 43],
[5501, 5501, -35*w - 43],
[5519, 5519, -32*w - 25],
[5519, 5519, 32*w - 25],
[5521, 5521, 20*w - 89],
[5521, 5521, -20*w - 89],
[5563, 5563, -61*w + 167],
[5563, 5563, -29*w + 103],
[5569, 5569, -24*w - 95],
[5569, 5569, 24*w - 95],
[5573, 5573, -33*w - 31],
[5573, 5573, 33*w - 31],
[5591, 5591, 50*w - 97],
[5591, 5591, -56*w + 115],
[5639, 5639, 80*w - 181],
[5639, 5639, 38*w - 55],
[5641, 5641, -10*w - 79],
[5641, 5641, 10*w - 79],
[5659, 5659, 25*w - 97],
[5659, 5659, -25*w - 97],
[5669, 5669, -35*w - 41],
[5669, 5669, 35*w - 41],
[5683, 5683, -59*w + 163],
[5683, 5683, -31*w + 107],
[5689, 5689, -16*w - 85],
[5689, 5689, 16*w - 85],
[5693, 5693, -33*w - 29],
[5693, 5693, 33*w - 29],
[5711, 5711, -34*w - 35],
[5711, 5711, 34*w - 35],
[5717, 5717, -31*w - 7],
[5717, 5717, 31*w - 7],
[5737, 5737, -32*w + 109],
[5737, 5737, -58*w + 161],
[5741, 5741, 31*w - 5],
[5741, 5741, -31*w - 5],
[5779, 5779, -5*w - 77],
[5779, 5779, 5*w - 77],
[5783, 5783, 32*w - 19],
[5783, 5783, -32*w - 19],
[5807, 5807, -64*w + 137],
[5807, 5807, 46*w - 83],
[5813, 5813, 37*w - 49],
[5813, 5813, -37*w - 49],
[5827, 5827, -67*w + 181],
[5827, 5827, -27*w + 101],
[5851, 5851, -23*w + 95],
[5851, 5851, 75*w - 199],
[5857, 5857, -8*w - 79],
[5857, 5857, 8*w - 79],
[5861, 5861, 75*w - 167],
[5861, 5861, 41*w - 65],
[5879, 5879, 40*w - 61],
[5879, 5879, 78*w - 175],
[5881, 5881, -20*w - 91],
[5881, 5881, 20*w - 91],
[5903, 5903, 48*w - 89],
[5903, 5903, -62*w + 131],
[5923, 5923, -w - 77],
[5923, 5923, w - 77],
[5927, 5927, 36*w - 43],
[5927, 5927, -36*w - 43],
[5953, 5953, 24*w - 97],
[5953, 5953, -24*w - 97],
[5981, 5981, 35*w - 37],
[5981, 5981, -35*w - 37],
[6029, 6029, 47*w - 85],
[6029, 6029, -65*w + 139],
[6043, 6043, -49*w + 143],
[6043, 6043, -41*w + 127],
[6047, 6047, 54*w - 107],
[6047, 6047, -56*w + 113],
[6053, 6053, -73*w + 161],
[6053, 6053, 43*w - 71],
[6067, 6067, -47*w + 139],
[6067, 6067, -43*w + 131],
[6073, 6073, -44*w + 133],
[6073, 6073, -46*w + 137],
[6091, 6091, -5*w - 79],
[6091, 6091, 5*w - 79],
[6101, 6101, 39*w - 55],
[6101, 6101, -39*w - 55],
[6121, 6121, -22*w - 95],
[6121, 6121, 22*w - 95],
[6143, 6143, -32*w - 1],
[6143, 6143, 32*w - 1],
[6163, 6163, 11*w - 83],
[6163, 6163, -11*w - 83],
[6173, 6173, -33*w - 19],
[6173, 6173, 33*w - 19],
[6197, 6197, -61*w + 127],
[6197, 6197, 51*w - 97],
[6211, 6211, 13*w - 85],
[6211, 6211, -13*w - 85],
[6217, 6217, 2*w - 79],
[6217, 6217, -2*w - 79],
[6221, 6221, 45*w - 77],
[6221, 6221, -71*w + 155],
[6241, 79, -79],
[6263, 6263, -38*w - 49],
[6263, 6263, 38*w - 49],
[6269, 6269, 55*w - 109],
[6269, 6269, -57*w + 115],
[6287, 6287, 44*w - 73],
[6287, 6287, -74*w + 163],
[6311, 6311, -34*w - 25],
[6311, 6311, 34*w - 25],
[6317, 6317, -39*w - 53],
[6317, 6317, 39*w - 53],
[6337, 6337, 18*w - 91],
[6337, 6337, -18*w - 91],
[6359, 6359, 80*w - 179],
[6359, 6359, 42*w - 65],
[6361, 6361, 12*w - 85],
[6361, 6361, -12*w - 85],
[6379, 6379, 21*w - 95],
[6379, 6379, -21*w - 95],
[6389, 6389, 35*w - 31],
[6389, 6389, -35*w - 31],
[6427, 6427, -57*w + 161],
[6427, 6427, -37*w + 121],
[6451, 6451, 25*w - 101],
[6451, 6451, -25*w - 101],
[6481, 6481, -68*w + 185],
[6481, 6481, -30*w + 109],
[6529, 6529, -54*w + 155],
[6529, 6529, -40*w + 127],
[6547, 6547, 17*w - 91],
[6547, 6547, -17*w - 91],
[6551, 6551, 36*w - 35],
[6551, 6551, -36*w - 35],
[6553, 6553, -26*w - 103],
[6553, 6553, 26*w - 103],
[6571, 6571, -15*w - 89],
[6571, 6571, 15*w - 89],
[6577, 6577, -42*w + 131],
[6577, 6577, -52*w + 151],
[6581, 6581, 51*w - 95],
[6581, 6581, -65*w + 137],
[6599, 6599, -70*w + 151],
[6599, 6599, 48*w - 85],
[6619, 6619, -49*w + 145],
[6619, 6619, -45*w + 137],
[6653, 6653, -63*w + 131],
[6653, 6653, 53*w - 101],
[6673, 6673, -6*w - 83],
[6673, 6673, 6*w - 83],
[6691, 6691, -65*w + 179],
[6691, 6691, -33*w + 115],
[6701, 6701, -61*w + 125],
[6701, 6701, 55*w - 107],
[6719, 6719, -68*w + 145],
[6719, 6719, 50*w - 91],
[6763, 6763, -21*w - 97],
[6763, 6763, 21*w - 97],
[6791, 6791, 40*w - 53],
[6791, 6791, -40*w - 53],
[6793, 6793, -4*w - 83],
[6793, 6793, 4*w - 83],
[6841, 6841, -8*w - 85],
[6841, 6841, 8*w - 85],
[6863, 6863, 42*w - 61],
[6863, 6863, 88*w - 199],
[6869, 6869, 85*w - 191],
[6869, 6869, 43*w - 65],
[6883, 6883, -w - 83],
[6883, 6883, w - 83],
[6889, 83, -83],
[6907, 6907, 13*w - 89],
[6907, 6907, -13*w - 89],
[6911, 6911, -34*w - 5],
[6911, 6911, 34*w - 5],
[6917, 6917, -39*w - 47],
[6917, 6917, 39*w - 47],
[6959, 6959, 58*w - 115],
[6959, 6959, -60*w + 121],
[6961, 6961, -38*w + 125],
[6961, 6961, -60*w + 169],
[6983, 6983, -38*w - 41],
[6983, 6983, 38*w - 41],
[7013, 7013, 47*w - 79],
[7013, 7013, -77*w + 169],
[7027, 7027, -23*w - 101],
[7027, 7027, 23*w - 101],
[7057, 7057, 12*w - 89],
[7057, 7057, -12*w - 89],
[7079, 7079, -72*w + 155],
[7079, 7079, 50*w - 89],
[7103, 7103, -42*w - 59],
[7103, 7103, 42*w - 59],
[7109, 7109, 45*w - 71],
[7109, 7109, 83*w - 185],
[7127, 7127, 44*w - 67],
[7127, 7127, 86*w - 193],
[7129, 7129, 4*w - 85],
[7129, 7129, -4*w - 85],
[7151, 7151, -36*w - 25],
[7151, 7151, 36*w - 25],
[7177, 7177, 28*w - 109],
[7177, 7177, -28*w - 109],
[7219, 7219, -w - 85],
[7219, 7219, w - 85],
[7229, 7229, -35*w - 11],
[7229, 7229, 35*w - 11],
[7243, 7243, -19*w - 97],
[7243, 7243, 19*w - 97],
[7247, 7247, -36*w - 23],
[7247, 7247, 36*w - 23],
[7253, 7253, -37*w - 31],
[7253, 7253, 37*w - 31],
[7297, 7297, -22*w - 101],
[7297, 7297, 22*w - 101],
[7321, 7321, -10*w - 89],
[7321, 7321, 10*w - 89],
[7349, 7349, -35*w - 1],
[7349, 7349, 35*w - 1],
[7369, 7369, -76*w + 205],
[7369, 7369, -30*w + 113],
[7393, 7393, -26*w + 107],
[7393, 7393, 84*w - 223],
[7411, 7411, -37*w + 125],
[7411, 7411, -65*w + 181],
[7417, 7417, -12*w - 91],
[7417, 7417, 12*w - 91],
[7459, 7459, -75*w + 203],
[7459, 7459, -31*w + 115],
[7487, 7487, -36*w - 17],
[7487, 7487, 36*w - 17],
[7489, 7489, -16*w - 95],
[7489, 7489, 16*w - 95],
[7507, 7507, 27*w - 109],
[7507, 7507, -27*w - 109],
[7517, 7517, -79*w + 173],
[7517, 7517, 49*w - 83],
[7537, 7537, 8*w - 89],
[7537, 7537, -8*w - 89],
[7541, 7541, 55*w - 103],
[7541, 7541, -69*w + 145],
[7559, 7559, -42*w - 55],
[7559, 7559, 42*w - 55],
[7561, 7561, -40*w + 131],
[7561, 7561, -62*w + 175],
[7583, 7583, 48*w - 79],
[7583, 7583, -82*w + 181],
[7589, 7589, -37*w - 25],
[7589, 7589, 37*w - 25],
[7603, 7603, -61*w + 173],
[7603, 7603, -41*w + 133],
[7607, 7607, 36*w - 13],
[7607, 7607, -36*w - 13],
[7681, 7681, 10*w - 91],
[7681, 7681, -10*w - 91],
[7699, 7699, 89*w - 235],
[7699, 7699, -25*w + 107],
[7703, 7703, 38*w - 31],
[7703, 7703, -38*w - 31],
[7723, 7723, -29*w - 113],
[7723, 7723, 29*w - 113],
[7727, 7727, 36*w - 7],
[7727, 7727, -36*w - 7],
[7753, 7753, -56*w + 163],
[7753, 7753, -46*w + 143],
[7757, 7757, -39*w - 37],
[7757, 7757, 39*w - 37],
[7823, 7823, 38*w - 29],
[7823, 7823, -38*w - 29],
[7829, 7829, -75*w + 161],
[7829, 7829, 53*w - 95],
[7853, 7853, -37*w - 19],
[7853, 7853, 37*w - 19],
[7867, 7867, -3*w - 89],
[7867, 7867, 3*w - 89],
[7873, 7873, 16*w - 97],
[7873, 7873, -16*w - 97],
[7877, 7877, -41*w - 47],
[7877, 7877, 41*w - 47],
[7901, 7901, 39*w - 35],
[7901, 7901, -39*w - 35],
[7919, 7919, -40*w - 41],
[7919, 7919, 40*w - 41],
[7921, 89, -89],
[7949, 7949, -73*w + 155],
[7949, 7949, 55*w - 101],
[7963, 7963, 21*w - 103],
[7963, 7963, -21*w - 103],
[7993, 7993, 24*w - 107],
[7993, 7993, -24*w - 107],
[8011, 8011, -13*w - 95],
[8011, 8011, 13*w - 95],
[8017, 8017, -32*w + 119],
[8017, 8017, -78*w + 211],
[8039, 8039, 38*w - 25],
[8039, 8039, -38*w - 25],
[8059, 8059, -15*w - 97],
[8059, 8059, 15*w - 97],
[8069, 8069, -43*w - 55],
[8069, 8069, 43*w - 55],
[8087, 8087, 54*w - 97],
[8087, 8087, -76*w + 163],
[8089, 8089, -66*w + 185],
[8089, 8089, -40*w + 133],
[8093, 8093, 37*w - 11],
[8093, 8093, -37*w - 11],
[8111, 8111, 50*w - 83],
[8111, 8111, -84*w + 185],
[8117, 8117, 59*w - 113],
[8117, 8117, -69*w + 143],
[8161, 8161, -12*w - 95],
[8161, 8161, 12*w - 95],
[8179, 8179, -29*w - 115],
[8179, 8179, 29*w - 115],
[8209, 8209, 20*w - 103],
[8209, 8209, -20*w - 103],
[8231, 8231, -40*w - 37],
[8231, 8231, 40*w - 37],
[8233, 8233, -14*w - 97],
[8233, 8233, 14*w - 97],
[8237, 8237, 41*w - 43],
[8237, 8237, -41*w - 43],
[8329, 8329, -60*w + 173],
[8329, 8329, -46*w + 145],
[8353, 8353, -74*w + 203],
[8353, 8353, -36*w + 127],
[8377, 8377, -58*w + 169],
[8377, 8377, -48*w + 149],
[8419, 8419, -55*w + 163],
[8419, 8419, -51*w + 155],
[8423, 8423, 62*w - 121],
[8423, 8423, -68*w + 139],
[8429, 8429, 45*w - 61],
[8429, 8429, -45*w - 61],
[8443, 8443, -19*w - 103],
[8443, 8443, 19*w - 103],
[8447, 8447, 64*w - 127],
[8447, 8447, -66*w + 133],
[8467, 8467, -17*w - 101],
[8467, 8467, 17*w - 101],
[8501, 8501, 39*w - 25],
[8501, 8501, -39*w - 25],
[8521, 8521, 90*w - 239],
[8521, 8521, -28*w + 115],
[8539, 8539, 9*w - 95],
[8539, 8539, -9*w - 95],
[8543, 8543, -38*w - 11],
[8543, 8543, 38*w - 11],
[8563, 8563, -71*w + 197],
[8563, 8563, -39*w + 133],
[8573, 8573, -83*w + 181],
[8573, 8573, 53*w - 91],
[8597, 8597, -39*w - 23],
[8597, 8597, 39*w - 23],
[8641, 8641, -8*w - 95],
[8641, 8641, 8*w - 95],
[8663, 8663, -38*w - 1],
[8663, 8663, 38*w - 1],
[8669, 8669, 45*w - 59],
[8669, 8669, -45*w - 59],
[8689, 8689, -34*w + 125],
[8689, 8689, -80*w + 217],
[8693, 8693, 43*w - 49],
[8693, 8693, -43*w - 49],
[8707, 8707, -23*w - 109],
[8707, 8707, 23*w - 109],
[8713, 8713, 26*w - 113],
[8713, 8713, -26*w - 113],
[8731, 8731, 7*w - 95],
[8731, 8731, -7*w - 95],
[8737, 8737, -42*w + 139],
[8737, 8737, -68*w + 191],
[8741, 8741, 55*w - 97],
[8741, 8741, -81*w + 175],
[8761, 8761, -30*w - 119],
[8761, 8761, 30*w - 119],
[8779, 8779, -35*w + 127],
[8779, 8779, -79*w + 215],
[8783, 8783, 98*w - 221],
[8783, 8783, 48*w - 71],
[8803, 8803, -21*w - 107],
[8803, 8803, 21*w - 107],
[8807, 8807, -44*w - 53],
[8807, 8807, 44*w - 53],
[8831, 8831, -74*w + 155],
[8831, 8831, 60*w - 113],
[8837, 8837, 39*w - 17],
[8837, 8837, -39*w - 17],
[8861, 8861, 41*w - 35],
[8861, 8861, -41*w - 35],
[8923, 8923, 9*w - 97],
[8923, 8923, -9*w - 97],
[8929, 8929, -4*w - 95],
[8929, 8929, 4*w - 95],
[8933, 8933, 53*w - 89],
[8933, 8933, -87*w + 191],
[8951, 8951, -70*w + 143],
[8951, 8951, 64*w - 125],
[8971, 8971, -3*w - 95],
[8971, 8971, 3*w - 95],
[8999, 8999, 52*w - 85],
[8999, 8999, -90*w + 199],
[9001, 9001, 2*w - 95],
[9001, 9001, -2*w - 95],
[9029, 9029, 47*w - 65],
[9029, 9029, -47*w - 65],
[9043, 9043, -51*w + 157],
[9043, 9043, -59*w + 173],
[9049, 9049, 20*w - 107],
[9049, 9049, -20*w - 107],
[9067, 9067, -57*w + 169],
[9067, 9067, -53*w + 161],
[9091, 9091, -33*w + 125],
[9091, 9091, -85*w + 229],
[9173, 9173, -73*w + 151],
[9173, 9173, 63*w - 121],
[9187, 9187, 13*w - 101],
[9187, 9187, -13*w - 101],
[9221, 9221, 65*w - 127],
[9221, 9221, -71*w + 145],
[9239, 9239, -40*w - 19],
[9239, 9239, 40*w - 19],
[9241, 9241, 30*w - 121],
[9241, 9241, -30*w - 121],
[9283, 9283, 19*w - 107],
[9283, 9283, -19*w - 107],
[9293, 9293, 57*w - 101],
[9293, 9293, -83*w + 179],
[9311, 9311, 40*w - 17],
[9311, 9311, -40*w - 17],
[9337, 9337, 12*w - 101],
[9337, 9337, -12*w - 101],
[9341, 9341, -45*w - 53],
[9341, 9341, 45*w - 53],
[9403, 9403, -w - 97],
[9403, 9403, w - 97],
[9413, 9413, -43*w - 41],
[9413, 9413, 43*w - 41],
[9431, 9431, 40*w - 13],
[9431, 9431, -40*w - 13],
[9433, 9433, 14*w - 103],
[9433, 9433, -14*w - 103],
[9437, 9437, -81*w + 173],
[9437, 9437, 59*w - 107],
[9461, 9461, 41*w - 25],
[9461, 9461, -41*w - 25],
[9479, 9479, -40*w - 11],
[9479, 9479, 40*w - 11],
[9533, 9533, 47*w - 61],
[9533, 9533, -47*w - 61],
[9547, 9547, -67*w + 191],
[9547, 9547, -47*w + 151],
[9551, 9551, 40*w - 7],
[9551, 9551, -40*w - 7],
[9601, 9601, 10*w - 101],
[9601, 9601, -10*w - 101],
[9619, 9619, -65*w + 187],
[9619, 9619, -49*w + 155],
[9623, 9623, -42*w - 31],
[9623, 9623, 42*w - 31],
[9629, 9629, 95*w - 211],
[9629, 9629, 53*w - 85],
[9643, 9643, -39*w + 137],
[9643, 9643, -79*w + 217],
[9649, 9649, -64*w + 185],
[9649, 9649, -50*w + 157],
[9677, 9677, 101*w - 227],
[9677, 9677, 51*w - 77],
[9697, 9697, -52*w + 161],
[9697, 9697, -62*w + 181],
[9719, 9719, 60*w - 109],
[9719, 9719, -82*w + 175],
[9721, 9721, -40*w + 139],
[9721, 9721, -78*w + 215],
[9739, 9739, -59*w + 175],
[9739, 9739, -55*w + 167],
[9743, 9743, 42*w - 29],
[9743, 9743, -42*w - 29],
[9749, 9749, 45*w - 49],
[9749, 9749, -45*w - 49],
[9767, 9767, 44*w - 43],
[9767, 9767, -44*w - 43],
[9769, 9769, -24*w - 115],
[9769, 9769, 24*w - 115],
[9787, 9787, 27*w - 119],
[9787, 9787, -27*w - 119],
[9791, 9791, -90*w + 197],
[9791, 9791, 56*w - 95],
[9811, 9811, -87*w + 235],
[9811, 9811, -35*w + 131],
[9817, 9817, -8*w - 101],
[9817, 9817, 8*w - 101],
[9839, 9839, 62*w - 115],
[9839, 9839, -80*w + 169],
[9859, 9859, 31*w - 125],
[9859, 9859, -31*w - 125],
[9883, 9883, 11*w - 103],
[9883, 9883, -11*w - 103],
[9887, 9887, 46*w - 53],
[9887, 9887, -46*w - 53],
[9907, 9907, -7*w - 101],
[9907, 9907, 7*w - 101],
[9931, 9931, -75*w + 209],
[9931, 9931, -43*w + 145],
[9941, 9941, 45*w - 47],
[9941, 9941, -45*w - 47]];
primes := [ideal<ZF | {F!x : x in I}> : I in primesArray];

heckePol := x;
K := Rationals(); e := 1;

heckeEigenvaluesArray := [0, 2, -1, -1, 4, 4, -6, -6, 6, 6, 10, 10, 6, 6, -10, -6, -6, -2, -2, 12, 12, 2, 2, 2, 2, 6, 6, -22, 4, 4, -6, -6, 10, 10, -18, -18, -22, -6, -6, 12, 12, 26, 26, 18, 18, 16, 16, 24, 24, 14, 14, 18, 18, 18, 18, -14, -14, 2, -30, -30, -2, -2, -12, -12, -22, -22, -6, -6, -8, -8, 2, 2, -24, -24, 28, 28, -6, -6, -6, -6, -34, -34, -36, -36, 2, 2, 26, 26, 30, 30, 24, 24, 4, 4, 18, 18, 6, 6, -14, -14, -26, -26, -30, -30, -8, -8, -22, -22, 0, 0, -10, -10, -20, -20, -14, -14, -42, -42, 42, 42, -46, -46, 18, 18, -8, -8, -30, -30, 24, 24, -20, -20, -6, -6, 2, 2, -30, -30, -26, -26, 42, 42, 16, 16, -54, -54, 48, 48, 4, 4, -6, -6, -14, -14, -18, -18, 46, 46, -12, -12, -22, -22, -18, -18, -46, 18, 18, 50, 50, 18, 18, -12, -12, 2, 2, -8, -8, 54, 54, 42, 42, 30, 30, -14, -14, 62, 62, -12, -12, -22, -22, 40, 40, -30, -30, 14, 14, -30, -30, 6, 6, -46, -46, -6, -6, -56, -56, 26, 26, 42, 42, 48, 48, -10, -10, -18, -18, -70, 18, 18, 0, 0, 52, 52, -62, -62, 30, 30, -58, -58, 42, 42, -60, -60, 64, 64, -24, -24, 4, 4, -78, -78, 6, 6, 14, 14, -6, -6, 46, 46, 42, 42, -70, -70, -46, -44, -44, 6, 6, 58, 58, -78, -78, -2, -2, 26, 26, -22, -22, 38, 38, 42, 42, -42, -42, -74, -74, 36, 36, 26, 26, -30, -30, 18, 18, 18, 18, -78, -78, 46, 46, 50, 50, -54, -54, -32, -32, 2, 2, -24, -24, -54, -54, 30, 30, 82, 82, 30, 30, 74, 74, -12, -12, 26, 26, -8, -8, 2, 2, -30, -30, -34, -34, 52, 52, 10, 10, 54, 54, -54, -54, 42, 42, 16, 16, 86, 86, -54, -54, 18, 18, 46, 46, 36, 36, 18, 18, -80, -80, 74, 74, -78, -78, -72, -72, -54, -54, 54, 54, 70, 70, 74, 74, -30, -30, -10, -10, -68, -68, -78, -78, 90, 90, -12, -12, -46, -46, 2, 2, -18, -18, 4, 4, -6, -6, -38, -38, -42, -42, -10, -10, 42, 42, -50, -50, -36, -36, -46, -46, -32, -32, -54, -54, 90, 90, -38, -38, -46, -46, 18, 18, -32, -32, -46, -46, -66, -66, -96, -96, -6, -6, -30, -30, 6, 6, 74, 74, -102, -102, 88, 88, 24, 24, -70, -70, -44, -44, 66, 66, 26, 26, -2, -2, 72, 72, 2, 2, -14, -14, -66, -66, 50, 50, -2, -2, -108, -108, 50, 50, 42, 42, -20, -20, 46, 46, -46, -46, 88, 88, -72, -72, -34, -34, -90, -90, -18, -18, -102, -102, 26, 26, -70, -70, -42, -42, 26, -68, -68, -18, -18, -22, -22, 90, 90, 94, 94, 42, 42, 88, 88, -66, -66, 18, 18, 34, 34, -12, -12, 50, 50, 18, 18, 88, 88, -46, -46, 42, 42, 72, 72, -118, 76, 76, 102, 102, -34, -34, -22, -22, 18, 18, 30, 30, 66, 66, 38, 38, 22, 22, 60, 60, -78, -78, -80, -80, 78, 78, 34, 34, -114, -114, 42, 42, -50, -50, -56, -56, 26, 26, 48, 48, -44, -44, 54, 54, -10, -10, 66, 66, 50, 50, -30, -30, 2, 2, -22, -22, 76, 76, 30, 30, 106, 106, 42, 42, -60, -60, -46, -46, -22, -22, -20, -20, 18, 18, 106, 106, 18, 18, 60, 60, -30, -30, 90, 90, -118, -118, -6, -6, 106, 106, 42, 42, -26, -26, -22, -22, -54, -54, 50, 50, -6, -6, -62, -62, 114, 114, -8, -8, 122, 122, 48, 48, -126, -126, 58, 58, 122, 122, -78, -78, 84, 84, -24, -24, -130, -130, -12, -12, -126, -126, 48, 48, -54, -54, 54, 54, -34, -34, 42, 42, 22, 22, 98, 98, -80, -80, 78, 78, 24, 24, -116, -116, -90, -90, -26, -26, -70, -70, -20, -20, 90, 90, 26, 26, -122, -122, -60, -60, 74, 74, 42, 42, 78, 78, 96, 96, 50, 50, -102, -102, -126, -126, 130, 130, -54, -54, 70, 70, 36, 36, -6, -6, 72, 72, 52, 52, 10, 10, 14, 14, 84, 84, -30, -30, -126, -126, 48, 48, 62, 62, -86, -86, 134, 134, -6, -6, -108, -108, 0, 0, -10, -10, -20, -20, 30, 30, 34, 34, 74, 74, -126, -126, 108, 108, -102, -102, -94, -94, 30, 30, 100, 100, 66, 66, -114, -114, 42, 42, -2, -2, -56, -56, 50, 50, -42, -42, 0, 0, 134, 134, 138, 138, -86, -86, -42, -42, -94, -94, 30, 30, 66, 66, 10, 10, 6, 6, -6, -6, 118, 118, 50, 50, 64, 64, 138, 138, -58, -58, 114, 114, -134, -134, -6, -6, -102, -102, -80, -80, 26, 26, 30, 30, -94, -126, -126, -78, -78, 150, 150, -60, -60, -102, -102, 98, 98, 48, 48, -118, -118, -44, -44, 78, 78, 70, 70, 64, 64, -142, -142, 50, 50, -122, -122, 84, 84, -46, -46, 64, 64, -118, -118, 6, 6, -48, -48, 100, 100, -54, -54, -94, -94, -152, -152, 114, 114, 96, 96, -14, -14, -60, -60, 122, 122, -22, -22, 114, 114, 126, 126, -86, -86, -130, -50, -50, -36, -36, 66, 66, -24, -24, 50, 50, 66, 66, 114, 114, -98, -98, 74, 74, 0, 0, -102, -102, -54, -54, -66, -66, -34, -34, -12, -12, -142, -142, 28, 28, 6, 6, -14, -14, -162, -162, -30, -30, -118, -118, 122, 122, 78, 78, -118, -118, 26, 26, 16, 16, 74, 74, 124, 124, 6, 6, 86, 86, 46, 46, 90, 90, -22, -22, -42, -42, 96, 96, -58, -58, 114, 114, -114, -114, 154, 154, -90, -90, 110, 110, -140, -140, 114, 114, -38, -38, -42, -42, -94, -94, -78, -78, -6, -6, -6, -6, -54, -54, -2, -2, 98, 98, 42, 42, -30, -30, 120, 120, -142, -90, -90, 82, 82, 74, 74, -56, -56, -142, -142, 0, 0, 4, 4, -114, -114, -90, -90, 62, 62, -174, -174, -36, -36, -6, -6, 50, 50, -140, -140, 50, 50, 12, 12, -94, -94, -102, -102, 26, 26, -70, -70, 98, 98, 148, 148, 138, 138, -30, -30, 10, 10, -42, -42, -2, -2, -54, -54, -154, -154, 28, 28, 66, 66, 106, 106, -30, -30, 42, 42, -46, -46, -126, -126, 54, 54, -142, -142, 90, 90, -50, -50, -70, -70, 136, 136, -118, -118, -42, -42, -58, -58, 4, 4, -126, -126, 34, 34, 30, 30, -132, -132, -78, -78, -30, -30, -14, -14, -106, -106, -6, -6, 132, 132, -32, -32, -120, -120, 170, 170, -66, -66, 10, 10, 110, 110, -122, -122, 160, 160, 186, 186, 46, 46, -102, -102, -120, -120, 182, 182, -14, -14, 18, 18, -132, -132, 50, 50, 66, 66, -134, -134, -126, -126, -180, -180, -70, -70, 90, 90, -150, -150, 120, 120, -6, -6, -194, -194, 108, 108, -130, -130, 100, 100, -6, -6, -42, -42, 10, 10, -106, -106, 42, 42, 74, 74, -144, -144, 38, 38, -92, -92, -78, -78, 78, 78, -66, -66, -70, -70, 166, 166, -36, -36, -56, -56, 170, 170, 0, 0, 76, 76, 58, 58, -90, -90, 142, 142, 112, 112, -42, -42];
heckeEigenvalues := AssociativeArray();
for i := 1 to #heckeEigenvaluesArray do
  heckeEigenvalues[primes[i]] := heckeEigenvaluesArray[i];
end for;

ALEigenvalues := AssociativeArray();
ALEigenvalues[ideal<ZF | {2, 2, -w + 2}>] := 1;
ALEigenvalues[ideal<ZF | {5, 5, w + 1}>] := 1;
ALEigenvalues[ideal<ZF | {5, 5, w - 1}>] := 1;

// EXAMPLE:
// pp := Factorization(2*ZF)[1][1];
// heckeEigenvalues[pp];

print "To reconstruct the Hilbert newform f, type
  f, iso := Explode(make_newform());";

function make_newform();
 M := HilbertCuspForms(F, NN);
 S := NewSubspace(M);
 // SetVerbose("ModFrmHil", 1);
 NFD := NewformDecomposition(S);
 newforms := [* Eigenform(U) : U in NFD *];

 if #newforms eq 0 then;
  print "No Hilbert newforms at this level";
  return 0;
 end if;

 print "Testing ", #newforms, " possible newforms";
 newforms := [* f: f in newforms | IsIsomorphic(BaseField(f), K) *];
 print #newforms, " newforms have the correct Hecke field";

 if #newforms eq 0 then;
  print "No Hilbert newform found with the correct Hecke field";
  return 0;
 end if;

 autos := Automorphisms(K);
 xnewforms := [* *];
 for f in newforms do;
  if K eq RationalField() then;
   Append(~xnewforms, [* f, autos[1] *]);
  else;
   flag, iso := IsIsomorphic(K,BaseField(f));
   for a in autos do;
    Append(~xnewforms, [* f, a*iso *]);
   end for;
  end if;
 end for;
 newforms := xnewforms;

 for P in primes do;
  xnewforms := [* *];
  for f_iso in newforms do;
   f, iso := Explode(f_iso);
   if HeckeEigenvalue(f,P) eq iso(heckeEigenvalues[P]) then;
    Append(~xnewforms, f_iso);
   end if;
  end for;
  newforms := xnewforms;
  if #newforms eq 0 then;
   print "No Hilbert newform found which matches the Hecke eigenvalues";
   return 0;
  else if #newforms eq 1 then;
   print "success: unique match";
   return newforms[1];
  end if;
  end if;
 end for;
 print #newforms, "Hilbert newforms found which match the Hecke eigenvalues";
 return newforms[1];

end function;