feanor-math 3.5.18

A library for number theory, providing implementations for arithmetic in various rings and algorithms working on them.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
#[stability::unstable(feature = "enable")]
pub const ODD_CONWAY_POLYNOMIALS: [(u64, [i32; 6]); 431] = [
    (9, [-2, -2, 0, 0, 0, 0]),
    (25, [-2, -4, 0, 0, 0, 0]),
    (27, [-1, -2, 0, 0, 0, 0]),
    (49, [-3, -6, 0, 0, 0, 0]),
    (81, [-2, 0, 0, -2, 0, 0]),
    (121, [-2, -7, 0, 0, 0, 0]),
    (125, [-3, -3, 0, 0, 0, 0]),
    (169, [-2, -12, 0, 0, 0, 0]),
    (243, [-1, -2, 0, 0, 0, 0]),
    (289, [-3, -16, 0, 0, 0, 0]),
    (343, [-4, 0, -6, 0, 0, 0]),
    (361, [-2, -18, 0, 0, 0, 0]),
    (529, [-5, -21, 0, 0, 0, 0]),
    (625, [-2, -4, -4, 0, 0, 0]),
    (729, [-2, -2, -1, 0, -2, 0]),
    (841, [-2, -24, 0, 0, 0, 0]),
    (961, [-3, -29, 0, 0, 0, 0]),
    (1331, [-9, -2, 0, 0, 0, 0]),
    (1369, [-2, -33, 0, 0, 0, 0]),
    (1681, [-6, -38, 0, 0, 0, 0]),
    (1849, [-3, -42, 0, 0, 0, 0]),
    (2187, [-1, 0, -2, 0, 0, 0]),
    (2197, [-11, -2, 0, 0, 0, 0]),
    (2209, [-5, -45, 0, 0, 0, 0]),
    (2401, [-3, -4, -5, 0, 0, 0]),
    (2809, [-2, -49, 0, 0, 0, 0]),
    (3125, [-3, -4, 0, 0, 0, 0]),
    (3481, [-2, -58, 0, 0, 0, 0]),
    (3721, [-2, -60, 0, 0, 0, 0]),
    (4489, [-2, -63, 0, 0, 0, 0]),
    (4913, [-14, -1, 0, 0, 0, 0]),
    (5041, [-7, -69, 0, 0, 0, 0]),
    (5329, [-5, -70, 0, 0, 0, 0]),
    (6241, [-3, -78, 0, 0, 0, 0]),
    (6561, [-2, -2, -2, 0, -1, -2]),
    (6859, [-17, -4, 0, 0, 0, 0]),
    (6889, [-2, -82, 0, 0, 0, 0]),
    (7921, [-3, -82, 0, 0, 0, 0]),
    (9409, [-5, -96, 0, 0, 0, 0]),
    (10201, [-2, -97, 0, 0, 0, 0]),
    (10609, [-5, -102, 0, 0, 0, 0]),
    (11449, [-2, -103, 0, 0, 0, 0]),
    (11881, [-6, -108, 0, 0, 0, 0]),
    (12167, [-18, -2, 0, 0, 0, 0]),
    (12769, [-3, -101, 0, 0, 0, 0]),
    (14641, [-2, -10, -8, 0, 0, 0]),
    (15625, [-2, 0, -1, -4, -1, 0]),
    (16129, [-3, -126, 0, 0, 0, 0]),
    (16807, [-4, -1, 0, 0, 0, 0]),
    (17161, [-2, -127, 0, 0, 0, 0]),
    (18769, [-3, -131, 0, 0, 0, 0]),
    (19321, [-2, -138, 0, 0, 0, 0]),
    (22201, [-2, -145, 0, 0, 0, 0]),
    (22801, [-6, -149, 0, 0, 0, 0]),
    (24389, [-27, -2, 0, 0, 0, 0]),
    (24649, [-5, -152, 0, 0, 0, 0]),
    (26569, [-2, -159, 0, 0, 0, 0]),
    (27889, [-5, -166, 0, 0, 0, 0]),
    (28561, [-2, -12, -3, 0, 0, 0]),
    (29791, [-28, -1, 0, 0, 0, 0]),
    (29929, [-2, -169, 0, 0, 0, 0]),
    (32041, [-2, -172, 0, 0, 0, 0]),
    (32761, [-2, -177, 0, 0, 0, 0]),
    (36481, [-19, -190, 0, 0, 0, 0]),
    (37249, [-5, -192, 0, 0, 0, 0]),
    (38809, [-2, -192, 0, 0, 0, 0]),
    (39601, [-3, -193, 0, 0, 0, 0]),
    (44521, [-2, -207, 0, 0, 0, 0]),
    (49729, [-3, -221, 0, 0, 0, 0]),
    (50653, [-35, -6, 0, 0, 0, 0]),
    (51529, [-2, -220, 0, 0, 0, 0]),
    (52441, [-6, -228, 0, 0, 0, 0]),
    (54289, [-3, -232, 0, 0, 0, 0]),
    (57121, [-7, -237, 0, 0, 0, 0]),
    (58081, [-7, -238, 0, 0, 0, 0]),
    (63001, [-6, -242, 0, 0, 0, 0]),
    (66049, [-3, -251, 0, 0, 0, 0]),
    (68921, [-35, -1, 0, 0, 0, 0]),
    (69169, [-5, -261, 0, 0, 0, 0]),
    (72361, [-2, -268, 0, 0, 0, 0]),
    (73441, [-6, -269, 0, 0, 0, 0]),
    (76729, [-5, -274, 0, 0, 0, 0]),
    (78125, [-3, -3, 0, 0, 0, 0]),
    (78961, [-3, -280, 0, 0, 0, 0]),
    (79507, [-40, -1, 0, 0, 0, 0]),
    (80089, [-3, -282, 0, 0, 0, 0]),
    (83521, [-3, -10, -7, 0, 0, 0]),
    (85849, [-2, -292, 0, 0, 0, 0]),
    (94249, [-5, -306, 0, 0, 0, 0]),
    (96721, [-17, -310, 0, 0, 0, 0]),
    (103823, [-42, -3, 0, 0, 0, 0]),
    (117649, [-3, -6, -4, -5, -1, 0]),
    (130321, [-2, -11, -2, 0, 0, 0]),
    (148877, [-51, -3, 0, 0, 0, 0]),
    (161051, [-9, 0, -10, 0, 0, 0]),
    (205379, [-57, -5, 0, 0, 0, 0]),
    (226981, [-59, -7, 0, 0, 0, 0]),
    (279841, [-5, -19, -3, 0, 0, 0]),
    (300763, [-65, -6, 0, 0, 0, 0]),
    (357911, [-64, -4, 0, 0, 0, 0]),
    (371293, [-11, -4, 0, 0, 0, 0]),
    (389017, [-68, -2, 0, 0, 0, 0]),
    (390625, [-2, -4, -3, 0, -1, 0]),
    (493039, [-76, -9, 0, 0, 0, 0]),
    (571787, [-81, -3, 0, 0, 0, 0]),
    (704969, [-86, -3, 0, 0, 0, 0]),
    (707281, [-2, -15, -2, 0, 0, 0]),
    (823543, [-4, -6, 0, 0, 0, 0]),
    (912673, [-92, -9, 0, 0, 0, 0]),
    (923521, [-3, -16, -3, 0, 0, 0]),
    (1030301, [-99, -3, 0, 0, 0, 0]),
    (1092727, [-98, -2, 0, 0, 0, 0]),
    (1225043, [-105, -5, 0, 0, 0, 0]),
    (1295029, [-103, -1, 0, 0, 0, 0]),
    (1419857, [-14, -1, 0, 0, 0, 0]),
    (1442897, [-110, -8, 0, 0, 0, 0]),
    (1771561, [-2, -7, -6, -4, -3, 0]),
    (1874161, [-2, -24, -6, 0, 0, 0]),
    (2048383, [-124, -3, 0, 0, 0, 0]),
    (2248091, [-129, -3, 0, 0, 0, 0]),
    (2476099, [-17, -5, 0, 0, 0, 0]),
    (2571353, [-134, -6, 0, 0, 0, 0]),
    (2685619, [-137, -6, 0, 0, 0, 0]),
    (2825761, [-6, -23, 0, 0, 0, 0]),
    (3307949, [-147, -3, 0, 0, 0, 0]),
    (3418801, [-3, -42, -5, 0, 0, 0]),
    (3442951, [-145, -1, 0, 0, 0, 0]),
    (3869893, [-152, -1, 0, 0, 0, 0]),
    (4330747, [-161, -7, 0, 0, 0, 0]),
    (4657463, [-162, -7, 0, 0, 0, 0]),
    (4826809, [-2, -11, -11, -10, 0, 0]),
    (4879681, [-5, -40, -8, 0, 0, 0]),
    (5177717, [-171, -2, 0, 0, 0, 0]),
    (5735339, [-177, -4, 0, 0, 0, 0]),
    (5764801, [-3, -2, -6, -4, 0, 0]),
    (5929741, [-179, -6, 0, 0, 0, 0]),
    (6436343, [-18, -3, 0, 0, 0, 0]),
    (6967871, [-172, -4, 0, 0, 0, 0]),
    (7189057, [-188, -1, 0, 0, 0, 0]),
    (7645373, [-195, -3, 0, 0, 0, 0]),
    (7880599, [-196, -1, 0, 0, 0, 0]),
    (7890481, [-2, -38, -9, 0, 0, 0]),
    (9393931, [-209, -2, 0, 0, 0, 0]),
    (11089567, [-220, -6, 0, 0, 0, 0]),
    (11697083, [-225, -2, 0, 0, 0, 0]),
    (12008989, [-223, -1, 0, 0, 0, 0]),
    (12117361, [-2, -40, -2, 0, 0, 0]),
    (12649337, [-230, -1, 0, 0, 0, 0]),
    (13651919, [-232, -11, 0, 0, 0, 0]),
    (13845841, [-2, -40, -3, 0, 0, 0]),
    (13997521, [-234, -1, 0, 0, 0, 0]),
    (15813251, [-245, -3, 0, 0, 0, 0]),
    (16974593, [-254, -6, 0, 0, 0, 0]),
    (18191447, [-258, -14, 0, 0, 0, 0]),
    (19465109, [-267, -9, 0, 0, 0, 0]),
    (19487171, [-9, -4, 0, 0, 0, 0]),
    (19902511, [-265, -2, 0, 0, 0, 0]),
    (20151121, [-2, -54, -8, 0, 0, 0]),
    (20511149, [-27, -3, 0, 0, 0, 0]),
    (21253933, [-272, -3, 0, 0, 0, 0]),
    (22188041, [-278, -1, 0, 0, 0, 0]),
    (22665187, [-280, -3, 0, 0, 0, 0]),
    (24137569, [-3, -3, -10, 0, -2, 0]),
    (25153757, [-291, -2, 0, 0, 0, 0]),
    (25411681, [-7, -41, -4, 0, 0, 0]),
    (28398241, [-5, -56, -16, 0, 0, 0]),
    (28629151, [-28, -7, 0, 0, 0, 0]),
    (28934443, [-302, -7, 0, 0, 0, 0]),
    (30080231, [-294, -3, 0, 0, 0, 0]),
    (38950081, [-3, -66, -2, 0, 0, 0]),
    (47045881, [-2, -6, -17, -17, 0, 0]),
    (47458321, [-2, -42, -4, 0, 0, 0]),
    (62742241, [-3, -72, -4, 0, 0, 0]),
    (62748517, [-11, -3, 0, 0, 0, 0]),
    (69343957, [-35, -10, 0, 0, 0, 0]),
    (88529281, [-5, -80, -6, 0, 0, 0]),
    (104060401, [-2, -78, -1, 0, 0, 0]),
    (112550881, [-5, -88, -2, 0, 0, 0]),
    (115856201, [-35, -14, -40, 0, 0, 0]),
    (131079601, [-2, -79, -13, 0, 0, 0]),
    (141158161, [-6, -98, -11, 0, 0, 0]),
    (147008443, [-40, -8, 0, 0, 0, 0]),
    (148035889, [-5, -1, -9, -9, -1, 0]),
    (163047361, [-3, -62, 0, 0, 0, 0]),
    (214358881, [-2, -7, -1, -7, -7, 0]),
    (229345007, [-42, -1, 0, 0, 0, 0]),
    (260144641, [-3, -97, -2, 0, 0, 0]),
    (294499921, [-2, -109, -9, 0, 0, 0]),
    (352275361, [-3, -95, -1, 0, 0, 0]),
    (373301041, [-2, -96, -7, 0, 0, 0]),
    (410338673, [-14, -12, 0, 0, 0, 0]),
    (418195493, [-51, -3, 0, 0, 0, 0]),
    (492884401, [-2, -107, -7, 0, 0, 0]),
    (519885601, [-6, -89, -13, 0, 0, 0]),
    (594823321, [-2, -13, -17, -25, -1, 0]),
    (607573201, [-5, -136, -11, 0, 0, 0]),
    (705911761, [-2, -91, -8, 0, 0, 0]),
    (714924299, [-57, -8, 0, 0, 0, 0]),
    (777796321, [-5, -120, -3, 0, 0, 0]),
    (815730721, [-2, -3, -2, -12, -8, 0]),
    (844596301, [-59, -12, 0, 0, 0, 0]),
    (887503681, [-3, -8, -16, -19, 0, 0]),
    (893871739, [-17, -6, 0, 0, 0, 0]),
    (895745041, [-2, -102, -1, 0, 0, 0]),
    (1026625681, [-2, -109, -1, 0, 0, 0]),
    (1073283121, [-2, -105, -6, 0, 0, 0]),
    (1330863361, [-19, -100, -7, 0, 0, 0]),
    (1350125107, [-65, -2, 0, 0, 0, 0]),
    (1387488001, [-5, -148, -6, 0, 0, 0]),
    (1506138481, [-2, -124, -16, 0, 0, 0]),
    (1568239201, [-3, -162, -7, 0, 0, 0]),
    (1804229351, [-64, -18, 0, 0, 0, 0]),
    (1982119441, [-2, -161, -8, 0, 0, 0]),
    (2073071593, [-68, -9, 0, 0, 0, 0]),
    (2472973441, [-3, -163, -6, 0, 0, 0]),
    (2565726409, [-2, -30, -4, -35, 0, 0]),
    (2655237841, [-2, -143, -1, 0, 0, 0]),
    (2750058481, [-6, -162, -7, 0, 0, 0]),
    (2947295521, [-3, -158, -4, 0, 0, 0]),
    (3077056399, [-76, -5, 0, 0, 0, 0]),
    (3262808641, [-7, -132, -11, 0, 0, 0]),
    (3373402561, [-7, -152, -14, 0, 0, 0]),
    (3404825447, [-18, -21, 0, 0, 0, 0]),
    (3939040643, [-81, -9, 0, 0, 0, 0]),
    (3969126001, [-6, -200, -3, 0, 0, 0]),
    (4362470401, [-3, -187, -16, 0, 0, 0]),
    (4750104241, [-6, -6, -39, -33, -4, 0]),
    (4784350561, [-5, -171, -5, 0, 0, 0]),
    (5236114321, [-2, -262, -8, 0, 0, 0]),
    (5393580481, [-6, -205, -3, 0, 0, 0]),
    (5584059449, [-86, -1, 0, 0, 0, 0]),
    (5887339441, [-5, -222, -1, 0, 0, 0]),
    (6234839521, [-3, -176, -7, 0, 0, 0]),
    (6321363049, [-3, -21, -28, -19, 0, 0]),
    (6414247921, [-3, -238, -5, 0, 0, 0]),
    (6975757441, [-3, -6, 0, -12, -11, 0]),
    (7370050801, [-2, -166, -3, 0, 0, 0]),
    (8587340257, [-92, -3, 0, 0, 0, 0]),
    (8882874001, [-5, -239, -2, 0, 0, 0]),
    (9354951841, [-17, -163, -3, 0, 0, 0]),
    (10510100501, [-99, -2, 0, 0, 0, 0]),
    (10779215329, [-5, -41, -9, -35, -2, 0]),
    (11592740743, [-98, -11, 0, 0, 0, 0]),
    (14025517307, [-105, -8, 0, 0, 0, 0]),
    (15386239549, [-103, -4, 0, 0, 0, 0]),
    (16983563041, [-2, -3, -10, -12, -1, 0]),
    (17249876309, [-27, -2, 0, 0, 0, 0]),
    (18424351793, [-110, -7, 0, 0, 0, 0]),
    (22164361129, [-2, -45, -4, -7, -1, 0]),
    (27512614111, [-28, -1, 0, 0, 0, 0]),
    (33038369407, [-124, -7, 0, 0, 0, 0]),
    (38579489651, [-129, -19, 0, 0, 0, 0]),
    (42180533641, [-2, 0, -38, -18, -2, 0]),
    (48261724457, [-134, -7, 0, 0, 0, 0]),
    (51520374361, [-2, -29, -3, -49, 0, 0]),
    (51888844699, [-137, -10, 0, 0, 0, 0]),
    (73439775749, [-147, -2, 0, 0, 0, 0]),
    (78310985281, [-5, -3, -5, -20, -3, 0]),
    (78502725751, [-145, -11, 0, 0, 0, 0]),
    (90458382169, [-2, -55, -49, -63, 0, 0]),
    (94931877133, [-35, -7, 0, 0, 0, 0]),
    (95388992557, [-152, -7, 0, 0, 0, 0]),
    (115063617043, [-161, -3, 0, 0, 0, 0]),
    (128100283921, [-7, -29, -13, -10, -1, 0]),
    (129891985607, [-162, -3, 0, 0, 0, 0]),
    (151334226289, [-5, -48, -23, -45, 0, 0]),
    (154963892093, [-171, -6, 0, 0, 0, 0]),
    (183765996899, [-177, -2, 0, 0, 0, 0]),
    (194264244901, [-179, -21, 0, 0, 0, 0]),
    (194754273881, [-35, -6, 0, 0, 0, 0]),
    (243087455521, [-3, -68, -28, -19, 0, 0]),
    (254194901951, [-172, -1, 0, 0, 0, 0]),
    (267785184193, [-188, -7, 0, 0, 0, 0]),
    (271818611107, [-40, -7, -42, 0, 0, 0]),
    (296709280757, [-195, -4, 0, 0, 0, 0]),
    (312079600999, [-196, -3, 0, 0, 0, 0]),
    (326940373369, [-2, -17, -32, -76, -1, 0]),
    (418227202051, [-209, -13, 0, 0, 0, 0]),
    (496981290961, [-3, -15, -80, -82, -1, 0]),
    (500246412961, [-2, -23, -26, -24, -3, 0]),
    (506623120463, [-42, -12, 0, 0, 0, 0]),
    (551473077343, [-220, -1, 0, 0, 0, 0]),
    (602738989907, [-225, -5, 0, 0, 0, 0]),
    (629763392149, [-223, -8, 0, 0, 0, 0]),
    (686719856393, [-230, -17, 0, 0, 0, 0]),
    (779811265199, [-232, -2, 0, 0, 0, 0]),
    (812990017201, [-234, -7, 0, 0, 0, 0]),
    (832972004929, [-5, -88, -58, -92, 0, 0]),
    (852891037441, [-3, -24, -12, -25, 0, 0]),
    (996250626251, [-245, -3, 0, 0, 0, 0]),
    (1061520150601, [-2, -67, -20, -90, -2, 0]),
    (1121154893057, [-254, -4, 0, 0, 0, 0]),
    (1174711139837, [-51, -9, 0, 0, 0, 0]),
    (1194052296529, [-5, -30, -9, -96, 0, 0]),
    (1258284197543, [-258, -13, 0, 0, 0, 0]),
    (1408514752349, [-267, -12, 0, 0, 0, 0]),
    (1461660310351, [-265, -2, 0, 0, 0, 0]),
    (1500730351849, [-2, -79, -22, -52, -1, 0]),
    (1630793025157, [-272, -1, 0, 0, 0, 0]),
    (1677100110841, [-6, -66, -102, -107, 0, 0]),
    (1751989905401, [-278, -5, 0, 0, 0, 0]),
    (1815232161643, [-280, -3, 0, 0, 0, 0]),
    (2081951752609, [-3, -71, -30, -59, -1, 0]),
    (2159424884693, [-291, -2, 0, 0, 0, 0]),
    (2488651484819, [-57, -10, 0, 0, 0, 0]),
    (2727042318307, [-302, -5, 0, 0, 0, 0]),
    (2909390022551, [-294, -1, 0, 0, 0, 0]),
    (3142742836021, [-59, -2, 0, 0, 0, 0]),
    (3512479453921, [-2, -1, -27, -20, -7, 0]),
    (4195872914689, [-3, -82, -115, -84, 0, 0]),
    (5053913144281, [-2, -22, -4, -66, -2, 0]),
    (6060711605323, [-65, -7, 0, 0, 0, 0]),
    (6611856250609, [-3, -3, -102, -116, -1, 0]),
    (7212549413161, [-2, -118, -10, -46, -4, 0]),
    (7984925229121, [-6, -6, -20, -32, -5, 0]),
    (9095120158391, [-64, -2, 0, 0, 0, 0]),
    (10942526586601, [-2, -55, -33, -105, -1, 0]),
    (11047398519097, [-68, -10, 0, 0, 0, 0]),
    (11688200277601, [-3, -24, -20, -39, -1, 0]),
    (11853911588401, [-6, -15, -18, -125, 0, 0]),
    (14976071831449, [-5, -144, -43, -130, -3, 0]),
    (18755369578009, [-2, -156, -25, -83, 0, 0]),
    (19203908986159, [-76, -4, 0, 0, 0, 0]),
    (21691961596369, [-5, -2, -38, -75, -2, 0]),
    (23811286661761, [-5, -3, -19, -29, -1, 0]),
    (26808753332089, [-2, -107, -134, -27, -1, 0]),
    (27136050989627, [-81, -3, 0, 0, 0, 0]),
    (32894113444921, [-2, -109, -55, -91, -7, 0]),
    (35161828327081, [-2, -169, -163, -177, 0, 0]),
    (44231334895529, [-86, -7, 0, 0, 0, 0]),
    (48551226272641, [-19, -10, -10, -110, -1, 0]),
    (51682540549249, [-5, -172, -8, -149, 0, 0]),
    (58451728309129, [-2, -173, -79, -124, -1, 0]),
    (62103840598801, [-3, -79, -58, -90, 0, 0]),
    (62259690411361, [-2, -1, -18, -29, -8, 0]),
    (80798284478113, [-92, -5, 0, 0, 0, 0]),
    (88245939632761, [-2, -133, -194, -81, 0, 0]),
    (107213535210701, [-99, -6, 0, 0, 0, 0]),
    (122978496247489, [-3, -196, -24, -68, -2, 0]),
    (122987386542487, [-98, -5, 0, 0, 0, 0]),
    (136821750708889, [-2, -135, -24, -174, -1, 0]),
    (144215816802121, [-6, -186, -160, -24, 0, 0]),
    (146830437604321, [-2, -50, -2, -32, -16, 0]),
    (160005726539569, [-3, -32, -215, -122, -3, 0]),
    (160578147647843, [-105, -16, 0, 0, 0, 0]),
    (182803912081669, [-103, -14, 0, 0, 0, 0]),
    (186374892382561, [-7, -200, -60, -237, -1, 0]),
    (191707312997281, [-2, -56, -1, -57, 0, 0]),
    (195930594145441, [-7, -5, -6, -83, 0, 0]),
    (235260548044817, [-110, -5, 0, 0, 0, 0]),
    (250058907189001, [-6, -179, -151, -247, -1, 0]),
    (288136807515649, [-3, -138, -18, -62, -3, 0]),
    (330928743953809, [-5, -225, -250, -222, -1, 0]),
    (378890468381881, [-2, -206, -101, -120, -1, 0]),
    (396109944105121, [-6, -81, -207, -207, 0, 0]),
    (406067677556641, [-2, -64, -17, -46, -3, 0]),
    (451729667968489, [-5, -118, -9, -33, -1, 0]),
    (492309163417681, [-3, -27, -13, -151, -1, 0]),
    (513710701744969, [-3, -73, -68, -199, 0, 0]),
    (532875860165503, [-124, -15, 0, 0, 0, 0]),
    (632711491215049, [-2, -260, -210, -128, -1, 0]),
    (645753531245761, [-7, -19, -22, -53, 0, 0]),
    (662062621900811, [-129, -10, 0, 0, 0, 0]),
    (806460091894081, [-5, -18, -39, -53, -3, 0]),
    (837201991720249, [-5, -61, -172, -213, 0, 0]),
    (904820297013361, [-17, -152, -167, -27, -1, 0]),
    (905824306333433, [-134, -1, 0, 0, 0, 0]),
    (1002544368429379, [-137, -9, 0, 0, 0, 0]),
    (1517108809906561, [-3, -48, -59, -60, 0, 0]),
    (1630436461403549, [-147, -19, 0, 0, 0, 0]),
    (1789940649848551, [-145, -9, 0, 0, 0, 0]),
    (2252292232139041, [-2, -42, -23, -65, -1, 0]),
    (2351243277537493, [-152, -14, 0, 0, 0, 0]),
    (3057125241215467, [-161, -9, 0, 0, 0, 0]),
    (3622557586593623, [-162, -10, 0, 0, 0, 0]),
    (3936588805702081, [-3, -79, -40, -65, 0, 0]),
    (4637914326451397, [-171, -5, 0, 0, 0, 0]),
    (5888046306640859, [-177, -6, 0, 0, 0, 0]),
    (6364290927201661, [-179, -4, 0, 0, 0, 0]),
    (7837433594376961, [-5, -32, -1, -65, 0, 0]),
    (9273284218074431, [-172, -14, 0, 0, 0, 0]),
    (9974730326005057, [-188, -8, 0, 0, 0, 0]),
    (10828567056280801, [-2, -24, -29, -76, -4, 0]),
    (11514990476898413, [-195, -6, 0, 0, 0, 0]),
    (12358664279161399, [-196, -3, 0, 0, 0, 0]),
    (12667700813876161, [-5, -49, -71, -70, -1, 0]),
    (17181861798319201, [-2, -95, -24, -105, -2, 0]),
    (18619893262512571, [-209, -3, 0, 0, 0, 0]),
    (19925626416901921, [-6, -86, -34, -102, -1, 0]),
    (26584441929064321, [-3, -28, -38, -98, -3, 0]),
    (27424204663190047, [-220, -6, 0, 0, 0, 0]),
    (31058537410917803, [-225, -18, 0, 0, 0, 0]),
    (33025422047685709, [-223, -7, 0, 0, 0, 0]),
    (37281334283719577, [-230, -4, 0, 0, 0, 0]),
    (44543599279432079, [-232, -17, 0, 0, 0, 0]),
    (47219273189051281, [-234, -2, 0, 0, 0, 0]),
    (62764785704439251, [-245, -8, 0, 0, 0, 0]),
    (67675234241018881, [-3, -8, -55, -104, -3, 0]),
    (74051159531521793, [-254, -31, 0, 0, 0, 0]),
    (86730203469006241, [-2, -104, -116, -72, -3, 0]),
    (87034259659851767, [-258, -1, 0, 0, 0, 0]),
    (101921535994725989, [-267, -6, 0, 0, 0, 0]),
    (107345794852487791, [-265, -22, 0, 0, 0, 0]),
    (124097929967680321, [-3, -34, -21, -105, -4, 0]),
    (125129118027271453, [-272, -9, 0, 0, 0, 0]),
    (138338874920368361, [-278, -19, 0, 0, 0, 0]),
    (139353667211683681, [-2, -21, -36, -103, -4, 0]),
    (145380128593826227, [-280, -8, 0, 0, 0, 0]),
    (185384466926009357, [-291, -8, 0, 0, 0, 0]),
    (242935032749128801, [-2, -123, -25, -140, -2, 0]),
    (257021011458116443, [-302, -6, 0, 0, 0, 0]),
    (270281038127131201, [-6, -43, -122, -140, -9, 0]),
    (281399112371155271, [-294, -10, 0, 0, 0, 0]),
    (369145194573386401, [-5, -153, -40, -97, -3, 0]),
    (498311414318121121, [-2, -6, -83, -132, -1, 0]),
    (604967116961135041, [-5, -113, -56, -149, -2, 0]),
    (802359178476091681, [-2, -27, -158, -125, -2, 0]),
    (1053960288888713761, [-2, -73, -144, -163, 0, 0]),
    (1151936657823500641, [-2, -149, -22, -108, -2, 0]),
    (1771197285652216321, [-19, -171, -139, -164, -2, 0]),
    (1925122952918976001, [-5, -154, -34, -145, -10, 0]),
    (2268453123948987361, [-2, -29, -96, -176, 0, 0]),
    (2459374191553118401, [-3, -159, -23, -160, -1, 0]),
    (3928797478390152481, [-2, -29, -87, -200, -2, 0]),
    (6115597639891380481, [-3, -138, -98, -139, -2, 0]),
    (7050287992278341281, [-2, -106, -176, -151, -2, 0]),
    (7562821648920027361, [-6, -205, -62, -193, -8, 0]),
    (8686550888106661441, [-3, -181, -135, -202, -12, 0]),
    (10645920227784266881, [-7, -54, -202, -201, -1, 0]),
    (11379844838561358721, [-7, -153, -212, -173, -1, 0]),
    (15753961211814252001, [-6, -173, -215, -142, -7, 0]),
];

#[stability::unstable(feature = "enable")]
pub const EVEN_CONWAY_POLYNOMIALS: [[i32; 18]; 31] = [
    [-1, -1, 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],
    [-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, -1, -1, 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],
    [-1, 0, -1, -1, -1, 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, 0, 0, 0, 0, 0, 0],
    [-1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0],
    [-1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0],
    [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0],
    [-1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0],
    [-1, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0],
    [-1, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0],
    [-1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1],
    [-1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [-1, 0, 0, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0],
];