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