ryu_js/pretty/to_fixed/
d2fixed_full_table.rs

1pub(crate) const TABLE_SIZE: usize = 3;
2
3pub(crate) const POW10_OFFSET: [u8; TABLE_SIZE] = [0, 2, 5];
4
5#[rustfmt::skip]
6pub(crate) const POW10_SPLIT: [[u64; 3]; 8] = [
7    [                   1,  72057594037927936,           0], // 0
8    [  699646928636035157,           72057594,           0], // 1
9    [                   1,                  0,         256], // 2
10    [11902091922964236229,      4722366482869,           0], // 3
11    [ 6760415703743915872,               4722,           0], // 4
12    [                   1,                  0,    16777216], // 5
13
14    [13369850649504950658, 309485009821345068,           0], // 5 (+1 length)
15    [15151142278969419334,          309485009,           0], // 5 (+2 length)
16];
17
18pub(crate) const TABLE_SIZE_2: usize = 27;
19pub(crate) const ADDITIONAL_BITS_2: usize = 120;
20
21#[rustfmt::skip]
22pub(crate) const POW10_OFFSET_2: [u16; TABLE_SIZE_2] = [
23    /* 00 */ 0,
24    /* 01 */ 2,
25    /* 02 */ 6, 
26    /* 03 */ 12, 
27    /* 04 */ 20, 
28    /* 05 */ 29, 
29    /* 06 */ 40, 
30    /* 07 */ 52, 
31    /* 08 */ 66, 
32    /* 09 */ 80, 
33    /* 10 */ 95, 
34    /* 11 */ 112, 
35    /* 12 */ 130, 
36    /* 13 */ 150, 
37    /* 14 */ 170, 
38    /* 15 */ 192, 
39    /* 16 */ 215, 
40    /* 17 */ 240, 
41    /* 18 */ 265, 
42    /* 19 */ 292, 
43    /* 20 */ 320, 
44    /* 21 */ 350,
45    /* 22 */ 381, 
46    /* 23 */ 413, 
47    /* 24 */ 446, 
48    /* 25 */ 480,
49    /* 26 */ 516, 
50];
51
52#[rustfmt::skip]
53pub(crate) const MIN_BLOCK_2: [u8; TABLE_SIZE_2] = [
54    /* 00 */ 0,
55    /* 01 */ 0,
56    /* 02 */ 0,
57    /* 03 */ 0,
58    /* 04 */ 0,
59    /* 05 */ 0,
60    /* 06 */ 1,
61    /* 07 */ 1,
62    /* 08 */ 2,
63    /* 09 */ 3,
64    /* 10 */ 3,
65    /* 11 */ 4,
66    /* 12 */ 4,
67    /* 13 */ 5,
68    /* 14 */ 5,
69    /* 15 */ 6,
70    /* 16 */ 6,
71    /* 17 */ 7,
72    /* 18 */ 7,
73    /* 19 */ 8,
74    /* 20 */ 8,
75    /* 21 */ 9,
76    /* 22 */ 9,
77    /* 23 */ 10,
78    /* 24 */ 11,
79    /* 25 */ 11, 
80    /* 26 */ 12,
81];
82
83#[rustfmt::skip]
84pub(crate) const POW10_SPLIT_2: [[u64; 3]; 480 + 1] = [
85    [0, 0, 3906250],
86    [0, 0, 202000000000],
87    [0, 11153727427136454656, 59],
88    [0, 7205759403792793600, 59604644775],
89    [0, 0, 167390625000],
90    [0, 0, 232000000000],
91    [0, 16777216000000000, 0],
92    [0, 12945425605062557696, 909494],
93    [0, 4388757836872548352, 182701772928],
94    [0, 1152921504606846976, 128237915039],
95    [0, 0, 159062500000],
96    [0, 0, 160000000000],
97    [0, 256000000000, 0],
98    [0, 16192327041775828992, 13],
99    [0, 15024075324038053888, 13877787807],
100    [0, 5449091666327633920, 159814456755],
101    [0, 2494994193563254784, 179295395851],
102    [0, 4611686018427387904, 11135253906],
103    [0, 0, 146250000000],
104    [0, 0, 128000000000],
105    [0, 3906250, 0],
106    [0, 3906250000000000, 0],
107    [0, 4368439412768899072, 211758],
108    [0, 1563676642168012800, 46236813575],
109    [0, 11532349341402398720, 7084767080],
110    [0, 9048364970084925440, 104625169910],
111    [0, 16609275425742389248, 246490512847],
112    [0, 0, 207900390625],
113    [0, 0, 225000000000],
114    [11153727427136454656, 59, 0],
115    [7205759403792793600, 59604644775, 0],
116    [0, 4264412554261970152, 3],
117    [0, 14485570586272534528, 3231174267],
118    [0, 17827675094632103936, 123785264354],
119    [0, 7347197909193981952, 226966440203],
120    [0, 13677404030777688064, 11398292396],
121    [0, 3810326759732150272, 172741453558],
122    [0, 9943947977234055168, 246206558227],
123    [0, 0, 19539062500],
124    [0, 0, 228000000000],
125    [12945425605062557696, 909494, 0],
126    [4388757836872548352, 909494701772928, 0],
127    [1152921504606846976, 14878706826214591391, 49303],
128    [0, 4387341015746028192, 151806576313],
129    [0, 651726680428265472, 185237838233],
130    [0, 2570638187944738816, 153035330174],
131    [0, 7419175577111756800, 126139354575],
132    [0, 17299322326264840192, 207402194313],
133    [0, 7990511638862102528, 137937798142],
134    [0, 16717361816799281152, 254433166503],
135    [0, 0, 167906250000],
136    [0, 0, 16000000000],
137    [16192327041775828992, 13, 0],
138    [15024075324038053888, 13877787807, 0],
139    [5449091666327633920, 13877787807814456755, 0],
140    [2494994193563254784, 9707857417284919307, 752316384],
141    [4611686018427387904, 1844515466944871826, 224526264005],
142    [0, 15167599819856275072, 197099991383],
143    [0, 14830185305589481472, 87822237233],
144    [0, 6163721531743535104, 49803945956],
145    [0, 14122847407012052992, 228334136013],
146    [0, 335491783960035328, 205765601092],
147    [0, 941252322120433664, 68018187046],
148    [0, 11529215046068469760, 38051025390],
149    [0, 0, 238625000000],
150    [0, 0, 64000000000],
151    [4368439412768899072, 211758, 0],
152    [1563676642168012800, 211758236813575, 0],
153    [11532349341402398720, 8061591463141767016, 11479],
154    [9048364970084925440, 16628725344207857142, 215437019748],
155    [16609275425742389248, 3555541870038531535, 100901445007],
156    [0, 18316647450161853665, 143192746310],
157    [0, 16709574568378075648, 70992947447],
158    [0, 7696022835795591168, 247905827852],
159    [0, 16664449640376041472, 12417202233],
160    [0, 3109186955116544000, 57903381625],
161    [0, 10515518101817131008, 121168549362],
162    [0, 9961962375743537152, 242570047378],
163    [0, 9223372036854775808, 146540039062],
164    [0, 0, 150500000000],
165    [14485570586272534528, 3231174267, 0],
166    [17827675094632103936, 3231174267785264354, 0],
167    [7347197909193981952, 748977172262750475, 175162308],
168    [13677404030777688064, 15965033457315095468, 196040602133],
169    [3810326759732150272, 16809402149066729206, 21865466197],
170    [9943947977234055168, 7563769067065700371, 85911239516],
171    [0, 13550322810840051428, 92410032742],
172    [0, 8663209637545764864, 102734564471],
173    [0, 8969247575312957440, 119469633535],
174    [0, 6193172891660451840, 255486223885],
175    [0, 3427954273864908800, 13335732575],
176    [0, 10058367555266936832, 95185829773],
177    [0, 13907115649320091648, 141545265197],
178    [0, 0, 45753906250],
179    [0, 0, 74000000000],
180    [14878706826214591391, 49303, 0],
181    [4387341015746028192, 49303806576313, 0],
182    [651726680428265472, 14106411361315920281, 2672],
183    [2570638187944738816, 3609034283485221502, 112764710092],
184    [7419175577111756800, 9896072247338192335, 204195646140],
185    [17299322326264840192, 8889095178479228297, 188536467151],
186    [7990511638862102528, 3631796911038383102, 207481878815],
187    [16717361816799281152, 898318840772166823, 31196880105],
188    [0, 17293677953982795024, 233048697961],
189    [0, 7353628266884669440, 105937492160],
190    [0, 2404693032470315008, 192398640987],
191    [0, 9191155893041889280, 91130358670],
192    [0, 6353946855033798656, 142498253559],
193    [0, 3767824038248841216, 247344448149],
194    [0, 7205759403792793600, 149204254150],
195    [0, 0, 198390625000],
196    [0, 0, 232000000000],
197    [9707857417284919307, 752316384, 0],
198    [1844515466944871826, 752316384526264005, 0],
199    [15167599819856275072, 17063068157692817751, 40783152],
200    [14830185305589481472, 5385330256507239985, 48924990778],
201    [6163721531743535104, 3373050282752075748, 58291939338],
202    [14122847407012052992, 4116064001262906061, 10182853422],
203    [335491783960035328, 11306582046748043076, 46223132276],
204    [941252322120433664, 17035410946089626406, 116612931040],
205    [11529215046068469760, 15618595715183448558, 224923491477],
206    [0, 5141740092277295680, 149846685770],
207    [0, 16973644291514990592, 74278734288],
208    [0, 14625255268443750400, 208920143100],
209    [0, 14021170507320131584, 252792836676],
210    [0, 4451355232865091584, 68760089176],
211    [0, 12891553933348044800, 88241308450],
212    [0, 1152921504606846976, 34698852539],
213    [0, 0, 187062500000],
214    [0, 0, 160000000000],
215    [8061591463141767016, 11479, 0],
216    [16628725344207857142, 11479437019748, 0],
217    [3555541870038531535, 5562205901560339855, 622],
218    [18316647450161853665, 2106077949367544134, 110301527786],
219    [16709574568378075648, 7496855998374373623, 234114170714],
220    [7696022835795591168, 229183437194837004, 90406405378],
221    [16664449640376041472, 465169186276472889, 2012424059],
222    [3109186955116544000, 2152980561625316473, 123025216872],
223    [10515518101817131008, 2059790725449340402, 104116713310],
224    [9961962375743537152, 17891190926410198930, 94111661478],
225    [9223372036854775808, 9930696175609809814, 166969883403],
226    [0, 7276914261609005312, 11538344118],
227    [0, 10539762974036983808, 182394482312],
228    [0, 12851089458992250880, 136571361695],
229    [0, 9449311677678878720, 159696658955],
230    [0, 8699564697382289408, 11512248212],
231    [0, 4224376450473525248, 148471604347],
232    [0, 4611686018427387904, 123229003906],
233    [0, 0, 130250000000],
234    [0, 0, 128000000000],
235    [748977172262750475, 175162308, 0],
236    [15965033457315095468, 175162308040602133, 0],
237    [16809402149066729206, 13756840147955779925, 9495567],
238    [7563769067065700371, 13788447602092505948, 15745759798],
239    [13550322810840051428, 4972540435632173670, 54747473242],
240    [8663209637545764864, 2844874687533091959, 90269561957],
241    [8969247575312957440, 15377573779532804095, 101154220965],
242    [6193172891660451840, 17824715805091194381, 165833619944],
243    [3427954273864908800, 18277569135638159711, 232966279779],
244    [10058367555266936832, 4254645803379752845, 99990829008],
245    [13907115649320091648, 2933643244178200621, 208230644811],
246    [0, 17188148801879487562, 75159033118],
247    [0, 11069762501163246592, 30931771413],
248    [0, 11676570643941818368, 21600093027],
249    [0, 17840016768744030208, 99632988162],
250    [0, 16463817321652158464, 2967109246],
251    [0, 6954191143357644800, 126892505325],
252    [0, 5080060379673919488, 237376987457],
253    [0, 0, 65275390625],
254    [0, 0, 161000000000],
255    [14106411361315920281, 2672, 0],
256    [3609034283485221502, 2672764710092, 0],
257    [9896072247338192335, 16433563478020213436, 144],
258    [8889095178479228297, 4194750497955655375, 144890865261],
259    [3631796911038383102, 2691539602252904735, 109227397880],
260    [898318840772166823, 3775467271962795241, 248145908654],
261    [17293677953982795024, 16980212613224918121, 174204668490],
262    [7353628266884669440, 4172857038337333440, 74920499170],
263    [2404693032470315008, 5936867627376461659, 226226211033],
264    [9191155893041889280, 17856837443266866062, 217321838238],
265    [6353946855033798656, 8956297047799810807, 158968021097],
266    [3767824038248841216, 15356974049716912789, 105485521835],
267    [7205759403792793600, 6923608913322982854, 171832503231],
268    [0, 4855902993563955944, 191375329591],
269    [0, 13835893222288330752, 55263239028],
270    [0, 9114973913760137216, 116750045274],
271    [0, 17937099003422310400, 90494123725],
272    [0, 7007960010734960640, 205972372085],
273    [0, 7683422439270776832, 117379902273],
274    [0, 720575940379279360, 65416519165],
275    [0, 0, 253039062500],
276    [0, 0, 228000000000],
277    [17063068157692817751, 40783152, 0],
278    [5385330256507239985, 40783152924990778, 0],
279    [3373050282752075748, 2768933352715741194, 2210859],
280    [4116064001262906061, 15201941611824153390, 43150104177],
281    [11306582046748043076, 1418128541727000180, 113824098906],
282    [17035410946089626406, 5353350204565757408, 90076876902],
283    [15618595715183448558, 1721001680354286741, 102290205696],
284    [5141740092277295680, 637631411660453962, 93295688],
285    [16973644291514990592, 1630012588870568400, 72034566068],
286    [14625255268443750400, 9253063571656828156, 180088363159],
287    [14021170507320131584, 6029146854993203780, 151501609581],
288    [4451355232865091584, 16987401965352759896, 109326840705],
289    [12891553933348044800, 14499131620542087970, 129920888905],
290    [1152921504606846976, 1978417255298660539, 73785999500],
291    [0, 5790079354402454176, 140107250214],
292    [0, 13748918935842078720, 38313880830],
293    [0, 18047438014740692992, 254745330388],
294    [0, 3116889656839372800, 212978353575],
295    [0, 15995952446606147584, 167168966926],
296    [0, 12530140063251562496, 14867142319],
297    [0, 16717361816799281152, 175679260253],
298    [0, 0, 93906250000],
299    [0, 0, 16000000000],
300    [5562205901560339855, 622, 0],
301    [2106077949367544134, 622301527786, 0],
302    [7496855998374373623, 13558973353698967386, 33],
303    [229183437194837004, 6228991722850501890, 33735033418],
304    [465169186276472889, 16886831391703377787, 74337674317],
305    [2152980561625316473, 1181713637872883048, 77915436964],
306    [2059790725449340402, 12393932434925221726, 164064060824],
307    [17891190926410198930, 10684799845419711910, 152671876423],
308    [9930696175609809814, 4590318792215640843, 71579224160],
309    [7276914261609005312, 6383712187366189238, 96248841680],
310    [10539762974036983808, 1904270214927675016, 208346061731],
311    [12851089458992250880, 3711506775113308575, 163103230695],
312    [9449311677678878720, 8091219444738793995, 231201201185],
313    [8699564697382289408, 39436684991068052, 33438625885],
314    [4224376450473525248, 18025182908196512891, 93002137866],
315    [4611686018427387904, 7853924592034603138, 10977147123],
316    [0, 4815749283615688320, 243425762105],
317    [0, 14242399906544287744, 57261062291],
318    [0, 76242322576113664, 147772082046],
319    [0, 10858088421377703936, 126004133104],
320    [0, 14293835879041466368, 240588618152],
321    [0, 12182236992037191680, 168774870395],
322    [0, 11529215046068469760, 123660400390],
323    [0, 0, 6625000000],
324    [0, 0, 64000000000],
325    [13756840147955779925, 9495567, 0],
326    [13788447602092505948, 9495567745759798, 0],
327    [4972540435632173670, 14000097438505379162, 514755],
328    [2844874687533091959, 16451062686452429925, 195758946802],
329    [15377573779532804095, 4009347599785716645, 242891813895],
330    [17824715805091194381, 16544162347546196456, 7217347168],
331    [18277569135638159711, 17674258299745817187, 96896860837],
332    [4254645803379752845, 5215238411201214416, 165958123462],
333    [2933643244178200621, 14253990228345322571, 198282718640],
334    [17188148801879487562, 11214836553940194590, 176772710358],
335    [11069762501163246592, 14620711348380590101, 214607957507],
336    [11676570643941818368, 6638710787931587427, 3792590350],
337    [17840016768744030208, 17320000343692853250, 14359885232],
338    [16463817321652158464, 75147386268843646, 176938919100],
339    [6954191143357644800, 17938801582125480173, 188004073747],
340    [5080060379673919488, 6573358613626446145, 19972464382],
341    [0, 8688505427903736481, 254356342484],
342    [0, 539870168696556032, 212471004823],
343    [0, 9002861336394465280, 151029266420],
344    [0, 17989846818158018560, 244488046090],
345    [0, 2700938287723315200, 10975231550],
346    [0, 17800090499088908288, 62146418157],
347    [0, 8809040871136690176, 237964944839],
348    [0, 9223372036854775808, 199477539062],
349    [0, 0, 246500000000],
350    [16433563478020213436, 144, 0],
351    [4194750497955655375, 144890865261, 0],
352    [2691539602252904735, 15763656745260536568, 7],
353    [3775467271962795241, 8787336846248645550, 7854549544],
354    [16980212613224918121, 17584084447880694346, 40476362484],
355    [4172857038337333440, 18041672551129683938, 244953235127],
356    [5936867627376461659, 14025886302294509785, 183978041028],
357    [17856837443266866062, 18430498103283160734, 196760344819],
358    [8956297047799810807, 3292348826238025833, 243999119304],
359    [15356974049716912789, 9211721212658275243, 200178478587],
360    [6923608913322982854, 10233245872666307519, 251499368407],
361    [4855902993563955944, 6200995035623311671, 215554745370],
362    [13835893222288330752, 8480542380570450804, 26336156614],
363    [9114973913760137216, 11870363864499900506, 198459731123],
364    [17937099003422310400, 9301051379839581901, 179643493714],
365    [7007960010734960640, 11456694803569638005, 82504211005],
366    [7683422439270776832, 14327208890643983169, 61621068669],
367    [720575940379279360, 4510081789599866365, 125776679550],
368    [0, 13255356976020303332, 126244492023],
369    [0, 9658806854127314944, 247718574341],
370    [0, 13708435528809971712, 5523604968],
371    [0, 1580190652103131136, 232743135779],
372    [0, 16557336970347413504, 35085662306],
373    [0, 12751520132434493440, 98897575035],
374    [0, 9295429630892703744, 123691261291],
375    [0, 0, 107503906250],
376    [0, 0, 202000000000],
377    [2768933352715741194, 2210859, 0],
378    [15201941611824153390, 2210859150104177, 0],
379    [1418128541727000180, 16872870088062921306, 119850],
380    [5353350204565757408, 5112979788807802982, 42914680120],
381    [1721001680354286741, 13742728082020150272, 56277175189],
382    [637631411660453962, 2217110934613627976, 149744994782],
383    [1630012588870568400, 11021433940188610484, 222120189824],
384    [9253063571656828156, 1713669895470733463, 128597473131],
385    [6029146854993203780, 3313382510572018285, 107092898231],
386    [16987401965352759896, 14976595232784069505, 183179618825],
387    [14499131620542087970, 7213172372862496841, 9811882854],
388    [1978417255298660539, 15836474542502248588, 102391026857],
389    [5790079354402454176, 3221099285878340134, 169858497005],
390    [13748918935842078720, 3265814602578095358, 237174616142],
391    [18047438014740692992, 6502528252282225364, 78177040164],
392    [3116889656839372800, 16392476834556790183, 36352502762],
393    [15995952446606147584, 15167629413417091342, 234888637949],
394    [12530140063251562496, 1366763272626280111, 253822238838],
395    [16717361816799281152, 8720523635169216093, 118074092385],
396    [0, 9649171375767398672, 97472740533],
397    [0, 7647980704001073152, 181523082628],
398    [0, 13286434495608651776, 132414597864],
399    [0, 4358271637167013888, 232720259057],
400    [0, 15954987941890097152, 241236262378],
401    [0, 7911135695429697536, 234864921629],
402    [0, 7205759403792793600, 29428863525],
403    [0, 0, 37390625000],
404    [0, 0, 232000000000],
405    [13558973353698967386, 33, 0],
406    [6228991722850501890, 33735033418, 0],
407    [16886831391703377787, 15288289344628122701, 1],
408    [1181713637872883048, 952589339068938148, 1828779826],
409    [12393932434925221726, 10058155040190817688, 50051639971],
410    [10684799845419711910, 5322725640026584391, 163545253677],
411    [4590318792215640843, 2269982385930389600, 45288545535],
412    [6383712187366189238, 13216683679976310224, 255123055991],
413    [1904270214927675016, 17417440642083494819, 119716477857],
414    [3711506775113308575, 3029180749090900711, 161944201349],
415    [8091219444738793995, 8315443826261908513, 133164212217],
416    [39436684991068052, 1488962797247197277, 249450781113],
417    [18025182908196512891, 18009099634999034122, 185080716834],
418    [7853924592034603138, 8092455412807497971, 34976275247],
419    [4815749283615688320, 17808458047236758329, 47438692886],
420    [14242399906544287744, 3164591817527425171, 22965398445],
421    [76242322576113664, 3314036340472350590, 173171552866],
422    [10858088421377703936, 33234902404332784, 98179654270],
423    [14293835879041466368, 12349284717857274280, 126001801667],
424    [12182236992037191680, 18209607903013119355, 195669456065],
425    [11529215046068469760, 7891549145984268038, 193987144822],
426    [0, 7703609897518594624, 118427801736],
427    [0, 6336912652634587136, 136417613529],
428    [0, 4461621834659397632, 217343524723],
429    [0, 5484660635557953536, 115241865004],
430    [0, 15142619273265938432, 44297324048],
431    [0, 12170977992968765440, 16820883035],
432    [0, 1152921504606846976, 91659790039],
433    [0, 0, 215062500000],
434    [0, 0, 160000000000],
435    [14000097438505379162, 514755, 0],
436    [16451062686452429925, 514755758946802, 0],
437    [4009347599785716645, 17812314011563521031, 27904],
438    [16544162347546196456, 7684138864490314336, 965607477],
439    [17674258299745817187, 9740522787420029605, 53416558002],
440    [5215238411201214416, 6701109407732989894, 178528034798],
441    [14253990228345322571, 16534886227502443952, 238363267868],
442    [11214836553940194590, 8908667306968317910, 28896357978],
443    [14620711348380590101, 7531472173477105155, 90482939822],
444    [6638710787931587427, 11527371604834801166, 174408281924],
445    [17320000343692853250, 15688593496691078576, 68624900066],
446    [75147386268843646, 11394944804253312188, 226850480357],
447    [17938801582125480173, 11182279880854372627, 229617721195],
448    [6573358613626446145, 150579373068361470, 107606192607],
449    [8688505427903736481, 3147220002440857300, 223008162924],
450    [539870168696556032, 3630514817795505815, 108170611138],
451    [9002861336394465280, 11708796588334233588, 194196810602],
452    [17989846818158018560, 16844495466426369546, 106634735134],
453    [2700938287723315200, 17636655472325475902, 30913141928],
454    [17800090499088908288, 17038926655686645229, 168956085008],
455    [8809040871136690176, 15602838456783529415, 16923682064],
456    [9223372036854775808, 10869815869248876790, 16845831567],
457    [0, 18407124180939800832, 143589253898],
458    [0, 5705018517251293184, 10997852201],
459    [0, 9660452258743058432, 41309269673],
460    [0, 5646292272224927744, 169523694166],
461    [0, 7410409304047484928, 86306086117],
462    [0, 5953758707383795712, 229401719093],
463    [0, 4611686018427387904, 53322753906],
464    [0, 0, 114250000000],
465    [0, 0, 128000000000],
466    [15763656745260536568, 7, 0],
467    [8787336846248645550, 7854549544, 0],
468    [17584084447880694346, 7854549544476362484, 0],
469    [18041672551129683938, 15035424419724983, 425795984],
470    [14025886302294509785, 18280822466032836292, 144000815071],
471    [18430498103283160734, 11524250747302615283, 223991005371],
472    [3292348826238025833, 15212285943691810760, 187624730884],
473    [9211721212658275243, 7951804027551297019, 4824659673],
474    [10233245872666307519, 1706416229965221847, 217431068160],
475    [6200995035623311671, 3406023111930700826, 92505009],
476    [8480542380570450804, 16132696204133391302, 177184640882],
477    [11870363864499900506, 11593846688794356915, 114874555213],
478    [9301051379839581901, 6875759884161133906, 77628503688],
479    [11456694803569638005, 3593593325323835965, 136372735690],
480    [14327208890643983169, 9542049733257388925, 202194809084],
481    [4510081789599866365, 9926551925937787518, 252517275552],
482    [13255356976020303332, 3128491553219547895, 160538119458],
483    [9658806854127314944, 17158408656931354885, 34169595866],
484    [13708435528809971712, 2065169543154992616, 218930159197],
485    [1580190652103131136, 4832622393556232739, 93111953065],
486    [16557336970347413504, 16505930714733656162, 169261976984],
487    [12751520132434493440, 18270988073492888699, 152894788296],
488    [9295429630892703744, 2525111411519708523, 200990472248],
489    [0, 16728989342518570442, 56136886563],
490    [0, 7974052022039438336, 35906880329],
491    [0, 5356554962386550784, 73432274226],
492    [0, 6693869495028547584, 50290379426],
493    [0, 8157517147199766528, 162362875392],
494    [0, 12065776720423157760, 442219890],
495    [0, 11997589407315001344, 114654087066],
496    [0, 0, 154650390625],
497    [0, 0, 97000000000],
498    [16872870088062921306, 119850, 0],
499    [5112979788807802982, 119850914680120, 0],
500    [13742728082020150272, 2418433229320326037, 6497],
501    [2217110934613627976, 1143911773589293534, 97131103528],
502    [11021433940188610484, 9276183703610924928, 40062011581],
503    [1713669895470733463, 3532180128827684715, 189502862926],
504    [3313382510572018285, 8563997501322031543, 78191479868],
505    [14976595232784069505, 14843890409658460681, 60464255234],
506    [7213172372862496841, 9489417861634552678, 2804688911],
507    [15836474542502248588, 1113198223322322089, 15514422373],
508    [3221099285878340134, 11190777557146597869, 101060346596],
509    [3265814602578095358, 17764553645932638286, 228606653266],
510    [6502528252282225364, 14900777150991234852, 82963018382],
511    [16392476834556790183, 17364899863357893610, 142807772747],
512    [15167629413417091342, 15537570181590167037, 75941353107],
513    [1366763272626280111, 5558052627121307766, 147842293367],
514    [8720523635169216093, 12095241565795232609, 119301302636],
515    [9649171375767398672, 2187936505958366389, 108655684359],
516    [7647980704001073152, 12009203621325860228, 7118608275],
517    [13286434495608651776, 14814842834750302952, 147651020232],
518    [4358271637167013888, 5965296499605198833, 200803114239],
519    [15954987941890097152, 4051026394962148842, 255323379371],
520    [7911135695429697536, 16799526299141688349, 171219606580],
521    [7205759403792793600, 9460214166646215205, 52910704145],
522    [0, 10750736995029068008, 17512839237],
523    [0, 5377963045376430080, 69582798620],
524    [0, 15996910350253424640, 28291539960],
525    [0, 13651157529655246848, 248867194247],
526    [0, 9771305410219737088, 135740030732],
527    [0, 12709439623416250368, 12529703527],
528    [0, 9943947977234055168, 103688980102],
529    [0, 0, 134539062500],
530    [0, 0, 228000000000],
531    [952589339068938148, 1828779826, 0],
532    [10058155040190817688, 1828779826051639971, 0],
533    [5322725640026584391, 371564423966525229, 99138353],
534    [2269982385930389600, 14464859121514339583, 49020142547],
535    [13216683679976310224, 3913119023023056247, 211784141584],
536    [17417440642083494819, 5493396321716566945, 16212130607],
537    [3029180749090900711, 5837454566818211973, 47297797611],
538    [8315443826261908513, 2886670683193253881, 235316449046],
539    [1488962797247197277, 5504823105587173817, 22156486731],
540    [18009099634999034122, 9431834277334851106, 75298417058],
541    [8092455412807497971, 12921661346456247087, 162511300760],
542    [17808458047236758329, 3643076516404724246, 152700484665],
543    [3164591817527425171, 12559396953196866477, 57197491573],
544    [3314036340472350590, 1626880974916825698, 117680846273],
545    [33234902404332784, 6806994170946429566, 193088193394],
546    [12349284717857274280, 7596631230206896579, 114369007893],
547    [18209607903013119355, 3100480253729502401, 21411814204],
548    [7891549145984268038, 6310570748781063286, 60168077371],
549    [7703609897518594624, 14251867077375744136, 59342096725],
550    [6336912652634587136, 6701165793751570137, 85772595262],
551    [4461621834659397632, 10856833140463959923, 62363270925],
552    [5484660635557953536, 15867563727561248556, 13588550103],
553    [15142619273265938432, 5048961008671491600, 215860182353],
554    [12170977992968765440, 13278183119599849051, 81273704724],
555    [1152921504606846976, 4547591784941053655, 20719811749],
556    [0, 11815437715887182496, 165246525444],
557    [0, 398495392178782208, 4640516162],
558    [0, 9154841240825495552, 66021602478],
559    [0, 1902683298245640192, 174496284938],
560    [0, 5081900962138816512, 10103144668],
561    [0, 3234710432358858752, 220275490403],
562    [0, 16717361816799281152, 99175354003],
563    [0, 0, 147906250000],
564    [0, 0, 16000000000],
565    [17812314011563521031, 27904, 0],
566];