1169695Skan/* Binary Coded Decimal <--> Densely Packed Decimal lookup tables.
2169695Skan   Copyright (C) 2005 Free Software Foundation, Inc.
3169695Skan   Contributed by IBM Corporation.  Author Mike Cowlishaw.
4169695Skan
5169695Skan   This file is part of GCC.
6169695Skan
7169695Skan   GCC is free software; you can redistribute it and/or modify it under
8169695Skan   the terms of the GNU General Public License as published by the Free
9169695Skan   Software Foundation; either version 2, or (at your option) any later
10169695Skan   version.
11169695Skan
12169695Skan   In addition to the permissions in the GNU General Public License,
13169695Skan   the Free Software Foundation gives you unlimited permission to link
14169695Skan   the compiled version of this file into combinations with other
15169695Skan   programs, and to distribute those combinations without any
16169695Skan   restriction coming from the use of this file.  (The General Public
17169695Skan   License restrictions do apply in other respects; for example, they
18169695Skan   cover modification of the file, and distribution when not linked
19169695Skan   into a combine executable.)
20169695Skan
21169695Skan   GCC is distributed in the hope that it will be useful, but WITHOUT ANY
22169695Skan   WARRANTY; without even the implied warranty of MERCHANTABILITY or
23169695Skan   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
24169695Skan   for more details.
25169695Skan
26169695Skan   You should have received a copy of the GNU General Public License
27169695Skan   along with GCC; see the file COPYING.  If not, write to the Free
28169695Skan   Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
29169695Skan   02110-1301, USA.  */
30169695Skan
31169695Skan/* ------------------------------------------------------------------------ */
32169695Skan/* For details, see: http://www2.hursley.ibm.com/decimal/DPDecimal.html     */
33169695Skan/*                                                                          */
34169695Skan/* This include file defines conversion tables for DPD, as follows.         */
35169695Skan/*                                                                          */
36169695Skan/*   uint16_t BCD2DPD[2458];     // BCD -> DPD (0x999 => 2457)              */
37169695Skan/*   uint16_t DPD2BCD[1024];     // DPD -> BCD (0x3FF => 0x999)             */
38169695Skan/*   uint16_t BIN2DPD[1000];     // BIN -> DPD (999 => 2457)                */
39169695Skan/*   uint16_t DPD2BIN[1024];     // DPD -> BIN (0x3FF => 999)               */
40169695Skan/*                                                                          */
41169695Skan/* In all cases the result (10 bits or 12 bits, or binary) is right-aligned */
42169695Skan/* in the table entry.                                                      */
43169695Skan/*                                                                          */
44169695Skan/* To use a table, its name, prefixed with DEC_, must be defined with a     */
45169695Skan/* value of 1 before this header file is included.  For example:            */
46169695Skan/*    #define DEC_BCD2DPD 1                                                 */
47169695Skan/* ------------------------------------------------------------------------ */
48169695Skan
49169695Skan#if DEC_BCD2DPD==1
50169695Skan
51169695Skanconst uint16_t BCD2DPD[2458] = { 0, 1, 2, 3, 4, 5, 6, 7,
52169695Skan  8, 9, 0, 0, 0, 0, 0, 0, 16, 17, 18, 19, 20,
53169695Skan  21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 32, 33,
54169695Skan  34, 35, 36, 37, 38, 39, 40, 41, 0, 0, 0, 0, 0,
55169695Skan  0, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0, 0,
56169695Skan  0, 0, 0, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72,
57169695Skan  73, 0, 0, 0, 0, 0, 0, 80, 81, 82, 83, 84, 85,
58169695Skan  86, 87, 88, 89, 0, 0, 0, 0, 0, 0, 96, 97, 98,
59169695Skan  99, 100, 101, 102, 103, 104, 105, 0, 0, 0, 0, 0, 0,
60169695Skan  112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, 0, 0,
61169695Skan  0, 0, 0, 10, 11, 42, 43, 74, 75, 106, 107, 78, 79,
62169695Skan  0, 0, 0, 0, 0, 0, 26, 27, 58, 59, 90, 91, 122,
63169695Skan  123, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
64169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
65169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
67169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 42, 43, 74,
69169695Skan  75, 106, 107, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
70169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71169695Skan  0, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
72169695Skan  0, 0, 0, 0, 144, 145, 146, 147, 148, 149, 150, 151, 152,
73169695Skan  153, 0, 0, 0, 0, 0, 0, 160, 161, 162, 163, 164, 165,
74169695Skan  166, 167, 168, 169, 0, 0, 0, 0, 0, 0, 176, 177, 178,
75169695Skan  179, 180, 181, 182, 183, 184, 185, 0, 0, 0, 0, 0, 0,
76169695Skan  192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 0, 0, 0,
77169695Skan  0, 0, 0, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
78169695Skan  0, 0, 0, 0, 0, 0, 224, 225, 226, 227, 228, 229, 230,
79169695Skan  231, 232, 233, 0, 0, 0, 0, 0, 0, 240, 241, 242, 243,
80169695Skan  244, 245, 246, 247, 248, 249, 0, 0, 0, 0, 0, 0, 138,
81169695Skan  139, 170, 171, 202, 203, 234, 235, 206, 207, 0, 0, 0, 0,
82169695Skan  0, 0, 154, 155, 186, 187, 218, 219, 250, 251, 222, 223, 0,
83169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
84169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88169695Skan  0, 0, 0, 0, 138, 139, 170, 171, 202, 203, 234, 235, 206,
89169695Skan  207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 257, 258,
91169695Skan  259, 260, 261, 262, 263, 264, 265, 0, 0, 0, 0, 0, 0,
92169695Skan  272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 0, 0, 0,
93169695Skan  0, 0, 0, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
94169695Skan  0, 0, 0, 0, 0, 0, 304, 305, 306, 307, 308, 309, 310,
95169695Skan  311, 312, 313, 0, 0, 0, 0, 0, 0, 320, 321, 322, 323,
96169695Skan  324, 325, 326, 327, 328, 329, 0, 0, 0, 0, 0, 0, 336,
97169695Skan  337, 338, 339, 340, 341, 342, 343, 344, 345, 0, 0, 0, 0,
98169695Skan  0, 0, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 0,
99169695Skan  0, 0, 0, 0, 0, 368, 369, 370, 371, 372, 373, 374, 375,
100169695Skan  376, 377, 0, 0, 0, 0, 0, 0, 266, 267, 298, 299, 330,
101169695Skan  331, 362, 363, 334, 335, 0, 0, 0, 0, 0, 0, 282, 283,
102169695Skan  314, 315, 346, 347, 378, 379, 350, 351, 0, 0, 0, 0, 0,
103169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
104169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
108169695Skan  266, 267, 298, 299, 330, 331, 362, 363, 334, 335, 0, 0, 0,
109169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
110169695Skan  0, 0, 0, 0, 0, 0, 384, 385, 386, 387, 388, 389, 390,
111169695Skan  391, 392, 393, 0, 0, 0, 0, 0, 0, 400, 401, 402, 403,
112169695Skan  404, 405, 406, 407, 408, 409, 0, 0, 0, 0, 0, 0, 416,
113169695Skan  417, 418, 419, 420, 421, 422, 423, 424, 425, 0, 0, 0, 0,
114169695Skan  0, 0, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 0,
115169695Skan  0, 0, 0, 0, 0, 448, 449, 450, 451, 452, 453, 454, 455,
116169695Skan  456, 457, 0, 0, 0, 0, 0, 0, 464, 465, 466, 467, 468,
117169695Skan  469, 470, 471, 472, 473, 0, 0, 0, 0, 0, 0, 480, 481,
118169695Skan  482, 483, 484, 485, 486, 487, 488, 489, 0, 0, 0, 0, 0,
119169695Skan  0, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, 0,
120169695Skan  0, 0, 0, 0, 394, 395, 426, 427, 458, 459, 490, 491, 462,
121169695Skan  463, 0, 0, 0, 0, 0, 0, 410, 411, 442, 443, 474, 475,
122169695Skan  506, 507, 478, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
126169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 395, 426, 427,
128169695Skan  458, 459, 490, 491, 462, 463, 0, 0, 0, 0, 0, 0, 0,
129169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130169695Skan  0, 0, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 0,
131169695Skan  0, 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535,
132169695Skan  536, 537, 0, 0, 0, 0, 0, 0, 544, 545, 546, 547, 548,
133169695Skan  549, 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, 560, 561,
134169695Skan  562, 563, 564, 565, 566, 567, 568, 569, 0, 0, 0, 0, 0,
135169695Skan  0, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 0, 0,
136169695Skan  0, 0, 0, 0, 592, 593, 594, 595, 596, 597, 598, 599, 600,
137169695Skan  601, 0, 0, 0, 0, 0, 0, 608, 609, 610, 611, 612, 613,
138169695Skan  614, 615, 616, 617, 0, 0, 0, 0, 0, 0, 624, 625, 626,
139169695Skan  627, 628, 629, 630, 631, 632, 633, 0, 0, 0, 0, 0, 0,
140169695Skan  522, 523, 554, 555, 586, 587, 618, 619, 590, 591, 0, 0, 0,
141169695Skan  0, 0, 0, 538, 539, 570, 571, 602, 603, 634, 635, 606, 607,
142169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
143169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
144169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
145169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
146169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147169695Skan  0, 0, 0, 0, 0, 522, 523, 554, 555, 586, 587, 618, 619,
148169695Skan  590, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 641,
150169695Skan  642, 643, 644, 645, 646, 647, 648, 649, 0, 0, 0, 0, 0,
151169695Skan  0, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 0, 0,
152169695Skan  0, 0, 0, 0, 672, 673, 674, 675, 676, 677, 678, 679, 680,
153169695Skan  681, 0, 0, 0, 0, 0, 0, 688, 689, 690, 691, 692, 693,
154169695Skan  694, 695, 696, 697, 0, 0, 0, 0, 0, 0, 704, 705, 706,
155169695Skan  707, 708, 709, 710, 711, 712, 713, 0, 0, 0, 0, 0, 0,
156169695Skan  720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 0, 0, 0,
157169695Skan  0, 0, 0, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745,
158169695Skan  0, 0, 0, 0, 0, 0, 752, 753, 754, 755, 756, 757, 758,
159169695Skan  759, 760, 761, 0, 0, 0, 0, 0, 0, 650, 651, 682, 683,
160169695Skan  714, 715, 746, 747, 718, 719, 0, 0, 0, 0, 0, 0, 666,
161169695Skan  667, 698, 699, 730, 731, 762, 763, 734, 735, 0, 0, 0, 0,
162169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
164169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
166169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167169695Skan  0, 650, 651, 682, 683, 714, 715, 746, 747, 718, 719, 0, 0,
168169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169169695Skan  0, 0, 0, 0, 0, 0, 0, 768, 769, 770, 771, 772, 773,
170169695Skan  774, 775, 776, 777, 0, 0, 0, 0, 0, 0, 784, 785, 786,
171169695Skan  787, 788, 789, 790, 791, 792, 793, 0, 0, 0, 0, 0, 0,
172169695Skan  800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 0, 0, 0,
173169695Skan  0, 0, 0, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825,
174169695Skan  0, 0, 0, 0, 0, 0, 832, 833, 834, 835, 836, 837, 838,
175169695Skan  839, 840, 841, 0, 0, 0, 0, 0, 0, 848, 849, 850, 851,
176169695Skan  852, 853, 854, 855, 856, 857, 0, 0, 0, 0, 0, 0, 864,
177169695Skan  865, 866, 867, 868, 869, 870, 871, 872, 873, 0, 0, 0, 0,
178169695Skan  0, 0, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 0,
179169695Skan  0, 0, 0, 0, 0, 778, 779, 810, 811, 842, 843, 874, 875,
180169695Skan  846, 847, 0, 0, 0, 0, 0, 0, 794, 795, 826, 827, 858,
181169695Skan  859, 890, 891, 862, 863, 0, 0, 0, 0, 0, 0, 0, 0,
182169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
183169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
184169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
185169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
186169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 779, 810,
187169695Skan  811, 842, 843, 874, 875, 846, 847, 0, 0, 0, 0, 0, 0,
188169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189169695Skan  0, 0, 0, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
190169695Skan  0, 0, 0, 0, 0, 0, 912, 913, 914, 915, 916, 917, 918,
191169695Skan  919, 920, 921, 0, 0, 0, 0, 0, 0, 928, 929, 930, 931,
192169695Skan  932, 933, 934, 935, 936, 937, 0, 0, 0, 0, 0, 0, 944,
193169695Skan  945, 946, 947, 948, 949, 950, 951, 952, 953, 0, 0, 0, 0,
194169695Skan  0, 0, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 0,
195169695Skan  0, 0, 0, 0, 0, 976, 977, 978, 979, 980, 981, 982, 983,
196169695Skan  984, 985, 0, 0, 0, 0, 0, 0, 992, 993, 994, 995, 996,
197169695Skan  997, 998, 999, 1000, 1001, 0, 0, 0, 0, 0, 0, 1008, 1009,
198169695Skan  1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 0, 0, 0, 0, 0,
199169695Skan  0, 906, 907, 938, 939, 970, 971, 1002, 1003, 974, 975, 0, 0,
200169695Skan  0, 0, 0, 0, 922, 923, 954, 955, 986, 987, 1018, 1019, 990,
201169695Skan  991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
206169695Skan  0, 0, 0, 0, 0, 0, 906, 907, 938, 939, 970, 971, 1002,
207169695Skan  1003, 974, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
209169695Skan  13, 268, 269, 524, 525, 780, 781, 46, 47, 0, 0, 0, 0,
210169695Skan  0, 0, 28, 29, 284, 285, 540, 541, 796, 797, 62, 63, 0,
211169695Skan  0, 0, 0, 0, 0, 44, 45, 300, 301, 556, 557, 812, 813,
212169695Skan  302, 303, 0, 0, 0, 0, 0, 0, 60, 61, 316, 317, 572,
213169695Skan  573, 828, 829, 318, 319, 0, 0, 0, 0, 0, 0, 76, 77,
214169695Skan  332, 333, 588, 589, 844, 845, 558, 559, 0, 0, 0, 0, 0,
215169695Skan  0, 92, 93, 348, 349, 604, 605, 860, 861, 574, 575, 0, 0,
216169695Skan  0, 0, 0, 0, 108, 109, 364, 365, 620, 621, 876, 877, 814,
217169695Skan  815, 0, 0, 0, 0, 0, 0, 124, 125, 380, 381, 636, 637,
218169695Skan  892, 893, 830, 831, 0, 0, 0, 0, 0, 0, 14, 15, 270,
219169695Skan  271, 526, 527, 782, 783, 110, 111, 0, 0, 0, 0, 0, 0,
220169695Skan  30, 31, 286, 287, 542, 543, 798, 799, 126, 127, 0, 0, 0,
221169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
226169695Skan  0, 0, 14, 15, 270, 271, 526, 527, 782, 783, 110, 111, 0,
227169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228169695Skan  0, 0, 0, 0, 0, 0, 0, 0, 140, 141, 396, 397, 652,
229169695Skan  653, 908, 909, 174, 175, 0, 0, 0, 0, 0, 0, 156, 157,
230169695Skan  412, 413, 668, 669, 924, 925, 190, 191, 0, 0, 0, 0, 0,
231169695Skan  0, 172, 173, 428, 429, 684, 685, 940, 941, 430, 431, 0, 0,
232169695Skan  0, 0, 0, 0, 188, 189, 444, 445, 700, 701, 956, 957, 446,
233169695Skan  447, 0, 0, 0, 0, 0, 0, 204, 205, 460, 461, 716, 717,
234169695Skan  972, 973, 686, 687, 0, 0, 0, 0, 0, 0, 220, 221, 476,
235169695Skan  477, 732, 733, 988, 989, 702, 703, 0, 0, 0, 0, 0, 0,
236169695Skan  236, 237, 492, 493, 748, 749, 1004, 1005, 942, 943, 0, 0, 0,
237169695Skan  0, 0, 0, 252, 253, 508, 509, 764, 765, 1020, 1021, 958, 959,
238169695Skan  0, 0, 0, 0, 0, 0, 142, 143, 398, 399, 654, 655, 910,
239169695Skan  911, 238, 239, 0, 0, 0, 0, 0, 0, 158, 159, 414, 415,
240169695Skan  670, 671, 926, 927, 254, 255
241169695Skan};
242169695Skan#endif
243169695Skan
244169695Skan#if DEC_DPD2BCD==1
245169695Skan
246169695Skanconst uint16_t DPD2BCD[1024] = { 0, 1, 2, 3, 4, 5, 6, 7,
247169695Skan  8, 9, 128, 129, 2048, 2049, 2176, 2177, 16, 17, 18, 19, 20,
248169695Skan  21, 22, 23, 24, 25, 144, 145, 2064, 2065, 2192, 2193, 32, 33,
249169695Skan  34, 35, 36, 37, 38, 39, 40, 41, 130, 131, 2080, 2081, 2056,
250169695Skan  2057, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 146, 147,
251169695Skan  2096, 2097, 2072, 2073, 64, 65, 66, 67, 68, 69, 70, 71, 72,
252169695Skan  73, 132, 133, 2112, 2113, 136, 137, 80, 81, 82, 83, 84, 85,
253169695Skan  86, 87, 88, 89, 148, 149, 2128, 2129, 152, 153, 96, 97, 98,
254169695Skan  99, 100, 101, 102, 103, 104, 105, 134, 135, 2144, 2145, 2184, 2185,
255169695Skan  112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 150, 151, 2160,
256169695Skan  2161, 2200, 2201, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
257169695Skan  384, 385, 2304, 2305, 2432, 2433, 272, 273, 274, 275, 276, 277, 278,
258169695Skan  279, 280, 281, 400, 401, 2320, 2321, 2448, 2449, 288, 289, 290, 291,
259169695Skan  292, 293, 294, 295, 296, 297, 386, 387, 2336, 2337, 2312, 2313, 304,
260169695Skan  305, 306, 307, 308, 309, 310, 311, 312, 313, 402, 403, 2352, 2353,
261169695Skan  2328, 2329, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 388,
262169695Skan  389, 2368, 2369, 392, 393, 336, 337, 338, 339, 340, 341, 342, 343,
263169695Skan  344, 345, 404, 405, 2384, 2385, 408, 409, 352, 353, 354, 355, 356,
264169695Skan  357, 358, 359, 360, 361, 390, 391, 2400, 2401, 2440, 2441, 368, 369,
265169695Skan  370, 371, 372, 373, 374, 375, 376, 377, 406, 407, 2416, 2417, 2456,
266169695Skan  2457, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 640, 641,
267169695Skan  2050, 2051, 2178, 2179, 528, 529, 530, 531, 532, 533, 534, 535, 536,
268169695Skan  537, 656, 657, 2066, 2067, 2194, 2195, 544, 545, 546, 547, 548, 549,
269169695Skan  550, 551, 552, 553, 642, 643, 2082, 2083, 2088, 2089, 560, 561, 562,
270169695Skan  563, 564, 565, 566, 567, 568, 569, 658, 659, 2098, 2099, 2104, 2105,
271169695Skan  576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 644, 645, 2114,
272169695Skan  2115, 648, 649, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
273169695Skan  660, 661, 2130, 2131, 664, 665, 608, 609, 610, 611, 612, 613, 614,
274169695Skan  615, 616, 617, 646, 647, 2146, 2147, 2184, 2185, 624, 625, 626, 627,
275169695Skan  628, 629, 630, 631, 632, 633, 662, 663, 2162, 2163, 2200, 2201, 768,
276169695Skan  769, 770, 771, 772, 773, 774, 775, 776, 777, 896, 897, 2306, 2307,
277169695Skan  2434, 2435, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 912,
278169695Skan  913, 2322, 2323, 2450, 2451, 800, 801, 802, 803, 804, 805, 806, 807,
279169695Skan  808, 809, 898, 899, 2338, 2339, 2344, 2345, 816, 817, 818, 819, 820,
280169695Skan  821, 822, 823, 824, 825, 914, 915, 2354, 2355, 2360, 2361, 832, 833,
281169695Skan  834, 835, 836, 837, 838, 839, 840, 841, 900, 901, 2370, 2371, 904,
282169695Skan  905, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 916, 917,
283169695Skan  2386, 2387, 920, 921, 864, 865, 866, 867, 868, 869, 870, 871, 872,
284169695Skan  873, 902, 903, 2402, 2403, 2440, 2441, 880, 881, 882, 883, 884, 885,
285169695Skan  886, 887, 888, 889, 918, 919, 2418, 2419, 2456, 2457, 1024, 1025, 1026,
286169695Skan  1027, 1028, 1029, 1030, 1031, 1032, 1033, 1152, 1153, 2052, 2053, 2180,
287169695Skan    2181,
288169695Skan  1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1168, 1169,
289169695Skan    2068,
290169695Skan  2069, 2196, 2197, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
291169695Skan    1065,
292169695Skan  1154, 1155, 2084, 2085, 2120, 2121, 1072, 1073, 1074, 1075, 1076, 1077,
293169695Skan    1078,
294169695Skan  1079, 1080, 1081, 1170, 1171, 2100, 2101, 2136, 2137, 1088, 1089, 1090,
295169695Skan    1091,
296169695Skan  1092, 1093, 1094, 1095, 1096, 1097, 1156, 1157, 2116, 2117, 1160, 1161,
297169695Skan    1104,
298169695Skan  1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1172, 1173, 2132,
299169695Skan    2133,
300169695Skan  1176, 1177, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129,
301169695Skan    1158,
302169695Skan  1159, 2148, 2149, 2184, 2185, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
303169695Skan    1143,
304169695Skan  1144, 1145, 1174, 1175, 2164, 2165, 2200, 2201, 1280, 1281, 1282, 1283,
305169695Skan    1284,
306169695Skan  1285, 1286, 1287, 1288, 1289, 1408, 1409, 2308, 2309, 2436, 2437, 1296,
307169695Skan    1297,
308169695Skan  1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1424, 1425, 2324, 2325,
309169695Skan    2452,
310169695Skan  2453, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1410,
311169695Skan    1411,
312169695Skan  2340, 2341, 2376, 2377, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335,
313169695Skan    1336,
314169695Skan  1337, 1426, 1427, 2356, 2357, 2392, 2393, 1344, 1345, 1346, 1347, 1348,
315169695Skan    1349,
316169695Skan  1350, 1351, 1352, 1353, 1412, 1413, 2372, 2373, 1416, 1417, 1360, 1361,
317169695Skan    1362,
318169695Skan  1363, 1364, 1365, 1366, 1367, 1368, 1369, 1428, 1429, 2388, 2389, 1432,
319169695Skan    1433,
320169695Skan  1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1414, 1415,
321169695Skan    2404,
322169695Skan  2405, 2440, 2441, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400,
323169695Skan    1401,
324169695Skan  1430, 1431, 2420, 2421, 2456, 2457, 1536, 1537, 1538, 1539, 1540, 1541,
325169695Skan    1542,
326169695Skan  1543, 1544, 1545, 1664, 1665, 2054, 2055, 2182, 2183, 1552, 1553, 1554,
327169695Skan    1555,
328169695Skan  1556, 1557, 1558, 1559, 1560, 1561, 1680, 1681, 2070, 2071, 2198, 2199,
329169695Skan    1568,
330169695Skan  1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1666, 1667, 2086,
331169695Skan    2087,
332169695Skan  2152, 2153, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593,
333169695Skan    1682,
334169695Skan  1683, 2102, 2103, 2168, 2169, 1600, 1601, 1602, 1603, 1604, 1605, 1606,
335169695Skan    1607,
336169695Skan  1608, 1609, 1668, 1669, 2118, 2119, 1672, 1673, 1616, 1617, 1618, 1619,
337169695Skan    1620,
338169695Skan  1621, 1622, 1623, 1624, 1625, 1684, 1685, 2134, 2135, 1688, 1689, 1632,
339169695Skan    1633,
340169695Skan  1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1670, 1671, 2150, 2151,
341169695Skan    2184,
342169695Skan  2185, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1686,
343169695Skan    1687,
344169695Skan  2166, 2167, 2200, 2201, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
345169695Skan    1800,
346169695Skan  1801, 1920, 1921, 2310, 2311, 2438, 2439, 1808, 1809, 1810, 1811, 1812,
347169695Skan    1813,
348169695Skan  1814, 1815, 1816, 1817, 1936, 1937, 2326, 2327, 2454, 2455, 1824, 1825,
349169695Skan    1826,
350169695Skan  1827, 1828, 1829, 1830, 1831, 1832, 1833, 1922, 1923, 2342, 2343, 2408,
351169695Skan    2409,
352169695Skan  1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1938, 1939,
353169695Skan    2358,
354169695Skan  2359, 2424, 2425, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864,
355169695Skan    1865,
356169695Skan  1924, 1925, 2374, 2375, 1928, 1929, 1872, 1873, 1874, 1875, 1876, 1877,
357169695Skan    1878,
358169695Skan  1879, 1880, 1881, 1940, 1941, 2390, 2391, 1944, 1945, 1888, 1889, 1890,
359169695Skan    1891,
360169695Skan  1892, 1893, 1894, 1895, 1896, 1897, 1926, 1927, 2406, 2407, 2440, 2441,
361169695Skan    1904,
362169695Skan  1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1942, 1943, 2422,
363169695Skan    2423,
364169695Skan  2456, 2457
365169695Skan};
366169695Skan#endif
367169695Skan
368169695Skan#if DEC_BIN2DPD==1
369169695Skan
370169695Skanconst uint16_t BIN2DPD[1000] = { 0, 1, 2, 3, 4, 5, 6, 7,
371169695Skan  8, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 32,
372169695Skan  33, 34, 35, 36, 37, 38, 39, 40, 41, 48, 49, 50, 51,
373169695Skan  52, 53, 54, 55, 56, 57, 64, 65, 66, 67, 68, 69, 70,
374169695Skan  71, 72, 73, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
375169695Skan  96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 112, 113, 114,
376169695Skan  115, 116, 117, 118, 119, 120, 121, 10, 11, 42, 43, 74, 75,
377169695Skan  106, 107, 78, 79, 26, 27, 58, 59, 90, 91, 122, 123, 94,
378169695Skan  95, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 144, 145,
379169695Skan  146, 147, 148, 149, 150, 151, 152, 153, 160, 161, 162, 163, 164,
380169695Skan  165, 166, 167, 168, 169, 176, 177, 178, 179, 180, 181, 182, 183,
381169695Skan  184, 185, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 208,
382169695Skan  209, 210, 211, 212, 213, 214, 215, 216, 217, 224, 225, 226, 227,
383169695Skan  228, 229, 230, 231, 232, 233, 240, 241, 242, 243, 244, 245, 246,
384169695Skan  247, 248, 249, 138, 139, 170, 171, 202, 203, 234, 235, 206, 207,
385169695Skan  154, 155, 186, 187, 218, 219, 250, 251, 222, 223, 256, 257, 258,
386169695Skan  259, 260, 261, 262, 263, 264, 265, 272, 273, 274, 275, 276, 277,
387169695Skan  278, 279, 280, 281, 288, 289, 290, 291, 292, 293, 294, 295, 296,
388169695Skan  297, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 320, 321,
389169695Skan  322, 323, 324, 325, 326, 327, 328, 329, 336, 337, 338, 339, 340,
390169695Skan  341, 342, 343, 344, 345, 352, 353, 354, 355, 356, 357, 358, 359,
391169695Skan  360, 361, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 266,
392169695Skan  267, 298, 299, 330, 331, 362, 363, 334, 335, 282, 283, 314, 315,
393169695Skan  346, 347, 378, 379, 350, 351, 384, 385, 386, 387, 388, 389, 390,
394169695Skan  391, 392, 393, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
395169695Skan  416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 432, 433, 434,
396169695Skan  435, 436, 437, 438, 439, 440, 441, 448, 449, 450, 451, 452, 453,
397169695Skan  454, 455, 456, 457, 464, 465, 466, 467, 468, 469, 470, 471, 472,
398169695Skan  473, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 496, 497,
399169695Skan  498, 499, 500, 501, 502, 503, 504, 505, 394, 395, 426, 427, 458,
400169695Skan  459, 490, 491, 462, 463, 410, 411, 442, 443, 474, 475, 506, 507,
401169695Skan  478, 479, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 528,
402169695Skan  529, 530, 531, 532, 533, 534, 535, 536, 537, 544, 545, 546, 547,
403169695Skan  548, 549, 550, 551, 552, 553, 560, 561, 562, 563, 564, 565, 566,
404169695Skan  567, 568, 569, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
405169695Skan  592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 608, 609, 610,
406169695Skan  611, 612, 613, 614, 615, 616, 617, 624, 625, 626, 627, 628, 629,
407169695Skan  630, 631, 632, 633, 522, 523, 554, 555, 586, 587, 618, 619, 590,
408169695Skan  591, 538, 539, 570, 571, 602, 603, 634, 635, 606, 607, 640, 641,
409169695Skan  642, 643, 644, 645, 646, 647, 648, 649, 656, 657, 658, 659, 660,
410169695Skan  661, 662, 663, 664, 665, 672, 673, 674, 675, 676, 677, 678, 679,
411169695Skan  680, 681, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 704,
412169695Skan  705, 706, 707, 708, 709, 710, 711, 712, 713, 720, 721, 722, 723,
413169695Skan  724, 725, 726, 727, 728, 729, 736, 737, 738, 739, 740, 741, 742,
414169695Skan  743, 744, 745, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761,
415169695Skan  650, 651, 682, 683, 714, 715, 746, 747, 718, 719, 666, 667, 698,
416169695Skan  699, 730, 731, 762, 763, 734, 735, 768, 769, 770, 771, 772, 773,
417169695Skan  774, 775, 776, 777, 784, 785, 786, 787, 788, 789, 790, 791, 792,
418169695Skan  793, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 816, 817,
419169695Skan  818, 819, 820, 821, 822, 823, 824, 825, 832, 833, 834, 835, 836,
420169695Skan  837, 838, 839, 840, 841, 848, 849, 850, 851, 852, 853, 854, 855,
421169695Skan  856, 857, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 880,
422169695Skan  881, 882, 883, 884, 885, 886, 887, 888, 889, 778, 779, 810, 811,
423169695Skan  842, 843, 874, 875, 846, 847, 794, 795, 826, 827, 858, 859, 890,
424169695Skan  891, 862, 863, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905,
425169695Skan  912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 928, 929, 930,
426169695Skan  931, 932, 933, 934, 935, 936, 937, 944, 945, 946, 947, 948, 949,
427169695Skan  950, 951, 952, 953, 960, 961, 962, 963, 964, 965, 966, 967, 968,
428169695Skan  969, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 992, 993,
429169695Skan  994, 995, 996, 997, 998, 999, 1000, 1001, 1008, 1009, 1010, 1011, 1012,
430169695Skan  1013, 1014, 1015, 1016, 1017, 906, 907, 938, 939, 970, 971, 1002, 1003,
431169695Skan  974, 975, 922, 923, 954, 955, 986, 987, 1018, 1019, 990, 991, 12,
432169695Skan  13, 268, 269, 524, 525, 780, 781, 46, 47, 28, 29, 284, 285,
433169695Skan  540, 541, 796, 797, 62, 63, 44, 45, 300, 301, 556, 557, 812,
434169695Skan  813, 302, 303, 60, 61, 316, 317, 572, 573, 828, 829, 318, 319,
435169695Skan  76, 77, 332, 333, 588, 589, 844, 845, 558, 559, 92, 93, 348,
436169695Skan  349, 604, 605, 860, 861, 574, 575, 108, 109, 364, 365, 620, 621,
437169695Skan  876, 877, 814, 815, 124, 125, 380, 381, 636, 637, 892, 893, 830,
438169695Skan  831, 14, 15, 270, 271, 526, 527, 782, 783, 110, 111, 30, 31,
439169695Skan  286, 287, 542, 543, 798, 799, 126, 127, 140, 141, 396, 397, 652,
440169695Skan  653, 908, 909, 174, 175, 156, 157, 412, 413, 668, 669, 924, 925,
441169695Skan  190, 191, 172, 173, 428, 429, 684, 685, 940, 941, 430, 431, 188,
442169695Skan  189, 444, 445, 700, 701, 956, 957, 446, 447, 204, 205, 460, 461,
443169695Skan  716, 717, 972, 973, 686, 687, 220, 221, 476, 477, 732, 733, 988,
444169695Skan  989, 702, 703, 236, 237, 492, 493, 748, 749, 1004, 1005, 942, 943,
445169695Skan  252, 253, 508, 509, 764, 765, 1020, 1021, 958, 959, 142, 143, 398,
446169695Skan  399, 654, 655, 910, 911, 238, 239, 158, 159, 414, 415, 670, 671,
447169695Skan  926, 927, 254, 255
448169695Skan};
449169695Skan#endif
450169695Skan
451169695Skan#if DEC_DPD2BIN==1
452169695Skan
453169695Skanconst uint16_t DPD2BIN[1024] = { 0, 1, 2, 3, 4, 5, 6, 7,
454169695Skan  8, 9, 80, 81, 800, 801, 880, 881, 10, 11, 12, 13, 14,
455169695Skan  15, 16, 17, 18, 19, 90, 91, 810, 811, 890, 891, 20, 21,
456169695Skan  22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 820, 821, 808,
457169695Skan  809, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 92, 93,
458169695Skan  830, 831, 818, 819, 40, 41, 42, 43, 44, 45, 46, 47, 48,
459169695Skan  49, 84, 85, 840, 841, 88, 89, 50, 51, 52, 53, 54, 55,
460169695Skan  56, 57, 58, 59, 94, 95, 850, 851, 98, 99, 60, 61, 62,
461169695Skan  63, 64, 65, 66, 67, 68, 69, 86, 87, 860, 861, 888, 889,
462169695Skan  70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 96, 97, 870,
463169695Skan  871, 898, 899, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
464169695Skan  180, 181, 900, 901, 980, 981, 110, 111, 112, 113, 114, 115, 116,
465169695Skan  117, 118, 119, 190, 191, 910, 911, 990, 991, 120, 121, 122, 123,
466169695Skan  124, 125, 126, 127, 128, 129, 182, 183, 920, 921, 908, 909, 130,
467169695Skan  131, 132, 133, 134, 135, 136, 137, 138, 139, 192, 193, 930, 931,
468169695Skan  918, 919, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 184,
469169695Skan  185, 940, 941, 188, 189, 150, 151, 152, 153, 154, 155, 156, 157,
470169695Skan  158, 159, 194, 195, 950, 951, 198, 199, 160, 161, 162, 163, 164,
471169695Skan  165, 166, 167, 168, 169, 186, 187, 960, 961, 988, 989, 170, 171,
472169695Skan  172, 173, 174, 175, 176, 177, 178, 179, 196, 197, 970, 971, 998,
473169695Skan  999, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 280, 281,
474169695Skan  802, 803, 882, 883, 210, 211, 212, 213, 214, 215, 216, 217, 218,
475169695Skan  219, 290, 291, 812, 813, 892, 893, 220, 221, 222, 223, 224, 225,
476169695Skan  226, 227, 228, 229, 282, 283, 822, 823, 828, 829, 230, 231, 232,
477169695Skan  233, 234, 235, 236, 237, 238, 239, 292, 293, 832, 833, 838, 839,
478169695Skan  240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 284, 285, 842,
479169695Skan  843, 288, 289, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
480169695Skan  294, 295, 852, 853, 298, 299, 260, 261, 262, 263, 264, 265, 266,
481169695Skan  267, 268, 269, 286, 287, 862, 863, 888, 889, 270, 271, 272, 273,
482169695Skan  274, 275, 276, 277, 278, 279, 296, 297, 872, 873, 898, 899, 300,
483169695Skan  301, 302, 303, 304, 305, 306, 307, 308, 309, 380, 381, 902, 903,
484169695Skan  982, 983, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 390,
485169695Skan  391, 912, 913, 992, 993, 320, 321, 322, 323, 324, 325, 326, 327,
486169695Skan  328, 329, 382, 383, 922, 923, 928, 929, 330, 331, 332, 333, 334,
487169695Skan  335, 336, 337, 338, 339, 392, 393, 932, 933, 938, 939, 340, 341,
488169695Skan  342, 343, 344, 345, 346, 347, 348, 349, 384, 385, 942, 943, 388,
489169695Skan  389, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 394, 395,
490169695Skan  952, 953, 398, 399, 360, 361, 362, 363, 364, 365, 366, 367, 368,
491169695Skan  369, 386, 387, 962, 963, 988, 989, 370, 371, 372, 373, 374, 375,
492169695Skan  376, 377, 378, 379, 396, 397, 972, 973, 998, 999, 400, 401, 402,
493169695Skan  403, 404, 405, 406, 407, 408, 409, 480, 481, 804, 805, 884, 885,
494169695Skan  410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 490, 491, 814,
495169695Skan  815, 894, 895, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
496169695Skan  482, 483, 824, 825, 848, 849, 430, 431, 432, 433, 434, 435, 436,
497169695Skan  437, 438, 439, 492, 493, 834, 835, 858, 859, 440, 441, 442, 443,
498169695Skan  444, 445, 446, 447, 448, 449, 484, 485, 844, 845, 488, 489, 450,
499169695Skan  451, 452, 453, 454, 455, 456, 457, 458, 459, 494, 495, 854, 855,
500169695Skan  498, 499, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 486,
501169695Skan  487, 864, 865, 888, 889, 470, 471, 472, 473, 474, 475, 476, 477,
502169695Skan  478, 479, 496, 497, 874, 875, 898, 899, 500, 501, 502, 503, 504,
503169695Skan  505, 506, 507, 508, 509, 580, 581, 904, 905, 984, 985, 510, 511,
504169695Skan  512, 513, 514, 515, 516, 517, 518, 519, 590, 591, 914, 915, 994,
505169695Skan  995, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 582, 583,
506169695Skan  924, 925, 948, 949, 530, 531, 532, 533, 534, 535, 536, 537, 538,
507169695Skan  539, 592, 593, 934, 935, 958, 959, 540, 541, 542, 543, 544, 545,
508169695Skan  546, 547, 548, 549, 584, 585, 944, 945, 588, 589, 550, 551, 552,
509169695Skan  553, 554, 555, 556, 557, 558, 559, 594, 595, 954, 955, 598, 599,
510169695Skan  560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 586, 587, 964,
511169695Skan  965, 988, 989, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
512169695Skan  596, 597, 974, 975, 998, 999, 600, 601, 602, 603, 604, 605, 606,
513169695Skan  607, 608, 609, 680, 681, 806, 807, 886, 887, 610, 611, 612, 613,
514169695Skan  614, 615, 616, 617, 618, 619, 690, 691, 816, 817, 896, 897, 620,
515169695Skan  621, 622, 623, 624, 625, 626, 627, 628, 629, 682, 683, 826, 827,
516169695Skan  868, 869, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 692,
517169695Skan  693, 836, 837, 878, 879, 640, 641, 642, 643, 644, 645, 646, 647,
518169695Skan  648, 649, 684, 685, 846, 847, 688, 689, 650, 651, 652, 653, 654,
519169695Skan  655, 656, 657, 658, 659, 694, 695, 856, 857, 698, 699, 660, 661,
520169695Skan  662, 663, 664, 665, 666, 667, 668, 669, 686, 687, 866, 867, 888,
521169695Skan  889, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 696, 697,
522169695Skan  876, 877, 898, 899, 700, 701, 702, 703, 704, 705, 706, 707, 708,
523169695Skan  709, 780, 781, 906, 907, 986, 987, 710, 711, 712, 713, 714, 715,
524169695Skan  716, 717, 718, 719, 790, 791, 916, 917, 996, 997, 720, 721, 722,
525169695Skan  723, 724, 725, 726, 727, 728, 729, 782, 783, 926, 927, 968, 969,
526169695Skan  730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 792, 793, 936,
527169695Skan  937, 978, 979, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749,
528169695Skan  784, 785, 946, 947, 788, 789, 750, 751, 752, 753, 754, 755, 756,
529169695Skan  757, 758, 759, 794, 795, 956, 957, 798, 799, 760, 761, 762, 763,
530169695Skan  764, 765, 766, 767, 768, 769, 786, 787, 966, 967, 988, 989, 770,
531169695Skan  771, 772, 773, 774, 775, 776, 777, 778, 779, 796, 797, 976, 977,
532169695Skan  998, 999
533169695Skan};
534169695Skan#endif
535