chiark / gitweb /
strip
[nlopt.git] / src / util / soboldata.h
1 /* Copyright (c) 2007 Massachusetts Institute of Technology
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining
4  * a copy of this software and associated documentation files (the
5  * "Software"), to deal in the Software without restriction, including
6  * without limitation the rights to use, copy, modify, merge, publish,
7  * distribute, sublicense, and/or sell copies of the Software, and to
8  * permit persons to whom the Software is furnished to do so, subject to
9  * the following conditions:
10  * 
11  * The above copyright notice and this permission notice shall be
12  * included in all copies or substantial portions of the Software.
13  * 
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
21  */
22
23 #ifndef SOBOLSEQ_H
24 #define SOBOLSEQ_H
25
26 /* Data on the primitive binary polynomials (a) and the corresponding
27    starting values m, for Sobol sequences in up to 1111 dimensions,
28    taken from:
29         P. Bratley and B. L. Fox, Algorithm 659, ACM Trans.
30         Math. Soft. 14 (1), 88-100 (1988),
31    as modified by:
32         S. Joe and F. Y. Kuo, ACM Trans. Math. Soft 29 (1), 49-57 (2003). */
33
34 #define MAXDIM 1111
35 #define MAXDEG 12
36
37 /* successive primitive binary-coefficient polynomials p(z)
38    = a_0 + a_1 z + a_2 z^2 + ... a_31 z^31, where a_i is the 
39      i-th bit of sobol_a[j] for the j-th polynomial. */
40 static const uint32_t sobol_a[MAXDIM - 1] = {
41     3, 7, 11, 13, 19, 25, 37, 59, 47, 61, 55, 41, 67, 97, 91,
42     109, 103, 115, 131, 193, 137, 145, 143, 241, 157, 185, 167, 229, 171, 213,
43     191, 253, 203, 211, 239, 247, 285, 369, 299, 301, 333, 351, 355, 357, 361,
44     391, 397, 425, 451, 463, 487, 501, 529, 539, 545, 557, 563, 601, 607, 617,
45     623, 631, 637, 647, 661, 675, 677, 687, 695, 701, 719, 721, 731, 757, 761,
46     787, 789, 799, 803, 817, 827, 847, 859, 865, 875, 877, 883, 895, 901, 911,
47     949, 953, 967, 971, 973, 981, 985, 995, 1001, 1019, 1033, 1051, 1063,
48     1069, 1125, 1135, 1153, 1163, 1221, 1239, 1255, 1267, 1279, 1293, 1305,
49     1315, 1329, 1341, 1347, 1367, 1387, 1413, 1423, 1431, 1441, 1479, 1509,
50     1527, 1531, 1555, 1557, 1573, 1591, 1603, 1615, 1627, 1657, 1663, 1673,
51     1717, 1729, 1747, 1759, 1789, 1815, 1821, 1825, 1849, 1863, 1869, 1877,
52     1881, 1891, 1917, 1933, 1939, 1969, 2011, 2035, 2041, 2053, 2071, 2091,
53     2093, 2119, 2147, 2149, 2161, 2171, 2189, 2197, 2207, 2217, 2225, 2255,
54     2257, 2273, 2279, 2283, 2293, 2317, 2323, 2341, 2345, 2363, 2365, 2373,
55     2377, 2385, 2395, 2419, 2421, 2431, 2435, 2447, 2475, 2477, 2489, 2503,
56     2521, 2533, 2551, 2561, 2567, 2579, 2581, 2601, 2633, 2657, 2669,
57     2681, 2687, 2693, 2705, 2717, 2727, 2731, 2739,
58     2741, 2773, 2783, 2793, 2799, 2801, 2811, 2819, 2825, 2833, 2867, 2879,
59     2881, 2891, 2905, 2911, 2917, 2927, 2941, 2951, 2955, 2963, 2965, 2991,
60     2999, 3005, 3017, 3035, 3037, 3047, 3053, 3083, 3085, 3097, 3103, 3159,
61     3169, 3179, 3187, 3205, 3209, 3223, 3227, 3229, 3251, 3263, 3271, 3277,
62     3283, 3285, 3299, 3305, 3319, 3331, 3343, 3357, 3367, 3373, 3393, 3399,
63     3413, 3417, 3427, 3439, 3441, 3475, 3487, 3497, 3515, 3517, 3529, 3543,
64     3547, 3553, 3559, 3573, 3589, 3613, 3617, 3623, 3627, 3635, 3641, 3655,
65     3659, 3669, 3679, 3697, 3707, 3709, 3713, 3731, 3743, 3747, 3771, 3791,
66     3805, 3827, 3833, 3851, 3865, 3889, 3895, 3933, 3947, 3949, 3957, 3971,
67     3985, 3991, 3995, 4007, 4013, 4021, 4045, 4051, 4069, 4073, 4179, 4201,
68     4219, 4221, 4249, 4305, 4331, 4359, 4383, 4387, 4411, 4431, 4439, 4449,
69     4459, 4485, 4531, 4569, 4575, 4621, 4663, 4669, 4711, 4723, 4735, 4793,
70     4801, 4811, 4879, 4893, 4897, 4921, 4927, 4941, 4977, 5017, 5027, 5033,
71     5127, 5169, 5175, 5199, 5213, 5223, 5237, 5287, 5293, 5331, 5391, 5405,
72     5453, 5523, 5573, 5591, 5597, 5611, 5641, 5703, 5717, 5721, 5797, 5821,
73     5909, 5913,
74     5955, 5957, 6005, 6025, 6061, 6067, 6079, 6081,
75     6231, 6237, 6289, 6295, 6329, 6383, 6427, 6453, 6465, 6501, 6523, 6539,
76     6577, 6589, 6601, 6607, 6631, 6683, 6699, 6707, 6761, 6795, 6865, 6881,
77     6901, 6923, 6931, 6943, 6999, 7057, 7079, 7103, 7105, 7123, 7173, 7185,
78     7191, 7207, 7245, 7303, 7327, 7333, 7355, 7365, 7369, 7375, 7411, 7431,
79     7459, 7491, 7505, 7515, 7541, 7557, 7561, 7701, 7705, 7727, 7749, 7761,
80     7783, 7795, 7823, 7907, 7953, 7963, 7975, 8049, 8089, 8123, 8125, 8137,
81     8219, 8231, 8245, 8275, 8293, 8303, 8331, 8333, 8351, 8357, 8367, 8379,
82     8381, 8387, 8393, 8417, 8435, 8461, 8469, 8489, 8495, 8507, 8515, 8551,
83     8555, 8569, 8585, 8599, 8605, 8639, 8641, 8647, 8653, 8671, 8675, 8689,
84     8699, 8729, 8741, 8759, 8765, 8771, 8795, 8797, 8825, 8831, 8841, 8855,
85     8859, 8883, 8895, 8909, 8943, 8951, 8955, 8965, 8999, 9003, 9031, 9045,
86     9049, 9071, 9073, 9085, 9095, 9101, 9109, 9123, 9129, 9137, 9143, 9147,
87     9185, 9197, 9209, 9227, 9235, 9247, 9253, 9257, 9277, 9297, 9303, 9313,
88     9325, 9343, 9347, 9371, 9373, 9397, 9407, 9409, 9415, 9419, 9443, 9481,
89     9495, 9501, 9505, 9517, 9529, 9555, 9557, 9571, 9585, 9591, 9607, 9611,
90     9621, 9625,
91     9631, 9647, 9661, 9669, 9679, 9687, 9707, 9731,
92     9733, 9745, 9773, 9791, 9803, 9811, 9817, 9833, 9847, 9851, 9863, 9875,
93     9881, 9905, 9911, 9917, 9923, 9963, 9973, 10003, 10025, 10043, 10063,
94     10071, 10077, 10091, 10099, 10105, 10115, 10129, 10145, 10169, 10183,
95     10187, 10207, 10223, 10225, 10247, 10265, 10271, 10275, 10289, 10299,
96     10301, 10309, 10343, 10357, 10373, 10411, 10413, 10431, 10445, 10453,
97     10463, 10467, 10473, 10491, 10505, 10511, 10513, 10523, 10539, 10549,
98     10559, 10561, 10571, 10581, 10615, 10621, 10625, 10643, 10655, 10671,
99     10679, 10685, 10691, 10711, 10739, 10741, 10755, 10767, 10781, 10785,
100     10803, 10805, 10829, 10857, 10863, 10865, 10875, 10877, 10917, 10921,
101     10929, 10949, 10967, 10971, 10987, 10995, 11009, 11029, 11043, 11045,
102     11055, 11063, 11075, 11081, 11117, 11135, 11141, 11159, 11163, 11181,
103     11187, 11225, 11237, 11261, 11279, 11297, 11307, 11309, 11327, 11329,
104     11341, 11377, 11403, 11405, 11413, 11427, 11439, 11453, 11461, 11473,
105     11479, 11489, 11495, 11499, 11533, 11545, 11561, 11567, 11575, 11579,
106     11589, 11611, 11623, 11637, 11657, 11663, 11687, 11691, 11701, 11747,
107     11761, 11773, 11783, 11795, 11797, 11817, 11849, 11855, 11867, 11869,
108     11873, 11883, 11919,
109     11921, 11927, 11933, 11947, 11955, 11961,
110     11999, 12027, 12029, 12037, 12041, 12049, 12055, 12095, 12097, 12107,
111     12109, 12121, 12127, 12133, 12137, 12181, 12197, 12207, 12209, 12239,
112     12253, 12263, 12269, 12277, 12287, 12295, 12309, 12313, 12335, 12361,
113     12367, 12391, 12409, 12415, 12433, 12449, 12469, 12479, 12481, 12499,
114     12505, 12517, 12527, 12549, 12559, 12597, 12615, 12621, 12639, 12643,
115     12657, 12667, 12707, 12713, 12727, 12741, 12745, 12763, 12769, 12779,
116     12781, 12787, 12799, 12809, 12815, 12829, 12839, 12857, 12875, 12883,
117     12889, 12901, 12929, 12947, 12953, 12959, 12969, 12983, 12987, 12995,
118     13015, 13019, 13031, 13063, 13077, 13103, 13137, 13149, 13173, 13207,
119     13211, 13227, 13241, 13249, 13255, 13269, 13283, 13285, 13303, 13307,
120     13321, 13339, 13351, 13377, 13389, 13407, 13417, 13431, 13435, 13447,
121     13459, 13465, 13477, 13501, 13513, 13531, 13543, 13561, 13581, 13599,
122     13605, 13617, 13623, 13637, 13647, 13661, 13677, 13683, 13695, 13725,
123     13729, 13753, 13773, 13781, 13785, 13795, 13801, 13807, 13825, 13835,
124     13855, 13861, 13871, 13883, 13897, 13905, 13915, 13939, 13941, 13969,
125     13979, 13981, 13997, 14027, 14035, 14037, 14051, 14063, 14085, 14095,
126     14107, 14113, 14125, 14137, 14145,
127     14151, 14163, 14193, 14199, 14219, 14229,
128     14233, 14243, 14277, 14287, 14289, 14295, 14301, 14305, 14323, 14339,
129     14341, 14359, 14365, 14375, 14387, 14411, 14425, 14441, 14449, 14499,
130     14513, 14523, 14537, 14543, 14561, 14579, 14585, 14593, 14599, 14603,
131     14611, 14641, 14671, 14695, 14701, 14723, 14725, 14743, 14753, 14759,
132     14765, 14795, 14797, 14803, 14831, 14839, 14845, 14855, 14889, 14895,
133     14909, 14929, 14941, 14945, 14951, 14963, 14965, 14985, 15033, 15039,
134     15053, 15059, 15061, 15071, 15077, 15081, 15099, 15121, 15147, 15149,
135     15157, 15167, 15187, 15193, 15203, 15205, 15215, 15217, 15223, 15243,
136     15257, 15269, 15273, 15287, 15291, 15313, 15335, 15347, 15359, 15373,
137     15379, 15381, 15391, 15395, 15397, 15419, 15439, 15453, 15469, 15491,
138     15503, 15517, 15527, 15531, 15545, 15559, 15593, 15611, 15613, 15619,
139     15639, 15643, 15649, 15661, 15667, 15669, 15681, 15693, 15717, 15721,
140     15741, 15745, 15765, 15793, 15799, 15811, 15825, 15835, 15847, 15851,
141     15865, 15877, 15881, 15887, 15899, 15915, 15935, 15937, 15955, 15973,
142     15977, 16011, 16035, 16061, 16069, 16087, 16093, 16097, 16121, 16141,
143     16153, 16159, 16165, 16183, 16189, 16195, 16197, 16201, 16209, 16215,
144     16225, 16259, 16265, 16273, 16299,
145     16309, 16355, 16375, 16381,
146 };
147
148 /* starting direction #'s m[i] = sobol_minit[i][j] for i=0..d of the
149  * degree-d primitive polynomial sobol_a[j]. */
150 static const uint32_t sobol_minit[MAXDEG + 1][MAXDIM - 1] = {
151     /* [0][*] */
152     {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
153      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
154      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
155      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
156      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
157      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
158      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
159      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
160      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
161      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
162      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
163      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
164      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
165      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
166      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
167      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
168      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
169      1, 1, 1, 1, 1},
170     /* [1][*] */
171     {0,
172      1, 3, 1, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 3,
173      1, 3, 3, 1, 1, 1, 3, 1, 3, 1, 3, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1, 1, 1, 3, 3, 1, 3, 3, 1, 1,
174      3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 3, 3, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 3, 1, 3, 3,
175      1, 3, 3, 3, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 3, 3, 1, 3, 3, 1, 1, 1, 3,
176      3, 1, 3, 3, 1, 3, 1, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 3, 1, 1, 3, 3, 1, 3, 1, 3, 3, 3, 3, 1,
177      1, 1, 3, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1, 3, 3, 3, 1, 1, 3, 3,
178      1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 3, 1, 1, 1, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1,
179      1, 3, 1, 1, 3, 3, 1, 1, 3, 3, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1,
180      1, 1, 3, 3, 3, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 3, 1, 1, 3, 3,
181      1, 1, 1, 1, 3, 1, 3, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 1, 3, 3, 3, 1,
182      3, 1, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 3, 3,
183      1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 3, 3, 3, 1, 1, 3, 3, 3, 3, 3,
184      1, 3, 3, 1, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 1, 1, 1, 3, 3, 3, 1, 3,
185      1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3, 3, 1, 3, 3, 3, 1, 1,
186      3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1,
187      3, 1, 1, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, 1, 3, 3, 3,
188      1, 3, 1, 3, 1, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 3, 3, 1,
189      1, 1, 3, 3, 1, 1, 3, 3, 3, 3, 1, 1, 3, 1, 3, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 3, 3, 3,
190      3, 3, 1, 1, 1, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 1, 3, 1, 1, 3, 1, 3, 1, 3, 1, 3, 3, 1, 1, 3,
191      3, 1, 3, 3, 1, 3, 3, 1, 1, 3, 1, 3, 3, 1, 1, 3, 1, 3, 1, 3, 1, 1, 3, 3, 1, 1, 1, 3, 3, 1,
192      3, 1, 1, 3, 3, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 1, 3, 1, 1, 3, 3, 1, 1, 3,
193      1, 3, 1, 3, 3, 3, 1, 3, 3, 3, 1, 1, 3, 3, 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 1, 3, 3, 1, 1,
194      1, 3, 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 1, 1, 3, 3, 1, 1, 3,
195      3, 1, 1, 1, 3, 1, 3, 3, 1, 1, 3, 1, 1, 3, 1, 3, 1, 1, 1, 3, 3, 3, 3, 1, 1, 3, 3, 1, 1, 1,
196      1, 3, 1, 1, 3, 3, 3, 1, 1, 3, 3, 1, 3, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 3,
197      1, 1, 3, 3, 1, 1, 1, 3, 1, 3, 3, 1, 3, 3, 1, 3, 1, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 3, 3,
198      3, 1, 3, 3, 1, 3, 1, 1, 3, 3, 3, 1, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3,
199      1, 3, 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, 3, 3, 1, 1, 1,
200      3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3,
201      1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3, 1, 3, 1, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 3, 1,
202      3, 3, 1, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 1, 1, 3, 3, 3, 1, 1, 3, 3, 3, 3,
203      3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 1, 1, 1, 3, 3, 1, 3, 1, 1, 3, 3, 1,
204      3, 1, 1, 1, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3,
205      3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 1, 3, 3, 1, 1, 3, 3, 1, 3, 1, 1, 3, 1, 3, 3,
206      3, 3, 3, 1, 3, 1, 1, 3, 3, 3, 3, 1, 3, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 3, 1, 3, 1, 1, 3, 1,
207      1, 1, 1, 3, 3, 1, 1, 3, 1, 1, 1, 3, 1, 3, 1, 1, 3, 3, 1, 3, 1, 1, 3, 3, 3, 3, 3, 1, 3, 1,
208      1, 1, 3, 1, 1, 1, 3, 1, 1, 3, 1, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 1, 1,
209      3, 3, 3, 1, 3, 1, 1, 3, 3, 1, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 1, 1, 1, 3, 1, 1, 3, 3,
210      1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 3, 1, 1, 3, 1, 3, 3, 3, 3, 3, 1},
211     /* [2][*] */
212     {0, 0,
213      7, 5, 1, 3, 3, 7, 5, 5, 7, 7, 1, 3, 3, 7, 5, 1, 1, 5, 3, 7,
214      1, 7, 5, 1, 3, 7, 7, 1, 1, 1, 5, 7, 7, 5, 1, 3, 3, 7, 5, 5, 5, 3, 3, 3, 1, 1, 5, 1, 1, 5,
215      3, 3, 3, 3, 1, 3, 7, 5, 7, 3, 7, 1, 3, 3, 5, 1, 3, 5, 5, 7, 7, 7, 1, 1, 3, 3, 1, 1, 5, 1,
216      5, 7, 5, 1, 7, 5, 3, 3, 1, 5, 7, 1, 7, 5, 1, 7, 3, 1, 7, 1, 7, 3, 3, 5, 7, 3, 3, 5, 1, 3,
217      3, 1, 3, 5, 1, 3, 3, 3, 7, 1, 1, 7, 3, 1, 3, 7, 5, 5, 7, 5, 5, 3, 1, 3, 3, 3, 1, 3, 3, 7,
218      3, 3, 1, 7, 5, 1, 7, 7, 5, 7, 5, 1, 3, 1, 7, 3, 7, 3, 5, 7, 3, 1, 3, 3, 3, 1, 5, 7, 3, 3,
219      7, 7, 7, 5, 3, 1, 7, 1, 3, 7, 5, 3, 3, 3, 7, 1, 1, 3, 1, 5, 7, 1, 3, 5, 3, 5, 3, 3, 7, 5,
220      5, 3, 3, 1, 3, 7, 7, 7, 1, 5, 7, 1, 3, 1, 1, 7, 1, 3, 1, 7, 1, 5, 3, 5, 3, 1, 1, 5, 5, 3,
221      3, 5, 7, 1, 5, 3, 7, 7, 3, 5, 3, 3, 1, 7, 3, 1, 3, 5, 7, 1, 3, 7, 1, 5, 1, 3, 1, 5, 3, 1,
222      7, 1, 5, 5, 5, 3, 7, 1, 1, 7, 3, 1, 1, 7, 5, 7, 5, 7, 7, 3, 7, 1, 3, 7, 7, 3, 5, 1, 1, 7,
223      1, 5, 5, 5, 1, 5, 1, 7, 5, 5, 7, 1, 1, 7, 1, 7, 7, 1, 1, 3, 3, 3, 7, 7, 5, 3, 7, 3, 1, 3,
224      7, 5, 3, 3, 5, 7, 1, 1, 5, 5, 7, 7, 1, 1, 1, 1, 5, 5, 5, 7, 5, 7, 1, 1, 3, 5, 1, 3, 3, 7,
225      3, 7, 5, 3, 5, 3, 1, 7, 1, 7, 7, 1, 1, 7, 7, 7, 5, 5, 1, 1, 7, 5, 5, 7, 5, 1, 1, 5, 5, 5,
226      5, 5, 5, 1, 3, 1, 5, 7, 3, 3, 5, 7, 3, 7, 1, 7, 7, 1, 3,
227      5, 1, 5, 5, 3, 7, 3, 7, 7, 5, 7, 5, 7, 1, 1, 5, 3, 5, 1,
228      5, 3, 7, 1, 5, 7, 7, 3, 5, 1, 3, 5, 1, 5, 3, 3, 3, 7, 3, 5, 1, 3, 7, 7, 3, 7, 5, 3, 3, 1,
229      7, 5, 1, 1, 3, 7, 1, 7, 1, 7, 3, 7, 3, 5, 7, 3, 5, 3, 1, 1, 1, 5, 7, 7, 3, 3, 1, 1, 1, 5,
230      5, 7, 3, 1, 1, 3, 3, 7, 3, 3, 5, 1, 3, 7, 3, 3, 7, 3, 5, 7, 5, 7, 7, 3, 3, 5, 1, 3, 5, 3,
231      1, 3, 5, 1, 1, 3, 7, 7, 1, 5, 1, 3, 7, 3, 7, 3, 5, 1, 7, 1, 1, 3, 5, 3, 7, 1, 5, 5, 1, 1,
232      3, 1, 3, 3, 7, 1, 7, 3, 1, 7, 3, 1, 7, 3, 5, 3, 5, 7, 3, 3, 3, 5, 1, 7, 7, 1, 3, 1, 3, 7,
233      7, 1, 3, 7, 3, 1, 5, 3, 1, 1, 1, 5, 3, 3, 7, 1, 5, 3, 5, 1, 3, 1, 3, 1, 5, 7, 7, 1, 1, 5,
234      3, 1, 5, 1, 1, 7, 7, 3, 5, 5, 1, 7, 1, 5, 1, 1, 3, 1, 5, 7, 5, 7, 7, 1, 5, 1, 1, 3, 5, 1,
235      5, 5, 3, 1, 3, 1, 5, 5, 3, 3, 3, 3, 1, 1, 3, 1, 3, 5, 5, 7, 5, 5, 7, 5, 7, 1, 3, 7, 7, 3,
236      5, 5, 7, 5, 5, 3, 3, 3, 1, 7, 1, 5, 5, 5, 3, 3, 5, 1, 3, 1, 3, 3, 3, 7, 1, 7, 7, 3, 7, 1,
237      1, 5, 7, 1, 7, 1, 7, 7, 1, 3, 7, 5, 1, 3, 5, 5, 5, 1, 1, 7, 1, 7, 1, 7, 7, 3, 1, 1, 5, 1,
238      5, 1, 5, 3, 5, 5, 5, 5, 5, 3, 3, 7, 3, 3, 5, 5, 3, 7, 1, 5, 7, 5, 1, 5, 5, 3, 5, 5, 7, 5,
239      3, 5, 5, 5, 1, 5, 5, 5, 5, 1, 3, 5, 3, 1, 7, 5, 5, 7, 1, 5, 3, 3, 1, 5, 3, 7, 1, 7, 5, 1,
240      1, 3, 1, 1, 7, 1, 5, 5, 3, 7, 3, 7, 5, 3, 1, 1, 3, 1, 3, 5,
241      5, 7, 5, 3, 7, 7, 7, 3, 7, 3, 7, 1, 3, 1, 7, 7, 1, 7,
242      3, 7, 3, 7, 3, 7, 3, 5, 1, 1, 7, 3, 1, 5, 5, 7, 1, 5, 5, 5, 7, 1, 5, 5, 1, 5, 5, 3, 1, 3,
243      1, 7, 3, 1, 3, 5, 7, 7, 7, 1, 1, 7, 3, 1, 5, 5, 5, 1, 1, 1, 1, 1, 5, 3, 5, 1, 3, 5, 3, 1,
244      1, 1, 1, 3, 7, 3, 7, 5, 7, 1, 5, 5, 7, 5, 3, 3, 7, 5, 3, 1, 1, 3, 1, 3, 1, 1, 3, 7, 1, 7,
245      1, 1, 5, 1, 7, 5, 3, 7, 3, 5, 3, 1, 1, 5, 5, 1, 7, 7, 3, 7, 3, 7, 1, 5, 1, 5, 3, 7, 3, 5,
246      7, 7, 7, 3, 3, 1, 1, 5, 5, 3, 7, 1, 1, 1, 3, 5, 3, 1, 1, 3, 3, 7, 5, 1, 1, 3, 7, 1, 5, 7,
247      3, 7, 5, 5, 7, 3, 5, 3, 1, 5, 3, 1, 1, 7, 5, 1, 7, 3, 7, 5, 1, 7, 1, 7, 7, 1, 1, 7, 1, 5,
248      5, 1, 1, 7, 5, 7, 1, 5, 3, 5, 3, 3, 7, 1, 5, 1, 1, 5, 5, 3, 3, 7, 5, 5, 1, 1, 1, 3, 1, 5,
249      7, 7, 1, 7, 5, 7, 3, 7, 3, 1, 3, 7, 3, 1, 5, 5, 3, 5, 1, 3, 5, 5, 5, 1, 1, 7, 7, 1, 5, 5,
250      1, 3, 5, 1, 5, 3, 5, 3, 3, 7, 5, 7, 3, 7, 3, 1, 3, 7, 7, 3, 3, 1, 1, 3, 3, 3, 3, 3, 5, 5,
251      3, 3, 3, 1, 3, 5, 7, 7, 1, 5, 7, 3, 7, 1, 1, 3, 5, 7, 5, 3, 3, 3},
252     /* [3][*] */
253     {0, 0, 0, 0,
254      1, 7, 9, 13, 11, 1, 3, 7, 9, 5, 13, 13, 11, 3, 15, 5, 3,
255      15, 7, 9, 13, 9, 1, 11, 7, 5, 15, 1, 15, 11, 5, 11, 1, 7, 9, 7, 7, 1, 15, 15, 15, 13,
256      3, 3, 15, 5, 9, 7, 13, 3, 7, 5, 11, 9, 1, 9, 1, 5, 7, 13, 9, 9, 1, 7, 3, 5, 1, 11, 11,
257      13, 7, 7, 9, 9, 1, 1, 3, 9, 15, 1, 5, 13, 1, 9, 9, 9, 9, 9, 13, 11, 3, 5, 11, 11, 13,
258      5, 3, 15, 1, 11, 11, 7, 13, 15, 11, 13, 9, 11, 15, 15, 13, 3, 15, 7, 9, 11, 13, 11,
259      9, 9, 5, 13, 9, 1, 13, 7, 7, 7, 7, 7, 5, 9, 7, 13, 11, 9, 11, 15, 3, 13, 11, 1, 11, 3,
260      3, 9, 11, 1, 7, 1, 15, 15, 3, 1, 9, 1, 7, 13, 11, 3, 13, 11, 7, 3, 3, 5, 13, 11, 5,
261      11, 1, 3, 9, 7, 15, 7, 5, 13, 7, 9, 13, 15, 13, 9, 7, 15, 7, 9, 5, 11, 11, 13, 13, 9,
262      3, 5, 13, 9, 11, 15, 11, 7, 1, 7, 13, 3, 13, 3, 13, 9, 15, 7, 13, 13, 3, 13, 15, 15,
263      11, 9, 13, 9, 15, 1, 1, 15, 11, 11, 7, 1, 11, 13, 9, 13, 3, 5, 11, 13, 9, 9, 13, 1,
264      11, 15, 13, 3, 13, 7, 15, 1, 15, 3, 3, 11, 7, 13, 7, 7, 9, 7, 5, 15, 9, 5, 5, 7, 15,
265      13, 15, 5, 15, 5, 3, 1, 11, 7, 1, 5, 7, 9, 3, 11, 1, 15, 1, 3, 15, 11, 13, 5, 13, 1,
266      7, 1, 15, 7, 5, 1, 1, 15, 13, 11, 11, 13, 5, 11, 7, 9, 7, 1, 5, 3, 9, 5, 5, 11, 5, 1,
267      7, 1, 11, 7, 9, 13, 15, 13, 3, 1, 11, 13, 15, 1, 1, 11, 9, 13, 3, 13, 11, 15, 13, 9,
268      9, 9, 5, 5, 5, 5, 1, 15, 5, 9,
269      11, 7, 15, 5, 3, 13, 5, 3, 11, 5, 1, 11, 13, 9, 11,
270      3, 7, 13, 15, 1, 7, 11, 1, 13, 1, 15, 1, 9, 7, 3, 9, 11, 1, 9, 13, 13, 3, 11, 7, 9, 1,
271      7, 15, 9, 1, 5, 13, 5, 11, 3, 9, 15, 11, 13, 5, 1, 7, 7, 5, 13, 7, 7, 9, 5, 11, 11, 1,
272      1, 15, 3, 13, 9, 13, 9, 9, 11, 5, 5, 13, 15, 3, 9, 15, 3, 11, 11, 15, 15, 3, 11, 15,
273      15, 3, 1, 3, 1, 3, 3, 1, 3, 13, 1, 11, 5, 15, 7, 15, 9, 1, 7, 1, 9, 11, 15, 1, 13, 9,
274      13, 11, 7, 3, 7, 3, 13, 7, 9, 7, 7, 3, 3, 9, 9, 7, 5, 11, 13, 13, 7, 7, 15, 9, 5, 5, 3,
275      3, 13, 3, 9, 3, 1, 11, 1, 3, 11, 15, 11, 11, 11, 9, 13, 7, 9, 15, 9, 11, 1, 3, 3, 9,
276      7, 15, 13, 13, 7, 15, 9, 13, 9, 15, 13, 15, 9, 13, 1, 11, 7, 11, 3, 13, 5, 1, 7, 15,
277      3, 13, 7, 13, 13, 11, 3, 5, 3, 13, 11, 9, 9, 3, 11, 11, 7, 9, 13, 11, 7, 15, 13, 7,
278      5, 3, 1, 5, 15, 15, 3, 11, 1, 7, 3, 15, 11, 5, 5, 3, 5, 5, 1, 15, 5, 1, 5, 3, 7, 5, 11,
279      3, 13, 9, 13, 15, 5, 3, 5, 9, 5, 3, 11, 1, 13, 9, 15, 3, 5, 11, 9, 1, 3, 15, 9, 9, 9,
280      11, 7, 5, 13, 1, 15, 3, 13, 9, 13, 5, 1, 5, 1, 13, 13, 7, 7, 1, 9, 5, 11, 9, 11, 13,
281      3, 15, 15, 13, 15, 7, 5, 7, 9, 7, 9, 9, 9, 11, 9, 3, 11, 15, 13, 13, 5, 9, 15, 1, 1,
282      9, 5, 13, 3, 13, 15, 3, 1, 3, 11, 13, 1, 15, 9, 9, 3, 1, 9, 1, 9, 1, 13, 11, 15, 7,
283      11, 15, 13, 15, 1, 9, 9, 7,
284      3, 5, 11, 7, 3, 9, 5, 15, 7, 5, 3, 13, 7, 1, 1, 9,
285      15, 15, 15, 11, 3, 5, 15, 13, 7, 15, 15, 11, 11, 9, 5, 15, 9, 7, 3, 13, 1, 1, 5, 1,
286      3, 1, 7, 1, 1, 5, 1, 11, 11, 9, 9, 5, 13, 7, 7, 7, 1, 1, 9, 9, 11, 11, 15, 7, 5, 5, 3,
287      11, 1, 3, 7, 13, 7, 7, 7, 3, 15, 15, 11, 9, 3, 9, 3, 15, 13, 5, 3, 3, 3, 5, 9, 15, 9,
288      9, 1, 5, 9, 9, 15, 5, 15, 7, 9, 1, 9, 9, 5, 11, 5, 15, 15, 11, 7, 7, 7, 1, 1, 11, 11,
289      13, 15, 3, 13, 5, 1, 7, 1, 11, 3, 13, 15, 3, 5, 3, 5, 7, 3, 9, 9, 5, 1, 7, 11, 9, 3, 5,
290      11, 13, 13, 13, 9, 15, 5, 7, 1, 15, 11, 9, 15, 15, 13, 13, 13, 1, 11, 9, 15, 9, 5,
291      15, 5, 7, 3, 11, 3, 15, 7, 13, 11, 7, 3, 7, 13, 5, 13, 15, 5, 13, 9, 1, 15, 11, 5, 5,
292      1, 11, 3, 3, 7, 1, 9, 7, 15, 9, 9, 3, 11, 15, 7, 1, 3, 1, 1, 1, 9, 1, 5, 15, 15, 7, 5,
293      5, 7, 9, 7, 15, 13, 13, 11, 1, 9, 11, 1, 13, 1, 7, 15, 15, 5, 5, 1, 11, 3, 9, 11, 9,
294      9, 9, 1, 9, 3, 5, 15, 1, 1, 9, 7, 3, 3, 1, 9, 9, 11, 9, 9, 13, 13, 3, 13, 11, 13, 5, 1,
295      5, 5, 9, 9, 3, 13, 13, 9, 15, 9, 11, 7, 11, 9, 13, 9, 1, 15, 9, 7, 7, 1, 7, 9, 9, 15,
296      1, 11, 1, 13, 13, 15, 9, 13, 7, 15, 3, 9, 3, 1, 13, 7, 5, 9, 3, 1, 7, 1, 1, 13, 3, 3,
297      11, 1, 7, 13, 15, 15, 5, 7, 13, 13, 15, 11, 13, 1, 13, 13, 3, 9, 15, 15, 11, 15, 9,
298      15, 1, 13, 15, 1, 1, 5,
299      11, 5, 1, 11, 11, 5, 3, 9, 1, 3, 5, 13, 9, 7, 7, 1,
300      9, 9, 15, 7, 5, 5, 15, 13, 9, 7, 13, 3, 13, 11, 13, 7, 9, 13, 13, 13, 15, 9, 5, 5, 3,
301      3, 3, 1, 3, 15},
302     /* [4][*] */
303     {0, 0, 0, 0, 0, 0,
304      9, 3, 27, 15, 29, 21, 23, 19, 11, 25, 7, 13, 17, 1,
305      25, 29, 3, 31, 11, 5, 23, 27, 19, 21, 5, 1, 17, 13, 7, 15, 9, 31, 25, 3, 5, 23, 7,
306      3, 17, 23, 3, 3, 21, 25, 25, 23, 11, 19, 3, 11, 31, 7, 9, 5, 17, 23, 17, 17, 25,
307      13, 11, 31, 27, 19, 17, 23, 7, 5, 11, 19, 19, 7, 13, 21, 21, 7, 9, 11, 1, 5, 21,
308      11, 13, 25, 9, 7, 7, 27, 15, 25, 15, 21, 17, 19, 19, 21, 5, 11, 3, 5, 29, 31, 29,
309      5, 5, 1, 31, 27, 11, 13, 1, 3, 7, 11, 7, 3, 23, 13, 31, 17, 1, 27, 11, 25, 1, 23,
310      29, 17, 25, 7, 25, 27, 17, 13, 17, 23, 5, 17, 5, 13, 11, 21, 5, 11, 5, 9, 31, 19,
311      17, 9, 9, 27, 21, 15, 15, 1, 1, 29, 5, 31, 11, 17, 23, 19, 21, 25, 15, 11, 5, 5, 1,
312      19, 19, 19, 7, 13, 21, 17, 17, 25, 23, 19, 23, 15, 13, 5, 19, 25, 9, 7, 3, 21, 17,
313      25, 1, 27, 25, 27, 25, 9, 13, 3, 17, 25, 23, 9, 25, 9, 13, 17, 17, 3, 15, 7, 7, 29,
314      3, 19, 29, 29, 19, 29, 13, 15, 25, 27, 1, 3, 9, 9, 13, 31, 29, 31, 5, 15, 29, 1,
315      19, 5, 9, 19, 5, 15, 3, 5, 7, 15, 17, 17, 23, 11, 9, 23, 19, 3, 17, 1, 27, 9, 9, 17,
316      13, 25, 29, 23, 29, 11, 31, 25, 21, 29, 19, 27, 31, 3, 5, 3, 3, 13, 21, 9, 29, 3,
317      17, 11, 11, 9, 21, 19, 7, 17, 31, 25, 1, 27, 5, 15, 27, 29, 29, 29, 25, 27, 25, 3,
318      21, 17, 25, 13, 15, 17, 13, 23, 9, 3, 11, 7, 9, 9, 7, 17, 7, 1,
319      27, 1, 9, 5, 31, 21, 25, 25, 21, 11, 1, 23, 19, 27,
320      15, 3, 5, 23, 9, 25, 7, 29, 11, 9, 13, 5, 11, 1, 3, 31, 27, 3, 17, 27, 11, 13, 15,
321      29, 15, 1, 15, 23, 25, 13, 21, 15, 3, 29, 29, 5, 25, 17, 11, 7, 15, 5, 21, 7, 31,
322      13, 11, 23, 5, 7, 23, 27, 21, 29, 15, 7, 27, 27, 19, 7, 15, 27, 27, 19, 19, 9, 15,
323      1, 3, 29, 29, 5, 27, 31, 9, 1, 7, 3, 19, 19, 29, 9, 3, 21, 31, 29, 25, 1, 3, 9, 27,
324      5, 27, 25, 21, 11, 29, 31, 27, 21, 29, 17, 9, 17, 13, 11, 25, 15, 21, 11, 19, 31,
325      3, 19, 5, 3, 3, 9, 13, 13, 3, 29, 7, 5, 9, 23, 13, 21, 23, 21, 31, 11, 7, 7, 3, 23,
326      1, 23, 5, 9, 17, 21, 1, 17, 29, 7, 5, 17, 13, 25, 17, 9, 19, 9, 5, 7, 21, 19, 13, 9,
327      7, 3, 9, 3, 15, 31, 29, 29, 25, 13, 9, 21, 9, 31, 7, 15, 5, 31, 7, 15, 27, 25, 19,
328      9, 9, 25, 25, 23, 1, 9, 7, 11, 15, 19, 15, 27, 17, 11, 11, 31, 13, 25, 25, 9, 7,
329      13, 29, 19, 5, 19, 31, 25, 13, 25, 15, 5, 9, 29, 31, 9, 29, 27, 25, 27, 11, 17, 5,
330      17, 3, 23, 15, 9, 9, 17, 17, 31, 11, 19, 25, 13, 23, 15, 25, 21, 31, 19, 3, 11,
331      25, 7, 15, 19, 7, 5, 3, 13, 13, 1, 23, 5, 25, 11, 25, 15, 13, 21, 11, 23, 29, 5,
332      17, 27, 9, 19, 15, 5, 29, 23, 19, 1, 27, 3, 23, 21, 19, 27, 11, 17, 13, 27, 11,
333      31, 23, 5, 9, 21, 31, 29, 11, 21, 17, 15, 7, 15, 7, 9, 21, 27, 25,
334      29, 11, 3, 21, 13, 23, 19, 27, 17, 29, 25, 17, 9,
335      1, 19, 23, 5, 23, 1, 17, 17, 13, 27, 23, 7, 7, 11, 13, 17, 13, 11, 21, 13, 23, 1,
336      27, 13, 9, 7, 1, 27, 29, 5, 13, 25, 21, 3, 31, 15, 13, 3, 19, 13, 1, 27, 15, 17, 1,
337      3, 13, 13, 13, 31, 29, 27, 7, 7, 21, 29, 15, 17, 17, 21, 19, 17, 3, 15, 5, 27, 27,
338      3, 31, 31, 7, 21, 3, 13, 11, 17, 27, 25, 1, 9, 7, 29, 27, 21, 23, 13, 25, 29, 15,
339      17, 29, 9, 15, 3, 21, 15, 17, 17, 31, 9, 9, 23, 19, 25, 3, 1, 11, 27, 29, 1, 31,
340      29, 25, 29, 1, 23, 29, 25, 13, 3, 31, 25, 5, 5, 11, 3, 21, 9, 23, 7, 11, 23, 11, 1,
341      1, 3, 23, 25, 23, 1, 23, 3, 27, 9, 27, 3, 23, 25, 19, 29, 29, 13, 27, 5, 9, 29, 29,
342      13, 17, 3, 23, 19, 7, 13, 3, 19, 23, 5, 29, 29, 13, 13, 5, 19, 5, 17, 9, 11, 11,
343      29, 27, 23, 19, 17, 25, 13, 1, 13, 3, 11, 1, 17, 29, 1, 13, 17, 9, 17, 21, 1, 11,
344      1, 1, 25, 5, 7, 29, 29, 19, 19, 1, 29, 13, 3, 1, 31, 15, 13, 3, 1, 11, 19, 5, 29,
345      13, 29, 23, 3, 1, 31, 13, 19, 17, 5, 5, 1, 29, 23, 3, 19, 25, 19, 27, 9, 27, 13,
346      15, 29, 23, 13, 25, 25, 17, 19, 17, 15, 27, 3, 25, 17, 27, 3, 27, 31, 23, 13, 31,
347      11, 15, 7, 21, 19, 27, 19, 21, 29, 7, 31, 13, 9, 9, 7, 21, 13, 11, 9, 11, 29, 19,
348      11, 19, 21, 5, 29, 13, 7, 19, 19, 27, 23, 31, 1, 27, 21, 7, 3, 7, 11,
349      23, 13, 29, 11, 31, 19, 1, 5, 5, 11, 5, 3, 27, 5,
350      7, 11, 31, 1, 27, 31, 31, 23, 5, 21, 27, 9, 25, 3, 15, 19, 1, 19, 9, 5, 25, 21, 15,
351      25, 29, 15, 21, 11, 19, 15, 3, 7, 13, 11, 25, 17, 1, 5, 31, 13, 29, 23, 9, 5, 29,
352      7, 17, 27, 7, 17, 31, 9, 31, 9, 9, 7, 21, 3, 3, 3, 9, 11, 21, 11, 31, 9, 25, 5, 1,
353      31, 13, 29, 9, 29, 1, 11, 19, 7, 27, 13, 31, 7, 31, 7, 25, 23, 21, 29, 11, 11, 13,
354      11, 27, 1, 23, 31, 21, 23, 21, 19, 31, 5, 31, 25, 25, 19, 17, 11, 25, 7, 13, 1,
355      29, 17, 23, 15, 7, 29, 17, 13, 3, 17},
356     /* [5][*] */
357     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
358      37, 33, 7, 5, 11, 39, 63, 59, 17, 15, 23, 29, 3, 21,
359      13, 31, 25, 9, 49, 33, 19, 29, 11, 19, 27, 15, 25, 63, 55, 17, 63, 49, 19, 41,
360      59, 3, 57, 33, 49, 53, 57, 57, 39, 21, 7, 53, 9, 55, 15, 59, 19, 49, 31, 3, 39, 5,
361      5, 41, 9, 19, 9, 57, 25, 1, 15, 51, 11, 19, 61, 53, 29, 19, 11, 9, 21, 19, 43, 13,
362      13, 41, 25, 31, 9, 11, 19, 5, 53, 37, 7, 51, 45, 7, 7, 61, 23, 45, 7, 59, 41, 1,
363      29, 61, 37, 27, 47, 15, 31, 35, 31, 17, 51, 13, 25, 45, 5, 5, 33, 39, 5, 47, 29,
364      35, 47, 63, 45, 37, 47, 59, 21, 59, 33, 51, 9, 27, 13, 25, 43, 3, 17, 21, 59, 61,
365      27, 47, 57, 11, 17, 39, 1, 63, 21, 59, 17, 13, 31, 3, 31, 7, 9, 27, 37, 23, 31, 9,
366      45, 43, 31, 63, 21, 39, 51, 27, 7, 53, 11, 1, 59, 39, 23, 49, 23, 7, 55, 59, 3,
367      19, 35, 13, 9, 13, 15, 23, 9, 7, 43, 55, 3, 19, 9, 27, 33, 27, 49, 23, 47, 19, 7,
368      11, 55, 27, 35, 5, 5, 55, 35, 37, 9, 33, 29, 47, 25, 11, 47, 53, 61, 59, 3, 53,
369      47, 5, 19, 59, 5, 47, 23, 45, 53, 3, 49, 61, 47, 39, 29, 17, 57, 5, 17, 31, 23,
370      41, 39, 5, 27, 7, 29, 29, 33, 31, 41, 31, 29, 17, 29, 29, 9, 9, 31, 27, 53, 35, 5,
371      61, 1, 49, 13, 57, 29, 5, 21, 43, 25, 57, 49, 37, 27, 11, 61, 37, 49, 5, 63, 63,
372      3, 45, 37, 63, 21, 21, 19, 27, 59, 21, 45, 23, 13, 15, 3, 43, 63, 39, 19,
373      63, 31, 41, 41, 15, 43, 63, 53, 1, 63, 31, 7, 17,
374      11, 61, 31, 51, 37, 29, 59, 25, 63, 59, 47, 15, 27, 19, 29, 45, 35, 55, 39, 19,
375      43, 21, 19, 13, 17, 51, 37, 5, 33, 35, 49, 25, 45, 1, 63, 47, 9, 63, 15, 25, 25,
376      15, 41, 13, 3, 19, 51, 49, 37, 25, 49, 13, 53, 47, 23, 35, 29, 33, 21, 35, 23, 3,
377      43, 31, 63, 9, 1, 61, 43, 3, 11, 55, 11, 35, 1, 63, 35, 49, 19, 45, 9, 57, 51, 1,
378      47, 41, 9, 11, 37, 19, 55, 23, 55, 55, 13, 7, 47, 37, 11, 43, 17, 3, 25, 19, 55,
379      59, 37, 33, 43, 1, 5, 21, 5, 63, 49, 61, 21, 51, 15, 19, 43, 47, 17, 9, 53, 45,
380      11, 51, 25, 11, 25, 47, 47, 1, 43, 29, 17, 31, 15, 59, 27, 63, 11, 41, 51, 29, 7,
381      27, 63, 31, 43, 3, 29, 39, 3, 59, 59, 1, 53, 63, 23, 63, 47, 51, 23, 61, 39, 47,
382      21, 39, 15, 3, 9, 57, 61, 39, 37, 21, 51, 1, 23, 43, 27, 25, 11, 13, 21, 43, 7,
383      11, 33, 55, 1, 37, 35, 27, 61, 39, 5, 19, 61, 61, 57, 59, 21, 59, 61, 57, 25, 55,
384      27, 31, 41, 33, 63, 19, 57, 35, 13, 63, 35, 17, 11, 11, 49, 41, 55, 5, 45, 17,
385      35, 5, 31, 31, 37, 17, 45, 51, 1, 39, 49, 55, 19, 41, 13, 5, 51, 5, 49, 1, 21, 13,
386      17, 59, 51, 11, 3, 61, 1, 33, 37, 33, 61, 25, 27, 59, 7, 49, 13, 63, 3, 33, 3, 15,
387      9, 13, 35, 39, 11, 59, 59, 1, 57, 11, 5, 57, 13, 31, 13, 11, 55, 45, 9, 55, 55,
388      19, 25, 41, 23, 45, 29, 63, 59, 27, 39, 21, 37, 7,
389      61, 49, 35, 39, 9, 29, 7, 25, 23, 57, 5, 19, 15, 33, 49, 37, 25, 17, 45, 29, 15,
390      25, 3, 3, 49, 11, 39, 15, 19, 57, 39, 15, 11, 3, 57, 31, 55, 61, 19, 5, 41, 35,
391      59, 61, 39, 41, 53, 53, 63, 31, 9, 59, 13, 35, 55, 41, 49, 5, 41, 25, 27, 43, 5,
392      5, 43, 5, 5, 17, 5, 15, 27, 29, 17, 9, 3, 55, 31, 1, 45, 45, 13, 57, 17, 3, 61, 15,
393      49, 15, 47, 9, 37, 45, 9, 51, 61, 21, 33, 11, 21, 63, 63, 47, 57, 61, 49, 9, 59,
394      19, 29, 21, 23, 55, 23, 43, 41, 57, 9, 39, 27, 41, 35, 61, 29, 57, 63, 21, 31,
395      59, 35, 49, 3, 49, 47, 49, 33, 21, 19, 21, 35, 11, 17, 37, 23, 59, 13, 37, 35,
396      55, 57, 1, 29, 45, 11, 1, 15, 9, 33, 19, 53, 43, 39, 23, 7, 13, 13, 1, 19, 41, 55,
397      1, 13, 15, 59, 55, 15, 3, 57, 37, 31, 17, 1, 3, 21, 29, 25, 55, 9, 37, 33, 53, 41,
398      51, 19, 57, 13, 63, 43, 19, 7, 13, 37, 33, 19, 15, 63, 51, 11, 49, 23, 57, 47,
399      51, 15, 53, 41, 1, 15, 37, 61, 11, 35, 29, 33, 23, 55, 11, 59, 19, 61, 61, 45,
400      13, 49, 13, 63, 5, 61, 5, 31, 17, 61, 63, 13, 27, 57, 1, 21, 5, 11, 39, 57, 51,
401      53, 39, 25, 41, 39, 37, 23, 31, 25, 33, 17, 57, 29, 27, 23, 47, 41, 29, 19, 47,
402      41, 25, 5, 51, 43, 39, 29, 7, 31, 45, 51, 49, 55, 17, 43, 49, 45, 9, 29, 3, 5, 47,
403      9, 15, 19,
404      51, 45, 57, 63, 9, 21, 59, 3, 9, 13, 45, 23, 15,
405      31, 21, 15, 51, 35, 9, 11, 61, 23, 53, 29, 51, 45, 31, 29, 5, 35, 29, 53, 35, 17,
406      59, 55, 27, 51, 59, 27, 47, 15, 29, 37, 7, 49, 55, 5, 19, 45, 29, 19, 57, 33, 53,
407      45, 21, 9, 3, 35, 29, 43, 31, 39, 3, 45, 1, 41, 29, 5, 59, 41, 33, 35, 27, 19, 13,
408      25, 27, 43, 33, 35, 17, 17, 23, 7, 35, 15, 61, 61, 53, 5, 15, 23, 11, 13, 43, 55,
409      47, 25, 43, 15, 57, 45, 1, 49, 63, 57, 15, 31, 31, 7, 53, 27, 15, 47, 23, 7, 29,
410      53, 47, 9, 53, 3, 25, 55, 45, 63, 21, 17, 23, 31, 27, 27, 43, 63, 55, 63, 45, 51,
411      15, 27, 5, 37, 43, 11, 27, 5, 27, 59, 21, 7, 39, 27, 63, 35, 47, 55, 17, 17, 17,
412      3, 19, 21, 13, 49, 61, 39, 15},
413     /* [6][*] */
414     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415      13, 33, 115, 41, 79, 17, 29, 119, 75, 73, 105, 7,
416      59, 65, 21, 3, 113, 61, 89, 45, 107, 21, 71, 79, 19, 71, 61, 41, 57, 121, 87,
417      119, 55, 85, 121, 119, 11, 23, 61, 11, 35, 33, 43, 107, 113, 101, 29, 87, 119,
418      97, 29, 17, 89, 5, 127, 89, 119, 117, 103, 105, 41, 83, 25, 41, 55, 69, 117,
419      49, 127, 29, 1, 99, 53, 83, 15, 31, 73, 115, 35, 21, 89, 5, 1, 91, 53, 35, 95,
420      83, 19, 85, 55, 51, 101, 33, 41, 55, 45, 95, 61, 27, 37, 89, 75, 57, 61, 15,
421      117, 15, 21, 27, 25, 27, 123, 39, 109, 93, 51, 21, 91, 109, 107, 45, 15, 93,
422      127, 3, 53, 81, 79, 107, 79, 87, 35, 109, 73, 35, 83, 107, 1, 51, 7, 59, 33,
423      115, 43, 111, 45, 121, 105, 125, 87, 101, 41, 95, 75, 1, 57, 117, 21, 27, 67,
424      29, 53, 117, 63, 1, 77, 89, 115, 49, 127, 15, 79, 81, 29, 65, 103, 33, 73, 79,
425      29, 21, 113, 31, 33, 107, 95, 111, 59, 99, 117, 63, 63, 99, 39, 9, 35, 63, 125,
426      99, 45, 93, 33, 93, 9, 105, 75, 51, 115, 11, 37, 17, 41, 21, 43, 73, 19, 93, 7,
427      95, 81, 93, 79, 81, 55, 9, 51, 63, 45, 89, 73, 19, 115, 39, 47, 81, 39, 5, 5, 45,
428      53, 65, 49, 17, 105, 13, 107, 5, 5, 19, 73, 59, 43, 83, 97, 115, 27, 1, 69, 103,
429      3, 99, 103, 63, 67, 25, 121, 97, 77, 13, 83, 103, 41, 11, 27, 81, 37, 33, 125,
430      71, 41, 41, 59, 41, 87, 123,
431      43, 101, 63, 45, 39, 21, 97, 15, 97, 111, 21, 49,
432      13, 17, 79, 91, 65, 105, 75, 1, 45, 67, 83, 107, 125, 87, 15, 81, 95, 105, 65,
433      45, 59, 103, 23, 103, 99, 67, 99, 47, 117, 71, 89, 35, 53, 73, 9, 115, 49, 37,
434      1, 35, 9, 45, 81, 19, 127, 17, 17, 105, 89, 49, 101, 7, 37, 33, 11, 95, 95, 17,
435      111, 105, 41, 115, 5, 69, 101, 27, 27, 101, 103, 53, 9, 21, 43, 79, 91, 65,
436      117, 87, 125, 55, 45, 63, 85, 83, 97, 45, 83, 87, 113, 93, 95, 5, 17, 77, 77,
437      127, 123, 45, 81, 85, 121, 119, 27, 85, 41, 49, 15, 107, 21, 51, 119, 11, 87,
438      101, 115, 63, 63, 37, 121, 109, 7, 43, 69, 19, 77, 49, 71, 59, 35, 7, 13, 55,
439      101, 127, 103, 85, 109, 29, 61, 67, 21, 111, 67, 23, 57, 75, 71, 101, 123, 41,
440      107, 101, 107, 125, 27, 47, 119, 41, 19, 127, 33, 31, 109, 7, 91, 91, 39, 125,
441      105, 47, 125, 123, 91, 9, 103, 45, 23, 117, 9, 125, 73, 11, 37, 61, 79, 21, 5,
442      47, 117, 67, 53, 85, 33, 81, 121, 47, 61, 51, 127, 29, 65, 45, 41, 95, 57, 73,
443      33, 117, 61, 111, 59, 123, 65, 47, 105, 23, 29, 107, 37, 81, 67, 29, 115, 119,
444      75, 73, 99, 103, 7, 57, 45, 61, 95, 49, 101, 101, 35, 47, 119, 39, 67, 31, 103,
445      7, 61, 127, 87, 3, 35, 29, 73, 95, 103, 71, 75, 51, 87, 57, 97, 11, 105, 87, 41,
446      73, 109, 69, 35, 121, 39, 111, 1, 77,
447      39, 47, 53, 91, 3, 17, 51, 83, 39, 125, 85, 111,
448      21, 69, 85, 29, 55, 11, 117, 1, 47, 17, 65, 63, 47, 117, 17, 115, 51, 25, 33,
449      123, 123, 83, 51, 113, 95, 121, 51, 91, 109, 43, 55, 35, 55, 87, 33, 37, 5, 3,
450      45, 21, 105, 127, 35, 17, 35, 37, 97, 97, 21, 77, 123, 17, 89, 53, 105, 75, 25,
451      125, 13, 47, 21, 125, 23, 55, 63, 61, 5, 17, 93, 57, 121, 69, 73, 93, 121, 105,
452      75, 91, 67, 95, 75, 9, 69, 97, 99, 93, 11, 53, 19, 73, 5, 33, 79, 107, 65, 69,
453      79, 125, 25, 93, 55, 61, 17, 117, 69, 97, 87, 111, 37, 93, 59, 79, 95, 53, 115,
454      53, 85, 85, 65, 59, 23, 75, 21, 67, 27, 99, 79, 27, 3, 95, 27, 69, 19, 75, 47,
455      59, 41, 85, 77, 99, 55, 49, 93, 93, 119, 51, 125, 63, 13, 15, 45, 61, 19, 105,
456      115, 17, 83, 7, 7, 11, 61, 37, 63, 89, 95, 119, 113, 67, 123, 91, 33, 37, 99,
457      43, 11, 33, 65, 81, 79, 81, 107, 63, 63, 55, 89, 91, 25, 93, 101, 27, 55, 75,
458      121, 79, 43, 125, 73, 27, 109, 35, 21, 71, 113, 89, 59, 95, 41, 45, 113, 119,
459      113, 39, 59, 73, 15, 13, 59, 67, 121, 27, 7, 105, 15, 59, 59, 35, 91, 89, 23,
460      125, 97, 53, 41, 91, 111, 29, 31, 3, 103, 61, 71, 35, 7, 119, 29, 45, 49, 111,
461      41, 109, 59, 125, 13, 27, 19, 79, 9, 75, 83, 81, 33, 91, 109, 33, 29, 107, 111,
462      101, 107, 109, 65, 59, 43, 37,
463      1, 9, 15, 109, 37, 111, 113, 119, 79, 73, 65,
464      71, 93, 17, 101, 87, 97, 43, 23, 75, 109, 41, 49, 53, 31, 97, 105, 109, 119,
465      51, 9, 53, 113, 97, 73, 89, 79, 49, 61, 105, 13, 99, 53, 71, 7, 87, 21, 101, 5,
466      71, 31, 123, 121, 121, 73, 79, 115, 13, 39, 101, 19, 37, 51, 83, 97, 55, 81,
467      91, 127, 105, 89, 63, 47, 49, 75, 37, 77, 15, 49, 107, 23, 23, 35, 19, 69, 17,
468      59, 63, 73, 29, 125, 61, 65, 95, 101, 81, 57, 69, 83, 37, 11, 37, 95, 1, 73, 27,
469      29, 57, 7, 65, 83, 99, 69, 19, 103, 43, 95, 25, 19, 103, 41, 125, 97, 71, 105,
470      83, 83, 61, 39, 9, 45, 117, 63, 31, 5, 117, 67, 125, 41, 117, 43, 77, 97, 15,
471      29, 5, 59, 25, 63, 87, 39, 39, 77, 85, 37, 81, 73, 89, 29, 125, 109, 21, 23,
472      119, 105, 43, 93, 97, 15, 125, 29, 51, 69, 37, 45, 31, 75, 109, 119, 53, 5,
473      101, 125, 121, 35, 29, 7, 63, 17, 63, 13, 69, 15, 105, 51, 127, 105, 9, 57, 95,
474      59, 109, 35, 49, 23, 33, 107, 55, 33, 57, 79, 73, 69, 59, 107, 55, 11, 63, 95,
475      103, 23, 125, 91, 31, 91, 51, 65, 61, 75, 69, 107, 65, 101, 59, 35, 15},
476     /* [7][*] */
477     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478      7, 23, 39, 217, 141, 27, 53, 181, 169, 35, 15,
479      207, 45, 247, 185, 117, 41, 81, 223, 151, 81, 189, 61, 95, 185, 23, 73, 113,
480      239, 85, 9, 201, 83, 53, 183, 203, 91, 149, 101, 13, 111, 239, 3, 205, 253,
481      247, 121, 189, 169, 179, 197, 175, 217, 249, 195, 95, 63, 19, 7, 5, 75, 217,
482      245, 111, 189, 165, 169, 141, 221, 249, 159, 253, 207, 249, 219, 23, 49,
483      127, 237, 5, 25, 177, 37, 103, 65, 167, 81, 87, 119, 45, 79, 143, 57, 79, 187,
484      143, 183, 75, 97, 211, 149, 175, 37, 135, 189, 225, 241, 63, 33, 43, 13, 73,
485      213, 57, 239, 183, 117, 21, 29, 115, 43, 205, 223, 15, 3, 159, 51, 101, 127,
486      99, 239, 171, 113, 171, 119, 189, 245, 201, 27, 185, 229, 105, 153, 189, 33,
487      35, 137, 77, 97, 17, 181, 55, 197, 201, 155, 37, 197, 137, 223, 25, 179, 91,
488      23, 235, 53, 253, 49, 181, 249, 53, 173, 97, 247, 67, 115, 103, 159, 239, 69,
489      173, 217, 95, 221, 247, 97, 91, 123, 223, 213, 129, 181, 87, 239, 85, 89,
490      249, 141, 39, 57, 249, 71, 101, 159, 33, 137, 189, 71, 253, 205, 171, 13,
491      249, 109, 131, 199, 189, 179, 31, 99, 113, 41, 173, 23, 189, 197, 3, 135, 9,
492      95, 195, 27, 183, 1, 123, 73, 53, 99, 197, 59, 27, 101, 55, 193, 31, 61, 119,
493      11, 7, 255, 233, 53, 157, 193, 97, 83, 65, 81, 239, 167, 69, 71, 109,
494      97, 137, 71, 193, 189, 115, 79, 205, 37, 227,
495      53, 33, 91, 229, 245, 105, 77, 229, 161, 103, 93, 13, 161, 229, 223, 69, 15,
496      25, 23, 233, 93, 25, 217, 247, 61, 75, 27, 9, 223, 213, 55, 197, 145, 89, 199,
497      41, 201, 5, 149, 35, 119, 183, 53, 11, 13, 3, 179, 229, 43, 55, 187, 233, 47,
498      133, 91, 47, 71, 93, 105, 145, 45, 255, 221, 115, 175, 19, 129, 5, 209, 197,
499      57, 177, 115, 187, 119, 77, 211, 111, 33, 113, 23, 87, 137, 41, 7, 83, 43,
500      121, 145, 5, 219, 27, 11, 111, 207, 55, 97, 63, 229, 53, 33, 149, 23, 187,
501      153, 91, 193, 183, 59, 211, 93, 139, 59, 179, 163, 209, 77, 39, 111, 79, 229,
502      85, 237, 199, 137, 147, 25, 73, 121, 129, 83, 87, 93, 205, 167, 53, 107, 229,
503      213, 95, 219, 109, 175, 13, 209, 97, 61, 147, 19, 13, 123, 73, 35, 141, 81,
504      19, 171, 255, 111, 107, 233, 113, 133, 89, 9, 231, 95, 69, 33, 1, 253, 219,
505      253, 247, 129, 11, 251, 221, 153, 35, 103, 239, 7, 27, 235, 181, 5, 207, 53,
506      149, 155, 225, 165, 137, 155, 201, 97, 245, 203, 47, 39, 35, 105, 239, 49,
507      15, 253, 7, 237, 213, 55, 87, 199, 27, 175, 49, 41, 229, 85, 3, 149, 179, 129,
508      185, 249, 197, 15, 97, 197, 139, 203, 63, 33, 251, 217, 199, 199, 99, 249,
509      33, 229, 177, 13, 209, 147, 97, 31, 125, 177, 137,
510      187, 11, 91, 223, 29, 169, 231, 59, 31, 163, 41,
511      57, 87, 247, 25, 127, 101, 207, 187, 73, 61, 105, 27, 91, 171, 243, 33, 3, 1,
512      21, 229, 93, 71, 61, 37, 183, 65, 211, 53, 11, 151, 165, 47, 5, 129, 79, 101,
513      147, 169, 181, 19, 95, 77, 139, 197, 219, 97, 239, 183, 143, 9, 13, 209, 23,
514      215, 53, 137, 203, 19, 151, 171, 133, 219, 231, 3, 15, 253, 225, 33, 111,
515      183, 213, 169, 119, 111, 15, 201, 123, 121, 225, 113, 113, 225, 161, 165, 1,
516      139, 55, 3, 93, 217, 193, 97, 29, 69, 231, 161, 93, 69, 143, 137, 9, 87, 183,
517      113, 183, 73, 215, 137, 89, 251, 163, 41, 227, 145, 57, 81, 57, 11, 135, 145,
518      161, 175, 159, 25, 55, 167, 157, 211, 97, 247, 249, 23, 129, 159, 71, 197,
519      127, 141, 219, 5, 233, 131, 217, 101, 131, 33, 157, 173, 69, 207, 239, 81,
520      205, 11, 41, 169, 65, 193, 77, 201, 173, 1, 221, 157, 1, 15, 113, 147, 137,
521      205, 225, 73, 45, 49, 149, 113, 253, 99, 17, 119, 105, 117, 129, 243, 75,
522      203, 53, 29, 247, 35, 247, 171, 31, 199, 213, 29, 251, 7, 251, 187, 91, 11,
523      149, 13, 205, 37, 249, 137, 139, 9, 7, 113, 183, 205, 187, 39, 3, 79, 155,
524      227, 89, 185, 51, 127, 63, 83, 41, 133, 183, 181, 127, 19, 255, 219, 59, 251,
525      3, 187, 57, 217, 115, 217, 229, 181, 185, 149, 83, 115, 11,
526      123, 19, 109, 165, 103, 123, 219, 129, 155,
527      207, 177, 9, 49, 181, 231, 33, 233, 67, 155, 41, 9, 95, 123, 65, 117, 249, 85,
528      169, 129, 241, 173, 251, 225, 147, 165, 69, 81, 239, 95, 23, 83, 227, 249,
529      143, 171, 193, 9, 21, 57, 73, 97, 57, 29, 239, 151, 159, 191, 47, 51, 1, 223,
530      251, 251, 151, 41, 119, 127, 131, 33, 209, 123, 53, 241, 25, 31, 183, 107,
531      25, 115, 39, 11, 213, 239, 219, 109, 185, 35, 133, 123, 185, 27, 55, 245, 61,
532      75, 205, 213, 169, 163, 63, 55, 49, 83, 195, 51, 31, 41, 15, 203, 41, 63, 127,
533      161, 5, 143, 7, 199, 251, 95, 75, 101, 15, 43, 237, 197, 117, 167, 155, 21,
534      83, 205, 255, 49, 101, 213, 237, 135, 135, 21, 73, 93, 115, 7, 85, 223, 237,
535      79, 89, 5, 57, 239, 67, 65, 201, 155, 71, 85, 195, 89, 181, 119, 135, 147,
536      237, 173, 41, 155, 67, 113, 111, 21, 183, 23, 103, 207, 253, 69, 219, 205,
537      195, 43, 197, 229, 139, 177, 129, 69, 97, 201, 163, 189, 11, 99, 91, 253,
538      239, 91, 145, 19, 179, 231, 121, 7, 225, 237, 125, 191, 119, 59, 175, 237,
539      131, 79, 43, 45, 205, 199, 251, 153, 207, 37, 179, 113, 255, 107, 217, 61, 7,
540      181, 247, 31, 13, 113, 145, 107, 233, 233, 43, 79, 23, 169, 137, 129, 183,
541      53, 91, 55, 103, 223, 87, 177, 157, 79, 213, 139,
542      183, 231, 205, 143, 129, 243, 205, 93, 59,
543      15, 89, 9, 11, 47, 133, 227, 75, 9, 91, 19, 171, 163, 79, 7, 103, 5, 119, 155,
544      75, 11, 71, 95, 17, 13, 243, 207, 187},
545     /* [8][*] */
546     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547      235, 307, 495, 417, 57, 151, 19, 119, 375, 451,
548      55, 449, 501, 53, 185, 317, 17, 21, 487, 13, 347, 393, 15, 391, 307, 189,
549      381, 71, 163, 99, 467, 167, 433, 337, 257, 179, 47, 385, 23, 117, 369, 425,
550      207, 433, 301, 147, 333, 85, 221, 423, 49, 3, 43, 229, 227, 201, 383, 281,
551      229, 207, 21, 343, 251, 397, 173, 507, 421, 443, 399, 53, 345, 77, 385, 317,
552      155, 187, 269, 501, 19, 169, 235, 415, 61, 247, 183, 5, 257, 401, 451, 95,
553      455, 49, 489, 75, 459, 377, 87, 463, 155, 233, 115, 429, 211, 419, 143, 487,
554      195, 209, 461, 193, 157, 193, 363, 181, 271, 445, 381, 231, 135, 327, 403,
555      171, 197, 181, 343, 113, 313, 393, 311, 415, 267, 247, 425, 233, 289, 55,
556      39, 247, 327, 141, 5, 189, 183, 27, 337, 341, 327, 87, 429, 357, 265, 251,
557      437, 201, 29, 339, 257, 377, 17, 53, 327, 47, 375, 393, 369, 403, 125, 429,
558      257, 157, 217, 85, 267, 117, 337, 447, 219, 501, 41, 41, 193, 509, 131, 207,
559      505, 421, 149, 111, 177, 167, 223, 291, 91, 29, 305, 151, 177, 337, 183,
560      361, 435, 307, 507, 77, 181, 507, 315, 145, 423, 71, 103, 493, 271, 469,
561      339, 237, 437, 483, 31, 219, 61, 131, 391, 233, 219, 69, 57, 459, 225, 421,
562      7, 461, 111, 451, 277, 185, 193, 125, 251, 199, 73, 71, 7, 409, 417, 149,
563      193, 53, 437, 29, 467, 229, 31, 35, 75, 105,
564      503, 75, 317, 401, 367, 131, 365, 441, 433, 93, 377, 405, 465, 259, 283,
565      443, 143, 445, 3, 461, 329, 309, 77, 323, 155, 347, 45, 381, 315, 463, 207,
566      321, 157, 109, 479, 313, 345, 167, 439, 307, 235, 473, 79, 101, 245, 19,
567      381, 251, 35, 25, 107, 187, 115, 113, 321, 115, 445, 61, 77, 293, 405, 13,
568      53, 17, 171, 299, 41, 79, 3, 485, 331, 13, 257, 59, 201, 497, 81, 451, 199,
569      171, 81, 253, 365, 75, 451, 149, 483, 81, 453, 469, 485, 305, 163, 401, 15,
570      91, 3, 129, 35, 239, 355, 211, 387, 101, 299, 67, 375, 405, 357, 267, 363,
571      79, 83, 437, 457, 39, 97, 473, 289, 179, 57, 23, 49, 79, 71, 341, 287, 95,
572      229, 271, 475, 49, 241, 261, 495, 353, 381, 13, 291, 37, 251, 105, 399, 81,
573      89, 265, 507, 205, 145, 331, 129, 119, 503, 249, 1, 289, 463, 163, 443, 63,
574      123, 361, 261, 49, 429, 137, 355, 175, 507, 59, 277, 391, 25, 185, 381, 197,
575      39, 5, 429, 119, 247, 177, 329, 465, 421, 271, 467, 151, 45, 429, 137, 471,
576      11, 17, 409, 347, 199, 463, 177, 11, 51, 361, 95, 497, 163, 351, 127, 395,
577      511, 327, 353, 49, 105, 151, 321, 331, 329, 509, 107, 109, 303, 467, 287,
578      161, 45, 385, 289, 363, 331, 265, 407, 37, 433, 315, 343, 63, 51, 185, 71,
579      27, 267,
580      503, 239, 293, 245, 281, 297, 75, 461, 371,
581      129, 189, 189, 339, 287, 111, 111, 379, 93, 27, 185, 347, 337, 247, 507,
582      161, 231, 43, 499, 73, 327, 263, 331, 249, 493, 37, 25, 115, 3, 167, 197,
583      127, 357, 497, 103, 125, 191, 165, 55, 101, 95, 79, 351, 341, 43, 125, 135,
584      173, 289, 373, 133, 421, 241, 281, 213, 177, 363, 151, 227, 145, 363, 239,
585      431, 81, 397, 241, 67, 291, 255, 405, 421, 399, 75, 399, 105, 329, 41, 425,
586      7, 283, 375, 475, 427, 277, 209, 411, 3, 137, 195, 289, 509, 121, 55, 147,
587      275, 251, 19, 129, 285, 415, 487, 491, 193, 219, 403, 23, 97, 65, 285, 75,
588      21, 373, 261, 339, 239, 495, 415, 333, 107, 435, 297, 213, 149, 463, 199,
589      323, 45, 19, 301, 121, 499, 187, 229, 63, 425, 99, 281, 35, 125, 349, 87,
590      101, 59, 195, 511, 355, 73, 263, 243, 101, 165, 141, 11, 389, 219, 187, 449,
591      447, 393, 477, 305, 221, 51, 355, 209, 499, 479, 265, 377, 145, 411, 173,
592      11, 433, 483, 135, 385, 341, 89, 209, 391, 33, 395, 319, 451, 119, 341, 227,
593      375, 61, 331, 493, 411, 293, 47, 203, 375, 167, 395, 155, 5, 237, 361, 489,
594      127, 21, 345, 101, 371, 233, 431, 109, 119, 277, 125, 263, 73, 135, 123, 83,
595      123, 405, 69, 75, 287, 401, 23, 283, 393, 41, 379, 431, 11, 475, 505, 19,
596      365, 265, 271,
597      499, 489, 443, 165, 91, 83, 291, 319, 199,
598      107, 245, 389, 143, 137, 89, 125, 281, 381, 215, 131, 299, 249, 375, 455,
599      43, 73, 281, 217, 297, 229, 431, 357, 81, 357, 171, 451, 481, 13, 387, 491,
600      489, 439, 385, 487, 177, 393, 33, 71, 375, 443, 129, 407, 395, 127, 65, 333,
601      309, 119, 197, 435, 497, 373, 71, 379, 509, 387, 159, 265, 477, 463, 449,
602      47, 353, 249, 335, 505, 89, 141, 55, 235, 187, 87, 363, 93, 363, 101, 67,
603      215, 321, 331, 305, 261, 411, 491, 479, 65, 307, 469, 415, 131, 315, 487,
604      83, 455, 19, 113, 163, 503, 99, 499, 251, 239, 81, 167, 391, 255, 317, 363,
605      359, 395, 419, 307, 251, 267, 171, 461, 183, 465, 165, 163, 293, 477, 223,
606      403, 389, 97, 335, 357, 297, 19, 469, 501, 249, 85, 213, 311, 265, 379, 297,
607      283, 393, 449, 463, 289, 159, 289, 499, 407, 129, 137, 221, 43, 89, 403,
608      271, 75, 83, 445, 453, 389, 149, 143, 423, 499, 317, 445, 157, 137, 453,
609      163, 87, 23, 391, 119, 427, 323, 173, 89, 259, 377, 511, 249, 31, 363, 229,
610      353, 329, 493, 427, 57, 205, 389, 91, 83, 13, 219, 439, 45, 35, 371, 441, 17,
611      267, 501, 53, 25, 333, 17, 201, 475, 257, 417, 345, 381, 377, 55, 403, 77,
612      389, 347, 363, 211, 413, 419, 5, 167, 219, 201, 285, 425, 11, 77, 269, 489,
613      281, 403, 79,
614      425, 125, 81, 331, 437, 271, 397, 299, 475,
615      271, 249, 413, 233, 261, 495, 171, 69, 27, 409, 21, 421, 367, 81, 483, 255,
616      15, 219, 365, 497, 181, 75, 431, 99, 325, 407, 229, 281, 63, 83, 493, 5, 113,
617      15, 271, 37, 87, 451, 299, 83, 451, 311, 441, 47, 455, 47, 253, 13, 109, 369,
618      347, 11, 409, 275, 63, 441, 15},
619     /* [9][*] */
620     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622      519, 307, 931, 1023, 517, 771, 151, 1023,
623      539, 725, 45, 927, 707, 29, 125, 371, 275, 279, 817, 389, 453, 989, 1015,
624      29, 169, 743, 99, 923, 981, 181, 693, 309, 227, 111, 219, 897, 377, 425,
625      609, 227, 19, 221, 143, 581, 147, 919, 127, 725, 793, 289, 411, 835, 921,
626      957, 443, 349, 813, 5, 105, 457, 393, 539, 101, 197, 697, 27, 343, 515, 69,
627      485, 383, 855, 693, 133, 87, 743, 747, 475, 87, 469, 763, 721, 345, 479,
628      965, 527, 121, 271, 353, 467, 177, 245, 627, 113, 357, 7, 691, 725, 355,
629      889, 635, 737, 429, 545, 925, 357, 873, 187, 351, 677, 999, 921, 477, 233,
630      765, 495, 81, 953, 479, 89, 173, 473, 131, 961, 411, 291, 967, 65, 511, 13,
631      805, 945, 369, 827, 295, 163, 835, 259, 207, 331, 29, 315, 999, 133, 967,
632      41, 117, 677, 471, 717, 881, 755, 351, 723, 259, 879, 455, 721, 289, 149,
633      199, 805, 987, 851, 423, 597, 129, 11, 733, 549, 153, 285, 451, 559, 377,
634      109, 357, 143, 693, 615, 677, 701, 475, 767, 85, 229, 509, 547, 151, 389,
635      711, 785, 657, 319, 509, 99, 1007, 775, 359, 697, 677, 85, 497, 105, 615,
636      891, 71, 449, 835, 609, 377, 693, 665, 627, 215, 911, 503, 729, 131, 19,
637      895, 199, 161, 239, 633, 1013, 537, 255, 23, 149, 679, 1021, 595, 199, 557,
638      659, 251, 829, 727, 439, 495, 647, 223,
639      949, 625, 87, 481, 85, 799, 917, 769, 949,
640      739, 115, 499, 945, 547, 225, 1015, 469, 737, 495, 353, 103, 17, 665, 639,
641      525, 75, 447, 185, 43, 729, 577, 863, 735, 317, 99, 17, 477, 893, 537, 519,
642      1017, 375, 297, 325, 999, 353, 343, 729, 135, 489, 859, 267, 141, 831, 141,
643      893, 249, 807, 53, 613, 131, 547, 977, 131, 999, 175, 31, 341, 739, 467,
644      675, 241, 645, 247, 391, 583, 183, 973, 433, 367, 131, 467, 571, 309, 385,
645      977, 111, 917, 935, 473, 345, 411, 313, 97, 149, 959, 841, 839, 669, 431,
646      51, 41, 301, 247, 1015, 377, 329, 945, 269, 67, 979, 581, 643, 823, 557, 91,
647      405, 117, 801, 509, 347, 893, 303, 227, 783, 555, 867, 99, 703, 111, 797,
648      873, 541, 919, 513, 343, 319, 517, 135, 871, 917, 285, 663, 301, 15, 763,
649      89, 323, 757, 317, 807, 309, 1013, 345, 499, 279, 711, 915, 411, 281, 193,
650      739, 365, 315, 375, 809, 469, 487, 621, 857, 975, 537, 939, 585, 129, 625,
651      447, 129, 1017, 133, 83, 3, 415, 661, 53, 115, 903, 49, 79, 55, 385, 261,
652      345, 297, 199, 385, 617, 25, 515, 275, 849, 401, 471, 377, 661, 535, 505,
653      939, 465, 225, 929, 219, 955, 659, 441, 117, 527, 427, 515, 287, 191, 33,
654      389, 197, 825, 63, 417, 949, 35, 571, 9, 131, 609, 439, 95, 19, 569, 893,
655      451, 397, 971, 801,
656      125, 471, 187, 257, 67, 949, 621, 453, 411,
657      621, 955, 309, 783, 893, 597, 377, 753, 145, 637, 941, 593, 317, 555, 375,
658      575, 175, 403, 571, 555, 109, 377, 931, 499, 649, 653, 329, 279, 271, 647,
659      721, 665, 429, 957, 803, 767, 425, 477, 995, 105, 495, 575, 687, 385, 227,
660      923, 563, 723, 481, 717, 111, 633, 113, 369, 955, 253, 321, 409, 909, 367,
661      33, 967, 453, 863, 449, 539, 781, 911, 113, 7, 219, 725, 1015, 971, 1021,
662      525, 785, 873, 191, 893, 297, 507, 215, 21, 153, 645, 913, 755, 371, 881,
663      113, 903, 225, 49, 587, 201, 927, 429, 599, 513, 97, 319, 331, 833, 325,
664      887, 139, 927, 399, 163, 307, 803, 169, 1019, 869, 537, 907, 479, 335, 697,
665      479, 353, 769, 787, 1023, 855, 493, 883, 521, 735, 297, 1011, 991, 879,
666      855, 591, 415, 917, 375, 453, 553, 189, 841, 339, 211, 601, 57, 765, 745,
667      621, 209, 875, 639, 7, 595, 971, 263, 1009, 201, 23, 77, 621, 33, 535, 963,
668      661, 523, 263, 917, 103, 623, 231, 47, 301, 549, 337, 675, 189, 357, 1005,
669      789, 189, 319, 721, 1005, 525, 675, 539, 191, 813, 917, 51, 167, 415, 579,
670      755, 605, 721, 837, 529, 31, 327, 799, 961, 279, 409, 847, 649, 241, 285,
671      545, 407, 161, 591, 73, 313, 811, 17, 663, 269, 261, 37, 783, 127, 917, 231,
672      577, 975, 793,
673      921, 343, 751, 139, 221, 79, 817, 393, 545,
674      11, 781, 71, 1, 699, 767, 917, 9, 107, 341, 587, 903, 965, 599, 507, 843,
675      739, 579, 397, 397, 325, 775, 565, 925, 75, 55, 979, 931, 93, 957, 857, 753,
676      965, 795, 67, 5, 87, 909, 97, 995, 271, 875, 671, 613, 33, 351, 69, 811, 669,
677      729, 401, 647, 241, 435, 447, 721, 271, 745, 53, 775, 99, 343, 451, 427,
678      593, 339, 845, 243, 345, 17, 573, 421, 517, 971, 499, 435, 769, 75, 203,
679      793, 985, 343, 955, 735, 523, 659, 703, 303, 421, 951, 405, 631, 825, 735,
680      433, 841, 485, 49, 749, 107, 669, 211, 497, 143, 99, 57, 277, 969, 107, 397,
681      563, 551, 447, 381, 187, 57, 405, 731, 769, 923, 955, 915, 737, 595, 341,
682      253, 823, 197, 321, 315, 181, 885, 497, 159, 571, 981, 899, 785, 947, 217,
683      217, 135, 753, 623, 565, 717, 903, 581, 955, 621, 361, 869, 87, 943, 907,
684      853, 353, 335, 197, 771, 433, 743, 195, 91, 1023, 63, 301, 647, 205, 485,
685      927, 1003, 987, 359, 577, 147, 141, 1017, 701, 273, 89, 589, 487, 859, 343,
686      91, 847, 341, 173, 287, 1003, 289, 639, 983, 685, 697, 35, 701, 645, 911,
687      501, 705, 873, 763, 745, 657, 559, 699, 315, 347, 429, 197, 165, 955, 859,
688      167, 303, 833, 531, 473, 635, 641, 195, 589, 821, 205, 3, 635, 371, 891,
689      249, 123,
690      77, 623, 993, 401, 525, 427, 71, 655, 951,
691      357, 851, 899, 535, 493, 323, 1003, 343, 515, 859, 1017, 5, 423, 315, 1011,
692      703, 41, 777, 163, 95, 831, 79, 975, 235, 633, 723, 297, 589, 317, 679, 981,
693      195, 399, 1003, 121, 501, 155},
694     /* [10][*] */
695     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698      7, 2011, 1001, 49, 825, 415, 1441, 383, 1581,
699      623, 1621, 1319, 1387, 619, 839, 217, 75, 1955, 505, 281, 1629, 1379, 53,
700      1111, 1399, 301, 209, 49, 155, 1647, 631, 129, 1569, 335, 67, 1955, 1611,
701      2021, 1305, 121, 37, 877, 835, 1457, 669, 1405, 935, 1735, 665, 551, 789,
702      1543, 1267, 1027, 1, 1911, 163, 1929, 67, 1975, 1681, 1413, 191, 1711,
703      1307, 401, 725, 1229, 1403, 1609, 2035, 917, 921, 1789, 41, 2003, 187, 67,
704      1635, 717, 1449, 277, 1903, 1179, 363, 1211, 1231, 647, 1261, 1029, 1485,
705      1309, 1149, 317, 1335, 171, 243, 271, 1055, 1601, 1129, 1653, 205, 1463,
706      1681, 1621, 197, 951, 573, 1697, 1265, 1321, 1805, 1235, 1853, 1307, 945,
707      1197, 1411, 833, 273, 1517, 1747, 1095, 1345, 869, 57, 1383, 221, 1713,
708      335, 1751, 1141, 839, 523, 1861, 1105, 389, 1177, 1877, 805, 93, 1591,
709      423, 1835, 99, 1781, 1515, 1909, 1011, 303, 385, 1635, 357, 973, 1781,
710      1707, 1363, 1053, 649, 1469, 623, 1429, 1241, 1151, 1055, 503, 921, 3,
711      349, 1149, 293, 45, 303, 877, 1565, 1583, 1001, 663, 1535, 395, 1141,
712      1481, 1797, 643, 1507, 465, 2027, 1695, 367, 937, 719, 545, 1991, 83, 819,
713      239, 1791, 1461, 1647, 1501, 1161, 1629, 139, 1595, 1921, 1267, 1415,
714      509, 347, 777, 1083, 363, 269, 1015,
715      1809, 1105, 1429, 1471, 2019, 381, 2025,
716      1223, 827, 1733, 887, 1321, 803, 1951, 1297, 1995, 833, 1107, 1135, 1181,
717      1251, 983, 1389, 1565, 273, 137, 71, 735, 1005, 933, 67, 1471, 551, 457,
718      1667, 1729, 919, 285, 1629, 1815, 653, 1919, 1039, 531, 393, 1411, 359,
719      221, 699, 1485, 471, 1357, 1715, 595, 1677, 153, 1903, 1281, 215, 781,
720      543, 293, 1807, 965, 1695, 443, 1985, 321, 879, 1227, 1915, 839, 1945,
721      1993, 1165, 51, 557, 723, 1491, 817, 1237, 947, 1215, 1911, 1225, 1965,
722      1889, 1503, 1177, 73, 1767, 303, 177, 1897, 1401, 321, 921, 217, 1779,
723      327, 1889, 333, 615, 1665, 1825, 1639, 237, 1205, 361, 129, 1655, 983,
724      1089, 1171, 401, 677, 643, 749, 303, 1407, 1873, 1579, 1491, 1393, 1247,
725      789, 763, 49, 5, 1607, 1891, 735, 1557, 1909, 1765, 1777, 1127, 813, 695,
726      97, 731, 1503, 1751, 333, 769, 865, 693, 377, 1919, 957, 1359, 1627, 1039,
727      1783, 1065, 1665, 1917, 1947, 991, 1997, 841, 459, 221, 327, 1595, 1881,
728      1269, 1007, 129, 1413, 475, 1105, 791, 1983, 1359, 503, 691, 659, 691,
729      343, 1375, 1919, 263, 1373, 603, 1383, 297, 781, 145, 285, 767, 1739,
730      1715, 715, 317, 1333, 85, 831, 1615, 81, 1667, 1467, 1457, 1453, 1825,
731      109, 387, 1207, 2039, 213, 1351, 1329, 1173,
732      57, 1769, 951, 183, 23, 451, 1155, 1551,
733      2037, 811, 635, 1671, 1451, 863, 1499, 1673, 363, 1029, 1077, 1525, 277,
734      1023, 655, 665, 1869, 1255, 965, 277, 1601, 329, 1603, 1901, 395, 65,
735      1307, 2029, 21, 1321, 543, 1569, 1185, 1905, 1701, 413, 2041, 1697, 725,
736      1417, 1847, 411, 211, 915, 1891, 17, 1877, 1699, 687, 1089, 1973, 1809,
737      851, 1495, 1257, 63, 1323, 1307, 609, 881, 1543, 177, 617, 1505, 1747,
738      1537, 925, 183, 77, 1723, 1877, 1703, 397, 459, 521, 257, 1177, 389, 1947,
739      1553, 1583, 1831, 261, 485, 289, 1281, 1543, 1591, 1123, 573, 821, 1065,
740      1933, 1373, 2005, 905, 207, 173, 1573, 1597, 573, 1883, 1795, 1499, 1743,
741      553, 335, 333, 1645, 791, 871, 1157, 969, 557, 141, 223, 1129, 1685, 423,
742      1069, 391, 99, 95, 1847, 531, 1859, 1833, 1833, 341, 237, 1997, 1799, 409,
743      431, 1917, 363, 335, 1039, 1085, 1657, 1975, 1527, 1111, 659, 389, 899,
744      595, 1439, 1861, 1979, 1569, 1087, 1009, 165, 1895, 1481, 1583, 29, 1193,
745      1673, 1075, 301, 1081, 1377, 1747, 1497, 1103, 1789, 887, 739, 1577, 313,
746      1367, 1299, 1801, 1131, 1837, 73, 1865, 1065, 843, 635, 55, 1655, 913,
747      1037, 223, 1871, 1161, 461, 479, 511, 1721, 1107, 389, 151, 35, 375, 1099,
748      937, 1185, 1701, 769, 639, 1633,
749      1609, 379, 1613, 2031, 685, 289, 975, 671,
750      1599, 1447, 871, 647, 99, 139, 1427, 959, 89, 117, 841, 891, 1959, 223,
751      1697, 1145, 499, 1435, 1809, 1413, 1445, 1675, 171, 1073, 1349, 1545,
752      2039, 1027, 1563, 859, 215, 1673, 1919, 1633, 779, 411, 1845, 1477, 1489,
753      447, 1545, 351, 1989, 495, 183, 1639, 1385, 1805, 1097, 1249, 1431, 1571,
754      591, 697, 1509, 709, 31, 1563, 165, 513, 1425, 1299, 1081, 145, 1841,
755      1211, 941, 609, 845, 1169, 1865, 1593, 347, 293, 1277, 157, 211, 93, 1679,
756      1799, 527, 41, 473, 563, 187, 1525, 575, 1579, 857, 703, 1211, 647, 709,
757      981, 285, 697, 163, 981, 153, 1515, 47, 1553, 599, 225, 1147, 381, 135,
758      821, 1965, 609, 1033, 983, 503, 1117, 327, 453, 2005, 1257, 343, 1649,
759      1199, 599, 1877, 569, 695, 1587, 1475, 187, 973, 233, 511, 51, 1083, 665,
760      1321, 531, 1875, 1939, 859, 1507, 1979, 1203, 1965, 737, 921, 1565, 1943,
761      819, 223, 365, 167, 1705, 413, 1577, 745, 1573, 655, 1633, 1003, 91, 1123,
762      477, 1741, 1663, 35, 715, 37, 1513, 815, 941, 1379, 263, 1831, 1735, 1111,
763      1449, 353, 1941, 1655, 1349, 877, 285, 1723, 125, 1753, 985, 723, 175,
764      439, 791, 1051, 1261, 717, 1555, 1757, 1777, 577, 1583, 1957, 873, 331,
765      1163, 313, 1, 1963, 963, 1905, 821,
766      1677, 185, 709, 545, 1723, 215, 1885,
767      1249, 583, 1803, 839, 885, 485, 413, 1767, 425, 129, 1035, 329, 1263,
768      1881, 1779, 1565, 359, 367, 453, 707, 1419, 831, 1889, 887, 1871, 1869,
769      747, 223, 1547, 1799, 433, 1441, 553, 2021, 1303, 1505, 1735, 1619, 1065,
770      1161, 2047, 347, 867, 881, 1447, 329, 781, 1065, 219, 589, 645, 1257,
771      1833, 749, 1841, 1733, 1179, 1191, 1025, 1639, 1955, 1423, 1685, 1711,
772      493, 549, 783, 1653, 397, 895, 233, 759, 1505, 677, 1449, 1573, 1297,
773      1821, 1691, 791, 289, 1187, 867, 1535, 575, 183},
774     /* [11][*] */
775     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781      3915, 97, 3047, 937, 2897, 953, 127, 1201,
782      3819, 193, 2053, 3061, 3759, 1553, 2007, 2493, 603, 3343, 3751, 1059,
783      783, 1789, 1589, 283, 1093, 3919, 2747, 277, 2605, 2169, 2905, 721, 4069,
784      233, 261, 1137, 3993, 3619, 2881, 1275, 3865, 1299, 3757, 1193, 733, 993,
785      1153, 2945, 3163, 3179, 437, 271, 3493, 3971, 1005, 2615, 2253, 1131,
786      585, 2775, 2171, 2383, 2937, 2447, 1745, 663, 1515, 3767, 2709, 1767,
787      3185, 3017, 2815, 1829, 87, 3341, 793, 2627, 2169, 1875, 3745, 367, 3783,
788      783, 827, 3253, 2639, 2955, 3539, 1579, 2109, 379, 2939, 3019, 1999,
789      2253, 2911, 3733, 481, 1767, 1055, 4019, 4085, 105, 1829, 2097, 2379,
790      1567, 2713, 737, 3423, 3941, 2659, 3961, 1755, 3613, 1937, 1559, 2287,
791      2743, 67, 2859, 325, 2601, 1149, 3259, 2403, 3947, 2011, 175, 3389, 3915,
792      1315, 2447, 141, 359, 3609, 3933, 729, 2051, 1755, 2149, 2107, 1741,
793      1051, 3681, 471, 1055, 845, 257, 1559, 1061, 2803, 2219, 1315, 1369,
794      3211, 4027, 105, 11, 1077, 2857, 337, 3553, 3503, 3917, 2665, 3823, 3403,
795      3711, 2085, 1103, 1641, 701, 4095, 2883, 1435, 653, 2363, 1597, 767, 869,
796      1825, 1117, 1297, 501, 505, 149, 873, 2673, 551, 1499, 2793, 3277, 2143,
797      3663, 533, 3991, 575, 1877, 1009, 3929, 473, 3009, 2595, 3249, 675, 3593,
798      2453, 1567, 973, 595, 1335, 1715, 589, 85,
799      2265, 3069, 461, 1659, 2627, 1307, 1731, 1501, 1699, 3545, 3803, 2157,
800      453, 2813, 2047, 2999, 3841, 2361, 1079, 573, 69, 1363, 1597, 3427, 2899,
801      2771, 1327, 1117, 1523, 3521, 2393, 2537, 1979, 3179, 683, 2453, 453,
802      1227, 779, 671, 3483, 2135, 3139, 3381, 3945, 57, 1541, 3405, 3381, 2371,
803      2879, 1985, 987, 3017, 3031, 3839, 1401, 3749, 2977, 681, 1175, 1519,
804      3355, 907, 117, 771, 3741, 3337, 1743, 1227, 3335, 2755, 1909, 3603,
805      2397, 653, 87, 2025, 2617, 3257, 287, 3051, 3809, 897, 2215, 63, 2043,
806      1757, 3671, 297, 3131, 1305, 293, 3865, 3173, 3397, 2269, 3673, 717,
807      3041, 3341, 3595, 3819, 2871, 3973, 1129, 513, 871, 1485, 3977, 2473,
808      1171, 1143, 3063, 3547, 2183, 3993, 133, 2529, 2699, 233, 2355, 231,
809      3241, 611, 1309, 3829, 1839, 1495, 301, 1169, 1613, 2673, 243, 3601,
810      3669, 2813, 2671, 2679, 3463, 2477, 1795, 617, 2317, 1855, 1057, 1703,
811      1761, 2515, 801, 1205, 1311, 473, 3963, 697, 1221, 251, 381, 3887, 1761,
812      3093, 3721, 2079, 4085, 379, 3601, 3845, 433, 1781, 29, 1897, 1599, 2163,
813      75, 3475, 3957, 1641, 3911, 2959, 2833, 1279, 1099, 403, 799, 2183, 2699,
814      1711, 2037, 727, 289, 1785, 1575, 3633, 2367, 1261, 3953, 1735, 171,
815      1959,
816      2867, 859, 2951, 3211, 15, 1279, 1323, 599,
817      1651, 3951, 1011, 315, 3513, 3351, 1725, 3793, 2399, 287, 4017, 3571,
818      1007, 541, 3115, 429, 1585, 1285, 755, 1211, 3047, 915, 3611, 2697, 2129,
819      3669, 81, 3939, 2437, 915, 779, 3567, 3701, 2479, 3807, 1893, 3927, 2619,
820      2543, 3633, 2007, 3857, 3837, 487, 1769, 3759, 3105, 2727, 3155, 2479,
821      1341, 1657, 2767, 2541, 577, 2105, 799, 17, 2871, 3637, 953, 65, 69, 2897,
822      3841, 3559, 4067, 2335, 3409, 1087, 425, 2813, 1705, 1701, 1237, 821,
823      1375, 3673, 2693, 3925, 1541, 1871, 2285, 847, 4035, 1101, 2029, 855,
824      2733, 2503, 121, 2855, 1069, 3463, 3505, 1539, 607, 1349, 575, 2301,
825      2321, 1101, 333, 291, 2171, 4085, 2173, 2541, 1195, 925, 4039, 1379, 699,
826      1979, 275, 953, 1755, 1643, 325, 101, 2263, 3329, 3673, 3413, 1977, 2727,
827      2313, 1419, 887, 609, 2475, 591, 2613, 2081, 3805, 3435, 2409, 111, 3557,
828      3607, 903, 231, 3059, 473, 2959, 2925, 3861, 2043, 3887, 351, 2865, 369,
829      1377, 2639, 1261, 3625, 3279, 2201, 2949, 3049, 449, 1297, 897, 1891,
830      411, 2773, 749, 2753, 1825, 853, 2775, 3547, 3923, 3923, 987, 3723, 2189,
831      3877, 3577, 297, 2763, 1845, 3083, 2951, 483, 2169, 3985, 245, 3655,
832      3441, 1023, 235, 835, 3693, 3585, 327, 1003, 543, 3059, 2637,
833      2923, 87, 3617, 1031, 1043, 903, 2913,
834      2177, 2641, 3279, 389, 2009, 525, 4085, 3299, 987, 2409, 813, 2683, 373,
835      2695, 3775, 2375, 1119, 2791, 223, 325, 587, 1379, 2877, 2867, 3793, 655,
836      831, 3425, 1663, 1681, 2657, 1865, 3943, 2977, 1979, 2271, 3247, 1267,
837      1747, 811, 159, 429, 2001, 1195, 3065, 553, 1499, 3529, 1081, 2877, 3077,
838      845, 1793, 2409, 3995, 2559, 4081, 1195, 2955, 1117, 1409, 785, 287,
839      1521, 1607, 85, 3055, 3123, 2533, 2329, 3477, 799, 3683, 3715, 337, 3139,
840      3311, 431, 3511, 2299, 365, 2941, 3067, 1331, 1081, 1097, 2853, 2299,
841      495, 1745, 749, 3819, 619, 1059, 3559, 183, 3743, 723, 949, 3501, 733,
842      2599, 3983, 3961, 911, 1899, 985, 2493, 1795, 653, 157, 433, 2361, 3093,
843      3119, 3679, 2367, 1701, 1445, 1321, 2397, 1241, 3305, 3985, 2349, 4067,
844      3805, 3073, 2837, 1567, 3783, 451, 2441, 1181, 487, 543, 1201, 3735,
845      2517, 733, 1535, 2175, 3613, 3019},
846     /* [12][*] */
847     {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
848      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
855      2319, 653, 1379, 1675, 1951, 7075, 2087,
856      7147, 1427, 893, 171, 2019, 7235, 5697, 3615, 1961, 7517, 6849, 2893,
857      1883, 2863, 2173, 4543, 73, 381, 3893, 6045, 1643, 7669, 1027, 1549,
858      3983, 1985, 6589, 7497, 2745, 2375, 7047, 1117, 1171, 1975, 5199, 3915,
859      3695, 8113, 4303, 3773, 7705, 6855, 1675, 2245, 2817, 1719, 569, 1021,
860      2077, 5945, 1833, 2631, 4851, 6371, 833, 7987, 331, 1899, 8093, 6719,
861      6903, 5903, 5657, 5007, 2689, 6637, 2675, 1645, 1819, 689, 6709, 7717,
862      6295, 7013, 7695, 3705, 7069, 2621, 3631, 6571, 6259, 7261, 3397, 7645,
863      1115, 4753, 2047, 7579, 2271, 5403, 4911, 7629, 4225, 1209, 6955, 6951,
864      1829, 5579, 5231, 1783, 4285, 7425, 599, 5785, 3275, 5643, 2263, 657,
865      6769, 6261, 1251, 3249, 4447, 4111, 3991, 1215, 131, 4397, 3487, 7585,
866      5565, 7199, 3573, 7105, 7409, 1671, 949, 3889, 5971, 3333, 225, 3647,
867      5403, 3409, 7459, 6879, 5789, 6567, 5581, 4919, 1927, 4407, 8085, 4691,
868      611, 3005, 591, 753, 589, 171, 5729, 5891, 1033, 3049, 6567, 5257, 8003,
869      1757, 4489, 4923, 6379, 5171, 1757, 689, 3081, 1389, 4113, 455, 2761,
870      847, 7575, 5829, 633, 6629, 1103, 7635, 803, 6175, 6587, 2711, 3879, 67,
871      1179, 4761, 7281, 1557, 3379, 2459, 4273, 4127, 7147, 35,
872      3549, 395, 3735, 5787, 4179, 5889, 5057,
873      7473, 4713, 2133, 2897, 1841, 2125, 1029, 1695, 6523, 1143, 5105, 7133,
874      3351, 2775, 3971, 4503, 7589, 5155, 4305, 1641, 4717, 2427, 5617, 1267,
875      399, 5831, 4305, 4241, 3395, 3045, 4899, 1713, 171, 411, 7099, 5473,
876      5209, 1195, 1077, 1309, 2953, 7343, 4887, 3229, 6759, 6721, 6775, 675,
877      4039, 2493, 7511, 3269, 4199, 6625, 7943, 2013, 4145, 667, 513, 2303,
878      4591, 7941, 2741, 987, 8061, 3161, 5951, 1431, 831, 5559, 7405, 1357,
879      4319, 4235, 5421, 2559, 4415, 2439, 823, 1725, 6219, 4903, 6699, 5451,
880      349, 7703, 2927, 7809, 6179, 1417, 5987, 3017, 4983, 3479, 4525, 4643,
881      4911, 227, 5475, 2287, 5581, 6817, 1937, 1421, 4415, 7977, 1789, 3907,
882      6815, 6789, 6003, 5609, 4507, 337, 7427, 7943, 3075, 6427, 1019, 7121,
883      4763, 81, 3587, 2929, 1795, 8067, 2415, 1265, 4025, 5599, 4771, 3025,
884      2313, 6129, 7611, 6881, 5253, 4413, 7869, 105, 3173, 1629, 2537, 1023,
885      4409, 7209, 4413, 7107, 7469, 33, 1955, 2881, 5167, 6451, 4211, 179,
886      5573, 7879, 3387, 7759, 5455, 7157, 1891, 5683, 5689, 6535, 3109, 6555,
887      6873, 1249, 4251, 6437, 49, 2745, 1201, 7327, 4179, 6783, 623, 2779,
888      5963, 2585, 6927, 5333, 4033, 285, 7467, 4443, 4917, 3,
889      4319, 5517, 3449, 813, 5499, 2515, 5771,
890      3357, 2073, 4395, 4925, 2643, 7215, 5817, 1199, 1597, 1619, 7535, 4833,
891      609, 4797, 8171, 6847, 793, 6757, 8165, 3371, 2431, 5235, 4739, 7703,
892      7223, 6525, 5891, 5605, 4433, 3533, 5267, 5125, 5037, 225, 6717, 1121,
893      5741, 2013, 4327, 4839, 569, 5227, 7677, 4315, 2391, 5551, 859, 3627,
894      6377, 3903, 4311, 6527, 7573, 4905, 7731, 1909, 1555, 3279, 1949, 1887,
895      6675, 5509, 2033, 5473, 3539, 5033, 5935, 6095, 4761, 1771, 1271, 1717,
896      4415, 5083, 6277, 3147, 7695, 2461, 4783, 4539, 5833, 5583, 651, 1419,
897      2605, 5511, 3913, 5795, 2333, 2329, 4431, 3725, 6069, 2699, 7055, 6879,
898      1017, 3121, 2547, 4603, 2385, 6915, 6103, 5669, 7833, 2001, 4287, 6619,
899      955, 2761, 5711, 6291, 3415, 3909, 2841, 5627, 4939, 7671, 6059, 6275,
900      6517, 1931, 4583, 7301, 1267, 7509, 1435, 2169, 6939, 3515, 2985, 2787,
901      2123, 1969, 3307, 353, 4359, 7059, 5273, 5873, 6657, 6765, 6229, 3179,
902      1583, 6237, 2155, 371, 273, 7491, 3309, 6805, 3015, 6831, 7819, 713,
903      4747, 3935, 4109, 1311, 709, 3089, 7059, 4247, 2989, 1509, 4919, 1841,
904      3045, 3821, 6929, 4655, 1333, 6429, 6649, 2131, 5265, 1051, 261, 8057,
905      3379, 2179, 1993, 5655, 3063, 6381,
906      3587, 7417, 1579, 1541, 2107, 5085, 2873,
907      6141, 955, 3537, 2157, 841, 1999, 1465, 5171, 5651, 1535, 7235, 4349,
908      1263, 1453, 1005, 6893, 2919, 1947, 1635, 3963, 397, 969, 4569, 655,
909      6737, 2995, 7235, 7713, 973, 4821, 2377, 1673, 1, 6541}
910 };
911
912 #endif