1 /* Copyright (C) 2007-2018 Free Software Foundation, Inc.
3 This file is part of GCC.
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
24 static const UINT128 reciprocals10_128
[] = {
25 { { 0ull, 0ull } }, /* 0 extra digits */
26 { { 0x3333333333333334ull
,0x3333333333333333ull
} }, /* 1 extra digit */
27 { { 0x51eb851eb851eb86ull
,0x051eb851eb851eb8ull
} }, /* 2 extra digits */
28 { { 0x3b645a1cac083127ull
, 0x0083126e978d4fdfull
} }, /* 3 extra digits */
29 { { 0x4af4f0d844d013aaULL
, 0x00346dc5d6388659ULL
} }, /* 10^(-4) * 2^131 */
30 { { 0x08c3f3e0370cdc88ULL
, 0x0029f16b11c6d1e1ULL
} }, /* 10^(-5) * 2^134 */
31 { { 0x6d698fe69270b06dULL
, 0x00218def416bdb1aULL
} }, /* 10^(-6) * 2^137 */
32 { { 0xaf0f4ca41d811a47ULL
, 0x0035afe535795e90ULL
} }, /* 10^(-7) * 2^141 */
33 { { 0xbf3f70834acdaea0ULL
, 0x002af31dc4611873ULL
} }, /* 10^(-8) * 2^144 */
34 { { 0x65cc5a02a23e254dULL
, 0x00225c17d04dad29ULL
} }, /* 10^(-9) * 2^147 */
35 { { 0x6fad5cd10396a214ULL
, 0x0036f9bfb3af7b75ULL
} }, /* 10^(-10) * 2^151 */
36 { { 0xbfbde3da69454e76ULL
, 0x002bfaffc2f2c92aULL
} }, /* 10^(-11) * 2^154 */
37 { { 0x32fe4fe1edd10b92ULL
, 0x00232f33025bd422ULL
} }, /* 10^(-12) * 2^157 */
38 { { 0x84ca19697c81ac1cULL
, 0x00384b84d092ed03ULL
} }, /* 10^(-13) * 2^161 */
39 { { 0x03d4e1213067bce4ULL
, 0x002d09370d425736ULL
} }, /* 10^(-14) * 2^164 */
40 { { 0x3643e74dc052fd83ULL
, 0x0024075f3dceac2bULL
} }, /* 10^(-15) * 2^167 */
41 { { 0x56d30baf9a1e626bULL
, 0x0039a5652fb11378ULL
} }, /* 10^(-16) * 2^171 */
42 { { 0x12426fbfae7eb522ULL
, 0x002e1dea8c8da92dULL
} }, /* 10^(-17) * 2^174 */
43 { { 0x41cebfcc8b9890e8ULL
, 0x0024e4bba3a48757ULL
} }, /* 10^(-18) * 2^177 */
44 { { 0x694acc7a78f41b0dULL
, 0x003b07929f6da558ULL
} }, /* 10^(-19) * 2^181 */
45 { { 0xbaa23d2ec729af3eULL
, 0x002f394219248446ULL
} }, /* 10^(-20) * 2^184 */
46 { { 0xfbb4fdbf05baf298ULL
, 0x0025c768141d369eULL
} }, /* 10^(-21) * 2^187 */
47 { { 0x2c54c931a2c4b759ULL
, 0x003c7240202ebdcbULL
} }, /* 10^(-22) * 2^191 */
48 { { 0x89dd6dc14f03c5e1ULL
, 0x00305b66802564a2ULL
} }, /* 10^(-23) * 2^194 */
49 { { 0xd4b1249aa59c9e4eULL
, 0x0026af8533511d4eULL
} }, /* 10^(-24) * 2^197 */
50 { { 0x544ea0f76f60fd49ULL
, 0x003de5a1ebb4fbb1ULL
} }, /* 10^(-25) * 2^201 */
51 { { 0x76a54d92bf80caa1ULL
, 0x00318481895d9627ULL
} }, /* 10^(-26) * 2^204 */
52 { { 0x921dd7a89933d54eULL
, 0x00279d346de4781fULL
} }, /* 10^(-27) * 2^207 */
53 { { 0x8362f2a75b862215ULL
, 0x003f61ed7ca0c032ULL
} }, /* 10^(-28) * 2^211 */
54 { { 0xcf825bb91604e811ULL
, 0x0032b4bdfd4d668eULL
} }, /* 10^(-29) * 2^214 */
55 { { 0x0c684960de6a5341ULL
, 0x00289097fdd7853fULL
} }, /* 10^(-30) * 2^217 */
56 { { 0x3d203ab3e521dc34ULL
, 0x002073accb12d0ffULL
} }, /* 10^(-31) * 2^220 */
57 { { 0x2e99f7863b696053ULL
, 0x0033ec47ab514e65ULL
} }, /* 10^(-32) * 2^224 */
58 { { 0x587b2c6b62bab376ULL
, 0x002989d2ef743eb7ULL
} }, /* 10^(-33) * 2^227 */
59 { { 0xad2f56bc4efbc2c5ULL
, 0x00213b0f25f69892ULL
} }, /* 10^(-34) * 2^230 */
60 { { 0x0f2abc9d8c9689d1ull
, 0x01a95a5b7f87a0efull
} } /* 35 extra digits */
63 static const int recip_scale
[] = {
66 129 - 128, /* 1/10^2 */
67 129 - 128, /* 1/10^3 */
100 237 - 128, /* 1/10^35 */
103 static const int short_recip_scale
[] = {
120 115 - 64, /* 114 - 64 */
124 static const unsigned long long reciprocals10_64
[] = {
125 1ull, /* dummy value for 0 extra digits */
126 0x3333333333333334ull
, /* 1 extra digit */
127 0x51eb851eb851eb86ull
,
128 0x20c49ba5e353f7cfull
,
129 0x346dc5d63886594bull
,
130 0x29f16b11c6d1e109ull
,
131 0x218def416bdb1a6eull
,
132 0x35afe535795e90b0ull
,
133 0x2af31dc4611873c0ull
,
134 0x225c17d04dad2966ull
,
135 0x36f9bfb3af7b7570ull
,
136 0x2bfaffc2f2c92ac0ull
,
137 0x232f33025bd42233ull
,
138 0x384b84d092ed0385ull
,
139 0x2d09370d42573604ull
,
140 0x24075f3dceac2b37ull
,
141 0x39a5652fb1137857ull
,
142 0x2e1dea8c8da92d13ull
145 static const UINT64 d2b
[] = {
146 0, 1, 2, 3, 4, 5, 6, 7,
147 8, 9, 80, 81, 800, 801, 880, 881,
148 10, 11, 12, 13, 14, 15, 16, 17,
149 18, 19, 90, 91, 810, 811, 890, 891,
150 20, 21, 22, 23, 24, 25, 26, 27,
151 28, 29, 82, 83, 820, 821, 808, 809,
152 30, 31, 32, 33, 34, 35, 36, 37,
153 38, 39, 92, 93, 830, 831, 818, 819,
154 40, 41, 42, 43, 44, 45, 46, 47,
155 48, 49, 84, 85, 840, 841, 88, 89,
156 50, 51, 52, 53, 54, 55, 56, 57,
157 58, 59, 94, 95, 850, 851, 98, 99,
158 60, 61, 62, 63, 64, 65, 66, 67,
159 68, 69, 86, 87, 860, 861, 888, 889,
160 70, 71, 72, 73, 74, 75, 76, 77,
161 78, 79, 96, 97, 870, 871, 898, 899,
162 100, 101, 102, 103, 104, 105, 106, 107,
163 108, 109, 180, 181, 900, 901, 980, 981,
164 110, 111, 112, 113, 114, 115, 116, 117,
165 118, 119, 190, 191, 910, 911, 990, 991,
166 120, 121, 122, 123, 124, 125, 126, 127,
167 128, 129, 182, 183, 920, 921, 908, 909,
168 130, 131, 132, 133, 134, 135, 136, 137,
169 138, 139, 192, 193, 930, 931, 918, 919,
170 140, 141, 142, 143, 144, 145, 146, 147,
171 148, 149, 184, 185, 940, 941, 188, 189,
172 150, 151, 152, 153, 154, 155, 156, 157,
173 158, 159, 194, 195, 950, 951, 198, 199,
174 160, 161, 162, 163, 164, 165, 166, 167,
175 168, 169, 186, 187, 960, 961, 988, 989,
176 170, 171, 172, 173, 174, 175, 176, 177,
177 178, 179, 196, 197, 970, 971, 998, 999,
178 200, 201, 202, 203, 204, 205, 206, 207,
179 208, 209, 280, 281, 802, 803, 882, 883,
180 210, 211, 212, 213, 214, 215, 216, 217,
181 218, 219, 290, 291, 812, 813, 892, 893,
182 220, 221, 222, 223, 224, 225, 226, 227,
183 228, 229, 282, 283, 822, 823, 828, 829,
184 230, 231, 232, 233, 234, 235, 236, 237,
185 238, 239, 292, 293, 832, 833, 838, 839,
186 240, 241, 242, 243, 244, 245, 246, 247,
187 248, 249, 284, 285, 842, 843, 288, 289,
188 250, 251, 252, 253, 254, 255, 256, 257,
189 258, 259, 294, 295, 852, 853, 298, 299,
190 260, 261, 262, 263, 264, 265, 266, 267,
191 268, 269, 286, 287, 862, 863, 888, 889,
192 270, 271, 272, 273, 274, 275, 276, 277,
193 278, 279, 296, 297, 872, 873, 898, 899,
194 300, 301, 302, 303, 304, 305, 306, 307,
195 308, 309, 380, 381, 902, 903, 982, 983,
196 310, 311, 312, 313, 314, 315, 316, 317,
197 318, 319, 390, 391, 912, 913, 992, 993,
198 320, 321, 322, 323, 324, 325, 326, 327,
199 328, 329, 382, 383, 922, 923, 928, 929,
200 330, 331, 332, 333, 334, 335, 336, 337,
201 338, 339, 392, 393, 932, 933, 938, 939,
202 340, 341, 342, 343, 344, 345, 346, 347,
203 348, 349, 384, 385, 942, 943, 388, 389,
204 350, 351, 352, 353, 354, 355, 356, 357,
205 358, 359, 394, 395, 952, 953, 398, 399,
206 360, 361, 362, 363, 364, 365, 366, 367,
207 368, 369, 386, 387, 962, 963, 988, 989,
208 370, 371, 372, 373, 374, 375, 376, 377,
209 378, 379, 396, 397, 972, 973, 998, 999,
210 400, 401, 402, 403, 404, 405, 406, 407,
211 408, 409, 480, 481, 804, 805, 884, 885,
212 410, 411, 412, 413, 414, 415, 416, 417,
213 418, 419, 490, 491, 814, 815, 894, 895,
214 420, 421, 422, 423, 424, 425, 426, 427,
215 428, 429, 482, 483, 824, 825, 848, 849,
216 430, 431, 432, 433, 434, 435, 436, 437,
217 438, 439, 492, 493, 834, 835, 858, 859,
218 440, 441, 442, 443, 444, 445, 446, 447,
219 448, 449, 484, 485, 844, 845, 488, 489,
220 450, 451, 452, 453, 454, 455, 456, 457,
221 458, 459, 494, 495, 854, 855, 498, 499,
222 460, 461, 462, 463, 464, 465, 466, 467,
223 468, 469, 486, 487, 864, 865, 888, 889,
224 470, 471, 472, 473, 474, 475, 476, 477,
225 478, 479, 496, 497, 874, 875, 898, 899,
226 500, 501, 502, 503, 504, 505, 506, 507,
227 508, 509, 580, 581, 904, 905, 984, 985,
228 510, 511, 512, 513, 514, 515, 516, 517,
229 518, 519, 590, 591, 914, 915, 994, 995,
230 520, 521, 522, 523, 524, 525, 526, 527,
231 528, 529, 582, 583, 924, 925, 948, 949,
232 530, 531, 532, 533, 534, 535, 536, 537,
233 538, 539, 592, 593, 934, 935, 958, 959,
234 540, 541, 542, 543, 544, 545, 546, 547,
235 548, 549, 584, 585, 944, 945, 588, 589,
236 550, 551, 552, 553, 554, 555, 556, 557,
237 558, 559, 594, 595, 954, 955, 598, 599,
238 560, 561, 562, 563, 564, 565, 566, 567,
239 568, 569, 586, 587, 964, 965, 988, 989,
240 570, 571, 572, 573, 574, 575, 576, 577,
241 578, 579, 596, 597, 974, 975, 998, 999,
242 600, 601, 602, 603, 604, 605, 606, 607,
243 608, 609, 680, 681, 806, 807, 886, 887,
244 610, 611, 612, 613, 614, 615, 616, 617,
245 618, 619, 690, 691, 816, 817, 896, 897,
246 620, 621, 622, 623, 624, 625, 626, 627,
247 628, 629, 682, 683, 826, 827, 868, 869,
248 630, 631, 632, 633, 634, 635, 636, 637,
249 638, 639, 692, 693, 836, 837, 878, 879,
250 640, 641, 642, 643, 644, 645, 646, 647,
251 648, 649, 684, 685, 846, 847, 688, 689,
252 650, 651, 652, 653, 654, 655, 656, 657,
253 658, 659, 694, 695, 856, 857, 698, 699,
254 660, 661, 662, 663, 664, 665, 666, 667,
255 668, 669, 686, 687, 866, 867, 888, 889,
256 670, 671, 672, 673, 674, 675, 676, 677,
257 678, 679, 696, 697, 876, 877, 898, 899,
258 700, 701, 702, 703, 704, 705, 706, 707,
259 708, 709, 780, 781, 906, 907, 986, 987,
260 710, 711, 712, 713, 714, 715, 716, 717,
261 718, 719, 790, 791, 916, 917, 996, 997,
262 720, 721, 722, 723, 724, 725, 726, 727,
263 728, 729, 782, 783, 926, 927, 968, 969,
264 730, 731, 732, 733, 734, 735, 736, 737,
265 738, 739, 792, 793, 936, 937, 978, 979,
266 740, 741, 742, 743, 744, 745, 746, 747,
267 748, 749, 784, 785, 946, 947, 788, 789,
268 750, 751, 752, 753, 754, 755, 756, 757,
269 758, 759, 794, 795, 956, 957, 798, 799,
270 760, 761, 762, 763, 764, 765, 766, 767,
271 768, 769, 786, 787, 966, 967, 988, 989,
272 770, 771, 772, 773, 774, 775, 776, 777,
273 778, 779, 796, 797, 976, 977, 998, 999 };
275 static const UINT64 d2b2
[] = {
276 0000ull, 1000ull, 2000ull, 3000ull,
277 4000ull, 5000ull, 6000ull, 7000ull,
278 8000ull, 9000ull, 80000ull, 81000ull,
279 800000ull, 801000ull, 880000ull, 881000ull,
280 10000ull, 11000ull, 12000ull, 13000ull,
281 14000ull, 15000ull, 16000ull, 17000ull,
282 18000ull, 19000ull, 90000ull, 91000ull,
283 810000ull, 811000ull, 890000ull, 891000ull,
284 20000ull, 21000ull, 22000ull, 23000ull,
285 24000ull, 25000ull, 26000ull, 27000ull,
286 28000ull, 29000ull, 82000ull, 83000ull,
287 820000ull, 821000ull, 808000ull, 809000ull,
288 30000ull, 31000ull, 32000ull, 33000ull,
289 34000ull, 35000ull, 36000ull, 37000ull,
290 38000ull, 39000ull, 92000ull, 93000ull,
291 830000ull, 831000ull, 818000ull, 819000ull,
292 40000ull, 41000ull, 42000ull, 43000ull,
293 44000ull, 45000ull, 46000ull, 47000ull,
294 48000ull, 49000ull, 84000ull, 85000ull,
295 840000ull, 841000ull, 88000ull, 89000ull,
296 50000ull, 51000ull, 52000ull, 53000ull,
297 54000ull, 55000ull, 56000ull, 57000ull,
298 58000ull, 59000ull, 94000ull, 95000ull,
299 850000ull, 851000ull, 98000ull, 99000ull,
300 60000ull, 61000ull, 62000ull, 63000ull,
301 64000ull, 65000ull, 66000ull, 67000ull,
302 68000ull, 69000ull, 86000ull, 87000ull,
303 860000ull, 861000ull, 888000ull, 889000ull,
304 70000ull, 71000ull, 72000ull, 73000ull,
305 74000ull, 75000ull, 76000ull, 77000ull,
306 78000ull, 79000ull, 96000ull, 97000ull,
307 870000ull, 871000ull, 898000ull, 899000ull,
308 100000ull, 101000ull, 102000ull, 103000ull,
309 104000ull, 105000ull, 106000ull, 107000ull,
310 108000ull, 109000ull, 180000ull, 181000ull,
311 900000ull, 901000ull, 980000ull, 981000ull,
312 110000ull, 111000ull, 112000ull, 113000ull,
313 114000ull, 115000ull, 116000ull, 117000ull,
314 118000ull, 119000ull, 190000ull, 191000ull,
315 910000ull, 911000ull, 990000ull, 991000ull,
316 120000ull, 121000ull, 122000ull, 123000ull,
317 124000ull, 125000ull, 126000ull, 127000ull,
318 128000ull, 129000ull, 182000ull, 183000ull,
319 920000ull, 921000ull, 908000ull, 909000ull,
320 130000ull, 131000ull, 132000ull, 133000ull,
321 134000ull, 135000ull, 136000ull, 137000ull,
322 138000ull, 139000ull, 192000ull, 193000ull,
323 930000ull, 931000ull, 918000ull, 919000ull,
324 140000ull, 141000ull, 142000ull, 143000ull,
325 144000ull, 145000ull, 146000ull, 147000ull,
326 148000ull, 149000ull, 184000ull, 185000ull,
327 940000ull, 941000ull, 188000ull, 189000ull,
328 150000ull, 151000ull, 152000ull, 153000ull,
329 154000ull, 155000ull, 156000ull, 157000ull,
330 158000ull, 159000ull, 194000ull, 195000ull,
331 950000ull, 951000ull, 198000ull, 199000ull,
332 160000ull, 161000ull, 162000ull, 163000ull,
333 164000ull, 165000ull, 166000ull, 167000ull,
334 168000ull, 169000ull, 186000ull, 187000ull,
335 960000ull, 961000ull, 988000ull, 989000ull,
336 170000ull, 171000ull, 172000ull, 173000ull,
337 174000ull, 175000ull, 176000ull, 177000ull,
338 178000ull, 179000ull, 196000ull, 197000ull,
339 970000ull, 971000ull, 998000ull, 999000ull,
340 200000ull, 201000ull, 202000ull, 203000ull,
341 204000ull, 205000ull, 206000ull, 207000ull,
342 208000ull, 209000ull, 280000ull, 281000ull,
343 802000ull, 803000ull, 882000ull, 883000ull,
344 210000ull, 211000ull, 212000ull, 213000ull,
345 214000ull, 215000ull, 216000ull, 217000ull,
346 218000ull, 219000ull, 290000ull, 291000ull,
347 812000ull, 813000ull, 892000ull, 893000ull,
348 220000ull, 221000ull, 222000ull, 223000ull,
349 224000ull, 225000ull, 226000ull, 227000ull,
350 228000ull, 229000ull, 282000ull, 283000ull,
351 822000ull, 823000ull, 828000ull, 829000ull,
352 230000ull, 231000ull, 232000ull, 233000ull,
353 234000ull, 235000ull, 236000ull, 237000ull,
354 238000ull, 239000ull, 292000ull, 293000ull,
355 832000ull, 833000ull, 838000ull, 839000ull,
356 240000ull, 241000ull, 242000ull, 243000ull,
357 244000ull, 245000ull, 246000ull, 247000ull,
358 248000ull, 249000ull, 284000ull, 285000ull,
359 842000ull, 843000ull, 288000ull, 289000ull,
360 250000ull, 251000ull, 252000ull, 253000ull,
361 254000ull, 255000ull, 256000ull, 257000ull,
362 258000ull, 259000ull, 294000ull, 295000ull,
363 852000ull, 853000ull, 298000ull, 299000ull,
364 260000ull, 261000ull, 262000ull, 263000ull,
365 264000ull, 265000ull, 266000ull, 267000ull,
366 268000ull, 269000ull, 286000ull, 287000ull,
367 862000ull, 863000ull, 888000ull, 889000ull,
368 270000ull, 271000ull, 272000ull, 273000ull,
369 274000ull, 275000ull, 276000ull, 277000ull,
370 278000ull, 279000ull, 296000ull, 297000ull,
371 872000ull, 873000ull, 898000ull, 899000ull,
372 300000ull, 301000ull, 302000ull, 303000ull,
373 304000ull, 305000ull, 306000ull, 307000ull,
374 308000ull, 309000ull, 380000ull, 381000ull,
375 902000ull, 903000ull, 982000ull, 983000ull,
376 310000ull, 311000ull, 312000ull, 313000ull,
377 314000ull, 315000ull, 316000ull, 317000ull,
378 318000ull, 319000ull, 390000ull, 391000ull,
379 912000ull, 913000ull, 992000ull, 993000ull,
380 320000ull, 321000ull, 322000ull, 323000ull,
381 324000ull, 325000ull, 326000ull, 327000ull,
382 328000ull, 329000ull, 382000ull, 383000ull,
383 922000ull, 923000ull, 928000ull, 929000ull,
384 330000ull, 331000ull, 332000ull, 333000ull,
385 334000ull, 335000ull, 336000ull, 337000ull,
386 338000ull, 339000ull, 392000ull, 393000ull,
387 932000ull, 933000ull, 938000ull, 939000ull,
388 340000ull, 341000ull, 342000ull, 343000ull,
389 344000ull, 345000ull, 346000ull, 347000ull,
390 348000ull, 349000ull, 384000ull, 385000ull,
391 942000ull, 943000ull, 388000ull, 389000ull,
392 350000ull, 351000ull, 352000ull, 353000ull,
393 354000ull, 355000ull, 356000ull, 357000ull,
394 358000ull, 359000ull, 394000ull, 395000ull,
395 952000ull, 953000ull, 398000ull, 399000ull,
396 360000ull, 361000ull, 362000ull, 363000ull,
397 364000ull, 365000ull, 366000ull, 367000ull,
398 368000ull, 369000ull, 386000ull, 387000ull,
399 962000ull, 963000ull, 988000ull, 989000ull,
400 370000ull, 371000ull, 372000ull, 373000ull,
401 374000ull, 375000ull, 376000ull, 377000ull,
402 378000ull, 379000ull, 396000ull, 397000ull,
403 972000ull, 973000ull, 998000ull, 999000ull,
404 400000ull, 401000ull, 402000ull, 403000ull,
405 404000ull, 405000ull, 406000ull, 407000ull,
406 408000ull, 409000ull, 480000ull, 481000ull,
407 804000ull, 805000ull, 884000ull, 885000ull,
408 410000ull, 411000ull, 412000ull, 413000ull,
409 414000ull, 415000ull, 416000ull, 417000ull,
410 418000ull, 419000ull, 490000ull, 491000ull,
411 814000ull, 815000ull, 894000ull, 895000ull,
412 420000ull, 421000ull, 422000ull, 423000ull,
413 424000ull, 425000ull, 426000ull, 427000ull,
414 428000ull, 429000ull, 482000ull, 483000ull,
415 824000ull, 825000ull, 848000ull, 849000ull,
416 430000ull, 431000ull, 432000ull, 433000ull,
417 434000ull, 435000ull, 436000ull, 437000ull,
418 438000ull, 439000ull, 492000ull, 493000ull,
419 834000ull, 835000ull, 858000ull, 859000ull,
420 440000ull, 441000ull, 442000ull, 443000ull,
421 444000ull, 445000ull, 446000ull, 447000ull,
422 448000ull, 449000ull, 484000ull, 485000ull,
423 844000ull, 845000ull, 488000ull, 489000ull,
424 450000ull, 451000ull, 452000ull, 453000ull,
425 454000ull, 455000ull, 456000ull, 457000ull,
426 458000ull, 459000ull, 494000ull, 495000ull,
427 854000ull, 855000ull, 498000ull, 499000ull,
428 460000ull, 461000ull, 462000ull, 463000ull,
429 464000ull, 465000ull, 466000ull, 467000ull,
430 468000ull, 469000ull, 486000ull, 487000ull,
431 864000ull, 865000ull, 888000ull, 889000ull,
432 470000ull, 471000ull, 472000ull, 473000ull,
433 474000ull, 475000ull, 476000ull, 477000ull,
434 478000ull, 479000ull, 496000ull, 497000ull,
435 874000ull, 875000ull, 898000ull, 899000ull,
436 500000ull, 501000ull, 502000ull, 503000ull,
437 504000ull, 505000ull, 506000ull, 507000ull,
438 508000ull, 509000ull, 580000ull, 581000ull,
439 904000ull, 905000ull, 984000ull, 985000ull,
440 510000ull, 511000ull, 512000ull, 513000ull,
441 514000ull, 515000ull, 516000ull, 517000ull,
442 518000ull, 519000ull, 590000ull, 591000ull,
443 914000ull, 915000ull, 994000ull, 995000ull,
444 520000ull, 521000ull, 522000ull, 523000ull,
445 524000ull, 525000ull, 526000ull, 527000ull,
446 528000ull, 529000ull, 582000ull, 583000ull,
447 924000ull, 925000ull, 948000ull, 949000ull,
448 530000ull, 531000ull, 532000ull, 533000ull,
449 534000ull, 535000ull, 536000ull, 537000ull,
450 538000ull, 539000ull, 592000ull, 593000ull,
451 934000ull, 935000ull, 958000ull, 959000ull,
452 540000ull, 541000ull, 542000ull, 543000ull,
453 544000ull, 545000ull, 546000ull, 547000ull,
454 548000ull, 549000ull, 584000ull, 585000ull,
455 944000ull, 945000ull, 588000ull, 589000ull,
456 550000ull, 551000ull, 552000ull, 553000ull,
457 554000ull, 555000ull, 556000ull, 557000ull,
458 558000ull, 559000ull, 594000ull, 595000ull,
459 954000ull, 955000ull, 598000ull, 599000ull,
460 560000ull, 561000ull, 562000ull, 563000ull,
461 564000ull, 565000ull, 566000ull, 567000ull,
462 568000ull, 569000ull, 586000ull, 587000ull,
463 964000ull, 965000ull, 988000ull, 989000ull,
464 570000ull, 571000ull, 572000ull, 573000ull,
465 574000ull, 575000ull, 576000ull, 577000ull,
466 578000ull, 579000ull, 596000ull, 597000ull,
467 974000ull, 975000ull, 998000ull, 999000ull,
468 600000ull, 601000ull, 602000ull, 603000ull,
469 604000ull, 605000ull, 606000ull, 607000ull,
470 608000ull, 609000ull, 680000ull, 681000ull,
471 806000ull, 807000ull, 886000ull, 887000ull,
472 610000ull, 611000ull, 612000ull, 613000ull,
473 614000ull, 615000ull, 616000ull, 617000ull,
474 618000ull, 619000ull, 690000ull, 691000ull,
475 816000ull, 817000ull, 896000ull, 897000ull,
476 620000ull, 621000ull, 622000ull, 623000ull,
477 624000ull, 625000ull, 626000ull, 627000ull,
478 628000ull, 629000ull, 682000ull, 683000ull,
479 826000ull, 827000ull, 868000ull, 869000ull,
480 630000ull, 631000ull, 632000ull, 633000ull,
481 634000ull, 635000ull, 636000ull, 637000ull,
482 638000ull, 639000ull, 692000ull, 693000ull,
483 836000ull, 837000ull, 878000ull, 879000ull,
484 640000ull, 641000ull, 642000ull, 643000ull,
485 644000ull, 645000ull, 646000ull, 647000ull,
486 648000ull, 649000ull, 684000ull, 685000ull,
487 846000ull, 847000ull, 688000ull, 689000ull,
488 650000ull, 651000ull, 652000ull, 653000ull,
489 654000ull, 655000ull, 656000ull, 657000ull,
490 658000ull, 659000ull, 694000ull, 695000ull,
491 856000ull, 857000ull, 698000ull, 699000ull,
492 660000ull, 661000ull, 662000ull, 663000ull,
493 664000ull, 665000ull, 666000ull, 667000ull,
494 668000ull, 669000ull, 686000ull, 687000ull,
495 866000ull, 867000ull, 888000ull, 889000ull,
496 670000ull, 671000ull, 672000ull, 673000ull,
497 674000ull, 675000ull, 676000ull, 677000ull,
498 678000ull, 679000ull, 696000ull, 697000ull,
499 876000ull, 877000ull, 898000ull, 899000ull,
500 700000ull, 701000ull, 702000ull, 703000ull,
501 704000ull, 705000ull, 706000ull, 707000ull,
502 708000ull, 709000ull, 780000ull, 781000ull,
503 906000ull, 907000ull, 986000ull, 987000ull,
504 710000ull, 711000ull, 712000ull, 713000ull,
505 714000ull, 715000ull, 716000ull, 717000ull,
506 718000ull, 719000ull, 790000ull, 791000ull,
507 916000ull, 917000ull, 996000ull, 997000ull,
508 720000ull, 721000ull, 722000ull, 723000ull,
509 724000ull, 725000ull, 726000ull, 727000ull,
510 728000ull, 729000ull, 782000ull, 783000ull,
511 926000ull, 927000ull, 968000ull, 969000ull,
512 730000ull, 731000ull, 732000ull, 733000ull,
513 734000ull, 735000ull, 736000ull, 737000ull,
514 738000ull, 739000ull, 792000ull, 793000ull,
515 936000ull, 937000ull, 978000ull, 979000ull,
516 740000ull, 741000ull, 742000ull, 743000ull,
517 744000ull, 745000ull, 746000ull, 747000ull,
518 748000ull, 749000ull, 784000ull, 785000ull,
519 946000ull, 947000ull, 788000ull, 789000ull,
520 750000ull, 751000ull, 752000ull, 753000ull,
521 754000ull, 755000ull, 756000ull, 757000ull,
522 758000ull, 759000ull, 794000ull, 795000ull,
523 956000ull, 957000ull, 798000ull, 799000ull,
524 760000ull, 761000ull, 762000ull, 763000ull,
525 764000ull, 765000ull, 766000ull, 767000ull,
526 768000ull, 769000ull, 786000ull, 787000ull,
527 966000ull, 967000ull, 988000ull, 989000ull,
528 770000ull, 771000ull, 772000ull, 773000ull,
529 774000ull, 775000ull, 776000ull, 777000ull,
530 778000ull, 779000ull, 796000ull, 797000ull,
531 976000ull, 977000ull, 998000ull, 999000ull
534 static const UINT64 d2b3
[] = {
1623 static const UINT64 d2b4
[] = {
2713 static const UINT64 d2b5
[] = {
3803 static const UINT64 d2b6
[] = {
3804 0000000000000000ull,
3805 1000000000000000ull,
3806 2000000000000000ull,
3807 3000000000000000ull,
3808 4000000000000000ull,
3809 5000000000000000ull,
3810 6000000000000000ull,
3811 7000000000000000ull,
3812 8000000000000000ull,
3813 9000000000000000ull,
3814 80000000000000000ull,
3815 81000000000000000ull,
3816 800000000000000000ull,
3817 801000000000000000ull,
3818 880000000000000000ull,
3819 881000000000000000ull,
3821 10000000000000000ull,
3822 11000000000000000ull,
3823 12000000000000000ull,
3824 13000000000000000ull,
3825 14000000000000000ull,
3826 15000000000000000ull,
3827 16000000000000000ull,
3828 17000000000000000ull,
3829 18000000000000000ull,
3830 19000000000000000ull,
3831 90000000000000000ull,
3832 91000000000000000ull,
3833 810000000000000000ull,
3834 811000000000000000ull,
3835 890000000000000000ull,
3836 891000000000000000ull,
3838 20000000000000000ull,
3839 21000000000000000ull,
3840 22000000000000000ull,
3841 23000000000000000ull,
3842 24000000000000000ull,
3843 25000000000000000ull,
3844 26000000000000000ull,
3845 27000000000000000ull,
3846 28000000000000000ull,
3847 29000000000000000ull,
3848 82000000000000000ull,
3849 83000000000000000ull,
3850 820000000000000000ull,
3851 821000000000000000ull,
3852 808000000000000000ull,
3853 809000000000000000ull,
3855 30000000000000000ull,
3856 31000000000000000ull,
3857 32000000000000000ull,
3858 33000000000000000ull,
3859 34000000000000000ull,
3860 35000000000000000ull,
3861 36000000000000000ull,
3862 37000000000000000ull,
3863 38000000000000000ull,
3864 39000000000000000ull,
3865 92000000000000000ull,
3866 93000000000000000ull,
3867 830000000000000000ull,
3868 831000000000000000ull,
3869 818000000000000000ull,
3870 819000000000000000ull,
3872 40000000000000000ull,
3873 41000000000000000ull,
3874 42000000000000000ull,
3875 43000000000000000ull,
3876 44000000000000000ull,
3877 45000000000000000ull,
3878 46000000000000000ull,
3879 47000000000000000ull,
3880 48000000000000000ull,
3881 49000000000000000ull,
3882 84000000000000000ull,
3883 85000000000000000ull,
3884 840000000000000000ull,
3885 841000000000000000ull,
3886 88000000000000000ull,
3887 89000000000000000ull,
3889 50000000000000000ull,
3890 51000000000000000ull,
3891 52000000000000000ull,
3892 53000000000000000ull,
3893 54000000000000000ull,
3894 55000000000000000ull,
3895 56000000000000000ull,
3896 57000000000000000ull,
3897 58000000000000000ull,
3898 59000000000000000ull,
3899 94000000000000000ull,
3900 95000000000000000ull,
3901 850000000000000000ull,
3902 851000000000000000ull,
3903 98000000000000000ull,
3904 99000000000000000ull,
3906 60000000000000000ull,
3907 61000000000000000ull,
3908 62000000000000000ull,
3909 63000000000000000ull,
3910 64000000000000000ull,
3911 65000000000000000ull,
3912 66000000000000000ull,
3913 67000000000000000ull,
3914 68000000000000000ull,
3915 69000000000000000ull,
3916 86000000000000000ull,
3917 87000000000000000ull,
3918 860000000000000000ull,
3919 861000000000000000ull,
3920 888000000000000000ull,
3921 889000000000000000ull,
3923 70000000000000000ull,
3924 71000000000000000ull,
3925 72000000000000000ull,
3926 73000000000000000ull,
3927 74000000000000000ull,
3928 75000000000000000ull,
3929 76000000000000000ull,
3930 77000000000000000ull,
3931 78000000000000000ull,
3932 79000000000000000ull,
3933 96000000000000000ull,
3934 97000000000000000ull,
3935 870000000000000000ull,
3936 871000000000000000ull,
3937 898000000000000000ull,
3938 899000000000000000ull,
3940 100000000000000000ull,
3941 101000000000000000ull,
3942 102000000000000000ull,
3943 103000000000000000ull,
3944 104000000000000000ull,
3945 105000000000000000ull,
3946 106000000000000000ull,
3947 107000000000000000ull,
3948 108000000000000000ull,
3949 109000000000000000ull,
3950 180000000000000000ull,
3951 181000000000000000ull,
3952 900000000000000000ull,
3953 901000000000000000ull,
3954 980000000000000000ull,
3955 981000000000000000ull,
3957 110000000000000000ull,
3958 111000000000000000ull,
3959 112000000000000000ull,
3960 113000000000000000ull,
3961 114000000000000000ull,
3962 115000000000000000ull,
3963 116000000000000000ull,
3964 117000000000000000ull,
3965 118000000000000000ull,
3966 119000000000000000ull,
3967 190000000000000000ull,
3968 191000000000000000ull,
3969 910000000000000000ull,
3970 911000000000000000ull,
3971 990000000000000000ull,
3972 991000000000000000ull,
3974 120000000000000000ull,
3975 121000000000000000ull,
3976 122000000000000000ull,
3977 123000000000000000ull,
3978 124000000000000000ull,
3979 125000000000000000ull,
3980 126000000000000000ull,
3981 127000000000000000ull,
3982 128000000000000000ull,
3983 129000000000000000ull,
3984 182000000000000000ull,
3985 183000000000000000ull,
3986 920000000000000000ull,
3987 921000000000000000ull,
3988 908000000000000000ull,
3989 909000000000000000ull,
3991 130000000000000000ull,
3992 131000000000000000ull,
3993 132000000000000000ull,
3994 133000000000000000ull,
3995 134000000000000000ull,
3996 135000000000000000ull,
3997 136000000000000000ull,
3998 137000000000000000ull,
3999 138000000000000000ull,
4000 139000000000000000ull,
4001 192000000000000000ull,
4002 193000000000000000ull,
4003 930000000000000000ull,
4004 931000000000000000ull,
4005 918000000000000000ull,
4006 919000000000000000ull,
4008 140000000000000000ull,
4009 141000000000000000ull,
4010 142000000000000000ull,
4011 143000000000000000ull,
4012 144000000000000000ull,
4013 145000000000000000ull,
4014 146000000000000000ull,
4015 147000000000000000ull,
4016 148000000000000000ull,
4017 149000000000000000ull,
4018 184000000000000000ull,
4019 185000000000000000ull,
4020 940000000000000000ull,
4021 941000000000000000ull,
4022 188000000000000000ull,
4023 189000000000000000ull,
4025 150000000000000000ull,
4026 151000000000000000ull,
4027 152000000000000000ull,
4028 153000000000000000ull,
4029 154000000000000000ull,
4030 155000000000000000ull,
4031 156000000000000000ull,
4032 157000000000000000ull,
4033 158000000000000000ull,
4034 159000000000000000ull,
4035 194000000000000000ull,
4036 195000000000000000ull,
4037 950000000000000000ull,
4038 951000000000000000ull,
4039 198000000000000000ull,
4040 199000000000000000ull,
4042 160000000000000000ull,
4043 161000000000000000ull,
4044 162000000000000000ull,
4045 163000000000000000ull,
4046 164000000000000000ull,
4047 165000000000000000ull,
4048 166000000000000000ull,
4049 167000000000000000ull,
4050 168000000000000000ull,
4051 169000000000000000ull,
4052 186000000000000000ull,
4053 187000000000000000ull,
4054 960000000000000000ull,
4055 961000000000000000ull,
4056 988000000000000000ull,
4057 989000000000000000ull,
4059 170000000000000000ull,
4060 171000000000000000ull,
4061 172000000000000000ull,
4062 173000000000000000ull,
4063 174000000000000000ull,
4064 175000000000000000ull,
4065 176000000000000000ull,
4066 177000000000000000ull,
4067 178000000000000000ull,
4068 179000000000000000ull,
4069 196000000000000000ull,
4070 197000000000000000ull,
4071 970000000000000000ull,
4072 971000000000000000ull,
4073 998000000000000000ull,
4074 999000000000000000ull,
4076 200000000000000000ull,
4077 201000000000000000ull,
4078 202000000000000000ull,
4079 203000000000000000ull,
4080 204000000000000000ull,
4081 205000000000000000ull,
4082 206000000000000000ull,
4083 207000000000000000ull,
4084 208000000000000000ull,
4085 209000000000000000ull,
4086 280000000000000000ull,
4087 281000000000000000ull,
4088 802000000000000000ull,
4089 803000000000000000ull,
4090 882000000000000000ull,
4091 883000000000000000ull,
4093 210000000000000000ull,
4094 211000000000000000ull,
4095 212000000000000000ull,
4096 213000000000000000ull,
4097 214000000000000000ull,
4098 215000000000000000ull,
4099 216000000000000000ull,
4100 217000000000000000ull,
4101 218000000000000000ull,
4102 219000000000000000ull,
4103 290000000000000000ull,
4104 291000000000000000ull,
4105 812000000000000000ull,
4106 813000000000000000ull,
4107 892000000000000000ull,
4108 893000000000000000ull,
4110 220000000000000000ull,
4111 221000000000000000ull,
4112 222000000000000000ull,
4113 223000000000000000ull,
4114 224000000000000000ull,
4115 225000000000000000ull,
4116 226000000000000000ull,
4117 227000000000000000ull,
4118 228000000000000000ull,
4119 229000000000000000ull,
4120 282000000000000000ull,
4121 283000000000000000ull,
4122 822000000000000000ull,
4123 823000000000000000ull,
4124 828000000000000000ull,
4125 829000000000000000ull,
4127 230000000000000000ull,
4128 231000000000000000ull,
4129 232000000000000000ull,
4130 233000000000000000ull,
4131 234000000000000000ull,
4132 235000000000000000ull,
4133 236000000000000000ull,
4134 237000000000000000ull,
4135 238000000000000000ull,
4136 239000000000000000ull,
4137 292000000000000000ull,
4138 293000000000000000ull,
4139 832000000000000000ull,
4140 833000000000000000ull,
4141 838000000000000000ull,
4142 839000000000000000ull,
4144 240000000000000000ull,
4145 241000000000000000ull,
4146 242000000000000000ull,
4147 243000000000000000ull,
4148 244000000000000000ull,
4149 245000000000000000ull,
4150 246000000000000000ull,
4151 247000000000000000ull,
4152 248000000000000000ull,
4153 249000000000000000ull,
4154 284000000000000000ull,
4155 285000000000000000ull,
4156 842000000000000000ull,
4157 843000000000000000ull,
4158 288000000000000000ull,
4159 289000000000000000ull,
4161 250000000000000000ull,
4162 251000000000000000ull,
4163 252000000000000000ull,
4164 253000000000000000ull,
4165 254000000000000000ull,
4166 255000000000000000ull,
4167 256000000000000000ull,
4168 257000000000000000ull,
4169 258000000000000000ull,
4170 259000000000000000ull,
4171 294000000000000000ull,
4172 295000000000000000ull,
4173 852000000000000000ull,
4174 853000000000000000ull,
4175 298000000000000000ull,
4176 299000000000000000ull,
4178 260000000000000000ull,
4179 261000000000000000ull,
4180 262000000000000000ull,
4181 263000000000000000ull,
4182 264000000000000000ull,
4183 265000000000000000ull,
4184 266000000000000000ull,
4185 267000000000000000ull,
4186 268000000000000000ull,
4187 269000000000000000ull,
4188 286000000000000000ull,
4189 287000000000000000ull,
4190 862000000000000000ull,
4191 863000000000000000ull,
4192 888000000000000000ull,
4193 889000000000000000ull,
4195 270000000000000000ull,
4196 271000000000000000ull,
4197 272000000000000000ull,
4198 273000000000000000ull,
4199 274000000000000000ull,
4200 275000000000000000ull,
4201 276000000000000000ull,
4202 277000000000000000ull,
4203 278000000000000000ull,
4204 279000000000000000ull,
4205 296000000000000000ull,
4206 297000000000000000ull,
4207 872000000000000000ull,
4208 873000000000000000ull,
4209 898000000000000000ull,
4210 899000000000000000ull,
4212 300000000000000000ull,
4213 301000000000000000ull,
4214 302000000000000000ull,
4215 303000000000000000ull,
4216 304000000000000000ull,
4217 305000000000000000ull,
4218 306000000000000000ull,
4219 307000000000000000ull,
4220 308000000000000000ull,
4221 309000000000000000ull,
4222 380000000000000000ull,
4223 381000000000000000ull,
4224 902000000000000000ull,
4225 903000000000000000ull,
4226 982000000000000000ull,
4227 983000000000000000ull,
4229 310000000000000000ull,
4230 311000000000000000ull,
4231 312000000000000000ull,
4232 313000000000000000ull,
4233 314000000000000000ull,
4234 315000000000000000ull,
4235 316000000000000000ull,
4236 317000000000000000ull,
4237 318000000000000000ull,
4238 319000000000000000ull,
4239 390000000000000000ull,
4240 391000000000000000ull,
4241 912000000000000000ull,
4242 913000000000000000ull,
4243 992000000000000000ull,
4244 993000000000000000ull,
4246 320000000000000000ull,
4247 321000000000000000ull,
4248 322000000000000000ull,
4249 323000000000000000ull,
4250 324000000000000000ull,
4251 325000000000000000ull,
4252 326000000000000000ull,
4253 327000000000000000ull,
4254 328000000000000000ull,
4255 329000000000000000ull,
4256 382000000000000000ull,
4257 383000000000000000ull,
4258 922000000000000000ull,
4259 923000000000000000ull,
4260 928000000000000000ull,
4261 929000000000000000ull,
4263 330000000000000000ull,
4264 331000000000000000ull,
4265 332000000000000000ull,
4266 333000000000000000ull,
4267 334000000000000000ull,
4268 335000000000000000ull,
4269 336000000000000000ull,
4270 337000000000000000ull,
4271 338000000000000000ull,
4272 339000000000000000ull,
4273 392000000000000000ull,
4274 393000000000000000ull,
4275 932000000000000000ull,
4276 933000000000000000ull,
4277 938000000000000000ull,
4278 939000000000000000ull,
4280 340000000000000000ull,
4281 341000000000000000ull,
4282 342000000000000000ull,
4283 343000000000000000ull,
4284 344000000000000000ull,
4285 345000000000000000ull,
4286 346000000000000000ull,
4287 347000000000000000ull,
4288 348000000000000000ull,
4289 349000000000000000ull,
4290 384000000000000000ull,
4291 385000000000000000ull,
4292 942000000000000000ull,
4293 943000000000000000ull,
4294 388000000000000000ull,
4295 389000000000000000ull,
4297 350000000000000000ull,
4298 351000000000000000ull,
4299 352000000000000000ull,
4300 353000000000000000ull,
4301 354000000000000000ull,
4302 355000000000000000ull,
4303 356000000000000000ull,
4304 357000000000000000ull,
4305 358000000000000000ull,
4306 359000000000000000ull,
4307 394000000000000000ull,
4308 395000000000000000ull,
4309 952000000000000000ull,
4310 953000000000000000ull,
4311 398000000000000000ull,
4312 399000000000000000ull,
4314 360000000000000000ull,
4315 361000000000000000ull,
4316 362000000000000000ull,
4317 363000000000000000ull,
4318 364000000000000000ull,
4319 365000000000000000ull,
4320 366000000000000000ull,
4321 367000000000000000ull,
4322 368000000000000000ull,
4323 369000000000000000ull,
4324 386000000000000000ull,
4325 387000000000000000ull,
4326 962000000000000000ull,
4327 963000000000000000ull,
4328 988000000000000000ull,
4329 989000000000000000ull,
4331 370000000000000000ull,
4332 371000000000000000ull,
4333 372000000000000000ull,
4334 373000000000000000ull,
4335 374000000000000000ull,
4336 375000000000000000ull,
4337 376000000000000000ull,
4338 377000000000000000ull,
4339 378000000000000000ull,
4340 379000000000000000ull,
4341 396000000000000000ull,
4342 397000000000000000ull,
4343 972000000000000000ull,
4344 973000000000000000ull,
4345 998000000000000000ull,
4346 999000000000000000ull,
4348 400000000000000000ull,
4349 401000000000000000ull,
4350 402000000000000000ull,
4351 403000000000000000ull,
4352 404000000000000000ull,
4353 405000000000000000ull,
4354 406000000000000000ull,
4355 407000000000000000ull,
4356 408000000000000000ull,
4357 409000000000000000ull,
4358 480000000000000000ull,
4359 481000000000000000ull,
4360 804000000000000000ull,
4361 805000000000000000ull,
4362 884000000000000000ull,
4363 885000000000000000ull,
4365 410000000000000000ull,
4366 411000000000000000ull,
4367 412000000000000000ull,
4368 413000000000000000ull,
4369 414000000000000000ull,
4370 415000000000000000ull,
4371 416000000000000000ull,
4372 417000000000000000ull,
4373 418000000000000000ull,
4374 419000000000000000ull,
4375 490000000000000000ull,
4376 491000000000000000ull,
4377 814000000000000000ull,
4378 815000000000000000ull,
4379 894000000000000000ull,
4380 895000000000000000ull,
4382 420000000000000000ull,
4383 421000000000000000ull,
4384 422000000000000000ull,
4385 423000000000000000ull,
4386 424000000000000000ull,
4387 425000000000000000ull,
4388 426000000000000000ull,
4389 427000000000000000ull,
4390 428000000000000000ull,
4391 429000000000000000ull,
4392 482000000000000000ull,
4393 483000000000000000ull,
4394 824000000000000000ull,
4395 825000000000000000ull,
4396 848000000000000000ull,
4397 849000000000000000ull,
4399 430000000000000000ull,
4400 431000000000000000ull,
4401 432000000000000000ull,
4402 433000000000000000ull,
4403 434000000000000000ull,
4404 435000000000000000ull,
4405 436000000000000000ull,
4406 437000000000000000ull,
4407 438000000000000000ull,
4408 439000000000000000ull,
4409 492000000000000000ull,
4410 493000000000000000ull,
4411 834000000000000000ull,
4412 835000000000000000ull,
4413 858000000000000000ull,
4414 859000000000000000ull,
4416 440000000000000000ull,
4417 441000000000000000ull,
4418 442000000000000000ull,
4419 443000000000000000ull,
4420 444000000000000000ull,
4421 445000000000000000ull,
4422 446000000000000000ull,
4423 447000000000000000ull,
4424 448000000000000000ull,
4425 449000000000000000ull,
4426 484000000000000000ull,
4427 485000000000000000ull,
4428 844000000000000000ull,
4429 845000000000000000ull,
4430 488000000000000000ull,
4431 489000000000000000ull,
4433 450000000000000000ull,
4434 451000000000000000ull,
4435 452000000000000000ull,
4436 453000000000000000ull,
4437 454000000000000000ull,
4438 455000000000000000ull,
4439 456000000000000000ull,
4440 457000000000000000ull,
4441 458000000000000000ull,
4442 459000000000000000ull,
4443 494000000000000000ull,
4444 495000000000000000ull,
4445 854000000000000000ull,
4446 855000000000000000ull,
4447 498000000000000000ull,
4448 499000000000000000ull,
4450 460000000000000000ull,
4451 461000000000000000ull,
4452 462000000000000000ull,
4453 463000000000000000ull,
4454 464000000000000000ull,
4455 465000000000000000ull,
4456 466000000000000000ull,
4457 467000000000000000ull,
4458 468000000000000000ull,
4459 469000000000000000ull,
4460 486000000000000000ull,
4461 487000000000000000ull,
4462 864000000000000000ull,
4463 865000000000000000ull,
4464 888000000000000000ull,
4465 889000000000000000ull,
4467 470000000000000000ull,
4468 471000000000000000ull,
4469 472000000000000000ull,
4470 473000000000000000ull,
4471 474000000000000000ull,
4472 475000000000000000ull,
4473 476000000000000000ull,
4474 477000000000000000ull,
4475 478000000000000000ull,
4476 479000000000000000ull,
4477 496000000000000000ull,
4478 497000000000000000ull,
4479 874000000000000000ull,
4480 875000000000000000ull,
4481 898000000000000000ull,
4482 899000000000000000ull,
4484 500000000000000000ull,
4485 501000000000000000ull,
4486 502000000000000000ull,
4487 503000000000000000ull,
4488 504000000000000000ull,
4489 505000000000000000ull,
4490 506000000000000000ull,
4491 507000000000000000ull,
4492 508000000000000000ull,
4493 509000000000000000ull,
4494 580000000000000000ull,
4495 581000000000000000ull,
4496 904000000000000000ull,
4497 905000000000000000ull,
4498 984000000000000000ull,
4499 985000000000000000ull,
4501 510000000000000000ull,
4502 511000000000000000ull,
4503 512000000000000000ull,
4504 513000000000000000ull,
4505 514000000000000000ull,
4506 515000000000000000ull,
4507 516000000000000000ull,
4508 517000000000000000ull,
4509 518000000000000000ull,
4510 519000000000000000ull,
4511 590000000000000000ull,
4512 591000000000000000ull,
4513 914000000000000000ull,
4514 915000000000000000ull,
4515 994000000000000000ull,
4516 995000000000000000ull,
4518 520000000000000000ull,
4519 521000000000000000ull,
4520 522000000000000000ull,
4521 523000000000000000ull,
4522 524000000000000000ull,
4523 525000000000000000ull,
4524 526000000000000000ull,
4525 527000000000000000ull,
4526 528000000000000000ull,
4527 529000000000000000ull,
4528 582000000000000000ull,
4529 583000000000000000ull,
4530 924000000000000000ull,
4531 925000000000000000ull,
4532 948000000000000000ull,
4533 949000000000000000ull,
4535 530000000000000000ull,
4536 531000000000000000ull,
4537 532000000000000000ull,
4538 533000000000000000ull,
4539 534000000000000000ull,
4540 535000000000000000ull,
4541 536000000000000000ull,
4542 537000000000000000ull,
4543 538000000000000000ull,
4544 539000000000000000ull,
4545 592000000000000000ull,
4546 593000000000000000ull,
4547 934000000000000000ull,
4548 935000000000000000ull,
4549 958000000000000000ull,
4550 959000000000000000ull,
4552 540000000000000000ull,
4553 541000000000000000ull,
4554 542000000000000000ull,
4555 543000000000000000ull,
4556 544000000000000000ull,
4557 545000000000000000ull,
4558 546000000000000000ull,
4559 547000000000000000ull,
4560 548000000000000000ull,
4561 549000000000000000ull,
4562 584000000000000000ull,
4563 585000000000000000ull,
4564 944000000000000000ull,
4565 945000000000000000ull,
4566 588000000000000000ull,
4567 589000000000000000ull,
4569 550000000000000000ull,
4570 551000000000000000ull,
4571 552000000000000000ull,
4572 553000000000000000ull,
4573 554000000000000000ull,
4574 555000000000000000ull,
4575 556000000000000000ull,
4576 557000000000000000ull,
4577 558000000000000000ull,
4578 559000000000000000ull,
4579 594000000000000000ull,
4580 595000000000000000ull,
4581 954000000000000000ull,
4582 955000000000000000ull,
4583 598000000000000000ull,
4584 599000000000000000ull,
4586 560000000000000000ull,
4587 561000000000000000ull,
4588 562000000000000000ull,
4589 563000000000000000ull,
4590 564000000000000000ull,
4591 565000000000000000ull,
4592 566000000000000000ull,
4593 567000000000000000ull,
4594 568000000000000000ull,
4595 569000000000000000ull,
4596 586000000000000000ull,
4597 587000000000000000ull,
4598 964000000000000000ull,
4599 965000000000000000ull,
4600 988000000000000000ull,
4601 989000000000000000ull,
4603 570000000000000000ull,
4604 571000000000000000ull,
4605 572000000000000000ull,
4606 573000000000000000ull,
4607 574000000000000000ull,
4608 575000000000000000ull,
4609 576000000000000000ull,
4610 577000000000000000ull,
4611 578000000000000000ull,
4612 579000000000000000ull,
4613 596000000000000000ull,
4614 597000000000000000ull,
4615 974000000000000000ull,
4616 975000000000000000ull,
4617 998000000000000000ull,
4618 999000000000000000ull,
4620 600000000000000000ull,
4621 601000000000000000ull,
4622 602000000000000000ull,
4623 603000000000000000ull,
4624 604000000000000000ull,
4625 605000000000000000ull,
4626 606000000000000000ull,
4627 607000000000000000ull,
4628 608000000000000000ull,
4629 609000000000000000ull,
4630 680000000000000000ull,
4631 681000000000000000ull,
4632 806000000000000000ull,
4633 807000000000000000ull,
4634 886000000000000000ull,
4635 887000000000000000ull,
4637 610000000000000000ull,
4638 611000000000000000ull,
4639 612000000000000000ull,
4640 613000000000000000ull,
4641 614000000000000000ull,
4642 615000000000000000ull,
4643 616000000000000000ull,
4644 617000000000000000ull,
4645 618000000000000000ull,
4646 619000000000000000ull,
4647 690000000000000000ull,
4648 691000000000000000ull,
4649 816000000000000000ull,
4650 817000000000000000ull,
4651 896000000000000000ull,
4652 897000000000000000ull,
4654 620000000000000000ull,
4655 621000000000000000ull,
4656 622000000000000000ull,
4657 623000000000000000ull,
4658 624000000000000000ull,
4659 625000000000000000ull,
4660 626000000000000000ull,
4661 627000000000000000ull,
4662 628000000000000000ull,
4663 629000000000000000ull,
4664 682000000000000000ull,
4665 683000000000000000ull,
4666 826000000000000000ull,
4667 827000000000000000ull,
4668 868000000000000000ull,
4669 869000000000000000ull,
4671 630000000000000000ull,
4672 631000000000000000ull,
4673 632000000000000000ull,
4674 633000000000000000ull,
4675 634000000000000000ull,
4676 635000000000000000ull,
4677 636000000000000000ull,
4678 637000000000000000ull,
4679 638000000000000000ull,
4680 639000000000000000ull,
4681 692000000000000000ull,
4682 693000000000000000ull,
4683 836000000000000000ull,
4684 837000000000000000ull,
4685 878000000000000000ull,
4686 879000000000000000ull,
4688 640000000000000000ull,
4689 641000000000000000ull,
4690 642000000000000000ull,
4691 643000000000000000ull,
4692 644000000000000000ull,
4693 645000000000000000ull,
4694 646000000000000000ull,
4695 647000000000000000ull,
4696 648000000000000000ull,
4697 649000000000000000ull,
4698 684000000000000000ull,
4699 685000000000000000ull,
4700 846000000000000000ull,
4701 847000000000000000ull,
4702 688000000000000000ull,
4703 689000000000000000ull,
4705 650000000000000000ull,
4706 651000000000000000ull,
4707 652000000000000000ull,
4708 653000000000000000ull,
4709 654000000000000000ull,
4710 655000000000000000ull,
4711 656000000000000000ull,
4712 657000000000000000ull,
4713 658000000000000000ull,
4714 659000000000000000ull,
4715 694000000000000000ull,
4716 695000000000000000ull,
4717 856000000000000000ull,
4718 857000000000000000ull,
4719 698000000000000000ull,
4720 699000000000000000ull,
4722 660000000000000000ull,
4723 661000000000000000ull,
4724 662000000000000000ull,
4725 663000000000000000ull,
4726 664000000000000000ull,
4727 665000000000000000ull,
4728 666000000000000000ull,
4729 667000000000000000ull,
4730 668000000000000000ull,
4731 669000000000000000ull,
4732 686000000000000000ull,
4733 687000000000000000ull,
4734 866000000000000000ull,
4735 867000000000000000ull,
4736 888000000000000000ull,
4737 889000000000000000ull,
4739 670000000000000000ull,
4740 671000000000000000ull,
4741 672000000000000000ull,
4742 673000000000000000ull,
4743 674000000000000000ull,
4744 675000000000000000ull,
4745 676000000000000000ull,
4746 677000000000000000ull,
4747 678000000000000000ull,
4748 679000000000000000ull,
4749 696000000000000000ull,
4750 697000000000000000ull,
4751 876000000000000000ull,
4752 877000000000000000ull,
4753 898000000000000000ull,
4754 899000000000000000ull,
4756 700000000000000000ull,
4757 701000000000000000ull,
4758 702000000000000000ull,
4759 703000000000000000ull,
4760 704000000000000000ull,
4761 705000000000000000ull,
4762 706000000000000000ull,
4763 707000000000000000ull,
4764 708000000000000000ull,
4765 709000000000000000ull,
4766 780000000000000000ull,
4767 781000000000000000ull,
4768 906000000000000000ull,
4769 907000000000000000ull,
4770 986000000000000000ull,
4771 987000000000000000ull,
4773 710000000000000000ull,
4774 711000000000000000ull,
4775 712000000000000000ull,
4776 713000000000000000ull,
4777 714000000000000000ull,
4778 715000000000000000ull,
4779 716000000000000000ull,
4780 717000000000000000ull,
4781 718000000000000000ull,
4782 719000000000000000ull,
4783 790000000000000000ull,
4784 791000000000000000ull,
4785 916000000000000000ull,
4786 917000000000000000ull,
4787 996000000000000000ull,
4788 997000000000000000ull,
4790 720000000000000000ull,
4791 721000000000000000ull,
4792 722000000000000000ull,
4793 723000000000000000ull,
4794 724000000000000000ull,
4795 725000000000000000ull,
4796 726000000000000000ull,
4797 727000000000000000ull,
4798 728000000000000000ull,
4799 729000000000000000ull,
4800 782000000000000000ull,
4801 783000000000000000ull,
4802 926000000000000000ull,
4803 927000000000000000ull,
4804 968000000000000000ull,
4805 969000000000000000ull,
4807 730000000000000000ull,
4808 731000000000000000ull,
4809 732000000000000000ull,
4810 733000000000000000ull,
4811 734000000000000000ull,
4812 735000000000000000ull,
4813 736000000000000000ull,
4814 737000000000000000ull,
4815 738000000000000000ull,
4816 739000000000000000ull,
4817 792000000000000000ull,
4818 793000000000000000ull,
4819 936000000000000000ull,
4820 937000000000000000ull,
4821 978000000000000000ull,
4822 979000000000000000ull,
4824 740000000000000000ull,
4825 741000000000000000ull,
4826 742000000000000000ull,
4827 743000000000000000ull,
4828 744000000000000000ull,
4829 745000000000000000ull,
4830 746000000000000000ull,
4831 747000000000000000ull,
4832 748000000000000000ull,
4833 749000000000000000ull,
4834 784000000000000000ull,
4835 785000000000000000ull,
4836 946000000000000000ull,
4837 947000000000000000ull,
4838 788000000000000000ull,
4839 789000000000000000ull,
4841 750000000000000000ull,
4842 751000000000000000ull,
4843 752000000000000000ull,
4844 753000000000000000ull,
4845 754000000000000000ull,
4846 755000000000000000ull,
4847 756000000000000000ull,
4848 757000000000000000ull,
4849 758000000000000000ull,
4850 759000000000000000ull,
4851 794000000000000000ull,
4852 795000000000000000ull,
4853 956000000000000000ull,
4854 957000000000000000ull,
4855 798000000000000000ull,
4856 799000000000000000ull,
4858 760000000000000000ull,
4859 761000000000000000ull,
4860 762000000000000000ull,
4861 763000000000000000ull,
4862 764000000000000000ull,
4863 765000000000000000ull,
4864 766000000000000000ull,
4865 767000000000000000ull,
4866 768000000000000000ull,
4867 769000000000000000ull,
4868 786000000000000000ull,
4869 787000000000000000ull,
4870 966000000000000000ull,
4871 967000000000000000ull,
4872 988000000000000000ull,
4873 989000000000000000ull,
4875 770000000000000000ull,
4876 771000000000000000ull,
4877 772000000000000000ull,
4878 773000000000000000ull,
4879 774000000000000000ull,
4880 775000000000000000ull,
4881 776000000000000000ull,
4882 777000000000000000ull,
4883 778000000000000000ull,
4884 779000000000000000ull,
4885 796000000000000000ull,
4886 797000000000000000ull,
4887 976000000000000000ull,
4888 977000000000000000ull,
4889 998000000000000000ull,
4890 999000000000000000ull
4893 static const UINT64 b2d
[] = {
5995 static const UINT64 b2d2
[] = {
7097 static const UINT64 b2d3
[] = {
8199 static const UINT64 b2d4
[] = {
9301 static const UINT64 b2d5
[] = {